diff options
author | Sreeram Ramachandran <sreeram@google.com> | 2014-07-08 11:37:03 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-06-30 02:38:43 -0700 |
commit | 5531c1d466e904a7f4efef30c9af79fe92a3de57 (patch) | |
tree | 0b08ded752596912ab837ddc7f88e04ae0044aea | |
parent | 4fb9a0ed1338c51898f3b89836895bd583a7b7b4 (diff) | |
download | qcom-5531c1d466e904a7f4efef30c9af79fe92a3de57.tar.gz |
Handle 'sk' being NULL in UID-based routing.
Bug: 15413527
Change-Id: If33bebb7b52c0ebfa8dac2452607bce0c2b0faa0
Signed-off-by: Sreeram Ramachandran <sreeram@google.com>
Git-commit: 0836a0c191f580ed69254e0b287cdce58481e978
Git-repo: https://android.googlesource.com/kernel/common.git
[imaund@codeaurora.org: Additional ternary added to prevent
dereferencing NULL in QCOM code.]
Signed-off-by: Ian Maund <imaund@codeaurora.org>
-rw-r--r-- | include/net/route.h | 2 | ||||
-rw-r--r-- | net/ipv4/route.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/include/net/route.h b/include/net/route.h index c4de78a7018..43280f6fa56 100644 --- a/include/net/route.h +++ b/include/net/route.h @@ -143,7 +143,7 @@ static inline struct rtable *ip_route_output_ports(struct net *net, struct flowi flowi4_init_output(fl4, oif, sk ? sk->sk_mark : 0, tos, RT_SCOPE_UNIVERSE, proto, sk ? inet_sk_flowi_flags(sk) : 0, - daddr, saddr, dport, sport, sock_i_uid(sk)); + daddr, saddr, dport, sport, sk ? sock_i_uid(sk) : 0); if (sk) security_sk_classify_flow(sk, flowi4_to_flowi(fl4)); return ip_route_output_flow(net, fl4, sk); diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 3a3042b72b9..b55673aec42 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -516,7 +516,8 @@ static void __build_flow_key(struct flowi4 *fl4, struct sock *sk, flowi4_init_output(fl4, oif, mark, tos, RT_SCOPE_UNIVERSE, prot, flow_flags, - iph->daddr, iph->saddr, 0, 0, sock_i_uid(sk)); + iph->daddr, iph->saddr, 0, 0, + sk ? sock_i_uid(sk) : 0); } static void build_skb_flow_key(struct flowi4 *fl4, const struct sk_buff *skb, |