Re: kprobes: get rid of distinct type warning

From: Heiko Carstens
Date: Sat Jan 09 2010 - 12:45:32 EST


On Fri, Jan 08, 2010 at 04:18:48PM -0800, Andrew Morton wrote:
> On Tue, 5 Jan 2010 09:40:27 +0100
> Heiko Carstens <heiko.carstens@xxxxxxxxxx> wrote:
> > --- a/include/linux/cpumask.h
> > +++ b/include/linux/cpumask.h
> > @@ -90,10 +90,10 @@ extern const struct cpumask *const cpu_a
> > #define cpu_present(cpu) cpumask_test_cpu((cpu), cpu_present_mask)
> > #define cpu_active(cpu) cpumask_test_cpu((cpu), cpu_active_mask)
> > #else
> > -#define num_online_cpus() 1
> > -#define num_possible_cpus() 1
> > -#define num_present_cpus() 1
> > -#define num_active_cpus() 1
> > +#define num_online_cpus() 1U
> > +#define num_possible_cpus() 1U
> > +#define num_present_cpus() 1U
> > +#define num_active_cpus() 1U
> > #define cpu_online(cpu) ((cpu) == 0)
> > #define cpu_possible(cpu) ((cpu) == 0)
> > #define cpu_present(cpu) ((cpu) == 0)
>
> I assume that this fixes the kprobes warning, so
>
> Commit-ID: c2ef6661ce62e26a8c0978e521fab646128a144b
> Gitweb: http://git.kernel.org/tip/c2ef6661ce62e26a8c0978e521fab646128a144b
> Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
> AuthorDate: Mon, 21 Dec 2009 13:02:24 +0100
> Committer: Ingo Molnar <mingo@xxxxxxx>
> CommitDate: Mon, 28 Dec 2009 10:25:31 +0100
>
> becomes unneeded?

Nah, that would be too easy. The code still compares an int (10) and
an unsigned int. The only thing that could be changed with this patch
is that max_t isn't needed anymore, so that the patch below would
work as well (10U).
But I don't think it's worth it.

diff --git a/kernel/kprobes.c b/kernel/kprobes.c
index b7df302..85222a9 100644
--- a/kernel/kprobes.c
+++ b/kernel/kprobes.c
@@ -1035,7 +1035,7 @@ int __kprobes register_kretprobe(struct kretprobe *rp)
/* Pre-allocate memory for max kretprobe instances */
if (rp->maxactive <= 0) {
#ifdef CONFIG_PREEMPT
- rp->maxactive = max_t(unsigned int, 10, 2*num_possible_cpus());
+ rp->maxactive = max(10U, 2*num_possible_cpus());
#else
rp->maxactive = num_possible_cpus();
#endif
--
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/