Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1500947pxb; Thu, 4 Feb 2021 14:58:16 -0800 (PST) X-Google-Smtp-Source: ABdhPJyxQrDDqYalosZm0JrjWxRzJfgKJsWsb+x89Ha79OivtUWN7mJwlniUHaUa+XHjbs8OAc+s X-Received: by 2002:a17:906:aed1:: with SMTP id me17mr1333104ejb.190.1612479496251; Thu, 04 Feb 2021 14:58:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612479496; cv=none; d=google.com; s=arc-20160816; b=IhpJm8kJ5V+wHFeLeDQYT27afXSx2Eu9nM6zvAnCmcNFE10u48OwOg+P0u0feOi7pn 9cton/3PVMaxz4ietS5ojPjou+tmGDbiqK8aj28bMysoxnBPomE8OvM2KhfhMpyoNnlE h5V19ujflGtcYZBXGJAir5ytmC1pqC7G4/LANs4qO+ucpXEQ8PhCc1HFRe78CzsmJPvr vBbHfVDcYbhhJP1XnjzXZUyYBZYVEa+ArYlYuf6bfnGD7mYvVZFpWktWcP4vL4Kxerqu X+6pkhSSezpyzkTWggm5c+rkIvAPWt9gtNtHYRln9r6fqg4FO7Ua6aRzjdcbtad2EoyY eZNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=mdTwxZRVmDjNbDvFpGlHxe4YobP1MixFfZCkGPsWCxs=; b=yfU9+gjiiMEG1YBEg+/vuqQIjDCoRvvwYbmJ1byWyQpvtkEa2atcjv/sCjc1mn0JDT R9OixXJhIGAecS3uPl6OhvaAse/Hog4l9tLbo3jKSPHlllISb/i3bYyhjiXKbV7TQVmv VFSLGmaSOLljb2wu5vqMw+g6mS5lHmo1XLW6aWVFrS0g6ZSkLrtuNko6Ks4NLOIsLDh6 ggk0H5uiskB25rmc2ERlZYn39Ruzrs8qdw9bLj1jC8aWtPbsLqsYQE7y1Bdh/Um3VvVD qDWdW+uSoiQTnumizS2KoqqgUqp5KPBaY/OBUBwVi55hKFi5578HoXUntsi9h+xbUww6 NZaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="qCSC/wVa"; 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 a16si1369826eje.331.2021.02.04.14.57.52; Thu, 04 Feb 2021 14:58:16 -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; dkim=pass header.i=@gmail.com header.s=20161025 header.b="qCSC/wVa"; 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 S229731AbhBDWyz (ORCPT + 99 others); Thu, 4 Feb 2021 17:54:55 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50364 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229549AbhBDWyy (ORCPT ); Thu, 4 Feb 2021 17:54:54 -0500 Received: from mail-pg1-x534.google.com (mail-pg1-x534.google.com [IPv6:2607:f8b0:4864:20::534]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F1BE2C0613D6; Thu, 4 Feb 2021 14:54:13 -0800 (PST) Received: by mail-pg1-x534.google.com with SMTP id z21so3177290pgj.4; Thu, 04 Feb 2021 14:54:13 -0800 (PST) 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=mdTwxZRVmDjNbDvFpGlHxe4YobP1MixFfZCkGPsWCxs=; b=qCSC/wVatdr4qz/USj4a8Cm09DUro653to4ZGejSPTfuHxXsMrHxCpCtDgsbgoNr/1 Ticsyi1hD+0BKN2I+9oXDvYMJ5zcjTeCNxuhh050tDGo0pjzwAqt3iqLyq8fecaAyC9G ajJZEjYBlywf0SoTCwmZasrQgz46PGLYOiXeVQhrKIUdg5MRmuz2+iB8xgPCMIIzKrQL NyLGgw+LptN0tSEWvy1mSY5m+EdfJXy4tcdcJ1VDz+fhtK+IfO4o9FDtRkjt9exsQjnU Vu08fGozzk5eMj+v9QII9BhCTy3V8Vqi4SzwFkBzBSiSRzkpg18s9NQ74qyK8+hIZ0Ji HxpQ== 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=mdTwxZRVmDjNbDvFpGlHxe4YobP1MixFfZCkGPsWCxs=; b=G4X9aQup7ZpVC4Krk+kGgUclCN9UBHjjLxQSenCq5HEENjtUk9QnUfg3FAkpRfEt39 OW24c9h6ejUCzw7Nl8niGC5R4Tx/Q/2dDanGZ8ErV8QRWfIsxO9wIN/I09GB8df8o8b4 alVMjaMyMqzCVubT7oHA868yeZ5uQ2lguA2TIrxO066IfBG+QuRj+7wY6Rx1SuIIX0B3 uh8bSQIsEFW58xq0Xspe36oqamMHsOAxT7NZXIoondu5YhfcreoTAgxFgDZBryE9CDXa co34PYZ+8CZYSR9FYf0dhL0h7nRwZhV8fh7ESb2ez9/MuPqlRzYBx3pt8cBVbAYv517V jaUg== X-Gm-Message-State: AOAM533AHOQJJMBujs6vEM18aGUEzGHPn+bVI0BrbP/eaFPNc8ovGVRr bYhEC7tMuEFSSb3Yr8aDWMc= X-Received: by 2002:a63:7051:: with SMTP id a17mr1248360pgn.26.1612479253528; Thu, 04 Feb 2021 14:54:13 -0800 (PST) Received: from localhost (c-73-25-156-94.hsd1.or.comcast.net. [73.25.156.94]) by smtp.gmail.com with ESMTPSA id b65sm7277488pfg.3.2021.02.04.14.54.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Feb 2021 14:54:12 -0800 (PST) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: Rob Clark , Emil Velikov , Rob Clark , Sean Paul , David Airlie , Daniel Vetter , "Kristian H. Kristensen" , linux-arm-msm@vger.kernel.org (open list:DRM DRIVER FOR MSM ADRENO GPU), freedreno@lists.freedesktop.org (open list:DRM DRIVER FOR MSM ADRENO GPU), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] drm/msm: Fix legacy relocs path Date: Thu, 4 Feb 2021 14:56:49 -0800 Message-Id: <20210204225650.1284384-1-robdclark@gmail.com> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Rob Clark In moving code around, we ended up using the same pointer to copy_from_user() the relocs tables as we used for the cmd table entry, which is clearly not right. This went unnoticed because modern mesa on non-ancent kernels does not actually use relocs. But this broke ancient mesa on modern kernels. Reported-by: Emil Velikov Fixes: 20224d715a88 ("drm/msm/submit: Move copy_from_user ahead of locking bos") Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/msm_gem_submit.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm_gem_submit.c index d04c349d8112..5480852bdeda 100644 --- a/drivers/gpu/drm/msm/msm_gem_submit.c +++ b/drivers/gpu/drm/msm/msm_gem_submit.c @@ -198,6 +198,8 @@ static int submit_lookup_cmds(struct msm_gem_submit *submit, submit->cmd[i].idx = submit_cmd.submit_idx; submit->cmd[i].nr_relocs = submit_cmd.nr_relocs; + userptr = u64_to_user_ptr(submit_cmd.relocs); + sz = array_size(submit_cmd.nr_relocs, sizeof(struct drm_msm_gem_submit_reloc)); /* check for overflow: */ -- 2.29.2