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: <7998b455-c7bd-5caf-d6a9-d1c0404f2b5f@kernel.dk>
Date:   Thu, 12 Nov 2020 08:45:01 -0700
From:   Jens Axboe <axboe@...nel.dk>
To:     Max Filippov <jcmvbkbc@...il.com>
Cc:     "open list:TENSILICA XTENSA PORT (xtensa)" 
        <linux-xtensa@...ux-xtensa.org>, Chris Zankel <chris@...kel.net>,
        LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2] xtensa: fix broken TIF_NOTIFY_SIGNAL assembly

On 11/12/20 2:12 AM, Max Filippov wrote:
> On Wed, Nov 11, 2020 at 1:05 PM Jens Axboe <axboe@...nel.dk> wrote:
>>
>> On 11/11/20 1:53 PM, Max Filippov wrote:
>>> TIF_NOTIFY_SIGNAL handling in xtensa assembly is implemented
>>> incorrectly: there should be a call to do_notify_resume when either
>>> TIF_SIGPENDING, TIF_NOTIFY_RESUME or TIF_NOTIFY_SIGNAL bit is set in the
>>> thread_info::flags. The straightforward way to do it would be
>>>
>>>     _bbsi.l a4, TIF_NEED_RESCHED, 3f
>>>     _bbsi.l a4, TIF_NOTIFY_RESUME, 2f
>>>     _bbsi.l a4, TIF_NOTIFY_SIGNAL, 2f
>>>     _bbci.l a4, TIF_SIGPENDING, 5f
>>>
>>> Optimize it a little bit and use bit mask and bnone opcode to skip
>>> do_notify_resume invocation. Shuffle _TIF_* flags a bit so that used bit
>>> mask fits into the immediate field of movi opcode.
>>
>> Thanks - do you mind if I fold this in with a reference to your
>> changes? Seems like that'd be a better option than leaving it
>> broken for a bit.
> 
> Sure Jens, by all means!

Thanks! Done.

-- 
Jens Axboe

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ