Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp104039rdg; Wed, 11 Oct 2023 23:18:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFUmeA3ae7PWDiNqoEUAx7xgJcCHNv2hHS4FU3eAJ255HJYBv1NLoKcNCkXQVFNhqBOerGG X-Received: by 2002:a05:6a21:a595:b0:16b:84a8:480c with SMTP id gd21-20020a056a21a59500b0016b84a8480cmr22871192pzc.48.1697091481114; Wed, 11 Oct 2023 23:18:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697091481; cv=none; d=google.com; s=arc-20160816; b=HQHBv1jIMZBVJqVyw4KQqHYN4cPFl5boPI/MF3vTSVYdgQHdP4mKJqa6+T3+W8Li7t d45F9SXy5dxa5XDEEQP4GHqu7lvjE823vvtaD0RDqY+AruXdExzUyViZyALiZiUhwVzX sTvChIthaJzquX7bmO+7N18xXiEnwL9RDiZ0Gryo0N5Tziumh+bAzpwi9k56kzWFy5wv +BRJRsBoU63yXVwrZu77ta4TPkW+mrBvGBrevo6pCiWsXgEXZk273rryhnM8ETVzDwkt 52wDl38SJaofTevuvzdud965cUxk2LZt520cFfftRwWUZshbZxuTexW8B2yZxRq8nToK HX+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=gosZTOF28yl4wwi+fp2cOIVguAXJ0rCtZc43mP/3F5M=; fh=ejA1aI+3G2r6nuEvtNjbXXdvu9SuTLemPL+tmIOmcko=; b=qMCt4VYjMwHz6rltjgoXLyDizyFicWZ2RjmeHSksgAEkryGAHb6a1jZHyfW6j0OdE2 NCwDEuawMLiSydD/IFl/iR0K3Je4FfMt9NPHA7ZHkmJOi8QfofPggjd/dCm+dPznVuFa s7B6OG+qImcEHWGKOSLUSUCjlmeon6rFcGofTaYeE3EDSA03wAj5wPDVPslpa3Kiml7w 3PtriW7VyJvsgNQwQYt1b2s/PRwXwE6O6yvfOFiBWS+EojQ0RBmYWrx5e0pbPyDZyKHH ITMTdD7mF7HDNgmGBeom4aSK1iqcsyZDH7pt6m6PJpUFxACs1/oHaPiHYJg05CGjmWz6 1i0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=lxOQX5jR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id z14-20020a17090a66ce00b002791d2ce94asi1593259pjl.81.2023.10.11.23.18.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Oct 2023 23:18:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=lxOQX5jR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id F36188212A80; Wed, 11 Oct 2023 23:17:59 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377241AbjJLGRy (ORCPT + 99 others); Thu, 12 Oct 2023 02:17:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47604 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347056AbjJLGRv (ORCPT ); Thu, 12 Oct 2023 02:17:51 -0400 Received: from mail-vk1-xa34.google.com (mail-vk1-xa34.google.com [IPv6:2607:f8b0:4864:20::a34]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 98418A9 for ; Wed, 11 Oct 2023 23:17:49 -0700 (PDT) Received: by mail-vk1-xa34.google.com with SMTP id 71dfb90a1353d-4a18f724d47so216290e0c.3 for ; Wed, 11 Oct 2023 23:17:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1697091468; x=1697696268; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=gosZTOF28yl4wwi+fp2cOIVguAXJ0rCtZc43mP/3F5M=; b=lxOQX5jR3Mpykz+9C4LauGfYwquVsjPSGrkSKbPf+VJlZo6QieIqDxfiK541ElETP5 hK69YDT6angl9A5fbxDXXj5QyRw7L7RAX3TzcCSv2R3MW386fvgVtbWrT4LhiDpHHrnX HDe4ulaQI1xz06hMuMkoTCnoXqEwQEhlXxrtI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697091468; x=1697696268; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gosZTOF28yl4wwi+fp2cOIVguAXJ0rCtZc43mP/3F5M=; b=lytBumLok2cxgXhQm1m575hqAAwQXpta8z2lQ5YSjj1UkPz+sFqbociHPcJZlHoSuK YZyXAG1pSUDTa68dhpEScvdL49p4Q8y09IprG8FqlpaVv0avgsFz6CPoqxzr68gufSx9 zBg0q1IGe4Ut1ElBz7OkXgoZq75PjcxYecgi3fG6yJ1MvS+RJBzwfyPBDLlJrOZPIP0o p6+GjP1IaVeMI9+OqM2qP4kn7qkATPxoP/vP98T/TO7Ipqzv5ZGhsJ2ETv8pMUJD4RRe 16HVpUofjX/k/Q1bUq1Fd8iS+yJeFo498I7bI+sIrTR+DMds7ejAvESLWLs/hx7Ruimx 622w== X-Gm-Message-State: AOJu0YwKXNJhgh8ojejpFYYuwAUi3icUcJSDeW87/01Rx14Igyoj+nKU 7fd7BB4uZtmm/YMUjwW2EKeJE37CEhV6ElYg+c8= X-Received: by 2002:a1f:e641:0:b0:49d:e70:6258 with SMTP id d62-20020a1fe641000000b0049d0e706258mr16665295vkh.3.1697091468053; Wed, 11 Oct 2023 23:17:48 -0700 (PDT) Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com. [209.85.219.41]) by smtp.gmail.com with ESMTPSA id ku15-20020a05622a0a8f00b00419732075b4sm5937929qtb.84.2023.10.11.23.17.47 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 11 Oct 2023 23:17:47 -0700 (PDT) Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-66cfef11a25so3686476d6.3 for ; Wed, 11 Oct 2023 23:17:47 -0700 (PDT) X-Received: by 2002:a0c:ef05:0:b0:656:55b0:6f55 with SMTP id t5-20020a0cef05000000b0065655b06f55mr20856812qvr.6.1697091466966; Wed, 11 Oct 2023 23:17:46 -0700 (PDT) MIME-Version: 1.0 References: <20231003091315.3919528-1-make_ruc2021@163.com> In-Reply-To: <20231003091315.3919528-1-make_ruc2021@163.com> From: Tomasz Figa Date: Thu, 12 Oct 2023 15:17:31 +0900 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2] media: videobuf2: Fix IS_ERR checking in vb2_vmalloc_put_userptr() To: Ma Ke Cc: m.szyprowski@samsung.com, mchehab@kernel.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS 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 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Wed, 11 Oct 2023 23:18:00 -0700 (PDT) On Tue, Oct 3, 2023 at 6:13=E2=80=AFPM Ma Ke wrote: > > In order to avoid error pointers from frame_vector_pages(), we could > use IS_ERR() to check the return value to fix this. This checking > operation could make sure that vector contains pages. > > Signed-off-by: Ma Ke > --- > drivers/media/common/videobuf2/videobuf2-vmalloc.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/common/videobuf2/videobuf2-vmalloc.c b/drivers= /media/common/videobuf2/videobuf2-vmalloc.c > index 7c635e292106..5aa66305546d 100644 > --- a/drivers/media/common/videobuf2/videobuf2-vmalloc.c > +++ b/drivers/media/common/videobuf2/videobuf2-vmalloc.c > @@ -133,13 +133,15 @@ static void vb2_vmalloc_put_userptr(void *buf_priv) > > if (!buf->vec->is_pfns) { > n_pages =3D frame_vector_count(buf->vec); > - pages =3D frame_vector_pages(buf->vec); > if (vaddr) > vm_unmap_ram((void *)vaddr, n_pages); > if (buf->dma_dir =3D=3D DMA_FROM_DEVICE || > - buf->dma_dir =3D=3D DMA_BIDIRECTIONAL) > - for (i =3D 0; i < n_pages; i++) > - set_page_dirty_lock(pages[i]); > + buf->dma_dir =3D=3D DMA_BIDIRECTIONAL){ Missing space between ) and { . > + pages =3D frame_vector_pages(buf->vec); > + if (!WARN_ON_ONCE(IS_ERR(pages))) I still think this cannot happen, but the frame vector code is a mess, so being a bit more defensive here is probably fine, until someone can clean up that code (probably by removing the PFN-only code path completely). > + for (i =3D 0; i < n_pages; i++) > + set_page_dirty_lock(pages[i]); > + } > } else { > iounmap((__force void __iomem *)buf->vaddr); > } > -- > 2.37.2 > With that one formatting issue fixed: (Mauro, Hans, maybe it could be fixed up when applying?) Acked-by: Tomasz Figa Best regards, Tomasz