From: Jakub Kicinski Date: Tue, 19 Nov 2024 02:59:34 +0000 (-0800) Subject: Merge branch 'netpoll-use-rcu-primitives-for-npinfo-pointer-access' X-Git-Tag: v6.13-rc1~135^2^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=21742be898fb6d99d4d85e293bd501b6870b503a;p=thirdparty%2Fkernel%2Flinux.git Merge branch 'netpoll-use-rcu-primitives-for-npinfo-pointer-access' Breno Leitao says: ==================== netpoll: Use RCU primitives for npinfo pointer access The net_device->npinfo pointer is marked with __rcu, indicating it requires proper RCU access primitives: struct net_device { ... struct netpoll_info __rcu *npinfo; ... }; Direct access to this pointer can lead to issues such as: - Compiler incorrectly caching/reusing stale pointer values - Missing memory ordering guarantees - Non-atomic pointer loads Replace direct NULL checks of npinfo with rcu_access_pointer(), which provides the necessary memory ordering guarantees without the overhead of a full RCU dereference, since we only need to verify if the pointer is NULL. In both cases, the RCU read lock is not held when the function is being called. I checked that by using lockdep_assert_in_rcu_read_lock(), and seeing the warning on both cases. ==================== Link: https://patch.msgid.link/20241118-netpoll_rcu-v1-0-a1888dcb4a02@debian.org Signed-off-by: Jakub Kicinski --- 21742be898fb6d99d4d85e293bd501b6870b503a