On Wed 04-12-19 18:32:24, Michal Hocko wrote: > [Cc akpm - the email thread starts > http://lkml.kernel.org/r/20191126121901.GE20912@xxxxxxxxxxxxxx] ping. > On Wed 04-12-19 16:53:47, Cristopher Lameter wrote: > > On Wed, 4 Dec 2019, Michal Hocko wrote: > > > > > As I've said I believe it is quite risky. But if you as a maintainer > > > believe this is the right thing to do I will not object. Care to send a > > > patch? > > > > From: Christoph Lameter <cl@xxxxxxxxx> > > Subject: slub: Remove userspace notifier for cache add/remove > > > > Kmem caches are internal kernel structures so it is strange that > > userspace notifiers would be needed. And I am not aware of any use > > of these notifiers. These notifiers may just exist because in the > > initial slub release the sysfs code was copied from another > > subsystem. > > > > Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> > > > > Index: linux/mm/slub.c > > =================================================================== > > --- linux.orig/mm/slub.c 2019-12-02 15:13:23.948312925 +0000 > > +++ linux/mm/slub.c 2019-12-04 16:32:34.648550310 +0000 > > @@ -5632,19 +5632,6 @@ static struct kobj_type slab_ktype = { > > .release = kmem_cache_release, > > }; > > > > -static int uevent_filter(struct kset *kset, struct kobject *kobj) > > -{ > > - struct kobj_type *ktype = get_ktype(kobj); > > - > > - if (ktype == &slab_ktype) > > - return 1; > > - return 0; > > -} > > - > > -static const struct kset_uevent_ops slab_uevent_ops = { > > - .filter = uevent_filter, > > -}; > > - > > static struct kset *slab_kset; > > > > static inline struct kset *cache_kset(struct kmem_cache *s) > > @@ -5712,7 +5699,6 @@ static void sysfs_slab_remove_workfn(str > > #ifdef CONFIG_MEMCG > > kset_unregister(s->memcg_kset); > > #endif > > - kobject_uevent(&s->kobj, KOBJ_REMOVE); > > out: > > kobject_put(&s->kobj); > > } > > @@ -5770,7 +5756,6 @@ static int sysfs_slab_add(struct kmem_ca > > } > > #endif > > > > - kobject_uevent(&s->kobj, KOBJ_ADD); > > if (!unmergeable) { > > /* Setup first alias */ > > sysfs_slab_alias(s, s->name); > > @@ -5851,7 +5836,7 @@ static int __init slab_sysfs_init(void) > > > > mutex_lock(&slab_mutex); > > > > - slab_kset = kset_create_and_add("slab", &slab_uevent_ops, kernel_kobj); > > + slab_kset = kset_create_and_add("slab", NULL, kernel_kobj); > > if (!slab_kset) { > > mutex_unlock(&slab_mutex); > > pr_err("Cannot register slab subsystem.\n"); > > -- > Michal Hocko > SUSE Labs -- Michal Hocko SUSE Labs