* [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).