include/trace/events/dma_fence.h:17:1: sparse: sparse: dereference of noderef expression

From: kernel test robot

Date: Tue Jun 02 2026 - 02:37:35 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e43ffb69e0438cddd72aaa30898b4dc446f664f8
commit: 21f6bcdf2be72e750dbe430b7227a66763a58466 Merge tag 'drm-misc-next-2026-02-26' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
date: 3 months ago
config: s390-randconfig-r131-20260601 (https://download.01.org/0day-ci/archive/20260602/202606021430.5tyAhjfb-lkp@xxxxxxxxx/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 9409c07de6378507397ecdb6f05f628f58110112)
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260602/202606021430.5tyAhjfb-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: 21f6bcdf2be7 ("Merge tag 'drm-misc-next-2026-02-26' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next")
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202606021430.5tyAhjfb-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
drivers/dma-buf/dma-fence.c:1040:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const [noderef] __rcu *timeline @@ got char * @@
drivers/dma-buf/dma-fence.c:1040:38: sparse: expected char const [noderef] __rcu *timeline
drivers/dma-buf/dma-fence.c:1040:38: sparse: got char *
drivers/dma-buf/dma-fence.c:1041:36: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const [noderef] __rcu *driver @@ got char * @@
drivers/dma-buf/dma-fence.c:1041:36: sparse: expected char const [noderef] __rcu *driver
drivers/dma-buf/dma-fence.c:1041:36: sparse: got char *
drivers/dma-buf/dma-fence.c: note: in included file (through include/trace/trace_events.h, include/trace/define_trace.h, include/trace/events/dma_fence.h):
>> include/trace/events/dma_fence.h:17:1: sparse: sparse: dereference of noderef expression
>> include/trace/events/dma_fence.h:17:1: sparse: sparse: dereference of noderef expression
>> include/trace/events/dma_fence.h:17:1: sparse: sparse: dereference of noderef expression
>> include/trace/events/dma_fence.h:17:1: sparse: sparse: dereference of noderef expression
>> include/trace/events/dma_fence.h:17:1: sparse: sparse: dereference of noderef expression
>> include/trace/events/dma_fence.h:17:1: sparse: sparse: dereference of noderef expression

vim +17 include/trace/events/dma_fence.h

e941759c74a44d6 include/trace/events/fence.h Maarten Lankhorst 2014-07-01 11
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 12 /*
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 13 * Safe only for call sites which are guaranteed to not race with fence
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 14 * signaling,holding the fence->lock and having checked for not signaled, or the
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 15 * signaling path itself.
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 16 */
62918542b7bf088 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-16 @17 DECLARE_EVENT_CLASS(dma_fence,
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 18
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 19 TP_PROTO(struct dma_fence *fence),
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 20
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 21 TP_ARGS(fence),
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 22
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 23 TP_STRUCT__entry(
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 24 __string(driver, fence->ops->get_driver_name(fence))
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 25 __string(timeline, fence->ops->get_timeline_name(fence))
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 26 __field(unsigned int, context)
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 27 __field(unsigned int, seqno)
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 28 ),
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 29
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 30 TP_fast_assign(
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 31 __assign_str(driver);
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 32 __assign_str(timeline);
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 33 __entry->context = fence->context;
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 34 __entry->seqno = fence->seqno;
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 35 ),
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 36
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 37 TP_printk("driver=%s timeline=%s context=%u seqno=%u",
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 38 __get_str(driver), __get_str(timeline), __entry->context,
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 39 __entry->seqno)
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 40 );
506aa8b02a8d689 include/trace/events/dma_fence.h Tvrtko Ursulin 2025-06-10 41

:::::: The code at line 17 was first introduced by commit
:::::: 62918542b7bf08860a60ebbde7654486e0ac0776 dma-fence: Fix sparse warnings due __rcu annotations

:::::: TO: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxx>
:::::: CC: Christian König <christian.koenig@xxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki