From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1knzwr-0000Wn-76 for mharc-grub-devel@gnu.org; Sat, 12 Dec 2020 03:08:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:56800) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1knzwp-0000WW-GP for grub-devel@gnu.org; Sat, 12 Dec 2020 03:08:11 -0500 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:58237) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1knzwn-0001vq-8a for grub-devel@gnu.org; Sat, 12 Dec 2020 03:08:11 -0500 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id C0715779; Sat, 12 Dec 2020 03:08:04 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Sat, 12 Dec 2020 03:08:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pks.im; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=fm2; bh=0/gJrOh27AjVSS5GPDSNBkYdoIv /bHjapgQC2IkOjDM=; b=ld8krKf/s/sB0cAqotddHN8MbbC4hBr0ex7zwVYuIcT JMldlcDZ9E0dXt1bBdD57QoVSJKohRR3CXliqGAfaUCfLyh3oyzWfvSohaBjXm/c SCpOng0GlBTsSTs6pBDDIvrkPJR9sefPImCBIftguwPZMvXWx/g4wKhqGa4vIwTd 9yYxY3hLyvHZXa2Yo4f54+5OYlKTr9zDgXEXj7811mGy9VmC20P+3nM8hXdzDhvP ti4d+mSz3TuOeCfXzqB0+vUNgebw4Py+0bISr4DEnLupEgYe6daWmpXqKNQRQUHo vpLLMcJjNzmI/L8z73GH+aM0J06bzO/rYZ/eJPzBdAg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=0/gJrO h27AjVSS5GPDSNBkYdoIv/bHjapgQC2IkOjDM=; b=bvYAiACgCBI+E6I4UgsXPN D0thM3MTNK8Rrg3tcqZGsbIA6PWn23+9HMWnClLQAxIobABVFEHJJgslSMpP1M/B J/j4/CJvFQ4w1KgF81Fm2M60Z51BCLhaut7g1lQDN46T8IsarI3KLqAzDU6HndI7 Ce7fnrj2MwEPs2ANJ9/v1MHELmc/OGmHEPtLatbbmA1+vmY9gWZ99qUigij6zIPQ /rK+DkdBJbkrPLv3a4j/A8cB9aA8Gpt/vJaAiQBaU2l1HXVphiEi6vs9JLKeNrdV ReTQSZHnkwXnbdkQBKWVX3tssd6ktnGTeW2YM4rYQpm7mI0nFeOvpq5q3aBmb7Sg == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrudekfedguddujecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpeffhffvuffkfhggtggujgesghdtreertddtvdenucfhrhhomheprfgrthhr ihgtkhcuufhtvghinhhhrghrughtuceophhssehpkhhsrdhimheqnecuggftrfgrthhtvg hrnhepheeghfdtfeeuffehkefgffduleffjedthfdvjeektdfhhedvlefgtefgvdettdfh necukfhppeejjedrudeluddruddtrdduleegnecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomhepphhssehpkhhsrdhimh X-ME-Proxy: Received: from vm-mail (x4dbf0ac2.dyn.telefonica.de [77.191.10.194]) by mail.messagingengine.com (Postfix) with ESMTPA id 38AFA24005B; Sat, 12 Dec 2020 03:08:03 -0500 (EST) Received: from localhost (ncase [10.192.0.11]) by vm-mail (OpenSMTPD) with ESMTPSA id 6377464d (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sat, 12 Dec 2020 08:08:00 +0000 (UTC) Date: Sat, 12 Dec 2020 09:07:58 +0100 From: Patrick Steinhardt To: Glenn Washburn Cc: grub-devel@gnu.org, Daniel Kiper Subject: Re: [PATCH v8 06/18] luks2: Add idx member to struct grub_luks2_keyslot/segment/digest Message-ID: References: <56d4c397a1752b66376a3faf5e10776cb66894e8.1607466704.git.development@efficientek.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="+jaVe56IKxj9C3jf" Content-Disposition: inline In-Reply-To: <56d4c397a1752b66376a3faf5e10776cb66894e8.1607466704.git.development@efficientek.com> Received-SPF: pass client-ip=64.147.123.25; envelope-from=ps@pks.im; helo=wout2-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Dec 2020 08:08:11 -0000 --+jaVe56IKxj9C3jf Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Dec 08, 2020 at 04:45:37PM -0600, Glenn Washburn wrote: > This allows code using these structs to know the named key associated with > these json data structures. In the future we can use these to provide bet= ter > error messages to the user. >=20 > Get rid of idx local variable in luks2_get_keyslot() which was overloaded= to > be used for both keyslot and segment slot keys. >=20 > Signed-off-by: Glenn Washburn Reviewed-by: Patrick Steinhardt > --- > grub-core/disk/luks2.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) >=20 > diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c > index 9b19d35c1..67b1823d3 100644 > --- a/grub-core/disk/luks2.c > +++ b/grub-core/disk/luks2.c > @@ -65,6 +65,8 @@ typedef struct grub_luks2_header grub_luks2_header_t; > =20 > struct grub_luks2_keyslot > { > + /* The integer key to the associative array of keyslots */ > + grub_uint64_t idx; > grub_int64_t key_size; > grub_int64_t priority; > struct > @@ -103,6 +105,7 @@ typedef struct grub_luks2_keyslot grub_luks2_keyslot_= t; > =20 > struct grub_luks2_segment > { > + grub_uint64_t idx; > grub_uint64_t offset; > const char *size; > const char *encryption; > @@ -112,6 +115,7 @@ typedef struct grub_luks2_segment grub_luks2_segment_= t; > =20 > struct grub_luks2_digest > { > + grub_uint64_t idx; > /* Both keyslots and segments are interpreted as bitfields here */ > grub_uint64_t keyslots; > grub_uint64_t segments; > @@ -261,12 +265,11 @@ luks2_get_keyslot (grub_luks2_keyslot_t *k, grub_lu= ks2_digest_t *d, grub_luks2_s > { > grub_json_t keyslots, keyslot, digests, digest, segments, segment; > grub_size_t i, size; > - grub_uint64_t idx; > =20 > /* Get nth keyslot */ > if (grub_json_getvalue (&keyslots, root, "keyslots") || > grub_json_getchild (&keyslot, &keyslots, keyslot_idx) || > - grub_json_getuint64 (&idx, &keyslot, NULL) || > + grub_json_getuint64 (&k->idx, &keyslot, NULL) || > grub_json_getchild (&keyslot, &keyslot, 0) || > luks2_parse_keyslot (k, &keyslot)) > return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse keyslot %= "PRIuGRUB_SIZE, keyslot_idx); > @@ -278,11 +281,12 @@ luks2_get_keyslot (grub_luks2_keyslot_t *k, grub_lu= ks2_digest_t *d, grub_luks2_s > for (i =3D 0; i < size; i++) > { > if (grub_json_getchild (&digest, &digests, i) || > + grub_json_getuint64 (&d->idx, &digest, NULL) || > grub_json_getchild (&digest, &digest, 0) || > luks2_parse_digest (d, &digest)) > return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse digest %"PRI= uGRUB_SIZE, i); > =20 > - if ((d->keyslots & (1 << idx))) > + if ((d->keyslots & (1 << k->idx))) > break; > } > if (i =3D=3D size) > @@ -295,12 +299,12 @@ luks2_get_keyslot (grub_luks2_keyslot_t *k, grub_lu= ks2_digest_t *d, grub_luks2_s > for (i =3D 0; i < size; i++) > { > if (grub_json_getchild (&segment, &segments, i) || > - grub_json_getuint64 (&idx, &segment, NULL) || > + grub_json_getuint64 (&s->idx, &segment, NULL) || > grub_json_getchild (&segment, &segment, 0) || > luks2_parse_segment (s, &segment)) > return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse segment %"PR= IuGRUB_SIZE, i); > =20 > - if ((d->segments & (1 << idx))) > + if ((d->segments & (1 << s->idx))) > break; > } > if (i =3D=3D size) > --=20 > 2.27.0 >=20 --+jaVe56IKxj9C3jf Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEF9hrgiFbCdvenl/rVbJhu7ckPpQFAl/Uel0ACgkQVbJhu7ck PpSd6g//ZVzWqjxD2ikrAO0c9wDrsGMh7+oqb8ja7mRI6KzFC/uXMt7bmsuM2vcc W1E0naehrL3A8yExzEqXu6I37VAzXMGEZQsdK+tPBj3X0kFLb3Ixn1iR0CL4Cvif xa2sXcnPUJGvAupMWvWgO3o+EorUl4jJHjEOVpc7dzj5gwk2sgIzHkvUQEpGk0l7 fBfFRu+1a4dsFpDIalURHIf0Lix42/ERu41Gz5TzSo/DamOOSeGjX6LBVGBatzJJ N2PwC7w4fT+alsVO9R/1NZ7sHUpzkREk3Kg6+VdowTz/0RjzO6MpuF1dPyMz8P10 W6+YBAOixyqo8K0z13qNfLaUCZQWJDXhsmyaZuOYT0ZDYOSGRHwtxNWdd3+CDbXm HxLkcXBBga+/778xPjNPcVWOgs6KYGVxdlUCKVOAALppLBn7WbakiWFSvP1d+eSd IE4s+oKPxhJ0xfD8JvzlJmHjrIHIUFcIfKUmlc8UyYRA6FE28cidYhGRyPdfUTOw Mr0evrJnVBt8XXCJcpiOWM7H+R43vJBrVbtPvsWJ3yD0KCIggZHYSbQ6+LL1/QIX gG/YVgHarvaoaDPgwr4kU5Ttm/6kQg+CGLudCkCQ4/muzRXx2wisgywGA+HF7VEI FeWucxhyNAIZ88Ct5XLs6mkMyAP5nwLN/vkOJnw7DrwUIMxpp10= =vrhN -----END PGP SIGNATURE----- --+jaVe56IKxj9C3jf--