Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp471900pxf; Wed, 10 Mar 2021 09:52:11 -0800 (PST) X-Google-Smtp-Source: ABdhPJxM6PPCieaZL33g+gOXzUyjNjMwNmwdyWbjRwF2gIVw4Xe5VcJvICBp6BOZA2L2DxbB/aeD X-Received: by 2002:aa7:d156:: with SMTP id r22mr4762092edo.18.1615398730843; Wed, 10 Mar 2021 09:52:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615398730; cv=none; d=google.com; s=arc-20160816; b=lckph2vfVLP9mqMxHP82FY1mBOjrHD3LFAntVTPOMsT1RpsmlEz7pH64a8l0DebKv1 ivSNPdBqDciFWcXBtKyvV42JCpKFQxOFrmn933hezlY6zbMGUVnoXqfCmN9ZbeTD+Hat CaoehtiFPtyBF6vDef1zvBvdsX2KG7nwOlgBZI/v0bKzLUoiwGmVk/34qHke9dBRkcap UX50536fTAHcL8zrDQuQcx/OIU2xhGaftRRWm1LM9obkCIb3mykQwJMmDky6vhE64GJz nxd2dryMkm2UZzun+vU0mTPFstrpbVqcD+WUIG4r7aUr4ae1nTjgeDs8I2kF/gyZdsz5 Q24g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:date:cc:to:subject:from:references:in-reply-to :message-id; bh=fWlPH31sZXHrU07LiGHrWtv53ZFE5aeXubib+WhDIRQ=; b=033lfOYmBukur1UxjQ8a3UB5LD+ws0bGy1y8+mkTw8k8HI7EymPOJivxMrpS/iEJp0 TB9/hhiHN0b9MyU91OMmyWHVWWH+5XsrVaJ5D4RLTENsUtWe/00oRrnLx0DPP6jMXY27 85yM3UUTrDMxrs6RZ7H5k4eaeqECa0J9LxLf59qhWSpU15oSmuBG2NJW1hIyMQ3QBWLa r4XPngA/y/lgqtfYv27/Qsj5Pcty2/LW8R6lju07MkIPy+sKzNV17JCqEvWvkyl6HvH/ bWJjZe/NR9KxVGHcb7rZY2+Gm75ovhCuc+uxNOu7mZyb57Cu33HvbqqKqSStlP7d9uYu oQ4g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d3si82689edq.276.2021.03.10.09.51.48; Wed, 10 Mar 2021 09:52:10 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233870AbhCJRr1 (ORCPT + 99 others); Wed, 10 Mar 2021 12:47:27 -0500 Received: from pegase1.c-s.fr ([93.17.236.30]:49854 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233555AbhCJRqu (ORCPT ); Wed, 10 Mar 2021 12:46:50 -0500 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 4Dwfdz5ftvz9tytT; Wed, 10 Mar 2021 18:46:47 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024) with ESMTP id NY-S0yFhFsXc; Wed, 10 Mar 2021 18:46:47 +0100 (CET) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 4Dwfdz3jMQz9tytQ; Wed, 10 Mar 2021 18:46:47 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 575B48B78E; Wed, 10 Mar 2021 18:46:49 +0100 (CET) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id K_QwKC49CTfC; Wed, 10 Mar 2021 18:46:49 +0100 (CET) Received: from po16121vm.idsi0.si.c-s.fr (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id E0BE48B78D; Wed, 10 Mar 2021 18:46:48 +0100 (CET) Received: by po16121vm.idsi0.si.c-s.fr (Postfix, from userid 0) id BE2BE67568; Wed, 10 Mar 2021 17:46:48 +0000 (UTC) Message-Id: <69f17d75046733b891ab2e668dbf464787cdf598.1615398265.git.christophe.leroy@csgroup.eu> In-Reply-To: References: From: Christophe Leroy Subject: [PATCH v2 09/15] powerpc/uaccess: Remove __chk_user_ptr() in __get/put_user To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Date: Wed, 10 Mar 2021 17:46:48 +0000 (UTC) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit d02f6b7dab82 ("powerpc/uaccess: Evaluate macro arguments once, before user access is allowed") changed the __chk_user_ptr() argument from the passed ptr pointer to the locally declared __gu_addr. But __gu_addr is locally defined as __user so the check is pointless. During kernel build __chk_user_ptr() voids and is only evaluated during sparse checks so it should have been armless to leave the original pointer check there. Nevertheless, this check is indeed redundant with the assignment above which casts the ptr pointer to the local __user __gu_addr. In case of mismatch, sparse will detect it there, so the __check_user_ptr() is not needed anywhere else than in access_ok(). Signed-off-by: Christophe Leroy --- arch/powerpc/include/asm/uaccess.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/arch/powerpc/include/asm/uaccess.h b/arch/powerpc/include/asm/uaccess.h index a6d3563cf3ee..a9f2639ca3a8 100644 --- a/arch/powerpc/include/asm/uaccess.h +++ b/arch/powerpc/include/asm/uaccess.h @@ -78,7 +78,6 @@ __pu_failed: \ __typeof__(size) __pu_size = (size); \ \ might_fault(); \ - __chk_user_ptr(__pu_addr); \ __put_user_size(__pu_val, __pu_addr, __pu_size, __pu_err); \ \ __pu_err; \ @@ -197,7 +196,6 @@ extern long __get_user_bad(void); #define __get_user_size_allowed(x, ptr, size, retval) \ do { \ retval = 0; \ - __chk_user_ptr(ptr); \ if (size > sizeof(x)) \ (x) = __get_user_bad(); \ switch (size) { \ @@ -230,7 +228,6 @@ do { \ __typeof__(*(ptr)) __user *__gu_addr = (ptr); \ __typeof__(size) __gu_size = (size); \ \ - __chk_user_ptr(__gu_addr); \ if (do_allow) { \ might_fault(); \ __get_user_size(__gu_val, __gu_addr, __gu_size, __gu_err); \ -- 2.25.0