mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
netlink: Rename pid to portid to avoid confusion
It is a frequent mistake to confuse the netlink port identifier with a process identifier. Try to reduce this confusion by renaming fields that hold port identifiers portid instead of pid. I have carefully avoided changing the structures exported to userspace to avoid changing the userspace API. I have successfully built an allyesconfig kernel with this change. Signed-off-by: "Eric W. Biederman" <[email protected]> Acked-by: Stephen Hemminger <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
9f00d9776b
commit
15e473046c
75 changed files with 728 additions and 728 deletions
|
|
@ -55,7 +55,7 @@ struct cfg80211_registered_device {
|
|||
int opencount; /* also protected by devlist_mtx */
|
||||
wait_queue_head_t dev_wait;
|
||||
|
||||
u32 ap_beacons_nlpid;
|
||||
u32 ap_beacons_nlportid;
|
||||
|
||||
/* protected by RTNL only */
|
||||
int num_running_ifaces;
|
||||
|
|
|
|||
|
|
@ -615,7 +615,7 @@ EXPORT_SYMBOL(cfg80211_del_sta);
|
|||
struct cfg80211_mgmt_registration {
|
||||
struct list_head list;
|
||||
|
||||
u32 nlpid;
|
||||
u32 nlportid;
|
||||
|
||||
int match_len;
|
||||
|
||||
|
|
@ -624,7 +624,7 @@ struct cfg80211_mgmt_registration {
|
|||
u8 match[];
|
||||
};
|
||||
|
||||
int cfg80211_mlme_register_mgmt(struct wireless_dev *wdev, u32 snd_pid,
|
||||
int cfg80211_mlme_register_mgmt(struct wireless_dev *wdev, u32 snd_portid,
|
||||
u16 frame_type, const u8 *match_data,
|
||||
int match_len)
|
||||
{
|
||||
|
|
@ -672,7 +672,7 @@ int cfg80211_mlme_register_mgmt(struct wireless_dev *wdev, u32 snd_pid,
|
|||
|
||||
memcpy(nreg->match, match_data, match_len);
|
||||
nreg->match_len = match_len;
|
||||
nreg->nlpid = snd_pid;
|
||||
nreg->nlportid = snd_portid;
|
||||
nreg->frame_type = cpu_to_le16(frame_type);
|
||||
list_add(&nreg->list, &wdev->mgmt_registrations);
|
||||
|
||||
|
|
@ -685,7 +685,7 @@ int cfg80211_mlme_register_mgmt(struct wireless_dev *wdev, u32 snd_pid,
|
|||
return err;
|
||||
}
|
||||
|
||||
void cfg80211_mlme_unregister_socket(struct wireless_dev *wdev, u32 nlpid)
|
||||
void cfg80211_mlme_unregister_socket(struct wireless_dev *wdev, u32 nlportid)
|
||||
{
|
||||
struct wiphy *wiphy = wdev->wiphy;
|
||||
struct cfg80211_registered_device *rdev = wiphy_to_dev(wiphy);
|
||||
|
|
@ -694,7 +694,7 @@ void cfg80211_mlme_unregister_socket(struct wireless_dev *wdev, u32 nlpid)
|
|||
spin_lock_bh(&wdev->mgmt_registrations_lock);
|
||||
|
||||
list_for_each_entry_safe(reg, tmp, &wdev->mgmt_registrations, list) {
|
||||
if (reg->nlpid != nlpid)
|
||||
if (reg->nlportid != nlportid)
|
||||
continue;
|
||||
|
||||
if (rdev->ops->mgmt_frame_register) {
|
||||
|
|
@ -710,8 +710,8 @@ void cfg80211_mlme_unregister_socket(struct wireless_dev *wdev, u32 nlpid)
|
|||
|
||||
spin_unlock_bh(&wdev->mgmt_registrations_lock);
|
||||
|
||||
if (nlpid == wdev->ap_unexpected_nlpid)
|
||||
wdev->ap_unexpected_nlpid = 0;
|
||||
if (nlportid == wdev->ap_unexpected_nlportid)
|
||||
wdev->ap_unexpected_nlportid = 0;
|
||||
}
|
||||
|
||||
void cfg80211_mlme_purge_registrations(struct wireless_dev *wdev)
|
||||
|
|
@ -872,7 +872,7 @@ bool cfg80211_rx_mgmt(struct wireless_dev *wdev, int freq, int sig_mbm,
|
|||
/* found match! */
|
||||
|
||||
/* Indicate the received Action frame to user space */
|
||||
if (nl80211_send_mgmt(rdev, wdev, reg->nlpid,
|
||||
if (nl80211_send_mgmt(rdev, wdev, reg->nlportid,
|
||||
freq, sig_mbm,
|
||||
buf, len, gfp))
|
||||
continue;
|
||||
|
|
|
|||
|
|
@ -496,11 +496,11 @@ static bool is_valid_ie_attr(const struct nlattr *attr)
|
|||
}
|
||||
|
||||
/* message building helper */
|
||||
static inline void *nl80211hdr_put(struct sk_buff *skb, u32 pid, u32 seq,
|
||||
static inline void *nl80211hdr_put(struct sk_buff *skb, u32 portid, u32 seq,
|
||||
int flags, u8 cmd)
|
||||
{
|
||||
/* since there is no private header just add the generic one */
|
||||
return genlmsg_put(skb, pid, seq, &nl80211_fam, flags, cmd);
|
||||
return genlmsg_put(skb, portid, seq, &nl80211_fam, flags, cmd);
|
||||
}
|
||||
|
||||
static int nl80211_msg_put_channel(struct sk_buff *msg,
|
||||
|
|
@ -851,7 +851,7 @@ nla_put_failure:
|
|||
return -ENOBUFS;
|
||||
}
|
||||
|
||||
static int nl80211_send_wiphy(struct sk_buff *msg, u32 pid, u32 seq, int flags,
|
||||
static int nl80211_send_wiphy(struct sk_buff *msg, u32 portid, u32 seq, int flags,
|
||||
struct cfg80211_registered_device *dev)
|
||||
{
|
||||
void *hdr;
|
||||
|
|
@ -866,7 +866,7 @@ static int nl80211_send_wiphy(struct sk_buff *msg, u32 pid, u32 seq, int flags,
|
|||
const struct ieee80211_txrx_stypes *mgmt_stypes =
|
||||
dev->wiphy.mgmt_stypes;
|
||||
|
||||
hdr = nl80211hdr_put(msg, pid, seq, flags, NL80211_CMD_NEW_WIPHY);
|
||||
hdr = nl80211hdr_put(msg, portid, seq, flags, NL80211_CMD_NEW_WIPHY);
|
||||
if (!hdr)
|
||||
return -1;
|
||||
|
||||
|
|
@ -1267,7 +1267,7 @@ static int nl80211_dump_wiphy(struct sk_buff *skb, struct netlink_callback *cb)
|
|||
continue;
|
||||
if (++idx <= start)
|
||||
continue;
|
||||
if (nl80211_send_wiphy(skb, NETLINK_CB(cb->skb).pid,
|
||||
if (nl80211_send_wiphy(skb, NETLINK_CB(cb->skb).portid,
|
||||
cb->nlh->nlmsg_seq, NLM_F_MULTI,
|
||||
dev) < 0) {
|
||||
idx--;
|
||||
|
|
@ -1290,7 +1290,7 @@ static int nl80211_get_wiphy(struct sk_buff *skb, struct genl_info *info)
|
|||
if (!msg)
|
||||
return -ENOMEM;
|
||||
|
||||
if (nl80211_send_wiphy(msg, info->snd_pid, info->snd_seq, 0, dev) < 0) {
|
||||
if (nl80211_send_wiphy(msg, info->snd_portid, info->snd_seq, 0, dev) < 0) {
|
||||
nlmsg_free(msg);
|
||||
return -ENOBUFS;
|
||||
}
|
||||
|
|
@ -1736,14 +1736,14 @@ static inline u64 wdev_id(struct wireless_dev *wdev)
|
|||
((u64)wiphy_to_dev(wdev->wiphy)->wiphy_idx << 32);
|
||||
}
|
||||
|
||||
static int nl80211_send_iface(struct sk_buff *msg, u32 pid, u32 seq, int flags,
|
||||
static int nl80211_send_iface(struct sk_buff *msg, u32 portid, u32 seq, int flags,
|
||||
struct cfg80211_registered_device *rdev,
|
||||
struct wireless_dev *wdev)
|
||||
{
|
||||
struct net_device *dev = wdev->netdev;
|
||||
void *hdr;
|
||||
|
||||
hdr = nl80211hdr_put(msg, pid, seq, flags, NL80211_CMD_NEW_INTERFACE);
|
||||
hdr = nl80211hdr_put(msg, portid, seq, flags, NL80211_CMD_NEW_INTERFACE);
|
||||
if (!hdr)
|
||||
return -1;
|
||||
|
||||
|
|
@ -1807,7 +1807,7 @@ static int nl80211_dump_interface(struct sk_buff *skb, struct netlink_callback *
|
|||
if_idx++;
|
||||
continue;
|
||||
}
|
||||
if (nl80211_send_iface(skb, NETLINK_CB(cb->skb).pid,
|
||||
if (nl80211_send_iface(skb, NETLINK_CB(cb->skb).portid,
|
||||
cb->nlh->nlmsg_seq, NLM_F_MULTI,
|
||||
rdev, wdev) < 0) {
|
||||
mutex_unlock(&rdev->devlist_mtx);
|
||||
|
|
@ -1838,7 +1838,7 @@ static int nl80211_get_interface(struct sk_buff *skb, struct genl_info *info)
|
|||
if (!msg)
|
||||
return -ENOMEM;
|
||||
|
||||
if (nl80211_send_iface(msg, info->snd_pid, info->snd_seq, 0,
|
||||
if (nl80211_send_iface(msg, info->snd_portid, info->snd_seq, 0,
|
||||
dev, wdev) < 0) {
|
||||
nlmsg_free(msg);
|
||||
return -ENOBUFS;
|
||||
|
|
@ -2056,7 +2056,7 @@ static int nl80211_new_interface(struct sk_buff *skb, struct genl_info *info)
|
|||
break;
|
||||
}
|
||||
|
||||
if (nl80211_send_iface(msg, info->snd_pid, info->snd_seq, 0,
|
||||
if (nl80211_send_iface(msg, info->snd_portid, info->snd_seq, 0,
|
||||
rdev, wdev) < 0) {
|
||||
nlmsg_free(msg);
|
||||
return -ENOBUFS;
|
||||
|
|
@ -2191,7 +2191,7 @@ static int nl80211_get_key(struct sk_buff *skb, struct genl_info *info)
|
|||
if (!msg)
|
||||
return -ENOMEM;
|
||||
|
||||
hdr = nl80211hdr_put(msg, info->snd_pid, info->snd_seq, 0,
|
||||
hdr = nl80211hdr_put(msg, info->snd_portid, info->snd_seq, 0,
|
||||
NL80211_CMD_NEW_KEY);
|
||||
if (IS_ERR(hdr))
|
||||
return PTR_ERR(hdr);
|
||||
|
|
@ -2769,7 +2769,7 @@ nla_put_failure:
|
|||
return false;
|
||||
}
|
||||
|
||||
static int nl80211_send_station(struct sk_buff *msg, u32 pid, u32 seq,
|
||||
static int nl80211_send_station(struct sk_buff *msg, u32 portid, u32 seq,
|
||||
int flags,
|
||||
struct cfg80211_registered_device *rdev,
|
||||
struct net_device *dev,
|
||||
|
|
@ -2778,7 +2778,7 @@ static int nl80211_send_station(struct sk_buff *msg, u32 pid, u32 seq,
|
|||
void *hdr;
|
||||
struct nlattr *sinfoattr, *bss_param;
|
||||
|
||||
hdr = nl80211hdr_put(msg, pid, seq, flags, NL80211_CMD_NEW_STATION);
|
||||
hdr = nl80211hdr_put(msg, portid, seq, flags, NL80211_CMD_NEW_STATION);
|
||||
if (!hdr)
|
||||
return -1;
|
||||
|
||||
|
|
@ -2931,7 +2931,7 @@ static int nl80211_dump_station(struct sk_buff *skb,
|
|||
goto out_err;
|
||||
|
||||
if (nl80211_send_station(skb,
|
||||
NETLINK_CB(cb->skb).pid,
|
||||
NETLINK_CB(cb->skb).portid,
|
||||
cb->nlh->nlmsg_seq, NLM_F_MULTI,
|
||||
dev, netdev, mac_addr,
|
||||
&sinfo) < 0)
|
||||
|
|
@ -2977,7 +2977,7 @@ static int nl80211_get_station(struct sk_buff *skb, struct genl_info *info)
|
|||
if (!msg)
|
||||
return -ENOMEM;
|
||||
|
||||
if (nl80211_send_station(msg, info->snd_pid, info->snd_seq, 0,
|
||||
if (nl80211_send_station(msg, info->snd_portid, info->snd_seq, 0,
|
||||
rdev, dev, mac_addr, &sinfo) < 0) {
|
||||
nlmsg_free(msg);
|
||||
return -ENOBUFS;
|
||||
|
|
@ -3303,7 +3303,7 @@ static int nl80211_del_station(struct sk_buff *skb, struct genl_info *info)
|
|||
return rdev->ops->del_station(&rdev->wiphy, dev, mac_addr);
|
||||
}
|
||||
|
||||
static int nl80211_send_mpath(struct sk_buff *msg, u32 pid, u32 seq,
|
||||
static int nl80211_send_mpath(struct sk_buff *msg, u32 portid, u32 seq,
|
||||
int flags, struct net_device *dev,
|
||||
u8 *dst, u8 *next_hop,
|
||||
struct mpath_info *pinfo)
|
||||
|
|
@ -3311,7 +3311,7 @@ static int nl80211_send_mpath(struct sk_buff *msg, u32 pid, u32 seq,
|
|||
void *hdr;
|
||||
struct nlattr *pinfoattr;
|
||||
|
||||
hdr = nl80211hdr_put(msg, pid, seq, flags, NL80211_CMD_NEW_STATION);
|
||||
hdr = nl80211hdr_put(msg, portid, seq, flags, NL80211_CMD_NEW_STATION);
|
||||
if (!hdr)
|
||||
return -1;
|
||||
|
||||
|
|
@ -3389,7 +3389,7 @@ static int nl80211_dump_mpath(struct sk_buff *skb,
|
|||
if (err)
|
||||
goto out_err;
|
||||
|
||||
if (nl80211_send_mpath(skb, NETLINK_CB(cb->skb).pid,
|
||||
if (nl80211_send_mpath(skb, NETLINK_CB(cb->skb).portid,
|
||||
cb->nlh->nlmsg_seq, NLM_F_MULTI,
|
||||
netdev, dst, next_hop,
|
||||
&pinfo) < 0)
|
||||
|
|
@ -3438,7 +3438,7 @@ static int nl80211_get_mpath(struct sk_buff *skb, struct genl_info *info)
|
|||
if (!msg)
|
||||
return -ENOMEM;
|
||||
|
||||
if (nl80211_send_mpath(msg, info->snd_pid, info->snd_seq, 0,
|
||||
if (nl80211_send_mpath(msg, info->snd_portid, info->snd_seq, 0,
|
||||
dev, dst, next_hop, &pinfo) < 0) {
|
||||
nlmsg_free(msg);
|
||||
return -ENOBUFS;
|
||||
|
|
@ -3679,7 +3679,7 @@ static int nl80211_get_mesh_config(struct sk_buff *skb,
|
|||
msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL);
|
||||
if (!msg)
|
||||
return -ENOMEM;
|
||||
hdr = nl80211hdr_put(msg, info->snd_pid, info->snd_seq, 0,
|
||||
hdr = nl80211hdr_put(msg, info->snd_portid, info->snd_seq, 0,
|
||||
NL80211_CMD_GET_MESH_CONFIG);
|
||||
if (!hdr)
|
||||
goto out;
|
||||
|
|
@ -3998,7 +3998,7 @@ static int nl80211_get_reg(struct sk_buff *skb, struct genl_info *info)
|
|||
goto out;
|
||||
}
|
||||
|
||||
hdr = nl80211hdr_put(msg, info->snd_pid, info->snd_seq, 0,
|
||||
hdr = nl80211hdr_put(msg, info->snd_portid, info->snd_seq, 0,
|
||||
NL80211_CMD_GET_REG);
|
||||
if (!hdr)
|
||||
goto put_failure;
|
||||
|
|
@ -4616,7 +4616,7 @@ static int nl80211_send_bss(struct sk_buff *msg, struct netlink_callback *cb,
|
|||
|
||||
ASSERT_WDEV_LOCK(wdev);
|
||||
|
||||
hdr = nl80211hdr_put(msg, NETLINK_CB(cb->skb).pid, seq, flags,
|
||||
hdr = nl80211hdr_put(msg, NETLINK_CB(cb->skb).portid, seq, flags,
|
||||
NL80211_CMD_NEW_SCAN_RESULTS);
|
||||
if (!hdr)
|
||||
return -1;
|
||||
|
|
@ -4735,14 +4735,14 @@ static int nl80211_dump_scan(struct sk_buff *skb,
|
|||
return skb->len;
|
||||
}
|
||||
|
||||
static int nl80211_send_survey(struct sk_buff *msg, u32 pid, u32 seq,
|
||||
static int nl80211_send_survey(struct sk_buff *msg, u32 portid, u32 seq,
|
||||
int flags, struct net_device *dev,
|
||||
struct survey_info *survey)
|
||||
{
|
||||
void *hdr;
|
||||
struct nlattr *infoattr;
|
||||
|
||||
hdr = nl80211hdr_put(msg, pid, seq, flags,
|
||||
hdr = nl80211hdr_put(msg, portid, seq, flags,
|
||||
NL80211_CMD_NEW_SURVEY_RESULTS);
|
||||
if (!hdr)
|
||||
return -ENOMEM;
|
||||
|
|
@ -4836,7 +4836,7 @@ static int nl80211_dump_survey(struct sk_buff *skb,
|
|||
}
|
||||
|
||||
if (nl80211_send_survey(skb,
|
||||
NETLINK_CB(cb->skb).pid,
|
||||
NETLINK_CB(cb->skb).portid,
|
||||
cb->nlh->nlmsg_seq, NLM_F_MULTI,
|
||||
netdev,
|
||||
&survey) < 0)
|
||||
|
|
@ -5451,7 +5451,7 @@ static int nl80211_testmode_dump(struct sk_buff *skb,
|
|||
}
|
||||
|
||||
while (1) {
|
||||
void *hdr = nl80211hdr_put(skb, NETLINK_CB(cb->skb).pid,
|
||||
void *hdr = nl80211hdr_put(skb, NETLINK_CB(cb->skb).portid,
|
||||
cb->nlh->nlmsg_seq, NLM_F_MULTI,
|
||||
NL80211_CMD_TESTMODE);
|
||||
struct nlattr *tmdata;
|
||||
|
|
@ -5491,7 +5491,7 @@ static int nl80211_testmode_dump(struct sk_buff *skb,
|
|||
|
||||
static struct sk_buff *
|
||||
__cfg80211_testmode_alloc_skb(struct cfg80211_registered_device *rdev,
|
||||
int approxlen, u32 pid, u32 seq, gfp_t gfp)
|
||||
int approxlen, u32 portid, u32 seq, gfp_t gfp)
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
void *hdr;
|
||||
|
|
@ -5501,7 +5501,7 @@ __cfg80211_testmode_alloc_skb(struct cfg80211_registered_device *rdev,
|
|||
if (!skb)
|
||||
return NULL;
|
||||
|
||||
hdr = nl80211hdr_put(skb, pid, seq, 0, NL80211_CMD_TESTMODE);
|
||||
hdr = nl80211hdr_put(skb, portid, seq, 0, NL80211_CMD_TESTMODE);
|
||||
if (!hdr) {
|
||||
kfree_skb(skb);
|
||||
return NULL;
|
||||
|
|
@ -5531,7 +5531,7 @@ struct sk_buff *cfg80211_testmode_alloc_reply_skb(struct wiphy *wiphy,
|
|||
return NULL;
|
||||
|
||||
return __cfg80211_testmode_alloc_skb(rdev, approxlen,
|
||||
rdev->testmode_info->snd_pid,
|
||||
rdev->testmode_info->snd_portid,
|
||||
rdev->testmode_info->snd_seq,
|
||||
GFP_KERNEL);
|
||||
}
|
||||
|
|
@ -5867,7 +5867,7 @@ static int nl80211_remain_on_channel(struct sk_buff *skb,
|
|||
if (!msg)
|
||||
return -ENOMEM;
|
||||
|
||||
hdr = nl80211hdr_put(msg, info->snd_pid, info->snd_seq, 0,
|
||||
hdr = nl80211hdr_put(msg, info->snd_portid, info->snd_seq, 0,
|
||||
NL80211_CMD_REMAIN_ON_CHANNEL);
|
||||
|
||||
if (IS_ERR(hdr)) {
|
||||
|
|
@ -6086,7 +6086,7 @@ static int nl80211_register_mgmt(struct sk_buff *skb, struct genl_info *info)
|
|||
if (!rdev->ops->mgmt_tx)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
return cfg80211_mlme_register_mgmt(wdev, info->snd_pid, frame_type,
|
||||
return cfg80211_mlme_register_mgmt(wdev, info->snd_portid, frame_type,
|
||||
nla_data(info->attrs[NL80211_ATTR_FRAME_MATCH]),
|
||||
nla_len(info->attrs[NL80211_ATTR_FRAME_MATCH]));
|
||||
}
|
||||
|
|
@ -6167,7 +6167,7 @@ static int nl80211_tx_mgmt(struct sk_buff *skb, struct genl_info *info)
|
|||
if (!msg)
|
||||
return -ENOMEM;
|
||||
|
||||
hdr = nl80211hdr_put(msg, info->snd_pid, info->snd_seq, 0,
|
||||
hdr = nl80211hdr_put(msg, info->snd_portid, info->snd_seq, 0,
|
||||
NL80211_CMD_FRAME);
|
||||
|
||||
if (IS_ERR(hdr)) {
|
||||
|
|
@ -6284,7 +6284,7 @@ static int nl80211_get_power_save(struct sk_buff *skb, struct genl_info *info)
|
|||
if (!msg)
|
||||
return -ENOMEM;
|
||||
|
||||
hdr = nl80211hdr_put(msg, info->snd_pid, info->snd_seq, 0,
|
||||
hdr = nl80211hdr_put(msg, info->snd_portid, info->snd_seq, 0,
|
||||
NL80211_CMD_GET_POWER_SAVE);
|
||||
if (!hdr) {
|
||||
err = -ENOBUFS;
|
||||
|
|
@ -6486,7 +6486,7 @@ static int nl80211_get_wowlan(struct sk_buff *skb, struct genl_info *info)
|
|||
if (!msg)
|
||||
return -ENOMEM;
|
||||
|
||||
hdr = nl80211hdr_put(msg, info->snd_pid, info->snd_seq, 0,
|
||||
hdr = nl80211hdr_put(msg, info->snd_portid, info->snd_seq, 0,
|
||||
NL80211_CMD_GET_WOWLAN);
|
||||
if (!hdr)
|
||||
goto nla_put_failure;
|
||||
|
|
@ -6760,10 +6760,10 @@ static int nl80211_register_unexpected_frame(struct sk_buff *skb,
|
|||
wdev->iftype != NL80211_IFTYPE_P2P_GO)
|
||||
return -EINVAL;
|
||||
|
||||
if (wdev->ap_unexpected_nlpid)
|
||||
if (wdev->ap_unexpected_nlportid)
|
||||
return -EBUSY;
|
||||
|
||||
wdev->ap_unexpected_nlpid = info->snd_pid;
|
||||
wdev->ap_unexpected_nlportid = info->snd_portid;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -6793,7 +6793,7 @@ static int nl80211_probe_client(struct sk_buff *skb,
|
|||
if (!msg)
|
||||
return -ENOMEM;
|
||||
|
||||
hdr = nl80211hdr_put(msg, info->snd_pid, info->snd_seq, 0,
|
||||
hdr = nl80211hdr_put(msg, info->snd_portid, info->snd_seq, 0,
|
||||
NL80211_CMD_PROBE_CLIENT);
|
||||
|
||||
if (IS_ERR(hdr)) {
|
||||
|
|
@ -6828,10 +6828,10 @@ static int nl80211_register_beacons(struct sk_buff *skb, struct genl_info *info)
|
|||
if (!(rdev->wiphy.flags & WIPHY_FLAG_REPORTS_OBSS))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
if (rdev->ap_beacons_nlpid)
|
||||
if (rdev->ap_beacons_nlportid)
|
||||
return -EBUSY;
|
||||
|
||||
rdev->ap_beacons_nlpid = info->snd_pid;
|
||||
rdev->ap_beacons_nlportid = info->snd_portid;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -7628,12 +7628,12 @@ static int nl80211_add_scan_req(struct sk_buff *msg,
|
|||
static int nl80211_send_scan_msg(struct sk_buff *msg,
|
||||
struct cfg80211_registered_device *rdev,
|
||||
struct wireless_dev *wdev,
|
||||
u32 pid, u32 seq, int flags,
|
||||
u32 portid, u32 seq, int flags,
|
||||
u32 cmd)
|
||||
{
|
||||
void *hdr;
|
||||
|
||||
hdr = nl80211hdr_put(msg, pid, seq, flags, cmd);
|
||||
hdr = nl80211hdr_put(msg, portid, seq, flags, cmd);
|
||||
if (!hdr)
|
||||
return -1;
|
||||
|
||||
|
|
@ -7657,11 +7657,11 @@ static int
|
|||
nl80211_send_sched_scan_msg(struct sk_buff *msg,
|
||||
struct cfg80211_registered_device *rdev,
|
||||
struct net_device *netdev,
|
||||
u32 pid, u32 seq, int flags, u32 cmd)
|
||||
u32 portid, u32 seq, int flags, u32 cmd)
|
||||
{
|
||||
void *hdr;
|
||||
|
||||
hdr = nl80211hdr_put(msg, pid, seq, flags, cmd);
|
||||
hdr = nl80211hdr_put(msg, portid, seq, flags, cmd);
|
||||
if (!hdr)
|
||||
return -1;
|
||||
|
||||
|
|
@ -8370,9 +8370,9 @@ static bool __nl80211_unexpected_frame(struct net_device *dev, u8 cmd,
|
|||
struct sk_buff *msg;
|
||||
void *hdr;
|
||||
int err;
|
||||
u32 nlpid = ACCESS_ONCE(wdev->ap_unexpected_nlpid);
|
||||
u32 nlportid = ACCESS_ONCE(wdev->ap_unexpected_nlportid);
|
||||
|
||||
if (!nlpid)
|
||||
if (!nlportid)
|
||||
return false;
|
||||
|
||||
msg = nlmsg_new(100, gfp);
|
||||
|
|
@ -8396,7 +8396,7 @@ static bool __nl80211_unexpected_frame(struct net_device *dev, u8 cmd,
|
|||
return true;
|
||||
}
|
||||
|
||||
genlmsg_unicast(wiphy_net(&rdev->wiphy), msg, nlpid);
|
||||
genlmsg_unicast(wiphy_net(&rdev->wiphy), msg, nlportid);
|
||||
return true;
|
||||
|
||||
nla_put_failure:
|
||||
|
|
@ -8420,7 +8420,7 @@ bool nl80211_unexpected_4addr_frame(struct net_device *dev,
|
|||
}
|
||||
|
||||
int nl80211_send_mgmt(struct cfg80211_registered_device *rdev,
|
||||
struct wireless_dev *wdev, u32 nlpid,
|
||||
struct wireless_dev *wdev, u32 nlportid,
|
||||
int freq, int sig_dbm,
|
||||
const u8 *buf, size_t len, gfp_t gfp)
|
||||
{
|
||||
|
|
@ -8449,7 +8449,7 @@ int nl80211_send_mgmt(struct cfg80211_registered_device *rdev,
|
|||
|
||||
genlmsg_end(msg, hdr);
|
||||
|
||||
return genlmsg_unicast(wiphy_net(&rdev->wiphy), msg, nlpid);
|
||||
return genlmsg_unicast(wiphy_net(&rdev->wiphy), msg, nlportid);
|
||||
|
||||
nla_put_failure:
|
||||
genlmsg_cancel(msg, hdr);
|
||||
|
|
@ -8804,9 +8804,9 @@ void cfg80211_report_obss_beacon(struct wiphy *wiphy,
|
|||
struct cfg80211_registered_device *rdev = wiphy_to_dev(wiphy);
|
||||
struct sk_buff *msg;
|
||||
void *hdr;
|
||||
u32 nlpid = ACCESS_ONCE(rdev->ap_beacons_nlpid);
|
||||
u32 nlportid = ACCESS_ONCE(rdev->ap_beacons_nlportid);
|
||||
|
||||
if (!nlpid)
|
||||
if (!nlportid)
|
||||
return;
|
||||
|
||||
msg = nlmsg_new(len + 100, gfp);
|
||||
|
|
@ -8829,7 +8829,7 @@ void cfg80211_report_obss_beacon(struct wiphy *wiphy,
|
|||
|
||||
genlmsg_end(msg, hdr);
|
||||
|
||||
genlmsg_unicast(wiphy_net(&rdev->wiphy), msg, nlpid);
|
||||
genlmsg_unicast(wiphy_net(&rdev->wiphy), msg, nlportid);
|
||||
return;
|
||||
|
||||
nla_put_failure:
|
||||
|
|
@ -8853,9 +8853,9 @@ static int nl80211_netlink_notify(struct notifier_block * nb,
|
|||
|
||||
list_for_each_entry_rcu(rdev, &cfg80211_rdev_list, list) {
|
||||
list_for_each_entry_rcu(wdev, &rdev->wdev_list, list)
|
||||
cfg80211_mlme_unregister_socket(wdev, notify->pid);
|
||||
if (rdev->ap_beacons_nlpid == notify->pid)
|
||||
rdev->ap_beacons_nlpid = 0;
|
||||
cfg80211_mlme_unregister_socket(wdev, notify->portid);
|
||||
if (rdev->ap_beacons_nlportid == notify->portid)
|
||||
rdev->ap_beacons_nlportid = 0;
|
||||
}
|
||||
|
||||
rcu_read_unlock();
|
||||
|
|
|
|||
Loading…
Reference in a new issue