Re: [PATCH 07/11] igb: Avoid uninitialized advertised variable in eee_set_cur
From: David Miller <davem@davemloft.net>
Date: 2013-10-02 20:33:23
Also in:
lkml
From: David Miller <davem@davemloft.net>
Date: 2013-10-02 20:33:23
Also in:
lkml
From: Andi Kleen <redacted> Date: Mon, 30 Sep 2013 13:29:08 -0700
From: Andi Kleen <redacted>
eee_get_cur assumes that the output data is already zeroed. It can
read-modify-write the advertised field:
if (ipcnfg & E1000_IPCNFG_EEE_100M_AN)
2594 edata->advertised |= ADVERTISED_100baseT_Full;
This is ok for the normal ethtool eee_get call, which always
zeroes the input data before.
But eee_set_cur also calls eee_get_cur and it did not zero the input
field. Later on it then compares agsinst the field, which can contain partial
stack garbage.
Zero the input field in eee_set_cur() too.
Cc: jeffrey.t.kirsher@intel.com
Cc: netdev@vger.kernel.org
Signed-off-by: Andi Kleen <redacted>Applied.