On Fri, Jul 31, 2020 at 02:02:55PM -0700, Nick Desaulniers wrote:
From: Pi-Hsun Shih pihsun@chromium.org
commit 6989310f5d4327e8595664954edd40a7f99ddd0d upstream.
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: Pi-Hsun Shih pihsun@chromium.org Reviewed-by: Nick Desaulniers ndesaulniers@google.com Link: https://lore.kernel.org/r/20191204081307.138765-1-pihsun@chromium.org Signed-off-by: Johannes Berg johannes.berg@intel.com Signed-off-by: Nick Desaulniers ndesaulniers@google.com
Fix landed in v5.7-rc1. Thanks to James Hsu of MediaTek for the report.
What about 5.4.y? Why ignore that tree? You can not have people moving from an older stable to a newer stable tree and have regressions :(
I'll queue it up there, but be more careful next time please.
greg k-h