[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <50bffbea-69b5-71f4-0b9c-aead1ffc54da@redhat.com>
Date: Mon, 1 Apr 2019 08:39:26 -0700
From: Laura Abbott <labbott@...hat.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Luca Coelho <luca@...lho.fi>
Cc: linux-kernel@...r.kernel.org,
Johannes Berg <johannes.berg@...el.com>,
Emmanuel Grumbach <emmanuel.grumbach@...el.com>,
Intel Linux Wireless <linuxwifi@...el.com>,
Kalle Valo <kvalo@...eaurora.org>,
linux-wireless@...r.kernel.org,
Luca Coelho <luciano.coelho@...el.com>,
stable <stable@...r.kernel.org>
Subject: Re: [PATCH] iwlwifi: properly check debugfs dentry before using it
On 3/30/19 2:31 AM, Greg Kroah-Hartman wrote:
> debugfs can now report an error code if something went wrong instead of
> just NULL. So if the return value is to be used as a "real" dentry, it
> needs to be checked if it is an error before dereferencing it.
>
> This is now happening because of ff9fb72bc077 ("debugfs: return error
> values, not NULL"). If multiple iwlwifi devices are in the system, this
> can cause problems when the driver attempts to create the main debugfs
> directory again. Later on in the code we fail horribly by trying to
> dereference a pointer that is an error value.
>
> Reported-by: Laura Abbott <labbott@...hat.com>
Can you add
Reported-by: Gabriel Ramirez <gabriello.ramirez@...il.com>
for the bugzilla reporter who took the time to do the bisect?
I'll ask for testing as well.
> Cc: Johannes Berg <johannes.berg@...el.com>
> Cc: Emmanuel Grumbach <emmanuel.grumbach@...el.com>
> Cc: Luca Coelho <luciano.coelho@...el.com>
> Cc: Intel Linux Wireless <linuxwifi@...el.com>
> Cc: Kalle Valo <kvalo@...eaurora.org>
> Cc: stable <stable@...r.kernel.org> # 5.0
> Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
>
>
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c
> index 2453ceabf00d..6925527d8457 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c
> @@ -774,8 +774,7 @@ void iwl_mvm_vif_dbgfs_register(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
> return;
>
> mvmvif->dbgfs_dir = debugfs_create_dir("iwlmvm", dbgfs_dir);
> -
> - if (!mvmvif->dbgfs_dir) {
> + if (IS_ERR_OR_NULL(mvmvif->dbgfs_dir)) {
> IWL_ERR(mvm, "Failed to create debugfs directory under %pd\n",
> dbgfs_dir);
> return;
>
Powered by blists - more mailing lists