summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-02-02 12:31:33 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-02-02 12:31:32 -0800
commit21f46f2e153f77a3aa30839e10e7250e23bc9236 (patch)
tree29946439e14a81cb48e8f5b9d4fd994d50e1a63b
parent0769d8a501aa8217e7c8a80ee8350ddfb3db2cf1 (diff)
parent85cccedb0cae0331228cc58fa91d31810018df98 (diff)
Merge "net: rmnet_data: Fix incorrect netlink handling"
-rw-r--r--net/rmnet_data/rmnet_data_config.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/rmnet_data/rmnet_data_config.c b/net/rmnet_data/rmnet_data_config.c
index ebce455b645d..fb4c60fc2203 100644
--- a/net/rmnet_data/rmnet_data_config.c
+++ b/net/rmnet_data/rmnet_data_config.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2017, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -540,6 +540,11 @@ void rmnet_config_netlink_msg_handler(struct sk_buff *skb)
nlmsg_header = (struct nlmsghdr *) skb->data;
rmnet_header = (struct rmnet_nl_msg_s *) nlmsg_data(nlmsg_header);
+ if (!nlmsg_header->nlmsg_pid ||
+ (nlmsg_header->nlmsg_len < sizeof(struct nlmsghdr) +
+ sizeof(struct rmnet_nl_msg_s)))
+ return;
+
LOGL("Netlink message pid=%d, seq=%d, length=%d, rmnet_type=%d",
nlmsg_header->nlmsg_pid,
nlmsg_header->nlmsg_seq,