[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <49338369.4070405@cn.fujitsu.com>
Date: Mon, 01 Dec 2008 14:25:45 +0800
From: Wei Yongjun <yjwei@...fujitsu.com>
To: Herbert Xu <herbert@...dor.apana.org.au>
CC: David Miller <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [PATCHv2] xfrm: Fix kernel panic when flush and dump SPD entries
Herbert Xu wrote:
> On Mon, Dec 01, 2008 at 10:10:16AM +0800, Wei Yongjun wrote:
>
>> diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
>> index 058f04f..fb216c9 100644
>> --- a/net/xfrm/xfrm_policy.c
>> +++ b/net/xfrm/xfrm_policy.c
>> @@ -817,6 +817,7 @@ int xfrm_policy_flush(u8 type, struct xfrm_audit *audit_info)
>> continue;
>> hlist_del(&pol->bydst);
>> hlist_del(&pol->byidx);
>> + list_del(&pol->walk.all);
>>
>
> Good catch. In fact there so man occurrences of these three calls
> that perhaps we should put them (and any other relevant code) in a
> helper.
>
I think you mean used __xfrm_policy_unlink() function to instead those
codes.
1098 static struct xfrm_policy *__xfrm_policy_unlink(struct xfrm_policy
*pol,
1099 int dir)
1100 {
1101 if (hlist_unhashed(&pol->bydst))
1102 return NULL;
1103
1104 hlist_del(&pol->bydst);
1105 hlist_del(&pol->byidx);
1106 list_del(&pol->walk.all);
1107 xfrm_policy_count[dir]--;
1108
1109 return pol;
1110 }
I will post the patch later.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists