Message ID | 271b3de6a35cd1d184f8c0a21afc0d801bc0b250.1562908074.git.viresh.kumar@linaro.org |
---|---|
State | Superseded |
Headers | show
Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp394268ilk; Thu, 11 Jul 2019 22:29:05 -0700 (PDT) X-Google-Smtp-Source: APXvYqx7t/dstBJlCuLx04rgbEnNHkmOAnjm13KuN2JLym9pZihNGR/7iAPY06QYmdsQGXIpZ8/d X-Received: by 2002:a17:902:8f81:: with SMTP id z1mr8956689plo.290.1562909345865; Thu, 11 Jul 2019 22:29:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562909345; cv=none; d=google.com; s=arc-20160816; b=soeirbilMkn/aKv2gBGUXo4lkjrDQr+7BsFiy3VYcMEgFeqldIqt1lcdvro+nVLzra U4RnSck3eGYWRr/LWSQsGGbbJmK16K78jgnAMXgho0pe1RLVn+sv+p9JXv7Cn2HGf+tG YPrEm8F8bfwZinbQl7G0eHZo3L7bQCfFuZ9TluP7EfoylRBZ73aeR1xZcKoS2+26jWth 1pj4Klnpgl+w0uu4h7NIOmPya0rZkdHTOCjHfKrUPq4Zie/laCdHPs0YapFy9oDiYpKX mQuyx6SHylz21tjEGgyz1+bNNlGTmTypwZD+Kkjxi6tjXnluvbI/zcf5uqXV7o48mN69 My7A== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=QZmd1kVLh8a0enxFfoIC/p5hW82ft4CjkM7ASI4iKD4=; b=j5uCea7W+temlu3gXNjjbmtJ4xIErxqtK+CGZS/R9luMOlXGaUcyCYo4Kar2fD9+JZ 2o3D/KG4c7lhKw490jIxtvlu0C8okUdUZetz3816Pfd0THL0YHPzOt0VOqbtIR48F2Bf awExVyBYbBAItb7Fe01PJJW3Qi9jLVf/pXqsGcnAc+2D7mqYgy1q43/3e+6D2rTpeaZ2 eGe4vgDJEU2dBuASMRyKolDfIHyal0Sl6QmdjNeXV+K2peFf4jicoEmR+DcYpLWsRwln Ua0A+YIHCob9FaEaYP0BIVZmUlf4T2ZSVrwSm2KePkELAST6lCXwk4ImQw8j4FlMVuuo /xOg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JprPlE3j; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: <stable-owner@vger.kernel.org> Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e36si5303191pgm.17.2019.07.11.22.29.05; Thu, 11 Jul 2019 22:29:05 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-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=@linaro.org header.s=google header.b=JprPlE3j; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725871AbfGLF3F (ORCPT <rfc822;matthew.hart@linaro.org> + 13 others); Fri, 12 Jul 2019 01:29:05 -0400 Received: from mail-pl1-f195.google.com ([209.85.214.195]:44174 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725791AbfGLF3E (ORCPT <rfc822;stable@vger.kernel.org>); Fri, 12 Jul 2019 01:29:04 -0400 Received: by mail-pl1-f195.google.com with SMTP id t14so4186401plr.11 for <stable@vger.kernel.org>; Thu, 11 Jul 2019 22:29:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QZmd1kVLh8a0enxFfoIC/p5hW82ft4CjkM7ASI4iKD4=; b=JprPlE3jWUXLSHH6IEYKpZVLFEmbjwTJ1SlcNpUv0d1GSCe8JK/f0tNUq3RBbyxDEh YaDWpMtRy3kUkllP6k3WuFY7bT6cKPm4KygCT/04Oos2vO+SVgCzlgkPuZ6Xu86jBZYL +joRbYQT8HwYfhxbbhQOeFxZKodJnr7G//LB9Lgd6sS6X7pnWILRwWrvwv7pwn92phHu 2BN/4SfoVMRM1fdlzw8BG9jH+cYIHFnui69Xb6O7cq93/IiqXBB7NpgD6CYe2XA87Kb0 /vcznTUHRGLdUeHKNW20eSp7yGm7eew+5xU0ZVYuqZO7qU5Kqb4wNcP5DHcXhFQGpWi5 YpzQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=QZmd1kVLh8a0enxFfoIC/p5hW82ft4CjkM7ASI4iKD4=; b=LZbVTkiTdDTvwVtCmkIw74gX9ve0ymqh4Moxka8OBhpCC3LhmqJofSC5jdwJxgaIoD mgnF4FDQtWGXjULE0SPTaHSdMHvSjBUKPmfNbhf3f71xcctuMWpbsRAcRyVzvkuy93g7 C7I0v3s8FKpkSOQWvx0C3ElXAKPHuVjYqd7+XbOztBD75GZS1gv2OHFV/DJ9yjgr0GWS PFSa/eaadpWEpD8u3cICteBxNAqKWdbtkN1DWw23wmBAyi6OFcwVgAFRy6uOBu60UnB8 OrHc8Nh2Q4XVWVRTteWKneu8jIfswmPZsUHC8CPKuNBPioYYUbWS0POWumVYRhJwoBdf qO6g== X-Gm-Message-State: APjAAAWKTa6Hc8W7jsZPM07AHiJGr4Ts9u/3RGC/HHt+UU6Ya2Mb3Iqc 9uhdBmbifLBN5LNC8mdkEtyFBY95csY= X-Received: by 2002:a17:902:7043:: with SMTP id h3mr9559497plt.10.1562909344101; Thu, 11 Jul 2019 22:29:04 -0700 (PDT) Received: from localhost ([122.172.28.117]) by smtp.gmail.com with ESMTPSA id b37sm14696355pjc.15.2019.07.11.22.29.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jul 2019 22:29:03 -0700 (PDT) From: Viresh Kumar <viresh.kumar@linaro.org> To: stable@vger.kernel.org, Julien Thierry <Julien.Thierry@arm.com> Cc: Viresh Kumar <viresh.kumar@linaro.org>, linux-arm-kernel@lists.infradead.org, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <marc.zyngier@arm.com>, Mark Rutland <mark.rutland@arm.com>, Will Deacon <will.deacon@arm.com>, Russell King <rmk+kernel@arm.linux.org.uk>, Vincent Guittot <vincent.guittot@linaro.org>, mark.brown@arm.com Subject: [PATCH v4.4 V2 02/43] arm64: Implement array_index_mask_nospec() Date: Fri, 12 Jul 2019 10:57:50 +0530 Message-Id: <271b3de6a35cd1d184f8c0a21afc0d801bc0b250.1562908074.git.viresh.kumar@linaro.org> X-Mailer: git-send-email 2.21.0.rc0.269.g1a574e7a288b In-Reply-To: <cover.1562908074.git.viresh.kumar@linaro.org> References: <cover.1562908074.git.viresh.kumar@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: <stable.vger.kernel.org> X-Mailing-List: stable@vger.kernel.org |
Series |
V4.4 backport of arm64 Spectre patches
|
expand
|
diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barrier.h index 574486634c62..7c25e3e11b6d 100644 --- a/arch/arm64/include/asm/barrier.h +++ b/arch/arm64/include/asm/barrier.h @@ -37,6 +37,27 @@ #define dma_rmb() dmb(oshld) #define dma_wmb() dmb(oshst) +/* + * Generate a mask for array_index__nospec() that is ~0UL when 0 <= idx < sz + * and 0 otherwise. + */ +#define array_index_mask_nospec array_index_mask_nospec +static inline unsigned long array_index_mask_nospec(unsigned long idx, + unsigned long sz) +{ + unsigned long mask; + + asm volatile( + " cmp %1, %2\n" + " sbc %0, xzr, xzr\n" + : "=r" (mask) + : "r" (idx), "Ir" (sz) + : "cc"); + + csdb(); + return mask; +} + #define smp_mb() dmb(ish) #define smp_rmb() dmb(ishld) #define smp_wmb() dmb(ishst)