diff options
author | 2008-12-11 17:56:44 -0500 | |
---|---|---|
committer | 2009-01-06 11:53:56 -0500 | |
commit | d1208f70738c91f13b4eadb1b7a694082e439da2 (patch) | |
tree | 756e10b06467f9a9fd52f977a886b736def6f9f0 /include/linux/kernel.h | |
parent | NSM: Move nsm_create() (diff) | |
download | wireguard-linux-d1208f70738c91f13b4eadb1b7a694082e439da2.tar.xz wireguard-linux-d1208f70738c91f13b4eadb1b7a694082e439da2.zip |
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>
Diffstat (limited to 'include/linux/kernel.h')
0 files changed, 0 insertions, 0 deletions