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