[Bug 279653] Page fault in in6_selecthlim

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 18 Jun 2024 13:40:15 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279653

--- Comment #9 from Daniel Ponte <amigan@gmail.com> ---
kgdb output:

(kgdb) print ((struct ifnet *)0xfffff8004c742000)->if_afdata[28]
$1 = (void *) 0x0
(kgdb) print *(struct ifnet *)0xfffff8004c742000
$2 = {if_link = {cstqe_next = 0x0}, if_clones = {le_next = 0x0, le_prev =
0xfffff8004c897828}, if_groups = {cstqh_first = 0x0, cstqh_last =
0xfffff8004c742018}, if_alloctype = 6 '\006',
  if_numa_domain = 255 '\377', if_softc = 0x0, if_llsoftc = 0x0, if_l2com =
0x0, if_dname = 0xffffffff834e2000 <epairname> "epair", if_dunit = 0, if_index
= 23, if_idxgen = 0,
  if_xname = "epair0b\000\000\000\000\000\000\000\000", if_description = 0x0,
if_flags = 2131970, if_drv_flags = 0, if_capabilities = 8, if_capabilities2 =
0, if_capenable = 8, if_capenable2 = 0,
  if_linkmib = 0x0, if_linkmiblen = 0, if_refcount = 4, if_type = 6 '\006',
if_addrlen = 6 '\006', if_hdrlen = 14 '\016', if_link_state = 1 '\001', if_mtu
= 1500, if_metric = 0, if_baudrate = 10000000000,
  if_hwassist = 0, if_epoch = 77, if_lastchange = {tv_sec = 1718033759, tv_usec
= 498647}, if_snd = {ifq_head = 0x0, ifq_tail = 0x0, ifq_len = 0, ifq_maxlen =
50, ifq_mtx = {lock_object = {
        lo_name = 0xfffff8004c742058 "epair0b", lo_flags = 16973824, lo_data =
0, lo_witness = 0x0}, mtx_lock = 0}, ifq_drv_head = 0x0, ifq_drv_tail = 0x0,
ifq_drv_len = 0, ifq_drv_maxlen = 50, altq_type = 0,
    altq_flags = 1, altq_disc = 0x0, altq_ifp = 0xfffff8004c742000,
altq_enqueue = 0x0, altq_dequeue = 0x0, altq_request = 0x0, altq_tbr = 0x0,
altq_cdnr = 0x0}, if_linktask = {ta_link = {stqe_next = 0x0},
    ta_pending = 0, ta_priority = 0 '\000', ta_flags = 0 '\000', ta_func =
0xffffffff8099ab60 <do_link_state_change>, ta_context = 0xfffff8004c742000},
if_addmultitask = {ta_link = {stqe_next = 0x0},
    ta_pending = 0, ta_priority = 0 '\000', ta_flags = 0 '\000', ta_func =
0xffffffff8099add0 <if_siocaddmulti>, ta_context = 0xfffff8004c742000},
if_addr_lock = {lock_object = {
      lo_name = 0xffffffff80e985c6 "if_addr_lock", lo_flags = 16973824, lo_data
= 0, lo_witness = 0x0}, mtx_lock = 0}, if_addrhead = {cstqh_first = 0x0,
cstqh_last = 0xfffff8004c7421c0}, if_multiaddrs = {
    cstqh_first = 0x0, cstqh_last = 0xfffff8004c7421d0}, if_amcount = 0,
if_addr = 0xfffff8004c921000, if_hw_addr = 0xfffff80007d7e7d0,
  if_broadcastaddr = 0xffffffff80fa0530 <etherbroadcastaddr>
"\377\377\377\377\377\377", if_afdata_lock = {lock_object = {lo_name =
0xffffffff80eea36d "if_afdata", lo_flags = 16973824, lo_data = 0,
      lo_witness = 0x0}, mtx_lock = 0}, if_afdata = {0x0 <repeats 44 times>},
if_afdata_initialized = 0, if_fib = 0, if_vnet = 0xfffff80016c43580,
if_home_vnet = 0xfffff800010af9c0, if_vlantrunk = 0x0,
  if_bpf = 0xffffffff80f9f0b0 <dead_bpf_if>, if_pcount = 0, if_bridge = 0x0,
if_lagg = 0x0, if_pf_kif = 0x0, if_carp = 0x0, if_label = 0x0, if_netmap = 0x0,
if_output = 0xffffffff809a3760 <ifdead_output>,
  if_input = 0xffffffff809a3780 <ifdead_input>, if_bridge_input = 0x0,
if_bridge_output = 0x0, if_bridge_linkstate = 0x0, if_start =
0xffffffff809a3790 <ifdead_start>,
  if_ioctl = 0xffffffff809a37a0 <ifdead_ioctl>, if_init = 0xffffffff834e1020
<epair_init>, if_resolvemulti = 0xffffffff809a37b0 <ifdead_resolvemulti>,
if_qflush = 0xffffffff809a37d0 <ifdead_qflush>,
  if_transmit = 0xffffffff809a37e0 <ifdead_transmit>, if_reassign =
0xffffffff809a5070 <ether_reassign>, if_get_counter = 0xffffffff809a3800
<ifdead_get_counter>,
  if_requestencap = 0xffffffff809a4fa0 <ether_requestencap>, if_counters =
{0xfffffe012c2c88b8, 0xfffffe012c2c88b0, 0xfffffe012c2c8878,
0xfffffe012c2c8870, 0xfffffe012c2c8868, 0xfffffe012c2c8860,
    0xfffffe012c2c8858, 0xfffffe012c2c8850, 0xfffffe012c2c8848,
0xfffffe012c2c8840, 0xfffffe012c2c8838, 0xfffffe012c2c8830}, if_hw_tsomax =
65518, if_hw_tsomaxsegcount = 35, if_hw_tsomaxsegsize = 2048,
  if_snd_tag_alloc = 0xffffffff809a3810 <ifdead_snd_tag_alloc>,
if_ratelimit_query = 0xffffffff809a3820 <ifdead_ratelimit_query>,
if_ratelimit_setup = 0x0, if_pcp = 255 '\377', if_debugnet_methods = 0x0,
  if_epoch_ctx = {data = {0x0, 0x0}}, if_ispare = {0, 0, 0, 0}}

As far as testing the patch, I can build with it, but this probably won't be
reproducible anyway. I'm not totally certain what was happening when it
crashed.

-- 
You are receiving this mail because:
You are the assignee for the bug.