* Alex Williamson <alex.william...@redhat.com> [2017-05-11 15:13:56 -0600]:
[...] > > diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c > > new file mode 100644 > > index 0000000..b1aadcd > > --- /dev/null > > +++ b/hw/s390x/s390-ccw.c > > @@ -0,0 +1,138 @@ > > +/* > > + * s390 CCW Assignment Support > > + * > > + * Copyright 2017 IBM Corp > > + * Author(s): Dong Jia Shi <bjsdj...@linux.vnet.ibm.com> > > + * Xiao Feng Ren <renxi...@linux.vnet.ibm.com> > > + * Pierre Morel <pmo...@linux.vnet.ibm.com> > > + * > > + * This work is licensed under the terms of the GNU GPL, version 2 > > + * or (at your option) any later version. See the COPYING file in the > > + * top-level directory. > > + */ > > +#include "qemu/osdep.h" > > +#include "qapi/error.h" > > +#include "hw/sysbus.h" > > +#include "libgen.h" > > +#include "hw/s390x/css.h" > > +#include "hw/s390x/css-bridge.h" > > +#include "s390-ccw.h" > > + > > +static void s390_ccw_get_dev_info(S390CCWDevice *cdev, > > + char *sysfsdev, > > + Error **errp) > > +{ > > + unsigned int cssid, ssid, devid; > > + char dev_path[PATH_MAX] = {0}, *tmp; > > + > > + if (!sysfsdev) { > > + error_setg(errp, "No host device provided"); > > + error_append_hint(errp, > > + "Use -device > > vfio-ccw,sysfsdev=PATH_TO_DEVICE\n"); > > + return; > > + } > > + > > + if (!realpath(sysfsdev, dev_path)) { > > + error_setg_errno(errp, errno, "Host device '%s' not found", > > sysfsdev); > > + return; > > + } > > + > > + cdev->mdevid = g_strdup(basename(dev_path)); > > + > > + tmp = basename(dirname(dev_path)); > > + sscanf(tmp, "%2x.%1x.%4x", &cssid, &ssid, &devid); > > > Seems like an oversight not to check this return value. > > Hi Alex, As I replied to Eric in v6, this is safe, since the format of the input is an interface that the kernel provides for the userland program. Anyway, I will add a check since both of you question it. > > + > > + cdev->hostid.cssid = cssid; > > + cdev->hostid.ssid = ssid; > > + cdev->hostid.devid = devid; > > + cdev->hostid.valid = true; > > +} > > + > -- Dong Jia Shi