On 22.02.2023 15:50, Krzysztof Kozlowski wrote: > On 22/02/2023 15:47, Konrad Dybcio wrote: >> >> >> On 22.02.2023 15:44, Krzysztof Kozlowski wrote: >>> There are two issues related to the number of ports coming from >>> Devicetree when exceeding in total QCOM_SDW_MAX_PORTS. Both lead to >>> incorrect memory accesses: >>> 1. With DTS having too big value of input or output ports, the driver, >>> when copying port parameters from local/stack arrays into 'pconfig' >>> array in 'struct qcom_swrm_ctrl', will iterate over their sizes. >>> >>> 2. If DTS also has too many parameters for these ports (e.g. >>> qcom,ports-sinterval-low), the driver will overflow buffers on the >>> stack when reading these properties from DTS. >>> >>> Add a sanity check so incorrect DTS will not cause kernel memory >>> corruption. >>> >>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> >>> --- >> Fixes: 02efb49aa805 ("soundwire: qcom: add support for SoundWire controller") > > Can be... but is it really a bug of the kernel? Issue is visible with > incorrect DTS and it's not the kernel's job to fix it. If DTS has > incorrect values (e.g. IO addresses) system won't work anyway and that's > the same type of bug. I'm not sure to what extent the kernel should be responsible for checking DT sanity, but in case of a buffer overflow, I really think it definitely deserves a fixes tag. Konrad > > Best regards, > Krzysztof >