Commit 5d9f4cf3 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'selinux-pr-20211123' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux

Pull SELinux fix from Paul Moore:
 "A fix to make sure things are handled correctly when an allocation
  fails"

* tag 'selinux-pr-20211123' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
  selinux: fix NULL-pointer dereference when hashtab allocation fails
parents b7359362 dc27f3c5
...@@ -31,13 +31,20 @@ static u32 hashtab_compute_size(u32 nel) ...@@ -31,13 +31,20 @@ static u32 hashtab_compute_size(u32 nel)
int hashtab_init(struct hashtab *h, u32 nel_hint) int hashtab_init(struct hashtab *h, u32 nel_hint)
{ {
h->size = hashtab_compute_size(nel_hint); u32 size = hashtab_compute_size(nel_hint);
/* should already be zeroed, but better be safe */
h->nel = 0; h->nel = 0;
if (!h->size) h->size = 0;
return 0; h->htable = NULL;
h->htable = kcalloc(h->size, sizeof(*h->htable), GFP_KERNEL); if (size) {
return h->htable ? 0 : -ENOMEM; h->htable = kcalloc(size, sizeof(*h->htable), GFP_KERNEL);
if (!h->htable)
return -ENOMEM;
h->size = size;
}
return 0;
} }
int __hashtab_insert(struct hashtab *h, struct hashtab_node **dst, int __hashtab_insert(struct hashtab *h, struct hashtab_node **dst,
......
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