Fwd: [PATCH] arch: um: convert tasklets to use new tasklet_setup() API

Anton Ivanov anton.ivanov at cambridgegreys.com
Mon Oct 19 04:26:37 EDT 2020



On 19/10/2020 08:43, Anton Ivanov wrote:
> Hi all,
> 
> When checking the tasklet patch I noticed that the mm is throwing page in invalid state warnings. This is not related to the tasklet and it something which appeared recently. I think it was not there in 5.9.
> 
> [  721.930000] BUG: Bad page state in process sshd  pfn:031f9
> [  721.930000] page:0000000054519316 refcount:0 mapcount:-1024 mapping:0000000000000000 index:0x0 pfn:0x31f9
> [  721.930000] flags: 0x0()
> [  721.930000] raw: 0000000000000000 0000000000000100 0000000000000122 0000000000000000
> [  721.930000] raw: 0000000000000000 0000000000000000 00000000fffffbff
> [  721.930000] page dumped because: nonzero mapcount
> [  721.930000] Modules linked in:
> [  721.930000] CPU: 0 PID: 201 Comm: sshd Tainted: G    B W         5.9.0-11954-gc370f4218465 #66
> [  721.930000] Stack:
> [  721.930000]  60307b89 604feb38 65b4f900 dfde3e78
> [  721.930000]  6039cd29 604feb38 dfd29000 65b4f9a0
> [  721.930000]  65b4f910 60308de6 65b4f950 600cd6ed
> [  721.930000] Call Trace:
> [  721.930000]  [<60307b89>] ? printk+0x0/0x94
> [  721.930000]  [<6001f382>] show_stack+0x13e/0x14d
> [  721.930000]  [<60307b89>] ? printk+0x0/0x94
> [  721.930000]  [<60308de6>] dump_stack+0x34/0x36
> [  721.930000]  [<600cd6ed>] bad_page+0x13a/0x162
> [  721.930000]  [<600cde98>] ? __free_one_page+0x97/0x19d
> [  721.930000]  [<600cd750>] check_free_page+0x3b/0x44
> [  721.930000]  [<600ce274>] free_pcppages_bulk+0xb9/0x1c1
> [  721.930000]  [<600cd7f5>] ? arch_local_irq_save+0x0/0x29
> [  721.930000]  [<600ce44b>] ? free_unref_page_commit.isra.133+0x0/0x91
> [  721.930000]  [<600cf3a4>] free_unref_page_list+0xeb/0x133
> [  721.930000]  [<600a77fa>] ? compound_head+0x0/0x11
> [  721.930000]  [<600a7849>] ? test_bit+0x0/0xd
> [  721.930000]  [<60035459>] ? set_signals+0x0/0x36
> [  721.930000]  [<600a85bc>] release_pages+0x227/0x236
> [  721.930000]  [<600d4035>] ? free_swap_cache+0x0/0x66
> [  721.930000]  [<60035367>] ? block_signals+0x0/0x11
> [  721.930000]  [<600d47e6>] free_pages_and_swap_cache+0x4c/0x55
> [  721.930000]  [<600d479a>] ? free_pages_and_swap_cache+0x0/0x55
> [  721.930000]  [<600c5681>] tlb_flush_mmu+0x54/0x6e
> [  721.930000]  [<600cf089>] ? free_pages+0x0/0x3a
> [  721.930000]  [<600c1957>] ? remove_vma+0x0/0x54
> [  721.930000]  [<600c5738>] tlb_finish_mmu+0x47/0x76
> [  721.930000]  [<600c1957>] ? remove_vma+0x0/0x54
> [  721.930000]  [<600c334f>] exit_mmap+0x101/0x186
> [  721.930000]  [<6003b765>] __mmput+0x24/0xa7
> [  721.930000]  [<6003b7fd>] mmput+0x15/0x17
> [  721.930000]  [<600e7acb>] begin_new_exec+0x76c/0xa41
> [  721.930000]  [<60035378>] ? unblock_signals+0x0/0xd7
> [  721.930000]  [<60137627>] load_elf_binary+0x294/0xcb3
> [  721.930000]  [<600ddfb5>] ? set_fs+0x0/0x14
> [  721.930000]  [<600de5ae>] ? fsnotify_parent.constprop.52+0x43/0x64
> [  721.930000]  [<601357cc>] ? load_elf_phdrs+0x0/0x85
> [  721.930000]  [<6021ed63>] ? memcmp+0x0/0x1d
> [  721.930000]  [<60087b84>] ? try_module_get+0x0/0x36
> [  721.930000]  [<600e6044>] exec_binprm+0xef/0x30a
> [  721.930000]  [<600e5618>] ? test_bit+0x0/0xd
> [  721.930000]  [<600e6f2f>] bprm_execve+0x1ee/0x2de
> [  721.930000]  [<600e5c5b>] ? copy_strings+0x0/0x26f
> [  721.930000]  [<600e7184>] do_execveat_common+0x165/0x19e
> [  721.930000]  [<600e7dd6>] sys_execve+0x36/0x3d
> [  721.930000]  [<60021365>] handle_syscall+0x79/0xa7
> [  721.930000]  [<60037ff3>] userspace+0x483/0x510
> [  721.930000]  [<6001e1ab>] fork_handler+0x94/0x96
> 
> I will try to have a go at that and figure out where it came from.

This happens as a result of:


commit b2b29d6d01194404dfef4eafa026959be301705b (HEAD)
Author: Matthew Wilcox <willy at infradead.org>
Date:   Tue Oct 13 16:53:22 2020 -0700

     mm: account PMD tables like PTE tables

There is however, another bug too.

At some point between 5.9 and this commit slab starts throwing a warning that a page is not a slab page.

I will try to narrow that one down too and send it to the list.


> 
> A.
> 
> 
> 
> -------- Forwarded Message --------
> Subject: 	Re: [PATCH] arch: um: convert tasklets to use new tasklet_setup() API
> Date: 	Sun, 18 Oct 2020 23:50:00 +0200
> From: 	Richard Weinberger <richard.weinberger at gmail.com>
> To: 	Allen Pais <allen.cryptic at gmail.com>
> CC: 	Ulf Hansson <ulf.hansson at linaro.org>, linux-atm-general at lists.sourceforge.net, manohar.vanga at gmail.com, Dave Airlie <airlied at linux.ie>, Allen Pais <allen.lkml at gmail.com>, linux-hyperv at vger.kernel.org, DRI mailing list <dri-devel at lists.freedesktop.org>, LKML <linux-kernel at vger.kernel.org>, James Bottomley <James.Bottomley at hansenpartnership.com>, K. Y. Srinivasan <kys at microsoft.com>, Anton Ivanov <anton.ivanov at cambridgegreys.com>, devel at driverdev.osuosl.org, linux-s390 at vger.kernel.org, linux1394-devel at lists.sourceforge.net, Maxim Levitsky <maximlevitsky at gmail.com>, Richard Weinberger <richard at nod.at>, Helge Deller <deller at gmx.de>, jassisinghbrar at gmail.com, 3chas3 at gmail.com, intel-gfx at lists.freedesktop.org, kuba at kernel.org, mporter at kernel.crashing.org, Jeff Dike <jdike at addtoit.com>, Kees Cook <keescook at chromium.org>, Alex Dubov <oakad at yahoo.com>, Sascha Hauer <s.hauer at pengutronix.de>, linux-input at vger.kernel.org, linux-um <linux-um at lists.infradead.org>, 
> linux-block at vger.kernel.org, Mark Brown <broonie at kernel.org>, openipmi-developer at lists.sourceforge.net, mitch at sfgoth.com, linux-arm-kernel at lists.infradead.org, Jens Axboe <axboe at kernel.dk>, linux-parisc at vger.kernel.org, netdev at vger.kernel.org, martyn at welchs.me.uk, dmitry.torokhov at gmail.com, linux-mmc at vger.kernel.org, Sebastian Reichel <sre at kernel.org>, open list:SPI SUBSYSTEM <linux-spi at vger.kernel.org>, alex.bou9 at gmail.com, stefanr at s5r6.in-berlin.de, Daniel Vetter <daniel at ffwll.ch>, linux-ntb at googlegroups.com, Romain Perier <romain.perier at gmail.com>, Shawn Guo <shawnguo at kernel.org>, David S. Miller <davem at davemloft.net>
> 
> 
> 
> On Mon, Aug 17, 2020 at 11:17 AM Allen Pais <allen.cryptic at gmail.com> wrote:
>> From: Allen Pais<allen.lkml at gmail.com>
>>
>> In preparation for unconditionally passing the
>> struct tasklet_struct pointer to all tasklet
>> callbacks, switch to using the new tasklet_setup()
>> and from_tasklet() to pass the tasklet pointer explicitly.
>>
>> Signed-off-by: Romain Perier<romain.perier at gmail.com>
>> Signed-off-by: Allen Pais<allen.lkml at gmail.com>
>> ---
>>   arch/um/drivers/vector_kern.c | 6 +++---
>>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> Anton, can you please review this patch?
> 
> -- 
> Thanks,
> //richard
> 
> _______________________________________________
> linux-um mailing list
> linux-um at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-um
> 

-- 
Anton R. Ivanov
Cambridgegreys Limited. Registered in England. Company Number 10273661
https://www.cambridgegreys.com/



More information about the linux-um mailing list