Messages in this thread | | | Subject | Re: [tpmdd-devel] [PATCH 1/3] vTPM: fixed the limit checking | From | "Joy M. Latten" <> | Date | Tue, 12 May 2015 16:19:12 -0500 |
| |
Hi Stefan,
On Mon, 2015-05-11 at 09:02 -0400, Stefan Berger wrote: > On 05/05/2015 08:51 PM, Hon Ching(Vicky) Lo wrote: > > Do not skip the last entry of the event log. > > > > Signed-off-by: Hon Ching(Vicky) Lo <honclo@linux.vnet.ibm.com> > > Signed-off-by: Joy Latten <jmlatten@linux.vnet.ibm.com> > > > > Changelog: > > - remove redundant code > > --- > > drivers/char/tpm/tpm_eventlog.c | 5 +---- > > 1 files changed, 1 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/char/tpm/tpm_eventlog.c b/drivers/char/tpm/tpm_eventlog.c > > index 3a56a13..e77d8c1 100644 > > --- a/drivers/char/tpm/tpm_eventlog.c > > +++ b/drivers/char/tpm/tpm_eventlog.c > > @@ -116,11 +116,8 @@ static void *tpm_bios_measurements_next(struct seq_file *m, void *v, > > > > event = v; > > > > - if (event->event_type == 0 && event->event_size == 0) > > - return NULL; > > - > > if ((event->event_type == 0 && event->event_size == 0) || > > - ((v + sizeof(struct tcpa_event) + event->event_size) >= limit)) > > + ((v + sizeof(struct tcpa_event) + event->event_size) > limit)) > > return NULL; > > > > (*pos)++; > > The limit stems from log->bios_event_log_end and is calculated as follows: > > log->bios_event_log_end = log->bios_event_log + len; > > The '>=' above is correct since the limit address itself is not part of > the log anymore. > > The log is the following sequence of addresses: > > [log->bios_event_log ... log->bios_event_log + len - 1 ] > > or > > [log->bios_event_log ... log->bios_event_log + len [ > > with ']' meaning inclusive and '[' meaning exclusive. > Thanks for pointing this out... you are correct. We are just seeing where the spec describes this.
On powerpc(p8/powervm)) using vtpm, the last entry doesn't get shown when ">=", so I suspect phype may be giving us an "inclusive" len. Vicky and I will investigate this.
regards, Joy
| |