Jan Kiszka <[email protected]> writes:

> On 27.03.21 10:54, Philippe Gerum wrote:
>> From: Florian Bezdeka <[email protected]>
>> 
>> The helper used for copying the timeout values (=mutex_fetch_timeout())
>> was always copying sizeof(struct timespec64) from user to kernel space.
>> For applications with time_t being 4 bytes only (like for native 32 bit
>> applications) that is simply too much.
>> 
>> Signed-off-by: Florian Bezdeka <[email protected]>
>> ---
>>  kernel/cobalt/posix/mutex.c | 3 +--
>>  1 file changed, 1 insertion(+), 2 deletions(-)
>> 
>> diff --git a/kernel/cobalt/posix/mutex.c b/kernel/cobalt/posix/mutex.c
>> index d43a747b3..70fe7960a 100644
>> --- a/kernel/cobalt/posix/mutex.c
>> +++ b/kernel/cobalt/posix/mutex.c
>> @@ -349,8 +349,7 @@ COBALT_SYSCALL(mutex_lock, primary,
>>  static inline int mutex_fetch_timeout(struct timespec64 *ts,
>>                                    const void __user *u_ts)
>>  {
>> -    return u_ts == NULL ? -EFAULT :
>> -            cobalt_copy_from_user(ts, u_ts, sizeof(*ts));
>> +    return u_ts == NULL ? -EFAULT : cobalt_get_u_timespec(ts, u_ts);
>>  }
>>  
>>  COBALT_SYSCALL(mutex_timedlock, primary,
>> 
>
> Also here: Can we please avoid introducing a regression first and then
> fixing it in the same series? To my understanding, this belongs into
> patch 1, right?
>
> Same for patch 3 and 8 likely.
>
> Philippe, you can preserve Florian's fix-up credit simply in the commit
> message, if that was the concern.

That was the concern.

-- 
Philippe.

Reply via email to