Re: [PATCH 2/2] char/tpm: simplify duration calculation andeliminate sparse warning.

From: Kent Yoder
Date: Thu Nov 15 2012 - 11:43:04 EST


On Wed, Nov 14, 2012 at 11:37:06PM +0100, Peter Hüwe wrote:
> Am Mittwoch, 14. November 2012, 23:18:26 schrieb Kent Yoder:
> > On Mon, Nov 12, 2012 at 11:37:18PM +0100, Peter Huewe wrote:> >
> > > This patch also gets rid of the (false positive) sparse warning:
> > > drivers/char/tpm/tpm.c:360 tpm_calc_ordinal_duration() error: buffer
> > > overflow 'tpm_protected_ordinal_duration' 12 <= 243
> >
> > I'm not seeing this sparse warning, how did you get it?
>
> Oh sorry
> s/sparse/smatch/
>
> It was a smatch warning, not sparse - sorry about that:

Ah, ok. The only other nit I had was that the spec references "TSC"
ordinals, but you had defined "TCS_MAX_ORDINAL". TCS is actually a piece
of TSS in user-space.

Kent

> /data/data-old/linux-2.6/drivers/char/tpm $ make -C /data/data-old/linux-2.6/ M=`pwd` C=1 CHECK=smatch
> make: Entering directory `/data/data-old/linux-2.6'
> LD /data/data-old/linux-2.6/drivers/char/tpm/built-in.o
> CHECK /data/data-old/linux-2.6/drivers/char/tpm/tpm.c
> /data/data-old/linux-2.6/drivers/char/tpm/tpm.c:360 tpm_calc_ordinal_duration() error: buffer overflow 'tpm_protected_ordinal_duration' 12 <= 243
> CC [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm.o
> CHECK /data/data-old/linux-2.6/drivers/char/tpm/tpm_eventlog.c
> CC [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_eventlog.o
> CHECK /data/data-old/linux-2.6/drivers/char/tpm/tpm_acpi.c
> CC [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_acpi.o
> CHECK /data/data-old/linux-2.6/drivers/char/tpm/tpm_ppi.c
> CC [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_ppi.o
> LD [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_bios.o
> CHECK /data/data-old/linux-2.6/drivers/char/tpm/tpm_tis.c
> CC [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_tis.o
> CHECK /data/data-old/linux-2.6/drivers/char/tpm/tpm_i2c_infineon.c
> CC [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_i2c_infineon.o
> CHECK /data/data-old/linux-2.6/drivers/char/tpm/tpm_nsc.c
> CC [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_nsc.o
> CHECK /data/data-old/linux-2.6/drivers/char/tpm/tpm_atmel.c
> CC [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_atmel.o
> CHECK /data/data-old/linux-2.6/drivers/char/tpm/tpm_infineon.c
> CC [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_infineon.o
> Building modules, stage 2.
> MODPOST 7 modules
> CC /data/data-old/linux-2.6/drivers/char/tpm/tpm.mod.o
> LD [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm.ko
> CC /data/data-old/linux-2.6/drivers/char/tpm/tpm_atmel.mod.o
> LD [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_atmel.ko
> CC /data/data-old/linux-2.6/drivers/char/tpm/tpm_bios.mod.o
> LD [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_bios.ko
> CC /data/data-old/linux-2.6/drivers/char/tpm/tpm_i2c_infineon.mod.o
> LD [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_i2c_infineon.ko
> CC /data/data-old/linux-2.6/drivers/char/tpm/tpm_infineon.mod.o
> LD [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_infineon.ko
> CC /data/data-old/linux-2.6/drivers/char/tpm/tpm_nsc.mod.o
> LD [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_nsc.ko
> CC /data/data-old/linux-2.6/drivers/char/tpm/tpm_tis.mod.o
> LD [M] /data/data-old/linux-2.6/drivers/char/tpm/tpm_tis.ko
> make: Leaving directory `/data/data-old/linux-2.6'
>

--
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/