Update embedded copy of ethtool.h from kernel 2.6.30
Subsystems (2)
PATCH 1/1 Update embedded copy of ethtool.h from kernel 2.6.30
Commit 0c09c1a49cc7b819b33566a49d9901f7cfdd6889 in the Linux kernel added a new field mdio_support inside the struct ethtool_cmd, changing the struct size for architectures that does not pad structs. (for example the CRIS architecture)
This size mismatch lead to the ethtool_cmd struct being written as 44 bytes in the kernel, but only 43 bytes allocated on stack, overwriting one byte in the stack frame.
Update the ethtool copy of the definition to match the 2.6.30 kernel.
--- ethtool-copy.h | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-)
ethtool-copy.h +5 -2
@@ -23,11 +23,14 @@ struct ethtool_cmd {__u8 phy_address;__u8 transceiver;/* Which transceiver to use */ __u8 autoneg;/* Enable or disable autonegotiation */ +__u8 mdio_support;__u32 maxtxpkt;/* Tx pkts before generating tx int */ __u32 maxrxpkt;/* Rx pkts before generating rx int */ __u16 speed_hi; -__u16 reserved2; -__u32 reserved[3 ]; +__u8 eth_tp_mdix; +__u8 reserved2; +__u32 lp_advertising;/* Features the link partner advertises */ +__u32 reserved[2 ]; }; static inline void ethtool_cmd_speed_set(struct ethtool_cmd *ep,
Signature · 5 lines
1.6.4.GIT
/^JN - Jesper Nilsson
--
Jesper Nilsson -- [email protected]Quoted 4 lines · Jesper Nilsson
Commit
0c09c1a49cc7b819b33566a49d9901f7cfdd6889in the Linux kernel added a new fieldmdio_supportinside the structethtool_cmd, changing the struct size for architectures that does not pad structs. (for example the CRIS architecture)
CRIS has no alignment requirements?! Wow. Sorry for changing the structure, then.
Quoted 5 lines
This size mismatch lead to the
ethtool_cmdstruct being written as 44 bytes in the kernel, but only 43 bytes allocated on stack, overwriting one byte in the stack frame.Update the ethtool copy of the definition to match the 2.6.30 kernel.
[...]
This has already been done.
Ben.
Signature · 3 lines
Ben Hutchings, Senior Software Engineer, Solarflare Communications Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.
Quoted 7 lines · Ben Hutchings
Quoted 4 lines · Jesper Nilsson
Commit
0c09c1a49cc7b819b33566a49d9901f7cfdd6889in the Linux kernel added a new fieldmdio_supportinside the structethtool_cmd, changing the struct size for architectures that does not pad structs. (for example the CRIS architecture)CRIS has no alignment requirements?! Wow.
Yep, we don't even have the choice of adding padding inside structs. :-(
Quoted 2 lines
Sorry for changing the
structure, then.
We're used to tripping over this kind of thing. :-)
Quoted 8 lines
Quoted 5 lines
This size mismatch lead to the
ethtool_cmdstruct being written as 44 bytes in the kernel, but only 43 bytes allocated on stack, overwriting one byte in the stack frame.Update the ethtool copy of the definition to match the 2.6.30 kernel.
[...]
This has already been done.
Ah? Could someone point me to the correct git-tree for ethtool then? I've been using http://www.kernel.org/pub/scm/network/ethtool/ethtool.git
which still has this problem...
Quoted 1 line
Ben.
/^JN - Jesper Nilsson
Signature · 1 line
Jesper Nilsson -- [email protected]
Quoted 2 lines · Jesper Nilsson
Quoted 1 line · Ben Hutchings
On Tue, 2009-12-01 at 16:17 +0100, Jesper Nilsson wrote:
[...]
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
This size mismatch lead to the
ethtool_cmdstruct being written as 44 bytes in the kernel, but only 43 bytes allocated on stack, overwriting one byte in the stack frame.
Quoted 8 lines
Quoted 4 lines
Quoted 1 line
Update the ethtool copy of the definition to match the 2.6.30 kernel.
[...]
This has already been done.
Ah? Could someone point me to the correct git-tree for ethtool then? I've been using http://www.kernel.org/pub/scm/network/ethtool/ethtool.git
which still has this problem...
That's the correct repository. It is possible that the extra static information needed to serve it over HTTP is not up-to-date. Try using git protocol instead?
Ben.
Signature · 3 lines
Ben Hutchings, Senior Software Engineer, Solarflare Communications Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.
Quoted 6 lines · Ben Hutchings
Quoted 2 lines · Jesper Nilsson
Quoted 1 line · Ben Hutchings
On Tue, 2009-12-01 at 16:17 +0100, Jesper Nilsson wrote:
That's the correct repository. It is possible that the extra static information needed to serve it over HTTP is not up-to-date. Try using git protocol instead?
Yep, that was it, looks much better now. Thanks.
Quoted 1 line
Ben.
/^JN - Jesper Nilsson
Signature · 1 line
Jesper Nilsson -- [email protected]