Received: by 10.213.65.68 with SMTP id h4csp713779imn; Sun, 25 Mar 2018 11:11:47 -0700 (PDT) X-Google-Smtp-Source: AG47ELvIQJ5Nv5e6rmLEbsJ29pj9wgEqO8C7EHwnNCc5aW6Js/9aBpRUQ8KyLgxazLnrW5vA1Vy8 X-Received: by 10.101.85.71 with SMTP id t7mr26427102pgr.386.1522001507300; Sun, 25 Mar 2018 11:11:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522001507; cv=none; d=google.com; s=arc-20160816; b=Vw+IVTz3/gflJs2vZx1FofRKFa7lEBN2moL7cwrBN3tjXg50Jc2qjS0Hq5XJhlCenz HyOS9RcS25ThsTGf+isPffdpG5gFst6wVVdmCieZ9wbfGZmtucbMLYEQz4y6SxWmiB4Z juaKmNJu/AWxS12oG4rnWfoqIobDaQee2l7MmJ14kgY1GXotAhsVw7VTuoiTGAgOGnIF Jg95i5dsQzDU/jnDEziNBBTW5YdLO9iRTpysUA32yWONlcXTwJPG3T4xYhrNlilLTmAs zuTWDwHyKVvdjklaQ/EqH0zAPBSiXe/pQMIifWr5saMZ3pDehkUKEXuaadjx0Kp7jUzU 00gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:dkim-signature:references:in-reply-to :message-id:date:subject:cc:to:from:arc-authentication-results; bh=F6OAwV2hwIiZBhgimnKcc2cTJS48RFPZDA+4Z5AEng0=; b=sdPG1BJmHoUws+2clHcKTO9z9q+0oC6G+bP5dLTWJ+L7H2fQj2QcPKZnALLSCuIKz7 etDiivLmWClIk1oALeZPqumRkWjrBWAtgHb/MfbCSCJRjAFKXeOpNbS3Kgbz/ReMW6qH T7MbCzL0O7M/UBXoRAL8825iJcHgtwharRkJGBeSsCSi9hKax89Ombbctp9bhy+wtvCz gt0sXKRUshU+rw6s7O3Tir7v6jbXpXfuJJ8oir/pkLBiuFTV7Bb6B9zakHL8LnjpepKu TPX7QInWnZQLC1RAJP3hd/pb1Kxqx2HTXhZZKFqxhMb866ya522LwAOaUAZo3mJJdg96 7ijA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@agner.ch header.s=dkim header.b=X84V4kme; 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 p5si1398588pga.391.2018.03.25.11.11.33; Sun, 25 Mar 2018 11:11:47 -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; dkim=pass header.i=@agner.ch header.s=dkim header.b=X84V4kme; 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 S1753936AbeCYSKP (ORCPT + 99 others); Sun, 25 Mar 2018 14:10:15 -0400 Received: from mail.kmu-office.ch ([178.209.48.109]:54684 "EHLO mail.kmu-office.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751597AbeCYSKG (ORCPT ); Sun, 25 Mar 2018 14:10:06 -0400 Received: from trochilidae.lan (unknown [IPv6:2001:1620:c6e:0:814c:3584:bd88:6cb6]) by mail.kmu-office.ch (Postfix) with ESMTPSA id 673445C1FBE; Sun, 25 Mar 2018 20:09:37 +0200 (CEST) From: Stefan Agner To: linux@armlinux.org.uk, ard.biesheuvel@linaro.org, arnd@arndb.de Cc: robin.murphy@arm.com, nicolas.pitre@linaro.org, marc.zyngier@arm.com, behanw@converseincode.com, keescook@chromium.org, Bernhard.Rosenkranzer@linaro.org, mka@chromium.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Stefan Agner Subject: [PATCH v2 6/6] ARM: uaccess: remove const to avoid duplicate specifier Date: Sun, 25 Mar 2018 20:09:59 +0200 Message-Id: <20180325180959.28008-7-stefan@agner.ch> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180325180959.28008-1-stefan@agner.ch> References: <20180325180959.28008-1-stefan@agner.ch> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=agner.ch; s=dkim; t=1522001377; bh=F6OAwV2hwIiZBhgimnKcc2cTJS48RFPZDA+4Z5AEng0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=X84V4kmeWKlVyaJ3fjg07HuZ3M+QDIjlJXJ0l0UFtKxCtvsuqzTXTzFtouK7sDQn2cH3zegS1zKQhkkDKA1NXQvzV0dLG7jKpHbf5C9mb9jVzqUhJlXCf6UleBgfV9FBfsvK08U2tFVPFKjZ2H9YcyrqFQao9+gXgivnpvxyYrQ= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Some users of get_user use the macro with an argument p which is already specified as static. When using clang this leads to a duplicate specifier: CC arch/arm/kernel/process.o In file included from init/do_mounts.c:15: In file included from ./include/linux/tty.h:7: In file included from ./include/uapi/linux/termios.h:6: In file included from ./arch/arm/include/generated/uapi/asm/termios.h:1: ./include/asm-generic/termios.h:25:6: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] if (get_user(tmp, &termio->c_iflag) < 0) ^ ./arch/arm/include/asm/uaccess.h:195:3: note: expanded from macro 'get_user' __get_user_check(x, p); \ ^ ./arch/arm/include/asm/uaccess.h:155:12: note: expanded from macro '__get_user_check' register const typeof(*(p)) __user *__p asm("r0") = (p);\ Remove the const attribute from the register declaration to avoid the duplicate const specifier. In a test with ptrace.c and traps.c (both using get_user with non-const arguments for p) the generated code was exactly the same. Signed-off-by: Stefan Agner --- Similar issue has already been discussed here: https://patchwork.kernel.org/patch/9693821/ arch/arm/include/asm/uaccess.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h index 0bf2347495f1..3d614e90c19f 100644 --- a/arch/arm/include/asm/uaccess.h +++ b/arch/arm/include/asm/uaccess.h @@ -152,7 +152,7 @@ extern int __get_user_64t_4(void *); #define __get_user_check(x, p) \ ({ \ unsigned long __limit = current_thread_info()->addr_limit - 1; \ - register const typeof(*(p)) __user *__p asm("r0") = (p);\ + register typeof(*(p)) __user *__p asm("r0") = (p); \ register typeof(x) __r2 asm("r2"); \ register unsigned long __l asm("r1") = __limit; \ register int __e asm("r0"); \ -- 2.16.2