diff options
| author | John W. Linville <linville@tuxdriver.com> | 2006-08-02 14:15:21 -0400 |
|---|---|---|
| committer | John W. Linville <linville@tuxdriver.com> | 2006-08-02 14:15:21 -0400 |
| commit | ebf572b448757190027d8ee34e73deb989ec7b60 (patch) | |
| tree | 2320a92b1aed2c9475e291d75c92616af75e195a /security/selinux/ss | |
| parent | 48c86da1a211ef13bbfb1c8f2e35dda44a66b8a1 (diff) | |
| parent | 49b1e3ea19b1c95c2f012b8331ffb3b169e4c042 (diff) | |
Merge branch 'from-linus' into bcm43xx
Diffstat (limited to 'security/selinux/ss')
| -rw-r--r-- | security/selinux/ss/policydb.c | 12 | ||||
| -rw-r--r-- | security/selinux/ss/services.c | 4 |
2 files changed, 12 insertions, 4 deletions
diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c index 0111990ba837..f03960e697ce 100644 --- a/security/selinux/ss/policydb.c +++ b/security/selinux/ss/policydb.c | |||
| @@ -644,10 +644,18 @@ void policydb_destroy(struct policydb *p) | |||
| 644 | kfree(lra); | 644 | kfree(lra); |
| 645 | 645 | ||
| 646 | for (rt = p->range_tr; rt; rt = rt -> next) { | 646 | for (rt = p->range_tr; rt; rt = rt -> next) { |
| 647 | kfree(lrt); | 647 | if (lrt) { |
| 648 | ebitmap_destroy(&lrt->range.level[0].cat); | ||
| 649 | ebitmap_destroy(&lrt->range.level[1].cat); | ||
| 650 | kfree(lrt); | ||
| 651 | } | ||
| 648 | lrt = rt; | 652 | lrt = rt; |
| 649 | } | 653 | } |
| 650 | kfree(lrt); | 654 | if (lrt) { |
| 655 | ebitmap_destroy(&lrt->range.level[0].cat); | ||
| 656 | ebitmap_destroy(&lrt->range.level[1].cat); | ||
| 657 | kfree(lrt); | ||
| 658 | } | ||
| 651 | 659 | ||
| 652 | if (p->type_attr_map) { | 660 | if (p->type_attr_map) { |
| 653 | for (i = 0; i < p->p_types.nprim; i++) | 661 | for (i = 0; i < p->p_types.nprim; i++) |
diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c index d2e80e62ff0c..85e429884393 100644 --- a/security/selinux/ss/services.c +++ b/security/selinux/ss/services.c | |||
| @@ -833,6 +833,8 @@ static int security_compute_sid(u32 ssid, | |||
| 833 | goto out; | 833 | goto out; |
| 834 | } | 834 | } |
| 835 | 835 | ||
| 836 | context_init(&newcontext); | ||
| 837 | |||
| 836 | POLICY_RDLOCK; | 838 | POLICY_RDLOCK; |
| 837 | 839 | ||
| 838 | scontext = sidtab_search(&sidtab, ssid); | 840 | scontext = sidtab_search(&sidtab, ssid); |
| @@ -850,8 +852,6 @@ static int security_compute_sid(u32 ssid, | |||
| 850 | goto out_unlock; | 852 | goto out_unlock; |
| 851 | } | 853 | } |
| 852 | 854 | ||
| 853 | context_init(&newcontext); | ||
| 854 | |||
| 855 | /* Set the user identity. */ | 855 | /* Set the user identity. */ |
| 856 | switch (specified) { | 856 | switch (specified) { |
| 857 | case AVTAB_TRANSITION: | 857 | case AVTAB_TRANSITION: |
