On Sun, Aug 22, 2004 at 04:23:38AM +1000, Darren Reed wrote: > In some email I received from Guido van Rooij, sie wrote: > > On Mon, Jul 19, 2004 at 11:04:57PM +1000, Darren Reed wrote: > > > Hi, > > > > > > Finally I'm happy with all the patches to solve installation and > > > compiling on Solaris, Tru64 and others. Maybe I've taken too long > > > to get around to this point but that's life. > > > > > > > When I dynamically load the ipf.ko on FreeBSD 5.2.1, the system panics in > > fr_check(). I haven't been able to dive into this any further, but > > it is dereferencing a NULL pointer. Is a fix known? > > I don't recall experiencing anything like that when testing...is this > immediately after doing that or some time later? > > A stack trace (at least) would be nice..
No complete trace, yet I have discovered that the system panics in atomic_add_long() called from fr_check()+0x3c0 I do get these warnings when compiling fil.c: cc -Wall -Wuninitialized -Wstrict-prototypes -O -I. -g -I../.. -D_BSD_SOURCE -DIPF_DEFAULT_PASS=FR_PASS -DIPFILTER_LKM -DIPFILTER_LOG -DIPFILTER_LOOKUP -DIP FILTER_SCAN -Di386 -D__i386__ -DINET -DKERNEL -D_KERNEL -I/usr/include -I/sys - I/sys/sys -I/sys/arch -DDEVFS -DKLD_MODULE -c ../../fil.c -o fil.o In file included from ../../fil.c:37: /sys/sys/systm.h:157: warning: conflicting types for built-in function `log' ../../fil.c: In function `fr_scanlist': ../../fil.c:1769: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:1798: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:1800: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:1812: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c: In function `fr_acctpkt': ../../fil.c:1872: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c: In function `fr_firewall': ../../fil.c:1919: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:1921: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:1937: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:1949: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:1991: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:1993: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:1996: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:2005: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:2007: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c: In function `fr_check': ../../fil.c:2283: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:2297: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:2302: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:2317: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:2361: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:2365: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:2410: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:2414: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:2437: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:2439: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c: In function `fr_dolog': ../../fil.c:2552: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:2558: warning: passing arg 1 of `atomic_add_long' makes pointer from integer without a cast ../../fil.c:2564: warning: passing arg 1 of `atomic_add_long' makes pointer from This is on a FreeBSD 5.2.1-release-p4 system. -Guido
