On Mon, Nov 28, 2016 at 5:23 AM,  <f...@ikuai8.com> wrote:
> From: Gao Feng <f...@ikuai8.com>
>
> The ipvlan mode variable "nval" is from userspace, so the ipvlan codes
> should check if the mode variable "nval" is valid.
>
> Signed-off-by: Gao Feng <f...@ikuai8.com>
> ---
>  drivers/net/ipvlan/ipvlan_main.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/ipvlan/ipvlan_main.c 
> b/drivers/net/ipvlan/ipvlan_main.c
> index ab90b22..537b5a9 100644
> --- a/drivers/net/ipvlan/ipvlan_main.c
> +++ b/drivers/net/ipvlan/ipvlan_main.c
> @@ -65,6 +65,9 @@ static int ipvlan_set_port_mode(struct ipvl_port *port, u16 
> nval)
>         struct net_device *mdev = port->dev;
>         int err = 0;
>
> +       if (nval >= IPVLAN_MODE_MAX)
> +               return -EINVAL;
> +
I'm curious to know how you encountered this issue? The values are
validated in ipvlan_nl_validate() and it should fail at that time
itself.
>         ASSERT_RTNL();
>         if (port->mode != nval) {
>                 if (nval == IPVLAN_MODE_L3S) {
> --
> 1.9.1
>
>

Reply via email to