Commit 5ac15be8 authored by Assaf Krauss's avatar Assaf Krauss Committed by Luca Coelho

iwlwifi: mvm: Improve debugfs tof robustness

Return a proper error when wrong parameters are passed to debugfs
tof_range_request.
Signed-off-by: default avatarAssaf Krauss <assaf.krauss@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 9ef2b8be
...@@ -892,6 +892,7 @@ static ssize_t iwl_dbgfs_tof_range_request_write(struct ieee80211_vif *vif, ...@@ -892,6 +892,7 @@ static ssize_t iwl_dbgfs_tof_range_request_write(struct ieee80211_vif *vif,
goto out; goto out;
} }
memcpy(mvm->tof_data.range_req.macaddr_template, mac, ETH_ALEN); memcpy(mvm->tof_data.range_req.macaddr_template, mac, ETH_ALEN);
goto out;
} }
data = iwl_dbgfs_is_match("macaddr_mask=", buf); data = iwl_dbgfs_is_match("macaddr_mask=", buf);
...@@ -903,11 +904,12 @@ static ssize_t iwl_dbgfs_tof_range_request_write(struct ieee80211_vif *vif, ...@@ -903,11 +904,12 @@ static ssize_t iwl_dbgfs_tof_range_request_write(struct ieee80211_vif *vif,
goto out; goto out;
} }
memcpy(mvm->tof_data.range_req.macaddr_mask, mac, ETH_ALEN); memcpy(mvm->tof_data.range_req.macaddr_mask, mac, ETH_ALEN);
goto out;
} }
data = iwl_dbgfs_is_match("ap=", buf); data = iwl_dbgfs_is_match("ap=", buf);
if (data) { if (data) {
struct iwl_tof_range_req_ap_entry ap; struct iwl_tof_range_req_ap_entry ap = {};
int size = sizeof(struct iwl_tof_range_req_ap_entry); int size = sizeof(struct iwl_tof_range_req_ap_entry);
u16 burst_period; u16 burst_period;
u8 *mac = ap.bssid; u8 *mac = ap.bssid;
...@@ -944,12 +946,12 @@ static ssize_t iwl_dbgfs_tof_range_request_write(struct ieee80211_vif *vif, ...@@ -944,12 +946,12 @@ static ssize_t iwl_dbgfs_tof_range_request_write(struct ieee80211_vif *vif,
data = iwl_dbgfs_is_match("send_range_request=", buf); data = iwl_dbgfs_is_match("send_range_request=", buf);
if (data) { if (data) {
ret = kstrtou32(data, 10, &value); ret = kstrtou32(data, 10, &value);
if (ret == 0 && value) { if (ret == 0 && value)
ret = iwl_mvm_tof_range_request_cmd(mvm, vif); ret = iwl_mvm_tof_range_request_cmd(mvm, vif);
goto out; goto out;
}
} }
ret = -EINVAL;
out: out:
mutex_unlock(&mvm->mutex); mutex_unlock(&mvm->mutex);
return ret ?: count; return ret ?: count;
...@@ -1073,12 +1075,12 @@ static ssize_t iwl_dbgfs_tof_range_req_ext_write(struct ieee80211_vif *vif, ...@@ -1073,12 +1075,12 @@ static ssize_t iwl_dbgfs_tof_range_req_ext_write(struct ieee80211_vif *vif,
data = iwl_dbgfs_is_match("send_range_req_ext=", buf); data = iwl_dbgfs_is_match("send_range_req_ext=", buf);
if (data) { if (data) {
ret = kstrtou32(data, 10, &value); ret = kstrtou32(data, 10, &value);
if (ret == 0 && value) { if (ret == 0 && value)
ret = iwl_mvm_tof_range_request_ext_cmd(mvm, vif); ret = iwl_mvm_tof_range_request_ext_cmd(mvm, vif);
goto out; goto out;
}
} }
ret = -EINVAL;
out: out:
mutex_unlock(&mvm->mutex); mutex_unlock(&mvm->mutex);
return ret ?: count; return ret ?: count;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment