RE: [evlog-dev] [BUG] time stamp of kernel event increases improp erly when timezo ne is not UTC

"Zhu, Yi" <[email protected]> Wed, 15 Jan 2003 10:44:09 +0800
Newsgroups gmane.linux.kernel.event-logging
Message-ID <[email protected]>
Hi Hien,

Yes, you are right. The code between 1260 to 1277 is meaningful and
delicate.

Thanks,
-Zhu Yi

> -----Original Message-----
> From: Hien Nguyen [mailto:[email protected]]
> Sent: Wednesday, January 15, 2003 4:11 AM
> To: Zhu, Yi
> Cc: '[email protected]'
> Subject: Re: [evlog-dev] [BUG] time stamp of kernel event 
> increases improperly when timezo ne is not UTC
> 
> 
> Hi Yi,
> 
> CURRENT_TIME is not always be UTC. When the system first starts up,
> CURRENT_TIME = 0, little later CURRENT_TIME = CMOS time and finally
> CURRENT_TIME = UTC (this happens after the kernel knows the TZ).
> 
> So what you see in evlogd.c around lines 1260-1277, basically 
> addresses
> the case when CURRENT_TIME=0 (flagged by EVL_INITIAL_BOOT_EVENT) and
> CURRENT_TIME=CMOS (flagged by  EVL_KERNTIME_LOCAL, by the way I should
> name this flag EVL_KERNTIME_CMOS). As you can see this code should be
> around.
> 
>  The code at 2794-2796 is actual problematic and should not 
> be there at
> all (because time now should be already adjusted). It's 
> probably a merge
> error, since I did a pretty big merge for 1.5.0 version. I 
> will fix this
>   problem and do more testing on this.
> 
> Thanks, Hien.
> 
> Zhu, Yi wrote:
> > Hi,
> > 
> > When I ran the kernel test script test1.sh I got a failure. 
> I traced the
> > code and found there are two pieces of code trying to 
> adjust the kernel
> > message time stamp to local time in file evlogd.c lines 
> 1275~1277 and
> > 2794~2796.
> > 
> > /* Adjust timestamp to local time for kernel event */
> > if (logrec->rechdr.log_flags & EVL_KERNEL_EVENT) {
> >         logrec->rechdr.log_time.tv_sec = 
> logrec->rechdr.log_time.tv_sec +
> > (tz.tz_minuteswest * 60) ;
> > }
> > 
> > But I think the entry rechdr->log_time has been set to the 
> kernel variable
> > CURRENT_TIME before. CURRENT_TIME will always be the UTC 
> time (in linux-2.4.
> > 19/kernel/time.c line 134). In my redhat 8.0, it will set 
> the kernel time to
> > UTC in /etc/rc.sysinit with /sbin/hwclock if the CMOS time 
> is local time.
> > And in glibc-2.2.93-5, function localtime_r() will use 
> tzset(3) to get the
> > current time zone. So I think there is no need to do this in evlogd.
> > 
> > Test1.sh passed after I removed those lines.
> > 
> > Thanks,
> > 
> --------------------------------------------------------------
> --------------
> > ----------------------------------------------------
> > Opinions expressed are those of the author and do not 
> represent Intel Corp.
> > 
> > Zhu Yi (Chuyee)
> > Intel China Software Lab (ICSL)
> > 22nd Floor, ShanghaiMart Tower No. 2299 Yan'an Road(West) 
> Shanghai 200336,
> > PRC
> > Tel: 8621-52574545-1261 Fax: 8621-62366119
> > 
> > GnuPG v1.0.6 (GNU/Linux)
> > http://cn.geocities.com/chewie_chuyee/gpg.txt
> > 1024D/71C34820 C939 2B0B FBCE 1D51 109A  55E5 8650 DB90 71C3 4820
> > 
> > 
> > -------------------------------------------------------
> > This SF.NET email is sponsored by: FREE  SSL Guide from Thawte
> > are you planning your Web Server Security? Click here to get a FREE
> > Thawte SSL guide and find the answers to all your  SSL 
> security issues.
> > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en
> > _______________________________________________
> > evlog-developers mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/evlog-developers
> > 
> 


-------------------------------------------------------
This SF.NET email is sponsored by: Take your first step towards giving 
your online business a competitive advantage. Test-drive a Thawte SSL 
certificate - our easy online guide will show you how. Click here to get 
started: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0027en