Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Aug 2018 23:16:30 +0000
From:      Brooks Davis <brooks@freebsd.org>
To:        araujo@freebsd.org
Cc:        "Rodney W. Grimes" <rgrimes@freebsd.org>, Warner Losh <imp@bsdimp.com>, John-Mark Gurney <jmg@funkthat.com>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r337887 - head/usr.sbin/bhyve
Message-ID:  <20180816231630.GA10866@spindle.one-eyed-alien.net>
In-Reply-To: <CAOfEmZjtObzMzp6pa2QY5105t82jC155bXOjb9DKn9=pTnwYEQ@mail.gmail.com>
References:  <CANCZdfqQea=vrJPJ1mafjuX8ZTyx6bFW=WpawdVfyq45v40hAw@mail.gmail.com> <201808161929.w7GJTWfS055411@pdx.rh.CN85.dnsmgr.net> <CAOfEmZjtObzMzp6pa2QY5105t82jC155bXOjb9DKn9=pTnwYEQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Aug 17, 2018 at 07:04:05AM +0800, Marcelo Araujo wrote:
> 2018-08-17 3:29 GMT+08:00 Rodney W. Grimes <freebsd@pdx.rh.cn85.dnsmgr.ne=
t>:
>=20
> > > On Thu, Aug 16, 2018 at 11:06 AM, John-Mark Gurney <jmg@funkthat.com>
> > wrote:
> > >
> > > > Marcelo Araujo wrote this message on Thu, Aug 16, 2018 at 06:31 +00=
00:
> > > > > Author: araujo
> > > > > Date: Thu Aug 16 06:31:54 2018
> > > > > New Revision: 337887
> > > > > URL: https://svnweb.freebsd.org/changeset/base/337887
> > > > >
> > > > > Log:
> > > > >   Add a comment explaining how the PSN works and why there is no
> > need for
> > > > >   a null terminator. Also mark CID 1394825 as intentional.
> > > > >
> > > > >   Reported by:        Coverity
> > > > >   CID:                1394825
> > > > >   MFC after:  1 week
> > > > >   Sponsored by:       iXsystems Inc.
> > > > >
> > > > > Modified:
> > > > >   head/usr.sbin/bhyve/pci_nvme.c
> > > > >
> > > > > Modified: head/usr.sbin/bhyve/pci_nvme.c
> > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > > > > --- head/usr.sbin/bhyve/pci_nvme.c    Thu Aug 16 06:20:25 2018
> > > > (r337886)
> > > > > +++ head/usr.sbin/bhyve/pci_nvme.c    Thu Aug 16 06:31:54 2018
> > > > (r337887)
> > > > > @@ -1714,6 +1714,11 @@ pci_nvme_parse_opts(struct pci_nvme_softc =
*sc,
> > > > char *o
> > > >
> > > > [...]
> > > >
> > > > >                       memset(sc->ctrldata.sn, 0, sizeof(sc->
> > ctrldata.sn
> > > > ));
> > > > >                       strncpy(sc->ctrldata.sn, config,
> > > > >                               sizeof(sc->ctrldata.sn));
> > > >
> > > > This memset is unneeded, as strncpy will write NUL bytes to fill out
> > > > the buffer:
> > > > If src is less than len characters long, the remainder of
> > > >      dst is filled with `\0' characters.
> > > >
> > >
> > > It also looks like the comment was wrong. The newest NVMe standards s=
ay
> > > these fields should be 7-bit and space-padded.
> >
> > lol, which is what the vendor that caused me grief with
> > ata serial numbers did decades ago.
> >
> > --
> > Rod Grimes
> > rgrimes@freebsd.org
> >
>=20
> I have discussed a bit with imp@, but I will drop the patch here to get
> other peoples opinion too.
> So, name space and firmware number also need to be padded with spaces.
>=20
> I couldn't think in any other better way to do that.
>=20
> Does this patch looks reasonable?
> https://people.freebsd.org/~araujo/pci_nvme.diff

You should check that len<=3Ddst_size and at least truncate rather than
overflowing.  If the strings from userspace you need to return or log an
error, if they come from the kernel, you can panic.

-- Brooks

--azLHFNyN32YCQGCU
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJbdgXOAAoJEKzQXbSebgfAND0H/RrNL+PKlxzh62SnGqwDphjE
IsS4YFIxDyYeDEhE0FeWZe9DS749jXxDbFiVT/8TL1FLb3v1RbJ2oAuRQwqRbFiG
NJfo0/s3wGL2e9ebsmkGJKmFXvOI0p8AG3MARgmDSe7vAkOWty6mYzfos/OgODht
mDE0BOOUc4Obz+nUU+4LAGVHR5TOcEP30HI9rcC1SXl96hZ0Im6pQ04FuYM75ydW
mETJn1rXThSFmDP/ie87uxEA5ZU7DQIIy4sa+Om3w1nkQuzl19cO3farOf/If141
I6ESIXz8C58fWEHkVD8SoXjTzDqVvrfy6Yhm/odCMJbyXFQIdM5BqGNPUUYWD3g=
=0qyg
-----END PGP SIGNATURE-----

--azLHFNyN32YCQGCU--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180816231630.GA10866>