lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <afd3887e-11e2-1f03-4d40-bae38b28991f@linux.ibm.com>
Date:   Tue, 31 Aug 2021 08:15:48 +0200
From:   Vineeth Vijayan <vneethv@...ux.ibm.com>
To:     Heiko Carstens <hca@...ux.ibm.com>,
        jing yangyang <cgel.zte@...il.com>
Cc:     Vasily Gorbik <gor@...ux.ibm.com>,
        Christian Borntraeger <borntraeger@...ibm.com>,
        Jiapeng Zhong <abaci-bugfix@...ux.alibaba.com>,
        linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org,
        jing yangyang <jing.yangyang@....com.cn>,
        Zeal Robot <zealci@....com.cn>
Subject: Re: [PATCH linux-next] s390:fix Coccinelle warnings

I am a fan of Coccinelle fixes. But, here i think we need to do more 
work than just fixing it to
get rid of the warnings. I agree with Heiko. May be we should re-write 
this entire function and
make it readable.

Nack.


On 8/23/21 8:07 PM, Heiko Carstens wrote:
> On Thu, Aug 19, 2021 at 07:51:59PM -0700, jing yangyang wrote:
>> WARNING !A || A && B is equivalent to !A || B
>>
>> This issue was detected with the help of Coccinelle.
>>
>> Reported-by: Zeal Robot <zealci@....com.cn>
>> Signed-off-by: jing yangyang <jing.yangyang@....com.cn>
>> ---
>>   arch/s390/include/asm/scsw.h | 5 ++---
>>   1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/s390/include/asm/scsw.h b/arch/s390/include/asm/scsw.h
>> index a7c3ccf..754122d 100644
>> --- a/arch/s390/include/asm/scsw.h
>> +++ b/arch/s390/include/asm/scsw.h
>> @@ -691,9 +691,8 @@ static inline int scsw_tm_is_valid_pno(union scsw *scsw)
>>   {
>>   	return (scsw->tm.fctl != 0) &&
>>   	       (scsw->tm.stctl & SCSW_STCTL_STATUS_PEND) &&
>> -	       (!(scsw->tm.stctl & SCSW_STCTL_INTER_STATUS) ||
>> -		 ((scsw->tm.stctl & SCSW_STCTL_INTER_STATUS) &&
>> -		  (scsw->tm.actl & SCSW_ACTL_SUSPENDED)));
>> +		(!(scsw->tm.stctl & SCSW_STCTL_INTER_STATUS) ||
>> +		(scsw->tm.actl & SCSW_ACTL_SUSPENDED));
> This turns something unreadable into something else which is
> unreadable. It's up to Vineeth to decide what to do with this.
>
> However I'd prefer if this would be changed into something readable,
> maybe as addon patch, like e.g.:
>
> static inline bool scsw_tm_is_valid_pno(union scsw *scsw)
> {
> 	if (scsw->tm.fctl == 0)
> 		return false;
> 	if (!(scsw->tm.stctl & SCSW_STCTL_STATUS_PEND))
> 		return false;
> 	if (!(scsw->tm.stctl & SCSW_STCTL_INTER_STATUS))
> 		return false;
> 	if (scsw->tm.actl & SCSW_ACTL_SUSPENDED)
> 		return false;
> 	return true;
> }
>
> Chances are that the above is wrong... it's just to illustrate ;)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ