On Wed, Aug 28, 2024 at 03:43:30PM +0800, Hongbo Li wrote: > > > On 2024/8/27 20:30, Dan Carpenter wrote: > > On Tue, Aug 27, 2024 at 07:35:22PM +0800, Hongbo Li wrote: > > > The deprecated helper strcpy() performs no bounds checking on the > > > destination buffer. This could result in linear overflows beyond > > > the end of the buffer, leading to all kinds of misbehaviors. > > > The safe replacement is strscpy() [1]. > > > > > > Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy [1] > > > > > > Signed-off-by: Hongbo Li <lihongbo22@xxxxxxxxxx> > > > --- > > > net/core/dev.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/net/core/dev.c b/net/core/dev.c > > > index 0d0b983a6c21..f5e0a0d801fd 100644 > > > --- a/net/core/dev.c > > > +++ b/net/core/dev.c > > > @@ -11121,7 +11121,7 @@ struct net_device *alloc_netdev_mqs(int sizeof_priv, const char *name, > > > if (!dev->ethtool) > > > goto free_all; > > > - strcpy(dev->name, name); > > > + strscpy(dev->name, name, sizeof(dev->name)); > > > > You can just do: > > > > strscpy(dev->name, name); > > > > I prefer this format because it ensures that dev->name is an array and not a > > pointer. Also shorter. > ok, I'll remove the len.(Most of these are an array, not a pointer) s/Most/all/. If it were a pointer that would have been a bug and someone would have complained already. :P regards, dan carpenter