Merge tag 'arm-soc/for-5.20/devicetree' of https://github.com/Broadcom/stblinux into...
[linux-2.6-microblaze.git] / mm / page_owner.c
index fb3a05f..e4c6f3f 100644 (file)
@@ -34,7 +34,7 @@ struct page_owner {
        pid_t tgid;
 };
 
-static bool page_owner_enabled = false;
+static bool page_owner_enabled __initdata;
 DEFINE_STATIC_KEY_FALSE(page_owner_inited);
 
 static depot_stack_handle_t dummy_handle;
@@ -45,7 +45,12 @@ static void init_early_allocated_pages(void);
 
 static int __init early_page_owner_param(char *buf)
 {
-       return kstrtobool(buf, &page_owner_enabled);
+       int ret = kstrtobool(buf, &page_owner_enabled);
+
+       if (page_owner_enabled)
+               stack_depot_want_early_init();
+
+       return ret;
 }
 early_param("page_owner", early_page_owner_param);
 
@@ -83,8 +88,6 @@ static __init void init_page_owner(void)
        if (!page_owner_enabled)
                return;
 
-       stack_depot_init();
-
        register_dummy_stack();
        register_failure_stack();
        register_early_stack();
@@ -168,7 +171,7 @@ static inline void __set_page_owner_handle(struct page_ext *page_ext,
                page_owner->pid = current->pid;
                page_owner->tgid = current->tgid;
                page_owner->ts_nsec = local_clock();
-               strlcpy(page_owner->comm, current->comm,
+               strscpy(page_owner->comm, current->comm,
                        sizeof(page_owner->comm));
                __set_bit(PAGE_EXT_OWNER, &page_ext->flags);
                __set_bit(PAGE_EXT_OWNER_ALLOCATED, &page_ext->flags);