From: Claude Code Review Bot <claude-review@example.com>
To: dri-devel-reviews@example.com
Subject: Claude review: drm/mipi-dsi: fix of_node reference leak in of_mipi_dsi_device_add error path
Date: Mon, 25 May 2026 16:47:47 +1000 [thread overview]
Message-ID: <review-overall-20260525045028.3895931-1-vulab@iscas.ac.cn> (raw)
In-Reply-To: <20260525045028.3895931-1-vulab@iscas.ac.cn>
Overall Series Review
Subject: drm/mipi-dsi: fix of_node reference leak in of_mipi_dsi_device_add error path
Author: Wentao Liang <vulab@iscas.ac.cn>
Patches: 1
Reviewed: 2026-05-25T16:47:47.286637
---
This is a single-patch fix for a real `of_node` reference leak in `of_mipi_dsi_device_add()`. The analysis is correct: when `mipi_dsi_device_register_full()` fails, the reference acquired by `of_node_get(node)` at line 182 is never released.
There are **two** failure paths inside `mipi_dsi_device_register_full()` that can leak:
1. **Early parameter validation failures** (lines 215-223): `info->node` is never stored into a device, so the ref is simply orphaned.
2. **`mipi_dsi_device_add()` failure** (lines 237-240): The allocated `dsi` is freed with `kfree(dsi)` rather than `put_device(&dsi->dev)`, so the `.release` callback (`mipi_dsi_dev_release`, which does `of_node_put`) is never invoked.
The fix is correct and minimal. However, there is a secondary bug worth noting: the `kfree(dsi)` at line 239 in `mipi_dsi_device_register_full` is itself a bug — after `device_initialize()` has been called (in `mipi_dsi_device_alloc`), the device must be freed via `put_device()`, not `kfree()`. Using `kfree` after `device_initialize` can lead to issues if anything has taken a reference on the device. That's a pre-existing issue outside the scope of this patch, but it means the `of_node_put` in the release callback can never fire on this error path anyway, reinforcing that the caller-side fix is necessary.
**Verdict: The patch is correct and should be applied.** One minor style nit below.
---
Generated by Claude Code Patch Reviewer
next prev parent reply other threads:[~2026-05-25 6:47 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-25 4:50 [PATCH] drm/mipi-dsi: fix of_node reference leak in of_mipi_dsi_device_add error path Wentao Liang
2026-05-25 6:47 ` Claude Code Review Bot [this message]
2026-05-25 6:47 ` Claude review: " Claude Code Review Bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=review-overall-20260525045028.3895931-1-vulab@iscas.ac.cn \
--to=claude-review@example.com \
--cc=dri-devel-reviews@example.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox