Re: [RFCv2 03/10] x86: Introduce userspace API to handle per-thread features

Thomas Gleixner
2022-05-14T08:37:36Z

On Fri, May 13 2022 at 23:50, Edgecombe, Rick P wrote:
> On Sat, 2022-05-14 at 02:09 +0300, Kirill A. Shutemov wrote:
>> On Fri, May 13, 2022 at 05:34:12PM +0000, Edgecombe, Rick P wrote:
>> > On Fri, 2022-05-13 at 16:09 +0200, Alexander Potapenko wrote:
>> > > > +
>> > > > + /* Handle ARCH_THREAD_FEATURE_ENABLE */
>> > > > +
>> > > > + task->thread.features |= features;
>> > > > +out:
>> > > > + return task->thread.features;
>> > >
>> > > Isn't arch_prctl() supposed to return 0 on success?
>> >
>> > Hmm, good point. Maybe we'll need a struct to pass info in and out.
>>
>> But values >0 are unused. I don't see why can't we use them.
>
> Hmm, I don't know what it would break since it is a new "code"
> argument. But the man page says:
> "On success, arch_prctl() returns 0; on error, -1 is returned, and
> errno is set to indicate the error."
>
> So just change the man pages?
> "On success, arch_prctl() returns positive values; on error, -1 is
> returned, and errno is set to indicate the error."

Why?

prctl(GET, &out)

is the pattern used all over the place.

Thanks,

tglx