From: Ido Schimmel Date: Wed, 24 Nov 2021 10:11:22 +0000 (+0200) Subject: net: bridge: Allow base 16 inputs in sysfs X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=5a45ab3f248b3489af8b8440eb56b2ebaae59a6c;p=linux.git 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 Acked-by: Nikolay Aleksandrov Link: https://lore.kernel.org/r/20211124101122.3321496-1-idosch@idosch.org Signed-off-by: Jakub Kicinski --- diff --git a/net/bridge/br_sysfs_br.c b/net/bridge/br_sysfs_br.c index 11c4906942965..159590d5c2afd 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;