diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-03-19 20:26:57 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-03-20 22:21:31 +0100 |
commit | ce1eadda6badef9e4e3460097ede674fca47383d (patch) | |
tree | 710a8ef03b2814d4c02be804ff273cf18e7e802a /net/wireless/trace.h | |
parent | 07e5a5f5ab7474589c15fc5d88e4f7fc43979530 (diff) | |
download | lwn-ce1eadda6badef9e4e3460097ede674fca47383d.tar.gz lwn-ce1eadda6badef9e4e3460097ede674fca47383d.zip |
cfg80211: fix wdev tracing crash
Arend reported a crash in tracing if the driver returns an
ERR_PTR() value from the add_virtual_intf() callback. This
is due to the tracing then still attempting to dereference
the "pointer", fix this by using IS_ERR_OR_NULL().
Reported-by: Arend van Spriel <arend@broadcom.com>
Tested-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/trace.h')
-rw-r--r-- | net/wireless/trace.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/wireless/trace.h b/net/wireless/trace.h index 6847d043edea..7586de77a2f8 100644 --- a/net/wireless/trace.h +++ b/net/wireless/trace.h @@ -27,7 +27,8 @@ #define WIPHY_PR_ARG __entry->wiphy_name #define WDEV_ENTRY __field(u32, id) -#define WDEV_ASSIGN (__entry->id) = (wdev ? wdev->identifier : 0) +#define WDEV_ASSIGN (__entry->id) = (!IS_ERR_OR_NULL(wdev) \ + ? wdev->identifier : 0) #define WDEV_PR_FMT "wdev(%u)" #define WDEV_PR_ARG (__entry->id) |