Re: 2.6.7-mm7

Andrew Morton
2004-07-11T04:41:56Z

Dax Kelson <dax@gurulabs.com> wrote:
>
> On Fri, 2004-07-09 at 00:50, Andrew Morton wrote:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.7/2.6.7-mm7/
>
> My logs are full of:
>
> Debug: sleeping function called from invalid context at include/asm/uaccess.h:471
> in_atomic():1, irqs_disabled():0
> [<c01195cf>] __might_sleep+0x9f/0xb0
> [<c01351a7>] __filemap_copy_from_user_iovec+0x57/0xd0
> [<c013583f>] generic_file_aio_write_nolock+0x61f/0x9e0
> [<c027428e>] sock_recvmsg+0xce/0xd0
> [<c02d3136>] schedule+0x286/0x4f0
> [<c0273f96>] sockfd_lookup+0x16/0x80
> [<c0135c5a>] generic_file_write_nolock+0x5a/0x80
> [<c015f71a>] do_select+0x18a/0x2b0
> [<c0135e64>] generic_file_writev+0x54/0x80
> [<c0135e10>] generic_file_writev+0x0/0x80
> [<c014ed83>] do_readv_writev+0x1e3/0x230
> [<c014e7e0>] do_sync_write+0x0/0xa0
> [<c0275e74>] sys_socketcall+0x154/0x250
> [<c014ee69>] vfs_writev+0x49/0x60

yup, the testing level on that one was pretty bad, sorry. You'll need this:

--- 25/mm/filemap.c~add-a-few-might_sleep-checks-fix 2004-07-09 02:23:52.447034064 -0700
+++ 25-akpm/mm/filemap.c 2004-07-09 02:23:52.452033304 -0700
@@ -1663,7 +1663,7 @@ __filemap_copy_from_user_iovec(char *vad
int copy = min(bytes, iov->iov_len - base);

base = 0;
- left = __copy_from_user(vaddr, buf, copy);
+ left = __copy_from_user_inatomic(vaddr, buf, copy);
copied += copy;
bytes -= copy;
vaddr += copy;
_