[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <6609661482015132@web29g.yandex.ru>
Date: Sun, 18 Dec 2016 00:52:12 +0200
From: Ozgur Karatas <okaratas@...ber.fsf.org>
To: Cihangir Akturk <cakturk@...il.com>,
"corbet@....net" <corbet@....net>
Cc: "linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: Documentation/unaligned-memory-access.txt: fix incorrect comparison operator
17.12.2016, 19:43, "Cihangir Akturk" <cakturk@...il.com>:
> In the actual implementation ether_addr_equal function tests for equality to 0
> when returning. It seems in commit 0d74c4 it is somehow overlooked to change
> this operator to reflect the actual function.
why this "return" function need to be ==0? I think, u16 functions read memory but "0" is should not be equalty.
This way, -for the code to work- memory should be everytime unaligned !=0.
> Signed-off-by: Cihangir Akturk <cakturk@...il.com>
> ---
> Documentation/unaligned-memory-access.txt | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Documentation/unaligned-memory-access.txt b/Documentation/unaligned-memory-access.txt
> index a445da0..3f76c0c 100644
> --- a/Documentation/unaligned-memory-access.txt
> +++ b/Documentation/unaligned-memory-access.txt
> @@ -151,7 +151,7 @@ bool ether_addr_equal(const u8 *addr1, const u8 *addr2)
> #else
> const u16 *a = (const u16 *)addr1;
> const u16 *b = (const u16 *)addr2;
> - return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2])) != 0;
> + return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2])) == 0;
> #endif
> }
>
> --
> 2.1.4
Powered by blists - more mailing lists