apparmor: aa_buffer: Convert 1-element array to flexible array

In the ongoing effort to convert all fake flexible arrays to proper
flexible arrays, replace aa_buffer's 1-element "buffer" member with a
flexible array.

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: John Johansen <john.johansen@canonical.com>
This commit is contained in:
Kees Cook 2023-05-11 14:34:45 -07:00 committed by John Johansen
parent 6600e9f692
commit ba808cb5ed

View File

@ -46,7 +46,7 @@ int apparmor_initialized;
union aa_buffer { union aa_buffer {
struct list_head list; struct list_head list;
char buffer[1]; DECLARE_FLEX_ARRAY(char, buffer);
}; };
#define RESERVE_COUNT 2 #define RESERVE_COUNT 2
@ -1649,7 +1649,7 @@ retry:
list_del(&aa_buf->list); list_del(&aa_buf->list);
buffer_count--; buffer_count--;
spin_unlock(&aa_buffers_lock); spin_unlock(&aa_buffers_lock);
return &aa_buf->buffer[0]; return aa_buf->buffer;
} }
if (in_atomic) { if (in_atomic) {
/* /*
@ -1672,7 +1672,7 @@ retry:
pr_warn_once("AppArmor: Failed to allocate a memory buffer.\n"); pr_warn_once("AppArmor: Failed to allocate a memory buffer.\n");
return NULL; return NULL;
} }
return &aa_buf->buffer[0]; return aa_buf->buffer;
} }
void aa_put_buffer(char *buf) void aa_put_buffer(char *buf)
@ -1749,7 +1749,7 @@ static int __init alloc_buffers(void)
destroy_buffers(); destroy_buffers();
return -ENOMEM; return -ENOMEM;
} }
aa_put_buffer(&aa_buf->buffer[0]); aa_put_buffer(aa_buf->buffer);
} }
return 0; return 0;
} }