2013-12-22 23:01:30

by Alexander Aring

[permalink] [raw]
Subject: [PATCH v2] nfs: fix dead code of ipv6_addr_scope

This patch corrects the check on a linklocal address.

Currently this can't be work, because ipv6_addr_scope returns a int with
a mask of IPV6_ADDR_SCOPE_MASK (0x00f0U) and IPV6_ADDR_SCOPE_LINKLOCAL
is 0x02. So the condition is always false.

Signed-off-by: Alexander Aring <[email protected]>
---
- change check on linklocal address from
(ipv6_addr_src_scope(&a6->sin6_addr) == IPV6_ADDR_SCOPE_LINKLOCAL) to
(ipv6_addr_scope(&a6->sin6_addr) & IPV6_ADDR_LINKLOCAL) which is a
little bit faster.
- change commit msg.

fs/nfs/nfs4filelayoutdev.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fs/nfs/nfs4filelayoutdev.c b/fs/nfs/nfs4filelayoutdev.c
index c7c295e5..dc5e9e1 100644
--- a/fs/nfs/nfs4filelayoutdev.c
+++ b/fs/nfs/nfs4filelayoutdev.c
@@ -95,8 +95,7 @@ same_sockaddr(struct sockaddr *addr1, struct sockaddr *addr2)
b6 = (struct sockaddr_in6 *)addr2;

/* LINKLOCAL addresses must have matching scope_id */
- if (ipv6_addr_scope(&a6->sin6_addr) ==
- IPV6_ADDR_SCOPE_LINKLOCAL &&
+ if (ipv6_addr_scope(&a6->sin6_addr) & IPV6_ADDR_LINKLOCAL &&
a6->sin6_scope_id != b6->sin6_scope_id)
return false;

--
1.8.5.2



2013-12-23 03:18:47

by Hannes Frederic Sowa

[permalink] [raw]
Subject: Re: [PATCH v2] nfs: fix dead code of ipv6_addr_scope

On Mon, Dec 23, 2013 at 12:01:16AM +0100, Alexander Aring wrote:
> This patch corrects the check on a linklocal address.
>
> Currently this can't be work, because ipv6_addr_scope returns a int with
> a mask of IPV6_ADDR_SCOPE_MASK (0x00f0U) and IPV6_ADDR_SCOPE_LINKLOCAL
> is 0x02. So the condition is always false.
>
> Signed-off-by: Alexander Aring <[email protected]>

Acked-by: Hannes Frederic Sowa <[email protected]>


2013-12-24 17:34:47

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v2] nfs: fix dead code of ipv6_addr_scope

On Mon, Dec 23, 2013 at 12:01:16AM +0100, Alexander Aring wrote:
> This patch corrects the check on a linklocal address.
>
> Currently this can't be work, because ipv6_addr_scope returns a int with
> a mask of IPV6_ADDR_SCOPE_MASK (0x00f0U) and IPV6_ADDR_SCOPE_LINKLOCAL
> is 0x02. So the condition is always false.
>
> Signed-off-by: Alexander Aring <[email protected]>
> ---
> - change check on linklocal address from
> (ipv6_addr_src_scope(&a6->sin6_addr) == IPV6_ADDR_SCOPE_LINKLOCAL) to
> (ipv6_addr_scope(&a6->sin6_addr) & IPV6_ADDR_LINKLOCAL) which is a
> little bit faster.
> - change commit msg.

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree. Please read Documentation/stable_kernel_rules.txt
for how to do this properly.

</formletter>