Merge branch 'pm-cpuidle'
[linux-drm-fsl-dcu.git] / mm / kmemleak.c
index e126b0ef9ad20023d6a8d3ff505ae71ad96fdaa0..31f01c5011e59414e95b888b2b3d515940ab72ab 100644 (file)
@@ -753,7 +753,9 @@ static void add_scan_area(unsigned long ptr, size_t size, gfp_t gfp)
        }
 
        spin_lock_irqsave(&object->lock, flags);
-       if (ptr + size > object->pointer + object->size) {
+       if (size == SIZE_MAX) {
+               size = object->pointer + object->size - ptr;
+       } else if (ptr + size > object->pointer + object->size) {
                kmemleak_warn("Scan area larger than object 0x%08lx\n", ptr);
                dump_object_info(object);
                kmem_cache_free(scan_area_cache, area);