From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A4D5038A9BF; Fri, 30 Jan 2026 22:43:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769812992; cv=none; b=a2V6Y0gR1Wr/C3kCyqBY2VrRPO1JD6Ph9F+OWbsLI4n1hm3n32h9tnN2JujAVrlLbtDntopakMvOFzVoc30C98GpIrP6RqFyyTGUsg2lUTFhppkaV5en3u+FK0j7POlzkafK849pjMpn1kfNcIvcCumW6Kwf7KV0UxFDP+sbjm8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769812992; c=relaxed/simple; bh=9vt/KWf0ClAcghSMvVKAo3o70Sm0WkeC1kfJnzEifBs=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=HFGnLg3sP/gFJ5AOy6kNsjSHMqGTUdqQ/3aPPFKPPypECUmLdCwQTgmQdjHiYEQM1xF3RPy9Ap9gd6zr4Pbp5mo6zFhT73Ml1jCyUL4mzTjdrhrdtsiVNfqprR+wO28gwQfI1Cc11VSfLpuacnzgIQsm+7wKrp2wKYPNjdtzsFM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=fU6RJGSP; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="fU6RJGSP" Received: from killaraus.ideasonboard.com (2001-14ba-703d-e500--2a1.rev.dnainternet.fi [IPv6:2001:14ba:703d:e500::2a1]) by perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 13E5F22F; Fri, 30 Jan 2026 23:42:24 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1769812944; bh=9vt/KWf0ClAcghSMvVKAo3o70Sm0WkeC1kfJnzEifBs=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=fU6RJGSPKIlbpF/tLhXT5lSMw2jEyLRVAx3JYazvkzQVZTjjn2nnLhtg9pPH303Po CxdhqM9FawM8SJrtFHLdJKycX2jkGo2Fvr/DmWGqkVwiFP5bQh31do4Z3KpQQmDgB/ 10n4n3cwuri0Wftc//KNpfdQzX63yw8c6YgLANII= Date: Sat, 31 Jan 2026 00:43:01 +0200 From: Laurent Pinchart To: Dang Huynh Cc: Mehdi Djait , Michael Riesch , Mauro Carvalho Chehab , Heiko Stuebner , Sakari Ailus , Bryan O'Donoghue , Gerald Loacker , Hans Verkuil , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] media: rockchip: rkcif: Add missing MUST_CONNECT flag to pads Message-ID: <20260130224301.GS3374091@killaraus> References: <20260129-rkcif-null-v1-1-90788ec347f5@mainlining.org> Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20260129-rkcif-null-v1-1-90788ec347f5@mainlining.org> On Thu, Jan 29, 2026 at 02:24:02PM +0700, Dang Huynh wrote: > The pads missed checks for connected devices which may a null dereference > when the stream is enabled. > > Unable to handle kernel NULL pointer dereference at virtual address > 0000000000000020 > pc : rkcif_interface_enable_streams+0x48/0xf0 > lr : rkcif_interface_enable_streams+0x44/0xf0 > Call trace: > rkcif_interface_enable_streams+0x48/0xf0 > v4l2_subdev_enable_streams+0x26c/0x3f0 > rkcif_stream_start_streaming+0x140/0x278 > vb2_start_streaming+0x74/0x188 > vb2_core_streamon+0xe0/0x1d8 > vb2_ioctl_streamon+0x60/0xa8 > v4l_streamon+0x2c/0x40 > __video_do_ioctl+0x34c/0x400 > video_usercopy+0x2d0/0x800 > video_ioctl2+0x20/0x60 > v4l2_ioctl+0x48/0x78 > > Fixes: 501802e2ad51 ("media: rockchip: rkcif: add abstraction for dma blocks") > Fixes: 85411d17bee9 ("media: rockchip: rkcif: add abstraction for interface and crop blocks") > Signed-off-by: Dang Huynh > --- > The RKCIF driver missed MEDIA_PAD_FL_MUST_CONNECT, which causes a null > dereference when the stream starts if the links are misconfigured. The change looks fine, Reviewed-by: Laurent Pinchart I'd like a review from Michael though. > --- > drivers/media/platform/rockchip/rkcif/rkcif-interface.c | 3 ++- > drivers/media/platform/rockchip/rkcif/rkcif-stream.c | 2 +- > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/rockchip/rkcif/rkcif-interface.c b/drivers/media/platform/rockchip/rkcif/rkcif-interface.c > index 523103872b7a..414a9980cf2e 100644 > --- a/drivers/media/platform/rockchip/rkcif/rkcif-interface.c > +++ b/drivers/media/platform/rockchip/rkcif/rkcif-interface.c > @@ -378,7 +378,8 @@ int rkcif_interface_register(struct rkcif_device *rkcif, > snprintf(sd->name, sizeof(sd->name), "rkcif-mipi%d", > interface->index - RKCIF_MIPI_BASE); > > - pads[RKCIF_IF_PAD_SINK].flags = MEDIA_PAD_FL_SINK; > + pads[RKCIF_IF_PAD_SINK].flags = MEDIA_PAD_FL_SINK | > + MEDIA_PAD_FL_MUST_CONNECT; > pads[RKCIF_IF_PAD_SRC].flags = MEDIA_PAD_FL_SOURCE; > ret = media_entity_pads_init(&sd->entity, RKCIF_IF_PAD_MAX, pads); > if (ret) > diff --git a/drivers/media/platform/rockchip/rkcif/rkcif-stream.c b/drivers/media/platform/rockchip/rkcif/rkcif-stream.c > index e00010a91e8b..201542b55f00 100644 > --- a/drivers/media/platform/rockchip/rkcif/rkcif-stream.c > +++ b/drivers/media/platform/rockchip/rkcif/rkcif-stream.c > @@ -555,7 +555,7 @@ int rkcif_stream_register(struct rkcif_device *rkcif, > vdev->vfl_dir = VFL_DIR_RX; > video_set_drvdata(vdev, stream); > > - stream->pad.flags = MEDIA_PAD_FL_SINK; > + stream->pad.flags = MEDIA_PAD_FL_SINK | MEDIA_PAD_FL_MUST_CONNECT; > > stream->pix.height = CIF_MIN_HEIGHT; > stream->pix.width = CIF_MIN_WIDTH; > > --- > base-commit: 3f24e4edcd1b8981c6b448ea2680726dedd87279 > change-id: 20260129-rkcif-null-fbc0be41f81a -- Regards, Laurent Pinchart