From: Emil Tsalapatis Date: Mon, 2 Feb 2026 00:42:08 +0000 (-0500) Subject: tools/sched_ext: Fix data header access during free in scx_sdt X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2e06d54ea9a25e2925a31eb5410af0f16baa8f19;p=thirdparty%2Fkernel%2Flinux.git 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 --- 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, };