Re: [PATCH 10/12] fs/dax: Properly refcount fs dax pages

2024-10-29 Thread Alistair Popple
Dan Williams writes: > Alistair Popple wrote: > [..] > >> >> > It follows that that the DMA-idle condition still needs to look for the >> >> > case where the refcount is > 1 rather than 0 since refcount == 1 is the >> >> > page-mapped-but-DMA-idle condition. >> >> Because if the DAX page-cache

Re: [PATCH v7 1/3] modules: Support extended MODVERSIONS info

2024-10-29 Thread Michael Ellerman
Matthew Maurer writes: >> Sorry I realise it's version 7, but although the above looks correct it's >> kind of dense. >> >> I think the below would also work and is (I think) easier to follow, and >> is more obviously similar to the existing code. I'm sure your version is >> faster, but I don't th

Re: [PATCH v3 1/6] x86/uaccess: Avoid barrier_nospec() in 64-bit copy_from_user()

2024-10-29 Thread Josh Poimboeuf
On Tue, Oct 29, 2024 at 04:03:31PM -1000, Linus Torvalds wrote: > Hmm. So it strikes me that this still does the "access_ok()", but > that's pointless for the actual pointer masking case. One of the whole > points of the pointer masking is that we can just do this without > actually checking the ad

Re: [PATCH v3 1/6] x86/uaccess: Avoid barrier_nospec() in 64-bit copy_from_user()

2024-10-29 Thread Linus Torvalds
On Mon, 28 Oct 2024 at 15:56, Josh Poimboeuf wrote: > > The barrier_nospec() in 64-bit copy_from_user() is slow. Instead use > pointer masking to force the user pointer to all 1's if the access_ok() > mispredicted true for an invalid address. > > The kernel test robot reports a 2.6% improvement i

Re: [PATCH] soc: Switch back to struct platform_driver::remove()

2024-10-29 Thread Andrew Jeffery
On Tue, 2024-10-29 at 08:48 +0100, Uwe Kleine-König wrote: > After commit 0edb555a65d1 ("platform: Make platform_driver::remove() > return void") .remove() is (again) the right callback to implement > for > platform drivers. > > Convert all platform drivers below drivers/soc to use .remove(), with

Re: [PATCH] tools/perf/tests/expr: Make the system_tsc_freq test only for intel

2024-10-29 Thread Namhyung Kim
Hello, On Tue, Oct 22, 2024 at 07:31:56PM +0530, Athira Rajeev wrote: > The "Simple expression parser" test fails on powerpc > as below: > > parsing metric: #system_tsc_freq > Unrecognized literal '#system_tsc_freq'literal: #system_tsc_freq = nan > syntax error > FAILED tests/expr.c:247 #syst

Re: [PATCH v2] sched/membarrier: Fix redundant load of membarrier_state

2024-10-29 Thread Michael Ellerman
"Nysal Jan K.A." writes: > On architectures where ARCH_HAS_SYNC_CORE_BEFORE_USERMODE > is not selected, sync_core_before_usermode() is a no-op. > In membarrier_mm_sync_core_before_usermode() the compiler does not > eliminate redundant branches and load of mm->membarrier_state > for this case as th

Re: [PATCH] powerpc/powernv: Free name on error in opal_event_init()

2024-10-29 Thread Michael Ellerman
On Fri, 20 Sep 2024 19:35:20 +1000, Michael Ellerman wrote: > In opal_event_init() if request_irq() fails name is not freed, leading > to a memory leak. The code only runs at boot time, there's no way for a > user to trigger it, so there's no security impact. > > Fix the leak by freeing name in th

Re: [PATCH net-next] ibmvnic: use ethtool string helpers

2024-10-29 Thread patchwork-bot+netdevbpf
Hello: This patch was applied to netdev/net-next.git (main) by Jakub Kicinski : On Tue, 22 Oct 2024 13:32:40 -0700 you wrote: > They are the prefered way to copy ethtool strings. > > Avoids manually incrementing the data pointer. > > Signed-off-by: Rosen Penev > --- > drivers/net/ethernet/ibm

Re: [PATCH v2] sched/membarrier: Fix redundant load of membarrier_state

2024-10-29 Thread Mathieu Desnoyers
On 2024-10-29 01:51, Nysal Jan K.A. wrote: On architectures where ARCH_HAS_SYNC_CORE_BEFORE_USERMODE is not selected, sync_core_before_usermode() is a no-op. In membarrier_mm_sync_core_before_usermode() the compiler does not eliminate redundant branches and load of mm->membarrier_state for this c

[powerpc:merge] BUILD SUCCESS f2535cf29e1a1aa8ffb1690e1d6257b48af2b21a

2024-10-29 Thread kernel test robot
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git merge branch HEAD: f2535cf29e1a1aa8ffb1690e1d6257b48af2b21a Automatic merge of 'next' into merge (2024-10-29 13:24) elapsed time: 833m configs tested: 65 configs skipped: 1 The following configs have been built suc

[PATCH net-next 0/3] Fix sparse warnings in dpaa_eth driver

2024-10-29 Thread Vladimir Oltean
This is a follow-up of the discussion at: https://lore.kernel.org/oe-kbuild-all/20241028-sticky-refined-lionfish-b06c0c@leitao/ where I said I would take care of the sparse warnings uncovered by Breno's COMPILE_TEST change for the dpaa_eth driver. There was one warning that I decided to treat as a

[PATCH net-next 3/3] net: dpaa_eth: extract hash using __be32 pointer in rx_default_dqrr()

2024-10-29 Thread Vladimir Oltean
Sparse provides the following output: warning: cast to restricted __be32 This is a harmless warning due to the fact that we dereference the hash stored in the FD using an incorrect type annotation. Suppress the warning by using the correct __be32 type instead of u32. No functional change. Signed

[PATCH net-next 2/3] net: dpaa_eth: add assertions about SGT entry offsets in sg_fd_to_skb()

2024-10-29 Thread Vladimir Oltean
Multi-buffer frame descriptors (FDs) point to a buffer holding a scatter/gather table (SGT), which is a finite array of fixed-size entries, the last of which has qm_sg_entry_is_final(&sgt[i]) == true. Each SGT entry points to a buffer holding pieces of the frame. DPAARM.pdf explains in the figure

[PATCH net-next 1/3] soc: fsl_qbman: use be16_to_cpu() in qm_sg_entry_get_off()

2024-10-29 Thread Vladimir Oltean
struct qm_sg_entry :: offset is a 13-bit field, declared as __be16. When using be32_to_cpu(), a wrong value will be calculated on little endian systems (Arm), because type promotion from 16-bit to 32-bit, which is done before the byte swap and always in the CPU native endianness, changes the value

[PATCH net] net: dpaa_eth: print FD status in CPU endianness in dpaa_eth_fd tracepoint

2024-10-29 Thread Vladimir Oltean
Sparse warns: note: in included file (through ../include/trace/trace_events.h, ../include/trace/define_trace.h, ../drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h): warning: incorrect type in assignment (different base types) expected unsigned int [usertype] fd_status got restricted __b

Re: [PATCH] soc: Switch back to struct platform_driver::remove()

2024-10-29 Thread Gabriel L. Somlo
On Tue, Oct 29, 2024 at 08:48:58AM +0100, Uwe Kleine-König wrote: > After commit 0edb555a65d1 ("platform: Make platform_driver::remove() > return void") .remove() is (again) the right callback to implement for > platform drivers. > > Convert all platform drivers below drivers/soc to use .remove(),

Re: [PATCH] soc: Switch back to struct platform_driver::remove()

2024-10-29 Thread Bjorn Andersson
On Tue, Oct 29, 2024 at 08:48:58AM GMT, Uwe Kleine-König wrote: > After commit 0edb555a65d1 ("platform: Make platform_driver::remove() > return void") .remove() is (again) the right callback to implement for > platform drivers. > > Convert all platform drivers below drivers/soc to use .remove(), w

Re: Boot failure with ppc64 port on iMacs G5

2024-10-29 Thread John Paul Adrian Glaubitz
Hi Michael, On Wed, 2024-03-06 at 12:57 +1100, Michael Ellerman wrote: > > Yep, the second, older image works as expected. However, the recent one > > does not > > and I have absolutely no clue why. > > I actually tested both, and both work, but then I cited the wrong one in > my email >_< > >

Re: [PATCH] sound: Switch back to struct platform_driver::remove()

2024-10-29 Thread Uwe Kleine-König
Hello Takashi, On Tue, Oct 29, 2024 at 10:05:21AM +0100, Takashi Iwai wrote: > On Tue, 29 Oct 2024 08:37:47 +0100, > Uwe Kleine-König wrote: > > > > After commit 0edb555a65d1 ("platform: Make platform_driver::remove() > > return void") .remove() is (again) the right callback to implement for > >

Re: [PATCH] sound: Switch back to struct platform_driver::remove()

2024-10-29 Thread Takashi Iwai
On Tue, 29 Oct 2024 08:37:47 +0100, Uwe Kleine-König wrote: > > After commit 0edb555a65d1 ("platform: Make platform_driver::remove() > return void") .remove() is (again) the right callback to implement for > platform drivers. > > Convert all platform drivers below sound to use .remove(), with > t

Re: [PATCH] soc: Switch back to struct platform_driver::remove()

2024-10-29 Thread Herve Codina
Hi Uwe, On Tue, 29 Oct 2024 08:48:58 +0100 Uwe Kleine-König wrote: > After commit 0edb555a65d1 ("platform: Make platform_driver::remove() > return void") .remove() is (again) the right callback to implement for > platform drivers. > > Convert all platform drivers below drivers/soc to use .remov

Re: [PATCH] soc: Switch back to struct platform_driver::remove()

2024-10-29 Thread Heiko Stuebner
Am Dienstag, 29. Oktober 2024, 08:48:58 CET schrieb Uwe Kleine-König: > After commit 0edb555a65d1 ("platform: Make platform_driver::remove() > return void") .remove() is (again) the right callback to implement for > platform drivers. > > Convert all platform drivers below drivers/soc to use .remov

Re: [PATCH v3 1/6] x86/uaccess: Avoid barrier_nospec() in 64-bit copy_from_user()

2024-10-29 Thread Kirill A . Shutemov
On Mon, Oct 28, 2024 at 06:56:14PM -0700, Josh Poimboeuf wrote: > The barrier_nospec() in 64-bit copy_from_user() is slow. Instead use > pointer masking to force the user pointer to all 1's if the access_ok() > mispredicted true for an invalid address. > > The kernel test robot reports a 2.6% imp

[PATCH] soc: Switch back to struct platform_driver::remove()

2024-10-29 Thread Uwe Kleine-König
After commit 0edb555a65d1 ("platform: Make platform_driver::remove() return void") .remove() is (again) the right callback to implement for platform drivers. Convert all platform drivers below drivers/soc to use .remove(), with the eventual goal to drop struct platform_driver::remove_new(). As .re

[PATCH] sound: Switch back to struct platform_driver::remove()

2024-10-29 Thread Uwe Kleine-König
After commit 0edb555a65d1 ("platform: Make platform_driver::remove() return void") .remove() is (again) the right callback to implement for platform drivers. Convert all platform drivers below sound to use .remove(), with the eventual goal to drop struct platform_driver::remove_new(). As .remove()