From: Claude Code Review Bot <claude-review@example.com>
To: dri-devel-reviews@example.com
Subject: Claude review: drm/atomic: don't set colorop properties of inactive color pipelines
Date: Tue, 05 May 2026 09:26:01 +1000 [thread overview]
Message-ID: <review-patch2-20260501132527.522320-3-mwen@igalia.com> (raw)
In-Reply-To: <20260501132527.522320-3-mwen@igalia.com>
Patch Review
**Purpose:** Rejects userspace attempts to set properties on colorops that are not part of the currently active pipeline.
**Review:**
The validation logic is correct — walk the active pipeline to verify the target colorop belongs to it:
```c
for (active_colorop = plane_state->color_pipeline;
active_colorop;
active_colorop = active_colorop->next) {
if (active_colorop == colorop) {
colorop_state = drm_atomic_get_colorop_state(state, colorop);
```
**Concern — UAPI behavior change:** This introduces a new `-EINVAL` error for a scenario that previously succeeded silently. If any existing userspace was setting properties on colorops not in the active pipeline (even if it was a no-op), this will now break it. The commit message should ideally note this is an intentional UAPI tightening and explain why it's safe (e.g., no known userspace does this, or the old behavior was always a bug).
**Concern — `goto err` label placement:** The new `err:` label sits just before `drm_property_change_valid_put`:
```c
+err:
drm_property_change_valid_put(prop, ref);
return ret;
```
This means when `drm_atomic_get_colorop_state` fails (returns IS_ERR), the code does `ret = PTR_ERR(colorop_state); goto err;` which correctly calls `drm_property_change_valid_put`. For the "not part of active pipeline" case, `ret = -EINVAL; goto err;` also correctly calls the put function. The error handling is correct.
**Minor observation:** Getting the plane state (`drm_atomic_get_plane_state`) for every colorop property set has a cost, but it's necessary for the pipeline walk and is already cheap if the state is already in the atomic state (common case).
---
Generated by Claude Code Patch Reviewer
next prev parent reply other threads:[~2026-05-04 23:26 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-01 13:06 [PATCH v4 0/6] drm/atomic: track colorop changes of a given plane Melissa Wen
2026-05-01 13:06 ` [PATCH v4 1/6] drm/atomic: only add colorop state from active color pipeline Melissa Wen
2026-05-04 23:26 ` Claude review: " Claude Code Review Bot
2026-05-01 13:06 ` [PATCH v4 2/6] drm/atomic: don't set colorop properties of inactive color pipelines Melissa Wen
2026-05-04 23:26 ` Claude Code Review Bot [this message]
2026-05-01 13:06 ` [PATCH v4 3/6] drm/colorop: Remove read-only comments from interpolation fields Melissa Wen
2026-05-04 23:26 ` Claude review: " Claude Code Review Bot
2026-05-01 13:06 ` [PATCH v4 4/6] drm/colorop: make lut(1/3)d_interpolation mutable Melissa Wen
2026-05-04 23:26 ` Claude review: " Claude Code Review Bot
2026-05-01 13:06 ` [PATCH v4 5/6] drm/atomic: track individual colorop updates Melissa Wen
2026-05-04 23:26 ` Claude review: " Claude Code Review Bot
2026-05-01 13:06 ` [PATCH v4 6/6] drm/amd/display: use plane color_mgmt_changed to track colorop changes Melissa Wen
2026-05-04 21:08 ` kernel test robot
2026-05-04 23:26 ` Claude review: " Claude Code Review Bot
2026-05-04 23:26 ` Claude review: drm/atomic: track colorop changes of a given plane 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-20260501132527.522320-3-mwen@igalia.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