svn commit: r298420 - head/sys/geom
Ngie Cooper
yaneurabeya at gmail.com
Thu Apr 21 17:09:51 UTC 2016
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)...
More information about the svn-src-all
mailing list