diff options
author | Mintz, Yuval <Yuval.Mintz@cavium.com> | 2016-11-06 17:12:27 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-11-09 13:27:25 -0500 |
commit | bb48024284327768debd03a197d7c4179ec6ca05 (patch) | |
tree | 0cb38c93e295418812234bb180fdac7fc951d910 /kernel/watchdog.c | |
parent | b12ab9b11966ee6c724e34b2f0f13ea76932b6bf (diff) |
qed: Prevent stack corruption on MFW interaction
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
2edbff8dcb5d ("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: 2edbff8dcb5d ("qed: Learn resources from management firmware")
Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel/watchdog.c')
0 files changed, 0 insertions, 0 deletions