summaryrefslogtreecommitdiffstats
path: root/drivers/net/can
diff options
context:
space:
mode:
authorOliver Hartkopp <socketcan@hartkopp.net>2016-06-21 15:45:47 +0200
committerBen Hutchings <ben@decadent.org.uk>2016-08-22 22:38:18 +0100
commitc47cdc38adea0c9b67a20c017c87f9e946ddb874 (patch)
tree406d10899c94f387852fd224f4a48013f2fa6962 /drivers/net/can
parent0f423b986097ebfe10fcdd2cfc5a2547426e5b81 (diff)
downloadlinux-stable-c47cdc38adea0c9b67a20c017c87f9e946ddb874.tar.gz
linux-stable-c47cdc38adea0c9b67a20c017c87f9e946ddb874.tar.bz2
linux-stable-c47cdc38adea0c9b67a20c017c87f9e946ddb874.zip
can: fix oops caused by wrong rtnl dellink usage
commit 25e1ed6e64f52a692ba3191c4fde650aab3ecc07 upstream. For 'real' hardware CAN devices the netlink interface is used to set CAN specific communication parameters. Real CAN hardware can not be created nor removed with the ip tool ... This patch adds a private dellink function for the CAN device driver interface that does just nothing. It's a follow up to commit 993e6f2fd ("can: fix oops caused by wrong rtnl newlink usage") but for dellink. Reported-by: ajneu <ajneu1@gmail.com> Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers/net/can')
-rw-r--r--drivers/net/can/dev.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c
index 5635c6e7af57..edb3b86eb118 100644
--- a/drivers/net/can/dev.c
+++ b/drivers/net/can/dev.c
@@ -881,6 +881,11 @@ static int can_newlink(struct net *src_net, struct net_device *dev,
return -EOPNOTSUPP;
}
+static void can_dellink(struct net_device *dev, struct list_head *head)
+{
+ return;
+}
+
static struct rtnl_link_ops can_link_ops __read_mostly = {
.kind = "can",
.maxtype = IFLA_CAN_MAX,
@@ -888,6 +893,7 @@ static struct rtnl_link_ops can_link_ops __read_mostly = {
.setup = can_setup,
.newlink = can_newlink,
.changelink = can_changelink,
+ .dellink = can_dellink,
.get_size = can_get_size,
.fill_info = can_fill_info,
.get_xstats_size = can_get_xstats_size,