[PATCH 04/15] HID: hid-oxp: reject invalid Gen2 RGB status values
From: Andrei Aldea
Date: Wed Sep 09 2026 - 23:23:04 EST
Do not replace the cached RGB state with a Gen2 status report whose enable,
speed or hardware brightness fields are outside the supported ranges.
Fixes: 252c4bf1d931 ("HID: hid-oxp: Add Second Generation RGB Control")
Assisted-by: LLM
Reviewed-by: Derek J. Clark <derekjohn.clark@xxxxxxxxx>
Signed-off-by: Andrei Aldea <andrei1998@xxxxxxxxx>
---
drivers/hid/hid-oxp.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/hid/hid-oxp.c b/drivers/hid/hid-oxp.c
index 86a559c..c3cfa95 100644
--- a/drivers/hid/hid-oxp.c
+++ b/drivers/hid/hid-oxp.c
@@ -415,6 +415,10 @@ static int oxp_hid_raw_event_gen_2(struct hid_device *hdev,
return 0;
rgb_rep = (struct oxp_gen_2_rgb_report *)data;
+ if (rgb_rep->enabled > OXP_FEAT_ENABLED || rgb_rep->speed > 9 ||
+ rgb_rep->brightness > 4)
+ return 0;
+
/* Ensure we save monocolor as the list value */
drvdata.rgb_effect = rgb_rep->effect == OXP_EFFECT_MONO_TRUE ?
OXP_EFFECT_MONO_LIST :