Johannes Berg 800d6acf40 rcu: tiny: Record kvfree_call_rcu() call stack for KASAN
When running KASAN with Tiny RCU (e.g. under ARCH=um, where
a working KASAN patch is now available), we don't get any
information on the original kfree_rcu() (or similar) caller
when a problem is reported, as Tiny RCU doesn't record this.

Add the recording, which required pulling kvfree_call_rcu()
out of line for the KASAN case since the recording function
(kasan_record_aux_stack_noalloc) is neither exported, nor
can we include kasan.h into rcutiny.h.

without KASAN, the patch has no size impact (ARCH=um kernel):
    text       data         bss         dec        hex    filename
 6151515    4423154    33148520    43723189    29b29b5    linux
 6151515    4423154    33148520    43723189    29b29b5    linux + patch

with KASAN, the impact on my build was minimal:
    text       data         bss         dec        hex    filename
13915539    7388050    33282304    54585893    340ea25    linux
13911266    7392114    33282304    54585684    340e954    linux + patch
   -4273      +4064         +-0        -209

Acked-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2022-07-19 11:40:00 -07:00
..
2022-05-26 17:13:43 -07:00
2022-06-02 07:17:59 +02:00
2022-06-05 10:40:31 -07:00
2022-05-25 16:18:27 -07:00
2021-12-02 17:25:21 +09:00
2022-05-25 11:32:53 -07:00
2022-06-02 08:55:01 -07:00
2022-05-27 21:24:19 -07:00
2022-01-11 13:08:21 -08:00
2022-06-15 19:28:44 -04:00
2022-05-23 17:51:12 -07:00
2022-03-15 10:32:44 +01:00
2022-03-28 17:29:53 -07:00
2022-05-29 10:31:36 -07:00
2022-05-02 14:06:20 -06:00
2022-01-08 12:43:57 -06:00
2022-06-17 14:57:42 -05:00
2022-02-25 09:36:06 +01:00
2022-05-26 16:57:20 -07:00