[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1881701482227511@web3j.yandex.ru>
Date: Tue, 20 Dec 2016 11:51:51 +0200
From: Ozgur Karatas <okaratas@...ber.fsf.org>
To: Cihangir Akturk <cakturk@...il.com>
Cc: "corbet@....net" <corbet@....net>,
"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
20.12.2016, 02:22, "Cihangir Akturk" <cakturk@...il.com>:
> On Sun, Dec 18, 2016 at 12:52:12AM +0200, Ozgur Karatas wrote:
>> 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.
>
> XOR is true only when inputs differ. That means if inputs are the
> same, then it outputs false (0) or whatever you call it. Then we
> perform OR operation between those outputs. So if the result is 0 then
> addr1 and addr2 is equal.
Thanks for this explanation to your patch. In this case the patch mentioned is valid.
I checked, turned to "!=0" errors.
un-mem.c:29:18: error: ‘!’ (first use in this function)
return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2])) != 0;
^
Also, don't need to send patch it secon time :)
>> This way, -for the code to work- memory should be everytime unaligned !=0.
>
> Sorry I didn't quite get the point.
Regards,
~Ozgur
Powered by blists - more mailing lists