From: Mahesh Bandewar (महेश बंडेवार) <mahe...@google.com> Date: Mon, 28 Nov 2016 11:02:45 -0800
> 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. I'm not applying this without at least a better explanation.