Date: Wed, 27 Jan 2016 11:28:57 +0800 From: Jov <amutu@amutu.com> To: Ian Lepore <ian@freebsd.org> Cc: freebsd-arm@freebsd.org Subject: Re: [Bug 206658] Bus error for pfctl -sa on rpi2 r294499 snap Message-ID: <CADyrUxPcndOaeUn_UcDN4F=N5XHsby-wQmLvRfUcYNTjNJPUiQ@mail.gmail.com> In-Reply-To: <1453862939.42081.25.camel@freebsd.org> References: <bug-206658-7@https.bugs.freebsd.org/bugzilla/> <1453862939.42081.25.camel@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
I am downloading the src and try to test the patch. How can I only compile the pfctl? I do not want to compile the whole world and kernel because the SD card is too slow. Jov blog: http:amutu.com/blog <http://amutu.com/blog> 2016-01-27 10:48 GMT+08:00 Ian Lepore <ian@freebsd.org>: > On Wed, 2016-01-27 at 02:24 +0000, bugzilla-noreply@freebsd.org wrote: > > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=206658 > > > > Bug ID: 206658 > > Summary: Bus error for pfctl -sa on rpi2 r294499 snap > > Product: Base System > > Version: 11.0-CURRENT > > Hardware: arm > > OS: Any > > Status: New > > Severity: Affects Only Me > > Priority: --- > > Component: arm > > Assignee: freebsd-arm@FreeBSD.org > > Reporter: amutu@amutu.com > > > > uname -a: > > FreeBSD p2 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r294499: Fri Jan 22 > > 01:49:44 > > UTC 2016 root@releng2.nyi.freebsd.org:/usr/obj/arm.armv6/usr/src/ > > sys/RPI2 > > arm > > > > gdb: > > .... > > pass in log quick on wlan0 inet proto tcp from any to (wlan0) port = > > 3333 flags > > S/SA keep state (source-track rule, max-src-conn 5, max-src-conn-rate > > 3/30, > > overload <bruteforce> flush global, src.track 30) > > pass in log quick on wlan0 inet proto tcp from any to (wlan0) port = > > 3333 flags > > S/SA keep state (source-track rule, max-src-conn 5, max-src-conn-rate > > 3/30, > > overload <bruteforce> flush global, src.track 30) > > > > STATES: > > all tcp 192.168.1.114:48865 -> 103.138.240.229:37005 > > TIME_WAIT:TIME_WAIT > > > > Program received signal SIGBUS, Bus error. > > 0x00021614 in print_host (addr=0x2065113e, port=45235, af=2 '\002', > > opts=1024) > > at /usr/src/sbin/pfctl/pf_print_state.c:178 > > 178 /usr/src/sbin/pfctl/pf_print_state.c: No such file or > > directory. > > in /usr/src/sbin/pfctl/pf_print_state.c > > Current language: auto; currently minimal > > (gdb) bt > > #0 0x00021614 in print_host (addr=0x2065113e, port=45235, af=2 > > '\002', > > opts=1024) at /usr/src/sbin/pfctl/pf_print_state.c:178 > > #1 0x0002189c in print_state (s=0x206510f2, opts=1024) at > > /usr/src/sbin/pfctl/pf_print_state.c:236 > > #2 0x0000c35c in pfctl_show_states (dev=<value optimized out>, > > iface=0x0, > > opts=<value optimized out>) > > at /usr/src/sbin/pfctl/pfctl.c:1091 > > #3 0x0000f018 in $a.107 () at /usr/src/sbin/pfctl/pfctl.c:2241 > > #4 0x0000f018 in $a.107 () at /usr/src/sbin/pfctl/pfctl.c:2241 > > > > I attached a patch to the PR and requested the reporter test it, but > I've just realized that the problem was found with a snapshot image and > the reporter may not be able to patch and build. > > I don't use the pf stuff myself, so I have no way of testing it. Can > someone who does use it give this patch a test? Thanks. > > -- Ian > > Index: sbin/pfctl/pf_print_state.c > =================================================================== > --- sbin/pfctl/pf_print_state.c (revision 294860) > +++ sbin/pfctl/pf_print_state.c (working copy) > @@ -146,7 +146,7 @@ print_name(struct pf_addr *addr, sa_family_t af) > memset(&sin, 0, sizeof(sin)); > sin.sin_len = sizeof(sin); > sin.sin_family = AF_INET; > - sin.sin_addr = addr->v4; > + memcpy(&sin.sin_addr, addr->v4, sizeof(sin.sin_addr)); > getnameinfo((struct sockaddr *)&sin, sin.sin_len, > host, sizeof(host), NULL, 0, NI_NOFQDN); > break; > @@ -157,7 +157,7 @@ print_name(struct pf_addr *addr, sa_family_t af) > memset(&sin6, 0, sizeof(sin6)); > sin6.sin6_len = sizeof(sin6); > sin6.sin6_family = AF_INET6; > - sin6.sin6_addr = addr->v6; > + memcpy(&sin6.sin6_addr, addr->v6, sizeof(sin6.sin6_addr)); > getnameinfo((struct sockaddr *)&sin6, sin6.sin6_len, > host, sizeof(host), NULL, 0, NI_NOFQDN); > break; > @@ -175,7 +175,7 @@ print_host(struct pf_addr *addr, u_int16_t port, s > struct pf_addr_wrap aw; > > memset(&aw, 0, sizeof(aw)); > - aw.v.a.addr = *addr; > + memcpy(&aw.v.a.addr, addr, sizeof(aw.v.a.addr)); > if (af == AF_INET) > aw.v.a.mask.addr32[0] = 0xffffffff; > else { > > _______________________________________________ > freebsd-arm@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-arm > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADyrUxPcndOaeUn_UcDN4F=N5XHsby-wQmLvRfUcYNTjNJPUiQ>