Re: [PATCH 3/3] posix timers: Add syscall that works on timersigevent

From: Jann Horn
Date: Sun Feb 17 2013 - 08:43:00 EST


On Thu, Feb 14, 2013 at 08:19:45PM +0400, Pavel Emelyanov wrote:
> + struct sigevent event;
[...]
> + event.sigev_notify = timer->it_sigev_notify;
> + event.sigev_signo = timer->sigq->info.si_signo;
> + event.sigev_value = timer->sigq->info.si_value;
> + event.sigev_notify_thread_id = pid_vnr(timer->it_pid);
[...]
> + if (old_event && copy_to_user(old_event, &event, sizeof(event)))

Won't this leak uninitialized kernel stack data to userspace? As far as I can
see, the _sigev_un union is bigger than the _tid field in it, so the rest of
it will be copied over without initialization, right?

Jann

Attachment: signature.asc
Description: Digital signature