Kernel strscpy() should be renamed to kstrscpy() Re: [PATCH] nfs_sysfs_link_rpc_client(): Replace strcpy with strscpy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 6, 2024 at 9:40 PM Benjamin Coddington <bcodding@xxxxxxxxxx> wrote:
>
> On 6 Nov 2024, at 15:20, Roland Mainz wrote:
>
> > On Wed, Nov 6, 2024 at 3:49 AM Daniel Yang <danielyangkang@xxxxxxxxx> wrote:
> >>
> >> The function strcpy is deprecated due to lack of bounds checking. The
> >> recommended replacement is strscpy.
> >>
> >> Signed-off-by: Daniel Yang <danielyangkang@xxxxxxxxx>
> >> ---
> >>  fs/nfs/sysfs.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/fs/nfs/sysfs.c b/fs/nfs/sysfs.c
> >> index bf378ecd5..f3d0b2ef9 100644
> >> --- a/fs/nfs/sysfs.c
> >> +++ b/fs/nfs/sysfs.c
> >> @@ -280,7 +280,7 @@ void nfs_sysfs_link_rpc_client(struct nfs_server *server,
> >>         char name[RPC_CLIENT_NAME_SIZE];
> >>         int ret;
> >>
> >> -       strcpy(name, clnt->cl_program->name);
> >> +       strscpy(name, clnt->cl_program->name);
> >
> > How should the "bounds checking" work in this case if you only pass
> > two arguments ?
>
> The linux kernel strscpy() checks the sizeof the destination.

Then the kernel strscpy() should be renamed accordingly, and not
confuse people. Suggested name would be kstrscpy().
Otherwise this would disqualify strscpy() ever from being adopted as a
POSIX standard, as there are two - kernel and glibc - conflicting
implementations

Sebi
-- 
Sebastian Feld - IT secruity expert





[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux