can: raw: raw_setsockopt: limit number of can_filter that can be set
authorMarc Kleine-Budde <mkl@pengutronix.de>
Mon, 5 Dec 2016 10:44:23 +0000 (11:44 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 23 Feb 2017 03:51:02 +0000 (03:51 +0000)
commit7f5edacaa2c4b198b948fa0d14661a63d66428d6
treec41820af5860b10c5801a160dc06e5ab972fac38
parent6d1f19c6c03cc1a2c6b8862a411db88d70f4e697
can: raw: raw_setsockopt: limit number of can_filter that can be set

commit 332b05ca7a438f857c61a3c21a88489a21532364 upstream.

This patch adds a check to limit the number of can_filters that can be
set via setsockopt on CAN_RAW sockets. Otherwise allocations > MAX_ORDER
are not prevented resulting in a warning.

Reference: https://lkml.org/lkml/2016/12/2/230

Reported-by: Andrey Konovalov <andreyknvl@google.com>
Tested-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
include/linux/can.h
net/can/raw.c