Re: [PATCH] tpm: Fix the type of the return value in calc_tpm2_event_size()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 17, 2019 at 01:00:41PM -0400, Sasha Levin wrote:
> On Wed, Apr 17, 2019 at 06:24:20PM +0300, Jarkko Sakkinen wrote:
> > From: Yue Haibing <yuehaibing@xxxxxxxxxx>
> > 
> > commit 32312418625764cdf740890ac9c78ca26a6a9d24 upstream
> > 
> > calc_tpm2_event_size() has an invalid signature because
> > it returns a 'size_t' where as its signature says that
> > it returns 'int'.
> > 
> > Cc: <stable@xxxxxxxxxxxxxxx>
> > Fixes: 4d23cc323cdb ("tpm: add securityfs support for TPM 2.0 firmware event log")
> > Suggested-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
> > Signed-off-by: Yue Haibing <yuehaibing@xxxxxxxxxx>
> > Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
> > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
> > ---
> > backport v5.0.8
> > drivers/char/tpm/eventlog/tpm2.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/char/tpm/eventlog/tpm2.c b/drivers/char/tpm/eventlog/tpm2.c
> > index 1b8fa9de2cac..130c3f227559 100644
> > --- a/drivers/char/tpm/eventlog/tpm2.c
> > +++ b/drivers/char/tpm/eventlog/tpm2.c
> > @@ -37,8 +37,8 @@
> >  *
> >  * Returns size of the event. If it is an invalid event, returns 0.
> >  */
> > -static int calc_tpm2_event_size(struct tcg_pcr_event2 *event,
> > -				struct tcg_pcr_event *event_header)
> > +static size_t calc_tpm2_event_size(struct tcg_pcr_event2_head *event,
> > +				   struct tcg_pcr_event *event_header)
> > {
> > 	struct tcg_efi_specid_event *efispecid;
> > 	struct tcg_event_field *event_field;
> 
> But it seems like it breaks the build:
> 
> drivers/char/tpm/eventlog/tpm2.c:40:43: warning: ‘struct tcg_pcr_event2_head’ declared inside parameter list will not be visible outside of this definition or declaration
> static size_t calc_tpm2_event_size(struct tcg_pcr_event2_head *event,
>                                           ^~~~~~~~~~~~~~~~~~~
> drivers/char/tpm/eventlog/tpm2.c: In function ‘calc_tpm2_event_size’:
> drivers/char/tpm/eventlog/tpm2.c:55:32: error: dereferencing pointer to incomplete type ‘struct tcg_pcr_event2_head’
>  marker = marker + sizeof(event->pcr_idx) + sizeof(event->event_type)
> 
> Probably because c8faabfc6f480 is missing. I've reverted this patch from
> stable for now.

Ugh. I'm for this weekend on leave. Looking this next week. Sorry
about wasted time :-(

/Jarkko



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux