Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <59FB1E003EF3A943BD6BAD197ABD4D6A2B82EA@dggemi524-mbx.china.huawei.com>
Date: Mon, 16 Sep 2019 02:27:29 +0000
From: "zhaohang (F)" <zhaohang14@...wei.com>
To: "musl@...ts.openwall.com" <musl@...ts.openwall.com>
Subject: 答复: Re: 答复: Subject: [PATCH] pthread: Fix bug that pthread_create may cause priority inversion

Thanks for your reply

-----邮件原件-----
发件人: Rich Felker [mailto:dalias@...ifal.cx] 代表 Rich Felker
发送时间: 2019年9月12日 1:29
收件人: musl@...ts.openwall.com
主题: Re: [musl] Re: 答复: [musl] Subject: [PATCH] pthread: Fix bug that pthread_create may cause priority inversion

On Wed, Sep 11, 2019 at 09:52:00AM -0400, Rich Felker wrote:
> On Wed, Sep 11, 2019 at 01:38:38PM +0000, zhaohang (F) wrote:
> > Thank you Rich for your patch. It helps me a lot.
> > 
> > But I find that 'return 0' is used to let child thread exit. In that 
> > case, a bad thing will happen that the return address of child 
> > thread maybe undefined, if caller set prio of child unsuccessfully.
> 
> The code in __clone is supposed to perform SYS_exit if the start 
> function returns; this actually matters for users of the public
> clone() function, I think.

I found the problem -- when clone.s is built as thumb, mov lr,pc is invalid for saving the return address (it omits the thumb-mode bit).
I have a patch I'll push soon, attached. Thanks again for the report!

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.