randstruct: Whitelist big_key path struct overloading
The big_key payload structure intentionally stores a struct path in two void pointers to avoid header soup. Whitelist this case: security/keys/big_key.c: In function ‘big_key_read’: security/keys/big_key.c:293:16: note: found mismatched rhs struct pointer types: ‘struct path’ and ‘void *’ struct path *path = (struct path *)&key->payload.data[big_key_path]; ^~~~ Cc: David Howells <dhowells@redhat.com> Signed-off-by: Kees Cook <keescook@chromium.org>hifive-unleashed-5.1
parent
b07b65846b
commit
802762cdff
|
@ -48,6 +48,8 @@ struct whitelist_entry {
|
||||||
static const struct whitelist_entry whitelist[] = {
|
static const struct whitelist_entry whitelist[] = {
|
||||||
/* unix_skb_parms via UNIXCB() buffer */
|
/* unix_skb_parms via UNIXCB() buffer */
|
||||||
{ "net/unix/af_unix.c", "unix_skb_parms", "char" },
|
{ "net/unix/af_unix.c", "unix_skb_parms", "char" },
|
||||||
|
/* big_key payload.data struct splashing */
|
||||||
|
{ "security/keys/big_key.c", "path", "void *" },
|
||||||
/* walk struct security_hook_heads as an array of struct list_head */
|
/* walk struct security_hook_heads as an array of struct list_head */
|
||||||
{ "security/security.c", "list_head", "security_hook_heads" },
|
{ "security/security.c", "list_head", "security_hook_heads" },
|
||||||
{ }
|
{ }
|
||||||
|
|
Loading…
Reference in New Issue