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

Reply via email to