{"id":2222567,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2222567/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20260412205057.386856-1-hossu.alexandru@gmail.com/","project":{"id":21,"url":"http://patchwork.ozlabs.org/api/1.2/projects/21/?format=json","name":"Linux Tegra Development","link_name":"linux-tegra","list_id":"linux-tegra.vger.kernel.org","list_email":"linux-tegra@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260412205057.386856-1-hossu.alexandru@gmail.com>","list_archive_url":null,"date":"2026-04-12T20:50:57","name":"[1/5] staging: media: tegra-video: add NULL checks for of_device_get_match_data()","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"1f276d1b7a212fe7e5ef0d5f2d99ac3ce1faf842","submitter":{"id":92777,"url":"http://patchwork.ozlabs.org/api/1.2/people/92777/?format=json","name":"Alexandru Hossu","email":"hossu.alexandru@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20260412205057.386856-1-hossu.alexandru@gmail.com/mbox/","series":[{"id":499631,"url":"http://patchwork.ozlabs.org/api/1.2/series/499631/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/list/?series=499631","date":"2026-04-12T20:51:16","name":"[1/5] staging: media: tegra-video: add NULL checks for of_device_get_match_data()","version":1,"mbox":"http://patchwork.ozlabs.org/series/499631/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2222567/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2222567/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-tegra+bounces-13721-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-tegra@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=k41bjSfo;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-tegra+bounces-13721-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=\"k41bjSfo\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.208.43","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=gmail.com"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fv2mk68tpz1yGg\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 13 Apr 2026 06:52:54 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id E43F33006B23\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 12 Apr 2026 20:52:29 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id C091C37F00B;\n\tSun, 12 Apr 2026 20:52:29 +0000 (UTC)","from mail-ed1-f43.google.com (mail-ed1-f43.google.com\n [209.85.208.43])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 1E70D37E319\n\tfor <linux-tegra@vger.kernel.org>; Sun, 12 Apr 2026 20:52:27 +0000 (UTC)","by mail-ed1-f43.google.com with SMTP id\n 4fb4d7f45d1cf-6717d83f0ceso487096a12.3\n        for <linux-tegra@vger.kernel.org>;\n Sun, 12 Apr 2026 13:52:27 -0700 (PDT)","from ahossu.residents.sin.openfiber.nl ([88.202.160.248])\n        by smtp.gmail.com with ESMTPSA id\n 4fb4d7f45d1cf-6707082732csm2178795a12.29.2026.04.12.13.52.23\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Sun, 12 Apr 2026 13:52:24 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776027149; cv=none;\n b=afYZOSMuE73bFwvTn7/kXtVyqERWca4zMvoScCYfw6PyIxFp1VyAIKsnp97CXCfNUwHVVxAKZhw+2ArHVG98sb18VX9OcNFA/7NAGzXUvDw9dhQ0MPXvMD1pRGvgyAEdHtph+XMdXrX0raIlbllJFSROvLUgSbalSEWPgyhgZ/g=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776027149; c=relaxed/simple;\n\tbh=DSV51EC4wDAZAtG63wE3QtVJJqfSvUl5AYHQrvro0uA=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=lrR8vlEq4tMqTYIMzNC121nV0dxzzpQZ45zp+7jkh1AjEVZdO/rFg5KaG7PRXWA9gnkggMbfIHEcW35WbrLJmEnti+F4cAnHxk/bcgp1/cdJmM1ygtXxwxiU/e38sasqYKU+t2iLSnlFqf1/NXTAvJl1o3radE0EyZjFJaliPt8=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com;\n spf=pass smtp.mailfrom=gmail.com;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=k41bjSfo; arc=none smtp.client-ip=209.85.208.43","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1776027146; x=1776631946;\n darn=vger.kernel.org;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:from:to:cc:subject:date:message-id:reply-to;\n        bh=QVfujx2mt/GYaWZCYACzathtB/uLnH5k7JHfo05VG1E=;\n        b=k41bjSfob9NrM0TgUzeMXbM2AmVS7Lw1V2Nq/U6hcPWu7plszb10kPR46g2yXhiHdc\n         IAFdFv1OUT1QWmeFPPUsGPTJwjEsOU5B+r68v//d1yi87Rc2pd5odY+8OlH1JropRCoI\n         QuKz2z+OzVLYFjqyPpz/QpYTSJAkrxW2ibFw8kMqedYVMDnIYf4SWclRULkj/DycIQxG\n         YQdvo6X3dtf7KY5t2jJ/wRitcuDeEFZPS9pUKlrxRkDFKOsWpieY6vpctIYHKRIUZxV0\n         j4Y+FQDa6DBVSm4vmN5Twdi3HM/vsSMhPVvh9h7i2QJyewgATXFYRrUCuqKp7rERFTB0\n         uUeQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1776027146; x=1776631946;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=QVfujx2mt/GYaWZCYACzathtB/uLnH5k7JHfo05VG1E=;\n        b=kvGmSqWc5uJrUEwZv6gU6RteIuBDbcZ9Flq6Kddae/LhXIkGJCLip1YzzhEzlbUsya\n         H6EOnw8PeaUAfGqV5fwvMeKdAFxdBE6CLoG8wYOD6A4TyZPxzs/sB4aQIUr0pj6LP98i\n         3obBU9+ebWBRCUnp4T25z42uXw1SjpvFdMBG3ui4zkS28/ZYVt96JyAfAo9e2TvH9m17\n         tRy6iy797iyX+5ip9Mk1yjcy4PnmdByegjl6Qu6rofFO+nJQLSvv2eeAnhZszrBW60yL\n         8rdeHjvsGIwHRQr5MzjzynYvVJGyIUZulQvwINBUT889yPLtJd0cT3/k7bvrHIwLfJOS\n         RAkQ==","X-Forwarded-Encrypted":"i=1;\n AFNElJ/7uk1BI/P+VsvIGlCHGaZZjD8G/vR2ZUDZhySWRZzDUW6Xk5hReAHiTdb6wmWShMyYwKDZv3MtJvyyVg==@vger.kernel.org","X-Gm-Message-State":"AOJu0YygV9H0vTyOV3pQWGuGTWsKy7mPtmp9WSkBY9CRWeMt5gOL31mD\n\tR+UEBVTKm4My9X6vhcl+fszXpjLOKWrZHSK0lKkGyFY62C7b9lqJSVxR","X-Gm-Gg":"AeBDievsljIt1AIEuFBMFOiV5KRbSqlRA+u0AGGtDzinARJn/AX9YJxNTM6gnNPGx+H\n\tXpYukoC859SaL6+Qo3T3u91tAzC92utyKcz0OMN1+G43TuCDKlbQ55p+Lwi34ENm4bwjMRYaw+T\n\t/4c+VKukAYRLn1tAlfiT4T1Bmfk0GsNEkp5xP8EnFaZKgCnwXLXzNcZw92J1XqqX5dlc/3k2XqP\n\tW9S/h/1PY/wIwIFJ8xyQynIg811X3wIjRUMHkd2JX62IWyWiu6QFl8k243JCCMaG1xGeqVKPYQ/\n\tjFLtnJlZQVwahZ8/Qd7wPsDdo2cqvGUfEXVZtfXNPhetKjrubzQeqCkoJtGP/VDM32B1mDn8jH2\n\t55jWrFw7O9SEFEGEghIDOUgH6AJOaDsgdumZ4Gy2xpAjmjMr3JdQdH8ljSBGyEltCfweQ/9/Ag/\n\t+Gb7oB91dXUR3I2+TSKeXaIKz0YyEZxXH+hrMf8W0Xi5BdagP1rjpA2CqD/06hOF3Zl6IPd34Xd\n\t8sFF2ImOdtutyMoDRMZMwv5rw/LrznKZiaqedVB825KVjnu9g8Eigfi4zC+2T9aUEYiF7hTlRiS\n\tsBy2MQ==","X-Received":"by 2002:a05:6402:505c:b0:66b:b6e2:66e1 with SMTP id\n 4fb4d7f45d1cf-6707a47e6a3mr3822463a12.18.1776027146093;\n        Sun, 12 Apr 2026 13:52:26 -0700 (PDT)","From":"Alexandru Hossu <hossu.alexandru@gmail.com>","To":"linux-media@vger.kernel.org,\n\tlinux-tegra@vger.kernel.org","Cc":"thierry.reding@gmail.com,\n\tjonathanh@nvidia.com,\n\tskomatineni@nvidia.com,\n\tluca.ceresoli@bootlin.com,\n\tmchehab@kernel.org,\n\tgregkh@linuxfoundation.org,\n\tlinux-staging@lists.linux.dev,\n\tlinux-kernel@vger.kernel.org,\n\tAlexandru Hossu <hossu.alexandru@gmail.com>","Subject":"[PATCH 1/5] staging: media: tegra-video: add NULL checks for\n of_device_get_match_data()","Date":"Sun, 12 Apr 2026 22:50:57 +0200","Message-ID":"<20260412205057.386856-1-hossu.alexandru@gmail.com>","X-Mailer":"git-send-email 2.53.0","Precedence":"bulk","X-Mailing-List":"linux-tegra@vger.kernel.org","List-Id":"<linux-tegra.vger.kernel.org>","List-Subscribe":"<mailto:linux-tegra+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-tegra+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit"},"content":"tegra_csi_probe(), tegra_vi_probe(), and tegra_vip_probe() all call\nof_device_get_match_data() to retrieve SoC-specific data from the device\ntree match table, but none of them check the return value for NULL before\neventually dereferencing it.\n\nIn tegra_csi_probe(), the pointer is dereferenced on the very next\nstatement via csi->soc->num_clks. In tegra_vi_probe(), it is dereferenced\nlater via vi->soc->ops. In tegra_vip_probe(), vip->soc is stored and then\ndereferenced at runtime via vip->soc->ops->vip_start_streaming(). A NULL\nreturn would cause a kernel NULL pointer dereference in each case.\n\nAdd a NULL check returning -ENODEV in all three probe functions, consistent\nwith the defensive pattern already used in similar staging drivers such as\ndrivers/staging/media/sunxi/cedrus/cedrus_hw.c.\n\nSigned-off-by: Alexandru Hossu <hossu.alexandru@gmail.com>\n---\n drivers/staging/media/tegra-video/csi.c | 2 ++\n drivers/staging/media/tegra-video/vi.c  | 2 ++\n drivers/staging/media/tegra-video/vip.c | 2 ++\n 3 files changed, 6 insertions(+)","diff":"diff --git a/drivers/staging/media/tegra-video/csi.c b/drivers/staging/media/tegra-video/csi.c\nindex 7842104ca933..33369a8c803a 100644\n--- a/drivers/staging/media/tegra-video/csi.c\n+++ b/drivers/staging/media/tegra-video/csi.c\n@@ -781,6 +781,8 @@ static int tegra_csi_probe(struct platform_device *pdev)\n \t\treturn PTR_ERR(csi->iomem);\n \n \tcsi->soc = of_device_get_match_data(&pdev->dev);\n+\tif (!csi->soc)\n+\t\treturn -ENODEV;\n \n \tcsi->clks = devm_kcalloc(&pdev->dev, csi->soc->num_clks,\n \t\t\t\t sizeof(*csi->clks), GFP_KERNEL);\ndiff --git a/drivers/staging/media/tegra-video/vi.c b/drivers/staging/media/tegra-video/vi.c\nindex d1d934e361f7..f3b749f059f8 100644\n--- a/drivers/staging/media/tegra-video/vi.c\n+++ b/drivers/staging/media/tegra-video/vi.c\n@@ -1907,6 +1907,8 @@ static int tegra_vi_probe(struct platform_device *pdev)\n \t\treturn PTR_ERR(vi->iomem);\n \n \tvi->soc = of_device_get_match_data(&pdev->dev);\n+\tif (!vi->soc)\n+\t\treturn -ENODEV;\n \n \tvi->clk = devm_clk_get(&pdev->dev, NULL);\n \tif (IS_ERR(vi->clk)) {\ndiff --git a/drivers/staging/media/tegra-video/vip.c b/drivers/staging/media/tegra-video/vip.c\nindex 80cd3b113125..148c68ceb605 100644\n--- a/drivers/staging/media/tegra-video/vip.c\n+++ b/drivers/staging/media/tegra-video/vip.c\n@@ -236,6 +236,8 @@ static int tegra_vip_probe(struct platform_device *pdev)\n \t\treturn -ENOMEM;\n \n \tvip->soc = of_device_get_match_data(&pdev->dev);\n+\tif (!vip->soc)\n+\t\treturn -ENODEV;\n \n \tvip->dev = &pdev->dev;\n \tplatform_set_drvdata(pdev, vip);\n","prefixes":["1/5"]}