On 7/4/25 10:30 PM, Kumar Kartikeya Dwivedi wrote: > On 32-bit platforms, we'll try to convert a u64 directly to a pointer > type which is 32-bit, which causes the compiler to complain about cast > from an integer of a different size to a pointer type. Cast to long > before casting to the pointer type to match the pointer width. > > Reported-by: kernelci.org bot <bot@xxxxxxxxxxxx> > Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> > Fixes: d7c431cafcb4 ("bpf: Add dump_stack() analogue to print to BPF stderr") > Signed-off-by: Kumar Kartikeya Dwivedi <memxor@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Tested-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Thanks. > --- > kernel/bpf/stream.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/kernel/bpf/stream.c b/kernel/bpf/stream.c > index 8c842f845245..ab592db4a4bf 100644 > --- a/kernel/bpf/stream.c > +++ b/kernel/bpf/stream.c > @@ -498,11 +498,11 @@ static bool dump_stack_cb(void *cookie, u64 ip, u64 sp, u64 bp) > if (ret < 0) > goto end; > ctxp->err = bpf_stream_stage_printk(ctxp->ss, "%pS\n %s @ %s:%d\n", > - (void *)ip, line, file, num); > + (void *)(long)ip, line, file, num); > return !ctxp->err; > } > end: > - ctxp->err = bpf_stream_stage_printk(ctxp->ss, "%pS\n", (void *)ip); > + ctxp->err = bpf_stream_stage_printk(ctxp->ss, "%pS\n", (void *)(long)ip); > return !ctxp->err; > } > -- ~Randy