On 2/15/23 05:36, Ian Rogers wrote:
> On Tue, Feb 7, 2023 at 7:45 PM kajoljain wrote:
>>
>>
>>
>> On 2/6/23 10:10, Athira Rajeev wrote:
>>>
>>>
On 02-Feb-2023, at 10:14 PM, Kajol Jain wrote:
Testcase stat_all_metrics.sh fails in powerpc:
92: perf all metrics test : FAI
On 14/2/23 19:11, Josh Poimboeuf wrote:
On Tue, Feb 14, 2023 at 08:46:41AM +0100, Philippe Mathieu-Daudé wrote:
Hi Josh,
On 14/2/23 08:05, Josh Poimboeuf wrote:
Include to make sure play_dead() matches its prototype going
forward.
Acked-by: Florian Fainelli
Signed-off-by: Josh Poimboeuf
--
On Wed, Feb 15, 2023 at 12:43:24AM -0800, Zhou nan wrote:
> Fix typos in comment.
>
> Signed-off-by: Zhou nan
> ---
> drivers/usb/gadget/udc/fsl_udc_core.c | 8
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/usb/gadget/udc/fsl_udc_core.c
> b/drivers/usb/gad
Testcase stat_all_metrics.sh fails in powerpc:
98: perf all metrics test : FAILED!
Logs with verbose:
[command]# ./perf test 98 -vv
98: perf all metrics test :
--- start ---
test child forked, pid 13262
Testing BRU_STALL_CPI
Testing COMPLETION_STALL_CP
Andrew Donnellan writes:
> On Mon, 2023-02-13 at 22:32 +1100, Michael Ellerman wrote:
>> > > + memcpy(&flags, data, sizeof(flags));
>> >
>> > conversion from bytestream to integer: I think in this case it
>> > would be better to use
>> >
>> > flags = cpu_to_be64p((__u64*)data);
>> >
>> >
On Mon, 6 Feb 2023 14:22:40 +1000, Nicholas Piggin wrote:
> The RFI and STF security mitigation options can flip the
> interrupt_exit_not_reentrant static branch condition concurrently with
> the interrupt exit code which tests that branch.
>
> Interrupt exit tests this condition to set MSR[EE|RI]
On Sat, 4 Feb 2023 09:22:06 -0800, Randy Dunlap wrote:
> kexec (PPC64) code calls memory_hotplug_max(). Add the header declaration
> for it from . Using does not work since
> the #include for depends on CONFIG_NUMA=y, which is not
> set in this kernel config file.
>
> Fixes this build error/warn
On Thu, 2 Feb 2023 12:01:04 +0100, Christophe Leroy wrote:
> CLANG only knows the following CPUs:
>
> generic, 440, 450, 601, 602, 603, 603e, 603ev, 604, 604e, 620, 630,
> g3, 7400, g4, 7450, g4+, 750, 8548, 970, g5, a2, e500, e500mc, e5500,
> power3, pwr3, power4, pwr4, power5, pwr5, power5x, pwr
On Fri, 3 Feb 2023 11:39:42 +1100, Benjamin Gray wrote:
> Started this when writing tests for a feature I'm working on, needing a way to
> read/write numbers to system files. After writing some utils to safely handle
> file IO and parsing, I realised I'd made the ~6th file read/write
> implementat
On Wed, 1 Feb 2023 11:04:23 +0100, Christophe Leroy wrote:
> That test was introducted in 2006 by
> commit 00ae36de49cc ("[POWERPC] Better check in show_instructions").
> At that time, there was no BPF progs.
>
> As seen in message of commit 89d21e259a94 ("powerpc/bpf/32: Fix Oops
> on tail call t
On Fri, 20 Jan 2023 10:32:15 +0100, Frederic Barrat wrote:
> pnv_ioda_setup_pe_res() calls opal to map a resource with a PE. However,
> the code assumes the resource is allocated and it uses the resource
> address to find out the segment(s) which need to be mapped to the
> PE. In the unlikely case
On Fri, 10 Feb 2023 19:03:35 +1100, Andrew Donnellan wrote:
> This series exposes an interface to userspace for reading and writing
> secure variables contained within the PowerVM LPAR Platform KeyStore
> (PLPKS) for the purpose of configuring dynamic secure boot, and adds
> the glue required to lo
On Wed, 1 Feb 2023 15:29:33 +0530, Ganesh Goudar wrote:
> For all unrecoverable errors we are missing to log the
> error, Since machine_check_log_err() is not getting called
> for unrecoverable errors. machine_check_log_err() is called
> from deferred handler, To run deferred handlers we have to do
On Tue, 03 Jan 2023 17:51:03 +, Geoff Levand wrote:
> This v2 series is just the two PS3 specific patches of the v1 series.
>
> -Geoff
>
> The following changes since commit 88603b6dc419445847923fcb7fe5080067a30f98:
>
> Linux 6.2-rc2 (2023-01-01 13:53:16 -0800)
>
> [...]
Applied to power
On Thu, 2 Feb 2023 15:19:19 +0100, Greg Kroah-Hartman wrote:
> When calling debugfs_lookup() the result must have dput() called on it,
> otherwise the memory will leak over time. To make things simpler, just
> call debugfs_lookup_and_remove() instead which handles all of the logic
> at once.
>
>
On Wed, 1 Feb 2023 00:18:04 +0530, Kajol Jain wrote:
> Commit ec3eb9d941a9 ("powerpc/perf: Use PVR rather than
> oprofile field to determine CPU version") added usage
> of pvr value instead of oprofile field to determine the
> platform. In hv-24x7 pmu driver code, pvr check uses PVR_POWER8
> when a
On Mon, 6 Feb 2023 22:39:02 +1100, Michael Ellerman wrote:
> From: Pali Rohár
>
> The "pci-OF-bus-map" property was declared deprecated in 2006 [1] and to
> the best of everyone's knowledge is not used by anything anymore [2].
>
> The creation of the property was disabled on powermac (arch/power
On Fri, 10 Feb 2023 12:41:48 -0600, Nathan Lynch wrote:
> Proposed changes for the RTAS subsystem and client code.
>
> Fixes that are subject to backporting are at the front of the queue.
> The rest of the queue is roughly ordered with respect to maturity:
> i.e. patches that have already garnered
On Fri, 3 Feb 2023 21:17:15 +1000, Nicholas Piggin wrote:
> Here's a few things I wanted to tidy before doing the lazy tlb mm
> shootdown / exit TLB flush IPI optimisation. There is no hard
> dependency just slight code rearrangement but since we're waiting
> for the shootdown patches to go via the
On Fri, 3 Feb 2023 21:38:55 +1000, Nicholas Piggin wrote:
> Here's a few of the easier preparation patches from the pcrel
> addressing series.
>
> Thanks,
> Nick
>
> Nicholas Piggin (3):
> crypto: powerpc - Use address generation helper for asm
> powerpc/64s: Refactor initialisation after pro
On Fri, 16 Dec 2022 21:59:26 +1000, Nicholas Piggin wrote:
> The first patch is a fix for a commit that's in powerpc next which
> is a pretty harmless dump_stack(). Except that we had some bugs with
> doing stack unwinding that early when the boot CPU is not zero so
> that ended up crashing badly.
On Sat, 21 Jan 2023 20:26:18 +1000, Nicholas Piggin wrote:
> Interrupt handlers called by soft-pending irq replay code can run
> softirqs, softirq replay enables and disables local irqs, which allows
> interrupts to come in including soft-masked interrupts, and it can
> cause pending irqs to be rep
On Sat, 21 Jan 2023 19:58:02 +1000, Nicholas Piggin wrote:
> I'd like to try get this series merged. If Christophe isn't comfortable
> with patch 2/3 yet then maybe we could at least get the first one in
> which shares more code and makes it tidier.
>
> Since v1 I just split the first patch out so
On Sat, 28 Jan 2023 14:34:58 +0100, Pali Rohár wrote:
> It makes sense to enable CONFIG_PPC_PCI_BUS_NUM_DOMAIN_DEPENDENT by default
> (when possible by dependencies) to take advantages of all 256 PCI buses on
> each PCI domain, like it is already on all other kernel architectures.
>
>
Patch 1 ap
On Mon, 6 Feb 2023 13:17:56 +1100, Rohan McLure wrote:
> Add Kernel Concurrency Sanitiser support for PPC64. Doing so involves
> exclusion of a number of compilation units from instrumentation, as was
> done with KASAN.
>
> KCSAN uses watchpoints on memory accesses to enforce the semantics of
> th
Hi Herve,
I love your patch! Yet something to improve:
[auto build test ERROR on broonie-sound/for-next]
[also build test ERROR on robh/for-next powerpc/next powerpc/fixes linus/master
v6.2-rc8 next-20230215]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when
On Fri, 27 Jan 2023 22:12:31 +1100, Michael Ellerman wrote:
> Some RTAS symbols are never used by modular code, drop their exports.
>
>
Applied to powerpc/next.
[1/1] powerpc/rtas: Drop unused export symbols
https://git.kernel.org/powerpc/c/0d7e812fd282bf248b54523cc550a34b77c2e9a2
cheers
Le 15/02/2023 à 13:45, kernel test robot a écrit :
> Hi Herve,
>
> I love your patch! Yet something to improve:
>
> [auto build test ERROR on broonie-sound/for-next]
> [also build test ERROR on robh/for-next powerpc/next powerpc/fixes
> linus/master v6.2-rc8 next-20230215
On Tue, Feb 14, 2023 at 08:49:04AM +0100, Alexandre Ghiti wrote:
> From: Palmer Dabbelt
>
> As far as I can tell this is not used by userspace and thus should not
> be part of the user-visible API.
>
> Signed-off-by: Palmer Dabbelt
Looks good to me. What's the merge plan for this?
Thanks.
--
On Wed, Feb 15, 2023, at 13:59, Russell King (Oracle) wrote:
> On Tue, Feb 14, 2023 at 08:49:04AM +0100, Alexandre Ghiti wrote:
>> From: Palmer Dabbelt
>>
>> As far as I can tell this is not used by userspace and thus should not
>> be part of the user-visible API.
>>
>> Signed-off-by: Palmer Dab
On Tue, Feb 14, 2023 at 09:13:08AM +0100, Philippe Mathieu-Daudé wrote:
> On 14/2/23 08:05, Josh Poimboeuf wrote:
> > cpu_die() doesn't return. Annotate it as such. By extension this also
> > makes arch_cpu_idle_dead() noreturn.
> >
> > Signed-off-by: Josh Poimboeuf
> > ---
> > arch/arm64/inc
Use the new 'compatible' property for simple cases.
checkpatch complains about the new compatible being undocumented
but in reality nothing is new so just ignore it for the time
being.
Signed-off-by: Christophe Leroy
---
arch/powerpc/platforms/44x/canyonlands.c | 9 +--
arch/powerpc/platf
p1023_rdb platform is a copy of mpc85xx_rdb platform and some of its
functions have kept mpc85xx_rdb names.
Rename the said functions.
Signed-off-by: Christophe Leroy
---
arch/powerpc/platforms/85xx/p1023_rdb.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/pow
Most probe functions do nothing else than checking whether
the machine is compatible to a given string.
Define that string in ppc_md structure and check it directly from
probe_machine() instead of using ppc_md.probe() for that.
Keep checking in ppc_md.probe() only for more complex probing.
Signe
ppc_md.calibrate_decr() is a mandatory item. Its nullity is never
checked so it must be non null on all platforms.
Most platforms define generic_calibrate_decr() as their
ppc_md.calibrate_decr(). Have time_init() call
generic_calibrate_decr() when ppc_md.calibrate_decr() is NULL,
and remove defaul
Many places have:
if (ppc.md_progress)
ppc.md_progress();
Use ppc_md_progress() instead.
Note that checkpatch complains about using function names,
but this is not a function taking format strings, so we
leave the function names for now.
Signed-off-by: Christophe Leroy
This machine matches two compatibles and sets .pci_irq_fixup
on one of them.
Split it into two machines, then the probe function can be dropped.
Signed-off-by: Christophe Leroy
---
arch/powerpc/platforms/44x/ppc476.c | 31 +
1 file changed, 14 insertions(+), 17 delet
Many places have:
if (ppc.md_progress)
ppc.md_progress();
Introduce ppc_md_progress() which will embedded the test.
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/machdep.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a/arch/powerpc/include/asm/
mpc85xx_cds_setup_arch() is not a hot path, creating the string to be
printed even when it doesn't get printed at the end is not an problem.
Do it at all time.
Signed-off-by: Christophe Leroy
---
arch/powerpc/platforms/85xx/mpc85xx_cds.c | 11 ---
1 file changed, 4 insertions(+), 7 dele
Instead of checking machine type in the function,
use machine_device_initcall().
Signed-off-by: Christophe Leroy
---
arch/powerpc/platforms/embedded6xx/gamecube.c | 5 +
arch/powerpc/platforms/embedded6xx/wii.c | 5 +
2 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/ar
After multiple attempts, this patchset is now based on the fact that the
64b kernel mapping was moved outside the linear mapping.
The first patch allows to build relocatable kernels but is not selected
by default. That patch is a requirement for KASLR.
The second and third patches take advantage o
From: Alexandre Ghiti
This config allows to compile 64b kernel as PIE and to relocate it at
any virtual address at runtime: this paves the way to KASLR.
Runtime relocation is possible since relocation metadata are embedded into
the kernel.
Note that relocating at runtime introduces an overhead e
From: Alexandre Ghiti
Relocating kernel at runtime is done very early in the boot process, so
it is not convenient to check for relocations there and react in case a
relocation was not expected.
Powerpc architecture has a script that allows to check at compile time
for such unexpected relocation
From: Alexandre Ghiti
Relocating kernel at runtime is done very early in the boot process, so
it is not convenient to check for relocations there and react in case a
relocation was not expected.
There exists a script in scripts/ that extracts the relocations from
vmlinux that is then used at pos
On Wed, Feb 15, 2023 at 1:38 AM Kajol Jain wrote:
>
> Testcase stat_all_metrics.sh fails in powerpc:
>
> 98: perf all metrics test : FAILED!
>
> Logs with verbose:
>
> [command]# ./perf test 98 -vv
> 98: perf all metrics test :
> --- start ---
> test chi
Hi Li and Qiang
Le 26/01/2023 à 09:32, Herve Codina a écrit :
> The QMC (QUICC Multichannel Controller) emulates up to 64
> channels within one serial controller using the same TDM
> physical interface routed from the TSA.
>
> It is available in some PowerQUICC SoC such as the
> MPC885 or M
Hi Li and Qiang,
Le 26/01/2023 à 09:32, Herve Codina a écrit :
> The TSA (Time Slot Assigner) purpose is to route some
> TDM time-slots to other internal serial controllers.
>
> It is available in some PowerQUICC SoC such as the
> MPC885 or MPC866.
>
> It is also available on some Quicc Engine S
uct wf_sensorsens;
};
#define to_smu_cpu_power(c) container_of(c, struct smu_cpu_power_sensor, sens)
---
base-commit: ceaa837f96adb69c0df0397937cd74991d5d821a
change-id:
20230215-windfarm-wsingle-bit-bitfield-constant-conversion-324fed6e2342
Best regards,
--
Nathan Chancellor
Suren Baghdasaryan writes:
> Previous version:
> v1: https://lore.kernel.org/all/20230109205336.3665937-1-sur...@google.com/
> RFC: https://lore.kernel.org/all/20220901173516.702122-1-sur...@google.com/
>
> LWN article describing the feature:
> https://lwn.net/Articles/906852/
>
> Per-vma locks i
On Wed, Feb 15, 2023 at 9:33 AM Punit Agrawal
wrote:
>
> Suren Baghdasaryan writes:
>
> > Previous version:
> > v1: https://lore.kernel.org/all/20230109205336.3665937-1-sur...@google.com/
> > RFC: https://lore.kernel.org/all/20220901173516.702122-1-sur...@google.com/
> >
> > LWN article describin
Currently, CONFIG_PPC64_BIG_ENDIAN_ELF_ABI_V2 is not selectable with
ld.lld because of an explicit dependency on GNU ld, due to lack of
testing with LLVM.
Erhard was kind enough to test this option on his hardware with LLVM 15,
which ran without any issues. This should not be too surprising, as
ld
When CONFIG_PPC64_ELF_ABI_V2 is enabled with clang through
CONFIG_PPC64_BIG_ENDIAN_ELF_ABI_V2, building the powerpc boot wrapper
in 32-bit mode (i.e. with CONFIG_PPC64_BOOT_WRAPPER=n) fails with:
error: unknown target ABI 'elfv2'
The ABI cannot be changed with '-m32'; GCC silently accepts it
Commit 5017b4594672 ("powerpc/64: Option to build big-endian with ELFv2
ABI") restricted the ELFv2 ABI configuration such that it can only be
selected when linking with ld.bfd, due to lack of testing with LLVM.
ld.lld can link ELFv2 kernels without any issues; in fact, it is the
only ABI that ld.l
'-mabi=elfv2' is not added to clang's invocations when
CONFIG_PPC64_ELF_ABI_V2 is enabled, resulting in the generation of elfv1
code, as evidenced by the orphan section warnings/errors:
ld.lld: error: vmlinux.a(arch/powerpc/kernel/prom_init.o):(.opd) is being
placed in '.opd'
ld.lld: error: v
Christophe Leroy writes:
> Most probe functions do nothing else than checking whether
> the machine is compatible to a given string.
>
> Define that string in ppc_md structure and check it directly from
> probe_machine() instead of using ppc_md.probe() for that.
>
> Keep checking in ppc_md.probe(
On Tuesday 14 February 2023 05:47:08 Christophe Leroy wrote:
> Le 13/02/2023 à 21:11, Pali Rohár a écrit :
> > On Monday 13 February 2023 19:58:15 Christophe Leroy wrote:
> >> Le 09/02/2023 à 01:15, Pali Rohár a écrit :
>
> This patch moves all p2020 boards from mpc85xx_rdb.c and mpc85xx_
On Wed, Feb 15, 2023 at 01:09:21PM +, Mark Rutland wrote:
> On Tue, Feb 14, 2023 at 09:13:08AM +0100, Philippe Mathieu-Daudé wrote:
> > On 14/2/23 08:05, Josh Poimboeuf wrote:
> > > cpu_die() doesn't return. Annotate it as such. By extension this also
> > > makes arch_cpu_idle_dead() noreturn
From: Michael Ellerman
[ Upstream commit e33416fca8a2313b8650bd5807aaf34354d39a4c ]
Commit 41b7a347bf14 ("powerpc: Book3S 64-bit outline-only KASAN
support") added a select of ARCH_WANTS_NO_INSTR, because it also added
some uses of noinstr. However noinstr is always defined, regardless of
ARCH_W
Fix typos in comment.
Signed-off-by: Zhou nan
---
drivers/usb/gadget/udc/fsl_udc_core.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/usb/gadget/udc/fsl_udc_core.c
b/drivers/usb/gadget/udc/fsl_udc_core.c
index a67873a074b7..da876d09fc01 100644
--- a/drivers
On Sat, Feb 11, 2023 at 01:06:32AM +0530, Amit Kumar Mahapatra wrote:
> Supporting multi-cs in spi drivers would require the chip_select & cs_gpiod
> members of struct spi_device to be an array. But changing the type of these
> members to array would break the spi driver functionality. To make the
On Wed, Feb 8, 2023 at 6:34 PM Andy Shevchenko
wrote:
>
> These are some older patches Arnd did last year, rebased to
> linux-next-20230208. On top there are Andy's patches regarding
> similar topic. The series starts with Linus Walleij's patches.
>
> The main goal is to remove some of the legacy
On Wed, Feb 15, 2023 at 04:52:29PM +0100, Bartosz Golaszewski wrote:
> On Wed, Feb 8, 2023 at 6:34 PM Andy Shevchenko
> wrote:
> >
> > These are some older patches Arnd did last year, rebased to
> > linux-next-20230208. On top there are Andy's patches regarding
> > similar topic. The series starts
> -Original Message-
> From: Christophe Leroy
> Sent: Wednesday, February 15, 2023 10:08 AM
> To: Leo Li ; Qiang Zhao
> Cc: linuxppc-dev@lists.ozlabs.org; Krzysztof Kozlowski
> ; Rob Herring ;
> Herve Codina ; linux-arm-
> ker...@lists.infradead.org; devicet...@vger.kernel.org; linux-
>
Christophe Leroy writes:
> This machine matches two compatibles and sets .pci_irq_fixup
> on one of them.
>
> Split it into two machines, then the probe function can be dropped.
That will break the machine initcalls that look for ppc47x:
arch/powerpc/platforms/44x/ppc476.c:machine_device_initc
On Mon, Feb 13, 2023 at 11:05:34PM -0800, Josh Poimboeuf wrote:
> v2:
> - make arch_call_rest_init() and rest_init() __noreturn
> - make objtool 'global_returns' work for weak functions
> - rebase on tip/objtool/core with dependencies merged in (mingo)
> - add acks
>
> v1.1:
> - add __noreturn to
> -Original Message-
> From: Herve Codina
> Sent: Thursday, January 26, 2023 2:32 AM
> To: Herve Codina ; Leo Li
> ; Rob Herring ; Krzysztof
> Kozlowski ; Liam Girdwood
> ; Mark Brown ; Christophe
> Leroy ; Michael Ellerman
> ; Nicholas Piggin ; Qiang Zhao
> ; Jaroslav Kysela ; Takashi I
Support the page table check sanitiser on all PowerPC platforms. This
sanitiser works by serialising assignments, reassignments and clears of
page table entries at each level in order to ensure that anonymous
mappings have at most one writable consumer, and likewise that
file-backed mappings are no
Produce separate symbols for set_pte, which is to be used in
arch/powerpc for reassignment of pte's, and set_pte_at, used in generic
code.
The reason for this distinction is to support the Page Table Check
sanitiser. Having this distinction allows for set_pte_at to
instrumented, but set_pte not to
pmdp_collapse_flush has references in generic code with just three
parameters, due to the choice of mm context being implied by the vm_area
context parameter.
Define __pmdp_collapse_flush to accept an additional mm_struct *
parameter, with pmdp_collapse_flush an inline function that unpacks
the vm
Replace occurrences of p{u,m,4}d_is_leaf with p{u,m,4}_leaf, as the
latter is the name given to checking that a higher-level entry in
multi-level paging contains a page translation entry (pte) throughout
all other archs.
A future patch will implement p{u,m,4}_leaf stubs on all platforms so
that th
The check that a higher-level entry in multi-level pages contains a page
translation entry (pte) is performed by p{m,u,4}d_leaf stubs, which may
be specialised for each choice of mmu. In a prior commit, we replace
uses to the catch-all stubs, p{m,u,4}d_is_leaf with p{m,u,4}d_leaf.
Replace the catc
Prior to this commit, pud_pfn was implemented with BUILD_BUG as the inline
function for 64-bit Book3S systems but is never included, as its
invocations in generic code are guarded by calls to pud_devmap which return
zero on such systems. A future patch will provide support for page table
checks, th
Add the following helpers for detecting whether a page table entry
is a leaf and is accessible to user space.
* pte_user_accessible_page
* pmd_user_accessible_page
* pud_user_accessible_page
Also implement missing pud_user definitions for both Book3S/nohash 64-bit
systems, and pmd_user for Boo
On creation and clearing of a page table mapping, instrument such calls
by invoking page_table_check_pte_set and page_table_check_pte_clear
respectively. These calls serve as a sanity check against illegal
mappings.
Enable ARCH_SUPPORTS_PAGE_TABLE_CHECK for all platforms.
Use set_pte internally,
On Tuesday 20 December 2022 21:21:11 Pali Rohár wrote:
> On Monday 19 December 2022 19:46:00 Christophe Leroy wrote:
> > wrteei is only for booke. Use the standard mfmsr/ori/mtmsr
> > when non booke.
> >
> > Reported-by: Jan-Benedict Glaw
> > Signed-off-by: Christophe Leroy
> > ---
> > Not sure
usb: Fix spelling mistake in comments of gadget.
Signed-off-by: Zhou nan
---
v2:
- Modify the title and description text.
---
drivers/usb/gadget/udc/fsl_udc_core.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/usb/gadget/udc/fsl_udc_core.c
b/drivers/usb/gad
On 2/15/23 17:35, Zhou nan wrote:
> usb: Fix spelling mistake in comments of gadget.
>
> Signed-off-by: Zhou nan
Acked-by: Randy Dunlap
Thanks.
> ---
> v2:
> - Modify the title and description text.
> ---
> drivers/usb/gadget/udc/fsl_udc_core.c | 8
> 1 file changed, 4 insertions
Hi all,
After merging the powerpc tree, today's linux-next build (powerpc
pseries_le_defconfig) produced this warning:
arch/powerpc/kernel/head_64.o: warning: objtool: .text+0x6128: unannotated
intra-function call
I have no idea what caused this.
--
Cheers,
Stephen Rothwell
pgpBIDcJ9D4s1.pg
Enable HAVE_ARCH_KCSAN on all powerpc platforms, permitting use of the
kernel concurrency sanitiser through the CONFIG_KCSAN_* kconfig options.
Boots and passes selftests on 32-bit and 64-bit platforms. See
documentation in Documentation/dev-tools/kcsan.rst for more information.
Signed-off-by: Ro
KCSAN instruments calls to atomic builtins, and will in turn call these
builtins itself. As such, architectures supporting KCSAN must have
compiler support for these atomic primitives.
Since 32-bit systems are unlikely to have 64-bit compiler builtins,
provide a stub for each missing builtin, and
From: Liam Howlett
ma_pivots() and ma_data_end() may be called with a dead node. Ensure to
that the node isn't dead before using the returned values.
This is necessary for RCU mode of the maple tree.
Fixes: 54a611b60590 ("Maple Tree: add new data structure")
Signed-off-by: Liam Howlett
Signed
Previous version:
v2: https://lore.kernel.org/lkml/20230127194110.533103-1-sur...@google.com/
v1: https://lore.kernel.org/all/20230109205336.3665937-1-sur...@google.com/
RFC: https://lore.kernel.org/all/20220901173516.702122-1-sur...@google.com/
LWN article describing the feature:
https://lwn.net/
From: Liam Howlett
When initially starting a search, the root node may already be in the
process of being replaced in RCU mode. Detect and restart the walk if
this is the case. This is necessary for RCU mode of the maple tree.
Fixes: 54a611b60590 ("Maple Tree: add new data structure")
Signed-o
From: Liam Howlett
The walk to destroy the nodes was not always setting the node type and
would result in a destroy method potentially using the values as nodes.
Avoid this by setting the correct node types. This is necessary for the
RCU mode of the maple tree.
Fixes: 54a611b60590 ("Maple Tree:
From: Liam Howlett
The call to mte_set_dead_node() before the smp_wmb() already calls
smp_wmb() so this is not needed. This is an optimization for the RCU
mode of the maple tree.
Fixes: 54a611b60590 ("Maple Tree: add new data structure")
Signed-off-by: Liam Howlett
Signed-off-by: Suren Baghdas
From: "Liam R. Howlett"
During the development of the maple tree, the strategy of freeing
multiple nodes changed and, in the process, the pivots were reused to
store pointers to dead nodes. To ensure the readers see accurate
pivots, the writers need to mark the nodes as dead and call smp_wmb() t
From: "Liam R. Howlett"
Add an smp_rmb() before reading the parent pointer to ensure that
anything read from the node prior to the parent pointer hasn't been
reordered ahead of this check.
The is necessary for RCU mode.
Fixes: 54a611b60590 ("Maple Tree: add new data structure")
Signed-off-by: L
From: "Liam R. Howlett"
Dereferencing RCU objects within the RCU callback without the RCU check
has caused lockdep to complain. Fix the RCU dereferencing by using the
RCU callback lock to ensure the operation is safe.
Also stop creating a new lock to use for dereferencing during
destruction of
From: "Liam R. Howlett"
Use the maple tree in RCU mode for VMA tracking. This is necessary for
the use of per-VMA locking. RCU mode is enabled by default but disabled
when exiting an mm and for the new tree during a fork.
Also enable RCU for the tree used in munmap operations to ensure the
nod
This configuration variable will be used to build the support for VMA
locking during page fault handling.
This is enabled on supported architectures with SMP and MMU set.
The architecture support is needed since the page fault handler is called
from the architecture's page faulting code which nee
From: Michel Lespinasse
This prepares for page faults handling under VMA lock, looking up VMAs
under protection of an rcu read lock, instead of the usual mmap read lock.
Signed-off-by: Michel Lespinasse
Signed-off-by: Suren Baghdasaryan
---
include/linux/mm_types.h | 13 ++---
kernel/
Move mmap_lock assert function definitions up so that they can be used
by other mmap_lock routines.
Signed-off-by: Suren Baghdasaryan
---
include/linux/mmap_lock.h | 24
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/include/linux/mmap_lock.h b/include/l
Introduce per-VMA locking. The lock implementation relies on a
per-vma and per-mm sequence counters to note exclusive locking:
- read lock - (implemented by vma_start_read) requires the vma
(vm_lock_seq) and mm (mm_lock_seq) sequence counters to differ.
If they match then there must be a
Updates to vm_flags have to be done with VMA marked as being written for
preventing concurrent page faults or other modifications.
Signed-off-by: Suren Baghdasaryan
---
include/linux/mm.h | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/linux/mm.h b/include/
vma_adjust_trans_huge() modifies the VMA and such modifications should
be done after VMA is marked as being written. Therefore move VMA flag
modifications before vma_adjust_trans_huge() so that VMA is marked
before all these modifications.
Signed-off-by: Suren Baghdasaryan
---
mm/mmap.c | 3 ++-
Protect VMA from concurrent page fault handler while collapsing a huge
page. Page fault handler needs a stable PMD to use PTL and relies on
per-VMA lock to prevent concurrent PMD changes. pmdp_collapse_flush(),
set_huge_pmd() and collapse_and_free_pmd() can modify a PMD, which will
not be detected
Decisions about whether VMAs can be merged, split or expanded must be
made while VMAs are protected from the changes which can affect that
decision. For example, merge_vma uses vma->anon_vma in its decision
whether the VMA can be merged. Meanwhile, page fault handler changes
vma->anon_vma during CO
vma_expand and vma_shrink change VMA boundaries. Expansion might also
result in freeing of an adjacent VMA. Write-lock affected VMAs to prevent
concurrent page faults.
Signed-off-by: Suren Baghdasaryan
---
mm/mmap.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/mm/mmap.c b/mm/mmap.c
i
Write-lock VMA as locked before copying it and when copy_vma produces
a new VMA.
Signed-off-by: Suren Baghdasaryan
Reviewed-by: Laurent Dufour
---
mm/mmap.c | 1 +
mm/mremap.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/mm/mmap.c b/mm/mmap.c
index f079e5bbcd57..0eaa3d1a6cd1 100644
-
Write-locking VMAs before isolating them ensures that page fault
handlers don't operate on isolated VMAs.
Signed-off-by: Suren Baghdasaryan
---
mm/mmap.c | 1 +
mm/nommu.c | 5 +
2 files changed, 6 insertions(+)
diff --git a/mm/mmap.c b/mm/mmap.c
index 0eaa3d1a6cd1..aaa359a147b2 100644
---
1 - 100 of 124 matches
Mail list logo