Re: [dynticks:3.7-nohz1 5/25] arch/x86/kernel/apm_32.c:910:38:sparse: incorrect type in argument 3 (different modifiers)

From: Fengguang Wu
Date: Sat Dec 22 2012 - 21:58:15 EST


On Sat, Dec 22, 2012 at 07:11:49PM +0100, Frederic Weisbecker wrote:
> 2012/12/21 kbuild test robot <fengguang.wu@xxxxxxxxx>:
> > tree: git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git 3.7-nohz1
> > head: 46209cdbb7d5346c29b2243c54b298a233684a5a
> > commit: 40d488f9fcd6840722402976f7a168e05819f526 [5/25] cputime: Use accessors to read task cputime stats
> >
> >
> > sparse warnings:
> >
> > + arch/x86/kernel/apm_32.c:910:38: sparse: incorrect type in argument 3 (different modifiers)
> > arch/x86/kernel/apm_32.c:910:38: expected unsigned long [nocast] [usertype] *stime
> > arch/x86/kernel/apm_32.c:910:38: got unsigned long *<noident>
>
> Ok I must say I don't really understand this report. Do you have any
> hint on what it means?

It's possibly due to this "__nocast" modifier in the type definition:

typedef unsigned long __nocast cputime_t;

Not sure how to fix it though.

> 40d488f9 arch/x86/kernel/apm_32.c Frederic Weisbecker 2012-11-13 902 cputime_t stime;
> ^1da177e arch/i386/kernel/apm.c Linus Torvalds 2005-04-16 903
> ^1da177e arch/i386/kernel/apm.c Linus Torvalds 2005-04-16 904 int apm_idle_done = 0;
> ^1da177e arch/i386/kernel/apm.c Linus Torvalds 2005-04-16 905 unsigned int jiffies_since_last_check = jiffies - last_jiffies;
> ^1da177e arch/i386/kernel/apm.c Linus Torvalds 2005-04-16 906 unsigned int bucket;
> ^1da177e arch/i386/kernel/apm.c Linus Torvalds 2005-04-16 907
> 99c63221 arch/x86/kernel/apm_32.c Len Brown 2011-04-01 908 WARN_ONCE(1, "deprecated apm_cpu_idle will be deleted in 2012");
> ^1da177e arch/i386/kernel/apm.c Linus Torvalds 2005-04-16 909 recalc:
> 40d488f9 arch/x86/kernel/apm_32.c Frederic Weisbecker 2012-11-13 @910 task_cputime(current, NULL, &stime);

Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/