Re: [xfrm_user] BUG: sleeping function called from invalid context

From: David Miller
Date: Sun Aug 15 2010 - 01:38:16 EST


From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 13 Aug 2010 11:36:58 -0400

> Luca Tettamanti <kronos.it@xxxxxxxxx> wrote:
>>
>> xfrm_user_policy takes read_lock(&xfrm_km_lock) before calling
>> xfrm_compile_policy (via km->compile_policy), which in turn calls
>> xfrm_policy_alloc with GFP_KERNEL.
>
> Thanks for discovering this bug, it only took 8 years :)

We stumble over one of these every so often don't we? :)

>
> xfrm: Use GFP_ATOMIC in xfrm_compile_policy
>
> As xfrm_compile_policy runs within a read_lock, we cannot use
> GFP_KERNEL for memory allocations.
>
> Reported-by: Luca Tettamanti <kronos.it@xxxxxxxxx>
> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

Applied, thanks Herbert.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/