summaryrefslogtreecommitdiff
path: root/lib/debugobjects.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2021-12-09 10:43:50 +0300
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2021-12-09 10:43:50 +0300
commit5d8dfaa71d87f742c53309b95cb6a8b274119027 (patch)
tree83fa5199868fb98dbe7dcb0791bc462bac77265b /lib/debugobjects.c
parent8c374ef45416281c7172dc29ed438dfb445795f1 (diff)
parent8bb7eca972ad531c9b149c0a51ab43a417385813 (diff)
downloadlinux-5d8dfaa71d87f742c53309b95cb6a8b274119027.tar.xz
Merge tag 'v5.15' into next
Sync up with the mainline to get the latest APIs and DT bindings.
Diffstat (limited to 'lib/debugobjects.c')
-rw-r--r--lib/debugobjects.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/debugobjects.c b/lib/debugobjects.c
index 9e14ae02306b..6946f8e204e3 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -557,7 +557,12 @@ __debug_object_init(void *addr, const struct debug_obj_descr *descr, int onstack
struct debug_obj *obj;
unsigned long flags;
- fill_pool();
+ /*
+ * On RT enabled kernels the pool refill must happen in preemptible
+ * context:
+ */
+ if (!IS_ENABLED(CONFIG_PREEMPT_RT) || preemptible())
+ fill_pool();
db = get_bucket((unsigned long) addr);