lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cfd18e0f0806260809n4370c6eqc07c05ff93029658@mail.gmail.com>
Date:	Thu, 26 Jun 2008 17:09:48 +0200
From:	"Michael Kerrisk" <mtk.manpages@...glemail.com>
To:	"Oleg Nesterov" <oleg@...sign.ru>
Cc:	"Thomas Gleixner" <tglx@...utronix.de>,
	lkml <linux-kernel@...r.kernel.org>,
	"Andrew Morton" <akpm@...ux-foundation.org>,
	"Bart Van Assche" <bart.vanassche@...il.com>,
	"Roland McGrath" <roland@...hat.com>
Subject: Re: [patch] make siginfo_t si_utime + si_sstime report times in USER_HZ, not HZ

On Wed, Jun 25, 2008 at 5:38 PM, Oleg Nesterov <oleg@...sign.ru> wrote:
> On 06/25, Michael Kerrisk wrote:
>>
>> --- /home/mtk/ARCHIVE/KERNEL/linux-2.6.26-rc7/kernel/signal.c.orig    2008-06-24
>> 16:20:39.000000000 +0200
>> +++ /home/mtk/ARCHIVE/KERNEL/linux-2.6.26-rc7/kernel/signal.c 2008-06-24
>> 16:22:17.000000000 +0200
>> @@ -1379,10 +1379,9 @@
>>
>>       info.si_uid = tsk->uid;
>>
>> -     /* FIXME: find out whether or not this is supposed to be c*time. */
>> -     info.si_utime = cputime_to_jiffies(cputime_add(tsk->utime,
>> +     info.si_utime = cputime_to_clock_t(cputime_add(tsk->utime,
>>                                                      tsk->signal->utime));
>> -     info.si_stime = cputime_to_jiffies(cputime_add(tsk->stime,
>> +     info.si_stime = cputime_to_clock_t(cputime_add(tsk->stime,
>>                                                      tsk->signal->stime));
>>
>>       info.si_status = tsk->exit_code & 0x7f;
>> @@ -1450,9 +1449,8 @@
>>
>>       info.si_uid = tsk->uid;
>>
>> -     /* FIXME: find out whether or not this is supposed to be c*time. */
>> -     info.si_utime = cputime_to_jiffies(tsk->utime);
>> -     info.si_stime = cputime_to_jiffies(tsk->stime);
>> +     info.si_utime = cputime_to_clock_t(tsk->utime);
>> +     info.si_stime = cputime_to_clock_t(tsk->stime);
>>
>>       info.si_code = why;
>>       switch (why) {
>
> This looks like the obviously good fix to me.

Tested now, and it does what I expect.

> The patch also deletes the comment about signal_struct->cXtime,
> this also looks right: why should we use cutime/cstime ?

Hmmm -- maybe I was wrong to delete that comment.  I think the point
of the comment was: should the time returned vie these fields of the
signinfo structure also include the times for (grand)children of the
process that had terminated and been wait()ed for.  My first take on
that was "no".  But now I'm not 100% sure.  A quick test on Solaris 8
suggests that these fields *do* include the times of waited for
children.  (None of this is specified in POSIX.1, which doesn't
specify si_utime and si_stime.)  I've not yet tested FreeBSD (not sure
if it supports these fields or not).

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
man-pages online: http://www.kernel.org/doc/man-pages/online_pages.html
Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ