This patch works,thanks very much ! will these patches to be commited to the offical svn? I add freebsd-pf ML.
Jov blog: http:amutu.com/blog <http://amutu.com/blog> 2016-01-29 5:26 GMT+08:00 Guy Yur <guy...@gmail.com>: > Hi, > > On Thu, Jan 28, 2016 at 2:06 PM, Jov <am...@amutu.com> wrote: > > bus error at the similar position: > > > > Program received signal SIGBUS, Bus error. > > 0x00021614 in print_host (addr=0x2065111a, port=15268, af=2 '\002', > > opts=1024) at /usr/src/sbin/pfctl/pf_print_state.c:178 > > warning: Source file is more recent than executable. > > > > 178 memcpy(&aw.v.a.addr, addr, sizeof(aw.v.a.addr)); > > Current language: auto; currently minimal > > (gdb) p addr > > $1 = (struct pf_addr *) 0x2065111a > > ... > > > > Jov > > The compiler optimizes the memcpy to a series of ldr and str > instructions and since addr is unaligned you still get SIGBUS. > > I encountered the same problem on a BeagleBone Black. > https://lists.freebsd.org/pipermail/freebsd-arm/2014-January/007237.html > > non-intrustive patch with changes only in print_state() > pfsync_state is __packed so the keys can be copied safely to > stack variables which will be aligned (and addr inside it). > > https://github.com/guyyur/freebsd-src_patches/blob/master/pfctl_arm_segbus__ver1_part1.patch > > Bug report with patch to separate pfsync and pfioc state > structures but breaks backward compatibility: > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=185617 > > -- Guy > _______________________________________________ freebsd-pf@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-pf To unsubscribe, send any mail to "freebsd-pf-unsubscr...@freebsd.org"