aha/include/linux/lockd
Chuck Lever d1208f7073 NLM: nlm_privileged_requester() doesn't recognize mapped loopback address
Commit b85e4676 added the nlm_privileged_requester() helper to check
whether an RPC request was sent from a local privileged caller.  It
recognizes IPv4 privileged callers (from "127.0.0.1"), and IPv6
privileged callers (from "::1").

However, IPV6_ADDR_LOOPBACK is not set for the mapped IPv4 loopback
address (::ffff:7f00:0001), so the test breaks when the kernel's RPC
service is IPv6-enabled but user space is calling via the IPv4
loopback address.  This is actually the most common case for IPv6-
enabled RPC services on Linux.

Rewrite the IPv6 check to handle the mapped IPv4 loopback address as
well as a normal IPv6 loopback address.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
2009-01-06 11:53:56 -05:00
..
bind.h NLM: allow lockd requests from an unprivileged port 2008-12-23 15:21:38 -05:00
debug.h
lockd.h NLM: nlm_privileged_requester() doesn't recognize mapped loopback address 2009-01-06 11:53:56 -05:00
nlm.h
share.h
xdr.h NSM: Remove include/linux/lockd/sm_inter.h 2009-01-06 11:53:55 -05:00
xdr4.h NLM: Fix sparse warnings 2007-05-14 19:33:46 -04:00