summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-03-19 23:26:57 +0400
committerJohannes Berg <johannes.berg@intel.com>2013-03-21 01:21:31 +0400
commitce1eadda6badef9e4e3460097ede674fca47383d (patch)
tree710a8ef03b2814d4c02be804ff273cf18e7e802a /net
parent07e5a5f5ab7474589c15fc5d88e4f7fc43979530 (diff)
downloadlinux-ce1eadda6badef9e4e3460097ede674fca47383d.tar.xz
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')
-rw-r--r--net/wireless/trace.h3
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)