diff options
author | Olivier Sobrie <olivier@sobrie.be> | 2014-02-11 11:01:23 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-03-06 22:06:23 -0800 |
commit | a122e1f4c504578e1379d2808ce8a6f7e71a96db (patch) | |
tree | 46f4a533b56f4d7cb6469e3eedefe2d0c5835245 | |
parent | 55e02d0a3383b15d1fcff130f83c0096e22a19b2 (diff) | |
download | lwn-a122e1f4c504578e1379d2808ce8a6f7e71a96db.tar.gz lwn-a122e1f4c504578e1379d2808ce8a6f7e71a96db.zip |
can: kvaser_usb: check number of channels returned by HW
commit 862474f8b46f6c1e600d4934e40ba40646c696ec upstream.
It is needed to check the number of channels returned by the HW because it
cannot be greater than MAX_NET_DEVICES otherwise it will crash.
Signed-off-by: Olivier Sobrie <olivier@sobrie.be>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/net/can/usb/kvaser_usb.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/can/usb/kvaser_usb.c b/drivers/net/can/usb/kvaser_usb.c index 4b2d5ed62b11..cc3df8aebb87 100644 --- a/drivers/net/can/usb/kvaser_usb.c +++ b/drivers/net/can/usb/kvaser_usb.c @@ -474,6 +474,8 @@ static int kvaser_usb_get_card_info(struct kvaser_usb *dev) return err; dev->nchannels = msg.u.cardinfo.nchannels; + if (dev->nchannels > MAX_NET_DEVICES) + return -EINVAL; return 0; } |