Date: Wed, 15 Apr 2020 11:24:28 -0700 From: John Baldwin <jhb@FreeBSD.org> To: Kyle Evans <kevans@freebsd.org> Cc: src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head <svn-src-head@freebsd.org> Subject: Re: svn commit: r359945 - in head: lib/geom/eli sys/geom/eli Message-ID: <dd0eb718-52c9-7bc6-213f-3a8b2cbb460f@FreeBSD.org> In-Reply-To: <CACNAnaGUqAmZhF5Bpq1AV_Nt9jKW714PQkxJ2%2BU4DGvFvr%2BpWA@mail.gmail.com> References: <202004150014.03F0EpQt039761@repo.freebsd.org> <CACNAnaGUqAmZhF5Bpq1AV_Nt9jKW714PQkxJ2%2BU4DGvFvr%2BpWA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 4/15/20 10:55 AM, Kyle Evans wrote: > On Tue, Apr 14, 2020 at 7:15 PM John Baldwin <jhb@freebsd.org> wrote: >> >> Author: jhb >> Date: Wed Apr 15 00:14:50 2020 >> New Revision: 359945 >> URL: https://svnweb.freebsd.org/changeset/base/359945 >> >> Log: >> Remove support for geli(4) algorithms deprecated in r348206. >> >> This removes support for reading and writing volumes using the >> following algorithms: >> >> - Triple DES >> - Blowfish >> - MD5 HMAC integrity >> >> In addition, this commit adds an explicit whitelist of supported >> algorithms to give a better error message when an invalid or >> unsupported algorithm is used by an existing volume. >> >> Reviewed by: cem >> Sponsored by: Chelsio Communications >> Differential Revision: https://reviews.freebsd.org/D24343 >> >> Modified: >> head/lib/geom/eli/geli.8 >> head/lib/geom/eli/geom_eli.c >> head/sys/geom/eli/g_eli.c >> head/sys/geom/eli/g_eli.h >> head/sys/geom/eli/g_eli_crypto.c >> head/sys/geom/eli/g_eli_ctl.c >> >> [... snip ...] >> @@ -522,6 +506,36 @@ eli_metadata_dump(const struct g_eli_metadata *md) >> printf(" MD5 hash: %s\n", str); >> } >> >> +#ifdef _KERNEL >> +static bool >> +eli_metadata_crypto_supported(const struct g_eli_metadata *md) >> +{ >> + >> + switch (md->md_ealgo) { >> + case CRYPTO_NULL_CBC: >> + case CRYPTO_AES_CBC: >> + case CRYPTO_CAMELLIA_CBC: >> + case CRYPTO_AES_XTS: >> + break; >> + default: >> + return (false); >> + } >> + if (md->md_flags & G_ELI_FLAG_AUTH) { >> + switch (md->md_aalgo) { >> + case CRYPTO_SHA1_HMAC: >> + case CRYPTO_RIPEMD160_HMAC: >> + case CRYPTO_SHA2_256_HMAC: >> + case CRYPTO_SHA2_384_HMAC: >> + case CRYPTO_SHA2_512_HMAC: >> + break; >> + default: >> + return (false); >> + } >> + } >> + return (true); >> +} >> +#endif >> + >> static __inline u_int >> g_eli_keylen(u_int algo, u_int keylen) >> { >> [... snip ...] > > eli_metadata_crypto_supported is defined here, but unused in most > compilation units that include g_eli.h, resulting in some amount of > noise: > > In file included from /usr/src/sys/geom/eli/g_eli_crypto.c:46: > /usr/src/sys/geom/eli/g_eli.h:511:1: warning: unused function > 'eli_metadata_crypto_supported' [-Wunused-function] > eli_metadata_crypto_supported(const struct g_eli_metadata *md) > > (repeat for g_eli_hmac.c, g_eli_integrity.c, g_eli_key.c, > g_eli_key_cache.c, g_eli_privacy.c, pkcs5v2.c) > > Given that it's probably not in danger of silently going away and not > getting removed, any objection to marking it __unused to squelch the warnings? Oh, rather, I should mark it __inline. There are several other functions in g_eli.h that are similarly not always used, but they are marked __inline which is how they avoid the warning. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?dd0eb718-52c9-7bc6-213f-3a8b2cbb460f>