summaryrefslogtreecommitdiff
path: root/net/bridge
diff options
context:
space:
mode:
authorIdo Schimmel <idosch@nvidia.com>2021-11-24 13:11:22 +0300
committerJakub Kicinski <kuba@kernel.org>2021-11-25 04:23:52 +0300
commit5a45ab3f248b3489af8b8440eb56b2ebaae59a6c (patch)
tree988924d2992a6e646f89c8c6efdbdfc53f75eef6 /net/bridge
parent80690a85f54f8588740ba5defa9754df8fab53f3 (diff)
downloadlinux-5a45ab3f248b3489af8b8440eb56b2ebaae59a6c.tar.xz
net: bridge: Allow base 16 inputs in sysfs
Cited commit converted simple_strtoul() to kstrtoul() as suggested by the former's documentation. However, it also forced all the inputs to be decimal resulting in user space breakage. Fix by setting the base to '0' so that the base is automatically detected. Before: # ip link add name br0 type bridge vlan_filtering 1 # echo "0x88a8" > /sys/class/net/br0/bridge/vlan_protocol bash: echo: write error: Invalid argument After: # ip link add name br0 type bridge vlan_filtering 1 # echo "0x88a8" > /sys/class/net/br0/bridge/vlan_protocol # echo $? 0 Fixes: 520fbdf7fb19 ("net/bridge: replace simple_strtoul to kstrtol") Signed-off-by: Ido Schimmel <idosch@nvidia.com> Acked-by: Nikolay Aleksandrov <nikolay@nvidia.com> Link: https://lore.kernel.org/r/20211124101122.3321496-1-idosch@idosch.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/bridge')
-rw-r--r--net/bridge/br_sysfs_br.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/bridge/br_sysfs_br.c b/net/bridge/br_sysfs_br.c
index 11c490694296..159590d5c2af 100644
--- a/net/bridge/br_sysfs_br.c
+++ b/net/bridge/br_sysfs_br.c
@@ -41,7 +41,7 @@ static ssize_t store_bridge_parm(struct device *d,
if (!ns_capable(dev_net(br->dev)->user_ns, CAP_NET_ADMIN))
return -EPERM;
- err = kstrtoul(buf, 10, &val);
+ err = kstrtoul(buf, 0, &val);
if (err != 0)
return err;