Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1539404
| Path | csiph.com!goblin3!goblin2!goblin.stu.neva.ru!news.unit0.net!news.panservice.it!bofh.it!news.nic.it!robomod |
|---|---|
| From | Michal Hocko <mhocko@kernel.org> |
| Newsgroups | linux.kernel |
| Subject | BUG: using smp_processor_id() in preemptible [00000000] during put_task_stack |
| Date | Fri, 09 Dec 2016 15:30:02 +0100 |
| Message-ID | <sMuls-4n9-49@gated-at.bofh.it> (permalink) |
| X-Original-To | Andy Lutomirski <luto@amacapital.net> |
| X-Google-Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:user-agent; bh=sGsAMg9AlilxxIO5d+PZ+a6zSu3wI+zlNXLov5Eixqc=; b=P2OjRcZ3Lx8q5EakpKaiUCLl52pW3AnzAptGFirunr7SQcfrlKBJKa2UlpoEzKv68k g4tbeVgpqxsub1YQBuimDwqbwSgjyT9SRcZFpqY9nFJ/oPqvRvJaciLOECM18OnX7uj0 jCrYyMSm9JXJgt22JADoMVeClJwMLQDVl3ANo9GL7xDR4NoiBgU5H/XfqC0qJIoiUphj 0WyDXj/jz1CoeQjDDw7K2mSLHqJWd5ALaFkQ1Py9d1A2V0jRv3O4cZKVT4iI288VZgAm g5E7Y1XgEna7uUIDutbmK48pjo3eTfcyy92gvEmNmxDKHTV85glolirBaSv7EZsieC4D 1Ppw== |
| X-Gm-Message-State | AKaTC02ShpNKWPTtH6/+YAsWSng074llbqfzt3g3jDa0VC6lyNlmCH+OVCrtfZ8y/OXPCw== |
| X-Received | by 10.194.86.165 with SMTP id q5mr67883966wjz.178.1481293702517; Fri, 09 Dec 2016 06:28:22 -0800 (PST) |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset=us-ascii |
| Content-Disposition | inline |
| User-Agent | Mutt/1.6.0 (2016-04-01) |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 51 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | LKML <linux-kernel@vger.kernel.org> |
| X-Original-Date | Fri, 9 Dec 2016 15:28:20 +0100 |
| X-Original-Message-ID | <20161209142820.GA4334@dhcp22.suse.cz> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1539404 |
Show key headers only | View raw
Hi Andy, I am hitting the following [ 570.715345] BUG: using smp_processor_id() in preemptible [00000000] code: umount/6193 [ 570.716880] caller is debug_smp_processor_id+0x17/0x19 [ 570.717876] CPU: 2 PID: 6193 Comm: umount Tainted: G W 4.9.0-rc8-nofstest4-next-20161209-00012-g0db618dfb2cf #1017 [ 570.720162] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014 [ 570.720862] Call Trace: [ 570.720862] dump_stack+0x68/0x92 [ 570.720862] check_preemption_disabled+0xce/0xe0 [ 570.720862] debug_smp_processor_id+0x17/0x19 [ 570.720862] vfree_atomic+0x2f/0x65 [ 570.720862] put_task_stack+0xd0/0x13c [ 570.720862] kthread_stop+0x108/0x29a [ 570.720862] destroy_workqueue+0x167/0x1fb [ 570.720862] ext4_put_super+0x44/0x2fa [ 570.720862] generic_shutdown_super+0x6a/0xeb [ 570.720862] kill_block_super+0x27/0x67 [ 570.720862] deactivate_locked_super+0x30/0x68 [ 570.720862] deactivate_super+0x3e/0x41 [ 570.720862] cleanup_mnt+0x58/0x76 [ 570.720862] __cleanup_mnt+0x12/0x14 [ 570.720862] task_work_run+0x77/0xa0 [ 570.720862] exit_to_usermode_loop+0x67/0x92 [ 570.720862] do_syscall_64+0x16c/0x197 [ 570.720862] entry_SYSCALL64_slow_path+0x25/0x25 it seems that vfre_atomic doesn't like it has preemption enabled in __vfree_deferred which calls this_cpu_ptr. I haven't studied the code deeply but I guess what we want is to put vfree_atomic into the atomic context. Something like the following or at least disable preemption around vfree_atomic. Or maybe I am completely missing what the above warning tries to tell... diff --git a/kernel/fork.c b/kernel/fork.c index 8f63bf912195..1c69561eec55 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -227,9 +227,9 @@ static inline void free_thread_stack(struct task_struct *tsk) local_irq_restore(flags); return; } + vfree_atomic(tsk->stack); local_irq_restore(flags); - vfree_atomic(tsk->stack); return; } #endif -- Michal Hocko SUSE Labs
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
BUG: using smp_processor_id() in preemptible [00000000] during put_task_stack Michal Hocko <mhocko@kernel.org> - 2016-12-09 15:30 +0100
csiph-web