[XFRM]: Compilation warnings in xfrm_user.c.
authorDenis V. Lunev <den@openvz.org>
Mon, 14 Apr 2008 21:47:48 +0000 (14:47 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Apr 2008 21:47:48 +0000 (14:47 -0700)
When CONFIG_SECURITY_NETWORK_XFRM is undefined the following warnings appears:
net/xfrm/xfrm_user.c: In function 'xfrm_add_pol_expire':
net/xfrm/xfrm_user.c:1576: warning: 'ctx' may be used uninitialized in this function
net/xfrm/xfrm_user.c: In function 'xfrm_get_policy':
net/xfrm/xfrm_user.c:1340: warning: 'ctx' may be used uninitialized in this function
(security_xfrm_policy_alloc is noop for the case).

It seems that they are result of the commit
03e1ad7b5d871d4189b1da3125c2f12d1b5f7d0b ("LSM: Make the Labeled IPsec
hooks more stack friendly")

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/xfrm/xfrm_user.c

index b822b56..1810f56 100644 (file)
@@ -1343,14 +1343,14 @@ static int xfrm_get_policy(struct sk_buff *skb, struct nlmsghdr *nlh,
                if (err)
                        return err;
 
+               ctx = NULL;
                if (rt) {
                        struct xfrm_user_sec_ctx *uctx = nla_data(rt);
 
                        err = security_xfrm_policy_alloc(&ctx, uctx);
                        if (err)
                                return err;
-               } else
-                       ctx = NULL;
+               }
                xp = xfrm_policy_bysel_ctx(type, p->dir, &p->sel, ctx,
                                           delete, &err);
                security_xfrm_policy_free(ctx);
@@ -1579,14 +1579,14 @@ static int xfrm_add_pol_expire(struct sk_buff *skb, struct nlmsghdr *nlh,
                if (err)
                        return err;
 
+               ctx = NULL;
                if (rt) {
                        struct xfrm_user_sec_ctx *uctx = nla_data(rt);
 
                        err = security_xfrm_policy_alloc(&ctx, uctx);
                        if (err)
                                return err;
-               } else
-                       ctx = NULL;
+               }
                xp = xfrm_policy_bysel_ctx(type, p->dir, &p->sel, ctx, 0, &err);
                security_xfrm_policy_free(ctx);
        }