kasan, vmalloc: unpoison VM_ALLOC pages after mapping
[linux-2.6-microblaze.git] / mm / ksm.c
index dd737f9..063a48e 100644 (file)
--- a/mm/ksm.c
+++ b/mm/ksm.c
@@ -2583,12 +2583,15 @@ struct page *ksm_might_need_to_copy(struct page *page,
                SetPageDirty(new_page);
                __SetPageUptodate(new_page);
                __SetPageLocked(new_page);
+#ifdef CONFIG_SWAP
+               count_vm_event(KSM_SWPIN_COPY);
+#endif
        }
 
        return new_page;
 }
 
-void rmap_walk_ksm(struct folio *folio, struct rmap_walk_control *rwc)
+void rmap_walk_ksm(struct folio *folio, const struct rmap_walk_control *rwc)
 {
        struct stable_node *stable_node;
        struct rmap_item *rmap_item;
@@ -2814,8 +2817,7 @@ static void wait_while_offlining(void)
 #define KSM_ATTR_RO(_name) \
        static struct kobj_attribute _name##_attr = __ATTR_RO(_name)
 #define KSM_ATTR(_name) \
-       static struct kobj_attribute _name##_attr = \
-               __ATTR(_name, 0644, _name##_show, _name##_store)
+       static struct kobj_attribute _name##_attr = __ATTR_RW(_name)
 
 static ssize_t sleep_millisecs_show(struct kobject *kobj,
                                    struct kobj_attribute *attr, char *buf)