Re: [tpmdd-devel] [PATCH 1/3] vTPM: fixed the limit checking

From: Joy M. Latten
Date: Tue May 12 2015 - 17:19:25 EST


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@xxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Joy Latten <jmlatten@xxxxxxxxxxxxxxxxxx>
> >
> > 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



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/