From nobody Sun Feb 8 16:05:22 2026 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (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 6CB78306486 for ; Sat, 7 Feb 2026 10:32:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770460359; cv=none; b=B2umzolkEjYRvEYn+gM1Re+7cv2yMtViwEsWOi71vt9eLiDc3KmdQX8cRPCCOi+g5zUBmjjGAhcyPghiTXiBHUmF+DWu0J+5mN0ktM0oWUyAL+NZ2r2Lm2AXk144qaObvh/1xE1x4ikvQz1BycNs3I+coRu+EQ9CyGlflzs016c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770460359; c=relaxed/simple; bh=M9W0GSNrey9NvUygKYFNPFagV2ThOlSKeNb1KaNgINk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=J0jLQBqbu8EB9vw4iDwOI6qGBEhtHMoOgS2HsC6RR9tRcBaFoGQVCzcGeomBihURK1m9Ye9STFk9VuwFUF6Vm6xfurDFRDKNRXD5I4uOfbbuNmkCoXS7aADhSFmzTQHs11a0gDW2cmvdSihHmqwIsTWGVdCnU9UICe85Md8c8zg= 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=QZ0Zs/3A; arc=none smtp.client-ip=209.85.167.43 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="QZ0Zs/3A" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-59b6c13b68dso3640523e87.0 for ; Sat, 07 Feb 2026 02:32:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770460357; x=1771065157; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=zf9LCIc1kzu9VHa7rd6ONhcsgjfjhvw4Gxq8LU0j1dg=; b=QZ0Zs/3AS1j/y8DvNHyAI/NveMnP6Q49QG3e4xvP+Hv5esSbfNzXw3AX9PYpKHbUqj 4iRbjKFLCJS/HJfjnaGQTenBvZxBEkhVsGW8JIKP3zRI5W4NYn/9ZhHLSD3R3bYhKFJ3 3H9BKsG5Sn1pKRRyh25R/R/uZKTi/Gfk8lnxzyKepvM8YmMEDd8Wh0hKQytbVchucCUg dRKhPu1ty2asr7DG3LZjmjoTinVp5Q/itf9q/+ZmN0g6u7W/Csw0VHhAHq2DQZszM/SZ tywdE9m8bYsjZBTsC2nuvlw8gOYmmhULsGMVu6OD0gsBjV69VefqX5J3BvqxFlHVrb0I eU9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770460357; x=1771065157; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=zf9LCIc1kzu9VHa7rd6ONhcsgjfjhvw4Gxq8LU0j1dg=; b=g8C46ASCeAHjxiPdx/PBnJP0ac1EPJwzSThT40vgt4BtJ8soaGr9qYDA0iVFQ1tMxX W4oCKDKS6dHHNiP9SaHGXp/duIChExS6qV2PSk2nEAqBmZH3k0/gc3wB2mUQPd2jnCqV 1fz4bqjde3BEykF5Ckwkj7h6sIbYJGxTKs4UP9PjICIB1urgHbfrbm1g2BStIKG+KTxi 4wKTOlhu8wzpeXhXxuWUzV/9hAaZVCQ6F7CKQYzfACGLwbMr5HWqXp/q/cQlrrB3WV9m j1ixWNCyGV4CvzLrYnkCpbIWhi961MeAqVsj8KzA6d8DMfG8MCtZuwVMnqedseQFUiCv v5VQ== X-Forwarded-Encrypted: i=1; AJvYcCUhYJ6z6KwQwbZ3eUvMH/uVUxH9N0ZPuhnDNKUF3/f0lK67xXkc38RN/zMIfSeoNBEky30PS5Ni463uTVc=@vger.kernel.org X-Gm-Message-State: AOJu0YxMflNz2fa6XnGHzm7+SlrQIsWeR4vFEP4istxdY2dqOGCKhTE4 2jV2Z4jT5tiMtSmjQcVqs2WZ7y1WBQLB5LH7/mwP4DPXpTXNwwq1F1qk X-Gm-Gg: AZuq6aLrxA3MCHheCnXGT/yiyS7bXik1a3KnKr92dsPE8k+oYrL0LmNx7lwvG/fVBbq KVtgclluynEAnVPoa1VxGVbfo/BtiQC0f6/wehEcNQP8XJcozFziXMbajTrmIpZKqYW+br/eqgK k1yHRdT/+57FmydUgWHGlgGR/dBmy7RLM+cNmdwB94b62YO8BmetddtwpAc33cIDzyXwwB0P2vH qBnQmKiqpBuBcbx+ka64zRR4Q0FgwQso6PYvHxKeYeFX5qWHOrmoZvrhXuedZ6p+XLxMpHvPfcN PFsUpaGA39BTNObTtbnNux7wXMUw3CvuTbm6rLBl+I8rFjdVy1mwYSpQQHxK6ziiS0IypBsVeX1 VKi5YEPfG+dyWF4VTy7kHI/0xjRmRe1CA/SZuslJo04iKDphL+tXyGI6KLPrq12LsNHsiqJg+IR imnLcxPNFEbWNh6yAzhyJt6iHdedbUEMy6fFroWwEgXZdltF7p0Oceee+bRqkXr57JzjI8+di33 gYskZsA0+BOMemJkadOW2b5Kg== X-Received: by 2002:a05:6512:1155:b0:59e:1930:d932 with SMTP id 2adb3069b0e04-59e44bd7b71mr1859098e87.13.1770460357202; Sat, 07 Feb 2026 02:32:37 -0800 (PST) Received: from localhost.localdomain ([176.33.64.73]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-59e44e25ed3sm1212784e87.92.2026.02.07.02.32.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Feb 2026 02:32:36 -0800 (PST) From: Alper Ak To: Nas Chung , Jackson Lee Cc: Mauro Carvalho Chehab , Nicolas Dufresne , Hans Verkuil , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Alper Ak Subject: [PATCH] media: chips-media: wave5: Fix possible ERR_PTR deference Date: Sat, 7 Feb 2026 13:32:24 +0300 Message-ID: <20260207103224.609938-1-alperyasinak1@gmail.com> X-Mailer: git-send-email 2.43.0 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 kthread_run() function returns either a valid task_struct pointer or ERR_PTR() on failure. The return value was not checked and in the error cleanup path, the code verifies if dev->irq_thread is non NULL before calling kthread_stop(). Since ERR_PTR() values are non NULL, this would result in passing an error pointer to kthread_stop(), causing a kernel panic. Add proper IS_ERR() check after kthread_run(), log the error, set dev->irq_thread to NULL and fail the probe to prevent the driver from operating in a broken state. Fixes: e66ff2b08e4e ("media: chips-media: wave5: Fix Null reference while t= esting fluster") Signed-off-by: Alper Ak --- drivers/media/platform/chips-media/wave5/wave5-vpu.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/media/platform/chips-media/wave5/wave5-vpu.c b/drivers= /media/platform/chips-media/wave5/wave5-vpu.c index 76d57c6b636a..bebe2bd6893b 100644 --- a/drivers/media/platform/chips-media/wave5/wave5-vpu.c +++ b/drivers/media/platform/chips-media/wave5/wave5-vpu.c @@ -340,6 +340,12 @@ static int wave5_vpu_probe(struct platform_device *pde= v) dev_err(&pdev->dev, "failed to get irq resource, falling back to polling= \n"); sema_init(&dev->irq_sem, 1); dev->irq_thread =3D kthread_run(irq_thread, dev, "irq thread"); + if (IS_ERR(dev->irq_thread)) { + dev_err(&pdev->dev, "failed to create vpu irq thread\n"); + ret =3D PTR_ERR(dev->irq_thread); + dev->irq_thread =3D NULL; + goto err_vdi_release; + } hrtimer_setup(&dev->hrtimer, &wave5_vpu_timer_callback, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED); dev->worker =3D kthread_run_worker(0, "vpu_irq_thread"); --=20 2.43.0