[Bug 206658] Bus error for pfctl -sa on rpi2 r294499 snap

Jov amutu at amutu.com
Fri Jan 29 04:20:06 UTC 2016


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 <guyyur at gmail.com>:

> Hi,
>
> On Thu, Jan 28, 2016 at 2:06 PM, Jov <amutu at 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
>


More information about the freebsd-pf mailing list