Re: [PATCH v2 net 1/3] bridge: Add a default_pvid sysfs attribute
From: Toshiaki Makita <hidden>
Date: 2014-10-01 06:45:56
Also in:
bridge
From: Toshiaki Makita <hidden>
Date: 2014-10-01 06:45:56
Also in:
bridge
On 2014/10/01 4:31, Vladislav Yasevich wrote:
This patch allows the user to set and retrieve default_pvid value. A new value can only be stored when vlan filtering is disabled. Signed-off-by: Vladislav Yasevich <redacted> ---
...
+int br_vlan_set_default_pvid(struct net_bridge *br, unsigned long val)
+{
+ u16 pvid = val;
+ int err = 0;
+
+ if (!pvid || pvid >= VLAN_VID_MASK)
+ return -EINVAL;This seems to accept a large value as a valid value. For example, ((1 << 16) + 10) will be handled as 10. How about using "val" for this check?
+
+ if (!rtnl_trylock())
+ return restart_syscall();
+
+ if (pvid == br->default_pvid)
+ goto unlock;
+
+ /* Only allow default pvid change when filtering is disabled */
+ if (br->vlan_enabled) {
+ err = -EPERM;Additional log message might help users know why it was rejected. Thanks, Toshiaki Makita