Commit ba808cb5 authored by Kees Cook's avatar Kees Cook Committed by John Johansen

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: default avatarKees Cook <keescook@chromium.org>
Signed-off-by: default avatarJohn Johansen <john.johansen@canonical.com>
parent 6600e9f6
...@@ -46,7 +46,7 @@ int apparmor_initialized; ...@@ -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 @@ char *aa_get_buffer(bool in_atomic) ...@@ -1649,7 +1649,7 @@ char *aa_get_buffer(bool in_atomic)
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 @@ char *aa_get_buffer(bool in_atomic) ...@@ -1672,7 +1672,7 @@ char *aa_get_buffer(bool in_atomic)
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) ...@@ -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;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment