diff options
author | Daniel Schaeffer <daniel@dschaeffer.localdomain> | 2008-01-30 15:42:41 -0500 |
---|---|---|
committer | Daniel Schaeffer <daniel@dschaeffer.localdomain> | 2008-01-30 15:42:41 -0500 |
commit | 648b932d8cf61f38d08a84e6388036b22766c2df (patch) | |
tree | 3c48859a194482b645b93c1bead3bcc323327fb7 /security/selinux/ss/policydb.c | |
parent | 2506ae0663e660d8dc7624fcdae1814c8ee3d10a (diff) | |
parent | bbf25010f1a6b761914430f5fca081ec8c7accd1 (diff) |
Merge branch '2.6.23' into 2.6.22.6-imx27
Conflicts:
Documentation/kernel-parameters.txt
Makefile
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/mach-mx3/Kconfig
arch/arm/mach-mx3/Makefile
arch/arm/mach-mx3/mm.c
arch/arm/mach-mx3/mx31ads.c
arch/arm/mm/Kconfig
arch/arm/plat-mxc/Kconfig
arch/arm/plat-mxc/Makefile
arch/arm/plat-mxc/irq.c
block/cfq-iosched.c
drivers/ata/ahci.c
drivers/ata/libata-core.c
drivers/char/watchdog/Kconfig
drivers/firewire/fw-sbp2.c
drivers/md/dm-crypt.c
drivers/media/video/pwc/pwc-if.c
drivers/mmc/card/Kconfig
drivers/mmc/card/queue.c
drivers/mmc/core/Makefile
drivers/mmc/core/bus.c
drivers/mmc/core/core.c
drivers/mmc/core/host.c
drivers/mmc/core/mmc.c
drivers/mmc/core/sd.c
drivers/mmc/core/sd_ops.c
drivers/mmc/host/at91_mci.c
drivers/mmc/host/sdhci.c
drivers/net/bonding/bond_main.c
drivers/net/fec.c
drivers/net/forcedeth.c
drivers/net/r8169.c
drivers/net/sky2.c
drivers/rtc/Kconfig
drivers/rtc/Makefile
drivers/spi/Kconfig
drivers/spi/Makefile
drivers/usb/gadget/Makefile
drivers/usb/gadget/gadget_chips.h
drivers/usb/host/ehci.h
drivers/video/logo/logo.c
drivers/w1/slaves/Makefile
fs/9p/conv.c
fs/direct-io.c
fs/exec.c
fs/ocfs2/file.c
fs/signalfd.c
fs/sysfs/file.c
include/asm-arm/arch-mxc/dma.h
include/asm-arm/arch-mxc/entry-macro.S
include/asm-arm/arch-mxc/hardware.h
include/asm-arm/arch-mxc/io.h
include/asm-arm/arch-mxc/irqs.h
include/asm-arm/arch-mxc/memory.h
include/asm-arm/arch-mxc/mx31.h
include/asm-arm/arch-mxc/mxc.h
include/asm-arm/arch-mxc/system.h
include/asm-arm/arch-mxc/timex.h
include/asm-arm/arch-mxc/uncompress.h
include/asm-arm/arch-mxc/vmalloc.h
include/linux/fsl_devices.h
include/linux/ioprio.h
kernel/lockdep_proc.c
kernel/signal.c
mm/hugetlb.c
mm/readahead.c
net/bluetooth/rfcomm/tty.c
net/bridge/br_device.c
net/core/dev.c
net/ieee80211/softmac/ieee80211softmac_assoc.c
net/ieee80211/softmac/ieee80211softmac_wx.c
net/ipv4/netfilter/nf_conntrack_proto_icmp.c
net/ipv4/tcp_input.c
net/netfilter/nf_conntrack_proto_sctp.c
Diffstat (limited to 'security/selinux/ss/policydb.c')
-rw-r--r-- | security/selinux/ss/policydb.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c index 0ac1021734c0..f05f97a2bc3a 100644 --- a/security/selinux/ss/policydb.c +++ b/security/selinux/ss/policydb.c @@ -21,6 +21,7 @@ */ #include <linux/kernel.h> +#include <linux/sched.h> #include <linux/slab.h> #include <linux/string.h> #include <linux/errno.h> @@ -598,6 +599,7 @@ void policydb_destroy(struct policydb *p) struct range_trans *rt, *lrt = NULL; for (i = 0; i < SYM_NUM; i++) { + cond_resched(); hashtab_map(p->symtab[i].table, destroy_f[i], NULL); hashtab_destroy(p->symtab[i].table); } @@ -612,6 +614,7 @@ void policydb_destroy(struct policydb *p) avtab_destroy(&p->te_avtab); for (i = 0; i < OCON_NUM; i++) { + cond_resched(); c = p->ocontexts[i]; while (c) { ctmp = c; @@ -623,6 +626,7 @@ void policydb_destroy(struct policydb *p) g = p->genfs; while (g) { + cond_resched(); kfree(g->fstype); c = g->head; while (c) { @@ -639,18 +643,21 @@ void policydb_destroy(struct policydb *p) cond_policydb_destroy(p); for (tr = p->role_tr; tr; tr = tr->next) { + cond_resched(); kfree(ltr); ltr = tr; } kfree(ltr); for (ra = p->role_allow; ra; ra = ra -> next) { + cond_resched(); kfree(lra); lra = ra; } kfree(lra); for (rt = p->range_tr; rt; rt = rt -> next) { + cond_resched(); if (lrt) { ebitmap_destroy(&lrt->target_range.level[0].cat); ebitmap_destroy(&lrt->target_range.level[1].cat); |