aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
2024-04-12Revert "mempool: Track allocated items per range"HEADmasterMathieu Desnoyers1-12/+1
2024-04-12mempool: malloc: handle empty range listMathieu Desnoyers1-12/+18
2024-04-12mempool: use list.h APIMathieu Desnoyers5-23/+27
2024-04-12mempool: Track allocated items per rangeMathieu Desnoyers1-1/+12
2024-03-22mempool: default to per-cpu mempool typeMathieu Desnoyers2-5/+5
2024-03-20mempool: Rename pool policyMathieu Desnoyers4-68/+101
2024-03-19Add Olivier Dion to list of mempool authorsMathieu Desnoyers2-0/+2
2024-03-19mempool: Introduce COW_ZERO poison valueMathieu Desnoyers1-3/+8
2024-03-19mempool: Document destroy after fork for populate noneMathieu Desnoyers1-1/+3
2024-03-19mempool: Tests mempool destroy in child processMathieu Desnoyers1-0/+42
2024-03-19mempool: Allow mempool destroy in children processesMathieu Desnoyers1-19/+83
2024-03-19tests/mempool: Allocate pool in child for robust testsOlivier Dion1-30/+56
2024-03-19mempool: Fix error pool->rangeMathieu Desnoyers1-1/+1
2024-03-19mempool: Protect whole range of populate none across forkMathieu Desnoyers2-7/+9
2024-03-19mempool: Fix memfd leaks on errorMathieu Desnoyers1-2/+7
2024-03-19mempool: Use MADV_DONTFORK on init valuesMathieu Desnoyers1-0/+6
2024-03-19mempool: Add custom name to memfd_createOlivier Dion1-3/+12
2024-03-19mempool: Create memfd only for range creationMathieu Desnoyers1-104/+27
2024-03-18mempool: Rename DEFAULT_POISON_VALUE to DEFAULT_PRIVATE_POISON_VALUEMathieu Desnoyers1-3/+3
2024-03-18mempool: Introduce "private" populate policyMathieu Desnoyers4-28/+31
2024-03-18mempool: Remove mmap/munmap callbacksMathieu Desnoyers2-73/+11
2024-03-18mempool: replace memcmpbyte by rseq_cmp_itemMathieu Desnoyers1-25/+14
2024-03-18mempool: use bzeroMathieu Desnoyers1-2/+2
2024-03-18mempool: do not overwrite same per-cpu valuesMathieu Desnoyers1-16/+56
2024-03-18mempool cow test: use default strideMathieu Desnoyers1-4/+3
2024-03-17mempool: Test COW vs malloc_init raceMathieu Desnoyers4-0/+221
2024-03-16mempool tests: Adapt to free list new locationMathieu Desnoyers1-27/+44
2024-03-16Move robust pool free list to own memory areaMathieu Desnoyers1-20/+36
2024-03-16mempool: Fix off_t cast warning on 32-bitMathieu Desnoyers1-4/+10
2024-03-16mempool test: test populate none policyMathieu Desnoyers1-18/+28
2024-03-16mempool: Implement populate none policyMathieu Desnoyers3-32/+325
2024-03-15mempool: Fix leak on pool destroyMathieu Desnoyers1-1/+1
2024-03-13mempool: Introduce mmap_addr and mmap_len range fieldsMathieu Desnoyers1-2/+8
2024-03-10mempool_test: test rseq_mempool_percpu_malloc_initMathieu Desnoyers1-0/+20
2024-03-10mempool: implement malloc_initMathieu Desnoyers2-15/+117
2024-03-09mempool_test: test poison corruption detectionMathieu Desnoyers1-8/+45
2024-03-09mempool: Use default poison value when robust is setMathieu Desnoyers1-2/+12
2024-03-09mempool: check poison on destroyMathieu Desnoyers1-3/+28
2024-03-09mempool: Detect poison corruption on allocMathieu Desnoyers2-8/+42
2024-03-09mempool test: add one extra object after freeMathieu Desnoyers1-1/+10
2024-03-09mempool: introduce poison attributeMathieu Desnoyers3-0/+59
2024-03-09mempool test: Only use a single range for large strideMathieu Desnoyers1-1/+1
2024-03-09mempool test: test max_nr_ranges > 1Mathieu Desnoyers1-7/+18
2024-03-09mempool: Introduce rseq_mempool_attr_set_max_nr_rangesMathieu Desnoyers3-4/+28
2024-03-09mempool: Introduce support for ranges linked listMathieu Desnoyers1-28/+54
2024-03-09mempool: remove unused FIRST_POOLMathieu Desnoyers1-6/+0
2024-03-09mempool: cpu=-1 for init_func argument (global pool)Mathieu Desnoyers2-9/+25
2024-03-09mempool: init_func can return an errorMathieu Desnoyers2-7/+12
2024-03-09mempool: aligned_mmap_anonymous: support non-power-of-2 nr_cpusMathieu Desnoyers1-1/+1
2024-03-09rseq: Introduce rseq_get_max_nr_cpusMathieu Desnoyers3-2/+16
2024-03-09param_test: Use mempool max_nr_cpus rather than CPU_SETSIZEMathieu Desnoyers1-35/+45
2024-03-09mempool: Introduce rseq_mempool_get_max_nr_cpusMathieu Desnoyers2-0/+18
2024-03-09mempool: Introduce rseq_mempool_range_init_numa helperMathieu Desnoyers2-55/+51
2024-03-09mempool: Introduce init_func attributeMathieu Desnoyers2-1/+42
2024-03-09mempool: reenable rseq_mempool_range_init_numaMathieu Desnoyers1-9/+11
2024-03-08smp.c: fix includes and macro namespaceMathieu Desnoyers1-5/+5
2024-03-08Mempool: default as globalMathieu Desnoyers2-7/+22
2024-03-08mempool: Receive mempool type (percpu/global) as attributeMathieu Desnoyers7-66/+499
2024-03-08mempool test: iterate from page sizeMathieu Desnoyers2-5/+9
2024-03-08mempool: update comments in header fileMathieu Desnoyers1-11/+11
2024-03-08mempool: reduce default RSEQ_PERCPU_STRIDE to 64kB on 64-bitMathieu Desnoyers1-5/+1
2024-03-08membarrier rseq fence test: adapt to RSEQ_PERCPU_STRIDEMathieu Desnoyers1-2/+1
2024-03-08Add missing rseq_after_asm_goto in rseq_load_add_load_load_add_store__ptrMathieu Desnoyers1-0/+3
2024-03-08Revert "x86-64: Implement/use load_cbne_load_add_load_add_store"Mathieu Desnoyers4-39/+26
2024-03-08mempool: namespacing, add global alloc/freeMathieu Desnoyers4-54/+130
2024-03-08mempool: Introduce optional stride parameterMathieu Desnoyers4-20/+31
2024-03-08mempool: mass renaming of APIMathieu Desnoyers4-151/+151
2024-03-08tests/mempool_test: Add robust testingOlivier Dion1-0/+106
2024-03-08mempool: check for NULL pool on destroyMathieu Desnoyers1-5/+2
2024-03-08mempool: update header commentsMathieu Desnoyers1-2/+12
2024-03-08mempool: Remove unused definesMathieu Desnoyers1-17/+1
2024-03-08mempool: Remove pool array and lockMathieu Desnoyers1-37/+5
2024-03-08mempool: Use masks to get pool range from pointer and stride for percpu offsetMathieu Desnoyers3-34/+35
2024-03-08Memory map ranges aligned on the strideMathieu Desnoyers1-8/+93
2024-03-08percpu alloc: Introduce stride parameterMathieu Desnoyers5-45/+73
2024-03-08rseq-mempool: Call set_alloc_slot() on all pathsOlivier Dion1-1/+2
2024-03-08mempool: implement one rangeMathieu Desnoyers1-57/+132
2024-03-08Update mempool testMathieu Desnoyers1-0/+1
2024-03-08Add mempool test to make checkMathieu Desnoyers2-1/+5
2024-03-08mempool test: safe iteration for freeMathieu Desnoyers1-2/+2
2024-03-08Introduce mempool testMathieu Desnoyers5-0/+313
2024-03-08Rename percpu-alloc files to mempoolMathieu Desnoyers6-12/+12
2024-03-08Update gitignoreMathieu Desnoyers1-0/+1
2024-03-07percpu alloc: Remove RSEQ_POOL_ROBUST attributeMathieu Desnoyers1-15/+0
2024-03-07percpu-alloc: Add move_pages batchingOlivier Dion2-8/+40
2024-03-07percpu pool: Move robust flag to atttributeMathieu Desnoyers3-25/+45
2024-03-07percpu pool: mmap set attr: return error valueMathieu Desnoyers2-2/+9
2024-03-07percpu pool: Introduce generic attributesMathieu Desnoyers2-46/+49
2024-03-07percpu alloc: add pool nameMathieu Desnoyers3-24/+45
2024-03-07Fix typos in fprintfMathieu Desnoyers1-2/+2
2024-03-07percpu-alloc: Add free-list check on pool destroyOlivier Dion1-1/+54
2024-03-07rseq percpu: print caller ip on double-free/alloc corruption and leakMathieu Desnoyers1-10/+14
2024-03-07Fix: add missing \n in fprintfMathieu Desnoyers1-2/+2
2024-03-07Implement rseq_hweight_ulong with __builtin_popcountlMathieu Desnoyers1-5/+1
2024-03-07Fix destroy_alloc_bitmap sizeMathieu Desnoyers1-2/+1
2024-03-07percpu alloc: Improve robust poolsMathieu Desnoyers2-56/+95
2024-03-07percu-allocator: Implement robust pool validationOlivier Dion2-3/+104
2024-03-05percpu: remove rseq_percpu_pool_ptr_offsetMathieu Desnoyers2-18/+0
2024-03-05x86-64: Implement/use load_cbne_load_add_load_add_storeMathieu Desnoyers4-26/+39
2024-03-05Remove riscv has_load_add_load_load_add_store implementationMathieu Desnoyers2-56/+0
2024-03-05param test: membarrier: validate total number of incrementsMathieu Desnoyers1-2/+23
2024-03-05percpu allocator: Add flags argument for future extensionsMathieu Desnoyers3-8/+18
2024-03-04percpu alloc: introduce rseq mmap attributesMathieu Desnoyers3-50/+126
2024-03-04Cleanup: Remove whitelineMathieu Desnoyers1-1/+0
2024-03-04Rename RSEQ_ARCH_HAS_OFFSET_DEREF_ADDV to rseq_arch_has_load_add_load_load_ad...Mathieu Desnoyers4-4/+4
2024-03-04Revert "Introduce rseq_load_cbne_load_add_store pseudocode"Mathieu Desnoyers1-15/+0
2024-03-04Revert "x86: Introduce rseq_load_cbne_load_add_store"Mathieu Desnoyers1-120/+0
2024-03-04Revert "rseq.h: Introduce rseq_load_cbne_load_add_store__ptr"Mathieu Desnoyers1-19/+0
2024-03-04param tests: membarrier: pre-decode pointer offsetMathieu Desnoyers1-5/+7
2024-03-04percpu alloc: introduce rseq_percpu_pool_ptr_offsetMathieu Desnoyers2-0/+18
2024-03-04Document percpu allocMathieu Desnoyers2-4/+204
2024-03-04rseq percpu: Remove __rseq_percpu annotation from returned pointerMathieu Desnoyers1-1/+1
2024-03-03x86-32: ip-relative: return to post-call addressMathieu Desnoyers1-4/+4
2024-03-02param test: x86-32: use ip-relative addressing for RSEQ_INJECT_ASMMathieu Desnoyers1-7/+8
2024-03-02x86-32: Save ip reference for ip-relative addressingMathieu Desnoyers2-20/+83
2024-03-02x86-32: Use ip-relative addressing to store rseq_csMathieu Desnoyers1-6/+16
2024-03-02x86-32: work-around register pressure limitationsMathieu Desnoyers1-58/+48
2024-03-02x86-32: Document linker warningMathieu Desnoyers2-0/+14
2024-03-02arm: work-around register pressure limitationsMathieu Desnoyers1-61/+50
2024-03-01param tests: percpu memcpu buffer: use percpu allocMathieu Desnoyers1-32/+56
2024-03-01param tests: percpu buffer: use percpu allocMathieu Desnoyers1-31/+56
2024-03-01param tests: percpu list: use percpu allocMathieu Desnoyers1-43/+91
2024-03-01rseq.h: Introduce rseq_load_cbne_load_add_store__ptrMathieu Desnoyers1-0/+19
2024-03-01x86: Introduce rseq_load_cbne_load_add_storeMathieu Desnoyers1-0/+111
2024-03-01Introduce rseq_load_cbne_load_add_store pseudocodeMathieu Desnoyers1-0/+15
2024-03-01Rename rseq_load_add_load_add_store to rseq_load_add_load_load_add_storeMathieu Desnoyers5-8/+8
2024-03-01param test: counter increment: use percpu allocMathieu Desnoyers1-12/+27
2024-03-01param test: use __rseq_percpu pointer taggingMathieu Desnoyers1-6/+6
2024-03-01Add __rseq_percpu pointer taggingMathieu Desnoyers2-18/+28
2024-03-01Adapt spinlock param test to percpu allocMathieu Desnoyers1-19/+37
2024-03-01Skip first poolMathieu Desnoyers1-1/+7
2024-03-01percpu alloc: add missing extern CMathieu Desnoyers1-0/+8
2024-03-01Add missing include in percpu-alloc.hMathieu Desnoyers1-0/+1
2024-03-01Set errno on malloc errorMathieu Desnoyers1-0/+1
2024-03-01percpu pool set malloc: start search at relevant alloc orderMathieu Desnoyers1-0/+3
2024-03-01rseq-percpu: Improve documentationMathieu Desnoyers1-8/+13
2024-03-01Introduce rseq-alloc-utils.hMathieu Desnoyers3-106/+115
2024-03-01rseq percpu: Use high bits for pool indexMathieu Desnoyers1-14/+22
2024-03-01rseq percpu alloc: Implement numa supportMathieu Desnoyers4-39/+123
2024-03-01Implement per-cpu memory allocatorMathieu Desnoyers4-1/+485
2024-02-29Introduce __RSEQ_ASM_DEFINE_CS_FIELDSMathieu Desnoyers3-10/+17
2024-02-29Introduce common generic header fileMathieu Desnoyers9-452/+131
2024-02-29x86: Introduce RSEQ_ASM_U32Mathieu Desnoyers1-1/+4
2024-02-29riscv: Introduce RSEQ_ASM_U64_PTR and RSEQ_ASM_U32Mathieu Desnoyers1-7/+12
2024-02-29s390: Introduce RSEQ_ASM_U32Mathieu Desnoyers1-2/+5
2024-02-29ppc: Introduce RSEQ_ASM_U32Mathieu Desnoyers1-2/+5
2024-02-29mips: Introduce RSEQ_ASM_U32Mathieu Desnoyers1-3/+7
2024-02-29arm: Introduce RSEQ_ASM_U32Mathieu Desnoyers1-3/+7
2024-02-29aarch64: Introduce RSEQ_ASM_U32Mathieu Desnoyers1-1/+3
2024-02-29thread-pointer: suffix include guard with _HMathieu Desnoyers1-2/+2
2024-02-29arm: Fix big endian, introduce RSEQ_ASM_U64_PTRMathieu Desnoyers1-4/+15
2024-02-29arm: Cleanup header codying styleMathieu Desnoyers1-4/+4
2024-02-29aarch64: Introduce RSEQ_ASM_U64_PTRMathieu Desnoyers1-5/+8
2024-02-29aarch64: Cleanup header coding styleMathieu Desnoyers1-4/+4
2024-02-28s390: Introduce code deduplication macrosMathieu Desnoyers1-86/+53
2024-02-28ppc: Introduce code deduplication macrosMathieu Desnoyers1-106/+69
2024-02-28x86: Introduce code deduplication macrosMathieu Desnoyers1-84/+45
2024-02-28mips: Reorganise code deduplication macrosMathieu Desnoyers1-19/+31
2024-02-28Re-organise public headersMichael Jeanson29-252/+441
2024-02-28Fix supported autotools versions in README.mdMichael Jeanson1-2/+2
2024-02-27RSEQ_ASM_DEFINE_TABLE: use parentheses around parameters on all archsMathieu Desnoyers7-8/+8
2024-02-27Comment s390 macros implementationMathieu Desnoyers1-19/+119
2024-02-27s390: namespace public header macros under RSEQ_ASM_Mathieu Desnoyers2-63/+63
2024-02-27Comment riscv macros implementationMathieu Desnoyers1-10/+107
2024-02-27riscv: Add missing "inc" parameter to RSEQ_ASM_OP_R_DEREF_ADDVMathieu Desnoyers2-2/+2
2024-02-27riscv: namespace public header macros under RSEQ_ASM_Mathieu Desnoyers1-19/+19
2024-02-27mips: Move RSEQ_ASM_DEFINE_ABORT table_label parameter to 4th argumentMathieu Desnoyers2-17/+17
2024-02-27arm: Move RSEQ_ASM_DEFINE_ABORT table_label parameter to 4th argumentMathieu Desnoyers2-17/+17
2024-02-27Comment mips macros implementationMathieu Desnoyers1-12/+101
2024-02-27Comment ppc macros implementationMathieu Desnoyers1-25/+129
2024-02-27Comment arm64 macros implementationMathieu Desnoyers1-10/+93
2024-02-27Comment arm macros implementationMathieu Desnoyers1-8/+93
2024-02-27Comment x86 asm macros implementationMathieu Desnoyers2-43/+129
2024-02-27mips: Namespace type helpers under RSEQ_ASM_*Mathieu Desnoyers2-70/+70
2024-02-27ppc: Rename RSEQ_ASM_OP_R_MEMCPY to RSEQ_ASM_OP_R_BYTEWISE_MEMCPYMathieu Desnoyers2-2/+2
2024-02-27riscv: Rename RSEQ_ASM_OP_R_BAD_MEMCPY to RSEQ_ASM_OP_R_BYTEWISE_MEMCPYMathieu Desnoyers2-2/+2
2024-02-27arm64: Rename RSEQ_ASM_OP_R_BAD_MEMCPY to RSEQ_ASM_OP_R_BYTEWISE_MEMCPYMathieu Desnoyers2-2/+2
2024-02-27ppc: Rename RSEQ_ helpers to RSEQ_ASM_Mathieu Desnoyers1-29/+29
2024-02-27Rename RSEQ_TEMPLATE macrosMathieu Desnoyers16-153/+153
2024-02-27x86: Use RSEQ_ASM_ prefix for RSEQ_CPU_ID_OFFSET, RSEQ_CS_OFFSET, RSEQ_MM_CID...Mathieu Desnoyers3-18/+18
2024-02-27x86-32: Remove support for old IDT WinChip and PPROMathieu Desnoyers1-26/+4
2024-02-27Fix: seccomp tests require shared libsMichael Jeanson2-1/+6
2024-02-27x86-64: change jnz/jz for jne/je after cmp/testMathieu Desnoyers1-22/+22
2024-02-27Rename RSEQ_ASM_DEFINE_CMPFAIL to RSEQ_ASM_DEFINE_TEARDOWNMathieu Desnoyers8-25/+25
2024-02-27Rename branch labels from cmpfail to ne/eqMathieu Desnoyers7-168/+168
2024-02-27Update rseq critical section identifiers to match pseudo-codeMathieu Desnoyers10-116/+88
2024-02-27Add rseq critical section pseudocode documentationMathieu Desnoyers10-0/+185
2024-02-23tests: add unregistered and no syscall testsMichael Jeanson12-4/+259
2024-02-23fix: always set the rseq offset and flagsMichael Jeanson1-6/+6
2024-02-22Add 'teardown' parameter to RSEQ_ASM_DEFINE_ABORT on all archMichael Jeanson6-22/+25
2024-02-22Add comments to rseq_init()Michael Jeanson1-0/+39
2024-02-22doc: fix typo in rseq(2) man pageMichael Jeanson1-2/+1
2024-02-22Update autotools archive macrosMichael Jeanson3-49/+102
2024-02-22Clarify logic of RSEQ_ASM*_CMP* macrosMathieu Desnoyers14-154/+154
2024-02-22Document alignment of rseq_abi for allocated sizeMathieu Desnoyers1-0/+6
2024-01-10Fix: do not skip !allowed_cpus for mm_cidMathieu Desnoyers2-8/+28
2024-01-10Add arm64 headers to list of headers to be installedMathias Stearn1-0/+2
2023-10-25riscv: Fix __always_inline causes duplicate inlineMathieu Desnoyers1-7/+7
2023-06-12Add missing copyright headersMichael Jeanson4-0/+10
2023-05-04Remove whitelineMathieu Desnoyers1-1/+0