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=-7.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS 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 737ECC433E0 for ; Wed, 12 Aug 2020 01:33:38 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 2F917206B2 for ; Wed, 12 Aug 2020 01:33:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZsMRZfU7" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2F917206B2 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linux-foundation.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id D38A68D002A; Tue, 11 Aug 2020 21:33:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CE91A8D0001; Tue, 11 Aug 2020 21:33:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD9928D002A; Tue, 11 Aug 2020 21:33:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0064.hostedemail.com [216.40.44.64]) by kanga.kvack.org (Postfix) with ESMTP id A5AE48D0001 for ; Tue, 11 Aug 2020 21:33:37 -0400 (EDT) Received: from smtpin04.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 664FB824805A for ; Wed, 12 Aug 2020 01:33:37 +0000 (UTC) X-FDA: 77140194474.04.ants71_420271726fe7 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin04.hostedemail.com (Postfix) with ESMTP id 1C92A80105B2 for ; Wed, 12 Aug 2020 01:33:37 +0000 (UTC) X-HE-Tag: ants71_420271726fe7 X-Filterd-Recvd-Size: 3641 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf29.hostedemail.com (Postfix) with ESMTP for ; Wed, 12 Aug 2020 01:33:36 +0000 (UTC) Received: from localhost.localdomain (c-73-231-172-41.hsd1.ca.comcast.net [73.231.172.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 36AD82076C; Wed, 12 Aug 2020 01:33:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1597196015; bh=CG/U2p3T2OwqzNlDzXg0/ZXdyc0IFk29QMduACtniwQ=; h=Date:From:To:Subject:In-Reply-To:From; b=ZsMRZfU7RrB8I/A3oJKjxZLq3zSLh0XbCH9Z7tfcUStoDeFIiHqkZjrOUYJAiQbP+ IfbqewCkqy6ZlfDNdLTOi5BRkKnZUI26n+YjcPV4FsTABWf1ldDScmVpH9GsFNbxXi OErz+PlIw/NCSytRBvvEdcuSYPTtgTke+fGsx7iw= Date: Tue, 11 Aug 2020 18:33:34 -0700 From: Andrew Morton To: akpm@linux-foundation.org, deanbo422@gmail.com, geert@linux-m68k.org, green.hu@gmail.com, hch@lst.de, linux-mm@kvack.org, linux@roeck-us.net, mm-commits@vger.kernel.org, nickhu@andestech.com, palmer@dabbelt.com, paul.walmsley@sifive.com, torvalds@linux-foundation.org Subject: [patch 063/165] syscalls: use uaccess_kernel in addr_limit_user_check Message-ID: <20200812013334.txdfnVKD7%akpm@linux-foundation.org> In-Reply-To: <20200811182949.e12ae9a472e3b5e27e16ad6c@linux-foundation.org> User-Agent: s-nail v14.8.16 X-Rspamd-Queue-Id: 1C92A80105B2 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam01 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: From: Christoph Hellwig Subject: syscalls: use uaccess_kernel in addr_limit_user_check Patch series "clean up address limit helpers", v2. In preparation for eventually phasing out direct use of set_fs(), this series removes the segment_eq() arch helper that is only used to implement or duplicate the uaccess_kernel() API, and then adds descriptive helpers to force the kernel address limit. This patch (of 6): Use the uaccess_kernel helper instead of duplicating it. [hch@lst.de: arm: don't call addr_limit_user_check for nommu] Link: http://lkml.kernel.org/r/20200721045834.GA9613@lst.de Link: http://lkml.kernel.org/r/20200714105505.935079-1-hch@lst.de Link: http://lkml.kernel.org/r/20200710135706.537715-1-hch@lst.de Link: http://lkml.kernel.org/r/20200710135706.537715-2-hch@lst.de Signed-off-by: Christoph Hellwig Acked-by: Linus Torvalds Tested-by: Guenter Roeck Cc: Nick Hu Cc: Greentime Hu Cc: Vincent Chen Cc: Paul Walmsley Cc: Palmer Dabbelt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton --- arch/arm/kernel/signal.c | 2 ++ include/linux/syscalls.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) --- a/arch/arm/kernel/signal.c~syscalls-use-uaccess_kernel-in-addr_limit_user_check +++ a/arch/arm/kernel/signal.c @@ -713,7 +713,9 @@ struct page *get_signal_page(void) /* Defer to generic check */ asmlinkage void addr_limit_check_failed(void) { +#ifdef CONFIG_MMU addr_limit_user_check(); +#endif } #ifdef CONFIG_DEBUG_RSEQ --- a/include/linux/syscalls.h~syscalls-use-uaccess_kernel-in-addr_limit_user_check +++ a/include/linux/syscalls.h @@ -263,7 +263,7 @@ static inline void addr_limit_user_check return; #endif - if (CHECK_DATA_CORRUPTION(!segment_eq(get_fs(), USER_DS), + if (CHECK_DATA_CORRUPTION(uaccess_kernel(), "Invalid address limit on user-mode return")) force_sig(SIGKILL); _