• Mintz, Yuval's avatar
    qed: Prevent stack corruption on MFW interaction · bb480242
    Mintz, Yuval authored
    Driver uses a union for copying data to & from management firmware
    when interacting with it.
    Problem is that the function always copies sizeof(union) while commit
    2edbff8d ("qed: Learn resources from management firmware") is casting
    a union elements which is of smaller size [24-byte instead of 88-bytes].
    
    Also, the union contains some inappropriate elements which increase its
    size [should have been 32-bytes]. While this shouldn't corrupt other
    PF messages to the MFW [as management firmware enforces permissions so
    that each PF is allowed to write only to its own mailbox] we fix this
    here as well.
    
    Fixes: 2edbff8d ("qed: Learn resources from management firmware")
    Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bb480242
qed_mcp.c 46.7 KB