| /linux/fs/ubifs/ |
| H A D | lprops.c | 22 * get_heap_comp_val - get the LEB properties value for heap comparisons. 39 * move_up_lpt_heap - move a new heap entry up as far as possible. 41 * @heap: LEB category heap 45 * New entries to a heap are added at the bottom and then moved up until the 50 static void move_up_lpt_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, in move_up_lpt_heap() argument 57 return; /* Already top of the heap */ in move_up_lpt_heap() 59 /* Compare to parent and, if greater, move up the heap */ in move_up_lpt_heap() 63 val2 = get_heap_comp_val(heap->arr[ppos], cat); in move_up_lpt_heap() 67 heap->arr[ppos]->hpos = hpos; in move_up_lpt_heap() 68 heap->arr[hpos] = heap->arr[ppos]; in move_up_lpt_heap() [all …]
|
| H A D | find.c | 45 struct ubifs_lpt_heap *heap; in valuable() local 51 heap = &c->lpt_heap[cat - 1]; in valuable() 52 if (heap->cnt < heap->max_cnt) in valuable() 130 struct ubifs_lpt_heap *heap; in scan_for_dirty() local 134 /* There may be an LEB with enough dirty space on the free heap */ in scan_for_dirty() 135 heap = &c->lpt_heap[LPROPS_FREE - 1]; in scan_for_dirty() 136 for (i = 0; i < heap->cnt; i++) { in scan_for_dirty() 137 lprops = heap->arr[i]; in scan_for_dirty() 145 * A LEB may have fallen off of the bottom of the dirty heap, and ended in scan_for_dirty() 199 * dirty index heap, and it falls-back to LPT scanning if the heaps are empty [all …]
|
| /linux/include/linux/ |
| H A D | dma-heap.h | 17 * struct dma_heap_ops - ops to operate on a given heap 23 struct dma_buf *(*allocate)(struct dma_heap *heap, 30 * struct dma_heap_export_info - information needed to export a new dmabuf heap 32 * @ops: ops struct for this heap 33 * @priv: heap exporter private data 35 * Information needed to export a new dmabuf heap. 43 void *dma_heap_get_drvdata(struct dma_heap *heap); 45 const char *dma_heap_get_name(struct dma_heap *heap);
|
| H A D | kfence.h | 41 * with regular heap objects (e.g. KFENCE objects must never be added to the 42 * allocator freelists). Failing to do so may and will result in heap 113 * kfence_alloc() should be inserted into the heap allocation fast path, 134 * @addr: pointer to a heap object 161 * __kfence_free() - release a KFENCE heap object to KFENCE pool 171 * kfence_free() - try to release an arbitrary heap object to KFENCE pool
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ |
| H A D | base.c | 255 nvkm_mmu_type(struct nvkm_mmu *mmu, int heap, u8 type) in nvkm_mmu_type() argument 257 if (heap >= 0 && !WARN_ON(mmu->type_nr == ARRAY_SIZE(mmu->type))) { in nvkm_mmu_type() 258 mmu->type[mmu->type_nr].type = type | mmu->heap[heap].type; in nvkm_mmu_type() 259 mmu->type[mmu->type_nr].heap = heap; in nvkm_mmu_type() 268 if (!WARN_ON(mmu->heap_nr == ARRAY_SIZE(mmu->heap))) { in nvkm_mmu_heap() 269 mmu->heap[mmu->heap_nr].type = type; in nvkm_mmu_heap() 270 mmu->heap[mmu->heap_nr].size = size; in nvkm_mmu_heap() 282 int heap; in nvkm_mmu_host() local 285 heap = nvkm_mmu_heap(mmu, NVKM_MEM_HOST, ~0ULL); in nvkm_mmu_host() 286 nvkm_mmu_type(mmu, heap, type); in nvkm_mmu_host() [all …]
|
| /linux/drivers/gpu/drm/nouveau/include/nvkm/core/ |
| H A D | mm.h | 12 u8 heap; member 34 int nvkm_mm_init(struct nvkm_mm *, u8 heap, u32 offset, u32 length, u32 block); 36 int nvkm_mm_head(struct nvkm_mm *, u8 heap, u8 type, u32 size_max, 38 int nvkm_mm_tail(struct nvkm_mm *, u8 heap, u8 type, u32 size_max, 44 nvkm_mm_heap_size(struct nvkm_mm *mm, u8 heap) in nvkm_mm_heap_size() argument 49 if (node->heap == heap) in nvkm_mm_heap_size()
|
| /linux/drivers/gpu/drm/nouveau/nvkm/core/ |
| H A D | mm.c | 99 b->heap = a->heap; in region_head() 111 nvkm_mm_head(struct nvkm_mm *mm, u8 heap, u8 type, u32 size_max, u32 size_min, in nvkm_mm_head() argument 122 if (unlikely(heap != NVKM_MM_HEAP_ANY)) { in nvkm_mm_head() 123 if (this->heap != heap) in nvkm_mm_head() 175 b->heap = a->heap; in region_tail() 186 nvkm_mm_tail(struct nvkm_mm *mm, u8 heap, u8 type, u32 size_max, u32 size_min, in nvkm_mm_tail() argument 198 if (unlikely(heap != NVKM_MM_HEAP_ANY)) { in nvkm_mm_tail() 199 if (this->heap != heap) in nvkm_mm_tail() 240 nvkm_mm_init(struct nvkm_mm *mm, u8 heap, u32 offset, u32 length, u32 block) in nvkm_mm_init() argument 277 node->heap = heap; in nvkm_mm_init()
|
| H A D | gpuobj.c | 180 ret = nvkm_mm_head(&parent->heap, 0, 1, size, size, in nvkm_gpuobj_ctor() 183 ret = nvkm_mm_tail(&parent->heap, 0, 1, size, size, in nvkm_gpuobj_ctor() 211 return nvkm_mm_init(&gpuobj->heap, 0, 0, gpuobj->size, 1); in nvkm_gpuobj_ctor() 220 nvkm_mm_free(&gpuobj->parent->heap, &gpuobj->node); in nvkm_gpuobj_del() 221 nvkm_mm_fini(&gpuobj->heap); in nvkm_gpuobj_del()
|
| /linux/tools/include/nolibc/ |
| H A D | stdlib.h | 94 struct nolibc_heap *heap; in free() local 99 heap = container_of(ptr, struct nolibc_heap, user_p); in free() 100 munmap(heap, heap->len); in free() 129 struct nolibc_heap *heap; in malloc() local 132 len = sizeof(*heap) + len; in malloc() 134 heap = mmap(NULL, len, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, in malloc() 136 if (__builtin_expect(heap == MAP_FAILED, 0)) in malloc() 139 heap->len = len; in malloc() 140 return heap->user_p; in malloc() 154 * No need to zero the heap, the MAP_ANONYMOUS in malloc() in calloc() [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvif/ |
| H A D | mmu.c | 35 kfree(mmu->heap); in nvif_mmu_dtor() 53 mmu->heap = NULL; in nvif_mmu_ctor() 72 mmu->heap = kmalloc_array(mmu->heap_nr, sizeof(*mmu->heap), in nvif_mmu_ctor() 76 if (ret = -ENOMEM, !mmu->heap || !mmu->type) in nvif_mmu_ctor() 92 mmu->heap[i].size = args.size; in nvif_mmu_ctor() 112 mmu->type[i].heap = args.heap; in nvif_mmu_ctor()
|
| /linux/arch/powerpc/include/asm/ |
| H A D | rheap.h | 4 * Header file for the implementation of a remote heap. 49 /* Create a remote heap dynamically */ 52 /* Destroy a remote heap, created by rh_create() */ 65 /* Allocate the given size from the remote heap (with alignment) */ 69 /* Allocate the given size from the remote heap */ 83 /* Simple dump of remote heap info */
|
| /linux/tools/perf/util/ |
| H A D | powerpc-vpadtl.c | 25 struct auxtrace_heap heap; member 362 * of perf record with timestamp of top element in the auxtrace heap. 363 * Process the auxtrace queue if the timestamp of element from heap is 366 * Update the timestamp of the auxtrace heap with the timestamp 379 if (!vpa->heap.heap_cnt) in powerpc_vpadtl_process_queues() 382 if (vpa->heap.heap_array[0].ordinal >= timestamp) in powerpc_vpadtl_process_queues() 385 queue_nr = vpa->heap.heap_array[0].queue_nr; in powerpc_vpadtl_process_queues() 389 auxtrace_heap__pop(&vpa->heap); in powerpc_vpadtl_process_queues() 391 if (vpa->heap.heap_cnt) { in powerpc_vpadtl_process_queues() 392 ts = vpa->heap.heap_array[0].ordinal + 1; in powerpc_vpadtl_process_queues() [all …]
|
| /linux/lib/zlib_deflate/ |
| H A D | deftree.c | 85 * need for the L_CODES extra codes used during heap construction. However 289 /* Index within the heap array of least frequent node in the Huffman tree */ 293 * Remove the smallest element from the heap and recreate the heap with 294 * one less element. Updates heap and heap_len. 298 top = s->heap[SMALLEST]; \ 299 s->heap[SMALLEST] = s->heap[s->heap_len--]; \ 312 * Restore the heap property by moving down the tree starting at node k, 314 * when the heap property is re-established (each father smaller than its 323 int v = s->heap[k]; in pqdownheap() 328 smaller(tree, s->heap[j+1], s->heap[j], s->depth)) { in pqdownheap() [all …]
|
| H A D | defutil.h | 30 /* maximum heap size */ 181 int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */ member 182 int heap_len; /* number of elements in the heap */ 184 /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used. 185 * The same heap array is used to build all trees.
|
| /linux/kernel/sched/ |
| H A D | cpudeadline.c | 111 * @cp: the cpudl max-heap context 166 * cpudl_clear - remove a CPU from the cpudl max-heap 167 * @cp: the cpudl max-heap context 205 * cpudl_set - update the cpudl max-heap 206 * @cp: the cpudl max-heap context 242 * @cp: the cpudl max-heap context 252 * @cp: the cpudl max-heap context 262 * @cp: the cpudl max-heap context 290 * @cp: the cpudl max-heap context
|
| /linux/security/ |
| H A D | Kconfig.hardening | 160 bool "Enable heap memory zeroing on allocation by default" 167 many kinds of "uninitialized heap memory" flaws, especially 168 heap content exposures. The performance impact varies by 173 bool "Enable heap memory zeroing on free by default" 180 when freed, eliminating many kinds of "uninitialized heap memory" 181 flaws, especially heap content exposures. The primary difference 232 are larger than the specified heap object, span multiple 235 of heap overflow exploits and similar kernel memory exposures.
|
| /linux/arch/x86/boot/ |
| H A D | main.c | 22 char *HEAP = _end; variable 23 char *heap_end = _end; /* Default end of heap = no heap */ 128 /* Boot protocol 2.00 only, no heap available */ in init_heap() 145 /* End of heap check */ in main()
|
| H A D | boot.h | 170 /* Heap -- available for dynamic lists. */ 172 extern char *HEAP; 174 #define RESET_HEAP() ((void *)( HEAP = _end )) 179 HEAP = (char *)(((size_t)HEAP+(a-1)) & ~(a-1)); in __get_heap() 180 tmp = HEAP; in __get_heap() 181 HEAP += s*n; in __get_heap() 189 return (int)(heap_end-HEAP) >= (int)n; in heap_free()
|
| /linux/arch/mips/boot/compressed/ |
| H A D | head.S | 32 PTR_LA a0, (.heap) /* heap address */ 51 .comm .heap,BOOT_HEAP_SIZE,4
|
| /linux/include/uapi/drm/ |
| H A D | pvr_drm.h | 258 * enum drm_pvr_heap_id - Array index for heap info data returned by 266 /** @DRM_PVR_HEAP_GENERAL: General purpose heap. */ 268 /** @DRM_PVR_HEAP_PDS_CODE_DATA: PDS code and data heap. */ 270 /** @DRM_PVR_HEAP_USC_CODE: USC code heap. */ 272 /** @DRM_PVR_HEAP_RGNHDR: Region header heap. Only used if GPU has BRN63142. */ 274 /** @DRM_PVR_HEAP_VIS_TEST: Visibility test heap. */ 276 /** @DRM_PVR_HEAP_TRANSFER_FRAG: Transfer fragment heap. */ 291 * struct drm_pvr_heap - Container holding information about a single heap. 296 /** @base: Base address of heap. */ 299 /** @size: Size of heap, in bytes. Will be 0 if the heap is not present. */ [all …]
|
| H A D | panthor_drm.h | 125 /** @DRM_PANTHOR_TILER_HEAP_CREATE: Create a tiler heap. */ 128 /** @DRM_PANTHOR_TILER_HEAP_DESTROY: Destroy a tiler heap. */ 447 * VM (heap chunks, heap context, ring buffers, kernel synchronization objects, 945 /** @vm_id: VM ID the tiler heap should be mapped to */ 968 * If the heap has more than tiler jobs in-flight, the FW will wait for render 973 /** @handle: Returned heap handle. Passed back to DESTROY_TILER_HEAP. */ 976 /** @tiler_heap_ctx_gpu_va: Returned heap GPU virtual address returned */ 980 * @first_heap_chunk_gpu_va: First heap chunk. 982 * The tiler heap i [all...] |
| /linux/drivers/md/bcache/ |
| H A D | util.h | 39 #define init_heap(heap, _size, gfp) \ argument 42 (heap)->used = 0; \ 43 (heap)->size = (_size); \ 44 _bytes = (heap)->size * sizeof(*(heap)->data); \ 45 (heap)->data = kvmalloc(_bytes, (gfp) & GFP_KERNEL); \ 46 (heap)->data; \ 49 #define free_heap(heap) \ argument 51 kvfree((heap)->data); \ 52 (heap)->data = NULL; \
|
| /linux/drivers/gpu/drm/lima/ |
| H A D | lima_gp.c | 37 dev_dbg(dev->dev, "%s out of heap irq status=%x\n", in lima_gp_irq_handler() 137 /* update real heap buffer size for GP */ in lima_gp_task_run() 148 task->heap = bo; in lima_gp_task_run() 253 if (fail_size == task->heap->heap_size) { in lima_gp_task_recover() 256 ret = lima_heap_alloc(task->heap, task->vm); in lima_gp_task_recover() 266 f[LIMA_GP_PLBU_ALLOC_START_ADDR >> 2] + task->heap->heap_size; in lima_gp_task_recover()
|
| /linux/kernel/configs/ |
| H A D | hardening.config | 54 # Sampling-based heap out-of-bounds and use-after-free detection. 60 # Initialize all heap variables to zero on allocation. 63 # Initialize all heap variables to zero on free to reduce stale data lifetime.
|
| /linux/arch/x86/realmode/rm/ |
| H A D | stack.S | 3 * Common heap and stack allocations 9 SYM_DATA(HEAP, .long rm_heap)
|