Hi Eric, On Fri, Apr 5, 2024 at 12:30 PM Eric Dumazet <edumazet@xxxxxxxxxx> wrote: > > On Fri, Apr 5, 2024 at 6:24 PM Luiz Augusto von Dentz > <luiz.dentz@xxxxxxxxx> wrote: > > > ave used this so far (without risking a kernel bug) > > > > Fair enough, if we don't really have any risk of breaking the API > > (would result in using uninitialized memory) then I propose we do > > something like this: > > > > https://gist.github.com/Vudentz/c9092e8a3cb1e7e6a8fd384a51300eee > > > > That said perhaps copy_from_sockptr shall really take into account > > both source and destination lengths so it could incorporate the check > > e.g. if (dst_size > src_size) but that might result in changing every > > user of copy_from_sockptr thus I left it to be specific to bluetooth. > > Make sure to return -EINVAL if the user provided length is too small, > not -EFAULT. Sure, there was also a use of -EOVERFLOW and the fact we are using the return of copy_from_sockptr so if it fails we just return -EFAULT anyway, so if we do start returning the error from the like bt_copy_from_sockptr then we better figure out the errors it returns are proper. Btw, do you want me to spin a new version containing these changes or you would like to incorporate them into your patch and spin a v2? -- Luiz Augusto von Dentz