From nobody Thu Apr 2 19:00:21 2026 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 46F7530DEB0 for ; Thu, 26 Mar 2026 21:35:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774560907; cv=none; b=t/KNtVbGyIja1/fw+4iKFZM8fOfZuieUpYAz/f1KTMAPAA8WB91YG/UDNrjDbOgHziYnTLZlAVhw2SEawWY2GXxRp9sWIuqmIt7oSikfj8q6+46muRTJbqVl6lTnbACDKx9GRHZUVxri8MMtf1OjERj9sIZE9WDAPQfRqYPpHyc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774560907; c=relaxed/simple; bh=wsgHtGMsL0z+O6CPRZuHTu3FEglSadQqIuS8210B1hE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=W9HcKfAY3G6/3XMvn1OEO5gpmluj7X7gmV4M64nasS2/14EKr8lj5CRlAzAELnurtvbjxi8MAA2xRCOw4sehMEKvdaoJIM7PyK7oEMeB6cX/hKR4uRYfLlxjP98lN5hp0H6claGBbw1BFHlW81xJ+c7qw/C3rY+eeDVYbRnNE3I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=lPLU4xig; arc=none smtp.client-ip=209.85.128.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lPLU4xig" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-48557c8ad47so10915845e9.0 for ; Thu, 26 Mar 2026 14:35:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774560903; x=1775165703; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=E8VUbdY2qRvrHENEWIeYirIdqjJOGNjoUNh/2XerUPo=; b=lPLU4xiggr674XcEQtD8m2F6fBBqAB/BU8hnm9Wee8oT9taqkcuIML+NpjtNgFBTgz lD+RRT5HE0HUWo2owGnsPf72EkV+5N3hPB0DFpqqGIAWaLbZaSwPi0WeyC7dglv/OnbQ C6M4qkzoJ+PZMRjj7Q+9Kv3HPSH9r0ItM+tXwQKYzx2yLxFgYQCxWLkFAlxCZl+s3q29 ubhK0VPx7vTOgZXyJF+sZ/0kf/iaFe/7ofhvLOpPVxBIJorURk/elrFwvMEPSQKeOdUO jlbga0X3W+V6F+AJhcCVCGTI7anVWFFEx5fzavHjIB+7QktJL/skIUNB+0ultuIx5wSS +zbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774560903; x=1775165703; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=E8VUbdY2qRvrHENEWIeYirIdqjJOGNjoUNh/2XerUPo=; b=SxSRHvJ3smrrGmLvPFFgkrNyMgy0N51Ezseut1bQJGK4BoDNbrstuaCLpUYa/dcXJg K8j1UrPahAycbc/kfRBS6fGQffRMca6gDTnhyDg66vO4LJfJLGxFoJKCsOX0iznbJLo9 e8kJftmxPkgp4HTKjrgnzESH2ZP7o1kE6MUP5zjx+y6wCk85aPzKTMaASSTW+ekErb45 UThcFoRVJKFwZvJrSTtA83CGsUXO0UUnM+ffvjKHvvbYQaNAYssczgq65MXTp//NYEdZ nGAQERPgfcT3fGPCnN/Y2EdFcyTwRuNCUhem8dHEYnPyogglmLKRYU4h1V1PrNQPssp2 Mkiw== X-Forwarded-Encrypted: i=1; AJvYcCUCGJbUSF3h6bwam02TwSbjpzkOk4Hj8S63UVXqdCIpylb3nNX68oUbbETdxX964rAoy3RpSFPIDzeaqVU=@vger.kernel.org X-Gm-Message-State: AOJu0YyArd0eKTw8IAtZnu2EHmKy+E0vAwFuM19Ivxq4ylt6UHKJcQdJ 6ia7D0yu+WNHEei+yiEeDqxaPjymZzrAweyXT3YZ/Z/3Q7o4x5dCNlg4 X-Gm-Gg: ATEYQzx/ldJlMP/YmGyGw9W0MgnOBai4/RtSJTIb9RjPTGhaeNpMjXK4dr0DCCsVCUs 6lE5Rk04fxjFEx+oyETdC/OTyajO6MRUC1RMMenscM2A+8Krz2lt3aUJyyo4xG+VdP6iiiEbqWi g7n37vVWd5nyvUn/38fBznwbqjK+imGhKi/d4Mcwlw1EKXJx2TtwYewVOYcOsOLiBMtIPwK6QGp cZP+r0QiPk5okXJXQ+nUR0qrU5MZLPeXFZ6q8R5NXtLrOapzoMYVBiI1DNQCcq8l5eaKItfP63z MAtg4pz12gkTvITb8i4ICUzPupSRzi6+t/mpNEjXdtiSYw5G4RVs1N6Cj2iyTHldkF7I4Ydi6Sh aQZgNytRe6a6wiAQjgmOBi1T3wgmPk9+lZpl/LTDrFR5LD8tejxYghR9MjW/qk7JL/LhDXRP1py CUO2cnNb5g+183h5SN5gfRmsP+kRt7oCGwYlyFNeAU1bKjGg== X-Received: by 2002:a05:600c:4ed3:b0:487:2b7:18d1 with SMTP id 5b1f17b1804b1-48727f0eb50mr3476355e9.33.1774560902310; Thu, 26 Mar 2026 14:35:02 -0700 (PDT) Received: from localhost.localdomain ([2a00:f41:1855:4ab5:5c9b:17ff:fe26:9b2c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48722c7cec3sm51106825e9.6.2026.03.26.14.35.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Mar 2026 14:35:02 -0700 (PDT) From: "Jose A. Perez de Azpillaga" To: linux-staging@lists.linux.dev Cc: Hans de Goede , Mauro Carvalho Chehab , Sakari Ailus , Andy Shevchenko , Greg Kroah-Hartman , Kees Cook , Kate Hsuan , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/3] staging: media: atomisp: fix loop shadowing in ia_css_stream_destroy() Date: Thu, 26 Mar 2026 22:34:07 +0100 Message-ID: <20260326213442.876745-2-azpijr@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260326213442.876745-1-azpijr@gmail.com> References: <20260326213442.876745-1-azpijr@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The nested loop inside the IS_ISP2401 block incorrectly uses the same variable 'i' as the outer loop. This shadows the outer loop variable and causes premature termination or skipped array elements. Change the inner loop to use a new variable 'j' to prevent this. Fixes: 113401c67386 ("media: atomisp: sh_css: Removed #ifdef ISP2401 to mak= e code generic") Signed-off-by: Jose A. Perez de Azpillaga Reviewed-by: Dan Carpenter --- drivers/staging/media/atomisp/pci/sh_css.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/sh_css.c b/drivers/staging/m= edia/atomisp/pci/sh_css.c index 6cda5925fa45..8d8b82dc59f1 100644 --- a/drivers/staging/media/atomisp/pci/sh_css.c +++ b/drivers/staging/media/atomisp/pci/sh_css.c @@ -8192,7 +8192,7 @@ ia_css_stream_create(const struct ia_css_stream_confi= g *stream_config, int ia_css_stream_destroy(struct ia_css_stream *stream) { - int i; + int i, j; int err =3D 0; =20 IA_CSS_ENTER_PRIVATE("stream =3D %p", stream); @@ -8223,10 +8223,10 @@ ia_css_stream_destroy(struct ia_css_stream *stream) sp_pipeline_input_terminal =3D &sh_css_sp_group.pipe_io[sp_thread_id].input; =20 - for (i =3D 0; i < IA_CSS_STREAM_MAX_ISYS_STREAM_PER_CH; i++) { + for (j =3D 0; j < IA_CSS_STREAM_MAX_ISYS_STREAM_PER_CH; j++) { ia_css_isys_stream_h isys_stream =3D - &sp_pipeline_input_terminal->context.virtual_input_system_stream[i]; - if (stream->config.isys_config[i].valid && isys_stream->valid) + &sp_pipeline_input_terminal->context.virtual_input_system_stream[j]; + if (stream->config.isys_config[j].valid && isys_stream->valid) ia_css_isys_stream_destroy(isys_stream); } } --=20 2.53.0 From nobody Thu Apr 2 19:00:21 2026 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8B3CB3A7836 for ; Thu, 26 Mar 2026 21:35:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774560910; cv=none; b=HWTEgaRPB7O82hC9sN3YfXwm0kl93FpQH3MqnfGTjVAd8lOIfIYtTI9c9ktYjjhj3bvaMiM3WPEGAlp6IHmzpUNyWj/moW7RgsmR5jZW60KoqQ34YLiJLQUsXuwLI2O1I6/haTQQYwVX+mjtoKLKcYq8kwDZrUbKH2n9x3uoyyQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774560910; c=relaxed/simple; bh=CtnwhLDLOxjCXa3BzzxQo5WlhQ17lqydy/Bm6LiQsfE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=uej02+koEE4OpwB7TuHFx9OOKBif5YMjz52FtDFDu08JRFwWjkiy4I2HNEh/uKP5V+DakFrHQIOi0Ly1YTNo5+lG1+bEVecQ7aPQ6f/cs8/E2m4NRiDXS382jh6NzL2WjFQuFDQO8fDqCMBXnz+PF0/RwamGrCp4vqdkkPmJcX4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=GzjeVxOw; arc=none smtp.client-ip=209.85.128.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="GzjeVxOw" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-48704db565eso20820745e9.1 for ; Thu, 26 Mar 2026 14:35:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774560907; x=1775165707; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iVJ/09f+kraUH4FlZGqso9M+eYHC0bMs9ktLcorknuk=; b=GzjeVxOw7tVqok0inhuAyktYGIpLr+DP8o8IKCMu7vtQRWMgoA1hnmCJf5TMU0fwbZ wzWuqeySBaJ1MU9kfPFA9o0YIfoSWndIBYd9fL0XNd6AfJdecm+88kI/cmm7mJRi0MN1 nngY5b3S66SMN7kRha4JlgLBkELkQw/l+XfFGuocXwiiwh6VJ5LLbvYdTSPxG/fmRilb YWiplU7t/5Aq/VoI5Ue5iTCcPJxHkL4GQ5dssVWl6g+0ezML5ydzE07F90Xs7RAQiHdG tftYhIrAQEFWDRe0uLVhwa3XhhN52bKn9/U1a6/m+1xYVmaQe1WRxEJcMGOSniELp3hN A7Dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774560907; x=1775165707; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=iVJ/09f+kraUH4FlZGqso9M+eYHC0bMs9ktLcorknuk=; b=HMZExl72Zd6pOuo0vYdMXI1gt4yVrv2Kxftzik1ekTIAmNMUzpcP3L6gdKwankb5OS JqO4OCKiAEZg2ntq4bDyePs4A1YiBTENGcaQqG2VGBQanm6uSXLcfsjmbGFtg9WXHr1G KniicWAN5RMysR9yrvzJCr+Qo5K4XtO6RefJ1T1nZifGL06ZFcNORWn5Mr6taC94HX0Z oLwVY+iUSErApxQge7XIu7aYODqLRYj2Iou6FhQJlaW8BMjtXOqzWjJuSrYk57/Wj3mh JIFaDRg1SSt3V4aw/1x27NKGV9m25E4IEqF/IXDQ61VXAgoxsJh5p3mVltPYqF1fAm7J S5Pg== X-Forwarded-Encrypted: i=1; AJvYcCVRrcfnTJl3ILzu60FojKVQTfKTSS2XTJ5yAKIoJm9P7uj9z5nf85m/JpQ5KFIcDMIFHZoKjOc/iwDivKs=@vger.kernel.org X-Gm-Message-State: AOJu0YyMBa1oQjpYjBfDeVNarx8ZsXgCScbIZcQsAJj/9WfMX5l5djsm 4tg2XuEu4zBYDpfs1YEtgWzqsqRN4SAB5/x8Mlf0UjkM4ondc/txBC4A X-Gm-Gg: ATEYQzzC8ZS6vGsWGTrkBLMqnVEB264Wxi07lCmnDkUDqx69H1oR5LFIjguOcZZ0i9+ v+7IMuPa1+8APMzNrtnoorPlZJiNb8cLW69auzoYym7GPOCqKHqSdnMlRAao6WVcVwnhoJx/4KS 8gnsN97bjyEnwqOgRQ/J01eYFrDOHCEYwGmC84/PJDyMViVCl3ITHdF2MU1mRvRryeolLLZzzMc l3dEvZep04eRfZQOJvORTMtfaC7BkETj5Imt9XPYhNtik/BM3DLgMd4mjSG40ek+6I3tbcC52aY aqWShFTxTc4RtGvxYtRsQfxoYR1uN58SpoCUZsoH1XZeRm2ER7BuMLYIUDSpJL2yYWREtwEkt0f qB5k9/cBjrmPIQnJlUDKgA3aNBQZ7vxwWTvlPvFrb1mV82tyHkmt7tmzyKxKe9AzmF/Nv49zZLO QuqnF0cUzRY938oYWKsNw4tyytUwt3yKgXjXsnZuS4PaPOtg== X-Received: by 2002:a05:600c:c168:b0:485:35a4:939f with SMTP id 5b1f17b1804b1-48727eddeacmr3457045e9.28.1774560906791; Thu, 26 Mar 2026 14:35:06 -0700 (PDT) Received: from localhost.localdomain ([2a00:f41:1855:4ab5:5c9b:17ff:fe26:9b2c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48722c7cec3sm51106825e9.6.2026.03.26.14.35.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Mar 2026 14:35:06 -0700 (PDT) From: "Jose A. Perez de Azpillaga" To: linux-staging@lists.linux.dev Cc: Andy Shevchenko , Hans de Goede , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Kees Cook , linux-kernel@vger.kernel.org, linux-media@vger.kernel.org Subject: [PATCH v2 2/3] staging: media: atomisp: extract ISP2401 cleanup into helper function Date: Thu, 26 Mar 2026 22:34:08 +0100 Message-ID: <20260326213442.876745-3-azpijr@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260326213442.876745-1-azpijr@gmail.com> References: <20260326213442.876745-1-azpijr@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" To reduce indentation and improve the readability of ia_css_stream_destroy(), extract the ISP2401-specific cleanup block into a new static helper function, ia_css_stream_destroy_isp2401(). Signed-off-by: Jose A. Perez de Azpillaga Reviewed-by: Dan Carpenter --- drivers/staging/media/atomisp/pci/sh_css.c | 89 +++++++++++----------- 1 file changed, 46 insertions(+), 43 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/sh_css.c b/drivers/staging/m= edia/atomisp/pci/sh_css.c index 8d8b82dc59f1..0e848758723f 100644 --- a/drivers/staging/media/atomisp/pci/sh_css.c +++ b/drivers/staging/media/atomisp/pci/sh_css.c @@ -8189,10 +8189,53 @@ ia_css_stream_create(const struct ia_css_stream_con= fig *stream_config, return err; } =20 +static void ia_css_stream_destroy_isp2401(struct ia_css_stream *stream) +{ + int i, j; + + for (i =3D 0; i < stream->num_pipes; i++) { + struct ia_css_pipe *entry =3D stream->pipes[i]; + unsigned int sp_thread_id; + struct sh_css_sp_pipeline_terminal *terminal; + + assert(entry); + if (entry) { + if (!ia_css_pipeline_get_sp_thread_id( + ia_css_pipe_get_pipe_num(entry), &sp_thread_id)) + return; + + terminal =3D &sh_css_sp_group.pipe_io[sp_thread_id].input; + + for (j =3D 0; j < IA_CSS_STREAM_MAX_ISYS_STREAM_PER_CH; j++) { + ia_css_isys_stream_h isys_stream =3D + &terminal->context.virtual_input_system_stream[j]; + if (stream->config.isys_config[j].valid && isys_stream->valid) + ia_css_isys_stream_destroy(isys_stream); + } + } + } + + if (stream->config.mode =3D=3D IA_CSS_INPUT_MODE_BUFFERED_SENSOR) { + for (i =3D 0; i < stream->num_pipes; i++) { + struct ia_css_pipe *entry =3D stream->pipes[i]; + /* + * free any mipi frames that are remaining: + * some test stream create-destroy cycles do + * not generate output frames + * and the mipi buffer is not freed in the + * deque function + */ + if (entry) + free_mipi_frames(entry); + } + } + stream_unregister_with_csi_rx(stream); +} + int ia_css_stream_destroy(struct ia_css_stream *stream) { - int i, j; + int i; int err =3D 0; =20 IA_CSS_ENTER_PRIVATE("stream =3D %p", stream); @@ -8206,48 +8249,8 @@ ia_css_stream_destroy(struct ia_css_stream *stream) =20 if ((stream->last_pipe) && ia_css_pipeline_is_mapped(stream->last_pipe->pipe_num)) { - if (IS_ISP2401) { - for (i =3D 0; i < stream->num_pipes; i++) { - struct ia_css_pipe *entry =3D stream->pipes[i]; - unsigned int sp_thread_id; - struct sh_css_sp_pipeline_terminal *sp_pipeline_input_terminal; - - assert(entry); - if (entry) { - /* get the SP thread id */ - if (!ia_css_pipeline_get_sp_thread_id( - ia_css_pipe_get_pipe_num(entry), &sp_thread_id)) - return -EINVAL; - - /* get the target input terminal */ - sp_pipeline_input_terminal =3D - &sh_css_sp_group.pipe_io[sp_thread_id].input; - - for (j =3D 0; j < IA_CSS_STREAM_MAX_ISYS_STREAM_PER_CH; j++) { - ia_css_isys_stream_h isys_stream =3D - &sp_pipeline_input_terminal->context.virtual_input_system_stream[j]; - if (stream->config.isys_config[j].valid && isys_stream->valid) - ia_css_isys_stream_destroy(isys_stream); - } - } - } - - if (stream->config.mode =3D=3D IA_CSS_INPUT_MODE_BUFFERED_SENSOR) { - for (i =3D 0; i < stream->num_pipes; i++) { - struct ia_css_pipe *entry =3D stream->pipes[i]; - /* - * free any mipi frames that are remaining: - * some test stream create-destroy cycles do - * not generate output frames - * and the mipi buffer is not freed in the - * deque function - */ - if (entry) - free_mipi_frames(entry); - } - } - stream_unregister_with_csi_rx(stream); - } + if (IS_ISP2401) + ia_css_stream_destroy_isp2401(stream); =20 for (i =3D 0; i < stream->num_pipes; i++) { struct ia_css_pipe *curr_pipe =3D stream->pipes[i]; --=20 2.53.0 From nobody Thu Apr 2 19:00:21 2026 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 81ADB3A7582 for ; Thu, 26 Mar 2026 21:35:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774560917; cv=none; b=JXd363ZdPI887PUp+KCceMezuPk3v8YiJuRnOOP7nwGYs4Dr4QGWkb4iJnveNMOS18MGIwQnc0yJMFEWE2T2wxMFnMQ9unMza61yrndoBI/4oKXpOefVkCCknhhedddMAunvSS3ozkl8wAqTX4rTB+1Pk5vJr8sJ6XHtMP5J3S0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774560917; c=relaxed/simple; bh=ez5aAwkAd5qsck46sQ1rbD1CCA7NFpeVTS9fL0whzBs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kSP4vNSzAtnI5JhR2qozmSXGFom41VShs2YG0QMLbFbhgL07nyM1XRgrSIQ7nRrRVcXwX9jg8evCIBYR8fqifQvK7LzgQIlcS9EJraM9auqwVM5fm+n78j/JoEKV/QuwW+6+gOVOKG8heREw0VdgfYhBJRB3Y+PCYJYPXRehKtY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=JyP7rAtZ; arc=none smtp.client-ip=209.85.128.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JyP7rAtZ" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-4852a9c6309so13501215e9.0 for ; Thu, 26 Mar 2026 14:35:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774560915; x=1775165715; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fmSa6Nj2pzOSB63unXnRZ4rb/ic4PWoX2DWS6MyutAs=; b=JyP7rAtZ6AvNrXU/zmfVtBbjRZ9pE+MjUTYZFsOxzfri5GYv0PerZSXIJBLEam1c5c bhbEGiWhoO4XkouyQsrR1Cr+jxSLrBIs4VheO5ATjI5FUQPGjT3DefxbIgbWICOZ8ttd sz6WhOBbjtnSmto0kj1IA9/fQkWEQNgRr+uqLhTxOLbKpr+5vj/ysWVNmUHBdwfMB+YK cZ/Q3BBkROFcRdQqIGEHYXph3X90t3EZDddkQSguc26lZJMojix6HeFraptWnHcarfeY gTeFivrNomPDkZaXp0ILhdsO6PGDzvBjk5kHepY7vHwzLTawgXWbecSCY8i3MJzjyBos MmKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774560915; x=1775165715; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=fmSa6Nj2pzOSB63unXnRZ4rb/ic4PWoX2DWS6MyutAs=; b=Kte5zYQHtwO15o78W+XrYNZ0A8y/VDoAFkIjWXaF2G4v7hMqzfEaabusCSSNsJ2CFT 5cDzTkewA80NBdvYGXo1OWjhy5eKgvWEoo2GJ9pep97RIlTaIu4OjbetpzR0gh3yAqwM NNU/y31EpOmMDXEiTGZ/bvVM1X8G2Tiv+K2X2/WYfckS67n03qFG8phWGwNfeJZDZ/Jm UQsa18lsk48M1Qy1dgaQMHdsW2zciMu5SGPqB4I+knDJJ2jh53EnUtgYkXMlK6UHKqA5 0oogpsdO61n8AKbQ9s3YkrakmYmfh686Y+gvvVSi0K1IoeNpOZP5zXRDSby6FMHNAQK4 9FOw== X-Forwarded-Encrypted: i=1; AJvYcCU3MUiCNASgSS6XRVpACT8PJql9bKrxmYCITRAHdPSyVrBDMawigYC1u7KkG2kp4DhyzrSrWXncs4TXaag=@vger.kernel.org X-Gm-Message-State: AOJu0Yx2XqqRbUKFCbqHs3wWD1Nt6/qoXqth7g7lQdJz4HvjNcnGXEs/ 6LLSPvGMPgJMK5p6JWXcK1GfDsPw39rU4lAafA/1zRfB3+BGVHA+w7Xk X-Gm-Gg: ATEYQzytZ29NcKCDqZJT4Fo8JrNuflofX93BmmHOwFlsA0Vi1B0tHb0+Tf7TvgiwWkT /X8b+Q5wMXQyhRXNxf3eLlOuMur6yZFY+CKJR5+18+Yo/O9fhWfTx4w8lLNZV9UO1MPOrMkyDdb G229DNEd2CMpX20cP1pkkzDGoymfihvcHnX7EsR9JiVUPzp9i/UCWPs6pMxgN8UIi8KUOcusPXj HxLJZ4CBUnIUQHH7cLmd/ypKZ+VfTlSu6l5pMLJ2Acl2eS6qGBx5nBcRL6S+5VsCqqKVxfSmNUm i/0b6w1C+8S6WCW/a+kVNmLIYnYVvLhfq7Bao5BD2unDfW34bi9WbC/SyQLVCZo9OOsPYhvBaBS LVnSbp6y9zhtRiIX8ID1nPVNhM0T/CtQY1emWCmqUONvIovwDz9e293efwUde9DSQbcOxZ/6CYF 8GxwFnp/VFSQ/NJo9vm+xc/RpMQS5TdvnkIItnZa8TPyVISQ== X-Received: by 2002:a05:600c:a44:b0:486:fbf6:abd4 with SMTP id 5b1f17b1804b1-48727efc11dmr2581025e9.9.1774560914810; Thu, 26 Mar 2026 14:35:14 -0700 (PDT) Received: from localhost.localdomain ([2a00:f41:1855:4ab5:5c9b:17ff:fe26:9b2c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48722c7cec3sm51106825e9.6.2026.03.26.14.35.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Mar 2026 14:35:14 -0700 (PDT) From: "Jose A. Perez de Azpillaga" To: linux-staging@lists.linux.dev Cc: Hans de Goede , Mauro Carvalho Chehab , Sakari Ailus , Andy Shevchenko , Greg Kroah-Hartman , Kees Cook , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 3/3] staging: media: atomisp: improve cleanup robustness in ia_css_stream_destroy_isp2401() Date: Thu, 26 Mar 2026 22:34:09 +0100 Message-ID: <20260326213442.876745-4-azpijr@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260326213442.876745-1-azpijr@gmail.com> References: <20260326213442.876745-1-azpijr@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Remove the 'assert(entry)' call. In the atomisp driver, assert() is a wrapper around BUG(), which intentionally crashes the entire kernel. This is dangerous and inappropriate for a simple null pointer check during stream teardown. Replace it with a safe 'if (!entry) continue;' check. Change the early 'return' to a 'continue'. In a destruction path, it is better to proceed with cleaning up as many resources as possible rather than aborting early, which would result in memory leaks for the remaining pipes. Signed-off-by: Jose A. Perez de Azpillaga Reviewed-by: Dan Carpenter --- drivers/staging/media/atomisp/pci/sh_css.c | 27 +++++++++++----------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/sh_css.c b/drivers/staging/m= edia/atomisp/pci/sh_css.c index 0e848758723f..8c368940acd8 100644 --- a/drivers/staging/media/atomisp/pci/sh_css.c +++ b/drivers/staging/media/atomisp/pci/sh_css.c @@ -8198,26 +8198,25 @@ static void ia_css_stream_destroy_isp2401(struct ia= _css_stream *stream) unsigned int sp_thread_id; struct sh_css_sp_pipeline_terminal *terminal; =20 - assert(entry); - if (entry) { - if (!ia_css_pipeline_get_sp_thread_id( + if (!entry) + continue; + + if (!ia_css_pipeline_get_sp_thread_id( ia_css_pipe_get_pipe_num(entry), &sp_thread_id)) - return; + continue; =20 - terminal =3D &sh_css_sp_group.pipe_io[sp_thread_id].input; + terminal =3D &sh_css_sp_group.pipe_io[sp_thread_id].input; =20 - for (j =3D 0; j < IA_CSS_STREAM_MAX_ISYS_STREAM_PER_CH; j++) { - ia_css_isys_stream_h isys_stream =3D - &terminal->context.virtual_input_system_stream[j]; - if (stream->config.isys_config[j].valid && isys_stream->valid) - ia_css_isys_stream_destroy(isys_stream); - } + for (j =3D 0; j < IA_CSS_STREAM_MAX_ISYS_STREAM_PER_CH; j++) { + ia_css_isys_stream_h isys_stream =3D + &terminal->context.virtual_input_system_stream[j]; + if (stream->config.isys_config[j].valid && isys_stream->valid) + ia_css_isys_stream_destroy(isys_stream); } } =20 if (stream->config.mode =3D=3D IA_CSS_INPUT_MODE_BUFFERED_SENSOR) { for (i =3D 0; i < stream->num_pipes; i++) { - struct ia_css_pipe *entry =3D stream->pipes[i]; /* * free any mipi frames that are remaining: * some test stream create-destroy cycles do @@ -8225,8 +8224,8 @@ static void ia_css_stream_destroy_isp2401(struct ia_c= ss_stream *stream) * and the mipi buffer is not freed in the * deque function */ - if (entry) - free_mipi_frames(entry); + if (stream->pipes[i]) + free_mipi_frames(stream->pipes[i]); } } stream_unregister_with_csi_rx(stream); --=20 2.53.0