From: Claude Code Review Bot <claude-review@example.com>
To: dri-devel-reviews@example.com
Subject: Claude review: drm/modeset: harden modeset_lock() against NULL ctx
Date: Tue, 05 May 2026 11:50:04 +1000 [thread overview]
Message-ID: <review-patch2-20260429060431.1462589-3-george.d.sworo@intel.com> (raw)
In-Reply-To: <20260429060431.1462589-3-george.d.sworo@intel.com>
Patch Review
**NAK.**
The change adds an early-return path for NULL `ctx`:
```c
+ if (unlikely(!ctx)) {
+ if (interruptible)
+ return ww_mutex_lock_interruptible(&lock->mutex, NULL);
+
+ ww_mutex_lock(&lock->mutex, NULL);
+ return 0;
+ }
```
**Problem 1: Still fixing a non-existent bug.** As above, `ctx` is never NULL here.
**Problem 2: The fallback silently breaks locking invariants.** If this code were ever reached, the lock would be acquired via plain `ww_mutex_lock(..., NULL)` but would **not** be added to `ctx->locked`. That means `drm_modeset_drop_locks()` would not release it, causing a deadlock. The whole point of the `modeset_lock()` helper is to integrate with the acquire-context tracking (lines 318-331); bypassing that tracking is worse than crashing.
**Problem 3: Excessive comment.** The 4-line comment block explains what the code does, which is already self-evident from the `if (!ctx)` check.
**Problem 4: Makes patch 1 redundant.** With this early return in place, the `ctx &&` guard added in patch 1 can never trigger (we already returned if `ctx` is NULL). The two patches together are incoherent — patch 2 makes patch 1's change dead code.
**Recommendation:** If the author is genuinely hitting a NULL `ctx` crash, they should provide a full stack trace and fix the actual caller that is passing NULL. The existing `drm_modeset_lock()` API (line 394) already correctly handles NULL `ctx` — the bug would be in whatever is calling an internal path without going through the public API.
---
Generated by Claude Code Patch Reviewer
next prev parent reply other threads:[~2026-05-05 1:50 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-29 2:59 [PATCH] drm/modeset_lock: add NULL check for ctx before WARN_ON george.d.sworo
2026-04-29 6:04 ` [PATCH v2 0/2] drm/i915/modeset: fix NULL/ctx handling in lock paths george.d.sworo
2026-04-29 6:04 ` [PATCH v2 1/2] drm/modeset_lock: add NULL check for ctx before WARN_ON george.d.sworo
2026-04-29 11:09 ` Ville Syrjälä
2026-04-30 4:12 ` Sworo, George D
2026-04-29 6:04 ` [PATCH v2 2/2] drm/modeset: harden modeset_lock() against NULL ctx george.d.sworo
2026-05-05 1:50 ` Claude Code Review Bot [this message]
2026-05-05 1:50 ` Claude review: drm/i915/modeset: fix NULL/ctx handling in lock paths Claude Code Review Bot
2026-05-05 1:50 ` Claude review: drm/modeset_lock: add NULL check for ctx before WARN_ON 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-patch2-20260429060431.1462589-3-george.d.sworo@intel.com \
--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