Date: Tue, 15 May 2001 10:44:54 -0700 (PDT) From: Jim.Pirzyk@disney.com To: FreeBSD-gnats-submit@freebsd.org Subject: kern/27350: /compat/linux/proc/meminfo has size overflows. Message-ID: <200105151744.f4FHis214465@snoopy.fan.fa.disney.com>
next in thread | raw e-mail | index | archive | help
>Number: 27350
>Category: kern
>Synopsis: /compat/linux/proc/meminfo has size overflow
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue May 15 10:50:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Jim Pirzyk
>Release: FreeBSD 4.3-RELEASE i386
>Organization:
>Environment:
System: FreeBSD snoopy.fan.fa.disney.com 4.3-RELEASE FreeBSD 4.3-RELEASE #4: Fri Apr 27 01:14:59 PDT 2001 root@snoopy.fan.fa.disney.com:/auto/roy/dist/pub/FreeBSD/4.3-RELEASE/sys/compile/UP_WORKSTATION i386
>Description:
A FreeBSD system with 5GB of swap space
Jim.Pirzyk@render001:/usr/local/lsf/etc
48>pstat -sk
Device 1K-blocks Used Avail Capacity Type
/dev/da0s1b 5242752 0 5242752 0% Interleaved
But /compat/linux/proc/meminfo only shows us 1GB:
Jim.Pirzyk@render001:/sys/modules/linprocfs
17>cat /compat/linux/proc/meminfo
Mem: 2413268992 40722432 2372546560 2891776 0 32768
Swap: 1073741824 131072 1073610752
MemTotal: 2356708 kB
MemFree: 2316940 kB
MemShared: 2824 kB
Buffers: 0 kB
Cached: 32 kB
SwapTotal: 1048576 kB
SwapFree: 1048448 kB
>How-To-Repeat:
>Fix:
*** ./sys/i386/linux/linprocfs/linprocfs_misc.c.orig Thu Dec 7 05:17:55 2000
--- ./sys/i386/linux/linprocfs/linprocfs_misc.c Tue May 15 10:35:34 2001
***************
*** 92,100 ****
unsigned long memfree; /* free memory in bytes */
unsigned long memshared; /* shared memory ??? */
unsigned long buffers, cached; /* buffer / cache memory ??? */
! unsigned long swaptotal; /* total swap space in bytes */
! unsigned long swapused; /* used swap space in bytes */
! unsigned long swapfree; /* free swap space in bytes */
vm_object_t object;
if (uio->uio_rw != UIO_READ)
--- 92,100 ----
unsigned long memfree; /* free memory in bytes */
unsigned long memshared; /* shared memory ??? */
unsigned long buffers, cached; /* buffer / cache memory ??? */
! unsigned long long swaptotal; /* total swap space in bytes */
! unsigned long long swapused; /* used swap space in bytes */
! unsigned long long swapfree; /* free swap space in bytes */
vm_object_t object;
if (uio->uio_rw != UIO_READ)
***************
*** 117,124 ****
swaptotal = 0;
swapfree = 0;
} else {
! swaptotal = swapblist->bl_blocks * 1024; /* XXX why 1024? */
! swapfree = swapblist->bl_root->u.bmu_avail * PAGE_SIZE;
}
swapused = swaptotal - swapfree;
memshared = 0;
--- 117,124 ----
swaptotal = 0;
swapfree = 0;
} else {
! swaptotal = (unsigned long long) swapblist->bl_blocks * 1024ULL; /* XXX why 1024? */
! swapfree = (unsigned long long) swapblist->bl_root->u.bmu_avail * PAGE_SIZE;
}
swapused = swaptotal - swapfree;
memshared = 0;
***************
*** 142,155 ****
ps += sprintf(ps,
" total: used: free: shared: buffers: cached:\n"
"Mem: %lu %lu %lu %lu %lu %lu\n"
! "Swap: %lu %lu %lu\n"
"MemTotal: %9lu kB\n"
"MemFree: %9lu kB\n"
"MemShared:%9lu kB\n"
"Buffers: %9lu kB\n"
"Cached: %9lu kB\n"
! "SwapTotal:%9lu kB\n"
! "SwapFree: %9lu kB\n",
memtotal, memused, memfree, memshared, buffers, cached,
swaptotal, swapused, swapfree,
B2K(memtotal), B2K(memfree),
--- 142,155 ----
ps += sprintf(ps,
" total: used: free: shared: buffers: cached:\n"
"Mem: %lu %lu %lu %lu %lu %lu\n"
! "Swap: %llu %llu %llu\n"
"MemTotal: %9lu kB\n"
"MemFree: %9lu kB\n"
"MemShared:%9lu kB\n"
"Buffers: %9lu kB\n"
"Cached: %9lu kB\n"
! "SwapTotal:%9llu kB\n"
! "SwapFree: %9llu kB\n",
memtotal, memused, memfree, memshared, buffers, cached,
swaptotal, swapused, swapfree,
B2K(memtotal), B2K(memfree),
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200105151744.f4FHis214465>
