Subject: Re: linux-next: build warning after merge of the tip and rcu trees

From: "Paul E. McKenney" <[email-masked]>
Date: Tue, 20 Dec 2011 08:27:53 -0800

On Tue, Dec 20, 2011 at 06:24:51PM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the tip tree, today's linux-next build (x86_64 allmodconfig)
> produced this warning:
> 
> kernel/debug/kdb/kdb_support.c: In function 'kdb_task_state_char':
> kernel/debug/kdb/kdb_support.c:639:2: warning: passing argument 1 of 'is_idle_task' discards 'const' qualifier from pointer target type [enabled by default]
> include/linux/sched.h:2097:20: note: expected 'struct task_struct *' but argument is of type 'const struct task_struct *'
> 
> Introduced by commit 7fc20c5cbdd1 ("kdb: Make KDB use the new
> is_idle_task() API").
> 
> This begs the question: Why does is_idle_task() not take a "const struct task_struct *"?

No reason.  So I have pushed the following patch to -rcu.  ;-)

							Thanx, Paul

------------------------------------------------------------------------

sched: Add "const" to is_idle_task() parameter

This patch fixes a build warning in -next due to a const pointer being
passed to is_idle_task().  Because is_idle_task() does not modify anything,
this commit adds the "const" to is_idle_task()'s argument declaration.

Reported-by: Stephen Rothwell <[email-masked]>
Signed-off-by: Paul E. McKenney <[email-masked]>

diff --git a/include/linux/sched.h b/include/linux/sched.h
index 4a7e4d3..56fa25a 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -2074,7 +2074,7 @@ extern struct task_struct *idle_task(int cpu);
  * is_idle_task - is the specified task an idle task?
  * @tsk: the task in question.
  */
-static inline bool is_idle_task(struct task_struct *p)
+static inline bool is_idle_task(const struct task_struct *p)
 {
 	return p->pid == 0;
 }