svn commit: r298420 - head/sys/geom
Alan Somers
asomers at freebsd.org
Thu Apr 21 17:26:28 UTC 2016
On Thu, Apr 21, 2016 at 11:09 AM, Ngie Cooper <yaneurabeya at gmail.com> wrote:
> On Thu, Apr 21, 2016 at 10:08 AM, Ngie Cooper <yaneurabeya at gmail.com>
> wrote:
> > On Thu, Apr 21, 2016 at 9:43 AM, Alan Somers <asomers at freebsd.org>
> wrote:
> >> Author: asomers
> >> Date: Thu Apr 21 16:43:15 2016
> >> New Revision: 298420
> >> URL: https://svnweb.freebsd.org/changeset/base/298420
> >>
> >> Log:
> >> Notify userspace listeners when geom disk attributes have changed
> >>
> >> sys/geom/geom_disk.c:
> >> disk_attr_changed(): Generate a devctl event of type
> GEOM:<attr> for
> >> every call.
> >>
> >> MFC after: 4 weeks
> >> Sponsored by: Spectra Logic Corp
> >> Differential Revision: https://reviews.freebsd.org/D5952
> >>
> >> Modified:
> >> head/sys/geom/geom_disk.c
> >>
> >> Modified: head/sys/geom/geom_disk.c
> >>
> ==============================================================================
> >> --- head/sys/geom/geom_disk.c Thu Apr 21 16:33:42 2016
> (r298419)
> >> +++ head/sys/geom/geom_disk.c Thu Apr 21 16:43:15 2016
> (r298420)
> >> @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$");
> >> #include <sys/kernel.h>
> >> #include <sys/sysctl.h>
> >> #include <sys/bio.h>
> >> +#include <sys/bus.h>
> >> #include <sys/ctype.h>
> >> #include <sys/fcntl.h>
> >> #include <sys/malloc.h>
> >> @@ -839,11 +840,14 @@ disk_attr_changed(struct disk *dp, const
> >> {
> >> struct g_geom *gp;
> >> struct g_provider *pp;
> >> + char devnamebuf[128];
> >
> > Why 128? Also, why not sbuf?
> >
> >> gp = dp->d_geom;
> >> if (gp != NULL)
> >> LIST_FOREACH(pp, &gp->provider, provider)
> >> (void)g_attr_changed(pp, attr, flag);
> >> + snprintf(devnamebuf, 128, "devname=%s%d", dp->d_name,
> dp->d_unit);
> >
> > Why not sizeof(devnamebuf) ?
>
> Also: this doesn't NUL terminate devnamebuf; it really should
> (otherwise, boom... crash in geom)...
>
snprintf(3) says "The output is always null-terminated." and it looks like
the kernel version does the same thing at subr_prf.c:560. Am I missing
something?
More information about the svn-src-head
mailing list