12.0-BETA1 vnet with pf firewall
Kristof Provost
kp at FreeBSD.org
Tue Oct 30 12:23:30 UTC 2018
On 29 Oct 2018, at 4:41, Kristof Provost wrote:
> So we panic because we dereference a NULL pointer in strncmp(), which
> happens because nprogtab = 13 but ef->progtab[12] has NULL pointers.
>
> It’s not clear to me why that happens, but it’s something to go
> on. I do wonder if this isn’t a bit of a red herring too. It might
> be an error in the error path (because we pass through
> linker_file_unload()). link_elf_load_file() increments ef->nprogtab
> for SHT_X86_64_UNWIND, so perhaps the error handling doesn’t cope
> with that.
>
It looks like the root of the problem (failure to load) is in this line
of link_elf_load_file():
ef->progtab[pb].addr =
vnet_data_alloc(shdr[i].sh_size);
The allocation of the vnet data fails. Bumping VNET_MODMIN in
sys/net/vnet.c makes the load of ipfilter and pf succeed.
I’m not too familiar with this part of the vnet code, but it looks to
me like we’ve got more per-vnet variables that was originally
anticipated, so we may need to just increase the allocated space.
Best regards,
Kristof
More information about the freebsd-current
mailing list