โฌข DragonFlyBSD Kernel Audit
DF-0580 / live_reachability_check.txt
โ† back to finding โ†“ download raw
========== LIVE WIFI REACHABILITY CHECK ==========
Guest: DragonFly 6.5-DEVELOPMENT #0 (with-src, INVARIANTS ON)

Evidence:
- wlan/wlan_ccmp/wlan_tkip/wlan_wep compiled INTO kernel (6 device entries in GENERIC)
- ieee80211_defrag, ieee80211_crypto_decap, ccmp_setkey, ccmp_decap: ALL in kernel symbols
- ieee80211_input_all, ieee80211_input_mimo: in kernel (entry points exist)
- BUT: 0 wifi interfaces present (no wlan0, no wifi HW)
- BUT: 0 wifi drivers loaded (if_ath, if_run, if_ral, etc. all absent)
- BUT: ifconfig wlan0 create wlandev FAILS ("must specify a parent device")
- BUT: No wifi HW in QEMU guest (vtnet0 is the only network interface)

Callers of ieee80211_input() are ALL wifi device drivers:
  sys/dev/netif/bwn/bwn/if_bwn.c
  sys/dev/netif/iwi/if_iwi.c
  sys/dev/netif/wi/if_wi.c
  sys/dev/netif/ral/rt2661.c, rt2860.c, rt2560.c
  sys/dev/netif/iwn/if_iwn.c
  sys/dev/netif/wpi/if_wpi.c
  sys/dev/netif/ath/ath/if_ath_rx.c

These drivers are loadable MODULES (if_ath.ko, etc.) but need actual
wifi HARDWARE to attach. Without HW, no wifi driver attaches, no wlan
interface is created, and ieee80211_input โ†’ ieee80211_defrag โ†’ 
ieee80211_crypto_decap โ†’ ccmp_decap are never called.

Conclusion: The wifi code IS compiled into the kernel but is UNREACHABLE
  without wifi hardware. QEMU does not emulate wifi adapters.