Re: adjtimex system man page EINVAL

From: naresh kamboju
Date: Wed Jul 29 2009 - 04:23:03 EST


Hi Michael Kerrisk,

With reference to the LTP (Linux Test Project) test cases
ltp/testcases/kernel/syscalls/adjtimex/adjtimex02.c

GIT commit:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=eea83d896e318bda54be2d2770d2c5d6668d11db

There are changes noticed in latest kernel from 2.6.26 and above.
adjtimex EINVAL error check for offset is removed from 2.6.26 and above kernels

Kernels source lines are

To make sure the offset value following lines are added in
linux/kernel/time/ntp.c

+ /*
+ * Scale the phase adjustment and
+ * clamp to the operating range.
+ */
+ offset = min(offset, MAXPHASE);
+ offset = max(offset, -MAXPHASE);
+

Please review the patch.
If you have any issues please let me know.

Ref Links:

GIT commit:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=eea83d896e318bda54be2d2770d2c5d6668d11db

LTP:
http://www.mail-archive.com/ltp-list@xxxxxxxxxxxxxxxxxxxxx/msg02498.html

http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/kernel/syscalls/adjtimex/adjtimex02.c?view=log

Best regards,
Naresh Kamboju

Signed-off-by: Naresh Kamboju < naresh.kernel@xxxxxxxxx >

diff -Naurb man-pages-3.21/man2/adjtimex.2 man-pages-3.21_mod/man2/adjtimex.2
--- man-pages-3.21/man2/adjtimex.2 2009-04-15 21:35:32.000000000 +0530
+++ man-pages-3.21_mod/man2/adjtimex.2 2009-06-04 14:19:34.000000000 +0530
@@ -118,7 +118,8 @@
.B EINVAL
An attempt is made to set
.I buf.offset
-to a value outside the range \-131071 to +131071,
+to a value outside the range \-131071 to +131071 applicable upto 2.6.25
+kernels, EINVAL error check with buf.offset been removed from 2.6.25 and above,
or to set
.I buf.status
to a value other than those listed above,



On Fri, Jul 17, 2009 at 12:37 PM, naresh kamboju<naresh.kernel@xxxxxxxxx> wrote:
> Dear Michael Kerrisk,
>
> As per our discussion … I have sent below mail explaining the issue
> with adjtimex man page.
> Is that information and patch  OK?
>
> When would be the next man page release?
>
> Please let me know if there are any issues.
>
> Best regards
> Naresh Kamboju
>
>
>
> On Thu, Jun 4, 2009 at 4:44 PM, naresh kamboju<naresh.kernel@xxxxxxxxx> wrote:
>> Dear Michael Kerrisk,
>>
>> After comparing the changes between 2.6.25 and 2.6.29 kernels
>> As per my understanding EINVAL error check is removed with
>> timex.offset after 2.6.25 kernels and above.
>>
>> To make sure the offset value following lines are added in
>> linux-2.6.29/kernel/time/ntp.c +80
>>
>>
>> +       /*
>> +        * Scale the phase adjustment and
>> +        * clamp to the operating range.
>> +        */
>> +       offset = min(offset, MAXPHASE);
>> +       offset = max(offset, -MAXPHASE);
>> +
>>
>>
>> I have attached patch as adjtimex_man.patch
>>
>>
>> Best wishes,
>> Naresh Kamboju
>>
>> Signed-off-by: Naresh Kamboju < naresh.kernel@xxxxxxxxx >
>> diff -Naurb man-pages-3.21/man2/adjtimex.2 man-pages-3.21_mod/man2/adjtimex.2
>> --- man-pages-3.21/man2/adjtimex.2      2009-04-15 21:35:32.000000000 +0530
>> +++ man-pages-3.21_mod/man2/adjtimex.2  2009-06-04 14:19:34.000000000 +0530
>> @@ -118,7 +118,8 @@
>>  .B EINVAL
>>  An attempt is made to set
>>  .I buf.offset
>> -to a value outside the range \-131071 to +131071,
>> +to a value outside the range \-131071 to +131071 applicable upto 2.6.25
>> +kernels, EINVAL error check with buf.offset been removed from 2.6.25 and above,
>>  or to set
>>  .I buf.status
>>  to a value other than those listed above,
>>
>>
>>
>>
>>
>> On Tue, Jun 2, 2009 at 10:37 AM, Michael Kerrisk
>> <mtk.manpages@xxxxxxxxxxxxxx> wrote:
>>> Naresh,
>>>
>>> On Fri, May 22, 2009 at 1:17 PM, naresh kamboju <naresh.kernel@xxxxxxxxx> wrote:
>>>> Hi,
>>>>
>>>> Regarding adjtimex system man page,
>>>>
>>>> Since there are modifications noticed in
>>>> /kerel/time/ntp.c
>>>> /include/linux/timex.h
>>>>
>>>> compared with /kerel/time/ntp.c 2.6.23 and 2.6.29 and above i have
>>>> attached adjtimex_2.6.23_vs_2.6.29.log : line number 330.
>>>>
>>>> In adjtimex (2) man page under the EINVAL Error check section changes
>>>> are required w.r.t buf.offset.
>>>> Could you conform and update the man page.
>>>
>>> Could you please summarize in a couple of sentence what the actual
>>> changes are that you think are required.
>>>
>>> Cheers,
>>>
>>> Michael
>>>
>>>
>>> --
>>> Michael Kerrisk
>>> Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
>>> git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git
>>> 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
>>>
>>
>

Attachment: adjtimex_man.patch
Description: Binary data