2018-07-06 12:45:40

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH net] net: bridge: fix br_vlan_get_{pvid,info} return values

These two functions return the regular -EINVAL failure in the normal
code path, but return a nonstandard '-1' error otherwise, which gets
interpreted as -EPERM.

Let's change it to -EINVAL for the dummy functions as well.

Fixes: 4d4fd36126d6 ("net: bridge: Publish bridge accessor functions")
Signed-off-by: Arnd Bergmann <[email protected]>
---
include/linux/if_bridge.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h
index 7843b98e1c6e..c20c7e197d07 100644
--- a/include/linux/if_bridge.h
+++ b/include/linux/if_bridge.h
@@ -105,13 +105,13 @@ static inline bool br_vlan_enabled(const struct net_device *dev)

static inline int br_vlan_get_pvid(const struct net_device *dev, u16 *p_pvid)
{
- return -1;
+ return -EINVAL;
}

static inline int br_vlan_get_info(const struct net_device *dev, u16 vid,
struct bridge_vlan_info *p_vinfo)
{
- return -1;
+ return -EINVAL;
}
#endif

--
2.9.0



2018-07-06 12:53:11

by Nikolay Aleksandrov

[permalink] [raw]
Subject: Re: [PATCH net] net: bridge: fix br_vlan_get_{pvid,info} return values

On 06/07/18 15:44, Arnd Bergmann wrote:
> These two functions return the regular -EINVAL failure in the normal
> code path, but return a nonstandard '-1' error otherwise, which gets
> interpreted as -EPERM.
>
> Let's change it to -EINVAL for the dummy functions as well.
>
> Fixes: 4d4fd36126d6 ("net: bridge: Publish bridge accessor functions")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> include/linux/if_bridge.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h
> index 7843b98e1c6e..c20c7e197d07 100644
> --- a/include/linux/if_bridge.h
> +++ b/include/linux/if_bridge.h
> @@ -105,13 +105,13 @@ static inline bool br_vlan_enabled(const struct net_device *dev)
>
> static inline int br_vlan_get_pvid(const struct net_device *dev, u16 *p_pvid)
> {
> - return -1;
> + return -EINVAL;
> }
>
> static inline int br_vlan_get_info(const struct net_device *dev, u16 vid,
> struct bridge_vlan_info *p_vinfo)
> {
> - return -1;
> + return -EINVAL;
> }
> #endif
>
>

Acked-by: Nikolay Aleksandrov <[email protected]>


2018-07-07 11:06:29

by David Miller

[permalink] [raw]
Subject: Re: [PATCH net] net: bridge: fix br_vlan_get_{pvid,info} return values

From: Arnd Bergmann <[email protected]>
Date: Fri, 6 Jul 2018 14:44:02 +0200

> These two functions return the regular -EINVAL failure in the normal
> code path, but return a nonstandard '-1' error otherwise, which gets
> interpreted as -EPERM.
>
> Let's change it to -EINVAL for the dummy functions as well.
>
> Fixes: 4d4fd36126d6 ("net: bridge: Publish bridge accessor functions")
> Signed-off-by: Arnd Bergmann <[email protected]>

Applied, thanks Arnd.