From 2e06d54ea9a25e2925a31eb5410af0f16baa8f19 Mon Sep 17 00:00:00 2001 From: Emil Tsalapatis Date: Sun, 1 Feb 2026 19:42:08 -0500 Subject: [PATCH] tools/sched_ext: Fix data header access during free in scx_sdt Fix a pointer arithmetic error in scx_sdt during freeing that causes the allocator to use the wrong memory address for the allocation's data header. Fixes: 36929ebd17ae ("tools/sched_ext: add arena based scheduler") Signed-off-by: Emil Tsalapatis Acked-by: Andrea Righi Signed-off-by: Tejun Heo --- tools/sched_ext/scx_sdt.bpf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/sched_ext/scx_sdt.bpf.c b/tools/sched_ext/scx_sdt.bpf.c index d965f7d209def..31b09958e8d5f 100644 --- a/tools/sched_ext/scx_sdt.bpf.c +++ b/tools/sched_ext/scx_sdt.bpf.c @@ -312,7 +312,7 @@ int scx_alloc_free_idx(struct scx_allocator *alloc, __u64 idx) pos = idx & mask; data = chunk->data[pos]; if (likely(data)) { - data[pos] = (struct sdt_data) { + *data = (struct sdt_data) { .tid.genn = data->tid.genn + 1, }; -- 2.47.3