lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 2 Dec 2013 11:07:04 +0800 (GMT+08:00)
From:	"Zhouyi Zhou" <yizhouzhou@....ac.cn>
To:	"Zhouyi Zhou" <zhouzhouyi@...il.com>
Cc:	linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
	kvm-ppc@...r.kernel.org, kvm@...r.kernel.org,
	"David Woodhouse" <dwmw2@...radead.org>,
	"Joerg Roedel" <joro@...tes.org>,
	"Benjamin Herrenschmidt" <benh@...nel.crashing.org>
Subject: ping: re: [PATCH 1/1] kernel code that do not handle NULL return of
 kmem_cache_zalloc

ping
> I do a grep for kmem_cache_zalloc and kmem_cache_alloc
> in kernel tree, and find some code do not handle NULL
> return of kmem_cache_zalloc correctly
> 
> 
> Signed-off-by: Zhouyi Zhou <yizhouzhou@....ac.cn>
> ---
>  arch/powerpc/kvm/book3s_32_mmu_host.c |    5 +++++
>  drivers/iommu/omap-iommu.c            |    3 ++-
>  fs/jffs2/malloc.c                     |    4 ++++
>  3 files changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/kvm/book3s_32_mmu_host.c b/arch/powerpc/kvm/book3s_32_mmu_host.c
> index 3a0abd2..5fac89d 100644
> --- a/arch/powerpc/kvm/book3s_32_mmu_host.c
> +++ b/arch/powerpc/kvm/book3s_32_mmu_host.c
> @@ -243,6 +243,11 @@ next_pteg:
>  	/* Now tell our Shadow PTE code about the new page */
>  
>  	pte = kvmppc_mmu_hpte_cache_next(vcpu);
> +	if (!pte) {
> +		kvm_release_pfn_clean(hpaddr >> PAGE_SHIFT);
> +		r = -EAGAIN;
> +		goto out;
> +	}
>  
>  	dprintk_mmu("KVM: %c%c Map 0x%llx: [%lx] 0x%llx (0x%llx) -> %lx\n",
>  		    orig_pte->may_write ? 'w' : '-',
> diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c
> index bcd78a7..5155714 100644
> --- a/drivers/iommu/omap-iommu.c
> +++ b/drivers/iommu/omap-iommu.c
> @@ -551,7 +551,8 @@ static u32 *iopte_alloc(struct omap_iommu *obj, u32 *iopgd, u32 da)
>  		dev_vdbg(obj->dev, "%s: a new pte:%p\n", __func__, iopte);
>  	} else {
>  		/* We raced, free the reduniovant table */
> -		iopte_free(iopte);
> +		if (iopte)
> +			iopte_free(iopte);
>  	}
>  
>  pte_ready:
> diff --git a/fs/jffs2/malloc.c b/fs/jffs2/malloc.c
> index 4f47aa2..58e2336 100644
> --- a/fs/jffs2/malloc.c
> +++ b/fs/jffs2/malloc.c
> @@ -287,6 +287,8 @@ struct jffs2_xattr_datum *jffs2_alloc_xattr_datum(void)
>  {
>  	struct jffs2_xattr_datum *xd;
>  	xd = kmem_cache_zalloc(xattr_datum_cache, GFP_KERNEL);
> +	if (!xd)
> +		return NULL;
>  	dbg_memalloc("%p\n", xd);
>  
>  	xd->class = RAWNODE_CLASS_XATTR_DATUM;
> @@ -305,6 +307,8 @@ struct jffs2_xattr_ref *jffs2_alloc_xattr_ref(void)
>  {
>  	struct jffs2_xattr_ref *ref;
>  	ref = kmem_cache_zalloc(xattr_ref_cache, GFP_KERNEL);
> +	if (!ref)
> +		return NULL;
>  	dbg_memalloc("%p\n", ref);
>  
>  	ref->class = RAWNODE_CLASS_XATTR_REF;
> -- 
> 1.7.10.4
> 




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ