diff options
author | Bodo Stroesser <bstroesser@fujitsu-siemens.com> | 2005-11-07 03:58:47 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-07 10:53:30 -0500 |
commit | 0e76422ca5f34bb43b97c0945646ef072bcc1776 (patch) | |
tree | ebd8509a9e94b01121c3da1b44a4df02ef60f973 /arch/um/include | |
parent | 4f0272415ad1867cea2a7ef5659769243ae50fbe (diff) |
[PATCH] uml: fix UML network driver endianness bugs
ifa->ifa_address and ifa->ifa_mask are defined as __u32, but used as if they
were char[4].
Network code uses htons() to convert it. So UML's method to access these
fields is wrong for bigendians (e.g. s390)
I replaced bytewise copying by memcpy(), maybe even that might be removed, if
ifa->ifa_address/mask may be used immediately.
Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo Giarrusso <blaisorblade@yahoo.it>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/um/include')
-rw-r--r-- | arch/um/include/net_user.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/um/include/net_user.h b/arch/um/include/net_user.h index 89885a77a771..800c403920bc 100644 --- a/arch/um/include/net_user.h +++ b/arch/um/include/net_user.h | |||
@@ -25,7 +25,7 @@ struct net_user_info { | |||
25 | }; | 25 | }; |
26 | 26 | ||
27 | extern void ether_user_init(void *data, void *dev); | 27 | extern void ether_user_init(void *data, void *dev); |
28 | extern void dev_ip_addr(void *d, char *buf, char *bin_buf); | 28 | extern void dev_ip_addr(void *d, unsigned char *bin_buf); |
29 | extern void set_ether_mac(void *d, unsigned char *addr); | 29 | extern void set_ether_mac(void *d, unsigned char *addr); |
30 | extern void iter_addresses(void *d, void (*cb)(unsigned char *, | 30 | extern void iter_addresses(void *d, void (*cb)(unsigned char *, |
31 | unsigned char *, void *), | 31 | unsigned char *, void *), |