Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp3226772ybt; Mon, 22 Jun 2020 19:05:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJynH8GlrmOGiBHmjtVcg6AFAh/ywskxYI8NO/HqsON1WE8ypFh0VWDJH82qrTIjQ9IQIQGV X-Received: by 2002:a17:906:2a94:: with SMTP id l20mr17742006eje.224.1592877921191; Mon, 22 Jun 2020 19:05:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592877921; cv=none; d=google.com; s=arc-20160816; b=zb4iChUrT5glxt3gaw0Nm8XqiA6LTmeGFs2waxuhcDd0IgKPTm4IfFsRK7ugkTIZj1 D9v2sjuPDpMEbOx7G5WuSYgsJNnll8tQQCsqaMlmMCjTi8qBjXqopeumOneyAlH6+0Ab CQ9t9BDYTTgFn4DpH3QEk1D12ZdeVVfFWXn8cl+pPvWsUDaByJmBNM5Ry5cK4gbT/ze2 3tNAD91EqWzQnR9cKGZQLykCzvM4Nv3xFl4VMQLQ+EVE8Xsd+/VS+tnCYBK3w8lQ/Icr nJGT1ygZwJJcB8DcM2gdIpi0CLfkwZ9BaGxDpJKNZ1VUmule7c1KF/+DnGUEjtMDEelz KqgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:dkim-signature:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=M5JpDj0By/NXP/evMyGItwbU3cOrKr1W3Gf6kJ1yhow=; b=LFZyBHfdjoeO3Xd/amebZq0GyQD8S8BaNyFVv6SDj5onrkSvobksNZhhpd5Z9FWV6q FRUlHEej4fN7ZtHwX+kzBw7bdmhU92tMg92jmr1P4yKz1Xe7Y5F2SItxRFSCMwM6Ktfh iGdnxqmDVk6s1m4/uYIo9/2k0P5Lg6hAaT64qx1eRD6DNfjppFXSQcCa4lODudH13VJg tNJ3JteI7PU3cG2F3cBDOR5OkH8Z443/BkRewYEKF7zm6Ur12cvT2wLHwptHbqG2/PfL 1uJLgq6NhFUXVJf+MZv8KR+/Eb+gV+CM1C+6Cwlt+nOpmoC7NsdwRmZjPRSeCablgRtT fIww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=FjAEsgqZ; 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=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r11si10714269edw.38.2020.06.22.19.04.58; Mon, 22 Jun 2020 19:05:21 -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=@nvidia.com header.s=n1 header.b=FjAEsgqZ; 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=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732150AbgFWAvf (ORCPT + 99 others); Mon, 22 Jun 2020 20:51:35 -0400 Received: from hqnvemgate26.nvidia.com ([216.228.121.65]:18765 "EHLO hqnvemgate26.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731750AbgFWAve (ORCPT ); Mon, 22 Jun 2020 20:51:34 -0400 Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate26.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Mon, 22 Jun 2020 17:51:21 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Mon, 22 Jun 2020 17:51:34 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Mon, 22 Jun 2020 17:51:34 -0700 Received: from [10.2.59.206] (10.124.1.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 23 Jun 2020 00:51:26 +0000 Subject: Re: [RESEND PATCH 1/3] nouveau: fix migrate page regression To: Ralph Campbell , , CC: Jerome Glisse , Christoph Hellwig , "Jason Gunthorpe" , Ben Skeggs References: <20200622233854.10889-1-rcampbell@nvidia.com> <20200622233854.10889-2-rcampbell@nvidia.com> From: John Hubbard Message-ID: <53751f8e-d901-df2e-a2e0-1b1484b31b81@nvidia.com> Date: Mon, 22 Jun 2020 17:51:26 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: <20200622233854.10889-2-rcampbell@nvidia.com> X-Originating-IP: [10.124.1.5] X-ClientProxiedBy: HQMAIL105.nvidia.com (172.20.187.12) To HQMAIL107.nvidia.com (172.20.187.13) Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1592873481; bh=M5JpDj0By/NXP/evMyGItwbU3cOrKr1W3Gf6kJ1yhow=; h=X-PGP-Universal:Subject:To:CC:References:From:Message-ID:Date: User-Agent:MIME-Version:In-Reply-To:X-Originating-IP: X-ClientProxiedBy:Content-Type:Content-Language: Content-Transfer-Encoding; b=FjAEsgqZOHCD5Y2lJ3rJvBJxyTDAAT7f2T2k3awy8TT3tw62KkqIEfBAVdDk7X0ar S9zdWi7YdDIsMwxtqRzep7bFKp83t1o2SgpFzjUvqkVeBfRG+OzDeRIdCcnACQhzYK zmrntuXB+iqInv0bFRNBVrUZ7cM8pvDhm3liuq+RROLpo+cdLteh0+SVXWYoqnjNqq vjCr/EvEFNCNO3I9kLzBFP1be2wa+1UaXCU6izslR7s/gfanxexhEL/jQv7WS8VCXU lR8/fxc36R9kwQdJE/HJKQnJQ79XUVBiqMz8zcY+4DvD5VLEuL0QdQMf4U+9Ak9m0K wmFk/TWgZw4Tg== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2020-06-22 16:38, Ralph Campbell wrote: > The patch to add zero page migration to GPU memory inadvertantly included inadvertently > part of a future change which broke normal page migration to GPU memory > by copying too much data and corrupting GPU memory. > Fix this by only copying one page instead of a byte count. > > Fixes: 9d4296a7d4b3 ("drm/nouveau/nouveau/hmm: fix migrate zero page to GPU") > Signed-off-by: Ralph Campbell > --- > drivers/gpu/drm/nouveau/nouveau_dmem.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_dmem.c b/drivers/gpu/drm/nouveau/nouveau_dmem.c > index e5c230d9ae24..cc9993837508 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_dmem.c > +++ b/drivers/gpu/drm/nouveau/nouveau_dmem.c > @@ -550,7 +550,7 @@ static unsigned long nouveau_dmem_migrate_copy_one(struct nouveau_drm *drm, > DMA_BIDIRECTIONAL); > if (dma_mapping_error(dev, *dma_addr)) > goto out_free_page; > - if (drm->dmem->migrate.copy_func(drm, page_size(spage), > + if (drm->dmem->migrate.copy_func(drm, 1, > NOUVEAU_APER_VRAM, paddr, NOUVEAU_APER_HOST, *dma_addr)) > goto out_dma_unmap; > } else { > I Am Not A Nouveau Expert, nor is it really clear to me how page_size(spage) came to contain something other than a page's worth of byte count, but this fix looks accurate to me. It's better for maintenance, too, because the function never intends to migrate "some number of bytes". It intends to migrate exactly one page. Hope I'm not missing something fundamental, but: Reviewed-by: John Hubbard