char: tpm: tpm-buf: Add sanity check fallback in read helpers
[ Upstream commit 32d495b384a2db7d23c2295e03e6b6edb1c0db8d ] Fix Smatch-detected issue: drivers/char/tpm/tpm-buf.c:208 tpm_buf_read_u8() error: uninitialized symbol 'value'. drivers/char/tpm/tpm-buf.c:225 tpm_buf_read_u16() error: uninitialized symbol 'value'. drivers/char/tpm/tpm-buf.c:242 tpm_buf_read_u32() error: uninitialized symbol 'value'. Zero-initialize the return values in tpm_buf_read_u8(), tpm_buf_read_u16(), and tpm_buf_read_u32() to guard against uninitialized data in case of a boundary overflow. Add defensive initialization ensures the return values are always defined, preventing undefined behavior if the unexpected happens. Signed-off-by: Purva Yeshi <purvayeshi550@gmail.com> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org> Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
fe7879e5eb
commit
87129b9342
@@ -201,7 +201,7 @@ static void tpm_buf_read(struct tpm_buf *buf, off_t *offset, size_t count, void
|
||||
*/
|
||||
u8 tpm_buf_read_u8(struct tpm_buf *buf, off_t *offset)
|
||||
{
|
||||
u8 value;
|
||||
u8 value = 0;
|
||||
|
||||
tpm_buf_read(buf, offset, sizeof(value), &value);
|
||||
|
||||
@@ -218,7 +218,7 @@ EXPORT_SYMBOL_GPL(tpm_buf_read_u8);
|
||||
*/
|
||||
u16 tpm_buf_read_u16(struct tpm_buf *buf, off_t *offset)
|
||||
{
|
||||
u16 value;
|
||||
u16 value = 0;
|
||||
|
||||
tpm_buf_read(buf, offset, sizeof(value), &value);
|
||||
|
||||
@@ -235,7 +235,7 @@ EXPORT_SYMBOL_GPL(tpm_buf_read_u16);
|
||||
*/
|
||||
u32 tpm_buf_read_u32(struct tpm_buf *buf, off_t *offset)
|
||||
{
|
||||
u32 value;
|
||||
u32 value = 0;
|
||||
|
||||
tpm_buf_read(buf, offset, sizeof(value), &value);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user