Messages in this thread Patch in this message | | | Date | Tue, 26 Aug 2014 16:25:01 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] acct: eliminate compile warning |
| |
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.
| |