[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1231483868.11687.523.camel@twins>
Date: Fri, 09 Jan 2009 07:51:08 +0100
From: Peter Zijlstra <a.p.zijlstra@...llo.nl>
To: Herbert Xu <herbert@...dor.apana.org.au>
Cc: "J. Bruce Fields" <bfields@...ldses.org>, netdev@...r.kernel.org,
linux-nfs@...r.kernel.org, Trond Myklebust <trond@...app.com>,
Ingo Molnar <mingo@...e.hu>, Nick Piggin <npiggin@...e.de>
Subject: Re: nfs client lockdep warning
On Fri, 2009-01-09 at 17:23 +1100, Herbert Xu wrote:
> On Fri, Jan 09, 2009 at 06:58:17AM +0100, Peter Zijlstra wrote:
> >
> > > > > > Jan 8 15:29:17 ying3 kernel: [<c054bb26>] copy_from_user+0x36/0x90
> > > > > > Jan 8 15:29:17 ying3 kernel: [<c0737800>] memcpy_fromiovecend+0x60/0x90
> > > > > > Jan 8 15:29:17 ying3 kernel: [<c075ce9f>] ip_generic_getfrag+0x9f/0xb0
> > > > > > Jan 8 15:29:17 ying3 kernel: [<c075cb6b>] ip_append_data+0x6bb/0x950
> > > > > > Jan 8 15:29:17 ying3 kernel: [<c077cb0d>] udp_sendmsg+0x2bd/0x680
> > > > > > Jan 8 15:29:17 ying3 kernel: [<c07835f9>] inet_sendmsg+0x39/0x70
> > > > > > Jan 8 15:29:17 ying3 kernel: [<c072f0e6>] sock_sendmsg+0xd6/0x100
> > > > > > Jan 8 15:29:17 ying3 kernel: [<c072f485>] kernel_sendmsg+0x35/0x50
> > > > > > Jan 8 15:29:17 ying3 kernel: [<c07da698>] xs_send_kvec+0xa8/0xb0
> > > > > > Jan 8 15:29:17 ying3 kernel: [<c07da711>] xs_sendpages+0x71/0x210
> > > > > > Jan 8 15:29:17 ying3 kernel: [<c07dab30>] xs_udp_send_request+0x40/0x120
> > > > > > Jan 8 15:29:17 ying3 kernel: [<c07d91ff>] xprt_transmit+0x6f/0x280
> > > > > > Jan 8 15:29:17 ying3 kernel: [<c07d6c1f>] call_transmit+0x17f/0x250
> > > > > > Jan 8 15:29:17 ying3 kernel: [<c07dda13>] __rpc_execute+0x73/0x250
> >
> > Is there anything pinning that user-space page, if not its free to
> > fault, which would mean its a real warning...
>
> It's kernel memory, not user memory. See xs_udp_send_request in
> net/sunrpc.
Ahh, so something like this ought to fix it I think...
Signed-off-by: Peter Zijlstra <a.p.zijlstra@...llo.nl>
---
diff --git a/mm/memory.c b/mm/memory.c
index 7b9db65..a2ed52e 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -3079,6 +3079,9 @@ void print_vma_addr(char *prefix, unsigned long ip)
#ifdef CONFIG_PROVE_LOCKING
void might_fault(void)
{
+ if (get_fs() == KERNEL_DS)
+ return;
+
might_sleep();
/*
* it would be nicer only to annotate paths which are not under
--
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