From: J. Bruce Fields <bfields@xxxxxxxxxxxxxx> The concensus on the list is that servers should not be allowed to send anything other than ordinary IPv6 addresses, or DNS hostnames in the fs-locations attribute. Signed-off-by: "J. Bruce Fields" <bfields@xxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> --- fs/nfs/internal.h | 2 -- fs/nfs/nfs4namespace.c | 2 -- fs/nfs/super.c | 2 ++ 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h index 5d2a5d3..be091cb 100644 --- a/fs/nfs/internal.h +++ b/fs/nfs/internal.h @@ -277,8 +277,6 @@ unsigned int nfs_page_array_len(unsigned int base, size_t len) PAGE_SIZE - 1) >> PAGE_SHIFT; } -#define IPV6_SCOPE_DELIMITER '%' - /* * Set the port number in an address. Be agnostic about the address * family. diff --git a/fs/nfs/nfs4namespace.c b/fs/nfs/nfs4namespace.c index 30befc3..13c37de 100644 --- a/fs/nfs/nfs4namespace.c +++ b/fs/nfs/nfs4namespace.c @@ -118,8 +118,6 @@ static struct vfsmount *try_location(struct nfs_clone_mount *mountdata, mountdata->addr = (struct sockaddr *)&addr; - if (memchr(buf->data, IPV6_SCOPE_DELIMITER, buf->len)) - continue; nfs_parse_ip_address(buf->data, buf->len, mountdata->addr, &mountdata->addrlen); if (mountdata->addr->sa_family == AF_UNSPEC) diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 20dc4cc..6b447f5 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c @@ -716,6 +716,8 @@ static void nfs_parse_ipv4_address(char *string, size_t str_len, *addr_len = 0; } +#define IPV6_SCOPE_DELIMITER '%' + #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) static void nfs_parse_ipv6_scope_id(const char *string, const size_t str_len, const char *delim, -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html