linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] acct: eliminate compile warning
@ 2014-08-21  1:58 Ying Xue
  2014-08-26 23:25 ` Andrew Morton
  0 siblings, 1 reply; 3+ messages in thread
From: Ying Xue @ 2014-08-21  1:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: viro, jack

If ACCT_VERSION is not defined to 3, below warning appears:
  CC      kernel/acct.o
  kernel/acct.c: In function ‘do_acct_process’:
  kernel/acct.c:475:24: warning: unused variable ‘ns’ [-Wunused-variable]

Signed-off-by: Ying Xue <ying.xue@windriver.com>
---
 kernel/acct.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/acct.c b/kernel/acct.c
index b4c667d..bb52701 100644
--- a/kernel/acct.c
+++ b/kernel/acct.c
@@ -472,7 +472,6 @@ static void do_acct_process(struct bsd_acct_struct *acct)
 	acct_t ac;
 	unsigned long flim;
 	const struct cred *orig_cred;
-	struct pid_namespace *ns = acct->ns;
 	struct file *file = acct->file;
 
 	/*
@@ -500,9 +499,10 @@ static void do_acct_process(struct bsd_acct_struct *acct)
 	ac.ac_gid16 = ac.ac_gid;
 #endif
 #if ACCT_VERSION == 3
-	ac.ac_pid = task_tgid_nr_ns(current, ns);
+	ac.ac_pid = task_tgid_nr_ns(current, acct->ns);
 	rcu_read_lock();
-	ac.ac_ppid = task_tgid_nr_ns(rcu_dereference(current->real_parent), ns);
+	ac.ac_ppid = task_tgid_nr_ns(rcu_dereference(current->real_parent),
+				     acct->ns);
 	rcu_read_unlock();
 #endif
 	/*
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] acct: eliminate compile warning
  2014-08-21  1:58 [PATCH] acct: eliminate compile warning Ying Xue
@ 2014-08-26 23:25 ` Andrew Morton
  2014-11-05 14:37   ` Al Viro
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2014-08-26 23:25 UTC (permalink / raw)
  To: Ying Xue; +Cc: linux-kernel, viro, jack

On Thu, 21 Aug 2014 09:58:46 +0800 Ying Xue <ying.xue@windriver.com> wrote:

> If ACCT_VERSION is not defined to 3, below warning appears:
>   CC      kernel/acct.o
>   kernel/acct.c: In function ___do_acct_process___:
>   kernel/acct.c:475:24: warning: unused variable ___ns___ [-Wunused-variable]
> 
> Signed-off-by: Ying Xue <ying.xue@windriver.com>
> ---
>  kernel/acct.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/kernel/acct.c b/kernel/acct.c
> index b4c667d..bb52701 100644
> --- a/kernel/acct.c
> +++ b/kernel/acct.c
> @@ -472,7 +472,6 @@ static void do_acct_process(struct bsd_acct_struct *acct)
>  	acct_t ac;
>  	unsigned long flim;
>  	const struct cred *orig_cred;
> -	struct pid_namespace *ns = acct->ns;
>  	struct file *file = acct->file;
>  
>  	/*
> @@ -500,9 +499,10 @@ static void do_acct_process(struct bsd_acct_struct *acct)
>  	ac.ac_gid16 = ac.ac_gid;
>  #endif
>  #if ACCT_VERSION == 3
> -	ac.ac_pid = task_tgid_nr_ns(current, ns);
> +	ac.ac_pid = task_tgid_nr_ns(current, acct->ns);
>  	rcu_read_lock();
> -	ac.ac_ppid = task_tgid_nr_ns(rcu_dereference(current->real_parent), ns);
> +	ac.ac_ppid = task_tgid_nr_ns(rcu_dereference(current->real_parent),
> +				     acct->ns);
>  	rcu_read_unlock();
>  #endif

With my gcc this change increases .text from 5429 to 5437 bytes.  If we
do it this way:

--- a/kernel/acct.c~acct-eliminate-compile-warning-fix
+++ a/kernel/acct.c
@@ -499,11 +499,15 @@ static void do_acct_process(struct bsd_a
 	ac.ac_gid16 = ac.ac_gid;
 #endif
 #if ACCT_VERSION == 3
-	ac.ac_pid = task_tgid_nr_ns(current, acct->ns);
-	rcu_read_lock();
-	ac.ac_ppid = task_tgid_nr_ns(rcu_dereference(current->real_parent),
-				     acct->ns);
-	rcu_read_unlock();
+	{
+		struct pid_namespace *ns = acct->ns;
+
+		ac.ac_pid = task_tgid_nr_ns(current, ns);
+		rcu_read_lock();
+		ac.ac_ppid = task_tgid_nr_ns(rcu_dereference(current->real_parent),
+					     ns);
+		rcu_read_unlock();
+	}
 #endif
 	/*
 	 * Get freeze protection. If the fs is frozen, just skip the write

it actually shrinks to 5415 bytes.  Weird.


We could actually do

	if (ACCT_VERSION == 3)
		...

in lots of places in acct.c.  The code would be less ugly and
compilation coverage testing would improve.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] acct: eliminate compile warning
  2014-08-26 23:25 ` Andrew Morton
@ 2014-11-05 14:37   ` Al Viro
  0 siblings, 0 replies; 3+ messages in thread
From: Al Viro @ 2014-11-05 14:37 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Ying Xue, linux-kernel, jack

On Tue, Aug 26, 2014 at 04:25:01PM -0700, Andrew Morton wrote:

> We could actually do
> 
> 	if (ACCT_VERSION == 3)
> 		...
> 
> in lots of places in acct.c.  The code would be less ugly and
> compilation coverage testing would improve.

... too much.  Finally got around to trying that; the problem is that
you can't do that in structure declarations.  acct_t is either struct
acct, or struct acct_v3, and while we could split fill_ac() into
v3 and v1/v2 versions, it still doesn't sort everything out.  So it
looks like that idea is no-go ;-/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-11-05 14:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-21  1:58 [PATCH] acct: eliminate compile warning Ying Xue
2014-08-26 23:25 ` Andrew Morton
2014-11-05 14:37   ` Al Viro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).