summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@parallels.com>2010-10-05 20:48:02 +0400
committerJ. Bruce Fields <bfields@redhat.com>2010-10-11 20:00:17 -0400
commit70dc78da2cc76e7804c597fea3a0aff67ec8d7ad (patch)
tree2a547a8457b27a8efd9fe56488dd7ef73e81de6b
parente33534d54f1fde3e541f64fa5ad0dd379fc45fa7 (diff)
downloadlinux-70dc78da2cc76e7804c597fea3a0aff67ec8d7ad.tar.gz
linux-70dc78da2cc76e7804c597fea3a0aff67ec8d7ad.tar.bz2
linux-70dc78da2cc76e7804c597fea3a0aff67ec8d7ad.zip
sunrpc: Use helper to set v4 mapped addr in ip_map_parse
Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
-rw-r--r--net/sunrpc/svcauth_unix.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c
index 8b378f91f255..560677d187f1 100644
--- a/net/sunrpc/svcauth_unix.c
+++ b/net/sunrpc/svcauth_unix.c
@@ -220,10 +220,9 @@ static int ip_map_parse(struct cache_detail *cd,
switch (address.sa.sa_family) {
case AF_INET:
/* Form a mapped IPv4 address in sin6 */
- memset(&sin6, 0, sizeof(sin6));
sin6.sin6_family = AF_INET6;
- sin6.sin6_addr.s6_addr32[2] = htonl(0xffff);
- sin6.sin6_addr.s6_addr32[3] = address.s4.sin_addr.s_addr;
+ ipv6_addr_set_v4mapped(address.s4.sin_addr.s_addr,
+ &sin6.sin6_addr);
break;
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
case AF_INET6: