diff options
author | Allan Stephens <allan.stephens@windriver.com> | 2006-06-26 02:38:29 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-06-26 02:38:29 -0400 |
commit | 49384507896ee26e67266cebef6b6a9f2e31081c (patch) | |
tree | 0a1dd7ef172455c7a433755277c331e3690c10bf | |
parent | 2535ec50b7a51833ff65dc97ca85e1155d4090f8 (diff) |
[TIPC]: Corrected potential misuse of tipc_media_addr structure.
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/net/tipc/tipc_bearer.h | 12 | ||||
-rw-r--r-- | net/tipc/eth_media.c | 4 |
2 files changed, 13 insertions, 3 deletions
diff --git a/include/net/tipc/tipc_bearer.h b/include/net/tipc/tipc_bearer.h index 098607cd4b78..e07136d74c2f 100644 --- a/include/net/tipc/tipc_bearer.h +++ b/include/net/tipc/tipc_bearer.h | |||
@@ -49,10 +49,18 @@ | |||
49 | 49 | ||
50 | #define TIPC_MEDIA_TYPE_ETH 1 | 50 | #define TIPC_MEDIA_TYPE_ETH 1 |
51 | 51 | ||
52 | /* | ||
53 | * Destination address structure used by TIPC bearers when sending messages | ||
54 | * | ||
55 | * IMPORTANT: The fields of this structure MUST be stored using the specified | ||
56 | * byte order indicated below, as the structure is exchanged between nodes | ||
57 | * as part of a link setup process. | ||
58 | */ | ||
59 | |||
52 | struct tipc_media_addr { | 60 | struct tipc_media_addr { |
53 | __u32 type; | 61 | __u32 type; /* bearer type (network byte order) */ |
54 | union { | 62 | union { |
55 | __u8 eth_addr[6]; /* Ethernet bearer */ | 63 | __u8 eth_addr[6]; /* 48 bit Ethernet addr (byte array) */ |
56 | #if 0 | 64 | #if 0 |
57 | /* Prototypes for other possible bearer types */ | 65 | /* Prototypes for other possible bearer types */ |
58 | 66 | ||
diff --git a/net/tipc/eth_media.c b/net/tipc/eth_media.c index b64661904e0d..3ecb1006a42d 100644 --- a/net/tipc/eth_media.c +++ b/net/tipc/eth_media.c | |||
@@ -254,7 +254,9 @@ int tipc_eth_media_start(void) | |||
254 | if (eth_started) | 254 | if (eth_started) |
255 | return -EINVAL; | 255 | return -EINVAL; |
256 | 256 | ||
257 | memset(&bcast_addr, 0xff, sizeof(bcast_addr)); | 257 | bcast_addr.type = htonl(TIPC_MEDIA_TYPE_ETH); |
258 | memset(&bcast_addr.dev_addr, 0xff, ETH_ALEN); | ||
259 | |||
258 | memset(eth_bearers, 0, sizeof(eth_bearers)); | 260 | memset(eth_bearers, 0, sizeof(eth_bearers)); |
259 | 261 | ||
260 | res = tipc_register_media(TIPC_MEDIA_TYPE_ETH, "eth", | 262 | res = tipc_register_media(TIPC_MEDIA_TYPE_ETH, "eth", |