From: Kelledin (kelledin@skarpsey.dyndns.org)
Date: Sat Oct 04 2003 - 07:28:06 CEST
The attached patch updates sysklogd to use the newer
query_module() function to trace module symbols. I've done this
for a couple of reasons:
1) The old method of seeking through /dev/kmem is terribly
obsolete. I think sysklogd is the last project in existence
that still uses this antiquated method to trace module symbols.
o.O
2) With newer Linux kernels on 64-bit machines, the old method
often causes klogd to segfault. This is due largely to current
limitations in lseek64(). On my Alpha box, for example, the
kernel tends to map module symbols at or near the very top of a
64-bit address space, which happens to be WAY out of bounds of
what the Linux lseek64() implementation can handle.
(Yes, this lseek64() thing is more of a Linux kernel bug. I
don't expect it to be fixed anytime soon, though, and neither
should anyone else. ;-)
-- Kelledin "If a server crashes in a server farm and no one pings it, does it still cost four figures to fix?"
This archive was generated by hypermail 2.1.7 : Sat Oct 04 2003 - 09:07:30 CEST