Loading
dpaa2-switch: add bounds check for if_id in IRQ handler
The IRQ handler extracts if_id from the upper 16 bits of the hardware status register and uses it to index into ethsw->ports[] without validation. Since if_id can be any 16-bit value (0-65535) but the ports array is only allocated with sw_attr.num_ifs elements, this can lead to an out-of-bounds read potentially. Add a bounds check before accessing the array, consistent with the existing validation in dpaa2_switch_rx(). Reported-by:Yuhao Jiang <danisjiang@gmail.com> Reported-by:
Junrui Luo <moonafterrain@outlook.com> Fixes: 24ab724f ("dpaa2-switch: use the port index in the IRQ handler") Signed-off-by:
Junrui Luo <moonafterrain@outlook.com> Link: https://patch.msgid.link/SYBPR01MB7881D420AB43FF1A227B84AFAF91A@SYBPR01MB7881.ausprd01.prod.outlook.com Signed-off-by:
Jakub Kicinski <kuba@kernel.org>