Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Apr 2020 13:32:33 -0500
From:      Kyle Evans <kevans@freebsd.org>
To:        John Baldwin <jhb@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:  <CACNAnaEY_FqxaJZ31vVJm9FSaEBZ_To5Qz-=pSjgQLKAOZYoFg@mail.gmail.com>
In-Reply-To: <dd0eb718-52c9-7bc6-213f-3a8b2cbb460f@FreeBSD.org>
References:  <202004150014.03F0EpQt039761@repo.freebsd.org> <CACNAnaGUqAmZhF5Bpq1AV_Nt9jKW714PQkxJ2%2BU4DGvFvr%2BpWA@mail.gmail.com> <dd0eb718-52c9-7bc6-213f-3a8b2cbb460f@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Apr 15, 2020 at 1:24 PM John Baldwin <jhb@freebsd.org> wrote:
>
> 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.
>

Works for me. =-) Thanks!



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