]> err.no Git - linux-2.6/commitdiff
[PATCH] tpm_bios indexing fix
authorAndrew Morton <akpm@osdl.org>
Wed, 1 Feb 2006 11:05:02 +0000 (03:05 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 1 Feb 2006 16:53:12 +0000 (08:53 -0800)
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>
drivers/char/tpm/tpm_bios.c

index 9ffa5643e79dd90e6c05178e093668f3e908c9af..1310189fd9f5fbaa13b59b2a75a10833d7483bc7 100644 (file)
@@ -220,8 +220,8 @@ static int get_event_name(char *dest, struct tcpa_event *event,
                }
                break;
        case EVENT_TAG:
-               event_id = be32_to_cpu(event_entry);
-               event_data_size = be32_to_cpu(&event_entry[4]);
+               event_id = be32_to_cpu(*((u32 *)event_entry));
+               event_data_size = be32_to_cpu(((u32 *)event_entry)[1]);
 
                /* ToDo Row data -> Base64 */