On Mon, 15 Jul 2024 18:28:06 +0800 Miaohe Lin <linmiaohe@xxxxxxxxxx> wrote: > When hwpoison_inject module is removed, hwpoison_filter_* parameters > should be reset. Otherwise these parameters will have non-default values > at next insmod time. > > ... > > --- a/mm/hwpoison-inject.c > +++ b/mm/hwpoison-inject.c > @@ -64,9 +64,20 @@ static int hwpoison_unpoison(void *data, u64 val) > DEFINE_DEBUGFS_ATTRIBUTE(hwpoison_fops, NULL, hwpoison_inject, "%lli\n"); > DEFINE_DEBUGFS_ATTRIBUTE(unpoison_fops, NULL, hwpoison_unpoison, "%lli\n"); > > -static void __exit pfn_inject_exit(void) > +static inline void reset_hwpoison_filter(void) > { > hwpoison_filter_enable = 0; > + hwpoison_filter_dev_major = ~0U; > + hwpoison_filter_dev_minor = ~0U; > + hwpoison_filter_flags_mask = 0; > + hwpoison_filter_flags_value = 0; > +#ifdef CONFIG_MEMCG > + hwpoison_filter_memcg = 0; > +#endif > +} > + > +static void __exit pfn_inject_exit(void) > +{ > debugfs_remove_recursive(hwpoison_dir); > } The new reset_hwpoison_filter() has no callers?