diff mbox

compat: remove compat_printk

Message ID 20160617142903.3070388-1-arnd@arndb.de (mailing list archive)
State New, archived
Headers show

Commit Message

Arnd Bergmann June 17, 2016, 2:26 p.m. UTC
After 7e8e385aaf6e ("x86/compat: Remove sys32_vm86_warning"), this
function has become unused, so we can remove it as well.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 fs/compat.c            | 14 --------------
 include/linux/compat.h |  1 -
 kernel/sysctl.c        | 10 ----------
 3 files changed, 25 deletions(-)

Comments

Andrew Morton June 21, 2016, 11:38 p.m. UTC | #1
On Fri, 17 Jun 2016 16:26:21 +0200 Arnd Bergmann <arnd@arndb.de> wrote:

> After 7e8e385aaf6e ("x86/compat: Remove sys32_vm86_warning"), this
> function has become unused, so we can remove it as well.

hm,

> @@ -1077,15 +1076,6 @@ static struct ctl_table kern_table[] = {
>  		.extra1		= &neg_one,
>  	},
>  #endif
> -#ifdef CONFIG_COMPAT
> -	{
> -		.procname	= "compat-log",
> -		.data		= &compat_log,
> -		.maxlen		= sizeof (int),
> -	 	.mode		= 0644,
> -		.proc_handler	= proc_dointvec,
> -	},
> -#endif

How do we know we can simply remove /proc/sys/kernel/compat-log without
breaking any userspace?

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Arnd Bergmann June 22, 2016, 10:15 a.m. UTC | #2
On Tuesday, June 21, 2016 4:38:57 PM CEST Andrew Morton wrote:
> > @@ -1077,15 +1076,6 @@ static struct ctl_table kern_table[] = {
> >               .extra1         = &neg_one,
> >       },
> >  #endif
> > -#ifdef CONFIG_COMPAT
> > -     {
> > -             .procname       = "compat-log",
> > -             .data           = &compat_log,
> > -             .maxlen         = sizeof (int),
> > -             .mode           = 0644,
> > -             .proc_handler   = proc_dointvec,
> > -     },
> > -#endif
> 
> How do we know we can simply remove /proc/sys/kernel/compat-log without
> breaking any userspace?
> 

Good point. I guess we can leave this in place just in case (with a comment)
and just remove the compat_printk function. We could probably have a Kconfig
symbol for obsolete sysctl files, but if this is the only one controlled
by it, it's probably not worth the effort.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andreas Dilger June 22, 2016, 5:09 p.m. UTC | #3
> On Jun 22, 2016, at 4:15 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> 
> On Tuesday, June 21, 2016 4:38:57 PM CEST Andrew Morton wrote:
>>> @@ -1077,15 +1076,6 @@ static struct ctl_table kern_table[] = {
>>>              .extra1         = &neg_one,
>>>      },
>>> #endif
>>> -#ifdef CONFIG_COMPAT
>>> -     {
>>> -             .procname       = "compat-log",
>>> -             .data           = &compat_log,
>>> -             .maxlen         = sizeof (int),
>>> -             .mode           = 0644,
>>> -             .proc_handler   = proc_dointvec,
>>> -     },
>>> -#endif
>> 
>> How do we know we can simply remove /proc/sys/kernel/compat-log without
>> breaking any userspace?
>> 
> 
> Good point. I guess we can leave this in place just in case (with a comment)
> and just remove the compat_printk function. We could probably have a Kconfig
> symbol for obsolete sysctl files, but if this is the only one controlled
> by it, it's probably not worth the effort.

It probably makes sense to print a deprecation warning containing the current
process name if this /proc file is modified, so that users can update any
scripts/tools using it.

Cheers, Andreas
diff mbox

Patch

diff --git a/fs/compat.c b/fs/compat.c
index be6e48b0a46c..e07968974391 100644
--- a/fs/compat.c
+++ b/fs/compat.c
@@ -54,20 +54,6 @@ 
 #include <asm/ioctls.h>
 #include "internal.h"
 
-int compat_log = 1;
-
-int compat_printk(const char *fmt, ...)
-{
-	va_list ap;
-	int ret;
-	if (!compat_log)
-		return 0;
-	va_start(ap, fmt);
-	ret = vprintk(fmt, ap);
-	va_end(ap);
-	return ret;
-}
-
 /*
  * Not all architectures have sys_utime, so implement this in terms
  * of sys_utimes.
diff --git a/include/linux/compat.h b/include/linux/compat.h
index 0c510f25cf99..5adf66de6e6b 100644
--- a/include/linux/compat.h
+++ b/include/linux/compat.h
@@ -433,7 +433,6 @@  asmlinkage long compat_sys_settimeofday(struct compat_timeval __user *tv,
 
 asmlinkage long compat_sys_adjtimex(struct compat_timex __user *utp);
 
-extern __printf(1, 2) int compat_printk(const char *fmt, ...);
 extern void sigset_from_compat(sigset_t *set, const compat_sigset_t *compat);
 extern void sigset_to_compat(compat_sigset_t *compat, const sigset_t *set);
 
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 35f0dcb1cb4f..de331c3858e5 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -106,7 +106,6 @@  extern unsigned int core_pipe_limit;
 extern int pid_max;
 extern int pid_max_min, pid_max_max;
 extern int percpu_pagelist_fraction;
-extern int compat_log;
 extern int latencytop_enabled;
 extern int sysctl_nr_open_min, sysctl_nr_open_max;
 #ifndef CONFIG_MMU
@@ -1077,15 +1076,6 @@  static struct ctl_table kern_table[] = {
 		.extra1		= &neg_one,
 	},
 #endif
-#ifdef CONFIG_COMPAT
-	{
-		.procname	= "compat-log",
-		.data		= &compat_log,
-		.maxlen		= sizeof (int),
-	 	.mode		= 0644,
-		.proc_handler	= proc_dointvec,
-	},
-#endif
 #ifdef CONFIG_RT_MUTEXES
 	{
 		.procname	= "max_lock_depth",