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
|