aboutsummaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2011-04-28 15:55:52 -0400
committerEric Paris <eparis@redhat.com>2011-04-28 15:56:06 -0400
commit5a3ea8782c63d3501cb764c176f153c0d9a400e1 (patch)
tree3ff57105c8c3f3ad696b29511d1cf69f434caeab /security
parent562abf624175e3f8487b7f064e516805e437e597 (diff)
flex_array: flex_array_prealloc takes a number of elements, not an end
Change flex_array_prealloc to take the number of elements for which space should be allocated instead of the last (inclusive) element. Users and documentation are updated accordingly. flex_arrays got introduced before they had users. When folks started using it, they ended up needing a different API than was coded up originally. This swaps over to the API that folks apparently need. Based-on-patch-by: Steffen Klassert <steffen.klassert@secunet.com> Signed-off-by: Eric Paris <eparis@redhat.com> Tested-by: Chris Richards <gizmo@giz-works.com> Acked-by: Dave Hansen <dave@linux.vnet.ibm.com> Cc: stable@kernel.org [2.6.38+]
Diffstat (limited to 'security')
-rw-r--r--security/selinux/ss/policydb.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c
index 549120c56edd..102e9ec1b77a 100644
--- a/security/selinux/ss/policydb.c
+++ b/security/selinux/ss/policydb.c
@@ -545,7 +545,7 @@ static int policydb_index(struct policydb *p)
545 goto out; 545 goto out;
546 546
547 rc = flex_array_prealloc(p->type_val_to_struct_array, 0, 547 rc = flex_array_prealloc(p->type_val_to_struct_array, 0,
548 p->p_types.nprim - 1, GFP_KERNEL | __GFP_ZERO); 548 p->p_types.nprim, GFP_KERNEL | __GFP_ZERO);
549 if (rc) 549 if (rc)
550 goto out; 550 goto out;
551 551
@@ -562,7 +562,7 @@ static int policydb_index(struct policydb *p)
562 goto out; 562 goto out;
563 563
564 rc = flex_array_prealloc(p->sym_val_to_name[i], 564 rc = flex_array_prealloc(p->sym_val_to_name[i],
565 0, p->symtab[i].nprim - 1, 565 0, p->symtab[i].nprim,
566 GFP_KERNEL | __GFP_ZERO); 566 GFP_KERNEL | __GFP_ZERO);
567 if (rc) 567 if (rc)
568 goto out; 568 goto out;
@@ -2439,7 +2439,7 @@ int policydb_read(struct policydb *p, void *fp)
2439 goto bad; 2439 goto bad;
2440 2440
2441 /* preallocate so we don't have to worry about the put ever failing */ 2441 /* preallocate so we don't have to worry about the put ever failing */
2442 rc = flex_array_prealloc(p->type_attr_map_array, 0, p->p_types.nprim - 1, 2442 rc = flex_array_prealloc(p->type_attr_map_array, 0, p->p_types.nprim,
2443 GFP_KERNEL | __GFP_ZERO); 2443 GFP_KERNEL | __GFP_ZERO);
2444 if (rc) 2444 if (rc)
2445 goto bad; 2445 goto bad;