From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1kOpN2-0003b4-Gf for mharc-grub-devel@gnu.org; Sat, 03 Oct 2020 17:47:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48544) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kOpMz-0003X6-4R for grub-devel@gnu.org; Sat, 03 Oct 2020 17:47:10 -0400 Received: from mail-oo1-xc42.google.com ([2607:f8b0:4864:20::c42]:38950) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kOpMu-0002KZ-L3 for grub-devel@gnu.org; Sat, 03 Oct 2020 17:47:08 -0400 Received: by mail-oo1-xc42.google.com with SMTP id c4so1304027oou.6 for ; Sat, 03 Oct 2020 14:47:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficientek-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jYG13T6cj7rcHcGiIyues1iqtm4Bgs9ZMGZUTsxjngE=; b=0budA3CFz3Q/J7DogzSn9TUbc+TxKkAmYukCFtk6J4K7fv5+2euBJKkAtVCDYFMuAK KiV1PomtRvz6ynW1fo94mqEOlEomqPdS7yqpuc9+8twglHCd4aEjMrg8LxiPZIIvynJX l8b4QsRkOu9T/idGcBqZP71V/n0FYTrNxn+iMBN4m3xdDOidh2N8uFCmZYT65seCHkwa ajoyOH4VnvUmFnlP/AY6MmXEp06ewk42lbXDuglgKBSLQnnRD3peJnCHXy723n5964vF 4J/CvL/v91fOIIiHHeuUN5W8fFtKZn+Rv062dF2GKLe8qh+FFM3uP6BxMAoNWCT20TRd TXag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jYG13T6cj7rcHcGiIyues1iqtm4Bgs9ZMGZUTsxjngE=; b=CuSgoSbysb/4utfPvwCH0gVD3cMTzjT1e00Lj1haPXxH3DldvZ7I+KK7SU2phyprdS hOD02uNjXxvtzWNZhiVX5v7/CJ2jBPgY7PgBj80PSZIHa8uJ4LZ7a8mA9DEprhBYBnj2 4viwXFmKROY6sSx7c7CBXEwUx4Ss6Mo9mUQOn0lGCSnRykIyjfSqf702G2eTghxuqN0+ 3nO06rb7fbn2kA/YkRShwMAkmtd3tdHvG5EQPD2jA81GfOwlqNxToyE1lswTxHXKK6Aw cXKNIcrzi5NgCADc40d2tbLUN2+wZHKOwUtEpnyPvxdRL1f0JdVSkAZwc5o04JdAOshb /ctQ== X-Gm-Message-State: AOAM530QHkCqzBR24nYYM3Ne5F/9rFXgCXJs+TyzrC45JJH03sQ2tsrY Kq6ZuzA6RLLcyMRQKNjMgUKJln40FLRJWQ== X-Google-Smtp-Source: ABdhPJzqRX8QNWpaV/tRjBhbyobDV6KPxaddhMdbj3gt2rKmdRYieBBMKOQeM4uEOjpr69y8yrnAIw== X-Received: by 2002:a4a:d109:: with SMTP id k9mr6860788oor.32.1601761623435; Sat, 03 Oct 2020 14:47:03 -0700 (PDT) Received: from crass-HP-ZBook-15-G2.lan ([136.49.44.103]) by smtp.gmail.com with ESMTPSA id f26sm1495415otq.50.2020.10.03.14.47.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Oct 2020 14:47:02 -0700 (PDT) From: Glenn Washburn To: grub-devel@gnu.org Cc: Daniel Kiper , Patrick Steinhardt , Glenn Washburn Subject: [PATCH 07/10] cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt. Date: Sat, 3 Oct 2020 16:46:00 -0500 Message-Id: <4251c828a304e8666b0f5ac0bf3ee307d02fb6d9.1601760922.git.development@efficientek.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::c42; envelope-from=development@efficientek.com; helo=mail-oo1-xc42.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=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, 03 Oct 2020 21:47:11 -0000 This should improve readability of code by providing clues as to what the value represents. Signed-off-by: Glenn Washburn --- grub-core/disk/cryptodisk.c | 12 +++++++----- include/grub/types.h | 3 +++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c index 623f0f396..1a91c2d55 100644 --- a/grub-core/disk/cryptodisk.c +++ b/grub-core/disk/cryptodisk.c @@ -297,19 +297,21 @@ grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev, } break; case GRUB_CRYPTODISK_MODE_IV_BYTECOUNT64: - iv[1] = grub_cpu_to_le32 (sector >> (32 - log_sector_size)); + /* The IV is the 64 bit byte offset of the sector. */ + iv[1] = grub_cpu_to_le32 (sector >> (GRUB_TYPE_BIT(iv[0]) + - log_sector_size)); iv[0] = grub_cpu_to_le32 ((sector << log_sector_size) - & 0xFFFFFFFF); + & GRUB_TYPE_MAX(iv[0])); break; case GRUB_CRYPTODISK_MODE_IV_BENBI: { grub_uint64_t num = (sector << dev->benbi_log) + 1; - iv[sz - 2] = grub_cpu_to_be32 (num >> 32); - iv[sz - 1] = grub_cpu_to_be32 (num & 0xFFFFFFFF); + iv[sz - 2] = grub_cpu_to_be32 (num >> GRUB_TYPE_BIT(iv[0])); + iv[sz - 1] = grub_cpu_to_be32 (num & GRUB_TYPE_MAX(iv[0])); } break; case GRUB_CRYPTODISK_MODE_IV_ESSIV: - iv[0] = grub_cpu_to_le32 (sector & 0xFFFFFFFF); + iv[0] = grub_cpu_to_le32 (sector & GRUB_TYPE_MAX(iv[0])); err = grub_crypto_ecb_encrypt (dev->essiv_cipher, iv, iv, dev->cipher->cipher->blocksize); if (err) diff --git a/include/grub/types.h b/include/grub/types.h index 035a4b528..8b4267ebd 100644 --- a/include/grub/types.h +++ b/include/grub/types.h @@ -319,4 +319,7 @@ static inline void grub_set_unaligned64 (void *ptr, grub_uint64_t val) #define GRUB_CHAR_BIT 8 +#define GRUB_TYPE_BIT(type) (sizeof(type) * GRUB_CHAR_BIT) +#define GRUB_TYPE_MAX(type) ((2 * ((1ULL << (GRUB_TYPE_BIT(type) - 1)) - 1)) + 1) + #endif /* ! GRUB_TYPES_HEADER */ -- 2.27.0