{
char name [MAX_NAMELEN];
-+ if (IS_ENABLED(CONFIG_PROC_STRIPPED))
++ if (IS_ENABLED(CONFIG_PROC_STRIPPED) && !IS_ENABLED(CONFIG_SMP))
+ return;
+
if (!root_irq_dir || (desc->irq_data.chip == &no_irq_chip) || desc->dir)
{
char name [MAX_NAMELEN];
-+ if (IS_ENABLED(CONFIG_PROC_STRIPPED))
++ if (IS_ENABLED(CONFIG_PROC_STRIPPED) && !IS_ENABLED(CONFIG_SMP))
+ return;
+
if (!root_irq_dir || !desc->dir)
unsigned int irq;
struct irq_desc *desc;
-+ if (IS_ENABLED(CONFIG_PROC_STRIPPED))
++ if (IS_ENABLED(CONFIG_PROC_STRIPPED) && !IS_ENABLED(CONFIG_SMP))
+ return;
+
/* create /proc/irq */
return -ENOMEM;
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
-@@ -2641,6 +2641,8 @@ static const struct file_operations proc
+@@ -2639,6 +2639,8 @@ static const struct file_operations proc
static int __init proc_vmalloc_init(void)
{
return register_pernet_subsys(&igmp_net_ops);
}
#endif
---- a/net/ipv4/ipmr.c
-+++ b/net/ipv4/ipmr.c
-@@ -70,6 +70,10 @@
- #define CONFIG_IP_PIMSM 1
- #endif
-
-+#ifdef CONFIG_PROC_STRIPPED
-+#undef CONFIG_PROC_FS
-+#endif
-+
- struct mr_table {
- struct list_head list;
- #ifdef CONFIG_NET_NS
--- a/net/ipv4/proc.c
+++ b/net/ipv4/proc.c
@@ -498,6 +498,9 @@ static __net_initdata struct pernet_oper