Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Sep 2025 09:41:35 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Zhenlei Huang <zlei@freebsd.org>
Cc:        Warner Losh <imp@freebsd.org>,  "src-committers@freebsd.org" <src-committers@freebsd.org>,  "dev-commits-src-all@freebsd.org" <dev-commits-src-all@freebsd.org>,  "dev-commits-src-main@freebsd.org" <dev-commits-src-main@freebsd.org>
Subject:   Re: git: dfafdbdfc3e9 - main - stand: Use calloc instead of malloc for initialization of filesystem devsw
Message-ID:  <CANCZdfr4oPQNEnLHFnv8HP5XE36dYtrvxbRqZvLuZP92Q1iw5g@mail.gmail.com>
In-Reply-To: <B0F452F3-34D5-4F20-9009-69DA2C25F9D3@FreeBSD.org>
References:  <202509012201.581M18tv010659@gitrepo.freebsd.org> <B0F452F3-34D5-4F20-9009-69DA2C25F9D3@FreeBSD.org>

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

[-- Attachment #1 --]
On Tue, Sep 2, 2025 at 12:38 AM Zhenlei Huang <zlei@freebsd.org> wrote:

>
>
> > On Sep 2, 2025, at 6:01 AM, Warner Losh <imp@freebsd.org> wrote:
> >
> > The branch main has been updated by imp:
> >
> > URL:
> https://cgit.FreeBSD.org/src/commit/?id=dfafdbdfc3e9db8b878283bcbef35f5d8d37dae8
> >
> > commit dfafdbdfc3e9db8b878283bcbef35f5d8d37dae8
> > Author:     null <null>
>
> Hi Warner,
>
> The Author is missing. Probably by mistake of Phabricator ?
>

Doh! Yes. I've reverted. I'll redo. The args are backwards. It's part of
another change I was going to look into next...

Warner



> Best regards,
> Zhenlei
>
> > AuthorDate: 2025-09-01 21:57:06 +0000
> > Commit:     Warner Losh <imp@FreeBSD.org>
> > CommitDate: 2025-09-01 21:57:14 +0000
> >
> >    stand: Use calloc instead of malloc for initialization of filesystem
> devsw
> >
> >    This change is required for https://reviews.freebsd.org/D49355, so
> that
> >    we can check if d_dev is uninitialized by checking if it's NULL.
> >
> >    Reviewed by:            imp
> >    Differential Revision:  https://reviews.freebsd.org/D49705
> > ---
> > stand/common/disk.c          | 2 +-
> > stand/kboot/kboot/hostdisk.c | 2 +-
> > stand/libofw/devicename.c    | 2 +-
> > stand/libsa/dev.c            | 2 +-
> > stand/libsa/zfs/zfs.c        | 2 +-
> > stand/uboot/devicename.c     | 2 +-
> > 6 files changed, 6 insertions(+), 6 deletions(-)
> >
> > diff --git a/stand/common/disk.c b/stand/common/disk.c
> > index c1650f0fa1ec..1baf91efaa49 100644
> > --- a/stand/common/disk.c
> > +++ b/stand/common/disk.c
> > @@ -468,7 +468,7 @@ disk_parsedev(struct devdesc **idev, const char
> *devspec, const char **path)
> >
> >       if (*cp != '\0' && *cp != ':')
> >               return (EINVAL);
> > -     dev = malloc(sizeof(*dev));
> > +     dev = calloc(sizeof(*dev), 1);
> >       if (dev == NULL)
> >               return (ENOMEM);
> >       dev->dd.d_unit = unit;
> > diff --git a/stand/kboot/kboot/hostdisk.c b/stand/kboot/kboot/hostdisk.c
> > index a9117d4c1c9d..fc98bf534519 100644
> > --- a/stand/kboot/kboot/hostdisk.c
> > +++ b/stand/kboot/kboot/hostdisk.c
> > @@ -465,7 +465,7 @@ hostdisk_parsedev(struct devdesc **idev, const char
> *devspec, const char **path)
> >               return (EINVAL);
> >       }
> >       free(fn);
> > -     dev = malloc(sizeof(*dev));
> > +     dev = calloc(sizeof(*dev), 1);
> >       if (dev == NULL)
> >               return (ENOMEM);
> >       dev->d_unit = 0;
> > diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c
> > index f6419632c6bc..46a9717fdda5 100644
> > --- a/stand/libofw/devicename.c
> > +++ b/stand/libofw/devicename.c
> > @@ -98,7 +98,7 @@ ofw_common_parsedev(struct devdesc **dev, const char
> *devspec, const char **path
> >
> >       if (ofw_path_to_handle(devspec, ofwtype, &rem_path) == -1)
> >               return (ENOENT);
> > -     idev = malloc(sizeof(struct ofw_devdesc));
> > +     idev = calloc(sizeof(struct ofw_devdesc), 1);
> >       if (idev == NULL) {
> >               printf("ofw_parsedev: malloc failed\n");
> >               return (ENOMEM);
> > diff --git a/stand/libsa/dev.c b/stand/libsa/dev.c
> > index 1edc843d508c..4f6932e96c48 100644
> > --- a/stand/libsa/dev.c
> > +++ b/stand/libsa/dev.c
> > @@ -72,7 +72,7 @@ default_parsedev(struct devdesc **dev, const char
> *devspec,
> >       int unit, err;
> >       char *cp;
> >
> > -     idev = malloc(sizeof(struct devdesc));
> > +     idev = calloc(sizeof(struct devdesc), 1);
> >       if (idev == NULL)
> >               return (ENOMEM);
> >
> > diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c
> > index 70a102f6425d..2f7c1caaa4b5 100644
> > --- a/stand/libsa/zfs/zfs.c
> > +++ b/stand/libsa/zfs/zfs.c
> > @@ -1643,7 +1643,7 @@ zfs_parsedev(struct devdesc **idev, const char
> *devspec, const char **path)
> >       spa = spa_find_by_name(poolname);
> >       if (!spa)
> >               return (ENXIO);
> > -     dev = malloc(sizeof(*dev));
> > +     dev = calloc(sizeof(*dev), 1);
> >       if (dev == NULL)
> >               return (ENOMEM);
> >       dev->pool_guid = spa->spa_guid;
> > diff --git a/stand/uboot/devicename.c b/stand/uboot/devicename.c
> > index 4ee9c7fd72c4..23670d7593a2 100644
> > --- a/stand/uboot/devicename.c
> > +++ b/stand/uboot/devicename.c
> > @@ -102,7 +102,7 @@ uboot_parsedev(struct uboot_devdesc **dev, const
> char *devspec,
> >       }
> >       if (dv == NULL)
> >               return(ENOENT);
> > -     idev = malloc(sizeof(struct uboot_devdesc));
> > +     idev = calloc(sizeof(struct uboot_devdesc), 1);
> >       err = 0;
> >       np = (devspec + strlen(dv->dv_name));
> >
>
>
>
>

[-- Attachment #2 --]
<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Sep 2, 2025 at 12:38 AM Zhenlei Huang &lt;<a href="mailto:zlei@freebsd.org">zlei@freebsd.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
&gt; On Sep 2, 2025, at 6:01 AM, Warner Losh &lt;<a href="mailto:imp@freebsd.org" target="_blank">imp@freebsd.org</a>&gt; wrote:<br>
&gt; <br>
&gt; The branch main has been updated by imp:<br>
&gt; <br>
&gt; URL: <a href="https://cgit.FreeBSD.org/src/commit/?id=dfafdbdfc3e9db8b878283bcbef35f5d8d37dae8" rel="noreferrer" target="_blank">https://cgit.FreeBSD.org/src/commit/?id=dfafdbdfc3e9db8b878283bcbef35f5d8d37dae8</a><br>;
&gt; <br>
&gt; commit dfafdbdfc3e9db8b878283bcbef35f5d8d37dae8<br>
&gt; Author:     null &lt;null&gt; <br>
<br>
Hi Warner,<br>
<br>
The Author is missing. Probably by mistake of Phabricator ?<br></blockquote><div><br></div><div>Doh! Yes. I&#39;ve reverted. I&#39;ll redo. The args are backwards. It&#39;s part of another change I was going to look into next...</div><div><br></div><div>Warner</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Best regards,<br>
Zhenlei<br>
<br>
&gt; AuthorDate: 2025-09-01 21:57:06 +0000<br>
&gt; Commit:     Warner Losh &lt;imp@FreeBSD.org&gt;<br>
&gt; CommitDate: 2025-09-01 21:57:14 +0000<br>
&gt; <br>
&gt;    stand: Use calloc instead of malloc for initialization of filesystem devsw<br>
&gt; <br>
&gt;    This change is required for <a href="https://reviews.freebsd.org/D49355" rel="noreferrer" target="_blank">https://reviews.freebsd.org/D49355</a>, so that<br>
&gt;    we can check if d_dev is uninitialized by checking if it&#39;s NULL.<br>
&gt; <br>
&gt;    Reviewed by:            imp<br>
&gt;    Differential Revision:  <a href="https://reviews.freebsd.org/D49705" rel="noreferrer" target="_blank">https://reviews.freebsd.org/D49705</a><br>;
&gt; ---<br>
&gt; stand/common/disk.c          | 2 +-<br>
&gt; stand/kboot/kboot/hostdisk.c | 2 +-<br>
&gt; stand/libofw/devicename.c    | 2 +-<br>
&gt; stand/libsa/dev.c            | 2 +-<br>
&gt; stand/libsa/zfs/zfs.c        | 2 +-<br>
&gt; stand/uboot/devicename.c     | 2 +-<br>
&gt; 6 files changed, 6 insertions(+), 6 deletions(-)<br>
&gt; <br>
&gt; diff --git a/stand/common/disk.c b/stand/common/disk.c<br>
&gt; index c1650f0fa1ec..1baf91efaa49 100644<br>
&gt; --- a/stand/common/disk.c<br>
&gt; +++ b/stand/common/disk.c<br>
&gt; @@ -468,7 +468,7 @@ disk_parsedev(struct devdesc **idev, const char *devspec, const char **path)<br>
&gt; <br>
&gt;       if (*cp != &#39;\0&#39; &amp;&amp; *cp != &#39;:&#39;)<br>
&gt;               return (EINVAL);<br>
&gt; -     dev = malloc(sizeof(*dev));<br>
&gt; +     dev = calloc(sizeof(*dev), 1);<br>
&gt;       if (dev == NULL)<br>
&gt;               return (ENOMEM);<br>
&gt;       dev-&gt;dd.d_unit = unit;<br>
&gt; diff --git a/stand/kboot/kboot/hostdisk.c b/stand/kboot/kboot/hostdisk.c<br>
&gt; index a9117d4c1c9d..fc98bf534519 100644<br>
&gt; --- a/stand/kboot/kboot/hostdisk.c<br>
&gt; +++ b/stand/kboot/kboot/hostdisk.c<br>
&gt; @@ -465,7 +465,7 @@ hostdisk_parsedev(struct devdesc **idev, const char *devspec, const char **path)<br>
&gt;               return (EINVAL);<br>
&gt;       }<br>
&gt;       free(fn);<br>
&gt; -     dev = malloc(sizeof(*dev));<br>
&gt; +     dev = calloc(sizeof(*dev), 1);<br>
&gt;       if (dev == NULL)<br>
&gt;               return (ENOMEM);<br>
&gt;       dev-&gt;d_unit = 0;<br>
&gt; diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c<br>
&gt; index f6419632c6bc..46a9717fdda5 100644<br>
&gt; --- a/stand/libofw/devicename.c<br>
&gt; +++ b/stand/libofw/devicename.c<br>
&gt; @@ -98,7 +98,7 @@ ofw_common_parsedev(struct devdesc **dev, const char *devspec, const char **path<br>
&gt; <br>
&gt;       if (ofw_path_to_handle(devspec, ofwtype, &amp;rem_path) == -1)<br>
&gt;               return (ENOENT);<br>
&gt; -     idev = malloc(sizeof(struct ofw_devdesc));<br>
&gt; +     idev = calloc(sizeof(struct ofw_devdesc), 1);<br>
&gt;       if (idev == NULL) {<br>
&gt;               printf(&quot;ofw_parsedev: malloc failed\n&quot;);<br>
&gt;               return (ENOMEM);<br>
&gt; diff --git a/stand/libsa/dev.c b/stand/libsa/dev.c<br>
&gt; index 1edc843d508c..4f6932e96c48 100644<br>
&gt; --- a/stand/libsa/dev.c<br>
&gt; +++ b/stand/libsa/dev.c<br>
&gt; @@ -72,7 +72,7 @@ default_parsedev(struct devdesc **dev, const char *devspec,<br>
&gt;       int unit, err;<br>
&gt;       char *cp;<br>
&gt; <br>
&gt; -     idev = malloc(sizeof(struct devdesc));<br>
&gt; +     idev = calloc(sizeof(struct devdesc), 1);<br>
&gt;       if (idev == NULL)<br>
&gt;               return (ENOMEM);<br>
&gt; <br>
&gt; diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c<br>
&gt; index 70a102f6425d..2f7c1caaa4b5 100644<br>
&gt; --- a/stand/libsa/zfs/zfs.c<br>
&gt; +++ b/stand/libsa/zfs/zfs.c<br>
&gt; @@ -1643,7 +1643,7 @@ zfs_parsedev(struct devdesc **idev, const char *devspec, const char **path)<br>
&gt;       spa = spa_find_by_name(poolname);<br>
&gt;       if (!spa)<br>
&gt;               return (ENXIO);<br>
&gt; -     dev = malloc(sizeof(*dev));<br>
&gt; +     dev = calloc(sizeof(*dev), 1);<br>
&gt;       if (dev == NULL)<br>
&gt;               return (ENOMEM);<br>
&gt;       dev-&gt;pool_guid = spa-&gt;spa_guid;<br>
&gt; diff --git a/stand/uboot/devicename.c b/stand/uboot/devicename.c<br>
&gt; index 4ee9c7fd72c4..23670d7593a2 100644<br>
&gt; --- a/stand/uboot/devicename.c<br>
&gt; +++ b/stand/uboot/devicename.c<br>
&gt; @@ -102,7 +102,7 @@ uboot_parsedev(struct uboot_devdesc **dev, const char *devspec,<br>
&gt;       }<br>
&gt;       if (dv == NULL)<br>
&gt;               return(ENOENT);<br>
&gt; -     idev = malloc(sizeof(struct uboot_devdesc));<br>
&gt; +     idev = calloc(sizeof(struct uboot_devdesc), 1);<br>
&gt;       err = 0;<br>
&gt;       np = (devspec + strlen(dv-&gt;dv_name));<br>
&gt; <br>
<br>
<br>
<br>
</blockquote></div></div>

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