All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dawar, Gautam" <gautam.dawar@amd.com>
To: Dan Carpenter <dan.carpenter@oracle.com>,
	Eugenio Perez Martin <eperezma@redhat.com>
Cc: Stefano Garzarella <sgarzare@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"virtualization@lists.linux-foundation.org" 
	<virtualization@lists.linux-foundation.org>,
	Jason Wang <jasowang@redhat.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>,
	"martinh@xilinx.com" <martinh@xilinx.com>,
	"ecree.xilinx@gmail.com" <ecree.xilinx@gmail.com>,
	Eli Cohen <elic@nvidia.com>, Parav Pandit <parav@nvidia.com>,
	Wu Zongyong <wuzongyong@linux.alibaba.com>,
	"dinang@xilinx.com" <dinang@xilinx.com>,
	Christophe JAILLET <christophe.jaillet@wanadoo.fr>,
	Xie Yongji <xieyongji@bytedance.com>,
	"lulu@redhat.com" <lulu@redhat.com>,
	"martinpo@xilinx.com" <martinpo@xilinx.com>,
	"pabloc@xilinx.com" <pabloc@xilinx.com>,
	Longpeng <longpeng2@huawei.com>,
	"Piotr.Uminski@intel.com" <Piotr.Uminski@intel.com>,
	"Kamde, Tanuj" <tanuj.kamde@amd.com>,
	Si-Wei Liu <si-wei.liu@oracle.com>,
	"habetsm.xilinx@gmail.com" <habetsm.xilinx@gmail.com>,
	"lvivier@redhat.com" <lvivier@redhat.com>,
	Zhang Min <zhang.min9@zte.com.cn>,
	"hanand@xilinx.com" <hanand@xilinx.com>
Subject: RE: [PATCH v3 2/4] vhost-vdpa: introduce STOP backend feature bit
Date: Fri, 27 May 2022 14:13:09 +0000	[thread overview]
Message-ID: <BL1PR12MB582533E5A1A8D2E9E2C1691499D89@BL1PR12MB5825.namprd12.prod.outlook.com> (raw)
In-Reply-To: <20220527073654.GM2168@kadam>

[AMD Official Use Only - General]

IMHO replacing "return ops->stop;" with "return ops->stop?true:false;" should be good enough.

On Fri, May 27, 2022 at 08:50:16AM +0200, Eugenio Perez Martin wrote:
> On Thu, May 26, 2022 at 9:07 PM Dan Carpenter <dan.carpenter@oracle.com> wrote:
> >
> > On Thu, May 26, 2022 at 07:00:06PM +0200, Eugenio Perez Martin wrote:
> > > > It feels like returning any literal that isn't 1 or 0 should
> > > > trigger a warning...  I've written that and will check it out tonight.
> > > >
> > >
> > > I'm not sure this should be so strict, or "literal" does not include pointers?
> > >
> >
> > What I mean in exact terms, is that if you're returning a known
> > value and the function returns bool then the known value should be 0 or 1.
> > Don't "return 3;".  This new warning will complain if you return a
> > known pointer as in "return &a;".  It won't complain if you return
> > an unknown pointer "return p;".
> >
>
> Ok, thanks for the clarification.
>
> > > As an experiment, can Smatch be used to count how many times a
> > > returned pointer is converted to int / bool before returning vs
> > > not converted?
> >
> > I'm not super excited to write that code...  :/
> >
>
> Sure, I understand. I meant if it was possible or if that is too far
> beyond its scope.

To be honest, I misread what you were asking.  GCC won't let you return a pointer with an implied cast to int.  It has to be explicit.  So there are zero of those.  It's not hard to look for pointers with an implied cast to bool.

static void match_pointer(struct expression *ret_value) {
        struct symbol *type;
        char *name;

        type = cur_func_return_type();
        if (!type || sval_type_max(type).value != 1)
                return;

        if (!is_pointer(ret_value))
                return;

        name = expr_to_str(ret_value);
        sm_msg("'%s' return pointer cast to bool", name);
        free_string(name);
}

regards,
dan carpenter


  reply	other threads:[~2022-05-27 14:13 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-25 10:59 [PATCH v3 0/4] Implement vdpasim stop operation Eugenio Pérez
2022-05-25 10:59 ` [PATCH v3 1/4] vdpa: Add " Eugenio Pérez
2022-05-25 10:59 ` [PATCH v3 2/4] vhost-vdpa: introduce STOP backend feature bit Eugenio Pérez
2022-05-25 11:23   ` Dawar, Gautam
2022-05-26  8:57     ` Eugenio Perez Martin
2022-05-26  9:07       ` Stefano Garzarella
2022-05-26  9:07         ` Stefano Garzarella
2022-05-26 12:44         ` Eugenio Perez Martin
2022-05-26 13:20           ` Dan Carpenter
2022-05-26 13:20             ` Dan Carpenter
2022-05-26 17:00             ` Eugenio Perez Martin
2022-05-26 19:06               ` Dan Carpenter
2022-05-26 19:06                 ` Dan Carpenter
2022-05-27  6:50                 ` Eugenio Perez Martin
2022-05-27  7:36                   ` Dan Carpenter
2022-05-27  7:36                     ` Dan Carpenter
2022-05-27 14:13                     ` Dawar, Gautam [this message]
2022-05-30 14:27                     ` Dan Carpenter
2022-05-30 14:27                       ` Dan Carpenter
2022-05-30 15:12                       ` Dan Carpenter
2022-05-30 15:12                         ` Dan Carpenter
2022-05-25 10:59 ` [PATCH v3 3/4] vhost-vdpa: uAPI to stop the device Eugenio Pérez
2022-05-25 14:32   ` kernel test robot
2022-05-25 14:32     ` kernel test robot
2022-05-25 17:52   ` kernel test robot
2022-05-25 17:52     ` kernel test robot
2022-05-25 10:59 ` [PATCH v3 4/4] vdpa_sim: Implement stop vdpa op Eugenio Pérez

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=BL1PR12MB582533E5A1A8D2E9E2C1691499D89@BL1PR12MB5825.namprd12.prod.outlook.com \
    --to=gautam.dawar@amd.com \
    --cc=Piotr.Uminski@intel.com \
    --cc=christophe.jaillet@wanadoo.fr \
    --cc=dan.carpenter@oracle.com \
    --cc=dinang@xilinx.com \
    --cc=ecree.xilinx@gmail.com \
    --cc=elic@nvidia.com \
    --cc=eperezma@redhat.com \
    --cc=habetsm.xilinx@gmail.com \
    --cc=hanand@xilinx.com \
    --cc=jasowang@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=lingshan.zhu@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=longpeng2@huawei.com \
    --cc=lulu@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=martinh@xilinx.com \
    --cc=martinpo@xilinx.com \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabloc@xilinx.com \
    --cc=parav@nvidia.com \
    --cc=sgarzare@redhat.com \
    --cc=si-wei.liu@oracle.com \
    --cc=tanuj.kamde@amd.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=wuzongyong@linux.alibaba.com \
    --cc=xieyongji@bytedance.com \
    --cc=zhang.min9@zte.com.cn \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.