Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp1354935pxb; Wed, 2 Feb 2022 03:06:54 -0800 (PST) X-Google-Smtp-Source: ABdhPJx4eBXseT6aT1zxWo+WLpuHLEsoPHaXReal/Bh++8ikDjC24WgUpQnm9AWQWb5rBW/ArkK4 X-Received: by 2002:aa7:8a14:: with SMTP id m20mr29124409pfa.63.1643800014152; Wed, 02 Feb 2022 03:06:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643800014; cv=none; d=google.com; s=arc-20160816; b=a9OWPLX/dzl/NynHBS9x3kha31FR6rnw56AQ9YTPD802aAOTWEBXVRkvuaYf740IHf lYsahJL3pT5i6LaNEOkT0fy2t8W/o4onJyDmMHD4F0+2+Y9F6an2GjzTOe0fL9g81m47 mt0Kqk8L4h/MGbhqEkAzuqL0DNK6TrqFA5lkb/32SFE5VZEMyIyyYr4tqfOGJECunzdd Na5yrT0CQF71ktADSdApnS+q+ybeh0B4ISTjSZZ6+DbJxcPfAjmk3ZrA1c5JThuAgFaS LMMd4TBgY4sbOmAkXBbh2tZ/BbZElDZhRsDP+t0aavxDBj9JPMuAzR5tlquvmTQTWDnf ejYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=p0PJJMIRjpabG82Db2BkgEWkwXsmVMEfTVi2vjGRhtw=; b=i68zc200GZi9vcIe2xlU8i1RkewJkCwLPKDxS0rPPqoR8NBy8On1OMLdSAforJstoE a+NUq+rBn+PXJuMtUAb2xn+stGC8JRaKvDP5SdhyYX/ns+I3r8x3D/kNgrwNjL4kFbkD IXkw2/jInMLg8ndz7a9aOTHxLFsXo8O120Wz3PooUGgnaNqeLC4L2C0QvLFfYotTMF/E FAAA8mzzTYqN1KstW61ZAN+XOQy+hNQvbiXoDxegmpK8VkyDp0W/OpqSXnr7LtQtvG4w rjE7JjawKGM6AB7c6PyA1/RGdZMAwxNxoHy8AIqSSMakAPb8bD9wSYJjM6/qgbhnVimK te2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=izEqZAN6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 195si18442856pga.696.2022.02.02.03.06.42; Wed, 02 Feb 2022 03:06:54 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=izEqZAN6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-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 S235260AbiBAIF1 (ORCPT + 99 others); Tue, 1 Feb 2022 03:05:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50702 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229895AbiBAIF0 (ORCPT ); Tue, 1 Feb 2022 03:05:26 -0500 Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 42890C061714 for ; Tue, 1 Feb 2022 00:05:26 -0800 (PST) Received: by mail-lj1-x233.google.com with SMTP id q22so22904262ljh.7 for ; Tue, 01 Feb 2022 00:05:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=p0PJJMIRjpabG82Db2BkgEWkwXsmVMEfTVi2vjGRhtw=; b=izEqZAN6elcstfVcTg/tMHTABwgB/UMX/WOkNRN//agL7z/6AQ8IQpDwjRbjFiOFyW NSBjTU+DIpdkHEZSRFsK6dVcNOQXPRBlm+IInH2I4wUMQzKZVRtRzB0KgyZg3h/sWkIF P+52Df+wsBiYo+fABOASc+LW2G3zz9xmANft5nYdfMcrNmXe9eCuLBu7ufKU7t845c0w qDT1+SS6cYJ+t5Acbj+TXosOfeB5NFVfglRyE7tANu/CnIgwimMAw8vHGbNFYvo9eoDv /ap5CD/+2MDDcxr82vy5XgYwsoCyOoR3ymgxdDClfxnWzEMk4tdJbPN0uZwLLmOONJyV v1ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=p0PJJMIRjpabG82Db2BkgEWkwXsmVMEfTVi2vjGRhtw=; b=hQ5NcL1J82rG8Pf93wMwckjYw87d4jlW3VX1d8Nn1nPHcW879cKPntLa8Z2G1zfqZG a1eg94JHhL+7mxRqm6Hrsnti38QE9KfBC6Hz/sJHEPP99D82CF9tJQ0YynueYI5lzGt1 pdIFpWcfWw+izUh3YWw3iSHQaZEq40bPBl4wX7gdhK5PY3b95iF7ssiDDdLZZx8RUg/Z iojl4ZxmEbTFq8soFlo3qANJrPz0DLpCPZRL3A4R4ZBTtRix3kFYGplX8XKSF2Sryf4t Bszz7F8CprmjSZHw8bvyIg2OTyb+ANir7ExlUGt2lhbF74hatsL0G5bHveG2vzNQplVN sB1w== X-Gm-Message-State: AOAM530t5swigA+QfJeXzCW1fxtt8JZ/nH9JnVT0bd4jssc/pyMxIoHs 9+Yh2Jv4PSwP+Ptf+k8q+eSwxdnRb+6gHYP9s0cRbf7eDxc= X-Received: by 2002:a2e:a405:: with SMTP id p5mr15566025ljn.121.1643702724483; Tue, 01 Feb 2022 00:05:24 -0800 (PST) MIME-Version: 1.0 References: <20220129150604.3461652-1-jordy@pwning.systems> In-Reply-To: From: Sumit Semwal Date: Tue, 1 Feb 2022 13:35:12 +0530 Message-ID: Subject: Re: [PATCH] dma-buf: heaps: Fix potential spectre v1 gadget To: John Stultz Cc: Jordy Zomer , linux-kernel@vger.kernel.org, Benjamin Gaignard , Liam Mark , Laura Abbott , Brian Starkey , =?UTF-8?Q?Christian_K=C3=B6nig?= , linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello Jordy, On Tue, 1 Feb 2022 at 02:09, John Stultz wrote: > > On Sat, Jan 29, 2022 at 7:06 AM Jordy Zomer wrote: > > > > It appears like nr could be a Spectre v1 gadget as it's supplied by a > > user and used as an array index. Prevent the contents > > of kernel memory from being leaked to userspace via speculative > > execution by using array_index_nospec. > > > > Signed-off-by: Jordy Zomer Thanks very much for your patch; I've pushed it to drm-misc-fixes, so we should see it in mainline soon. > > --- > > drivers/dma-buf/dma-heap.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/dma-buf/dma-heap.c b/drivers/dma-buf/dma-heap.c > > index 56bf5ad01ad5..8f5848aa144f 100644 > > --- a/drivers/dma-buf/dma-heap.c > > +++ b/drivers/dma-buf/dma-heap.c > > @@ -14,6 +14,7 @@ > > #include > > #include > > #include > > +#include > > #include > > #include > > #include > > @@ -135,6 +136,7 @@ static long dma_heap_ioctl(struct file *file, unsigned int ucmd, > > if (nr >= ARRAY_SIZE(dma_heap_ioctl_cmds)) > > return -EINVAL; > > > > + nr = array_index_nospec(nr, ARRAY_SIZE(dma_heap_ioctl_cmds)); > > /* Get the kernel ioctl cmd that matches */ > > kcmd = dma_heap_ioctl_cmds[nr]; > > Thanks for submitting this! It looks sane to me. > > Acked-by: John Stultz > > thanks > -john Best, Sumit.