2006-10-26 15:36:32

by Jim Houston

[permalink] [raw]
Subject: [PATCH] time_adjust cleared before use

Hi

I notice that the code which implements adjtime clears
the time_adjust value before using it. The attached
patch makes the obvious fix.

Jim Houston - Concurrent Computer Corp.

--

diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
index 47195fa..3afeaa3 100644
--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
@@ -161,9 +161,9 @@ void second_overflow(void)
time_adjust += MAX_TICKADJ;
tick_length -= MAX_TICKADJ_SCALED;
} else {
- time_adjust = 0;
tick_length += (s64)(time_adjust * NSEC_PER_USEC /
HZ) << TICK_LENGTH_SHIFT;
+ time_adjust = 0;
}
}
}



2006-10-26 17:23:04

by Roman Zippel

[permalink] [raw]
Subject: Re: [PATCH] time_adjust cleared before use

Hi,

On Thu, 26 Oct 2006, Jim Houston wrote:

> Hi
>
> I notice that the code which implements adjtime clears
> the time_adjust value before using it. The attached
> patch makes the obvious fix.
>
> Jim Houston - Concurrent Computer Corp.
>
> --
>
> diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
> index 47195fa..3afeaa3 100644
> --- a/kernel/time/ntp.c
> +++ b/kernel/time/ntp.c
> @@ -161,9 +161,9 @@ void second_overflow(void)
> time_adjust += MAX_TICKADJ;
> tick_length -= MAX_TICKADJ_SCALED;
> } else {
> - time_adjust = 0;
> tick_length += (s64)(time_adjust * NSEC_PER_USEC /
> HZ) << TICK_LENGTH_SHIFT;
> + time_adjust = 0;
> }
> }
> }

Acked-by: Roman Zippel <[email protected]>

Thanks, that might also explain the other problem.
Could you please sign it off and then it should go into 2.6.19.

bye, Roman

2006-10-26 17:53:44

by Jim Houston

[permalink] [raw]
Subject: Re: [PATCH] time_adjust cleared before use

On Thu, 2006-10-26 at 19:22 +0200, Roman Zippel wrote:
> On Thu, 26 Oct 2006, Jim Houston wrote:
> > I notice that the code which implements adjtime clears
> > the time_adjust value before using it. The attached
> > patch makes the obvious fix.

> Acked-by: Roman Zippel <[email protected]>
Signed-off-by: Jim Houston <[email protected]>

diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
index 47195fa..3afeaa3 100644
--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
@@ -161,9 +161,9 @@ void second_overflow(void)
time_adjust += MAX_TICKADJ;
tick_length -= MAX_TICKADJ_SCALED;
} else {
- time_adjust = 0;
tick_length += (s64)(time_adjust * NSEC_PER_USEC /
HZ) << TICK_LENGTH_SHIFT;
+ time_adjust = 0;
}
}
}