public inbox for bpf@vger.kernel.org
 help / color / mirror / Atom feed
* [bug report] bpf: Implement dynptr copy kfuncs
@ 2025-05-23 15:58 Dan Carpenter
  2025-05-23 16:10 ` Mykyta Yatsenko
  0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2025-05-23 15:58 UTC (permalink / raw)
  To: Mykyta Yatsenko; +Cc: bpf

Hello Mykyta Yatsenko,

Commit a498ee7576de ("bpf: Implement dynptr copy kfuncs") from May
12, 2025 (linux-next), leads to the following Smatch static checker
warning:

	kernel/trace/bpf_trace.c:3557 copy_user_data_sleepable()
	warn: maybe return -EFAULT instead of the bytes remaining?

kernel/trace/bpf_trace.c
    3551 static __always_inline int copy_user_data_sleepable(void *dst, const void *unsafe_src,
    3552                                                     u32 size, struct task_struct *tsk)
    3553 {
    3554         int ret;
    3555 
    3556         if (!tsk) /* Read from the current task */
--> 3557                 return copy_from_user(dst, (const void __user *)unsafe_src, size);

I don't know if it matters what we return here so long as it's non-zero.
This is probably a fast path so maybe we're returning positives
intentionally?

    3558 
    3559         ret = access_process_vm(tsk, (unsigned long)unsafe_src, dst, size, 0);
    3560         if (ret != size)
    3561                 return -EFAULT;
    3562         return 0;
    3563 }

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-05-23 16:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-23 15:58 [bug report] bpf: Implement dynptr copy kfuncs Dan Carpenter
2025-05-23 16:10 ` Mykyta Yatsenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox