Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757948AbbGGQED (ORCPT ); Tue, 7 Jul 2015 12:04:03 -0400 Received: from mail-la0-f47.google.com ([209.85.215.47]:36712 "EHLO mail-la0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755116AbbGGQDy (ORCPT ); Tue, 7 Jul 2015 12:03:54 -0400 MIME-Version: 1.0 In-Reply-To: <20150707111234.GA13554@gmail.com> References: <20150707111234.GA13554@gmail.com> From: Andy Lutomirski Date: Tue, 7 Jul 2015 09:03:32 -0700 Message-ID: Subject: Re: [PATCH v5 00/17] x86: Rewrite exit-to-userspace code To: Ingo Molnar Cc: Andy Lutomirski , X86 ML , "linux-kernel@vger.kernel.org" , =?UTF-8?B?RnLDqWTDqXJpYyBXZWlzYmVja2Vy?= , Rik van Riel , Oleg Nesterov , Denys Vlasenko , Borislav Petkov , Kees Cook , Brian Gerst , Paul McKenney Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2414 Lines: 66 On Tue, Jul 7, 2015 at 4:12 AM, Ingo Molnar wrote: > > So this looks mostly problem free on my boxen, except this warning triggers: > > Adding 3911820k swap on /dev/sda2. Priority:-1 extents:1 across:3911820k > capability: warning: `dbus-daemon' uses 32-bit capabilities (legacy support in use) > ------------[ cut here ]------------ > WARNING: CPU: 1 PID: 2445 at arch/x86/entry/common.c:311 syscall_return_slowpath+0x4c/0x270() > syscall 6 left IRQs disabled > Modules linked in: > CPU: 1 PID: 2445 Comm: distccd Not tainted 4.2.0-rc1-01597-gaecd781-dirty #18 > 0000000000000000 00000000776afac2 ffff880035413e58 ffffffff81c8915f > 0000000000000000 ffff880035413eb0 ffff880035413e98 ffffffff810a8d82 > ffff880035413e78 ffff880035413f58 0000000020020002 ffff880035410000 > Call Trace: > [] dump_stack+0x4f/0x7b > [] warn_slowpath_common+0xa2/0xc0 > [] warn_slowpath_fmt+0x55/0x70 > [] syscall_return_slowpath+0x4c/0x270 > [] int_ret_from_sys_call+0x25/0x9f > ---[ end trace 083efc734e089d37 ]--- > device: 'vcs2': device_add > PM: Adding info for No Bus:vcs2 > device: 'vcsa2': device_add > > with ancient user-space, running the attached .config. > > The system booted up fine otherwise. The warning corresponds to: > > if (WARN(irqs_disabled(), "syscall %ld left IRQs disabled", > regs->orig_ax)) > local_irq_enable(); > > and this was just the regular startup of the distccd daemon during bootup, nothing > particularly fancy. > > Note that 'distccd' is a 32-bit ELF binary - and this is a 64-bit kernel. > > Syscall 6 would be: > > arch/x86/entry/syscalls/syscall_32.tbl:6 i386 close sys_close > > Thanks, > > Ingo It's irq state confusion in these lovely macros: #ifndef CONFIG_AUDITSYSCALL # define sysexit_audit ia32_ret_from_sys_call # define sysretl_audit ia32_ret_from_sys_call #endif Frankly, I'm amazed that the old code seems to have worked. I should have a patch for you later today. --Andy -- Andy Lutomirski AMA Capital Management, LLC -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/