From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2652AC4727D for ; Fri, 25 Sep 2020 14:08:55 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B14C921741 for ; Fri, 25 Sep 2020 14:08:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B14C921741 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arndb.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 179D36B005C; Fri, 25 Sep 2020 10:08:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 12BCF6B005D; Fri, 25 Sep 2020 10:08:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 040106B0062; Fri, 25 Sep 2020 10:08:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0060.hostedemail.com [216.40.44.60]) by kanga.kvack.org (Postfix) with ESMTP id E1E5A6B005C for ; Fri, 25 Sep 2020 10:08:53 -0400 (EDT) Received: from smtpin18.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 9E4C78249980 for ; Fri, 25 Sep 2020 14:08:53 +0000 (UTC) X-FDA: 77301764946.18.smash95_4714f9c27168 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin18.hostedemail.com (Postfix) with ESMTP id 7079510179D3D for ; Fri, 25 Sep 2020 14:08:53 +0000 (UTC) X-HE-Tag: smash95_4714f9c27168 X-Filterd-Recvd-Size: 5916 Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.135]) by imf44.hostedemail.com (Postfix) with ESMTP for ; Fri, 25 Sep 2020 14:08:52 +0000 (UTC) Received: from mail-qk1-f174.google.com ([209.85.222.174]) by mrelayeu.kundenserver.de (mreue012 [212.227.15.129]) with ESMTPSA (Nemesis) id 1Mkn8B-1kj0fN2Qkp-00mNda for ; Fri, 25 Sep 2020 16:08:50 +0200 Received: by mail-qk1-f174.google.com with SMTP id c2so2830575qkf.10 for ; Fri, 25 Sep 2020 07:08:50 -0700 (PDT) X-Gm-Message-State: AOAM531o/TXiZvIt5xKTLgOG5IaeNK32KXwzt0FXR2/Q5qTs+vf1Nynz PjNNbEbS3hC8Dg+sK/0eqAWZBQ7po9s6gUcCw9k= X-Google-Smtp-Source: ABdhPJyQJNrHwxmkVsXimz0oF76gP4lvp54BaArHPydGBupMZdO/Llk2RLPlSSrUMgxUBOdKl5ChKrJidt7yrr6I+Kw= X-Received: by 2002:a05:620a:15a7:: with SMTP id f7mr135330qkk.3.1601042929071; Fri, 25 Sep 2020 07:08:49 -0700 (PDT) MIME-Version: 1.0 References: <20200918124624.1469673-1-arnd@arndb.de> <20200919081906.GV1551@shell.armlinux.org.uk> In-Reply-To: <20200919081906.GV1551@shell.armlinux.org.uk> From: Arnd Bergmann Date: Fri, 25 Sep 2020 16:08:31 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 0/9] ARM: remove set_fs callers and implementation To: Russell King - ARM Linux admin Cc: Christoph Hellwig , Alexander Viro , "linux-kernel@vger.kernel.org" , Linux ARM , linux-arch , Linux-MM Content-Type: text/plain; charset="UTF-8" X-Provags-ID: V03:K1:vRzUJkshPBfHVRTuQNYIrFTjY1cviQkvImZVZ/zSWd9sJt3g2Cv uAtW/te79NHdKqOyYG8yPlImaMtvuV/YNth3/8nme+9OcdwVbd0BwDnbf86a1XKCU4h90PQ jPJNi714nk3YkhGZkIVELPo8ClU6+wpEOzIQ1oAsCSaL956KVLVeeH+eab0YnsbHFFrxkgn TLXqP5U3aiCSVbM2ZX2sg== X-UI-Out-Filterresults: notjunk:1;V03:K0:BuUAmBhzJQU=:bjXntWQ/FlJZSFJ4vpL3Qr BdXSvhmi6UQqiTTFUjf5MZhDIo5MbBWWp/OHHJyS5wJJ2zG6yHdKUweI040+mCfVqi+QUC3+9 CUB81tauXK3JLRGAs4OgzmTsVVQsmGVjXMOm7v8CE3h/SRY2H8VgoW8cVhMq0QLtGPyuy7z6f QptMT9ZTnF69aSMJYBvoA2F1UbcOIwx33y3aWfEiHzyOs+5R3r3agn+1VXLyvoNfyRdBMYCsQ m9uXq9IXJFlZ9bCbx0kVlo9ygoDjJgghygFAFern6e1/FJXFMzvnp3d0EdYQ8kH2k/UvRfcsd quXD3t08oJ/mDMGQcYjlFRAG3xo8/kQ/uMIMY8LAdctMiU9Tq0ymVaaoRE0xgdyv50tJ7g5pt MzyvVgp/o4RDesUKTolF6y9fOEszIU7dn6wwScbROworqcrlTGXMSDK572PjqjLmEJdRHFtDM LDfVzALWkLlNYmfNZDIpShM0Lm1Nf12BddpnDKLl1xsjdFYVA1cSo164CEsTvAbEPg9L0oI4q e/b+c8EGZsJPul8U/0zalI8aJ3zYlVk2LXfHKM1aXLktUiZW0MKsrC4XW37+nwjKYmZsqd7q2 3n0kCrDD5jO4eL0sFNI2ZX/YyuSZ/tBDxDK8XNJ9P//daduhZ6oXcj1I5CeJPRuS1cd0RdCkw 721jiK+uOWcDuHIDsBclghBfM0bh24CosCHUV7xfFwjiQJYm1lpsaHWWI70blOwr7TmQ7saxO XOzhsjPp+DtISauFD93W7fWBwgN0zW2jRkBG+6kUnmJMkUBDIPVT2QmixBwGqKfbxRK2KZA1m kJZnNWq70ifRlv9s8w0fmOHVan3KiGVZOl47OWw3qdLfh/VXcuLnq3M7YVvV04sLxNE08ENax vuM1i2xzYPXGteeIEnJWUQuwcPLs8jSW+fBo3pkyFIT8liceGUv2zhdDZ3UrMfE7ifyMZ1hv1 VfEG0ps77K5WSqJ2FHfTPyRysE5jsw6azL8YP8H9BFz+pBI7ITYgZ X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Sat, Sep 19, 2020 at 10:19 AM Russell King - ARM Linux admin wrote: > > On Fri, Sep 18, 2020 at 02:46:15PM +0200, Arnd Bergmann wrote: > > Hi Christoph, Russell, > > > > Here is an updated series for removing set_fs() from arch/arm, > > based on the previous feedback. > > > > I have tested the oabi-compat changes using the LTP tests for the three > > modified syscalls using an Armv7 kernel and a Debian 5 OABI user space, > > and I have lightly tested the get_kernel_nofault infrastructure by > > loading the test_lockup.ko module after setting CONFIG_DEBUG_SPINLOCK. > > I'm not too keen on always saving the syscall number, but for the gain > of getting rid of set_fs() I think it's worth it. However... > > I think there are some things to check - what value do you end up > with as the first number in /proc/self/syscall when you do: > > strace cat /proc/self/syscall > > ? > It should be 3, not 0x900003. I suspect you're getting the latter > with these changes. IIRC, task_thread_info(task)->syscall needs to > be the value _without_ the offset, otherwise tracing will break. It seems broken in different ways, depending on the combination of kernel and userland: 1. EABI armv5-versatile kernel, EABI Debian 5: $ cat /proc/self/syscall 0 0x1500000000003 0x1500000000400 0x1500000000400 0x60000013c7800480 0xc0008668c0112f8c 0xc0112d14c68e1f68 0xbeab06f8 0xb6e80d4c $ strace -f cat /proc/self/syscall execve("/bin/cat", ["cat", "/proc/self/syscall"], [/* 16 vars */]) = -1 EINTR (Interrupted system call) dup(2) = -1 EINTR (Interrupted system call) write(2, "strace: exec: Interrupted system "..., 38) = -1 EINTR (Interrupted system call) exit_group(1) = ? 2. EABI kernel, OABI Debian 5: $ cat /proc/self/syscall 3 0x1500000000003 0x13ccc00000400 0x1500000000400 0x60000013c7800480 0xc0008de0c0112f8c 0xc0112d14c7313f68 0xbeed27d0 0xb6eab324 $ strace cat /proc/self/syscall execve("/bin/cat", ["cat", "/proc/self/syscall"], [/* 16 vars */]) = -1090648236 --- SIGILL (Illegal instruction) @ 0 (0) --- +++ killed by SIGILL +++ 3. OABI kernel, OABI Debian 5: cat /proc/self/syscall 9437187 0x1500000000003 0x13ccc00000400 0x1500000000400 0x100060000013 0x15000c72cff6c 0xc72cfe9000000000 0xbece27d0 0xb6f2f324 $ strace cat /proc/self/syscall execve("/bin/cat", ["cat", "/proc/self/syscall"], [/* 16 vars */]) = -1095141548 --- SIGILL (Illegal instruction) @ 0 (0) --- +++ killed by SIGILL +++ I suspect the OABI strace in Debian is broken since it crashes on both kernels. I'll look into fixing the output without strace first then. Arnd