From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:59830 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726841AbeIZT0n (ORCPT ); Wed, 26 Sep 2018 15:26:43 -0400 Date: Wed, 26 Sep 2018 15:13:44 +0200 From: Greg Kroah-Hartman To: Guenter Roeck Cc: stable@vger.kernel.org, Catalin Marinas , Will Deacon Subject: Re: [PATCH v3.18 v4.4] arm64: Add trace_hardirqs_off annotation in ret_to_user Message-ID: <20180926131344.GC7947@kroah.com> References: <1537923347-24107-1-git-send-email-linux@roeck-us.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1537923347-24107-1-git-send-email-linux@roeck-us.net> Sender: stable-owner@vger.kernel.org List-ID: On Tue, Sep 25, 2018 at 05:55:47PM -0700, Guenter Roeck wrote: > From: Catalin Marinas > > commit db3899a6477a4dccd26cbfb7f408b6be2cc068e0 upstream. > > When a kernel is built with CONFIG_TRACE_IRQFLAGS the following warning > is produced when entering userspace for the first time: > > WARNING: at /work/Linux/linux-2.6-aarch64/kernel/locking/lockdep.c:3519 > Modules linked in: > CPU: 1 PID: 1 Comm: systemd Not tainted 4.4.0-rc3+ #639 > Hardware name: Juno (DT) > task: ffffffc9768a0000 ti: ffffffc9768a8000 task.ti: ffffffc9768a8000 > PC is at check_flags.part.22+0x19c/0x1a8 > LR is at check_flags.part.22+0x19c/0x1a8 > pc : [] lr : [] pstate: 600001c5 > sp : ffffffc9768abe10 > x29: ffffffc9768abe10 x28: ffffffc9768a8000 > x27: 0000000000000000 x26: 0000000000000001 > x25: 00000000000000a6 x24: ffffffc00064be6c > x23: ffffffc0009f249e x22: ffffffc9768a0000 > x21: ffffffc97fea5480 x20: 00000000000001c0 > x19: ffffffc00169a000 x18: 0000005558cc7b58 > x17: 0000007fb78e3180 x16: 0000005558d2e238 > x15: ffffffffffffffff x14: 0ffffffffffffffd > x13: 0000000000000008 x12: 0101010101010101 > x11: 7f7f7f7f7f7f7f7f x10: fefefefefefeff63 > x9 : 7f7f7f7f7f7f7f7f x8 : 6e655f7371726964 > x7 : 0000000000000001 x6 : ffffffc0001079c4 > x5 : 0000000000000000 x4 : 0000000000000001 > x3 : ffffffc001698438 x2 : 0000000000000000 > x1 : ffffffc9768a0000 x0 : 000000000000002e > Call trace: > [] check_flags.part.22+0x19c/0x1a8 > [] lock_is_held+0x80/0x98 > [] __schedule+0x404/0x730 > [] schedule+0x44/0xb8 > [] ret_to_user+0x0/0x24 > possible reason: unannotated irqs-off. > irq event stamp: 502169 > hardirqs last enabled at (502169): [] el0_irq_naked+0x1c/0x24 > hardirqs last disabled at (502167): [] __do_softirq+0x17c/0x298 > softirqs last enabled at (502168): [] __do_softirq+0x1fc/0x298 > softirqs last disabled at (502143): [] irq_exit+0xa0/0xf0 > > This happens because we disable interrupts in ret_to_user before calling > schedule() in work_resched. This patch adds the necessary > trace_hardirqs_off annotation. > > Signed-off-by: Catalin Marinas > Reported-by: Mark Rutland > Cc: Will Deacon > Signed-off-by: Will Deacon > --- > Without this patch and CONFIG_TRACE_IRQFLAGS enabled, the mentioned warning > is seen in v3.18.y and v4.4.y. The patch applies cleanly to both releases. > I confirmed that the problem is gone after applying it. Now applied, thanks. greg k-h