Re: [PATCH linu-next V2] mm/fault: fix comparing pointer to 0

From: Eric W. Biederman
Date: Sun Sep 18 2022 - 17:57:48 EST


cgel.zte@xxxxxxxxx writes:

> From: Xu Panda <xu.panda@xxxxxxxxxx>
>
> Do not use assignment in if condition,
> and comparing pointer whith NULL instead of comparing pointer to 0.

Then sensible thing to do if fixup is a pointer value is to just say:

"if (fixup) {"

That will be clearer and not match the pattern you are trying to avoid.

Eric

>
> Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
> Signed-off-by: Xu Panda <xu.panda@xxxxxxxxxx>
> ---
> arch/alpha/mm/fault.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c
> index ef427a6bdd1a..bb3fe2949313 100644
> --- a/arch/alpha/mm/fault.c
> +++ b/arch/alpha/mm/fault.c
> @@ -194,7 +194,8 @@ do_page_fault(unsigned long address, unsigned long
> mmcsr,
>
> no_context:
> /* Are we prepared to handle this fault as an exception? */
> - if ((fixup = search_exception_tables(regs->pc)) != 0) {
> + fixup = search_exception_tables(regs->pc);
> + if (fixup != NULL) {
> unsigned long newpc;
> newpc = fixup_exception(dpf_reg, fixup, regs->pc);
> regs->pc = newpc;