TERRIBLE memleaks in 2.0.30

Carlo Wood (carlo@runaway.xs4all.nl)
Fri, 15 Aug 1997 20:40:08 +0200 (MET DST)


Hiya,

I applied the "unofficial patch" mon-diff-2.0.29 (sorry, forgot the
authors name) to 2.0.30 - which applies clean if you edit 29->30:

-SUBLEVEL = 30
+SUBLEVEL = 30-mon

This patch makes a /proc/page-monitor which shows the allocated
memory (by kmalloc()).

Directly after reboot (just showing SOME of the
output of `cat /proc/page-monitor`):

04/08/97:

count line file
29553 935 buffer.c
1208 220 fork.c
1239 172 fork.c
1253 148 fork.c
1261 200 fork.c
886 411 binfmt_elf.c
908 459 binfmt_elf.c
775 291 exec.c
58450 219 mmap.c
784 209 binfmt_elf.c
36519 768 mmap.c
1257 119 fork.c
15725 87 fork.c
321672 667 skbuff.c
290 758 skbuff.c

One day later (after terminating
all extra running applications, like X):

05/08/97

count line file (100 entries)
24508 935 buffer.c
1298 220 fork.c
1337 172 fork.c
1355 148 fork.c
1364 200 fork.c
948 411 binfmt_elf.c
974 459 binfmt_elf.c
840 291 exec.c
61269 219 mmap.c
847 209 binfmt_elf.c
37953 768 mmap.c
1360 119 fork.c
17017 87 fork.c
341553 667 skbuff.c
290 758 skbuff.c

After 11 days:

15/08/97:

count line file
358603 935 buffer.c
13606 220 fork.c
14744 172 fork.c
14981 148 fork.c
15095 200 fork.c
14365 411 binfmt_elf.c
14640 459 binfmt_elf.c
10714 291 exec.c
548374 219 mmap.c
11078 209 binfmt_elf.c
100131 768 mmap.c
15209 119 fork.c
202812 87 fork.c
1159021 667 skbuff.c
16832 758 skbuff.c

Note that the line numbers might not be 100% correct, because I have more
patches applied (including a memleak fix for route, excluding the known
memleak for fork; largest patch is the patch that allows 4096 fds).

I suggest therefore that others apply this patch themselfs in order to
search for leaks... convince yourself... It LEAKS.

Carlo

-- 
 carlo@runaway.xs4all.nl, Run @ IRC.

ircd development: http://www.xs4all.nl/~carlo17/ircd-dev