• Pi-Hsun Shih's avatar
    wireless: Use offsetof instead of custom macro. · 6989310f
    Pi-Hsun Shih authored
    Use offsetof to calculate offset of a field to take advantage of
    compiler built-in version when possible, and avoid UBSAN warning when
    compiling with Clang:
    
    ==================================================================
    UBSAN: Undefined behaviour in net/wireless/wext-core.c:525:14
    member access within null pointer of type 'struct iw_point'
    CPU: 3 PID: 165 Comm: kworker/u16:3 Tainted: G S      W         4.19.23 #43
    Workqueue: cfg80211 __cfg80211_scan_done [cfg80211]
    Call trace:
     dump_backtrace+0x0/0x194
     show_stack+0x20/0x2c
     __dump_stack+0x20/0x28
     dump_stack+0x70/0x94
     ubsan_epilogue+0x14/0x44
     ubsan_type_mismatch_common+0xf4/0xfc
     __ubsan_handle_type_mismatch_v1+0x34/0x54
     wireless_send_event+0x3cc/0x470
     ___cfg80211_scan_done+0x13c/0x220 [cfg80211]
     __cfg80211_scan_done+0x28/0x34 [cfg80211]
     process_one_work+0x170/0x35c
     worker_thread+0x254/0x380
     kthread+0x13c/0x158
     ret_from_fork+0x10/0x18
    ===================================================================
    Signed-off-by: default avatarPi-Hsun Shih <pihsun@chromium.org>
    Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
    Link: https://lore.kernel.org/r/20191204081307.138765-1-pihsun@chromium.orgSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    6989310f
wireless.h 41.8 KB