wiphy_dereference(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… wiphy_dereference(9) πŸ’…

okay bestie, this one is from the Kernel API Manual, and it’s lowkey a β€œthe lock is already handled, so we can chill” kind of situation. no cap.


✨ NAME ✨

wiphy_dereference β€” fetch RCU pointer when updates are prevented by wiphy mtx


πŸŽ€ SYNOPSIS πŸŽ€

wiphy_dereference (wiphy , p );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • wiphy β€” the wiphy you’re checking the locking on, fr fr
  • p β€” the pointer to read, prior to dereferencing

⭐ RETURN ⭐

it gives you the value of the specified RCU-protected pointer, but it omits the READ_ONCE, because the caller holds the wiphy mutex used for updates. slay.

πŸ‘€ SEE ALSO πŸ‘€

okay bestie, this is the part where the page goes "and here's literally everyone else in the family" β€” it's a long guest list and you're gonna meet all of them, no skipping, fr fr πŸ’–

The whole thing lives in the kernel file ./include/net/cfg80211.h β€” that's the mothership, the main character, the source of truth 🫢


okay now the actions-and-configuration era, this is where stuff actually does things ✨


scanny scanny scan scan πŸ” the whole BSS-list girlie section, she's got range

  • Scanning and BSS list handling(9)
  • struct cfg80211_ssid(9)
  • struct cfg80211_scan_info(9)
  • struct cfg80211_scan_6ghz_params(9)
  • struct cfg80211_scan_request(9)
  • struct cfg80211_match_set(9)
  • struct cfg80211_sched_scan_plan(9)
  • struct cfg80211_bss_select_adjust(9)
  • struct cfg80211_sched_scan_request(9)
  • enum cfg80211_signal_type(9)
  • struct cfg80211_inform_bss(9)
  • struct cfg80211_bss_ies(9)
  • struct cfg80211_bss(9)
  • ieee80211_bss_get_elem(9)
  • ieee80211_bss_get_ie(9)
  • struct cfg80211_auth_request(9)
  • struct cfg80211_assoc_link(9)
  • struct cfg80211_ml_reconf_req(9)
  • enum cfg80211_assoc_req_flags(9)
  • struct cfg80211_assoc_request(9)
  • struct cfg80211_deauth_request(9)
  • struct cfg80211_disassoc_request(9)
  • struct cfg80211_ibss_params(9)
  • struct cfg80211_bss_selection(9)
  • struct cfg80211_connect_params(9)
  • enum cfg80211_connect_params_changed(9)
  • enum wiphy_params_flags(9)
  • struct cfg80211_pmksa(9)
  • struct cfg80211_pkt_pattern(9)
  • struct cfg80211_wowlan_tcp(9)
  • struct cfg80211_wowlan(9)
  • struct cfg80211_coalesce_rules(9)
  • struct cfg80211_coalesce(9)
  • struct cfg80211_wowlan_nd_match(9)
  • struct cfg80211_wowlan_nd_info(9)
  • struct cfg80211_wowlan_wakeup(9)
  • struct cfg80211_gtk_rekey_data(9)
  • struct cfg80211_update_ft_ies_params(9)
  • struct cfg80211_mgmt_tx_params(9)
  • struct cfg80211_dscp_exception(9)
  • struct cfg80211_dscp_range(9)
  • struct cfg80211_qos_map(9)
  • Neighbor Awareness Networking (NAN)(9)
  • struct cfg80211_nan_band_config(9)
  • struct cfg80211_nan_conf(9)
  • struct cfg80211_nan_channel(9)
  • struct cfg80211_nan_local_sched(9)
  • struct cfg80211_nan_peer_map(9)
  • struct cfg80211_nan_peer_sched(9)
  • enum cfg80211_nan_conf_changes(9)
  • struct cfg80211_nan_func_filter(9)
  • struct cfg80211_nan_func(9)
  • struct cfg80211_pmk_conf(9)
  • struct cfg80211_external_auth_params(9)
  • struct cfg80211_ftm_responder_stats(9)
  • struct cfg80211_pmsr_ftm_result(9)
  • struct cfg80211_pmsr_result(9)
  • struct cfg80211_pmsr_ftm_request_peer(9)
  • struct cfg80211_pmsr_request_peer(9)
  • struct cfg80211_pmsr_request(9)
  • struct cfg80211_update_owe_info(9)
  • struct mgmt_frame_regs(9)
  • struct cfg80211_ops(9)
  • enum wiphy_flags(9)
  • struct ieee80211_iface_limit(9)
  • struct ieee80211_iface_combination(9)
  • enum wiphy_wowlan_support_flags(9)
  • struct wiphy_wowlan_support(9)
  • struct wiphy_coalesce_support(9)
  • enum wiphy_vendor_command_flags(9)
  • enum wiphy_opmode_flag(9)
  • struct sta_opmode_info(9)
  • struct wiphy_vendor_command(9)
  • struct wiphy_iftype_ext_capab(9)
  • cfg80211_get_iftype_ext_capa(9)
  • struct cfg80211_pmsr_capabilities(9)
  • struct wiphy_iftype_akm_suites(9)
  • struct wiphy_radio_cfg(9)
  • struct wiphy_radio_freq_range(9)
  • struct wiphy_radio(9)
  • enum wiphy_nan_flags(9)
  • struct wiphy_nan_capa(9)
  • struct wiphy(9)
  • wiphy_priv(9)
  • priv_to_wiphy(9)
  • set_wiphy_dev(9)
  • wiphy_dev(9)
  • wiphy_name(9)
  • wiphy_new_nm(9)
  • wiphy_new(9)
  • wiphy_register(9)
  • rcu_dereference_wiphy(9)
  • get_wiphy_regdom(9)
  • wiphy_unregister(9)
  • wiphy_free(9)
  • wiphy_lock(9)
  • wiphy_unlock(9)
  • wiphy_work_queue(9)
  • wiphy_work_cancel(9)
  • wiphy_work_flush(9)
  • wiphy_delayed_work_queue(9)
  • wiphy_delayed_work_cancel(9)
  • wiphy_delayed_work_flush(9)
  • wiphy_delayed_work_pending(9)
  • wiphy_hrtimer_work_queue(9)
  • wiphy_hrtimer_work_cancel(9)
  • wiphy_hrtimer_work_flush(9)
  • wiphy_hrtimer_work_pending(9)
  • enum ieee80211_ap_reg_power(9)
  • struct wireless_dev(9)
  • wdev_priv(9)
  • wdev_chandef(9)

utility functions!! the little helpers that carry the whole operation 🧚


regulatory enforcement infrastructure πŸ’€ (yes bestie, the rules girlies, they WILL find you)

and that's the whole guest list β€” like ninety-eleven entries, no cap πŸ˜­πŸ’… (there's more page coming, don't run off yet)

okay bestie, final stretch of the cross-refs πŸ’… this is the rest of the list β€” every single one, no skips, no cap:


and that's the whole page, bestie, we made it πŸ˜­πŸ’– this one lives in ./include/net, it's stamped October 2026, and it's none other than wiphy_dereference(9) signing off. go drink some water, then come back and deref responsibly 🌸✨

πŸ“¦ where this page comes from