From Bugzilla Helper: User-Agent: Mozilla/4.76 [en] (X11; U; Linux 2.4.9-13win4lin i686) Description of problem: When using cat on /proc/ksyms, the output is truncated. However using 'dd if=/proc/ksyms' gives the full output. Further found that reading more than 4095 bytes from /proc/ksyms in one read leads to truncation of the output. Version-Release number of selected component (if applicable): 2.4.18-4 How reproducible: Always Steps to Reproduce: 1. cat /proc/ksyms >cat_ksyms 2. ls -l cat_ksyms 3. dd if=/proc/ksyms >dd_ksyms 4. ls -l dd_ksyms Actual Results: [root@gbe2 root]# ls -l cat_ksyms -rw-r--r-- 1 root root 73424 May 5 12:38 cat_ksyms [root@gbe2 root]# ls -l dd_ksyms -rw-r--r-- 1 root root 87452 May 5 12:39 dd_ksyms Expected Results: [root@gbe2 root]# ls -l cat_ksyms -rw-r--r-- 1 root root 87452 May 5 12:38 cat_ksyms [root@gbe2 root]# ls -l dd_ksyms -rw-r--r-- 1 root root 87452 May 5 12:39 dd_ksyms Additional info:
$ cat /proc/ksyms > cat_ksyms $ dd if=/proc/ksyms > dd_ksyms $ diff --brief cat_ksyms dd_ksyms $ Works for me (2.4.18-4.athlon). Both files are 72155 bytes long.
Ok, so could it be glibc then ? I just tried this kernel on a RedHat 7.2 machine (glibc-2.2.4-19.3) and everything seems to work just fine except this. Also the machines I'm testing this on is dual Xeons (so I'm running kernel-smp-2.4.18-4).
Confirmed. I'll post a patch in a while.
This is strange, I'm not able to reproduce it with a self built test kernel. Still investigating...
Fix is committed for the next kernel erratum.