Re: [PATCH] include: mman: Use bool instead of int for the return value of arch_validate_prot

From: Dave Hansen
Date: Sun Jul 10 2016 - 19:48:05 EST


On 07/09/2016 09:29 AM, chengang@xxxxxxxxxxxxxxxx wrote:
> -static inline int arch_validate_prot(unsigned long prot)
> +static inline bool arch_validate_prot(unsigned long prot)
> {
> if (prot & ~(PROT_READ | PROT_WRITE | PROT_EXEC | PROT_SEM | PROT_SAO))
> - return 0;
> - if ((prot & PROT_SAO) && !cpu_has_feature(CPU_FTR_SAO))
> - return 0;
> - return 1;
> + return false;
> + return (prot & PROT_SAO) == 0 || cpu_has_feature(CPU_FTR_SAO);
> }
> #define arch_validate_prot(prot) arch_validate_prot(prot)

Please don't do things like this. They're not obviously correct and
also have no obvious benefit. You also don't mention why you bothered
to alter the logical structure of these checks.