Re: [PATCH v3] sched_ext: fix application of sizeof to pointer

From: Andrea Righi
Date: Wed Nov 20 2024 - 09:00:58 EST


On Sun, Nov 17, 2024 at 10:51:29AM +0800, guanjing wrote:
> sizeof when applied to a pointer typed expression gives the size of
> the pointer.
>
> The proper fix in this particular case is to code sizeof(*cpuset)
> instead of sizeof(cpuset).
>
> This issue was detected with the help of Coccinelle.
>
> Fixes: 22a920209ab6 ("sched_ext: Implement tickless support")
> Signed-off-by: guanjing <guanjing@xxxxxxxxxxxxxxxxxxxx>

Thanks for catching this, it looks good to me.

Could you send a PR for https://github.com/sched-ext/scx? We usually
sync the C schedulers from this repository into the kernel.

If you want you can add my:

Acked-by: Andrea Righi <arighi@xxxxxxxxxx>

Thanks,
-Andrea

> ---
> tools/sched_ext/scx_central.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/sched_ext/scx_central.c b/tools/sched_ext/scx_central.c
> index 21deea320bd7..e938156ed0a0 100644
> --- a/tools/sched_ext/scx_central.c
> +++ b/tools/sched_ext/scx_central.c
> @@ -97,7 +97,7 @@ int main(int argc, char **argv)
> SCX_BUG_ON(!cpuset, "Failed to allocate cpuset");
> CPU_ZERO(cpuset);
> CPU_SET(skel->rodata->central_cpu, cpuset);
> - SCX_BUG_ON(sched_setaffinity(0, sizeof(cpuset), cpuset),
> + SCX_BUG_ON(sched_setaffinity(0, sizeof(*cpuset), cpuset),
> "Failed to affinitize to central CPU %d (max %d)",
> skel->rodata->central_cpu, skel->rodata->nr_cpu_ids - 1);
> CPU_FREE(cpuset);
> --
> 2.33.0
>
>
>