diff options
author | Eric Paris <eparis@redhat.com> | 2011-04-28 15:55:52 -0400 |
---|---|---|
committer | Eric Paris <eparis@redhat.com> | 2011-04-28 15:56:06 -0400 |
commit | 5a3ea8782c63d3501cb764c176f153c0d9a400e1 (patch) | |
tree | 3ff57105c8c3f3ad696b29511d1cf69f434caeab /security/selinux | |
parent | 562abf624175e3f8487b7f064e516805e437e597 (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/selinux')
-rw-r--r-- | security/selinux/ss/policydb.c | 6 |
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; |