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

cgel.zte@gmail.com posted 1 patch 3 years, 6 months ago
arch/alpha/mm/fault.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH linu-next V2] mm/fault: fix comparing pointer to 0
Posted by cgel.zte@gmail.com 3 years, 6 months ago
From: Xu Panda <xu.panda@zte.com.cn>

Do not use assignment in if condition,
and comparing pointer whith NULL instead of comparing pointer to 0.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Xu Panda <xu.panda@zte.com.cn>
---
 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;
-- 
2.15.2
Re: [PATCH linu-next V2] mm/fault: fix comparing pointer to 0
Posted by Eric W. Biederman 3 years, 6 months ago
cgel.zte@gmail.com writes:

> From: Xu Panda <xu.panda@zte.com.cn>
>
> 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@zte.com.cn>
> Signed-off-by: Xu Panda <xu.panda@zte.com.cn>
> ---
>  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;