• John Keeping's avatar
    net: stmmac: dwmac-rk: fix oob read in rk_gmac_setup · 0546b224
    John Keeping authored
    KASAN reports an out-of-bounds read in rk_gmac_setup on the line:
    
    	while (ops->regs[i]) {
    
    This happens for most platforms since the regs flexible array member is
    empty, so the memory after the ops structure is being read here.  It
    seems that mostly this happens to contain zero anyway, so we get lucky
    and everything still works.
    
    To avoid adding redundant data to nearly all the ops structures, add a
    new flag to indicate whether the regs field is valid and avoid this loop
    when it is not.
    
    Fixes: 3bb3d6b1 ("net: stmmac: Add RK3566/RK3568 SoC support")
    Signed-off-by: default avatarJohn Keeping <john@metanate.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0546b224
dwmac-rk.c 47.9 KB