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]
Message-ID: <b3706688-62e6-b0d7-000b-01f69c4266fd@codeaurora.org>
Date:   Tue, 16 Feb 2021 10:55:15 -0700
From:   Jeffrey Hugo <jhugo@...eaurora.org>
To:     bbhatt@...eaurora.org,
        Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
Cc:     hemantk@...eaurora.org, linux-arm-msm@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] bus: mhi: core: Use current ee in intvec handler for
 syserr

On 2/16/2021 10:36 AM, Bhaumik Bhatt wrote:
> On 2021-02-15 11:32 PM, Manivannan Sadhasivam wrote:
>> On Fri, Feb 12, 2021 at 05:40:14PM -0700, Jeffrey Hugo wrote:
>>> The intvec handler stores the caches ee in a local variable for use in
>>> processing the intvec.  When determining if a syserr is a fatal error or
>>> not, the intvec handler is using the cached version, when it should be
>>> using the current ee read from the device.  Currently, the device could
>>> be in the PBL ee as the result of a fatal error, but the cached ee might
>>> be AMSS, which would cause the intvec handler to incorrectly signal a
>>> non-fatal syserr.
>>>
>>> Fixes: 3000f85b8f47 ("bus: mhi: core: Add support for basic PM 
>>> operations")
>>> Signed-off-by: Jeffrey Hugo <jhugo@...eaurora.org>
>>
>> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
>>
>> Thanks,
>> Mani
>>
>>> ---
>>>  drivers/bus/mhi/core/main.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/bus/mhi/core/main.c b/drivers/bus/mhi/core/main.c
>>> index 4e0131b..f182736 100644
>>> --- a/drivers/bus/mhi/core/main.c
>>> +++ b/drivers/bus/mhi/core/main.c
>>> @@ -448,7 +448,7 @@ irqreturn_t mhi_intvec_threaded_handler(int 
>>> irq_number, void *priv)
>>>          wake_up_all(&mhi_cntrl->state_event);
>>>
>>>          /* For fatal errors, we let controller decide next step */
>>> -        if (MHI_IN_PBL(ee))
>>> +        if (MHI_IN_PBL(mhi_cntrl->ee))
>>>              mhi_cntrl->status_cb(mhi_cntrl, MHI_CB_FATAL_ERROR);
>>>          else
>>>              mhi_pm_sys_err_handler(mhi_cntrl);
>>> -- 
>>> Qualcomm Technologies, Inc. is a member of the
>>> Code Aurora Forum, a Linux Foundation Collaborative Project.
>>>
> 
> This was being fixed by my patch series for execution environment.
> 
> I should just send the most important of my patches as one line fixers 
> from now on.

Its been an issue for some 9 months now.  I really don't care how it 
gets fixed, but it seems to be past time for it to be fixed.

Sending simple little fixes on their own seems to accelerate the review 
process of those fixes, and doesn't hold them back if some "dependency" 
in a series has comments which need to be fixed.  It is a judgement call 
to determine if a set of fixes should be sent together or not, but I 
personally try to send individual patches when I can.

-- 
Jeffrey Hugo
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ