Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp1354392imm; Wed, 17 Oct 2018 18:49:37 -0700 (PDT) X-Google-Smtp-Source: ACcGV61vY/h+15RdJQ9C8a9PQR1DgeTuc7xOnbYYiuSpS6Q5PcFMrNN9rzYaN4A4QwF1DZOj1HYi X-Received: by 2002:a63:e442:: with SMTP id i2-v6mr26851554pgk.381.1539827377902; Wed, 17 Oct 2018 18:49:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539827377; cv=none; d=google.com; s=arc-20160816; b=AXL1PM1vEDMdSx5ElMyOYg5iNf74y7lzgPy/xr2u/O3jC/baUGBe3wqx1/gRrT/J9Y wEY+4lOjzEVWtedB6RWNONKmXNEOdzThA0+6M91FYBy9nTtIhmlpqFdBW6vwzOfDH+qK DmqRPfimGQhBd6NJY3As8covwRnB7A70jxNsHeTstEMXTWpbbzkrbBT3gaz8X2QKKhgt JLTG+S8yQ6jCUEeCUqbEmSYtdMC2tKaz8CFQRasqYYBXpoDFiuk+XLZFg/YmjrL9oFAr tiDNsOmOubuC2NtrxSwkE5/5646DoPG67nA4gdZ3B0XM5Q44JPsNcW1Pe40C2C3FVPTM thsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:references :in-reply-to:subject:cc:cc:date:to:from; bh=O/KksI4Vod8Mtr79g3VzzAOYyNRskcgGtWFQglUpn4c=; b=LipNTrXQ7NK6Rh0KMVtqn4i2hkICIughx4OA2tZuTrjPir3klaDVW36oY9bNLeLm/i M41OLifDirbAHJTwl1bUlPDi+oNtg2C0BA6z34izHOfBmz/SMTNXQbKEd/7SCe6rxIRw PokoaAdyx1ILw8+2He1WJJebdrHxtXblfcGkkvcu+aJm5YHqdzo2lTrqOth/g0lOZ46p JsL+dMMpGk3gOd6+mSn8h/YfMfcWqkJ3SGfUAP+9JglqtIfOxhg9rUUJttVPkkaL3kTk Gg44F3QJmeX3crj9DWhVArYBDrfqd5m958oF4vU3MzYe5PtKD2bmVkuT/LAr5cOrjxAr 66vA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v124-v6si19276667pfv.1.2018.10.17.18.49.21; Wed, 17 Oct 2018 18:49:37 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727365AbeJRJqd (ORCPT + 99 others); Thu, 18 Oct 2018 05:46:33 -0400 Received: from mx2.suse.de ([195.135.220.15]:60206 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727040AbeJRJqd (ORCPT ); Thu, 18 Oct 2018 05:46:33 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "Cc" Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id CD094B060; Thu, 18 Oct 2018 01:47:59 +0000 (UTC) From: NeilBrown To: peterz@infradead.org, dsafonov@virtuozzo.com, luto@kernel.org, hpa@zytor.com, dvlasenk@redhat.com, luto@amacapital.net, torvalds@linux-foundation.org, bp@alien8.de, mingo@kernel.org, brgerst@gmail.com, linux-kernel@vger.kernel.org, tglx@linutronix.de, linux-tip-commits@vger.kernel.org Date: Thu, 18 Oct 2018 12:47:50 +1100 Cc: peterz@infradead.org, dsafonov@virtuozzo.com, luto@kernel.org, luto@amacapital.net, dvlasenk@redhat.com, hpa@zytor.com, mingo@kernel.org, torvalds@linux-foundation.org, bp@alien8.de, tglx@linutronix.de, linux-kernel@vger.kernel.org, brgerst@gmail.com Cc: James Simmons Subject: in_compat_syscall() returns from kernel thread for X86_32. In-Reply-To: References: <1460987025-30360-1-git-send-email-dsafonov@virtuozzo.com> Message-ID: <87h8hkc9fd.fsf@notabene.neil.brown.name> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Was: Re: [tip:x86/asm] x86/entry: Rename is_{ia32,x32}_task() to in_{ia32,x= 32}_syscall() On Tue, Apr 19 2016, tip-bot for Dmitry Safonov wrote: > Commit-ID: abfb9498ee1327f534df92a7ecaea81a85913bae > Gitweb: http://git.kernel.org/tip/abfb9498ee1327f534df92a7ecaea81a859= 13bae > Author: Dmitry Safonov > AuthorDate: Mon, 18 Apr 2016 16:43:43 +0300 > Committer: Ingo Molnar > CommitDate: Tue, 19 Apr 2016 10:44:52 +0200 > > x86/entry: Rename is_{ia32,x32}_task() to in_{ia32,x32}_syscall() > ... > @@ -318,7 +318,7 @@ static inline bool is_x32_task(void) >=20=20 > static inline bool in_compat_syscall(void) > { > - return is_ia32_task() || is_x32_task(); > + return in_ia32_syscall() || in_x32_syscall(); > } Hi, I'm reply to this patch largely to make sure I get the right people ..... This test is always true when CONFIG_X86_32 is set, as that forces in_ia32_syscall() to true. However we might not be in a syscall at all - we might be running a kernel thread which is always in 64 mode. Every other implementation of in_compat_syscall() that I found is dependant on a thread flag or syscall register flag, and so returns "false" in a kernel thread. Might something like this be appropriate? diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thre= ad_info.h index 2ff2a30a264f..c265b40a78f2 100644 =2D-- a/arch/x86/include/asm/thread_info.h +++ b/arch/x86/include/asm/thread_info.h @@ -219,7 +219,7 @@ static inline int arch_within_stack_frames(const void *= const stack, #ifndef __ASSEMBLY__ =20 #ifdef CONFIG_X86_32 =2D#define in_ia32_syscall() true +#define in_ia32_syscall() (!(current->flags & PF_KTHREAD)) #else #define in_ia32_syscall() (IS_ENABLED(CONFIG_IA32_EMULATION) && \ current_thread_info()->status & TS_COMPAT) This came up in the (no out-of-tree) lustre filesystem where some code needs to assume 32-bit mode in X86_32 syscalls, and 64-bit mode in kernel threads. Thanks, NeilBrown --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEG8Yp69OQ2HB7X0l6Oeye3VZigbkFAlvH5kYACgkQOeye3VZi gblD5g/6A37QFjzG+7EwrKekFwAvVpffPH+qq9wtN9Q8TGVub6adyC4TsvvDATCf zE7FFP/JRzCzUITd8KcnyzeYtIEmA+N/zxaoHWWDofC/EVJyWQ34pznV6Yu0e1vU HhGIyEkTntAGkucZl60L+4poInTmStgBN3jkTarhqeavTKBIhtATkuKegc0tgq3k AbLh4awH2VlmeD7/mVIUWYzhanf4/IlmpxkzKAmq3rw6zfUAbseLDe/ZJbFLVYoM SYFYxWLadjk7YToo+AO9jVBPWOTI8nVGYVTRpQ6tbZ8CYgzABQ98crNu3AghD/C3 xHtX8FjlLC/I8oRPO25RUaYDx85cSXo70MYReI9MujMunbj0KkkS9SUsHNvabqdD xtwDImMf8ZMKysPfAXpvLouDfjbOdcZMpMnZUdQuK7OuOfrK3F0HdBiUCUy45uaM O4n3Raq1H/Yz/LWv3YqwGS/1YjXx5OVmwyqwQvatf2pN2AKmo+ZnELcltWK267Zw NhlLDauCS2RkEi9e4wkJB5JsExEhhX0lvXiZXP2ErphXYiNQr+iVv+Plj4JO5OAI hPSPgV94O/2p4oQtQodDdcfTi3Y1OHwSYLGNVSQRWvkHeRwJ4VndJNhyFM8nR5/P 2P8OJgG/vHBNIfoHyx5sV1/n+r8BFmewq+nyf9NXaqiIfLZ/ziI= =Cmo3 -----END PGP SIGNATURE----- --=-=-=--