Module Name: src Committed By: riastradh Date: Mon Mar 2 02:26:37 UTC 2015
Modified Files: src/sys/external/bsd/drm2/include/linux: slab.h Log Message: Fix broken error checking in kmalloc_array/kcalloc. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/include/linux/slab.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/drm2/include/linux/slab.h diff -u src/sys/external/bsd/drm2/include/linux/slab.h:1.4 src/sys/external/bsd/drm2/include/linux/slab.h:1.5 --- src/sys/external/bsd/drm2/include/linux/slab.h:1.4 Wed Jul 16 20:59:58 2014 +++ src/sys/external/bsd/drm2/include/linux/slab.h Mon Mar 2 02:26:37 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: slab.h,v 1.4 2014/07/16 20:59:58 riastradh Exp $ */ +/* $NetBSD: slab.h,v 1.5 2015/03/02 02:26:37 riastradh Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. @@ -96,16 +96,14 @@ kzalloc(size_t size, gfp_t gfp) static inline void * kmalloc_array(size_t n, size_t size, gfp_t gfp) { - KASSERT(size != 0); - KASSERT(n <= (SIZE_MAX / size)); + if ((size != 0) && (n > (SIZE_MAX / size))) + return NULL; return malloc((n * size), M_TEMP, linux_gfp_to_malloc(gfp)); } static inline void * kcalloc(size_t n, size_t size, gfp_t gfp) { - if ((size == 0) && (n > (SIZE_MAX / size))) - return NULL; return kmalloc_array(n, size, (gfp | __GFP_ZERO)); }