Received: by 2002:a05:6a10:6006:0:0:0:0 with SMTP id w6csp626095pxa; Thu, 27 Aug 2020 11:13:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyarG4FDkifgzl5HVd27Woh08/I3Da4//vt+fIBlllNzmKnxlhsyfLeMLg6+JFaMLmGReP5 X-Received: by 2002:a17:907:9487:: with SMTP id dm7mr8155382ejc.114.1598551979884; Thu, 27 Aug 2020 11:12:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598551979; cv=none; d=google.com; s=arc-20160816; b=pGRC0r8Dldje2L4DLkrRpFI5EMgkixltPXqBymeJ5A4PYbakJo1kNA55YkrT3DaE+1 GLbfTrrUoqkkgnfmExcNSWRcjpteMDGGXzPSS7RCynjnGfKSoh0uaajQrurzVi9P9FeX j701PuXp1xSUCjBMmr0QxGqYf20EIm8yNhPT/QxVhZFNENAMTuiohKxKJgv+3w/pqSjE tHfBz8Ysr6kHXHNOD7euPXl5ZcNZsp/O6vmv2xqbWmD3S9s14xVsO+REN809jKUQ80YG Sw2Er9t6H0RgjuT/v+o50w/UN5dVjotho8dTNS8RgZzaL0hlF6AO7F9v5rQOuzk12/Sd AC0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=KREGXn4/t3s7e5CIyfiu4egsTwbGYCgvl0gGhBZG56k=; b=IIY1f1TMLjc98pA4HWLJArUppsIE9Ccwm/wK58JQ+0hFC8hB87js/Jyf/8IItsv+0o xjiL6RUBCpqq1tHtyoFOwvg07VzGwv1zkLvxwdJ5HdbtBObjH+LwLdluAWkdLjSLihLC YHj6klpcN2SI6+wHdjNqg7AunYdGvcEgYo/UIGZWEx5FOwH3aQEiJo6j+IccxL74+umS phg5PSXVKT3T8AryGA0uWqi0ywWi8wRHF55/HO0sbaQe5PSyagHmoejP7+Yk8GRdV9A8 lF0CuS/UUtHwhYPpVcUbnDwajYFuT9sZAA16o/rK1ZQSsjgaMAqyloqwxBBn6auLcRZz 90/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=pdWPzuv9; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p8si1898726edr.299.2020.08.27.11.12.36; Thu, 27 Aug 2020 11:12:59 -0700 (PDT) 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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=pdWPzuv9; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727882AbgH0SJ2 (ORCPT + 99 others); Thu, 27 Aug 2020 14:09:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36136 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726802AbgH0SJ1 (ORCPT ); Thu, 27 Aug 2020 14:09:27 -0400 Received: from mail-ed1-x542.google.com (mail-ed1-x542.google.com [IPv6:2a00:1450:4864:20::542]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BC4FAC061264 for ; Thu, 27 Aug 2020 11:09:26 -0700 (PDT) Received: by mail-ed1-x542.google.com with SMTP id f24so5723438edw.10 for ; Thu, 27 Aug 2020 11:09:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=KREGXn4/t3s7e5CIyfiu4egsTwbGYCgvl0gGhBZG56k=; b=pdWPzuv9UrrlIrR12iKDrFKTe42OuIvz52MOw7kgtQPkiZbqI3BGx3to2tNYzRE06U Yuz6fPRIrlSkVofdwLHn99mxW59bCEkZMLH1YB0U9YPhbY29ZQDaZ5xFvIa1g42QPACa W1CmcjSUsUOjsoEoYdSE0LQBkj56GNh/FTj/CWMUcXz1e/AtJ/0ivdmxSZsONtZdNH6T Z1Te5DnZEmQo+9DEV4+eWn4C1hyRcaXFQfl6opbKwwfmAJQxnixz/ufCDC/IAxHQeXTM ysI/pUnVBJV3esGTnZFXJU2q+0qsN6qrCsAl12udkzMbmfwnDk/kqcLyc2VhfhjmD0H4 /TVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=KREGXn4/t3s7e5CIyfiu4egsTwbGYCgvl0gGhBZG56k=; b=uPyy3Jl+3C+WS4B+WWGLHe281CZ4LNXePklDWzxH0Cr5IGdLTBmiPHhltYI1wT+uA5 0bS1JvVZf/IeD0bzY4c7VP35XdDpu9SW6itO4IHQqzIDT/AtqcobWumqIIn/ktZ1zIri yRidWJpRaay3noWVriQ3fxxg+ofKw//7ZV1pPQNxVqNGb81+2yvQSO/kALGrv9aim+IE W+n9FZ8/vF2n5CzuwmkiXji+hbL+LwaHQOssXTMmoZo7rhyzU3y8Kq/JnytBecNk39yQ 9Ciut/vsusNaU7ixz51JVoZ+lKm4MAmADNqSCSVQIdJZkciPHvWo86phjnR3ryTGlK1N R25w== X-Gm-Message-State: AOAM531crqMupFH3RWCr9huIAFuU71lN0mDGFI6hpxjUGQn4FNUqCt8Y FmEQLADbMM9YKVRuL8MZCVw= X-Received: by 2002:a05:6402:15:: with SMTP id d21mr8934841edu.324.1598551765443; Thu, 27 Aug 2020 11:09:25 -0700 (PDT) Received: from localhost.localdomain (93-103-18-160.static.t-2.net. [93.103.18.160]) by smtp.gmail.com with ESMTPSA id p9sm2432351ejg.120.2020.08.27.11.09.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2020 11:09:24 -0700 (PDT) From: Uros Bizjak To: x86@kernel.org, linux-kernel@vger.kernel.org Cc: Uros Bizjak , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" Subject: [PATCH v2] x86: Use xorl %0,%0 in __get_user_asm Date: Thu, 27 Aug 2020 20:09:04 +0200 Message-Id: <20200827180904.96399-1-ubizjak@gmail.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org xorl %0,%0 is equivalent to xorq %0,%0 as both will zero the entire register. Use xorl %0,%0 for all operand sizes to avoid REX prefix byte when legacy registers are used and to avoid size prefix byte when 16bit registers are used. Zeroing the full register is OK in this use case. xorl %0,%0 also breaks register dependency chains, avoiding potential partial register stalls with 8 and 16bit operands. The patch lowers the size of .fixup section by 20 bytes. Changes since v1: - Rewrite commit message. Signed-off-by: Uros Bizjak Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: "H. Peter Anvin" --- arch/x86/include/asm/uaccess.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uaccess.h index ecefaffd15d4..2bffba2a1b23 100644 --- a/arch/x86/include/asm/uaccess.h +++ b/arch/x86/include/asm/uaccess.h @@ -343,7 +343,7 @@ do { \ "2:\n" \ ".section .fixup,\"ax\"\n" \ "3: mov %[efault],%[errout]\n" \ - " xor"itype" %[output],%[output]\n" \ + " xorl %k[output],%k[output]\n" \ " jmp 2b\n" \ ".previous\n" \ _ASM_EXTABLE_UA(1b, 3b) \ -- 2.26.2