kmemleak.c (8bd30c1090995ce800ae257fbbabfd6b6899b57c) | kmemleak.c (e8b098fc5747a7c871f113c9eb65453cc2d86e6f) |
---|---|
1/* 2 * mm/kmemleak.c 3 * 4 * Copyright (C) 2008 ARM Limited 5 * Written by Catalin Marinas <catalin.marinas@arm.com> 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as --- 1173 unchanged lines hidden (view full) --- 1182 else if (kmemleak_early_log) 1183 log_early(KMEMLEAK_NO_SCAN, ptr, 0, 0); 1184} 1185EXPORT_SYMBOL(kmemleak_no_scan); 1186 1187/** 1188 * kmemleak_alloc_phys - similar to kmemleak_alloc but taking a physical 1189 * address argument | 1/* 2 * mm/kmemleak.c 3 * 4 * Copyright (C) 2008 ARM Limited 5 * Written by Catalin Marinas <catalin.marinas@arm.com> 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as --- 1173 unchanged lines hidden (view full) --- 1182 else if (kmemleak_early_log) 1183 log_early(KMEMLEAK_NO_SCAN, ptr, 0, 0); 1184} 1185EXPORT_SYMBOL(kmemleak_no_scan); 1186 1187/** 1188 * kmemleak_alloc_phys - similar to kmemleak_alloc but taking a physical 1189 * address argument |
1190 * @phys: physical address of the object 1191 * @size: size of the object 1192 * @min_count: minimum number of references to this object. 1193 * See kmemleak_alloc() 1194 * @gfp: kmalloc() flags used for kmemleak internal memory allocations |
|
1190 */ 1191void __ref kmemleak_alloc_phys(phys_addr_t phys, size_t size, int min_count, 1192 gfp_t gfp) 1193{ 1194 if (!IS_ENABLED(CONFIG_HIGHMEM) || PHYS_PFN(phys) < max_low_pfn) 1195 kmemleak_alloc(__va(phys), size, min_count, gfp); 1196} 1197EXPORT_SYMBOL(kmemleak_alloc_phys); 1198 1199/** 1200 * kmemleak_free_part_phys - similar to kmemleak_free_part but taking a 1201 * physical address argument | 1195 */ 1196void __ref kmemleak_alloc_phys(phys_addr_t phys, size_t size, int min_count, 1197 gfp_t gfp) 1198{ 1199 if (!IS_ENABLED(CONFIG_HIGHMEM) || PHYS_PFN(phys) < max_low_pfn) 1200 kmemleak_alloc(__va(phys), size, min_count, gfp); 1201} 1202EXPORT_SYMBOL(kmemleak_alloc_phys); 1203 1204/** 1205 * kmemleak_free_part_phys - similar to kmemleak_free_part but taking a 1206 * physical address argument |
1207 * @phys: physical address if the beginning or inside an object. This 1208 * also represents the start of the range to be freed 1209 * @size: size to be unregistered |
|
1202 */ 1203void __ref kmemleak_free_part_phys(phys_addr_t phys, size_t size) 1204{ 1205 if (!IS_ENABLED(CONFIG_HIGHMEM) || PHYS_PFN(phys) < max_low_pfn) 1206 kmemleak_free_part(__va(phys), size); 1207} 1208EXPORT_SYMBOL(kmemleak_free_part_phys); 1209 1210/** 1211 * kmemleak_not_leak_phys - similar to kmemleak_not_leak but taking a physical 1212 * address argument | 1210 */ 1211void __ref kmemleak_free_part_phys(phys_addr_t phys, size_t size) 1212{ 1213 if (!IS_ENABLED(CONFIG_HIGHMEM) || PHYS_PFN(phys) < max_low_pfn) 1214 kmemleak_free_part(__va(phys), size); 1215} 1216EXPORT_SYMBOL(kmemleak_free_part_phys); 1217 1218/** 1219 * kmemleak_not_leak_phys - similar to kmemleak_not_leak but taking a physical 1220 * address argument |
1221 * @phys: physical address of the object |
|
1213 */ 1214void __ref kmemleak_not_leak_phys(phys_addr_t phys) 1215{ 1216 if (!IS_ENABLED(CONFIG_HIGHMEM) || PHYS_PFN(phys) < max_low_pfn) 1217 kmemleak_not_leak(__va(phys)); 1218} 1219EXPORT_SYMBOL(kmemleak_not_leak_phys); 1220 1221/** 1222 * kmemleak_ignore_phys - similar to kmemleak_ignore but taking a physical 1223 * address argument | 1222 */ 1223void __ref kmemleak_not_leak_phys(phys_addr_t phys) 1224{ 1225 if (!IS_ENABLED(CONFIG_HIGHMEM) || PHYS_PFN(phys) < max_low_pfn) 1226 kmemleak_not_leak(__va(phys)); 1227} 1228EXPORT_SYMBOL(kmemleak_not_leak_phys); 1229 1230/** 1231 * kmemleak_ignore_phys - similar to kmemleak_ignore but taking a physical 1232 * address argument |
1233 * @phys: physical address of the object |
|
1224 */ 1225void __ref kmemleak_ignore_phys(phys_addr_t phys) 1226{ 1227 if (!IS_ENABLED(CONFIG_HIGHMEM) || PHYS_PFN(phys) < max_low_pfn) 1228 kmemleak_ignore(__va(phys)); 1229} 1230EXPORT_SYMBOL(kmemleak_ignore_phys); 1231 --- 882 unchanged lines hidden --- | 1234 */ 1235void __ref kmemleak_ignore_phys(phys_addr_t phys) 1236{ 1237 if (!IS_ENABLED(CONFIG_HIGHMEM) || PHYS_PFN(phys) < max_low_pfn) 1238 kmemleak_ignore(__va(phys)); 1239} 1240EXPORT_SYMBOL(kmemleak_ignore_phys); 1241 --- 882 unchanged lines hidden --- |