Hi,Ian, r295086 works for me,thanks for your work! Jov blog: http:amutu.com/blog <http://amutu.com/blog>
2016-01-31 9:10 GMT+08:00 Jov <[email protected]>: > Nice,will test it. > 2016年1月31日 6:14 AM,"Ian Lepore" <[email protected]>写道: > >> FYI, I've committed r295086, which is conceptually the patch submitted >> by Guy Yur, but restructured with an #ifndef __NO_STRICT_ALIGNMENT >> wrapper, and in general more like the corresponding code on the kernel >> side for handling this. >> >> Could somebody who uses pf please give this a test and let me know if >> it works right? (It *looks* right, but... you know.) If it works I >> should get it MFC'd before the 10.3 release. >> >> -- Ian >> >> On Fri, 2016-01-29 at 00:11 -0500, peter garshtja wrote: >> > Much appreciated for your effort. >> > >> > I have been waiting for this fix over 3months. >> > >> > Regards >> > >> > On Thursday, January 28, 2016, Jov <[email protected]> wrote: >> > >> > > 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 <[email protected] <javascript:;>> >> > > : >> > > >> > > > Hi, >> > > > >> > > > On Thu, Jan 28, 2016 at 2:06 PM, Jov <[email protected] <javascript >> > > > :;>> >> > > 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/0072 >> > > > 37.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 >> > > > >> > > _______________________________________________ >> > > [email protected] <javascript:;> mailing list >> > > https://lists.freebsd.org/mailman/listinfo/freebsd-arm >> > > To unsubscribe, send any mail to " >> > > [email protected] >> > > <javascript:;>" >> > _______________________________________________ >> > [email protected] mailing list >> > https://lists.freebsd.org/mailman/listinfo/freebsd-arm >> > To unsubscribe, send any mail to "[email protected] >> > " >> > >> > _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-pf To unsubscribe, send any mail to "[email protected]"
