| Submitter | Hans Schillstrom |
|---|---|
| Date | March 30, 2011, 2:36 p.m. |
| Message ID | <1301495797-7546-1-git-send-email-hans.schillstrom@ericsson.com> |
| Download | mbox | patch |
| Permalink | /patch/88927/ |
| State | Not Applicable |
| Delegated to: | David Miller |
| Headers | show |
Comments
On Wed, Mar 30, 2011 at 04:36:37PM +0200, Hans Schillstrom wrote: > ipvsadm -ln --daemon will trigger a Null pointer exception because > ip_vs_genl_dump_daemons() uses skb_net() instead of skb_sknet(). > > To prevent others from NULL ptr a check is made in ip_vs.h skb_net(). > > This patches is based on net-2.6 Thanks Hans, I will prepare a pull request for Patrick this afternoon. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Patch
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h index 30b49ed..4d1b71a 100644 --- a/include/net/ip_vs.h +++ b/include/net/ip_vs.h @@ -52,7 +52,7 @@ static inline struct net *skb_net(const struct sk_buff *skb) */ if (likely(skb->dev && skb->dev->nd_net)) return dev_net(skb->dev); - if (skb_dst(skb)->dev) + if (skb_dst(skb) && skb_dst(skb)->dev) return dev_net(skb_dst(skb)->dev); WARN(skb->sk, "Maybe skb_sknet should be used in %s() at line:%d\n", __func__, __LINE__); diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c index 33733c8..ae47090 100644 --- a/net/netfilter/ipvs/ip_vs_ctl.c +++ b/net/netfilter/ipvs/ip_vs_ctl.c @@ -3120,7 +3120,7 @@ nla_put_failure: static int ip_vs_genl_dump_daemons(struct sk_buff *skb, struct netlink_callback *cb) { - struct net *net = skb_net(skb); + struct net *net = skb_sknet(skb); struct netns_ipvs *ipvs = net_ipvs(net); mutex_lock(&__ip_vs_mutex);
ipvsadm -ln --daemon will trigger a Null pointer exception because ip_vs_genl_dump_daemons() uses skb_net() instead of skb_sknet(). To prevent others from NULL ptr a check is made in ip_vs.h skb_net(). This patches is based on net-2.6 Signed-off-by: Hans Schillstrom <hans.schillstrom@ericsson.com> --- include/net/ip_vs.h | 2 +- net/netfilter/ipvs/ip_vs_ctl.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)