public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Roman Kagan <rkagan@virtuozzo.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Denis V. Lunev" <den@openvz.org>,
	kbuild test robot <fengguang.wu@intel.com>,
	Andrey Smetanin <asmetanin@virtuozzo.com>, <kbuild-all@01.org>,
	<kvm@vger.kernel.org>
Subject: Re: [kvm:queue 27/38] arch/x86/kvm/hyperv.c:186:41: sparse: incorrect type in argument 2 (different modifiers)
Date: Fri, 18 Sep 2015 17:40:27 +0300	[thread overview]
Message-ID: <20150918144026.GJ3317@rkaganb.sw.ru> (raw)
In-Reply-To: <55FC17B4.9060702@redhat.com>

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.

  parent reply	other threads:[~2015-09-18 14:40 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-18 13:39 [kvm:queue 27/38] arch/x86/kvm/hyperv.c:186:41: sparse: incorrect type in argument 2 (different modifiers) kbuild test robot
2015-09-18 13:51 ` Denis V. Lunev
2015-09-18 13:55   ` Paolo Bonzini
2015-09-18 13:57     ` Denis V. Lunev
2015-09-18 14:40     ` Roman Kagan [this message]
2015-09-18 14:41       ` Paolo Bonzini
2015-09-18 15:06         ` [kbuild-all] " Fengguang Wu
2016-01-05 13:51           ` Luc Van Oostenryck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150918144026.GJ3317@rkaganb.sw.ru \
    --to=rkagan@virtuozzo.com \
    --cc=asmetanin@virtuozzo.com \
    --cc=den@openvz.org \
    --cc=fengguang.wu@intel.com \
    --cc=kbuild-all@01.org \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox