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.

Jan

-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux

Reply via email to