On Fri, Sep 18, 2015 at 03:55:00PM +0200, Paolo Bonzini wrote: > > > On 18/09/2015 15:51, Denis V. Lunev wrote: > >> 185 > >> > 186 task_cputime_adjusted(current, &utime, &stime); > >> 187 return div_u64(cputime_to_nsecs(utime + stime), 100); > >> 188 } > >> 189 > >> 190 static int kvm_hv_set_msr(struct kvm_vcpu *vcpu, u32 msr, > >> u64 data, bool host) > >> 191 { > >> 192 struct kvm_vcpu_hv *hv = &vcpu->arch.hyperv; > >> 193 > >> 194 switch (msr) { > >> > >> --- > >> 0-DAY kernel test infrastructure Open Source Technology > >> Center > >> https://lists.01.org/pipermail/kbuild-all Intel > >> Corporation > > can not get an idea what is this warning about... > > For me it looks pretty lame. > > I think it wants you to do > > - return div_u64(cputime_to_nsecs(utime + stime), 100); > + return div_u64(cputime_to_nsecs(utime) + > + cputime_to_nsecs(stime), 100); The warning is pretty specific about the point where it triggered. I have reduced it to the following standalone reproducer: %%% cat x.c #ifdef __CHECKER__ # define __nocast __attribute__((nocast)) #else # define __nocast #endif typedef unsigned long __nocast cputime_t; extern void task_cputime_adjusted(cputime_t *); extern void current_task_runtime_100ns(void); void current_task_runtime_100ns(void) { cputime_t utime; task_cputime_adjusted(&utime); } %%% gcc -c x.c -Wall -Werror -O2; echo $? 0 %%% sparse x.c x.c:16:32: warning: incorrect type in argument 1 (different modifiers) x.c:16:32: expected unsigned long [nocast] [usertype] *<noident> x.c:16:32: got unsigned long *<noident> x.c:16:32: warning: implicit cast to nocast type Looks like a sparse bug to me. Roman. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html