selinux: convert to kvmalloc
The flex arrays were being used for constant sized arrays, so there's no benefit to using flex_arrays over something simpler. Link: http://lkml.kernel.org/r/20181217131929.11727-4-kent.overstreet@gmail.com Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Cc: Paul Moore <paul@paul-moore.com> Cc: Stephen Smalley <sds@tycho.nsa.gov> Cc: Eric Paris <eparis@parisplace.org> Cc: Alexey Dobriyan <adobriyan@gmail.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Dave Hansen <dave.hansen@intel.com> Cc: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> Cc: Matthew Wilcox <willy@infradead.org> Cc: Neil Horman <nhorman@tuxdriver.com> Cc: Pravin B Shelar <pshelar@ovn.org> Cc: Shaohua Li <shli@kernel.org> Cc: Vlad Yasevich <vyasevich@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Цей коміт міститься в:

зафіксовано
Linus Torvalds

джерело
b330e6a49d
коміт
acdf52d97f
@@ -49,7 +49,6 @@
|
||||
#include <linux/sched.h>
|
||||
#include <linux/audit.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/flex_array.h>
|
||||
#include <linux/vmalloc.h>
|
||||
#include <net/netlabel.h>
|
||||
|
||||
@@ -545,15 +544,13 @@ static void type_attribute_bounds_av(struct policydb *policydb,
|
||||
struct type_datum *target;
|
||||
u32 masked = 0;
|
||||
|
||||
source = flex_array_get_ptr(policydb->type_val_to_struct_array,
|
||||
scontext->type - 1);
|
||||
source = policydb->type_val_to_struct_array[scontext->type - 1];
|
||||
BUG_ON(!source);
|
||||
|
||||
if (!source->bounds)
|
||||
return;
|
||||
|
||||
target = flex_array_get_ptr(policydb->type_val_to_struct_array,
|
||||
tcontext->type - 1);
|
||||
target = policydb->type_val_to_struct_array[tcontext->type - 1];
|
||||
BUG_ON(!target);
|
||||
|
||||
memset(&lo_avd, 0, sizeof(lo_avd));
|
||||
@@ -653,11 +650,9 @@ static void context_struct_compute_av(struct policydb *policydb,
|
||||
*/
|
||||
avkey.target_class = tclass;
|
||||
avkey.specified = AVTAB_AV | AVTAB_XPERMS;
|
||||
sattr = flex_array_get(policydb->type_attr_map_array,
|
||||
scontext->type - 1);
|
||||
sattr = &policydb->type_attr_map_array[scontext->type - 1];
|
||||
BUG_ON(!sattr);
|
||||
tattr = flex_array_get(policydb->type_attr_map_array,
|
||||
tcontext->type - 1);
|
||||
tattr = &policydb->type_attr_map_array[tcontext->type - 1];
|
||||
BUG_ON(!tattr);
|
||||
ebitmap_for_each_positive_bit(sattr, snode, i) {
|
||||
ebitmap_for_each_positive_bit(tattr, tnode, j) {
|
||||
@@ -900,8 +895,7 @@ int security_bounded_transition(struct selinux_state *state,
|
||||
|
||||
index = new_context->type;
|
||||
while (true) {
|
||||
type = flex_array_get_ptr(policydb->type_val_to_struct_array,
|
||||
index - 1);
|
||||
type = policydb->type_val_to_struct_array[index - 1];
|
||||
BUG_ON(!type);
|
||||
|
||||
/* not bounded anymore */
|
||||
@@ -1064,11 +1058,9 @@ void security_compute_xperms_decision(struct selinux_state *state,
|
||||
|
||||
avkey.target_class = tclass;
|
||||
avkey.specified = AVTAB_XPERMS;
|
||||
sattr = flex_array_get(policydb->type_attr_map_array,
|
||||
scontext->type - 1);
|
||||
sattr = &policydb->type_attr_map_array[scontext->type - 1];
|
||||
BUG_ON(!sattr);
|
||||
tattr = flex_array_get(policydb->type_attr_map_array,
|
||||
tcontext->type - 1);
|
||||
tattr = &policydb->type_attr_map_array[tcontext->type - 1];
|
||||
BUG_ON(!tattr);
|
||||
ebitmap_for_each_positive_bit(sattr, snode, i) {
|
||||
ebitmap_for_each_positive_bit(tattr, tnode, j) {
|
||||
|
Посилання в новій задачі
Заблокувати користувача