Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp1021016iog; Wed, 29 Jun 2022 15:28:26 -0700 (PDT) X-Google-Smtp-Source: AGRyM1te/tFVeMqPDSdhghJcTfe4hGfj4udH3ROWD95lSPJPBqc1rOjPk7Y1/Rrdb9pt7uzSrBBP X-Received: by 2002:a17:907:9483:b0:726:bea5:7a87 with SMTP id dm3-20020a170907948300b00726bea57a87mr5566560ejc.629.1656541706517; Wed, 29 Jun 2022 15:28:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656541706; cv=none; d=google.com; s=arc-20160816; b=xcFbYCPlqOdAfi+DnLZb5c3txBANHXl3/19gFArYx1RH3dCgGfX9U99bkyblEFclR2 loCnHZh9OMsbLZqZYAAG0OsceDtocbEVBM1YR39qL1i7IHUUOOMfyCsIoOpHfdiyK+4S X/OkyozfXsgOHqecMAIIRY8/WlGtN6ke4DOiONnwfaXSLr4+vlhd6MpvdgZPj1VF7q/w jTHJM8bJbDiMaTPa+a7lDrX/HtTvqWMjU9Klk3BACxSfA7vE/pIRjUB/XWw5q/VZLhfA iuIjux3AyunNt648WjO2RTtcqsuCcAZMVX2kUcBDMsSSn1KPYEDapm3/LzyO+R+Y9wwb rXoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:to:content-language:subject:user-agent:mime-version:date :message-id:dkim-signature; bh=EmAS3fWGJGT6uB8asCRJBm5u0F+XChoQQyQNPpoyCEU=; b=boAju+9wbMQOjFhpqkQPPgRvp35z0IzbYYqkVcwYL5/UvM4wEyGL7JnPvCWuu0gCQY 7pXFRdkELLBkRm4+rvHYLuLx/Z93gCBmINZT315TdAPsUc/xSZZ9byfT2nJJkRZalOJG NDJzMZxFZ2MzbfVfDhyA7BpeSdCFXHJPSr1Wc064UccWDVqslgAWkJJrfI7YTMfDk/e6 bZxhU3CTH+JfQ5WK05XbQxSyq2DgXj/rtDm04SXarvsnsNWpmWeVsgcATZJMvoIaSLpC Ozq2o6zBsnwiSee2hcaIIqRRoDybVz/fMvRr/nXrm7gHoEoDrqdnsRqjhJkXbD1pDs5X cSNw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=GQAFeGCO; 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=collabora.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v24-20020a509558000000b0043576e473dcsi19858614eda.535.2022.06.29.15.27.23; Wed, 29 Jun 2022 15:28:26 -0700 (PDT) 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=@collabora.com header.s=mail header.b=GQAFeGCO; 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=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229975AbiF2WPn (ORCPT + 99 others); Wed, 29 Jun 2022 18:15:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40168 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229885AbiF2WPm (ORCPT ); Wed, 29 Jun 2022 18:15:42 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E10F6344FB for ; Wed, 29 Jun 2022 15:15:41 -0700 (PDT) Received: from [192.168.2.145] (109-252-118-164.nat.spd-mgts.ru [109.252.118.164]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dmitry.osipenko) by madras.collabora.co.uk (Postfix) with ESMTPSA id 38C876601926; Wed, 29 Jun 2022 23:15:39 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1656540939; bh=bhZaA7/Smyh0XRFzLMtb69xiZ0vjfNMCv3A/P8IEc9A=; h=Date:Subject:To:References:From:In-Reply-To:From; b=GQAFeGCODBDvgPPPfTOVe6b1O0JI9XmFrldGCjBUVPpAve5u+tifIgw3p+z0dsSzn MsxeZ2Ls/EYGoOsHY1YAnAcveilANEz78hi5n/PG/HP0KZJLqMOtqzSVfBCyGkxQ50 xVSwZ5CQMESPmzX2ZM+6zPRXJzxSRRU3mfxZLAe1CG+bnEaAVlLBUtfkY0p9pcyULc x0ib1AUlTSxC6M5gkhLw3zCsDw3SygmqdR9bI1xDJTZbQSAY0qqAPaCrq3jIxv29cS +tG2oDLZ12JWyDK6dNCjpDP151J9EGvoV503417rLmNtSbA7XoHSsryKTSATTIpHLW JmyGkm/q6YKxg== Message-ID: Date: Thu, 30 Jun 2022 01:15:36 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH v2] drm/virtio: Fix NULL vs IS_ERR checking in virtio_gpu_object_shmem_init Content-Language: en-US To: Miaoqian Lin , David Airlie , Gerd Hoffmann , Gurchetan Singh , Chia-I Wu , Daniel Vetter , dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org References: <20220602104223.54527-1-linmq006@gmail.com> From: Dmitry Osipenko In-Reply-To: <20220602104223.54527-1-linmq006@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 6/2/22 13:42, Miaoqian Lin wrote: > Since drm_prime_pages_to_sg() function return error pointers. > The drm_gem_shmem_get_sg_table() function returns error pointers too. > Using IS_ERR() to check the return value to fix this. > > Fixes: 2f2aa13724d5 ("drm/virtio: move virtio_gpu_mem_entry initialization to new function") > Signed-off-by: Miaoqian Lin > --- > changes in v2: > - Update Fixes tag. > - rebase the working tree. > v1 Link: https://lore.kernel.org/all/20211222072649.18169-1-linmq006@gmail.com/ > --- > drivers/gpu/drm/virtio/virtgpu_object.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/virtio/virtgpu_object.c b/drivers/gpu/drm/virtio/virtgpu_object.c > index f293e6ad52da..1cc8f3fc8e4b 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_object.c > +++ b/drivers/gpu/drm/virtio/virtgpu_object.c > @@ -168,9 +168,9 @@ static int virtio_gpu_object_shmem_init(struct virtio_gpu_device *vgdev, > * since virtio_gpu doesn't support dma-buf import from other devices. > */ > shmem->pages = drm_gem_shmem_get_sg_table(&bo->base); > - if (!shmem->pages) { > + if (IS_ERR(shmem->pages)) { > drm_gem_shmem_unpin(&bo->base); > - return -EINVAL; > + return PTR_ERR(shmem->pages); > } > > if (use_dma_api) { Sorry for noticing this late. This patch is incorrect because shmem->pages must be NULLed on error, otherwise virtio_gpu_cleanup_object() will crash :/ I also had a patch that fixes this problem [1] and it did it properly. I see that this patch is in -next already, so will update my patch to fix the fix now. [1] https://vanko.io/project/dri-devel/patch/20220526235040.678984-6-dmitry.osipenko@collabora.com/ -- Best regards, Dmitry