Commit 82183b03 authored by Hongbo Li's avatar Hongbo Li Committed by Jakub Kicinski

net/ipv4: net: prefer strscpy over strcpy

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: default avatarHongbo Li <lihongbo22@huawei.com>
Link: https://patch.msgid.link/20240828123224.3697672-7-lihongbo22@huawei.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent af1052fd
...@@ -1326,7 +1326,7 @@ int ip_tunnel_init(struct net_device *dev) ...@@ -1326,7 +1326,7 @@ int ip_tunnel_init(struct net_device *dev)
tunnel->dev = dev; tunnel->dev = dev;
tunnel->net = dev_net(dev); tunnel->net = dev_net(dev);
strcpy(tunnel->parms.name, dev->name); strscpy(tunnel->parms.name, dev->name);
iph->version = 4; iph->version = 4;
iph->ihl = 5; iph->ihl = 5;
......
...@@ -826,7 +826,7 @@ static int get_info(struct net *net, void __user *user, const int *len) ...@@ -826,7 +826,7 @@ static int get_info(struct net *net, void __user *user, const int *len)
sizeof(info.underflow)); sizeof(info.underflow));
info.num_entries = private->number; info.num_entries = private->number;
info.size = private->size; info.size = private->size;
strcpy(info.name, name); strscpy(info.name, name);
if (copy_to_user(user, &info, *len) != 0) if (copy_to_user(user, &info, *len) != 0)
ret = -EFAULT; ret = -EFAULT;
......
...@@ -981,7 +981,7 @@ static int get_info(struct net *net, void __user *user, const int *len) ...@@ -981,7 +981,7 @@ static int get_info(struct net *net, void __user *user, const int *len)
sizeof(info.underflow)); sizeof(info.underflow));
info.num_entries = private->number; info.num_entries = private->number;
info.size = private->size; info.size = private->size;
strcpy(info.name, name); strscpy(info.name, name);
if (copy_to_user(user, &info, *len) != 0) if (copy_to_user(user, &info, *len) != 0)
ret = -EFAULT; ret = -EFAULT;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment