Commit 1c40f7d4f0a9d5242f19b02b00e3e5a8ee218a20

Authored by Andrew Morton
Committed by Linus Torvalds
1 parent ca4a031f6b

[PATCH] tpm_bios indexing fix

It generates warnings:

drivers/char/tpm/tpm_bios.c: In function `get_event_name':
drivers/char/tpm/tpm_bios.c:223: warning: cast from pointer to integer of different size
drivers/char/tpm/tpm_bios.c:223: warning: cast from pointer to integer of different size
drivers/char/tpm/tpm_bios.c:223: warning: cast from pointer to integer of different size
drivers/char/tpm/tpm_bios.c:224: warning: cast from pointer to integer of different size
drivers/char/tpm/tpm_bios.c:224: warning: cast from pointer to integer of different size
drivers/char/tpm/tpm_bios.c:224: warning: cast from pointer to integer of different size

and I'm not sure what the code is doing there, but it seems wrong.  We're
using the address of the buffer rather than the contents of it.

The patch adds more nasty typecasting, but I think the whole arrangement could
be done in a more typesafe manner.

Cc: Kylene Jo Hall <kjhall@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff

drivers/char/tpm/tpm_bios.c
... ... @@ -220,8 +220,8 @@
220 220 }
221 221 break;
222 222 case EVENT_TAG:
223   - event_id = be32_to_cpu(event_entry);
224   - event_data_size = be32_to_cpu(&event_entry[4]);
  223 + event_id = be32_to_cpu(*((u32 *)event_entry));
  224 + event_data_size = be32_to_cpu(((u32 *)event_entry)[1]);
225 225  
226 226 /* ToDo Row data -> Base64 */
227 227