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]
Date: Fri, 26 Jan 2024 09:51:15 +0800
From: Kunwu Chan <chentao@...inos.cn>
To: "Aneesh Kumar K.V" <aneesh.kumar@...nel.org>, mpe@...erman.id.au,
 npiggin@...il.com, christophe.leroy@...roup.eu, naveen.n.rao@...ux.ibm.com
Cc: linuxppc-dev@...ts.ozlabs.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] powerpc/mm/hash: Code cleanup

On 2024/1/25 21:47, Aneesh Kumar K.V wrote:
> On 1/25/24 3:16 PM, Kunwu Chan wrote:
>> This part was commented in about 17 years before.
>> If there are no plans to enable this part code in the future,
>> we can remove this dead code.
>>
>> Signed-off-by: Kunwu Chan <chentao@...inos.cn>
>> ---
>>   arch/powerpc/include/asm/book3s/64/mmu-hash.h | 22 -------------------
>>   1 file changed, 22 deletions(-)
>>
>> diff --git a/arch/powerpc/include/asm/book3s/64/mmu-hash.h b/arch/powerpc/include/asm/book3s/64/mmu-hash.h
>> index 1c4eebbc69c9..d39ec7134a78 100644
>> --- a/arch/powerpc/include/asm/book3s/64/mmu-hash.h
>> +++ b/arch/powerpc/include/asm/book3s/64/mmu-hash.h
>> @@ -731,26 +731,6 @@ struct hash_mm_context {
>>   #endif /* CONFIG_PPC_SUBPAGE_PROT */
>>   };
>>   
>> -#if 0
>> -/*
>> - * The code below is equivalent to this function for arguments
>> - * < 2^VSID_BITS, which is all this should ever be called
>> - * with.  However gcc is not clever enough to compute the
>> - * modulus (2^n-1) without a second multiply.
>> - */
>> -#define vsid_scramble(protovsid, size) \
>> -	((((protovsid) * VSID_MULTIPLIER_##size) % VSID_MODULUS_##size))
>> -
>> -/* simplified form avoiding mod operation */
>> -#define vsid_scramble(protovsid, size) \
>> -	({								 \
>> -		unsigned long x;					 \
>> -		x = (protovsid) * VSID_MULTIPLIER_##size;		 \
>> -		x = (x >> VSID_BITS_##size) + (x & VSID_MODULUS_##size); \
>> -		(x + ((x+1) >> VSID_BITS_##size)) & VSID_MODULUS_##size; \
>> -	})
>> -
>> -#else /* 1 */
>>   static inline unsigned long vsid_scramble(unsigned long protovsid,
>>   				  unsigned long vsid_multiplier, int vsid_bits)
>>   {
>> @@ -764,8 +744,6 @@ static inline unsigned long vsid_scramble(unsigned long protovsid,
>>   	return (vsid + ((vsid + 1) >> vsid_bits)) & vsid_modulus;
>>   }
>>   
>> -#endif /* 1 */
>> -
>>   /* Returns the segment size indicator for a user address */
>>   static inline int user_segment_size(unsigned long addr)
>>   {
> 
> That was done to make sure one can follow the actual compiled code better.
Thanks for your explanation. It's my bad.
> 
> -aneesh
> 
-- 
Thanks,
   Kunwu


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ