You can subscribe to this list here.
1999 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(8) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2000 |
Jan
(19) |
Feb
(11) |
Mar
(56) |
Apr
(31) |
May
(37) |
Jun
(21) |
Jul
(30) |
Aug
(31) |
Sep
(25) |
Oct
(60) |
Nov
(28) |
Dec
(57) |
2001 |
Jan
(47) |
Feb
(119) |
Mar
(279) |
Apr
(198) |
May
(336) |
Jun
(201) |
Jul
(136) |
Aug
(123) |
Sep
(123) |
Oct
(185) |
Nov
(66) |
Dec
(97) |
2002 |
Jan
(318) |
Feb
(101) |
Mar
(167) |
Apr
(233) |
May
(249) |
Jun
(134) |
Jul
(195) |
Aug
(99) |
Sep
(278) |
Oct
(435) |
Nov
(326) |
Dec
(325) |
2003 |
Jan
(214) |
Feb
(309) |
Mar
(142) |
Apr
(141) |
May
(210) |
Jun
(86) |
Jul
(133) |
Aug
(218) |
Sep
(315) |
Oct
(152) |
Nov
(162) |
Dec
(288) |
2004 |
Jan
(277) |
Feb
(267) |
Mar
(182) |
Apr
(168) |
May
(254) |
Jun
(131) |
Jul
(168) |
Aug
(177) |
Sep
(262) |
Oct
(309) |
Nov
(262) |
Dec
(255) |
2005 |
Jan
(258) |
Feb
(169) |
Mar
(282) |
Apr
(208) |
May
(262) |
Jun
(187) |
Jul
(207) |
Aug
(171) |
Sep
(283) |
Oct
(216) |
Nov
(307) |
Dec
(107) |
2006 |
Jan
(207) |
Feb
(82) |
Mar
(192) |
Apr
(165) |
May
(121) |
Jun
(108) |
Jul
(120) |
Aug
(126) |
Sep
(101) |
Oct
(216) |
Nov
(95) |
Dec
(125) |
2007 |
Jan
(176) |
Feb
(117) |
Mar
(240) |
Apr
(120) |
May
(81) |
Jun
(82) |
Jul
(62) |
Aug
(120) |
Sep
(103) |
Oct
(109) |
Nov
(181) |
Dec
(87) |
2008 |
Jan
(145) |
Feb
(69) |
Mar
(31) |
Apr
(98) |
May
(91) |
Jun
(43) |
Jul
(68) |
Aug
(135) |
Sep
(48) |
Oct
(18) |
Nov
(29) |
Dec
(16) |
2009 |
Jan
(26) |
Feb
(15) |
Mar
(83) |
Apr
(39) |
May
(23) |
Jun
(35) |
Jul
(11) |
Aug
(3) |
Sep
(11) |
Oct
(2) |
Nov
(28) |
Dec
(8) |
2010 |
Jan
(4) |
Feb
(40) |
Mar
(4) |
Apr
(46) |
May
(35) |
Jun
(46) |
Jul
(10) |
Aug
(4) |
Sep
(50) |
Oct
(70) |
Nov
(31) |
Dec
(24) |
2011 |
Jan
(17) |
Feb
(8) |
Mar
(35) |
Apr
(50) |
May
(75) |
Jun
(55) |
Jul
(72) |
Aug
(272) |
Sep
(10) |
Oct
(9) |
Nov
(11) |
Dec
(15) |
2012 |
Jan
(36) |
Feb
(49) |
Mar
(54) |
Apr
(47) |
May
(8) |
Jun
(82) |
Jul
(20) |
Aug
(50) |
Sep
(51) |
Oct
(20) |
Nov
(10) |
Dec
(25) |
2013 |
Jan
(34) |
Feb
(4) |
Mar
(24) |
Apr
(40) |
May
(101) |
Jun
(30) |
Jul
(55) |
Aug
(84) |
Sep
(53) |
Oct
(49) |
Nov
(61) |
Dec
(36) |
2014 |
Jan
(26) |
Feb
(22) |
Mar
(30) |
Apr
(4) |
May
(43) |
Jun
(33) |
Jul
(44) |
Aug
(61) |
Sep
(46) |
Oct
(154) |
Nov
(16) |
Dec
(12) |
2015 |
Jan
(18) |
Feb
(2) |
Mar
(122) |
Apr
(23) |
May
(56) |
Jun
(29) |
Jul
(35) |
Aug
(15) |
Sep
|
Oct
(45) |
Nov
(94) |
Dec
(38) |
2016 |
Jan
(50) |
Feb
(39) |
Mar
(39) |
Apr
(1) |
May
(14) |
Jun
(12) |
Jul
(19) |
Aug
(12) |
Sep
(9) |
Oct
(1) |
Nov
(13) |
Dec
(7) |
2017 |
Jan
(6) |
Feb
(1) |
Mar
(16) |
Apr
(5) |
May
(61) |
Jun
(18) |
Jul
(43) |
Aug
(1) |
Sep
(8) |
Oct
(25) |
Nov
(30) |
Dec
(6) |
2018 |
Jan
(5) |
Feb
(2) |
Mar
(25) |
Apr
(15) |
May
(2) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2019 |
Jan
|
Feb
(2) |
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Geert U. <ge...@li...> - 2017-04-01 12:58:16
|
Hi Richard, On Sat, Apr 1, 2017 at 12:41 AM, Richard Weinberger <ri...@no...> wrote: > This is broken since ever but sadly nobody noticed. > Recent versions of GDB set DR_CONTROL unconditionally and > UML dies due to a heap corruption. It turns out that > the PTRACE_POKEUSER was copy&pasted from i386 and assumes > that addresses are 4 bytes long. > > Fix that by using 8 as address size in the calculation. > > Cc: <st...@vg...> > Reported-by: jie cao <cj...@gm...> > Signed-off-by: Richard Weinberger <ri...@no...> > --- > arch/x86/um/ptrace_64.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/um/ptrace_64.c b/arch/x86/um/ptrace_64.c > index a5c9910d234f..09a085bde0d4 100644 > --- a/arch/x86/um/ptrace_64.c > +++ b/arch/x86/um/ptrace_64.c > @@ -125,7 +125,7 @@ int poke_user(struct task_struct *child, long addr, long data) > else if ((addr >= offsetof(struct user, u_debugreg[0])) && > (addr <= offsetof(struct user, u_debugreg[7]))) { > addr -= offsetof(struct user, u_debugreg[0]); > - addr = addr >> 2; > + addr = addr >> 3; While at it: addr >>= 3; Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li... In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds |
From: Richard W. <ri...@no...> - 2017-03-31 22:42:17
|
This is broken since ever but sadly nobody noticed. Recent versions of GDB set DR_CONTROL unconditionally and UML dies due to a heap corruption. It turns out that the PTRACE_POKEUSER was copy&pasted from i386 and assumes that addresses are 4 bytes long. Fix that by using 8 as address size in the calculation. Cc: <st...@vg...> Reported-by: jie cao <cj...@gm...> Signed-off-by: Richard Weinberger <ri...@no...> --- arch/x86/um/ptrace_64.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/um/ptrace_64.c b/arch/x86/um/ptrace_64.c index a5c9910d234f..09a085bde0d4 100644 --- a/arch/x86/um/ptrace_64.c +++ b/arch/x86/um/ptrace_64.c @@ -125,7 +125,7 @@ int poke_user(struct task_struct *child, long addr, long data) else if ((addr >= offsetof(struct user, u_debugreg[0])) && (addr <= offsetof(struct user, u_debugreg[7]))) { addr -= offsetof(struct user, u_debugreg[0]); - addr = addr >> 2; + addr = addr >> 3; if ((addr == 4) || (addr == 5)) return -EIO; child->thread.arch.debugregs[addr] = data; -- 2.10.2 |
From: Richard W. <ri...@no...> - 2017-03-17 17:55:00
|
Anton, Am 17.03.2017 um 18:44 schrieb Anton Ivanov: >> But you have to enable VM debugging to see it. > > I have most debugging enabled to make sure I do not introduce any > re-entrancy in the IRQ handlers and/or have any allocations of the wrong > type where they do not belong. > > We should probably submit a short patch #ifdef to turn this WARN() off > for UML Not before we understand the root cause. :) Thanks, //richard |
From: Anton I. <ant...@ko...> - 2017-03-17 17:44:33
|
On 17/03/17 17:33, Richard Weinberger wrote: > Am 17.03.2017 um 18:04 schrieb Anton Ivanov: >> On 17/03/17 16:56, Richard Weinberger wrote: >>> Anton, >>> >>> On Fri, Mar 17, 2017 at 8:51 AM, Anton Ivanov >>> <ant...@ko...> wrote: >>>> Hi list, hi Richard >>>> >>>> There is an extra check in mm/mmap.c which now throws a WARN on every >>>> page in making UML unusable with the latest 4.11-rc2 >>> Which WARN? Can you find the offending commit? >> mm/mmap.c line 1112 > Okay, this triggers since: > > commit e86f15ee64d8ee46255d964d55f74f5ba9af8c36 > Author: Andrea Arcangeli <aar...@re...> > Date: Fri Oct 7 17:01:28 2016 -0700 > > mm: vma_merge: fix vm_page_prot SMP race condition against rmap_walk > > But you have to enable VM debugging to see it. I have most debugging enabled to make sure I do not introduce any re-entrancy in the IRQ handlers and/or have any allocations of the wrong type where they do not belong. We should probably submit a short patch #ifdef to turn this WARN() off for UML Brgds, A. > > Thanks, > //richard > |
From: Richard W. <ri...@no...> - 2017-03-17 17:33:17
|
Am 17.03.2017 um 18:04 schrieb Anton Ivanov: > On 17/03/17 16:56, Richard Weinberger wrote: >> Anton, >> >> On Fri, Mar 17, 2017 at 8:51 AM, Anton Ivanov >> <ant...@ko...> wrote: >>> Hi list, hi Richard >>> >>> There is an extra check in mm/mmap.c which now throws a WARN on every >>> page in making UML unusable with the latest 4.11-rc2 >> Which WARN? Can you find the offending commit? > > mm/mmap.c line 1112 Okay, this triggers since: commit e86f15ee64d8ee46255d964d55f74f5ba9af8c36 Author: Andrea Arcangeli <aar...@re...> Date: Fri Oct 7 17:01:28 2016 -0700 mm: vma_merge: fix vm_page_prot SMP race condition against rmap_walk But you have to enable VM debugging to see it. Thanks, //richard |
From: Anton I. <ant...@ko...> - 2017-03-17 17:25:09
|
On 17/03/17 17:04, Anton Ivanov wrote: > On 17/03/17 16:56, Richard Weinberger wrote: >> Anton, >> >> On Fri, Mar 17, 2017 at 8:51 AM, Anton Ivanov >> <ant...@ko...> wrote: >>> Hi list, hi Richard >>> >>> There is an extra check in mm/mmap.c which now throws a WARN on every >>> page in making UML unusable with the latest 4.11-rc2 >> Which WARN? Can you find the offending commit? > mm/mmap.c line 1112 > > I spent the day polishing the epoll patch so have not had the time to > look at this. > > It works fine with the 3 warns there commented out. It looks like the culprit is an SMP mmap race fix e86f15ee64d8ee46255d964d55f74f5ba9af8c36 A. > > A. > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > User-mode-linux-devel mailing list > Use...@li... > https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel > |
From: Richard W. <ri...@no...> - 2017-03-17 17:11:09
|
Anton, Am 17.03.2017 um 18:04 schrieb Anton Ivanov: > On 17/03/17 16:56, Richard Weinberger wrote: >> Anton, >> >> On Fri, Mar 17, 2017 at 8:51 AM, Anton Ivanov >> <ant...@ko...> wrote: >>> Hi list, hi Richard >>> >>> There is an extra check in mm/mmap.c which now throws a WARN on every >>> page in making UML unusable with the latest 4.11-rc2 >> Which WARN? Can you find the offending commit? > > mm/mmap.c line 1112 > > I spent the day polishing the epoll patch so have not had the time to look at this. > > It works fine with the 3 warns there commented out. Hm, it does not trigger here. Can you share your .config? Thanks, //richard |
From: Anton I. <ant...@ko...> - 2017-03-17 17:04:37
|
On 17/03/17 16:56, Richard Weinberger wrote: > Anton, > > On Fri, Mar 17, 2017 at 8:51 AM, Anton Ivanov > <ant...@ko...> wrote: >> Hi list, hi Richard >> >> There is an extra check in mm/mmap.c which now throws a WARN on every >> page in making UML unusable with the latest 4.11-rc2 > Which WARN? Can you find the offending commit? mm/mmap.c line 1112 I spent the day polishing the epoll patch so have not had the time to look at this. It works fine with the 3 warns there commented out. A. > |
From: Richard W. <ric...@gm...> - 2017-03-17 17:02:23
|
Natale, On Wed, Feb 15, 2017 at 3:31 PM, Natale Patriciello <nat...@gm...> wrote: > > Hello, > > as I've reported here [1], by changing the work station I've got the > same UML guest not working anymore. I investigated and the problem root > is in the code added in this patchset [2] (add extended processor state > save/restore support). In particular, the ptrace returns < 0 and the > errno is set to 14. Reverting the code to use the functions > *_i387_registers () makes everything to work correctly. > > There is something I can do for further debugging the issue? Or should I > live with a modified kernel tree with a reverse patch applied ? When reporting such bugs, please always CC all affected parties. Especially the author of the offending patch. -- Thanks, //richard |
From: Richard W. <ric...@gm...> - 2017-03-17 16:56:49
|
Anton, On Fri, Mar 17, 2017 at 8:51 AM, Anton Ivanov <ant...@ko...> wrote: > Hi list, hi Richard > > There is an extra check in mm/mmap.c which now throws a WARN on every > page in making UML unusable with the latest 4.11-rc2 Which WARN? Can you find the offending commit? -- Thanks, //richard |
From: Anton I. <ant...@ko...> - 2017-03-17 11:38:03
|
Hi Richard, hi list, I finally figured out what was going wrong with my Epoll IRQ controller POC. I have a working one now. I will submit it after I have done some more extensive tests on it. So far it is showing 10-20% improvements in IO in default config (one Ethernet, one UBD). This should be significantly better with a lot of devices as it scales much better than the poll based one. A. |
From: Anton I. <ant...@ko...> - 2017-03-17 08:22:34
|
Hi list, hi Richard There is an extra check in mm/mmap.c which now throws a WARN on every page in making UML unusable with the latest 4.11-rc2 A. |
From: Richard W. <ri...@no...> - 2017-03-12 10:13:56
|
Recent changes to printk() broke UML's stack trace output. Kill the root of the problem by using a single printk() statement. Fixes: 4bcc595ccd80decb ("printk: reinstate KERN_CONT for printing continuation lines") Cc: st...@vg... Cc: Vegard Nossum <veg...@or...> Tested-by: Vegard Nossum <veg...@or...> Reported-by: Vegard Nossum <veg...@or...> Signed-off-by: Richard Weinberger <ri...@no...> --- arch/um/kernel/sysrq.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/arch/um/kernel/sysrq.c b/arch/um/kernel/sysrq.c index a76295f7ede9..961be4a51511 100644 --- a/arch/um/kernel/sysrq.c +++ b/arch/um/kernel/sysrq.c @@ -20,10 +20,8 @@ static void _print_addr(void *data, unsigned long address, int reliable) { - pr_info(" [<%08lx>]", address); - pr_cont(" %s", reliable ? "" : "? "); - print_symbol("%s", address); - pr_cont("\n"); + pr_info(" [<%08lx>] %s%pB\n", address, reliable ? "" : "? ", + (void *)address); } static const struct stacktrace_ops stackops = { -- 2.10.2 |
From: Vegard N. <veg...@or...> - 2017-03-12 09:48:04
|
On 12/03/2017 10:45, Richard Weinberger wrote: > Am 12.03.2017 um 10:38 schrieb Vegard Nossum: >> Without KERN_CONT, the symbol will appear on a new line, making stack >> traces completely unreadable: [snip] > I think it is better to fix the root of the problem by using a single printk. > i.e. > > diff --git a/arch/um/kernel/sysrq.c b/arch/um/kernel/sysrq.c > index aa1b56f5ac68..18eddf677ec6 100644 > --- a/arch/um/kernel/sysrq.c > +++ b/arch/um/kernel/sysrq.c > @@ -17,10 +17,8 @@ > > static void _print_addr(void *data, unsigned long address, int reliable) > { > - pr_info(" [<%08lx>]", address); > - pr_cont(" %s", reliable ? "" : "? "); > - print_symbol("%s", address); > - pr_cont("\n"); > + pr_info(" [<%08lx>] %s%pB\n", address, reliable ? "" : "? ", > + (void *)address); > } Your patch is better. Tested-by: Vegard Nossum <veg...@or...> Thanks, Vegard |
From: Richard W. <ri...@no...> - 2017-03-12 09:45:14
|
Vegard, Am 12.03.2017 um 10:38 schrieb Vegard Nossum: > Without KERN_CONT, the symbol will appear on a new line, making stack > traces completely unreadable: > > Call Trace: > [<6008e891>] ? > printk+0x0/0x94 > [<6001cce6>] > show_stack+0xfe/0x15b > [<600666ec>] ? > dump_stack_print_info+0xe1/0xea > [<6008e891>] ? > printk+0x0/0x94 > [<6023e826>] ? > bust_spinlocks+0x0/0x4f > [<602343b8>] > dump_stack+0x2a/0x2c > [<6008e662>] > panic+0x170/0x31e > [<6008e4f2>] ? > panic+0x0/0x31e > > This makes it readable again: > > Call Trace: > [<6008e891>] ? printk+0x0/0x94 > [<6001cce6>] show_stack+0xfe/0x15b > [<600666ec>] ? dump_stack_print_info+0xe1/0xea > [<6008e891>] ? printk+0x0/0x94 > [<6023e826>] ? bust_spinlocks+0x0/0x4f > [<602343b8>] dump_stack+0x2a/0x2c > [<6008e662>] panic+0x170/0x31e > > Signed-off-by: Vegard Nossum <veg...@or...> > --- > arch/um/kernel/sysrq.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/um/kernel/sysrq.c b/arch/um/kernel/sysrq.c > index a76295f7ede9..edf1f80123e7 100644 > --- a/arch/um/kernel/sysrq.c > +++ b/arch/um/kernel/sysrq.c > @@ -22,7 +22,7 @@ static void _print_addr(void *data, unsigned long address, int reliable) > { > pr_info(" [<%08lx>]", address); > pr_cont(" %s", reliable ? "" : "? "); > - print_symbol("%s", address); > + print_symbol(KERN_CONT "%s", address); > pr_cont("\n"); > } > I think it is better to fix the root of the problem by using a single printk. i.e. diff --git a/arch/um/kernel/sysrq.c b/arch/um/kernel/sysrq.c index aa1b56f5ac68..18eddf677ec6 100644 --- a/arch/um/kernel/sysrq.c +++ b/arch/um/kernel/sysrq.c @@ -17,10 +17,8 @@ static void _print_addr(void *data, unsigned long address, int reliable) { - pr_info(" [<%08lx>]", address); - pr_cont(" %s", reliable ? "" : "? "); - print_symbol("%s", address); - pr_cont("\n"); + pr_info(" [<%08lx>] %s%pB\n", address, reliable ? "" : "? ", + (void *)address); } Thanks, //richard |
From: Vegard N. <veg...@or...> - 2017-03-12 09:38:31
|
Without KERN_CONT, the symbol will appear on a new line, making stack traces completely unreadable: Call Trace: [<6008e891>] ? printk+0x0/0x94 [<6001cce6>] show_stack+0xfe/0x15b [<600666ec>] ? dump_stack_print_info+0xe1/0xea [<6008e891>] ? printk+0x0/0x94 [<6023e826>] ? bust_spinlocks+0x0/0x4f [<602343b8>] dump_stack+0x2a/0x2c [<6008e662>] panic+0x170/0x31e [<6008e4f2>] ? panic+0x0/0x31e This makes it readable again: Call Trace: [<6008e891>] ? printk+0x0/0x94 [<6001cce6>] show_stack+0xfe/0x15b [<600666ec>] ? dump_stack_print_info+0xe1/0xea [<6008e891>] ? printk+0x0/0x94 [<6023e826>] ? bust_spinlocks+0x0/0x4f [<602343b8>] dump_stack+0x2a/0x2c [<6008e662>] panic+0x170/0x31e Signed-off-by: Vegard Nossum <veg...@or...> --- arch/um/kernel/sysrq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/um/kernel/sysrq.c b/arch/um/kernel/sysrq.c index a76295f7ede9..edf1f80123e7 100644 --- a/arch/um/kernel/sysrq.c +++ b/arch/um/kernel/sysrq.c @@ -22,7 +22,7 @@ static void _print_addr(void *data, unsigned long address, int reliable) { pr_info(" [<%08lx>]", address); pr_cont(" %s", reliable ? "" : "? "); - print_symbol("%s", address); + print_symbol(KERN_CONT "%s", address); pr_cont("\n"); } -- 2.12.0.rc0 |
From: Richard W. <ri...@no...> - 2017-03-03 08:11:26
|
Nikola, Am 02.03.2017 um 14:16 schrieb Nikola Kotur: > Define NR_CPUS required by the timer subsystem. > > Fixes this make warning: > > scripts/kconfig/conf --oldconfig arch/x86/um/Kconfig > kernel/time/Kconfig:155:warning: range is invalid > > Signed-off-by: Nikola Kotur <ko...@gm...> Looks good! Thanks, //richard |
From: Natale P. <nat...@gm...> - 2017-02-15 13:32:05
|
Hello, as I've reported here [1], by changing the work station I've got the same UML guest not working anymore. I investigated and the problem root is in the code added in this patchset [2] (add extended processor state save/restore support). In particular, the ptrace returns < 0 and the errno is set to 14. Reverting the code to use the functions *_i387_registers () makes everything to work correctly. There is something I can do for further debugging the issue? Or should I live with a modified kernel tree with a reverse patch applied ? Thank you [1] https://sourceforge.net/p/user-mode-linux/mailman/message/35663374/ [2] https://sourceforge.net/p/user-mode-linux/mailman/message/34911221/ |
From: Richard W. <ric...@gm...> - 2017-01-19 22:26:39
|
On Wed, Jan 4, 2017 at 2:54 PM, Enjoy Mindful <enj...@gm...> wrote: > Hi, > > https://marc.info/?l=user-mode-linux-devel > https://marc.info/?l=user-mode-linux-user > https://sourceforge.net/p/user-mode-linux/mailman/user-mode-linux-user/ > > I'm looking for archive tar balls for user-mode-linux-devel and > user-mode-linux-user mailing > list. Unfortunately, those three web pages do not provide archive for > download. It is really > painful and annoying to search in those pages. I'd prefer to have a > copy of the archives on my > computer, so I can read and search with text editor and grep. > > Reading the *ancient* mails since 1999, should be a good way for > understanding how > UML works. You can also just ask here questions on UML. -- Thanks, //richard |
From: <sg...@ao...> - 2017-01-15 16:06:03
|
On Sun, 15 Jan 2017, Thomas Meyer wrote: > Am 15. Januar 2017 13:16:22 MEZ schrieb sg...@ao...: >> Hi, >> >> there seems to be a problem with usermode linux when started >> with an initial ramdisk (argument initrd=file). Here is what >> happens: >> >> ------------------------------------ >> >> Locating the bottom of the address space ... 0x1000 >> Locating the top of the address space ... Checking that ptrace can >> change system call numbers...0xc0000000 >> Core dump limits : >> soft - 0 >> hard - NONE >> OK >> Checking syscall emulation patch for ptrace...OK >> Checking advanced syscall emulation patch for ptrace...OK >> Checking environment variables for a tempdir...none found >> Checking if /dev/shm is on tmpfs...OK >> Checking PROT_EXEC mmap in /dev/shm...OK >> Adding 8470528 bytes to physical memory to account for exec-shield gap >> kmsg_dump: >> <1>bootmem alloc of 140 bytes failed! >> <0>Kernel panic - not syncing: Out of memory >> <4>CPU: 0 PID: 0 Comm: swapper Not tainted 4.9.0-um #3 >> <6>Stack: >> <4> 081eb922 081eb922 0822d547 00000000 08222000 00000000 0817fe48 >> 00000000 >> <4> 0822bf6c 080bd1a7 00000007 0829c600 081f113d 0822bfbc 082220fc >> 00000000 >> <4> 00000000 00000000 0805393d 081f113d 0000008c 0804c88e 0000008c >> 00000080 >> <6>Call Trace: >> <6> [<0805cffb>] ? >> <4>show_stack+0x9d/0x157 >> <6> [<0817fe48>] ? >> <4>dump_stack+0x23/0x2b >> <6> [<080bd1a7>] ? >> <4>panic+0x9e/0x1b4 >> <6> [<0805393d>] ? >> <4>__alloc_bootmem+0x3f/0x43 >> <6> [<0804c88e>] ? >> <4>read_initrd+0x6a/0x101 >> <6> [<08096fa5>] ? >> <4>kmsg_dump_register+0x37/0x65 >> <6> [<0805e8a9>] ? >> <4>uml_finishsetup+0x27/0x3b >> <6> >> >> --------------------------------- >> >> >> Function read_initrd() calls alloc_bootmem(), but at this point >> memory hasn't been initialized yet. >> >> A quick solution is to move uml_postsetup() (the function >> that calls read_initrd()) right after the memory has been >> initialized. This may be wrong since uml_postsetup() may call >> other functions besides read_initrd(), but worked for me: >> the initial ramdisk is loaded and init run. >> >> >> --- linux-4.9.0/arch/um/kernel/um_arch.c 2016-12-11 20:17:54.000000000 >> +0100 >> +++ linux-4.9.0-um/arch/um/kernel/um_arch.c 2017-01-15 >> 11:16:32.000000000 +0100 >> @@ -231,7 +231,7 @@ >> atomic_notifier_chain_register(&panic_notifier_list, >> &panic_exit_notifier); >> >> - uml_postsetup(); >> + // uml_postsetup(); >> >> new_thread_handler(); >> } >> @@ -340,6 +340,7 @@ >> { >> stack_protections((unsigned long) &init_thread_info); >> setup_physmem(uml_physmem, uml_reserved, physmem_size, highmem); >> + uml_postsetup(); >> mem_total_pages(physmem_size, iomem_size, highmem); >> >> paging_init(); >> >> ------------------------------------------------------------------------------ >> Developer Access Program for Intel Xeon Phi Processors >> Access to Intel Xeon Phi processor-based developer platforms. >> With one year of Intel Parallel Studio XE. >> Training and support from Colfax. >> Order your platform today. http://sdm.link/xeonphi >> _______________________________________________ >> User-mode-linux-devel mailing list >> Use...@li... >> https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel > > Hi, > > I don't think this is correct. How much memory do you assign your uml instance? > I tried: vmlinux initrd=initrd.gz vmlinux initrd=initrd.gz mem=10M vmlinux initrd=initrd.gz mem=100M the result is the same. ulimit -m gives "unlimited". With the same settings, uml had no problem booting from a romfs filesystem without initrd. > Your initial ramdisk is probably bigger than your assigned memory size? > I suspected something like this, so I tried with smaller and smaller ramdisks. The log above is for an initrd.gz of 140 bytes (just a text file with 10 letters in it, cpio'd and compressed). Of course the kernel would not find /init in it, but it never arrives at that point. I enclose initrd.gz, and also .config, just in case it could be useful. > With kind regards > Thomas > |
From: Thomas M. <th...@m3...> - 2017-01-15 13:33:15
|
Am 15. Januar 2017 13:16:22 MEZ schrieb sg...@ao...: >Hi, > >there seems to be a problem with usermode linux when started >with an initial ramdisk (argument initrd=file). Here is what >happens: > >------------------------------------ > >Locating the bottom of the address space ... 0x1000 >Locating the top of the address space ... Checking that ptrace can >change system call numbers...0xc0000000 >Core dump limits : > soft - 0 > hard - NONE >OK >Checking syscall emulation patch for ptrace...OK >Checking advanced syscall emulation patch for ptrace...OK >Checking environment variables for a tempdir...none found >Checking if /dev/shm is on tmpfs...OK >Checking PROT_EXEC mmap in /dev/shm...OK >Adding 8470528 bytes to physical memory to account for exec-shield gap >kmsg_dump: ><1>bootmem alloc of 140 bytes failed! ><0>Kernel panic - not syncing: Out of memory ><4>CPU: 0 PID: 0 Comm: swapper Not tainted 4.9.0-um #3 ><6>Stack: ><4> 081eb922 081eb922 0822d547 00000000 08222000 00000000 0817fe48 >00000000 ><4> 0822bf6c 080bd1a7 00000007 0829c600 081f113d 0822bfbc 082220fc >00000000 ><4> 00000000 00000000 0805393d 081f113d 0000008c 0804c88e 0000008c >00000080 ><6>Call Trace: ><6> [<0805cffb>] ? ><4>show_stack+0x9d/0x157 ><6> [<0817fe48>] ? ><4>dump_stack+0x23/0x2b ><6> [<080bd1a7>] ? ><4>panic+0x9e/0x1b4 ><6> [<0805393d>] ? ><4>__alloc_bootmem+0x3f/0x43 ><6> [<0804c88e>] ? ><4>read_initrd+0x6a/0x101 ><6> [<08096fa5>] ? ><4>kmsg_dump_register+0x37/0x65 ><6> [<0805e8a9>] ? ><4>uml_finishsetup+0x27/0x3b ><6> > >--------------------------------- > > >Function read_initrd() calls alloc_bootmem(), but at this point >memory hasn't been initialized yet. > >A quick solution is to move uml_postsetup() (the function >that calls read_initrd()) right after the memory has been >initialized. This may be wrong since uml_postsetup() may call >other functions besides read_initrd(), but worked for me: >the initial ramdisk is loaded and init run. > > >--- linux-4.9.0/arch/um/kernel/um_arch.c 2016-12-11 20:17:54.000000000 >+0100 >+++ linux-4.9.0-um/arch/um/kernel/um_arch.c 2017-01-15 >11:16:32.000000000 +0100 >@@ -231,7 +231,7 @@ > atomic_notifier_chain_register(&panic_notifier_list, > &panic_exit_notifier); > >- uml_postsetup(); >+ // uml_postsetup(); > > new_thread_handler(); > } >@@ -340,6 +340,7 @@ > { > stack_protections((unsigned long) &init_thread_info); > setup_physmem(uml_physmem, uml_reserved, physmem_size, highmem); >+ uml_postsetup(); > mem_total_pages(physmem_size, iomem_size, highmem); > > paging_init(); > >------------------------------------------------------------------------------ >Developer Access Program for Intel Xeon Phi Processors >Access to Intel Xeon Phi processor-based developer platforms. >With one year of Intel Parallel Studio XE. >Training and support from Colfax. >Order your platform today. http://sdm.link/xeonphi >_______________________________________________ >User-mode-linux-devel mailing list >Use...@li... >https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel Hi, I don't think this is correct. How much memory do you assign your uml instance? Your initial ramdisk is probably bigger than your assigned memory size? With kind regards Thomas |
From: <sg...@ao...> - 2017-01-15 12:16:01
|
Hi, there seems to be a problem with usermode linux when started with an initial ramdisk (argument initrd=file). Here is what happens: ------------------------------------ Locating the bottom of the address space ... 0x1000 Locating the top of the address space ... Checking that ptrace can change system call numbers...0xc0000000 Core dump limits : soft - 0 hard - NONE OK Checking syscall emulation patch for ptrace...OK Checking advanced syscall emulation patch for ptrace...OK Checking environment variables for a tempdir...none found Checking if /dev/shm is on tmpfs...OK Checking PROT_EXEC mmap in /dev/shm...OK Adding 8470528 bytes to physical memory to account for exec-shield gap kmsg_dump: <1>bootmem alloc of 140 bytes failed! <0>Kernel panic - not syncing: Out of memory <4>CPU: 0 PID: 0 Comm: swapper Not tainted 4.9.0-um #3 <6>Stack: <4> 081eb922 081eb922 0822d547 00000000 08222000 00000000 0817fe48 00000000 <4> 0822bf6c 080bd1a7 00000007 0829c600 081f113d 0822bfbc 082220fc 00000000 <4> 00000000 00000000 0805393d 081f113d 0000008c 0804c88e 0000008c 00000080 <6>Call Trace: <6> [<0805cffb>] ? <4>show_stack+0x9d/0x157 <6> [<0817fe48>] ? <4>dump_stack+0x23/0x2b <6> [<080bd1a7>] ? <4>panic+0x9e/0x1b4 <6> [<0805393d>] ? <4>__alloc_bootmem+0x3f/0x43 <6> [<0804c88e>] ? <4>read_initrd+0x6a/0x101 <6> [<08096fa5>] ? <4>kmsg_dump_register+0x37/0x65 <6> [<0805e8a9>] ? <4>uml_finishsetup+0x27/0x3b <6> --------------------------------- Function read_initrd() calls alloc_bootmem(), but at this point memory hasn't been initialized yet. A quick solution is to move uml_postsetup() (the function that calls read_initrd()) right after the memory has been initialized. This may be wrong since uml_postsetup() may call other functions besides read_initrd(), but worked for me: the initial ramdisk is loaded and init run. --- linux-4.9.0/arch/um/kernel/um_arch.c 2016-12-11 20:17:54.000000000 +0100 +++ linux-4.9.0-um/arch/um/kernel/um_arch.c 2017-01-15 11:16:32.000000000 +0100 @@ -231,7 +231,7 @@ atomic_notifier_chain_register(&panic_notifier_list, &panic_exit_notifier); - uml_postsetup(); + // uml_postsetup(); new_thread_handler(); } @@ -340,6 +340,7 @@ { stack_protections((unsigned long) &init_thread_info); setup_physmem(uml_physmem, uml_reserved, physmem_size, highmem); + uml_postsetup(); mem_total_pages(physmem_size, iomem_size, highmem); paging_init(); |
From: Enjoy M. <enj...@gm...> - 2017-01-04 13:54:38
|
Hi, https://marc.info/?l=user-mode-linux-devel https://marc.info/?l=user-mode-linux-user https://sourceforge.net/p/user-mode-linux/mailman/user-mode-linux-user/ I'm looking for archive tar balls for user-mode-linux-devel and user-mode-linux-user mailing list. Unfortunately, those three web pages do not provide archive for download. It is really painful and annoying to search in those pages. I'd prefer to have a copy of the archives on my computer, so I can read and search with text editor and grep. Reading the *ancient* mails since 1999, should be a good way for understanding how UML works. Thanks |
From: Randy D. <rd...@in...> - 2017-01-02 02:58:37
|
From: Randy Dunlap <rd...@in...> Fix build errors on arch/um, which does not support HAS_IOMEM, while the oxnas_nand.c driver uses interfaces that are supplied by HAS_IOMEM. (loadable module build:) ERROR: "devm_ioremap_resource" [drivers/mtd/nand/oxnas_nand.ko] undefined! or (built-in build:) drivers/built-in.o: In function `oxnas_nand_probe': drivers/mtd/nand/oxnas_nand.c:102: undefined reference to `devm_ioremap_resource' Signed-off-by: Randy Dunlap <rd...@in...> Reported-by: kbuild test robot <fen...@in...> Cc: Boris Brezillon <bor...@fr...> Cc: Neil Armstrong <nar...@ba...> Cc: Jeff Dike <jd...@ad...> Cc: Richard Weinberger <ri...@no...> Cc: use...@li... Cc: lin...@li... --- drivers/mtd/nand/Kconfig | 1 + 1 file changed, 1 insertion(+) --- lnx-410-rc2.orig/drivers/mtd/nand/Kconfig +++ lnx-410-rc2/drivers/mtd/nand/Kconfig @@ -426,6 +426,7 @@ config MTD_NAND_ORION config MTD_NAND_OXNAS tristate "NAND Flash support for Oxford Semiconductor SoC" + depends on HAS_IOMEM help This enables the NAND flash controller on Oxford Semiconductor SoCs. |
From: Richard W. <ri...@no...> - 2016-12-25 22:11:20
|
Recent changes to printk() broke UML's stack trace output. Kill the root of the problem by using a single printk() statement. Signed-off-by: Richard Weinberger <ri...@no...> --- arch/um/kernel/sysrq.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/arch/um/kernel/sysrq.c b/arch/um/kernel/sysrq.c index aa1b56f5ac68..18eddf677ec6 100644 --- a/arch/um/kernel/sysrq.c +++ b/arch/um/kernel/sysrq.c @@ -17,10 +17,8 @@ static void _print_addr(void *data, unsigned long address, int reliable) { - pr_info(" [<%08lx>]", address); - pr_cont(" %s", reliable ? "" : "? "); - print_symbol("%s", address); - pr_cont("\n"); + pr_info(" [<%08lx>] %s%pF\n", address, reliable ? "" : "? ", + (void *)address); } static const struct stacktrace_ops stackops = { -- 2.10.2 |