mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 18:09:56 +00:00
wifi: iwlwifi: mvm: handle debugfs names more carefully
With debugfs=off, we can get here with the dbgfs_dir being
an ERR_PTR(). Instead of checking for all this, which is
often flagged as a mistake, simply handle the names here
more carefully by printing them, then we don't need extra
checks.
Also, while checking, I noticed theoretically 'buf' is too
small, so fix that size as well.
Cc: stable@vger.kernel.org
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218422
Fixes: c36235acb3 ("wifi: iwlwifi: mvm: rework debugfs handling")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240320232419.4dc1eb3dd015.I32f308b0356ef5bcf8d188dd98ce9b210e3ab9fd@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
@@ -748,7 +748,9 @@ void iwl_mvm_vif_dbgfs_add_link(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
|
|||||||
{
|
{
|
||||||
struct dentry *dbgfs_dir = vif->debugfs_dir;
|
struct dentry *dbgfs_dir = vif->debugfs_dir;
|
||||||
struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
|
struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
|
||||||
char buf[100];
|
char buf[3 * 3 + 11 + (NL80211_WIPHY_NAME_MAXLEN + 1) +
|
||||||
|
(7 + IFNAMSIZ + 1) + 6 + 1];
|
||||||
|
char name[7 + IFNAMSIZ + 1];
|
||||||
|
|
||||||
/* this will happen in monitor mode */
|
/* this will happen in monitor mode */
|
||||||
if (!dbgfs_dir)
|
if (!dbgfs_dir)
|
||||||
@@ -761,10 +763,11 @@ void iwl_mvm_vif_dbgfs_add_link(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
|
|||||||
* find
|
* find
|
||||||
* netdev:wlan0 -> ../../../ieee80211/phy0/netdev:wlan0/iwlmvm/
|
* netdev:wlan0 -> ../../../ieee80211/phy0/netdev:wlan0/iwlmvm/
|
||||||
*/
|
*/
|
||||||
snprintf(buf, 100, "../../../%pd3/iwlmvm", dbgfs_dir);
|
snprintf(name, sizeof(name), "%pd", dbgfs_dir);
|
||||||
|
snprintf(buf, sizeof(buf), "../../../%pd3/iwlmvm", dbgfs_dir);
|
||||||
|
|
||||||
mvmvif->dbgfs_slink = debugfs_create_symlink(dbgfs_dir->d_name.name,
|
mvmvif->dbgfs_slink =
|
||||||
mvm->debugfs_dir, buf);
|
debugfs_create_symlink(name, mvm->debugfs_dir, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void iwl_mvm_vif_dbgfs_rm_link(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
|
void iwl_mvm_vif_dbgfs_rm_link(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
|
||||||
|
|||||||
Reference in New Issue
Block a user