On Fri, 30 Nov 2007 00:51:33 +1100 Herbert Xu <[EMAIL PROTECTED]> wrote:
> On Wed, Nov 28, 2007 at 02:56:51AM -0800, [EMAIL PROTECTED] wrote: > > > > The patch titled > > xfrm_policy warning fix > > has been added to the -mm tree. Its filename is > > xfrm_policy-warning-fix.patch > > > > *** Remember to use Documentation/SubmitChecklist when testing your code *** > > > > See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find > > out what to do about this > > > > ------------------------------------------------------ > > Subject: xfrm_policy warning fix > > From: Andrew Morton <[EMAIL PROTECTED]> > > > > Fix this: > > > > net/xfrm/xfrm_policy.c: In function '__xfrm_lookup': > > net/xfrm/xfrm_policy.c:1449: warning: 'dst' may be used uninitialized in > > this function > > > > by checking for impossible values in the switch(). > > Thanks Andrew. I've added the following patch to net-2.6. > -- > Visit Openswan at http://www.openswan.org/ > Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]> > Home Page: http://gondor.apana.org.au/~herbert/ > PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt > -- > commit 5e5234ff17ef98932688116025b30958bd28a940 > Author: Herbert Xu <[EMAIL PROTECTED]> > Date: Fri Nov 30 00:50:31 2007 +1100 > > [IPSEC]: Fix uninitialised dst warning in __xfrm_lookup > > Andrew Morton reported that __xfrm_lookup generates this warning: > > net/xfrm/xfrm_policy.c: In function '__xfrm_lookup': > net/xfrm/xfrm_policy.c:1449: warning: 'dst' may be used uninitialized in > this function > > This is because if policy->action is of an unexpected value then dst will > not be initialised. Of course, in practice this should never happen since > the input layer xfrm_user/af_key will filter out all illegal values. But > the compiler doesn't know that of course. > > So this patch fixes this by taking the conservative approach and treat all > unknown actions the same as a blocking action. > > Thanks to Andrew for finding this and providing an initial fix. > > Signed-off-by: Herbert Xu <[EMAIL PROTECTED]> > > diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c > index b702bd8..9a4cf2e 100644 > --- a/net/xfrm/xfrm_policy.c > +++ b/net/xfrm/xfrm_policy.c > @@ -1344,6 +1344,7 @@ restart: > xfrm_nr += pols[0]->xfrm_nr; > > switch (policy->action) { > + default: > case XFRM_POLICY_BLOCK: > /* Prohibit the flow */ > err = -EPERM; hm. If someone feeds a bad value into here we want to know about it rather than silently fixing it up, don't we? - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html