diff options
author | 2014-02-11 11:01:23 +0100 | |
---|---|---|
committer | 2014-02-12 10:42:02 +0100 | |
commit | 862474f8b46f6c1e600d4934e40ba40646c696ec (patch) | |
tree | 5cdecee7b00735a71436a884c528b7b8cbb49711 /drivers/net/can | |
parent | Merge tag 'microblaze-3.14-rc3' of git://git.monstr.eu/linux-2.6-microblaze (diff) | |
download | linux-862474f8b46f6c1e600d4934e40ba40646c696ec.tar.gz linux-862474f8b46f6c1e600d4934e40ba40646c696ec.tar.bz2 linux-862474f8b46f6c1e600d4934e40ba40646c696ec.zip |
can: kvaser_usb: check number of channels returned by HW
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>
Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'drivers/net/can')
-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 6c859bba8b65..e77d11049747 100644 --- a/drivers/net/can/usb/kvaser_usb.c +++ b/drivers/net/can/usb/kvaser_usb.c @@ -473,6 +473,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; } |