linux-integrity.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vasily Averin <vvs@virtuozzo.com>
To: linux-integrity@vger.kernel.org
Cc: Peter Huewe <peterhuewe@gmx.de>,
	Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>,
	Jason Gunthorpe <jgg@ziepe.ca>
Subject: [PATCH v2 2/2] tpm: tpm2_bios_measurements_next should increase position index
Date: Thu, 30 Jan 2020 13:23:21 +0300	[thread overview]
Message-ID: <16bde2d6-4208-e478-0ac3-163b5c3a1eaa@virtuozzo.com> (raw)
In-Reply-To: <e72b6fda6c4ff0d54af37d064d66b883d7ea48e7.camel@linux.intel.com>

If seq_file .next function does not change position index,
read after non-zero lseek can generate unexpected output.
For /sys/kernel/security/tpm0/binary_bios_measurements:
1) read after lseek beyond end of file generates whole last line.
2) read after lseek to middle of last line generates
expected end of last line and unexpected whole last line once again.

Cc: stable@vger.kernel.org
Fixes: 1f4aace60b0e ("fs/seq_file.c: simplify seq_file iteration code ...")

https://bugzilla.kernel.org/show_bug.cgi?id=206283
Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
---
 drivers/char/tpm/eventlog/tpm2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/char/tpm/eventlog/tpm2.c b/drivers/char/tpm/eventlog/tpm2.c
index b9aeda1..e741b11 100644
--- a/drivers/char/tpm/eventlog/tpm2.c
+++ b/drivers/char/tpm/eventlog/tpm2.c
@@ -94,6 +94,7 @@ static void *tpm2_bios_measurements_next(struct seq_file *m, void *v,
 	size_t event_size;
 	void *marker;
 
+	(*pos)++;
 	event_header = log->bios_event_log;
 
 	if (v == SEQ_START_TOKEN) {
@@ -118,7 +119,6 @@ static void *tpm2_bios_measurements_next(struct seq_file *m, void *v,
 	if (((v + event_size) >= limit) || (event_size == 0))
 		return NULL;
 
-	(*pos)++;
 	return v;
 }
 
-- 
1.8.3.1


  parent reply	other threads:[~2020-01-30 10:23 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-23  7:48 [PATCH 1/2] tpm1_bios_measurements_next should increase position index Vasily Averin
2020-01-29 13:23 ` Jarkko Sakkinen
2020-01-29 13:25   ` Jarkko Sakkinen
2020-01-30 10:23     ` [PATCH v2 0/2] tpm: seq_file .next functions " Vasily Averin
2020-01-30 10:23     ` [PATCH v2 1/2] tpm: tpm1_bios_measurements_next " Vasily Averin
2020-01-30 10:23     ` Vasily Averin [this message]
2020-02-01 17:03       ` [PATCH v2 2/2] tpm: tpm2_bios_measurements_next " Jarkko Sakkinen
2020-02-03  5:14         ` Vasily Averin
2020-02-05 22:03           ` Jarkko Sakkinen
2020-02-25  6:26             ` [PATCH v3 1/2] tpm: tpm1_bios_measurements_next " Vasily Averin
2020-02-25 10:27               ` Jarkko Sakkinen
2020-02-25 10:29                 ` Jarkko Sakkinen
2020-02-25  6:26             ` [PATCH v3 2/2] tpm: tpm2_bios_measurements_next " Vasily Averin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=16bde2d6-4208-e478-0ac3-163b5c3a1eaa@virtuozzo.com \
    --to=vvs@virtuozzo.com \
    --cc=jarkko.sakkinen@linux.intel.com \
    --cc=jgg@ziepe.ca \
    --cc=linux-integrity@vger.kernel.org \
    --cc=peterhuewe@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).