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] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200315195024.GB10926@zn.tnic>
Date:   Sun, 15 Mar 2020 20:50:24 +0100
From:   Borislav Petkov <bp@...en8.de>
To:     Sherry Sun <sherry.sun@....com>
Cc:     mchehab@...nel.org, tony.luck@...el.com, james.morse@....com,
        rrichter@...vell.com, michal.simek@...inx.com,
        manish.narani@...inx.com, linux-edac@...r.kernel.org,
        linux-kernel@...r.kernel.org, linux-imx@....com, frank.li@....com
Subject: Re: [PATCH v2] EDAC: synopsys: Fix the wrong call of pinf->col
 parameter

On Fri, Feb 28, 2020 at 10:16:23AM +0800, Sherry Sun wrote:
> Since ZynqMP platform call zynqmp_get_error_info() function to get ce/ue
> information. In this function, pinf->col parameter is not used, this
> parameter is only used by Zynq platforme in zynq_get_error_info(). So
> here pinf->col should not be called and printed for ZynqMP, need remove
> it.

Err, the interrupt handler intr_handler() calls the ->get_error_info()
function pointer and then calls handle_error(). I.e, the same path
ending in handle_error() is called on both: Zynq and ZynqMP, one through
the interrupt and the other through the poller.

Because it looks like the interrupt support is only on ZynqMP? I'm
looking at that DDR_ECC_INTR_SUPPORT thing.

If so, then you need to rename the interrupt handler to
zynqmp_intr_handler().

And normal Zynq platform uses check_errors() which then calls
handle_error().

So still not good enough: you probably "fixed" it on ZynqMP but broke
it on Zynq because check_errors() calls ->get_error_info() which is
zynq_get_error_info() and will have populated pinf->col.

You need to differentiate between Zynq and ZynqMP in handle_error() and
issue the proper string depending on the platform.

AFAICT.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ