From 542b0cc759c6d3456d16c05c886b367e1b2f1e73 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Tue, 13 Jan 2015 18:06:16 -0800 Subject: [PATCH 1/2] neighbor: check return values Need to check for invalid address and buffer overrun in ip neigh command with invalid paramters. --- ip/ipneigh.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ip/ipneigh.c b/ip/ipneigh.c index 6be79e1a..eeec7bdd 100644 --- a/ip/ipneigh.c +++ b/ip/ipneigh.c @@ -157,14 +157,19 @@ static int ipneigh_modify(int cmd, int flags, int argc, char **argv) exit(-1); } req.ndm.ndm_family = dst.family; - addattr_l(&req.n, sizeof(req), NDA_DST, &dst.data, dst.bytelen); + if (addattr_l(&req.n, sizeof(req), NDA_DST, &dst.data, dst.bytelen) < 0) + return -1; if (lla && strcmp(lla, "null")) { char llabuf[20]; int l; l = ll_addr_a2n(llabuf, sizeof(llabuf), lla); - addattr_l(&req.n, sizeof(req), NDA_LLADDR, llabuf, l); + if (l < 0) + return -1; + + if (addattr_l(&req.n, sizeof(req), NDA_LLADDR, llabuf, l) < 0) + return -1; } ll_init_map(&rth); From 0575fa22e5aadee399ca9b641db081f2ba6be466 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 28 Jan 2015 14:28:33 +0000 Subject: [PATCH 2/2] update kernel kernel headers from 3.19-rc --- include/linux/can/netlink.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/linux/can/netlink.h b/include/linux/can/netlink.h index 25fd52cc..6d4ec2a9 100644 --- a/include/linux/can/netlink.h +++ b/include/linux/can/netlink.h @@ -98,6 +98,7 @@ struct can_ctrlmode { #define CAN_CTRLMODE_BERR_REPORTING 0x10 /* Bus-error reporting */ #define CAN_CTRLMODE_FD 0x20 /* CAN FD mode */ #define CAN_CTRLMODE_PRESUME_ACK 0x40 /* Ignore missing CAN ACKs */ +#define CAN_CTRLMODE_FD_NON_ISO 0x80 /* CAN FD in non-ISO mode */ /* * CAN device statistics