* WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
@ 2013-05-10 21:52 Toralf Förster
2013-05-11 8:19 ` Toralf Förster
2013-05-11 8:20 ` [uml-user] " richard -rw- weinberger
0 siblings, 2 replies; 16+ messages in thread
From: Toralf Förster @ 2013-05-10 21:52 UTC (permalink / raw)
To: linux-mm; +Cc: user-mode-linux-user@lists.sourceforge.net
The bisected commit introduced this WARNING: on a user mode linux guest
if the UML guest is fuzz tested with trinity :
2013-05-10T22:38:42.191+02:00 trinity kernel: ------------[ cut here ]------------
2013-05-10T22:38:42.191+02:00 trinity kernel: WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fda8: [<08336928>] dump_stack+0x22/0x24
2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fdc0: [<0807c2da>] warn_slowpath_common+0x5a/0x80
2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fde8: [<0807c3a3>] warn_slowpath_null+0x23/0x30
2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fdf8: [<080dfc93>] kmalloc_slab+0x33/0x80
2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fe0c: [<080f8beb>] __kmalloc_track_caller+0x1b/0x110
2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fe30: [<080dc866>] memdup_user+0x26/0x70
2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fe4c: [<080dca6e>] strndup_user+0x3e/0x60
2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fe68: [<0811ba60>] copy_mount_string+0x30/0x50
2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2fe7c: [<0811c46a>] sys_mount+0x1a/0xe0
2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2feac: [<08062b32>] handle_syscall+0x82/0xb0
2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2fef4: [<0807520d>] userspace+0x46d/0x590
2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2ffec: [<0805f7fc>] fork_handler+0x6c/0x70
2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2fffc: [<00000000>] 0x0
2013-05-10T22:38:42.195+02:00 trinity kernel:
2013-05-10T22:38:42.195+02:00 trinity kernel: ---[ end trace 17e5931469d0697d ]---
Tested with host kernel 3.9.1, host and client were 32bit stable Gentoo Linux.
6286ae97d10ea2b5cd90532163797ab217bfdbdf is the first bad commit
commit 6286ae97d10ea2b5cd90532163797ab217bfdbdf
Author: Christoph Lameter <cl@linux.com>
Date: Fri May 3 15:43:18 2013 +0000
slab: Return NULL for oversized allocations
The inline path seems to have changed the SLAB behavior for very large
kmalloc allocations with commit e3366016 ("slab: Use common
kmalloc_index/kmalloc_size functions"). This patch restores the old
behavior but also adds diagnostics so that we can figure where in the
code these large allocations occur.
Reported-and-tested-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Christoph Lameter <cl@linux.com>
Link: http://lkml.kernel.org/r/201305040348.CIF81716.OStQOHFJMFLOVF@I-love.SAKURA.ne.jp
[ penberg@kernel.org: use WARN_ON_ONCE ]
Signed-off-by: Pekka Enberg <penberg@kernel.org>
-- MfG/Sincerely
Toralf FA?rster
pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-10 21:52 WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80() Toralf Förster
@ 2013-05-11 8:19 ` Toralf Förster
2013-05-11 8:20 ` [uml-user] " richard -rw- weinberger
1 sibling, 0 replies; 16+ messages in thread
From: Toralf Förster @ 2013-05-11 8:19 UTC (permalink / raw)
To: linux-mm; +Cc: user-mode-linux-user@lists.sourceforge.net
On 05/10/2013 11:52 PM, Toralf FA?rster wrote:
> The bisected commit introduced this WARNING: on a user mode linux guest
> if the UML guest is fuzz tested with trinity :
Well, the behaviour is much older, a test with an UML guest kernel 3.7.10 showed a similar thing :
Sry for the noise.
2013-05-11T10:16:30.841+02:00 trinity kernel: ------------[ cut here ]------------
2013-05-11T10:16:30.841+02:00 trinity kernel: WARNING: at mm/page_alloc.c:2384 __alloc_pages_nodemask+0x13c/0x740()
2013-05-11T10:16:30.841+02:00 trinity kernel: 3fda7d10: [<08332bd8>] dump_stack+0x22/0x24
2013-05-11T10:16:30.841+02:00 trinity kernel: 3fda7d28: [<0807d6ca>] warn_slowpath_common+0x5a/0x80
2013-05-11T10:16:30.841+02:00 trinity kernel: 3fda7d50: [<0807d793>] warn_slowpath_null+0x23/0x30
2013-05-11T10:16:30.841+02:00 trinity kernel: 3fda7d60: [<080d43ac>] __alloc_pages_nodemask+0x13c/0x740
2013-05-11T10:16:30.841+02:00 trinity kernel: 3fda7df0: [<080d49d8>] __get_free_pages+0x28/0x50
2013-05-11T10:16:30.841+02:00 trinity kernel: 3fda7e08: [<080fc28d>] __kmalloc_track_caller+0x3d/0x170
2013-05-11T10:16:30.841+02:00 trinity kernel: 3fda7e30: [<080dfbe6>] memdup_user+0x26/0x70
2013-05-11T10:16:30.841+02:00 trinity kernel: 3fda7e4c: [<080dfdee>] strndup_user+0x3e/0x60
2013-05-11T10:16:30.856+02:00 trinity kernel: 3fda7e68: [<0811ae70>] copy_mount_string+0x30/0x50
2013-05-11T10:16:30.856+02:00 trinity kernel: 3fda7e7c: [<0811b6ba>] sys_mount+0x1a/0xe0
2013-05-11T10:16:30.856+02:00 trinity kernel: 3fda7eac: [<08062c32>] handle_syscall+0x82/0xb0
2013-05-11T10:16:30.856+02:00 trinity kernel: 3fda7ef4: [<0807503d>] userspace+0x46d/0x590
2013-05-11T10:16:30.856+02:00 trinity kernel: 3fda7fec: [<0805f80c>] fork_handler+0x6c/0x70
2013-05-11T10:16:30.856+02:00 trinity kernel: 3fda7ffc: [<00000000>] 0x0
2013-05-11T10:16:30.856+02:00 trinity kernel:
2013-05-11T10:16:30.856+02:00 trinity kernel: ---[ end trace db5193a4984ce93f ]---
--
MfG/Sincerely
Toralf FA?rster
pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-10 21:52 WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80() Toralf Förster
2013-05-11 8:19 ` Toralf Förster
@ 2013-05-11 8:20 ` richard -rw- weinberger
2013-05-11 8:36 ` [uml-devel] Fwd: " Toralf Förster
1 sibling, 1 reply; 16+ messages in thread
From: richard -rw- weinberger @ 2013-05-11 8:20 UTC (permalink / raw)
To: Toralf Förster
Cc: linux-mm@kvack.org, user-mode-linux-user@lists.sourceforge.net
On Fri, May 10, 2013 at 11:52 PM, Toralf Förster <toralf.foerster@gmx.de> wrote:
> The bisected commit introduced this WARNING: on a user mode linux guest
> if the UML guest is fuzz tested with trinity :
>
>
> 2013-05-10T22:38:42.191+02:00 trinity kernel: ------------[ cut here ]------------
> 2013-05-10T22:38:42.191+02:00 trinity kernel: WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fda8: [<08336928>] dump_stack+0x22/0x24
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fdc0: [<0807c2da>] warn_slowpath_common+0x5a/0x80
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fde8: [<0807c3a3>] warn_slowpath_null+0x23/0x30
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fdf8: [<080dfc93>] kmalloc_slab+0x33/0x80
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fe0c: [<080f8beb>] __kmalloc_track_caller+0x1b/0x110
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fe30: [<080dc866>] memdup_user+0x26/0x70
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fe4c: [<080dca6e>] strndup_user+0x3e/0x60
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fe68: [<0811ba60>] copy_mount_string+0x30/0x50
> 2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2fe7c: [<0811c46a>] sys_mount+0x1a/0xe0
> 2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2feac: [<08062b32>] handle_syscall+0x82/0xb0
> 2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2fef4: [<0807520d>] userspace+0x46d/0x590
> 2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2ffec: [<0805f7fc>] fork_handler+0x6c/0x70
> 2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2fffc: [<00000000>] 0x0
> 2013-05-10T22:38:42.195+02:00 trinity kernel:
> 2013-05-10T22:38:42.195+02:00 trinity kernel: ---[ end trace 17e5931469d0697d ]---
>
>
> Tested with host kernel 3.9.1, host and client were 32bit stable Gentoo Linux.
>
>
> 6286ae97d10ea2b5cd90532163797ab217bfdbdf is the first bad commit
> commit 6286ae97d10ea2b5cd90532163797ab217bfdbdf
> Author: Christoph Lameter <cl@linux.com>
> Date: Fri May 3 15:43:18 2013 +0000
>
> slab: Return NULL for oversized allocations
>
> The inline path seems to have changed the SLAB behavior for very large
> kmalloc allocations with commit e3366016 ("slab: Use common
> kmalloc_index/kmalloc_size functions"). This patch restores the old
> behavior but also adds diagnostics so that we can figure where in the
> code these large allocations occur.
>
> Reported-and-tested-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
> Signed-off-by: Christoph Lameter <cl@linux.com>
> Link: http://lkml.kernel.org/r/201305040348.CIF81716.OStQOHFJMFLOVF@I-love.SAKURA.ne.jp
> [ penberg@kernel.org: use WARN_ON_ONCE ]
> Signed-off-by: Pekka Enberg <penberg@kernel.org>
>
So, we trigger "if (WARN_ON_ONCE(size > KMALLOC_MAX_SIZE))".
Now I'm wondering what kind of argument string trinity gave to mount().
How long is it?
BTW: Toralf, why are you sending this to user-mode-linux-*user*@lists...?
We also have a -devel list. Please at least CC me.
Otherwise it is most likely that I miss such reports...
--
Thanks,
//richard
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [uml-devel] Fwd: Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11 8:20 ` [uml-user] " richard -rw- weinberger
@ 2013-05-11 8:36 ` Toralf Förster
2013-05-11 8:47 ` richard -rw- weinberger
0 siblings, 1 reply; 16+ messages in thread
From: Toralf Förster @ 2013-05-11 8:36 UTC (permalink / raw)
To: Dave Jones, user-mode-linux-devel
Dave,
can you pls answer to Richards question:
So, we trigger "if (WARN_ON_ONCE(size > KMALLOC_MAX_SIZE))".
Now I'm wondering what kind of argument string trinity gave to mount().
How long is it?
-------- Original Message --------
Subject: Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
Date: Sat, 11 May 2013 10:20:05 +0200
From: richard -rw- weinberger <richard.weinberger@gmail.com>
To: Toralf Förster <toralf.foerster@gmx.de>
CC: linux-mm@kvack.org <linux-mm@kvack.org>, user-mode-linux-user@lists.sourceforge.net <user-mode-linux-user@lists.sourceforge.net>
On Fri, May 10, 2013 at 11:52 PM, Toralf Förster <toralf.foerster@gmx.de> wrote:
> The bisected commit introduced this WARNING: on a user mode linux guest
> if the UML guest is fuzz tested with trinity :
>
>
> 2013-05-10T22:38:42.191+02:00 trinity kernel: ------------[ cut here ]------------
> 2013-05-10T22:38:42.191+02:00 trinity kernel: WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fda8: [<08336928>] dump_stack+0x22/0x24
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fdc0: [<0807c2da>] warn_slowpath_common+0x5a/0x80
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fde8: [<0807c3a3>] warn_slowpath_null+0x23/0x30
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fdf8: [<080dfc93>] kmalloc_slab+0x33/0x80
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fe0c: [<080f8beb>] __kmalloc_track_caller+0x1b/0x110
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fe30: [<080dc866>] memdup_user+0x26/0x70
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fe4c: [<080dca6e>] strndup_user+0x3e/0x60
> 2013-05-10T22:38:42.191+02:00 trinity kernel: 40e2fe68: [<0811ba60>] copy_mount_string+0x30/0x50
> 2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2fe7c: [<0811c46a>] sys_mount+0x1a/0xe0
> 2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2feac: [<08062b32>] handle_syscall+0x82/0xb0
> 2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2fef4: [<0807520d>] userspace+0x46d/0x590
> 2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2ffec: [<0805f7fc>] fork_handler+0x6c/0x70
> 2013-05-10T22:38:42.195+02:00 trinity kernel: 40e2fffc: [<00000000>] 0x0
> 2013-05-10T22:38:42.195+02:00 trinity kernel:
> 2013-05-10T22:38:42.195+02:00 trinity kernel: ---[ end trace 17e5931469d0697d ]---
>
>
> Tested with host kernel 3.9.1, host and client were 32bit stable Gentoo Linux.
>
>
> 6286ae97d10ea2b5cd90532163797ab217bfdbdf is the first bad commit
> commit 6286ae97d10ea2b5cd90532163797ab217bfdbdf
> Author: Christoph Lameter <cl@linux.com>
> Date: Fri May 3 15:43:18 2013 +0000
>
> slab: Return NULL for oversized allocations
>
> The inline path seems to have changed the SLAB behavior for very large
> kmalloc allocations with commit e3366016 ("slab: Use common
> kmalloc_index/kmalloc_size functions"). This patch restores the old
> behavior but also adds diagnostics so that we can figure where in the
> code these large allocations occur.
>
> Reported-and-tested-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
> Signed-off-by: Christoph Lameter <cl@linux.com>
> Link: http://lkml.kernel.org/r/201305040348.CIF81716.OStQOHFJMFLOVF@I-love.SAKURA.ne.jp
> [ penberg@kernel.org: use WARN_ON_ONCE ]
> Signed-off-by: Pekka Enberg <penberg@kernel.org>
>
So, we trigger "if (WARN_ON_ONCE(size > KMALLOC_MAX_SIZE))".
Now I'm wondering what kind of argument string trinity gave to mount().
How long is it?
BTW: Toralf, why are you sending this to user-mode-linux-*user*@lists...?
We also have a -devel list. Please at least CC me.
Otherwise it is most likely that I miss such reports...
--
Thanks,
//richard
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [uml-devel] Fwd: Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11 8:36 ` [uml-devel] Fwd: " Toralf Förster
@ 2013-05-11 8:47 ` richard -rw- weinberger
2013-05-11 9:51 ` Toralf Förster
0 siblings, 1 reply; 16+ messages in thread
From: richard -rw- weinberger @ 2013-05-11 8:47 UTC (permalink / raw)
To: Toralf Förster
Cc: Dave Jones, user-mode-linux-devel@lists.sourceforge.net
On Sat, May 11, 2013 at 10:36 AM, Toralf Förster <toralf.foerster@gmx.de> wrote:
>
> Dave,
>
> can you pls answer to Richards question:
>
> So, we trigger "if (WARN_ON_ONCE(size > KMALLOC_MAX_SIZE))".
> Now I'm wondering what kind of argument string trinity gave to mount().
> How long is it?
Hehe, it's not that easy.
We have to find out.
Can you please add a printk() into copy_mount_string() which prints out
the string size?
--
Thanks,
//richard
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [uml-devel] Fwd: Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11 8:47 ` richard -rw- weinberger
@ 2013-05-11 9:51 ` Toralf Förster
2013-05-11 11:01 ` Sergei Trofimovich
0 siblings, 1 reply; 16+ messages in thread
From: Toralf Förster @ 2013-05-11 9:51 UTC (permalink / raw)
To: richard -rw- weinberger
Cc: Dave Jones, user-mode-linux-devel@lists.sourceforge.net
On 05/11/2013 10:47 AM, richard -rw- weinberger wrote:
> On Sat, May 11, 2013 at 10:36 AM, Toralf Förster <toralf.foerster@gmx.de> wrote:
>>
>> Dave,
>>
>> can you pls answer to Richards question:
>>
>> So, we trigger "if (WARN_ON_ONCE(size > KMALLOC_MAX_SIZE))".
>> Now I'm wondering what kind of argument string trinity gave to mount().
>> How long is it?
>
> Hehe, it's not that easy.
> We have to find out.
> Can you please add a printk() into copy_mount_string() which prints out
> the string size?
With this change:
diff --git a/fs/namespace.c b/fs/namespace.c
index 7b1ca9b..289211d 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -2236,6 +2236,8 @@ int copy_mount_string(const void __user *data, char **where)
return 0;
}
+ printk(" here: size is %ul\n", (unsigned long)data);
+
tmp = strndup_user(data, PAGE_SIZE);
if (IS_ERR(tmp))
return PTR_ERR(tmp);
>
> --
> Thanks,
> //richard
>
I get :
2013-05-11T11:51:00.551+02:00 trinity kernel: Adding 262140k swap on /dev/mapper/crypt-swap. Priority:-1 extents:1 across:262140k FS
2013-05-11T11:51:00.551+02:00 trinity kernel: here: size is 134565664l
2013-05-11T11:51:00.551+02:00 trinity kernel: here: size is 134565632l
2013-05-11T11:51:00.551+02:00 trinity kernel: here: size is 134564296l
2013-05-11T11:51:00.551+02:00 trinity kernel: here: size is 134564312l
2013-05-11T11:51:00.000+02:00 trinity haveged: haveged starting up
2013-05-11T11:51:00.000+02:00 trinity haveged: haveged: Completed tot procedure B after 1172535 bytes
2013-05-11T11:51:01.000+02:00 trinity haveged: haveged: Completed tot procedure A after 1035716 bytes
2013-05-11T11:51:01.000+02:00 trinity haveged: haveged: version: 1.5; arch: x86; vendor: GenuineIntel; cores: 1/1, buffer: 128
2013-05-11T11:51:01.000+02:00 trinity haveged: haveged: d_cache: 32K (000020), i_cache: 32K (000020), i_index: 19/40, i_size: 32653/60731
2013-05-11T11:51:01.000+02:00 trinity haveged: haveged: tot tests: BA8, continuous tests: B
2013-05-11T11:51:01.000+02:00 trinity dhcpcd[777]: version 5.6.4 starting
2013-05-11T11:51:01.000+02:00 trinity dhcpcd[777]: ipv6_open: Address family not supported by protocol
2013-05-11T11:51:01.000+02:00 trinity haveged: haveged: Completed continuous procedure B after 1172535 bytes
2013-05-11T11:51:01.000+02:00 trinity dhcpcd[777]: eth0: rebinding lease of 192.168.1.63
2013-05-11T11:51:01.000+02:00 trinity dhcpcd[777]: eth0: acknowledged 192.168.1.63 from 192.168.0.254
2013-05-11T11:51:01.000+02:00 trinity dhcpcd[777]: eth0: checking for 192.168.1.63
2013-05-11T11:51:06.000+02:00 trinity dhcpcd[777]: eth0: leased 192.168.1.63 for infinity
2013-05-11T11:51:07.000+02:00 trinity dhcpcd[777]: forked to background, child pid 811
2013-05-11T11:51:09.000+02:00 trinity cron[855]: (CRON) STARTUP (V5.0)
2013-05-11T11:51:10.097+02:00 trinity kernel: Virtual console 1 assigned device '/dev/pts/6'
2013-05-11T11:51:14.000+02:00 trinity sshd[874]: pam_unix(sshd:session): session opened for user tfoerste by (uid=0)
2013-05-11T11:51:16.344+02:00 trinity kernel: here: size is 139336544l
2013-05-11T11:51:16.344+02:00 trinity kernel: here: size is 139435704l
2013-05-11T11:51:16.478+02:00 trinity kernel: here: size is 135065600l
2013-05-11T11:51:16.478+02:00 trinity kernel: here: size is 139561704l
2013-05-11T11:51:16.478+02:00 trinity kernel: here: size is 4l
2013-05-11T11:51:16.478+02:00 trinity kernel: ------------[ cut here ]------------
2013-05-11T11:51:16.478+02:00 trinity kernel: WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11T11:51:16.478+02:00 trinity kernel: CPU: 0 PID: 880 Comm: trinity-child0 Not tainted 3.9.0-12555-g2dbd3ca-dirty #1
2013-05-11T11:51:16.478+02:00 trinity kernel: 40217da8 40217dd4 0807bfca 083d3e1c 083d85d3 00000178 080e11f3 080e11f3
2013-05-11T11:51:16.478+02:00 trinity kernel: fffffff2 000000d0 00000004 40217de4 0807c093 00000009 00000000 40217df8
2013-05-11T11:51:16.478+02:00 trinity kernel: 080e11f3 083d85d3 00000178 00000000 40217e1c 080fabfb fffffff2 000000d0 40217d7c: [<08060cff>] show_stack+0xcf/0x100
2013-05-11T11:51:16.478+02:00 trinity kernel: 40217da0: [<0835d5ca>] dump_stack+0x26/0x28
2013-05-11T11:51:16.484+02:00 trinity kernel: 40217db0: [<0807bfca>] warn_slowpath_common+0x5a/0x80
2013-05-11T11:51:16.484+02:00 trinity kernel: 40217dd8: [<0807c093>] warn_slowpath_null+0x23/0x30
2013-05-11T11:51:16.484+02:00 trinity kernel: 40217de8: [<080e11f3>] kmalloc_slab+0x33/0x80
2013-05-11T11:51:16.484+02:00 trinity kernel: 40217dfc: [<080fabfb>] __kmalloc_track_caller+0x1b/0x110
2013-05-11T11:51:16.484+02:00 trinity kernel: 40217e20: [<080de1a6>] memdup_user+0x26/0x70
2013-05-11T11:51:16.484+02:00 trinity kernel: 40217e3c: [<080de3ae>] strndup_user+0x3e/0x60
2013-05-11T11:51:16.484+02:00 trinity kernel: 40217e58: [<0811dcd0>] copy_mount_string+0x40/0x60
2013-05-11T11:51:16.484+02:00 trinity kernel: 40217e70: [<0811e6f0>] SyS_mount+0x30/0xf0
2013-05-11T11:51:16.484+02:00 trinity kernel: 40217eac: [<08062ac2>] handle_syscall+0x82/0xb0
2013-05-11T11:51:16.484+02:00 trinity kernel: 40217ef4: [<0807519d>] userspace+0x46d/0x590
2013-05-11T11:51:16.488+02:00 trinity kernel: 40217fec: [<0805f7fc>] fork_handler+0x6c/0x70
2013-05-11T11:51:16.488+02:00 trinity kernel: 40217ffc: [<00000000>] 0x0
2013-05-11T11:51:16.488+02:00 trinity kernel:
2013-05-11T11:51:16.488+02:00 trinity kernel: ---[ end trace 2972c179d5e65541 ]---
2013-05-11T11:51:16.488+02:00 trinity kernel: here: size is 4l
2013-05-11T11:51:16.488+02:00 trinity kernel: here: size is 135041024l
2013-05-11T11:51:16.488+02:00 trinity kernel: here: size is 1l
2013-05-11T11:51:16.488+02:00 trinity kernel: here: size is 135065600l
2013-05-11T11:51:16.488+02:00 trinity kernel: here: size is 139398224l
2013-05-11T11:51:16.526+02:00 trinity kernel: here: size is 135053312l
--
MfG/Sincerely
Toralf Förster
pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [uml-devel] Fwd: Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11 9:51 ` Toralf Förster
@ 2013-05-11 11:01 ` Sergei Trofimovich
2013-05-11 11:29 ` richard -rw- weinberger
2013-05-11 12:26 ` richard -rw- weinberger
0 siblings, 2 replies; 16+ messages in thread
From: Sergei Trofimovich @ 2013-05-11 11:01 UTC (permalink / raw)
To: Toralf Förster
Cc: Dave Jones, user-mode-linux-devel@lists.sourceforge.net
[-- Attachment #1.1: Type: text/plain, Size: 750 bytes --]
> With this change:
>
> diff --git a/fs/namespace.c b/fs/namespace.c
> index 7b1ca9b..289211d 100644
> --- a/fs/namespace.c
> +++ b/fs/namespace.c
> @@ -2236,6 +2236,8 @@ int copy_mount_string(const void __user *data, char **where)
> return 0;
> }
>
> + printk(" here: size is %ul\n", (unsigned long)data);
Be careful, it's long->int truncation. I guess you want '%lu' instead of '%ul'.
> 2013-05-11T11:51:00.551+02:00 trinity kernel: here: size is 134565664l
> 2013-05-11T11:51:00.551+02:00 trinity kernel: here: size is 134565632l
> 2013-05-11T11:51:00.551+02:00 trinity kernel: here: size is 134564296l
> 2013-05-11T11:51:00.551+02:00 trinity kernel: here: size is 134564312l
--
Sergei
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
[-- Attachment #2: Type: text/plain, Size: 403 bytes --]
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
[-- Attachment #3: Type: text/plain, Size: 194 bytes --]
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [uml-devel] Fwd: Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11 11:01 ` Sergei Trofimovich
@ 2013-05-11 11:29 ` richard -rw- weinberger
2013-05-11 13:26 ` Sergei Trofimovich
2013-05-11 12:26 ` richard -rw- weinberger
1 sibling, 1 reply; 16+ messages in thread
From: richard -rw- weinberger @ 2013-05-11 11:29 UTC (permalink / raw)
To: Sergei Trofimovich
Cc: Toralf Förster, user-mode-linux-devel@lists.sourceforge.net,
Dave Jones
On Sat, May 11, 2013 at 1:01 PM, Sergei Trofimovich <slyich@gmail.com> wrote:
>> With this change:
>>
>> diff --git a/fs/namespace.c b/fs/namespace.c
>> index 7b1ca9b..289211d 100644
>> --- a/fs/namespace.c
>> +++ b/fs/namespace.c
>> @@ -2236,6 +2236,8 @@ int copy_mount_string(const void __user *data, char **where)
>> return 0;
>> }
>>
>> + printk(" here: size is %ul\n", (unsigned long)data);
>
> Be careful, it's long->int truncation. I guess you want '%lu' instead of '%ul'.
Erm, data is a character array...
--
Thanks,
//richard
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [uml-devel] Fwd: Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11 11:01 ` Sergei Trofimovich
2013-05-11 11:29 ` richard -rw- weinberger
@ 2013-05-11 12:26 ` richard -rw- weinberger
2013-05-11 12:27 ` richard -rw- weinberger
1 sibling, 1 reply; 16+ messages in thread
From: richard -rw- weinberger @ 2013-05-11 12:26 UTC (permalink / raw)
To: Sergei Trofimovich
Cc: Toralf Förster, user-mode-linux-devel@lists.sourceforge.net,
Dave Jones
On Sat, May 11, 2013 at 1:01 PM, Sergei Trofimovich <slyich@gmail.com> wrote:
>> With this change:
>>
>> diff --git a/fs/namespace.c b/fs/namespace.c
>> index 7b1ca9b..289211d 100644
>> --- a/fs/namespace.c
>> +++ b/fs/namespace.c
>> @@ -2236,6 +2236,8 @@ int copy_mount_string(const void __user *data, char **where)
>> return 0;
>> }
>>
>> + printk(" here: size is %ul\n", (unsigned long)data);
>
> Be careful, it's long->int truncation. I guess you want '%lu' instead of '%ul'.
Toralf, please use the attached patch.
Maybe it helps us.
In theory we call kmalloc() with at most PAGE_SIZE, which is okay.
--
Thanks,
//richard
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [uml-devel] Fwd: Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11 12:26 ` richard -rw- weinberger
@ 2013-05-11 12:27 ` richard -rw- weinberger
2013-05-11 13:19 ` Toralf Förster
0 siblings, 1 reply; 16+ messages in thread
From: richard -rw- weinberger @ 2013-05-11 12:27 UTC (permalink / raw)
To: Sergei Trofimovich
Cc: Toralf Förster, user-mode-linux-devel@lists.sourceforge.net,
Dave Jones
[-- Attachment #1: Type: text/plain, Size: 801 bytes --]
On Sat, May 11, 2013 at 2:26 PM, richard -rw- weinberger
<richard.weinberger@gmail.com> wrote:
> On Sat, May 11, 2013 at 1:01 PM, Sergei Trofimovich <slyich@gmail.com> wrote:
>>> With this change:
>>>
>>> diff --git a/fs/namespace.c b/fs/namespace.c
>>> index 7b1ca9b..289211d 100644
>>> --- a/fs/namespace.c
>>> +++ b/fs/namespace.c
>>> @@ -2236,6 +2236,8 @@ int copy_mount_string(const void __user *data, char **where)
>>> return 0;
>>> }
>>>
>>> + printk(" here: size is %ul\n", (unsigned long)data);
>>
>> Be careful, it's long->int truncation. I guess you want '%lu' instead of '%ul'.
>
> Toralf, please use the attached patch.
> Maybe it helps us.
> In theory we call kmalloc() with at most PAGE_SIZE, which is okay.
fixing -ENOATTACHMENT...
--
Thanks,
//richard
[-- Attachment #2: debug.patch --]
[-- Type: application/octet-stream, Size: 1867 bytes --]
diff --git a/fs/namespace.c b/fs/namespace.c
index 7b1ca9b..7f9bf58a 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -2236,7 +2236,7 @@ int copy_mount_string(const void __user *data, char **where)
return 0;
}
- tmp = strndup_user(data, PAGE_SIZE);
+ tmp = strndup_user_debug(data, PAGE_SIZE, true);
if (IS_ERR(tmp))
return PTR_ERR(tmp);
diff --git a/include/linux/string.h b/include/linux/string.h
index ac889c5..3b962b8 100644
--- a/include/linux/string.h
+++ b/include/linux/string.h
@@ -9,6 +9,7 @@
#include <uapi/linux/string.h>
extern char *strndup_user(const char __user *, long);
+extern char *strndup_user_debug(const char __user *, long, bool);
extern void *memdup_user(const void __user *, size_t);
/*
diff --git a/mm/util.c b/mm/util.c
index ab1424d..c95b08c 100644
--- a/mm/util.c
+++ b/mm/util.c
@@ -203,13 +203,16 @@ EXPORT_SYMBOL(kzfree);
* @s: The string to duplicate
* @n: Maximum number of bytes to copy, including the trailing NUL.
*/
-char *strndup_user(const char __user *s, long n)
+char *strndup_user_debug(const char __user *s, long n, bool debug)
{
char *p;
long length;
length = strnlen_user(s, n);
+ if (debug)
+ printk(KERN_ERR "%s: strnlen_user() returned: %li\n", __func__, length);
+
if (!length)
return ERR_PTR(-EFAULT);
@@ -218,6 +221,9 @@ char *strndup_user(const char __user *s, long n)
p = memdup_user(s, length);
+ if (debug)
+ printk(KERN_ERR "%s: calling memdup_user() with length: %li\n", __func__, length);
+
if (IS_ERR(p))
return p;
@@ -225,6 +231,12 @@ char *strndup_user(const char __user *s, long n)
return p;
}
+EXPORT_SYMBOL(strndup_user_debug);
+
+char *strndup_user(const char __user *s, long n)
+{
+ return strndup_user_debug(s, n, false);
+}
EXPORT_SYMBOL(strndup_user);
void __vma_link_list(struct mm_struct *mm, struct vm_area_struct *vma,
[-- Attachment #3: Type: text/plain, Size: 403 bytes --]
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
[-- Attachment #4: Type: text/plain, Size: 194 bytes --]
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [uml-devel] Fwd: Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11 12:27 ` richard -rw- weinberger
@ 2013-05-11 13:19 ` Toralf Förster
2013-05-11 13:26 ` richard -rw- weinberger
0 siblings, 1 reply; 16+ messages in thread
From: Toralf Förster @ 2013-05-11 13:19 UTC (permalink / raw)
To: richard -rw- weinberger
Cc: Dave Jones, user-mode-linux-devel@lists.sourceforge.net
On 05/11/2013 02:27 PM, richard -rw- weinberger wrote:
> On Sat, May 11, 2013 at 2:26 PM, richard -rw- weinberger
> <richard.weinberger@gmail.com> wrote:
>> On Sat, May 11, 2013 at 1:01 PM, Sergei Trofimovic>> Toralf, please use the attached patch.
>> Maybe it helps us.
>> In theory we call kmalloc() with at most PAGE_SIZE, which is okay.
>
> fixing -ENOATTACHMENT...
applying that patch on top of Linus' tree (v3.9-12555-g2dbd3ca) gives :
2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 5
2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 5
2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 12
2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 12
2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 12
2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 12
2013-05-11T15:15:37.000+02:00 trinity haveged: haveged starting up
2013-05-11T15:15:37.000+02:00 trinity haveged: haveged: Completed tot procedure B after 1171643 bytes
2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: version 5.6.4 starting
2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: ipv6_open: Address family not supported by protocol
2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: Completed tot procedure A after 1035716 bytes
2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: version: 1.5; arch: x86; vendor: GenuineIntel; cores: 1/1, buffer: 128
2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: d_cache: 32K (000020), i_cache: 32K (000020), i_index: 19/40, i_size: 32653/60731
2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: tot tests: BA8, continuous tests: B
2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: Completed continuous procedure B after 1171643 bytes
2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: eth0: rebinding lease of 192.168.1.63
2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: eth0: acknowledged 192.168.1.63 from 192.168.0.254
2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: eth0: checking for 192.168.1.63
2013-05-11T15:15:43.000+02:00 trinity dhcpcd[777]: eth0: leased 192.168.1.63 for infinity
2013-05-11T15:15:43.000+02:00 trinity dhcpcd[777]: forked to background, child pid 811
2013-05-11T15:15:44.000+02:00 trinity cron[855]: (CRON) STARTUP (V5.0)
2013-05-11T15:15:44.944+02:00 trinity kernel: Virtual console 1 assigned device '/dev/pts/6'
2013-05-11T15:16:01.000+02:00 trinity sshd[874]: pam_unix(sshd:session): session opened for user tfoerste by (uid=0)
2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 1
2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 1
2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 25
2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 25
2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: -14
2013-05-11T15:16:02.827+02:00 trinity kernel: ------------[ cut here ]------------
2013-05-11T15:16:02.827+02:00 trinity kernel: WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11T15:16:02.827+02:00 trinity kernel: CPU: 0 PID: 880 Comm: trinity-child0 Not tainted 3.9.0-12555-g2dbd3ca-dirty #1
2013-05-11T15:16:02.827+02:00 trinity kernel: 40db7da0 40db7dcc 0807bfca 083d3e6c 083d8623 00000178 080e1273 080e1273
2013-05-11T15:16:02.827+02:00 trinity kernel: ffffffea 000000d0 00001000 40db7ddc 0807c093 00000009 00000000 40db7df0
2013-05-11T15:16:02.835+02:00 trinity kernel: 080e1273 083d8623 00000178 00000000 40db7e14 080fac7b fffffff2 000000d0 40db7d74: [<08060cff>] show_stack+0xcf/0x100
2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7d98: [<0835d63a>] dump_stack+0x26/0x28
2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7da8: [<0807bfca>] warn_slowpath_common+0x5a/0x80
2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7dd0: [<0807c093>] warn_slowpath_null+0x23/0x30
2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7de0: [<080e1273>] kmalloc_slab+0x33/0x80
2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7df4: [<080fac7b>] __kmalloc_track_caller+0x1b/0x110
2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7e18: [<080de1a6>] memdup_user+0x26/0x70
2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7e34: [<080de3de>] strndup_user_debug+0x6e/0xb0
2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7e58: [<0811dd48>] copy_mount_string+0x38/0x50
2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7e70: [<0811e760>] SyS_mount+0x30/0xf0
2013-05-11T15:16:02.842+02:00 trinity kernel: 40db7eac: [<08062ac2>] handle_syscall+0x82/0xb0
2013-05-11T15:16:02.842+02:00 trinity kernel: 40db7ef4: [<0807519d>] userspace+0x46d/0x590
2013-05-11T15:16:02.842+02:00 trinity kernel: 40db7fec: [<0805f7fc>] fork_handler+0x6c/0x70
2013-05-11T15:16:02.842+02:00 trinity kernel: 40db7ffc: [<00000000>] 0x0
2013-05-11T15:16:02.842+02:00 trinity kernel:
2013-05-11T15:16:02.842+02:00 trinity kernel: ---[ end trace 06fc96a70dca162e ]---
2013-05-11T15:16:02.842+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: -14
2013-05-11T15:16:02.842+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: -14
2013-05-11T15:16:02.842+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: -14
2013-05-11T15:16:02.842+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 16
2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 16
2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 1
2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 1
2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 70
2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 70
2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: -14
2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: -14
--
MfG/Sincerely
Toralf Förster
pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [uml-devel] Fwd: Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11 11:29 ` richard -rw- weinberger
@ 2013-05-11 13:26 ` Sergei Trofimovich
0 siblings, 0 replies; 16+ messages in thread
From: Sergei Trofimovich @ 2013-05-11 13:26 UTC (permalink / raw)
To: richard -rw- weinberger
Cc: Toralf Förster, user-mode-linux-devel@lists.sourceforge.net,
Dave Jones
[-- Attachment #1.1: Type: text/plain, Size: 1388 bytes --]
On Sat, 11 May 2013 13:29:23 +0200
richard -rw- weinberger <richard.weinberger@gmail.com> wrote:
> On Sat, May 11, 2013 at 1:01 PM, Sergei Trofimovich <slyich@gmail.com> wrote:
> >> With this change:
> >>
> >> diff --git a/fs/namespace.c b/fs/namespace.c
> >> index 7b1ca9b..289211d 100644
> >> --- a/fs/namespace.c
> >> +++ b/fs/namespace.c
> >> @@ -2236,6 +2236,8 @@ int copy_mount_string(const void __user *data, char **where)
> >> return 0;
> >> }
> >>
> >> + printk(" here: size is %ul\n", (unsigned long)data);
> >
> > Be careful, it's long->int truncation. I guess you want '%lu' instead of '%ul'.
>
> Erm, data is a character array...
Gah, sorry!
Toralf, it's better to use strnlen_user for it:
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -2230,12 +2230,16 @@ int copy_mount_options(const void __user * data, unsigned long *where)
int copy_mount_string(const void __user *data, char **where)
{
char *tmp;
+ long data_len;
if (!data) {
*where = NULL;
return 0;
}
+ data_len = strnlen_user (data, (long)(~0ul >> 1) /* LONG_MAX */);
+ printk("%s: __user * data size is %lu\n", __func__, data_len);
+
tmp = strndup_user(data, PAGE_SIZE);
if (IS_ERR(tmp))
return PTR_ERR(tmp);
--
Sergei
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
[-- Attachment #2: Type: text/plain, Size: 403 bytes --]
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
[-- Attachment #3: Type: text/plain, Size: 194 bytes --]
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [uml-devel] Fwd: Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11 13:19 ` Toralf Förster
@ 2013-05-11 13:26 ` richard -rw- weinberger
2013-05-11 13:37 ` richard -rw- weinberger
2013-05-11 13:48 ` Toralf Förster
0 siblings, 2 replies; 16+ messages in thread
From: richard -rw- weinberger @ 2013-05-11 13:26 UTC (permalink / raw)
To: Toralf Förster
Cc: Dave Jones, user-mode-linux-devel@lists.sourceforge.net
[-- Attachment #1: Type: text/plain, Size: 6803 bytes --]
On Sat, May 11, 2013 at 3:19 PM, Toralf Förster <toralf.foerster@gmx.de> wrote:
> On 05/11/2013 02:27 PM, richard -rw- weinberger wrote:
>> On Sat, May 11, 2013 at 2:26 PM, richard -rw- weinberger
>> <richard.weinberger@gmail.com> wrote:
>>> On Sat, May 11, 2013 at 1:01 PM, Sergei Trofimovic>> Toralf, please use the attached patch.
>>> Maybe it helps us.
>>> In theory we call kmalloc() with at most PAGE_SIZE, which is okay.
>>
>> fixing -ENOATTACHMENT...
>
> applying that patch on top of Linus' tree (v3.9-12555-g2dbd3ca) gives :
>
>
> 2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 5
> 2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 5
> 2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 12
> 2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 12
> 2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 12
> 2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 12
> 2013-05-11T15:15:37.000+02:00 trinity haveged: haveged starting up
> 2013-05-11T15:15:37.000+02:00 trinity haveged: haveged: Completed tot procedure B after 1171643 bytes
> 2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: version 5.6.4 starting
> 2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: ipv6_open: Address family not supported by protocol
> 2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: Completed tot procedure A after 1035716 bytes
> 2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: version: 1.5; arch: x86; vendor: GenuineIntel; cores: 1/1, buffer: 128
> 2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: d_cache: 32K (000020), i_cache: 32K (000020), i_index: 19/40, i_size: 32653/60731
> 2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: tot tests: BA8, continuous tests: B
> 2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: Completed continuous procedure B after 1171643 bytes
> 2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: eth0: rebinding lease of 192.168.1.63
> 2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: eth0: acknowledged 192.168.1.63 from 192.168.0.254
> 2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: eth0: checking for 192.168.1.63
> 2013-05-11T15:15:43.000+02:00 trinity dhcpcd[777]: eth0: leased 192.168.1.63 for infinity
> 2013-05-11T15:15:43.000+02:00 trinity dhcpcd[777]: forked to background, child pid 811
> 2013-05-11T15:15:44.000+02:00 trinity cron[855]: (CRON) STARTUP (V5.0)
> 2013-05-11T15:15:44.944+02:00 trinity kernel: Virtual console 1 assigned device '/dev/pts/6'
> 2013-05-11T15:16:01.000+02:00 trinity sshd[874]: pam_unix(sshd:session): session opened for user tfoerste by (uid=0)
> 2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 1
> 2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 1
> 2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 25
> 2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 25
> 2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: -14
> 2013-05-11T15:16:02.827+02:00 trinity kernel: ------------[ cut here ]------------
> 2013-05-11T15:16:02.827+02:00 trinity kernel: WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
> 2013-05-11T15:16:02.827+02:00 trinity kernel: CPU: 0 PID: 880 Comm: trinity-child0 Not tainted 3.9.0-12555-g2dbd3ca-dirty #1
> 2013-05-11T15:16:02.827+02:00 trinity kernel: 40db7da0 40db7dcc 0807bfca 083d3e6c 083d8623 00000178 080e1273 080e1273
> 2013-05-11T15:16:02.827+02:00 trinity kernel: ffffffea 000000d0 00001000 40db7ddc 0807c093 00000009 00000000 40db7df0
> 2013-05-11T15:16:02.835+02:00 trinity kernel: 080e1273 083d8623 00000178 00000000 40db7e14 080fac7b fffffff2 000000d0 40db7d74: [<08060cff>] show_stack+0xcf/0x100
> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7d98: [<0835d63a>] dump_stack+0x26/0x28
> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7da8: [<0807bfca>] warn_slowpath_common+0x5a/0x80
> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7dd0: [<0807c093>] warn_slowpath_null+0x23/0x30
> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7de0: [<080e1273>] kmalloc_slab+0x33/0x80
> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7df4: [<080fac7b>] __kmalloc_track_caller+0x1b/0x110
> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7e18: [<080de1a6>] memdup_user+0x26/0x70
> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7e34: [<080de3de>] strndup_user_debug+0x6e/0xb0
> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7e58: [<0811dd48>] copy_mount_string+0x38/0x50
> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7e70: [<0811e760>] SyS_mount+0x30/0xf0
> 2013-05-11T15:16:02.842+02:00 trinity kernel: 40db7eac: [<08062ac2>] handle_syscall+0x82/0xb0
> 2013-05-11T15:16:02.842+02:00 trinity kernel: 40db7ef4: [<0807519d>] userspace+0x46d/0x590
> 2013-05-11T15:16:02.842+02:00 trinity kernel: 40db7fec: [<0805f7fc>] fork_handler+0x6c/0x70
> 2013-05-11T15:16:02.842+02:00 trinity kernel: 40db7ffc: [<00000000>] 0x0
> 2013-05-11T15:16:02.842+02:00 trinity kernel:
> 2013-05-11T15:16:02.842+02:00 trinity kernel: ---[ end trace 06fc96a70dca162e ]---
> 2013-05-11T15:16:02.842+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: -14
> 2013-05-11T15:16:02.842+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: -14
> 2013-05-11T15:16:02.842+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: -14
> 2013-05-11T15:16:02.842+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 16
> 2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 16
> 2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 1
> 2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 1
> 2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 70
> 2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 70
> 2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: -14
> 2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: -14
>
> --
> MfG/Sincerely
> Toralf Förster
> pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3
Does the attached patch fix the problem?
--
Thanks,
//richard
[-- Attachment #2: test.patch --]
[-- Type: application/octet-stream, Size: 282 bytes --]
diff --git a/mm/util.c b/mm/util.c
index ab1424d..c4eb439 100644
--- a/mm/util.c
+++ b/mm/util.c
@@ -210,7 +210,7 @@ char *strndup_user(const char __user *s, long n)
length = strnlen_user(s, n);
- if (!length)
+ if (length < 1)
return ERR_PTR(-EFAULT);
if (length > n)
[-- Attachment #3: Type: text/plain, Size: 403 bytes --]
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
[-- Attachment #4: Type: text/plain, Size: 194 bytes --]
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [uml-devel] Fwd: Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11 13:26 ` richard -rw- weinberger
@ 2013-05-11 13:37 ` richard -rw- weinberger
2013-05-11 13:51 ` Toralf Förster
2013-05-11 13:48 ` Toralf Förster
1 sibling, 1 reply; 16+ messages in thread
From: richard -rw- weinberger @ 2013-05-11 13:37 UTC (permalink / raw)
To: Toralf Förster
Cc: Dave Jones, user-mode-linux-devel@lists.sourceforge.net
[-- Attachment #1: Type: text/plain, Size: 7074 bytes --]
On Sat, May 11, 2013 at 3:26 PM, richard -rw- weinberger
<richard.weinberger@gmail.com> wrote:
> On Sat, May 11, 2013 at 3:19 PM, Toralf Förster <toralf.foerster@gmx.de> wrote:
>> On 05/11/2013 02:27 PM, richard -rw- weinberger wrote:
>>> On Sat, May 11, 2013 at 2:26 PM, richard -rw- weinberger
>>> <richard.weinberger@gmail.com> wrote:
>>>> On Sat, May 11, 2013 at 1:01 PM, Sergei Trofimovic>> Toralf, please use the attached patch.
>>>> Maybe it helps us.
>>>> In theory we call kmalloc() with at most PAGE_SIZE, which is okay.
>>>
>>> fixing -ENOATTACHMENT...
>>
>> applying that patch on top of Linus' tree (v3.9-12555-g2dbd3ca) gives :
>>
>>
>> 2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 5
>> 2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 5
>> 2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 12
>> 2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 12
>> 2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 12
>> 2013-05-11T15:15:37.166+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 12
>> 2013-05-11T15:15:37.000+02:00 trinity haveged: haveged starting up
>> 2013-05-11T15:15:37.000+02:00 trinity haveged: haveged: Completed tot procedure B after 1171643 bytes
>> 2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: version 5.6.4 starting
>> 2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: ipv6_open: Address family not supported by protocol
>> 2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: Completed tot procedure A after 1035716 bytes
>> 2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: version: 1.5; arch: x86; vendor: GenuineIntel; cores: 1/1, buffer: 128
>> 2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: d_cache: 32K (000020), i_cache: 32K (000020), i_index: 19/40, i_size: 32653/60731
>> 2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: tot tests: BA8, continuous tests: B
>> 2013-05-11T15:15:38.000+02:00 trinity haveged: haveged: Completed continuous procedure B after 1171643 bytes
>> 2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: eth0: rebinding lease of 192.168.1.63
>> 2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: eth0: acknowledged 192.168.1.63 from 192.168.0.254
>> 2013-05-11T15:15:38.000+02:00 trinity dhcpcd[777]: eth0: checking for 192.168.1.63
>> 2013-05-11T15:15:43.000+02:00 trinity dhcpcd[777]: eth0: leased 192.168.1.63 for infinity
>> 2013-05-11T15:15:43.000+02:00 trinity dhcpcd[777]: forked to background, child pid 811
>> 2013-05-11T15:15:44.000+02:00 trinity cron[855]: (CRON) STARTUP (V5.0)
>> 2013-05-11T15:15:44.944+02:00 trinity kernel: Virtual console 1 assigned device '/dev/pts/6'
>> 2013-05-11T15:16:01.000+02:00 trinity sshd[874]: pam_unix(sshd:session): session opened for user tfoerste by (uid=0)
>> 2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 1
>> 2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 1
>> 2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 25
>> 2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 25
>> 2013-05-11T15:16:02.827+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: -14
>> 2013-05-11T15:16:02.827+02:00 trinity kernel: ------------[ cut here ]------------
>> 2013-05-11T15:16:02.827+02:00 trinity kernel: WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
>> 2013-05-11T15:16:02.827+02:00 trinity kernel: CPU: 0 PID: 880 Comm: trinity-child0 Not tainted 3.9.0-12555-g2dbd3ca-dirty #1
>> 2013-05-11T15:16:02.827+02:00 trinity kernel: 40db7da0 40db7dcc 0807bfca 083d3e6c 083d8623 00000178 080e1273 080e1273
>> 2013-05-11T15:16:02.827+02:00 trinity kernel: ffffffea 000000d0 00001000 40db7ddc 0807c093 00000009 00000000 40db7df0
>> 2013-05-11T15:16:02.835+02:00 trinity kernel: 080e1273 083d8623 00000178 00000000 40db7e14 080fac7b fffffff2 000000d0 40db7d74: [<08060cff>] show_stack+0xcf/0x100
>> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7d98: [<0835d63a>] dump_stack+0x26/0x28
>> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7da8: [<0807bfca>] warn_slowpath_common+0x5a/0x80
>> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7dd0: [<0807c093>] warn_slowpath_null+0x23/0x30
>> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7de0: [<080e1273>] kmalloc_slab+0x33/0x80
>> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7df4: [<080fac7b>] __kmalloc_track_caller+0x1b/0x110
>> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7e18: [<080de1a6>] memdup_user+0x26/0x70
>> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7e34: [<080de3de>] strndup_user_debug+0x6e/0xb0
>> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7e58: [<0811dd48>] copy_mount_string+0x38/0x50
>> 2013-05-11T15:16:02.835+02:00 trinity kernel: 40db7e70: [<0811e760>] SyS_mount+0x30/0xf0
>> 2013-05-11T15:16:02.842+02:00 trinity kernel: 40db7eac: [<08062ac2>] handle_syscall+0x82/0xb0
>> 2013-05-11T15:16:02.842+02:00 trinity kernel: 40db7ef4: [<0807519d>] userspace+0x46d/0x590
>> 2013-05-11T15:16:02.842+02:00 trinity kernel: 40db7fec: [<0805f7fc>] fork_handler+0x6c/0x70
>> 2013-05-11T15:16:02.842+02:00 trinity kernel: 40db7ffc: [<00000000>] 0x0
>> 2013-05-11T15:16:02.842+02:00 trinity kernel:
>> 2013-05-11T15:16:02.842+02:00 trinity kernel: ---[ end trace 06fc96a70dca162e ]---
>> 2013-05-11T15:16:02.842+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: -14
>> 2013-05-11T15:16:02.842+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: -14
>> 2013-05-11T15:16:02.842+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: -14
>> 2013-05-11T15:16:02.842+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 16
>> 2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 16
>> 2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 1
>> 2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 1
>> 2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: 70
>> 2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: 70
>> 2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: strnlen_user() returned: -14
>> 2013-05-11T15:16:02.850+02:00 trinity kernel: strndup_user_debug: calling memdup_user() with length: -14
>>
>> --
>> MfG/Sincerely
>> Toralf Förster
>> pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3
>
> Does the attached patch fix the problem?
Found the real problem, UML's strnlen_user() is broken.
Please test the attached patch.
--
Thanks,
//richard
[-- Attachment #2: um_strnlen_user.patch --]
[-- Type: application/octet-stream, Size: 414 bytes --]
diff --git a/arch/um/kernel/skas/uaccess.c b/arch/um/kernel/skas/uaccess.c
index 1d3e0c1..4ffb644 100644
--- a/arch/um/kernel/skas/uaccess.c
+++ b/arch/um/kernel/skas/uaccess.c
@@ -254,6 +254,6 @@ int strnlen_user(const void __user *str, int len)
n = buffer_op((unsigned long) str, len, 0, strnlen_chunk, &count);
if (n == 0)
return count + 1;
- return -EFAULT;
+ return 0;
}
EXPORT_SYMBOL(strnlen_user);
[-- Attachment #3: Type: text/plain, Size: 403 bytes --]
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
[-- Attachment #4: Type: text/plain, Size: 194 bytes --]
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [uml-devel] Fwd: Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11 13:26 ` richard -rw- weinberger
2013-05-11 13:37 ` richard -rw- weinberger
@ 2013-05-11 13:48 ` Toralf Förster
1 sibling, 0 replies; 16+ messages in thread
From: Toralf Förster @ 2013-05-11 13:48 UTC (permalink / raw)
To: richard -rw- weinberger
Cc: Dave Jones, user-mode-linux-devel@lists.sourceforge.net
On 05/11/2013 03:26 PM, richard -rw- weinberger wrote:
> Does the attached patch fix the problem?
yes,
but this occurred (probably completely unrelated :)
2013-05-11T15:42:32.829+02:00 trinity kernel: Adding 262140k swap on /dev/mapper/crypt-swap. Priority:-1 extents:1 across:262140k FS
2013-05-11T15:42:33.000+02:00 trinity haveged: haveged starting up
2013-05-11T15:42:33.000+02:00 trinity haveged: haveged: Completed tot procedure B after 1171996 bytes
2013-05-11T15:42:35.701+02:00 trinity kernel: BUG: spinlock cpu recursion on CPU#0, kworker/0:2/346
2013-05-11T15:42:35.701+02:00 trinity kernel: lock: 0x40c4a6c0, .magic: dead4ead, .owner: <none>/-1, .owner_cpu: 0
2013-05-11T15:42:35.701+02:00 trinity kernel: CPU: 0 PID: 346 Comm: kworker/0:2 Not tainted 3.9.0-12555-g2dbd3ca-dirty #1
2013-05-11T15:42:35.701+02:00 trinity kernel: Workqueue: events cache_reap
2013-05-11T15:42:35.701+02:00 trinity kernel: 40fa7e50 40fa7e80 0835d6cb 083f28e0 40c4a6c0 dead4ead 083f27a9 ffffffff
2013-05-11T15:42:35.701+02:00 trinity kernel: 00000000 40fa0000 40c4a6c0 083f27ba 40fa7e90 0835d6ed 40c4a6c0 00000000
2013-05-11T15:42:35.701+02:00 trinity kernel: 40fa7eb0 08281513 00000000 00000003 40fa0000 40c4a6c0 00000000 40c488c0 40fa7e24: [<08060cff>] show_stack+0xcf/0x100
2013-05-11T15:42:35.701+02:00 trinity kernel: 40fa7e48: [<0835d5ba>] dump_stack+0x26/0x28
2013-05-11T15:42:35.701+02:00 trinity kernel: 40fa7e58: [<0835d6cb>] spin_dump+0xa5/0xac
2013-05-11T15:42:35.701+02:00 trinity kernel: 40fa7e84: [<0835d6ed>] spin_bug+0x1b/0x1f
2013-05-11T15:42:35.702+02:00 trinity kernel: 40fa7e94: [<08281513>] do_raw_spin_lock+0x63/0x100
2013-05-11T15:42:35.702+02:00 trinity kernel: 40fa7eb4: [<0835fc96>] _raw_spin_lock_irq+0x16/0x20
2013-05-11T15:42:35.702+02:00 trinity kernel: 40fa7ec0: [<080fb1e8>] drain_freelist+0x38/0xf0
2013-05-11T15:42:35.702+02:00 trinity kernel: 40fa7ef0: [<080fb35c>] cache_reap+0xbc/0x120
2013-05-11T15:42:35.702+02:00 trinity kernel: 40fa7f14: [<08093e20>] process_one_work+0x1c0/0x310
2013-05-11T15:42:35.702+02:00 trinity kernel: 40fa7f58: [<0809441a>] worker_thread+0x1fa/0x300
2013-05-11T15:42:35.702+02:00 trinity kernel: 40fa7f84: [<08099c82>] kthread+0xc2/0xd0
2013-05-11T15:42:35.702+02:00 trinity kernel: 40fa7fec: [<0805f87a>] new_thread_handler+0x7a/0xa0
2013-05-11T15:42:35.702+02:00 trinity kernel: 40fa7ffc: [<00000000>] 0x0
2013-05-11T15:42:35.702+02:00 trinity kernel:
2013-05-11T15:42:35.000+02:00 trinity haveged: haveged: Completed tot procedure A after 1035716 bytes
2013-05-11T15:42:35.000+02:00 trinity haveged: haveged: version: 1.5; arch: x86; vendor: GenuineIntel; cores: 1/1, buffer: 128
2013-05-11T15:42:35.000+02:00 trinity haveged: haveged: d_cache: 32K (000020), i_cache: 32K (000020), i_index: 19/40, i_size: 32653/60731
2013-05-11T15:42:35.000+02:00 trinity haveged: haveged: tot tests: BA8, continuous tests: B
2013-05-11T15:42:35.000+02:00 trinity haveged: haveged: Completed continuous procedure B after 1171996 bytes
2013-05-11T15:42:35.000+02:00 trinity dhcpcd[770]: version 5.6.4 starting
--
MfG/Sincerely
Toralf Förster
pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [uml-devel] Fwd: Re: [uml-user] WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80()
2013-05-11 13:37 ` richard -rw- weinberger
@ 2013-05-11 13:51 ` Toralf Förster
0 siblings, 0 replies; 16+ messages in thread
From: Toralf Förster @ 2013-05-11 13:51 UTC (permalink / raw)
To: richard -rw- weinberger
Cc: Dave Jones, user-mode-linux-devel@lists.sourceforge.net
On 05/11/2013 03:37 PM, richard -rw- weinberger wrote:
> Found the real problem, UML's strnlen_user() is broken.
> Please test the attached patch.
yeah, that works now :-)
--
MfG/Sincerely
Toralf Förster
pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2013-05-11 13:51 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-10 21:52 WARNING: at mm/slab_common.c:376 kmalloc_slab+0x33/0x80() Toralf Förster
2013-05-11 8:19 ` Toralf Förster
2013-05-11 8:20 ` [uml-user] " richard -rw- weinberger
2013-05-11 8:36 ` [uml-devel] Fwd: " Toralf Förster
2013-05-11 8:47 ` richard -rw- weinberger
2013-05-11 9:51 ` Toralf Förster
2013-05-11 11:01 ` Sergei Trofimovich
2013-05-11 11:29 ` richard -rw- weinberger
2013-05-11 13:26 ` Sergei Trofimovich
2013-05-11 12:26 ` richard -rw- weinberger
2013-05-11 12:27 ` richard -rw- weinberger
2013-05-11 13:19 ` Toralf Förster
2013-05-11 13:26 ` richard -rw- weinberger
2013-05-11 13:37 ` richard -rw- weinberger
2013-05-11 13:51 ` Toralf Förster
2013-05-11 13:48 ` Toralf Förster
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.