[PATCH wireless] wifi: mt76: mt792x: validate ACPI SAR table length before parsing
Devin Wittmayer
lucid_duck at justthetip.ca
Thu Sep 3 20:18:04 PDT 2026
I've been back through the GA503RM's bytes since sending this, and
calling those tables malformed isn't right. Both are version 2, and MTCL
is what declares version 1 for all three, so they get read as v1 and
every field shifts a byte:
MTGS 28 bytes as v1: (28-6) % 5 = 2, nr_tbl 0, count 4
as v2: (28-7) % 7 = 0, nr_tbl 3, count 3
MTDS 19 bytes as v1: (19-6) % 6 = 1, nr_tbl 0, count 2
as v2: (19-7) % 12 = 0, nr_tbl 1, count 1
Read as version 2 they're an ordinary SAR table:
MTGS, FCC 2.4 GHz 14 dBm 5 GHz 14.5 dBm 6 GHz 8.5 dBm
MTDS 8 to 14.5 dBm across the range
So this patch rejects two good tables and leaves the machine with no SAR
limit at all. The reporter measured 23 dBm afterwards, on a laptop whose
own tables ask for 14.5.
The layouts are 6 + 5n and 7 + 7n bytes with the count declared inside,
so they never collide at any accepted size and the right one falls out
of the shape. I have that written: it applies 14.5 dBm where this patch
applies nothing.
I think parsing them is the better answer, since it gives the machine
what it asks for. Rejecting is safer if you'd sooner not have the driver
guess at a layout.
Devin
More information about the Linux-mediatek
mailing list