Date: Mon, 20 Apr 2020 20:15:13 -0500 From: Eric van Gyzen <eric@vangyzen.net> To: Shawn Webb <shawn.webb@hardenedbsd.org>, Kristof Provost <kp@FreeBSD.org> Cc: Ronald Klop <ronald-lists@klop.ws>, svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r360068 - in head/sys: kern net sys Message-ID: <523895fb-7f30-c4ce-78a7-d16b2ff4954c@vangyzen.net> In-Reply-To: <20200419142327.nhotyboqubk3vl2l@mutt-hbsd> References: <202004180750.03I7oUK6032898@repo.freebsd.org> <op.0jbpatnnkndu52@sjakie> <67B55A62-848B-4876-8367-DE0D32A8B7D4@FreeBSD.org> <20200419142327.nhotyboqubk3vl2l@mutt-hbsd>
next in thread | previous in thread | raw e-mail | index | archive | help
>>>> + sz = asprintf(&buf, M_TEMP, "%s-%s-%s", uuid, if_name(ifp), >>>> + jailname); >>>> + if (sz < 0) { >>>> + /* Fall back to a random mac address. */ >>> >>> >>> I was wondering if it would be valuable to give this fall back something >>> like: >>> >>> printf("%s: unable to create fixed mac address; using random >>> mac address", if_name(ifp)); >>> >>> This will only be printed in rare circumstances. But in that case will >>> provide valuable information. >>> >> That would potentially be valuable, yes. On the other hand, we traditionally >> don???t sprinkle a lot of printf()s around in the kernel. This is extremely >> unlikely to happen, and if it does odds are attaching the interface will >> fail at an earlier or later point, you may struggle to pass packets and run >> into any number of other issues. >> It???s also possible to diagnose absent the printf(), because the MAC >> address will be locally administered rather than within the FreeBSD OUI. >> >> So, in short: not a bad idea. You can argue it both ways, and I find myself >> (weakly) on the opposite side. > > Would displaying the message only when verbose boot mode is enabled be > a suitable compromise? We could completely avoid the problems of dynamic allocation by calling SHA1Update three times, feeding each piece of data separately. For bonus points, use a single char[] to save stack space, too. Maybe use a union, for legibility, and to ensure the proper size without ugly assertions. Eric
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?523895fb-7f30-c4ce-78a7-d16b2ff4954c>