From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1kOqRn-0007a5-Tj for mharc-grub-devel@gnu.org; Sat, 03 Oct 2020 18:56:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54716) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kOqRk-0007YU-2T for grub-devel@gnu.org; Sat, 03 Oct 2020 18:56:08 -0400 Received: from mail-oi1-x242.google.com ([2607:f8b0:4864:20::242]:32902) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kOqRi-0000FS-G5 for grub-devel@gnu.org; Sat, 03 Oct 2020 18:56:07 -0400 Received: by mail-oi1-x242.google.com with SMTP id m7so5064172oie.0 for ; Sat, 03 Oct 2020 15:56:06 -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=MurjfgJq8Xj5T7uAyFe6s+Zd7OT3EhlvJq6MrL2KYyA=; b=Lo53sk0vH2xE+vh1hzA1oIUByGF7wWVDiGajeXFS1h+r0AHvuBRav0CJrB5sLoCXCu 301Kx8jEbPSGzJN9H/XXv3C4m59/49NDtIewsatGqz0KNZ0Ni99UQlcC/KcG06DPJsIi DbmyHbNiiKF3Twa+dke26qNJpXVrPRlSjah8mf6wUIWOGHHwp4Bh775SI1Tkk8+JdNmM 2rfC34LlcfiNWXU1A7iDd6v4Yx5DkiwejPU+fM7SAX5dHpU1SrvYQF/Y7EHYGxIm9quW NXSXFzlLhdBDPBRWU4zcqrwo5myYEd+KFlhJlcMGxKBKrJryjQLGMoKozqs5AAHwLRLC Jw5w== 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=MurjfgJq8Xj5T7uAyFe6s+Zd7OT3EhlvJq6MrL2KYyA=; b=RoemttAeLrCNw93sAWSwFoArn1i9FkP4T7QXsQ/OCSQiq2+hf6Ui7AVfNSF21sJr1W bJaAmSy2NG3nDxPTCovZQ+FWBNoS9HjNqsUhHYUTny0w48+HNziYk94ubreYhBPXZRlt oVN4sbKph+hHPnjEsG+NQ+OC4kGxJe+FAlviDbu2kz+hpsjAljjhw9+RjuUhZ8XXhxcP uQfnCRuWZc9nYKPfsKBF188TfBhvmw5N36hqfDCzCBhKWLp6zjqIsrWSnhP1yYdJKlJ+ mAhUSihRoN1pig5mvUGoW662/2u5q44UJzgeCgL4iWL15a747TcsXMvqkOxPvznk+4yD snpQ== X-Gm-Message-State: AOAM5335qLY4HthALge5e5vr8R+7KhK5z6+TVGIzAciSizOk1zk4GaT4 t/AppMsEsKgfytRIMNTC2bL9hoDB4/O+aQ== X-Google-Smtp-Source: ABdhPJx6VoDYdGO/KWQvF8zWQsCgLaVOt7yo+qFfrIMIQuHzX8ZEawscdeqtPbqngAnuxjrS7TA9Hw== X-Received: by 2002:aca:eac3:: with SMTP id i186mr882978oih.63.1601765765240; Sat, 03 Oct 2020 15:56:05 -0700 (PDT) Received: from crass-HP-ZBook-15-G2.lan ([136.49.44.103]) by smtp.gmail.com with ESMTPSA id d17sm1524580oth.73.2020.10.03.15.56.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Oct 2020 15:56:04 -0700 (PDT) From: Glenn Washburn To: grub-devel@gnu.org Cc: Daniel Kiper , Patrick Steinhardt , Glenn Washburn Subject: [PATCH v2 05/10] cryptodisk: Fix cipher IV mode 'plain64' always being set as 'plain'. Date: Sat, 3 Oct 2020 17:55:29 -0500 Message-Id: <6da3d85982c067c8996db2a8133ed4e14ad38f7a.1601765266.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::242; envelope-from=development@efficientek.com; helo=mail-oi1-x242.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 22:56:08 -0000 When setting cipher IV mode, detection is done by prefix matching the cipher IV mode part of the cipher mode string. Since "plain" matches "plain64", we must check for "plain64" first. Otherwise, "plain64" will be detected as "plain". Signed-off-by: Glenn Washburn Reviewed-by: Patrick Steinhardt --- grub-core/disk/cryptodisk.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c index 13af84dd1..a3d672f68 100644 --- a/grub-core/disk/cryptodisk.c +++ b/grub-core/disk/cryptodisk.c @@ -501,10 +501,10 @@ grub_cryptodisk_setcipher (grub_cryptodisk_t crypt, const char *ciphername, cons if (cipheriv == NULL) ; - else if (grub_memcmp (cipheriv, "plain", sizeof ("plain") - 1) == 0) - mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN; else if (grub_memcmp (cipheriv, "plain64", sizeof ("plain64") - 1) == 0) mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN64; + else if (grub_memcmp (cipheriv, "plain", sizeof ("plain") - 1) == 0) + mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN; else if (grub_memcmp (cipheriv, "benbi", sizeof ("benbi") - 1) == 0) { if (cipher->cipher->blocksize & (cipher->cipher->blocksize - 1) -- 2.27.0