This release contains many minor fixes found with AI bug analysis tools, it is primarily a bug fix release.
New options:
--oom-no-child to remove OOM child wrapper, less overhead, more OOM deaths
--randprocname to randomize stressor process names to make process name tracking work harder
--resctrl for ARM MPAM cache resource control (coming soon on new Linux kernels)
Detailed changelog:
[Christian Franke]
- github workflows: add configurable build for multiple platforms
[Jimmy Durand Wesolowski]
- Makefile.machine: use OBJDUMP when available
[NexusXe]
- Fix typo 'checkboard' -> 'checkerboard' in stress-ng.1
[Pierre]
- spawn: preserve LD_LIBRARY_PATH if defined
[Colin Ian King]
- Debian: update changelog
- Makefile: bump version
- README.md: add bug https://bugzilla.kernel.org/show_bug.cgi?id=220750
- stress-sigsegv: only verify addresses if si_code is not 128
- stress-rtc: return with EXIT_NO_RESOURCE if RTC cannot be opened
- stress-*, core-net: check for sys/un.h for network sockaddr_un definition
- stress-core-filesystem: add build time check for sys/vfs.h
- stress-sigsegv: handle s390 that reports SIGSEGV fault address to page boundary
- stress-sigsegv: don't allow SIGSEGV addresses to be too high
- core-shim: remove direct system call, this is arch specific
- stress-sigill add some more SIGILL si_codes from siginfo.h
- stress-sigsegv: set expected address for case 10
- CITATIONBS.md: add another research paper reference
- stress-syncload: fix missing assignment to stress_syncload_x86_has_rdrand
- stress-{shedmix|yield}: voidify return from shim_sched_setattr
- core-resctrl: add guard check before including <sys/mount.h>
- stress-resctrl: replace return 0 with loop break
- stress-landlock: replace goto next with continue
- stress-str: fix build issue, remove char from typedef
- stress-zlib: fix maximize/minimize of params->mem_level
- stress-zlib: fix typo in zlib-strategy help option
- stress-zlib: fix morse code for letter 'b'
- stress-zero: fix arg ordering in lseek calls
- stress-zero: perform zero check on mmap'd ptr and not rd_buffer
- stress-zero: use mmap_index for mmap_flags indexing
- stress-schedmix: remove incorrect break statment, set new_policy
- stress-yield: fall back to non-deadline policy for instances > 0
- stress-yield: remove extraneous bogo op increment for FreeBSD
- stress-yield: cast max_ops_per_yielder to double for double comparison
- stress-yield: avoid division by zero when dividing by yielders
- stress-xattr: fix incorrect bitmap set/clear
- stress-x86syscall: use long int and not int long
- stress-x86syscall: fix cut-n-paste error on gids, use gid_t not pid_t
- stress-x86syscall: fix missing parenthesis in metrics message
- stress-x86cpuid: fix incorrect subleaf for processor extended state enumeration
- stress-x86cpuid: remove duplicated SGX compat leaf, sub-leaf 1 entry
- stress-workload: don't busy loop on INC64 workload
- stress-workload: fix randomization so that vecfp workload can be called
- stress-workload: fix incorrect sleep duration, need to use sleep_secs
- stress-wcs: use wchar_t null string terminator instead of char null terminator
- stress-wcs: fix typedef for test_wcscmp_t, it should return int
- stress-wcs: fix typo, wcschr should be wcsrchr
- stress-watchdog: remove setting fd to zero, it's not required
- stress-watchdog: fix comment specifying the incorrect device
- stress-waitcpu: call umwait1 with correct C-state hint
- stress-wait: call stress_wait_continued only if info.si_code is CLD_CONTINUED
- stress-vnni: fix typo "vmmi-intrinsic" -> "vnni-intrinsic"
- stress-vma: randomize FIXED mappings
- stress-vma: stress_vma_page should be page_size when mmapped
- stress-vma: fix inverted mmap success check
- stress-vma: use sizeof(charset) - 1 to ignore '\0' at end of buffer
- stress-vma: fix function name in stress_vma_maps block comment
- stress-vma: fix function name in block comment
- stress-vma: fix block comment for function
- stress-vm: enable fallback manual count bits when popcount is not available
- stress-vm: swap variable names lo/hi in vm_count_bits implementations
- stress-vm: fix typo in in vm_one_zone function comment block
- stress-vm-splice: fix off-by-one on size check for check value verification
- stress-vm-splice: add note about pipe write failurees
- stress-vmsplice: splice just n_bytes to match vmsplice size
- stress-vm-segv: add missing WIFSIGNALLED check before checking WTERMSIG
- stress-vm-rw: write to correct write end of pipe
- stress-vm-addr: fix missing cache flushing in a couple of methods
- stress-vm-addr: fix vm-addr-mlock from always being disabled
- stress-vm-addr: fix addr_dec to process first byte of buf
- stress-vm-addr: fix function names in comment blocks
- stress-vm-addr: fix typo: "vm-addr-uma" -> "vm-addr-numa"
- stress-vforkmany: fix reversed comparisons on waited and invoked
- stress-vforkmany: check pid with > 0 and not > 1
- stress-vforkmany: initialize invoked and waited with zero and not false
- stress-verity: use various hash algorithms for verity measuring ioctl
- stress-verity: remove redundant memset of block
- stress-vecwide: fix type sizes when comparing or copying
- stress-vecshuf: SHUFFLES_PER_LOOP should be 2 and not 4
- stress-vecshuf: fix typo in vecshuf-method option
- stress-vecmath: add leading 0 to hexadecimal value
- stress-vecmath: place colon in correct place in 128 bit vector error message
- stress-vecfp: ensure 128 bit vecfp floats are used for all 128 bit vecfp ops
- stress-veccmp: fix 128 bit type, should be signed and not unsigned
- stress-vdso: clean up ElfW pointer macro usage
- stress-vdso: remove extraneous + symbol
- stress-utime: fix off-by-one issue with metrics_count
- stress-utime: when using UTIME_NOW, the tv_nsec should be zero
- stress-userfaultfd: use consistent unsigned long int for addrs
- stress-userfaultfd: fix typo in error message
- stress-urandom: read fd_rnd_blk on blockable /dev/random
- stress-urandom: fix typo in error message "/dev/urandom" -> "/dev/random"
- stress-uprobe: only scan up to n bytes in data rather than entire buffer
- stress-unshare: check for pid > 0
- stress-unshare: use index n for indexing unshare_info and not i
- stress-unshare: use index n inside for-loop and not i
- stress-unlink: ensure fds[] is initialized
- stress-unlink: initialize n to zero to fix unlink count
- stress-unlink: fix incorrect accumulation of count metrics
- stress-umount: add delay on second umount iteration
- stress-umount: add user wrx permissions on mkdir call
- stress-umoint: fix typoe in error message "stresor" -> "stressor"
- stress-umask: save mask at start and restore original mask at end of stressor
- stress-umask: fix off-by-one on upper range of randomize umask
- stress-umask: fix functionality description in comment block
- stress-udp: fix typo on setting "upd-gro" -> "udp-gro"
- stress-udp-flood: return an error if stress_set_sockaddr_if fails
- stress-udp-flood: use correct protocol IPPPROTO_UDP for socket call
- stress-tun: add missing IFF_TUN bit on ifr.ifr_flags for tun tap ioctl
- stress-tun: fix incorrect ioctl command for TUNSETVNETHDRSZ
- stress-tun: fix typo in capability check error, should be CAP_NET_ADMIN
- stress-tun: fix network byte order on port using htons
- stress-tsearch: fix grammar in allocation failure message
- stress-tsearch: remove const from tfind/tdelete returns
- stress-tsearch: add missing CLASS_SEARCH to classifier
- stress-tsc: propagate failure if TSC verification fails
- stress-tsc: fix typo "monitonicall" -> "monotonically"
- stress-tsc: remove extraneous ; after while in macro
- stress-trig: cast 0.0 to double using double precision subtraction
- stress-trig: initialize long double constants with L specifier
- stress-tree: fix typo "goemetric" -> "geometric"
- stress-tree: add btree node allocation error handling
- stress-tree: remove redundant node free and NULLify
- stress-touch: fix typo in help for touch-method
- stress-touch: report if open or creat is used in error message
- stress-touch: remove -1 errno case, this is impossible
- stress-tmpfs: add notes about short writes not being checked
- stress-tmpfs: add notes about zero offset mmap calls
- stress-tmpfs: add notes on why unmapping is being done twice
- stress-tlb-shootdown: fix offset for memfd/mem regions
- stress-tlb-shootdown: fix comment blocks, set correct function name
- stress-timermix: initialize timer_id fields as TIMER_ID_INVALID
- stress-timermix: fix inverted LIKELY/UNLIKELY macro
- stress-timermix: uncomment out ok_ns
- stress-timerfd: re-arrange select/poll code paths for easier reading
- stress-timerfd: check if POLLIN bit is set by mask op rather than comparison
- stress-timerfd: only declare cap_wake_alarm if CLOCK_REALTIME_ALARM is defined
- stress-timerfd: use 1UL to set unsigned long int instead of 1ULL
- stress-timer: delete timer on error exit path
- stress-timer: make timer_overruns volatile
- stress-timerfd: don't use double precision rate for modulo math
- stress-timer: don't use double precision rate for modulo math
- stress-timer: use long int for tv_nsec rather than suseconds_t
- stress-time-warp: handle potential nanosecond overrun
- stress-time-warp: add missing HAVE_GETRUSAGE guard
- stress-time-warp: fix typo getitimeofday -> gettimeofday
- stress-time-warp: remove duplicated CLOCK_MONOTONIC_ACTIVE entry
- stress-time-warp: remove HAVE_LIB_RT undef
- stress-tee: bump counter only on successful writes
- stress-tee: fix fd[0] leaks and fix errno check on splice failure
- stress-priv-instr: add index check to avoid array overflow
- stress-sysinval: fix a couple of syscall test patterns
- stress-sysinval: fix missing close parenthesis for bfin_spinlock system call
- stress-sysinfo: continue next iteration if fstatfs fails
- stress-sysinfo: continue loop if mountpoint has been removed
- stress-sysfs: use pthread_cancel instead of pthread_kill
- stress-sysfs: remove MAP_ANONYMOUS for fd backed mmap
- stress-sysfs: add missing FD_SET on rfds for fd
- stress-sysfs: fix inverted logic on failure check when adding item to hash
- stress-syscall: fix mbind size for mbind call
- stress-syscall: fix t1 t2 timing settings for some system calls
- stress-syscall: remove duplicate CLOCK_MONOTONIC_ACTIVE
- stress-syscall: fix fd leak on epoll_ctl test
- stress-syscall: use signed type in shell sort to handle j -= interval underflow
- stress-syscall: fix typo in comment, hundredd -> hundred
- stress-syscall: fix typo in comment about t_set
- stress-sysbadaddr: set vma_anon on wx_page correctly
- stress-sysbadaddr: use rename syscall in rename2 test
- stress-sysbadaddr: memset ba->addr and not the pointer addr
- stress-sysbadaddr: fix cast to gid_t for gid type
- stress-sysbadaddr: gids should be gid_t type
- stress-sysbadaddr: ba->unwriteable should be true to test for stat on the data
- stress-sysbadaddr: fix clone valid pid checks
- stress-syncload: correct comment, 10,000 millisecs = 10 sec
- stress-syncload: rename stress_sysload_x86_had_rdrand to stress_syncload_x86_has_rdrand
- stress-sync-file: sync file halfway down file, as per comments
- stress-sync-file: fix typo for setting sync-file-bytes
- stress-switch: add missing state setting and sync wait
- stress-switch: ensure threshold is always > 0
- stress-swap: add guard to prevent potential integer underflow on swapped_out
- stress-swap: add missing S_IWUSR permission on open call
- stress-stream: fix potential buffer overflow in snprintf to hexstr
- stress-stream: add missing const for size_t variable idx
- stress-str: use test_strcpy_y type to declare test_strcpy
- stress-str: fix potential string overflow on str*cmp calls
- stress-statmount: remove double spacing in ternary operator
- stress-statmount: use ssize_t for lismount items returned
- stress-statmount: replace spaces with tab for indentation
- stress-stackmmap: use MMAPSTACK_SIZE for errors and vma anon name for stack_mmap
- stress-stack: remove sbrk() check, it's not needed
- stress-stack: stride across memory in 4 page sizes steps
- stress-splice: reduce size by actual number of bytes written to pipe
- stress-splice: fix typo in comment "se" -> "set"
- stress-spinmem: add sanity check in pid before trying to kill it
- stress-spinmem: fix typo in help "yeilds" -> "yields"
- stress-spawn: check WIFEXITED before checking WIFEXITSTATUS
- stress-spawn: fix incorrect check for failed posix_spawn
- stress-pagemove: don't munmap unmapped_page, it's been unmapped already
- stress-sigbus: open failure should be checking for < 0 and not < 1
- stress-sparsematrix: fix offset calculation for mmap'd sparse matrix
- stress-sparsematrix: set pointer to NULL and not zero
- stress-sparematrix: cast -1 to uint32_t before return
- stress-sparsematrix: fix typo in function name comment
- stress-softlockup: remove softlockup_start check, it's useless
- stress-sockpair: ensure duration is zero'd in parent for correct metrics
- stress-sockmany: munmap sock_fds with correct size
- stress-sockmany: exercise setsockopt on sfd and not fd
- stress-sockmany: ensure all fds are initialized on client
- stress-sockfd: fix fd leaks on error return paths
- stress-sockfd: move ALIGN64 attribute to correct place in declaration
- stress-sockdiag: clarify intention to continue when finding error
- stress-sockdiag: use correct type for length in NLMSG_* macros
- stress-sockabuse: remove redundant memset of timespec struct
- stress-sock: add notes about buf re-use in send/recv iovecs
- stress-sock: fix bool type to option sock_zerocopy
- stress-smi: fix message "not unreliable" to "unreliable"
- stress-smi: fix missing return EXIT_NO_RESOURCE on ioperm failure
- stress-smi: fix missing space in concatenated error message
- stress-smi: fix missing return -1 on smi supported check
- stress-sleep: add missing 1 microsecond select() test case
- stress-sleep: fix failure message, nanosleeps -> usleeps
- stress-skiplist: make value 32 bit, set max accordingly
- stress-skiplist: clarify variable r size max limit comment
- stress-sigxfsz: make async_sigs counter volatile
- stress-sigxfsz: fix typo in error message "getrimit" -> "getrlimit"
- stress-sigxcpu: fix comment in stress_sigxcpu function
- stress-sigxcpu: fix typo in error message "getrimit" -> "getrlimit"
- stress-sigxpcu: cut-n-paste on RLIMIT define check, should be RLIMIT_CPU
- stress-sigxcpu: fix cut-n-paste typo, getrlimit RLIMIT_FSIZE -> RLIMIT_CPU
- stress-vtalrm: add null check on s_args in signal handler
- stress-sigurg: move close on sfd to block where sfd is valid
- stress-sigurg: remove bogos fcntl calls
- stress-sigtrap: ensure t is initialized to double 0.0
- stress-sigtrap: make counter, t and duration volatile
- stress-sigsuspend: use correct error check for failed waitpid
- stress-sigsegv: fix comment on prot-none page
- stress-sigsegv: fix prot-none mmap failure error message
- stress-sigsegv: fix fault_addr bounds checking
- stress-sigsegv: fix comment and anon name setting for prot none page
- stress-sigrt: use sig as this is a register copy of sigs[i]
- stress-sigrt: use new variable j for loop iterator
- stress-sigrt: rename MAX_RTPIDS to MAX_RTSIGS, fix bounds check on idx
- stress-sigq: make handled_sigchld static, it's local to this stressor
- stress-sigpipe: use no-op sighandler if non-bogo ops count is used
- stress-sigpipe: only check for EPIPE errno if write returns < 0
- stress-sigpending: fix misleading sigpending failure message
- stress-signest: don't advance index i on duplicate match
- stress-signest: add bounds checking to ptr advancement
- stress-signest: qsort all signals and not just signalled signals
- stress-signal: make counter and refs to it volatile
- stress-sigio: remove volatile from sigio_args declaration
- stress-signal: clean up signal error handler messages
- stress-sigio: make sigio_args and time_end also volatile
- stress-sigio: call _exit in child with success value 0
- stress-sigio: add note about non-atomic bogo-op inc in signal handler
- stress-sigio: make rd_fd volatile to sure signal handler reads fresh value
- stress-sigio: initialize fds[] array with -1 elements
- stress-sigill: add extra HAVE_ILLEGAL_OP checks in illegal_op func declarations
- stress-sigill: remove redundant duplicated HAVE_SIGLONGJMP check
- stress-sigill: fix signal name typo, SIGBUS -> SIGILL
- stress-sighup: fix comment block for stress_sighup function
- stress-sighup: ensure all double fields in struct sighup_info are zero'd
- stress-sigfpe: fix typo "FPE_INTDEV" -> "FPE_INTDIV"
- stress-sigfd: removre redundant ret == 0 check
- stress-sigchld: make global signal incremented variables volatile
- stress-sigbus: move sighander setup to outside loop, more efficient
- stress-sigbus: fix undersized munmap for ptr
- stress-sigbus: remove double space in assignment
- stress-sigabrt: fix missing colon after stressor name in pr_fail messages
- stress-sigabrt: initialize fields in sigabrt_info
- stress-sigabrt: fix cut-n-paste comment for stress_sigabrt function
- stress-sigabrt: fix typo in error message "sigabort" -> "sigabrt"
- stress-sigabrt: unmap sigabrt_info when fork() fails
- stress-shm: ftruncate shm fd to required size
- stress-shm: remove MAP_ANONYMOUS in fd based mmap
- stress-secretmem: fix close on unopened fd
- stress-mmapfixed: ensure we vec size correctly sized
- stress-pipeherd: fix check, should be sz <= 0 and not sz < 0
- stress-shm-sysv: avoid any division by zeros
- stress-shm-sysv: indent errno assignment statement
- stress-shm-sysv: use fd and remove MAP_ANONYMOUS for mmap onto fd
- stress-shm-sysv: move exercising of shmget and shmctl into main loop
- stress-shellsort: add division by zero check for sorted metrics
- stress-shellsort: free data using munmap
- stress-set: cast setfsgid gid to gid_t type
- stress-set: fix typo in calloc sizeof variable pointer, should be *longname
- stress-session: fix inverted logic when checking returned child errno
- stress-session: use explicit 0 for error on successful getsid call
- stress-session: fix login on ECHILD error check
- stress-sendfile: unlink filename at error exit paths
- stress-sem: fix sem_init, use global shared var with init value of 1
- stress-sem: add missing pthread_join after a pthread_cancel
- stress-sem: fix typo in comment
- stress-sem-sysv: fix semctl SEM_INFO calls, use SEM_INFO and not IPC_INFO
- stress-sem-sysv: add in missing assignment to ret from semctl call
- stress-sem-sysv: fix typos in block comment
- stress-seek: add failed read size in error message
- stress-seek: only bump seek_count if lseek is successful
- stress-secremem: add bitmap to track secretmem page mappings/unmappings
- stress-secretmem: fix fd leak in stress_secretmem_supported
- stress-seccomp: remove duplicate SECCOMP_RET_LOG
- stress-sctp: add shims for SCTP_EVENT calls
- stress-sctp: add notes why int64_t is being used instead of sctp_assoc_value
- stress-sctp: fix typo in error message "server" -> "client"
- stress-sctp: fix typo TCP_NODELAY -> SCTP_NODELAY
- stress-schedpolicy: check if rng_prio is <= 0
- stress-schedmix: replace duplicated case 15 with a different sched workload
- stress-schemix: select a default policy for non-deadline instances > 0
- stress-schedmix: add lower bounds check to fdstdin
- stress-rtc: break out of loop only when fatal errors occur
- stress-rtc: add #ifdef guard for RTC_IRQP_SET
- stress-rtc: fix type in failure message "RTC_ALRM_READ" -> "RTC_ALM_READ"
- stress-rseq: add sanity check on rseq_area being non-null
- stress-rseq: remove unused variable cruft
- stress-rseq: fix ordering of rseq header files
- stress-rotate: fix incorrect rotate shim for 128 rotates
- stress-rmap: fix error check return from call to stress_rmap_touch
- stress-rmap: fix memory scanning increment and reversed error message args
- stress-rlimit: mmap anonymouse memory as private
- stress-rlimit: replace false with -1 in ret field initializer
- stress-stack: put huge garbage array on stack to trigger stack rlimits
- stress-rlimit: fix short help and add more description in manual
- stress-ring-pipe: fix typo in error message "stresor" -> "stressor"
- stress-ring-pipe: intentionally ignore returns from stress_pipe_non_block
- stress-ring-pipe: add error checking on fcntl F_GETFL and F_SETFL calls
- stress-revio: start reverse offset correctly, check for bad offsets
- stress-revio: scale revio_bytes_total by mumber of instances
- stress-revio: fix revio_opts array iteration, use SIZEOF_ARRAY
- stress-resources: fix incorrect memset size of s_pids array
- stress-resched: add unlikely check of negative max_prio
- stress-resched: avoid division by zero with yields[]
- stress-rename: remove unncessary string concatenation and add missing space
- stress-rename: fix typo in system call name in error message
- stress-remap: fix inverted munlock logic
- stress-remap: rename stress_get_umapped_addr to stress_get_unmapped_addr
- stress-remap: remove munmap of unmapped address
- stress-remap: fix incorrect ) on UNLIKELY if statement
- stress-regs: fix REGS_CHECK on r7 for generic regs code
- stress-regs: fix typo on r29 register stashing for PPC
- stress-regs: add missing t4 in reg sum for SPARC64
- stress-regs: fix typo in regs name in MIPS32R2 stash variable
- stress-regs: fix typo in regs name in ARM64 stash variable
- stress-regs: remove space in REGS_CHECK args
- stress-regs: fix typo in regs name in SSE stash variable
- stress-regs: add missing setting of stress_regs_success on failure
- stress-regs: swap expected vs actual register value in error message
- stress-regex: zero regex struct
- stress-regex: fix floating point regex, should end in $ rather than .$
- stress-reboot: add note about clone failure checking
- stress-reboot: check WEXITSTATUS iff WIFEXITED is true
- stress-readahead: don't allow underflow on offsets[] calculation
- stress-readahead: fix incorrect variable used in stress_exit_status
- stress-readahead: fix error message, ftruncate -> readahead
- stress-rdrand: calculate lo without potential underflow on subtraction
- stress-rdrand: add note about sanity check failures
- stress-rdrand: remove unused variable v
- stress-rawudp: use PACKET_SIZE for sendto data size
- stress-rawudp: add missing htons network order conversions
- stress-rawlock: add missing lock_acquire failure check
- stress-rawsock: set IP total length correctly
- stress-rawsock: add missing network byte ordering on rawsock_port
- stress-rawpkt: use sizeof(eth->h_source) for eth->h_source memcpy
- stress-rawpkt: fix cut-n-paste error on getsockopt options
- stress-rawpkt: fix typo in pr_inf message, rawpkt-rxing -> rawpkt-rxring
- stress-rawdev: add stress_continue check in stress_rawdev_ends loop
- stress-rawdev: remove extranous bogo op increment
- stress-rawdev: simplify out of memory failed allocation message
- stress-rawdev: use %zu for size_t printf format specifier
- stress-randlist: free all items on early exit during shuffle loop
- stress-ramfs: add user rwx permission on path to mount to
- stress-radixsort: add note about random string generation
- stress-radixsort: make variable len unsigned short int
- stress-race-sched: add some index checking on cpus[] array
- stress-race-sched: make child always exit
- stress-race-sched: fix check for valid waitpid returns, should be > 0
- stress-pty: fix build issue due to misplaced #endif
- stress-quota: ensure correct ret is returned on quotatrl calls
- stress-quota: ensure all devs are free'd on error exit path via tidy
- stress-quota: fix typo, use Q_GETINFO for dqinfo data
- stress-qsort: cast data to void * for qsort_func calls
- stress-qsort: free data using munmap
- stress-pty: only perform set ioctl commands if get variant were successful
- stress-pty: fix typo TCOOFLUSH -> TCIOFLUSH
- stress-ptrace: handle WEXITSTATUS correctly
- stress-ptrace: kill and wait if waitpid fails
- stress-ptr-chase: fix duplicate index in metrics
- stress-ptr-chase: fix grammar in debug message
- stress-ptr-chase: add missing space in ternary operator
- stress-pthread: actually use pthread mutex attributes in pthread mutex
- stress-pthread: actually use pthead attributes in pthread_create
- stress-pseek: fix type in option --pseek-seek-rand -> --pseek-rand
- stress-pseek: fix read/write durations in metrics rate calculations
- stress-pseek: add note about data verification for seek/read combo
- stress-pseek: fix typo in comment ped -> PID
- stress-procfs: declare dec at start of if statement
- stress-procfs: only increment i by sz and not by 1 on each loop
- stress-procfs: fix indentation style issue on goto statement
- stress-procfs: handle -ve and zero returns from scandir
- stress-priv-instr: update idx only after it may have been adjusted by signal handler
- stress-priv-instr: remove inline for signal handler declaration
- stress-priv-instr: add page mapped check in stress_ppc64_tlbie
- stress-priv-instr: add bounds check to op_info[idx]
- stress-prio-inv: remove mutex destroy on prio_inv_info->mutex
- stress-prio-inv: initialize child_info[i].pid to -1
- stress-prio: fix | in macro or, should be ||
- stress-prime: fix memory leak on object start_mpfr
- stress-prefetch: use STRESS_PTRU64_ADD() macro for pre_ptr too
- stress-prctl: remove extraneous 6th 0 arg from prctl calls
- stress-prctl: check errno with EINVAL and not -EINVAL
- stress-powmath: fix incorrect type cast for cpowf
- stress-powmath: long complex double should be long double complex
- stress-poll: treat short reads on pipe as an error
- stress-chyperbolic: relax precision on float hyperbolic tests
- stress-lockbus: don't do misaligned bus lock ops for m68k
- stress-plugin: use ElfW(Sum) instead of less portable Elf64_Sym
- stress-plugin: fix typo in inf message "plug-so" -> "plugin-so"
- stress-plugin: fix off-by-one bounds check on plugin_method
- stress-plugin: add sanity check on link map
- stress-pkey: free pkey on error return path
- stress-pkey: use page_size instead of args->page_size
- stress-pipeherd: add sanity checks for zero and undersized pipe read/writes
- stress-pipe: sum up bytes used based on vmsplice bytes copied
- stress-pipe: fix error message when O_DIRECT is not used
- stress-pipe: add shim_assume_aligned gcc hints to uint32_t * pointer accesses
- stress-ping-sock: avoid using privileged ports
- stress-physpage: don't try to delete non-existent mtrr
- stress-physmmap: fix bitmap size calculation, simplyfy the maths
- stress-physmmap: remove duplicate zero'ing of mappable_pages
- stress-physmmap: be consistent with reading only when physmmap_read is true
- stress-physmmap: fix typos in metrics "dev/kmem" -> "/dev/mem"
- stress-physmmap: fix typos in pr_inf message, missing "to", "munap" -> "munmap"
- stress-personality: fix failure check (off by one error)
- stress-personality: report correct number of personalities
- stress-personality: fix type in comment "unsure" -> "ensure"
- stress-personality: fix block comment
- stress-pci: add zero sized check to avoid mmap'ing zero sized region
- stress-pci: add more checks for failed scandir calls
- stress-pageswap: mmap pages using MAP_PRIVATE
- stress-pageswap: use local variable size rather than pi->size
- stress-pageswap: fix off-by-one comparison for unmapping calls
- stress-pageswap: fix units in metrics, should be microsecs not millisecs
- stress-pagemove: report mprotect read/write protection failures
- stress-pagemove: try to unmap unmapped_page for final cleanup
- stress-pagemove: add sanity check on forced munmap and report errors
- stress-open: open_rdonly_trunc: use two fds, close 2nd to avoid fd leak
- stress-open: fix type N_NOCTTY -> O_NOCTTY
- stress-open: replace , with ; in voidification statements
- stress-open: fix spelling mistake in help "specficify" -> "specify"
- stress-opcode: use U instead of L for 32 bit unsigned integer constant
- stress-opcode: compare uint64_t ops_attempted with integer rather than float
- stress-opcode: ensure i is declared ssize_t for decrement underflows
- stress-opcode: fix typo in comment
- stress-oom-pipe: replace max_pipes * 2 with the context->max_fd
- stress-oom-pipe: ensure fill pipe fills using the pipe size
- stress-numa: use pr_inf_skip for skipped inf messages
- stress-numa: add missing space before ==
- stress-null: fix C89 compatibility; move declaration above statement
- stress-null: fix space -> tab indentation style
- stress-nop: remove extraneous ; after MACRO invocations
- stress-nop: picoseconds should be nanoseconds
- stress-nice: add comment describing priority increment
- stress-nice: remove empty #ifdef/#endif block
- stress-nice: fix errno error check, non-zero is an error
- stress-nice: remove extraneous ;
- stress-netlink-task: add missing exit on sendcmd failure
- stress-netlink-task: add message size sanity checking
- stress-netlink-proc: add size check for proc_event
- stress-netlink-proc: add check for invalid nlmsg_len length
- stress-netlink-proc: add out of bounds check on len
- stress-netdev: break out of loop on memory allocation failure
- stress-netdev: free ifc.ifc_buf on error exit path
- stress-netdev: fix typo in error message "allocated" -> "allocate"
- stress-nanosleep: calculate overrun/overrun correctly
- stress-nanosleep: remove trailing whitespace before tab
- stress-nanosleep: add missing space after >>= operator
- stress-nanosleep: fix --nanosleep-method option
- stress-exit-group: cast exit_group_failed to volatile uint64_t *
- core-setting: add missing const on cast
- core-processes: rename val to ppid_val to avoid name shadowing
- stress-mutex: actually apply priority inheritence to mutex
- stress-mutex: check for non-zero on pthread_mutex_init call
- stress-mutex: make cpus and n_cpus local to scope by making them static
- stress-munmap: fix prime finding
- stress-munmap: fix typo in munmap metrics
- stress-munmap: fix errno check on rewind
- stress-mtx: correct fail messages and unimplemented messages
- stress-msyncmany: add note about unlikely pointer check
- stress-msyncmany: remove redundant voidification of context pointer
- stress-msyncmany: close fd on error return path
- stress-msync: fix typos in error message "seet" -> "seek"
- stress-msg: remove message queue on fork failure error path
- stress-msg: clean up else formatting style
- stress-mseal: unmap mapping if mseal_supported check fails
- stress-mmapmany: swap page_size and buffer size args numa_randomize_pages call
- stress-mmaphuge: swap page_size and buffer size args numa_randomize_pages call
- stress-mremap: swap page_size and buffer size args numa_randomize_pages call
- stress-mq: fix error checking on mq_getattr call
- stress-mq: move _exit to end of child function
- stress-mprotect: add note about not using PROT_EXEC
- stress-mprotect: fix memory leak of s_pids, add new exit path
- stress-mpfr: fix stess_mpfr_log comment block
- stress-mpfr: clear mpfr vars in reverse init order
- stress-mpfr: replace float arg with unsigned long in mprf_mul_ui call
- stress-monto-carlo: remove mask of i, when i < 16384 it is redundant
- stress-monte-carlo: clean up variable declaration style
- stress-monte-carlo: fix typo: "monto" -> "monte"
- stress-module: remove extraneous space before ;
- stress-module: call lzma_end() on stream on all return paths
- stress-module: set str.avail_out to be size of buf_out for next iteration
- stress-mmaptorture: fix typo "pec" -> "per"
- stress-mmaptorture: remove duplicate entries for MADV_POPULATE_{READ|WRITE}
- stress-mmaptorture: fix reset of mmap_fd_offset on wraparound
- stress-maptorture: swap order of mmap_pages and page_size in numa page randomization
- stress-mmaptorture: fix remapped page count
- stress-mmaptorture: free entire mapping and not pages
- stress-mmaptorture: fix missing increment of sigsegv_traps in handler
- stress-mmaprandom: fix missing else in cascaded if statements
- stress-mmaprandom: fix typo, should be setting flags and not mmap_fd
- stress-mmaprandom: fix function name in comment block
- stress-mmaphuge: fix size in fallocate error message
- stress-mmaphuge: fix size of context.bufs in error message
- stress-mmapfork: scale freemem by mem_unit to get correctly sized free memory
- stress-mmapfixed: remove redundant null check on mremap call
- stress-mmapfixed: correctly check for msync failure
- stress-mmapfixed: correctly check for failed mincore call
- stress-mmapfixed: mincore() and check correctly sized chunks
- stress-mmapfiles: fix typo in directory /etc
- stress-mmapcow: disable MMAPCOW_MLOCK correctly
- stress-mmapcow: fix typo in comment "Foward" -> "Forward"
- stress-mmapcow: fix typo in help info "reguler" -> "regular"
- stress-mmapaddr: use ret < 0 comparison since ret == 0 has already been checked
- stress-mmapaddr: ensure flags is initialized to zero
- stress-mmap: check for PAGE_MAPPED using explicit comparison
- stress-mlockmany: use munlockall to unlock all pages, add dummy mlockall call
- stress-mlock: reset metrics_count to zero when it reaches max limit
- stress-ng: refer user to the manual for more information on how to use
- stress-unshare: just kill child processes with SIGKILL
- stress-mlockmany: show children no mercy, kill them immediately
- stress-mknod: move casts of dir_fd and bad_fd into #else/#endif block
- stress-mknod: use err instead of errno in error reporting
- stress-mknod: copy the device ID of file and not device ID of device containing the file
- stress-mknod: fix typo in comment "cope" -> "copy"
- stress-misaligned: check HAVE_NT_STORE32 for 32 bit nt stores
- stress-misaligned: fix typos in pr_inf messages
- stress-misaligned: fix typo in block comment
- stress-misaligned: fix typo in stress_misaligned_disable func name
- stress-mincore: remove $ in error message
- stress-mincore: match mincore-random to mincore_random variable and opt name
- stress-mincore: remove static from vec, it's not required
- stress-mincore: fix typo in comment
- stress-min-nanosleep: set delays[k].finished when waitpid is successful
- stress-nanosleep: add underflow/overflow checks on dt_nsec
- stress-min-nanosleep: avoid division by zero if result.count is zero
- stress-metamix: explicitly use METAMIX_PROCS as instance number for main process
- stress-metamix: fix typo in copyright block
- stress-mergesort: use munmap to free data on error exit path
- stress-memthrash: fix typo in optimal function name
- stress-memthrash: fix typo in memsetstosd function name
- stress-memrate: swap stow and stod names, stow = word, stod = double word
- stress-memrate: rename vec types, should be 64 bit multiples
- stress-memrate: add missing space in division operation
- stress-memrate: fix typo: methood -> method
- stress-memhotplug: fix metrics, accumulate run time
- stress-memhotplug: pass mmap_ptr and mmap_size as args, remove globals
- stress-memfd: fix fallocate call, swap last two args
- stress-memfd: remove duplicate path/in/name test
- stress-memcpy: fix type mismatches in memmove checks and buffer randomization size
- stress-membarrier: fix comment in comment block
- stress-membarrier: add note on racy metrics gathering
- stress-mcontend: fix missing vdata[3] in mb and lfence ops
- stress-matrix: fix incorrect function name in block comment
- stress-matrix: remove unnecessary voidifications on arrays
- stress-matrix: set vma name on currect matrix
- stress-matrix-3d: fix incorrect function name in block comment
- stress-matrix-3d: removed voidification on used array a
- stress-matrix-3d: fix incorrect operator in sub matrix, use - instead of
- stress-malloc: avoid free'ing null objects
- stress-malloc: remove duplicated call to stress_alloc_action
- stress-malloc: fix off-by-one checks on malloc_args[]
- stress-madvise: re-eanable MADV_FREE
- stress-madvise: initialize static variable soft_offline_count
- stress-lsm: reset ctx to stat of buf for following lsm calls
- stress-lsm: fix call to lsm_list_modules size arg
- stress-fpunch: remove debug
- stress-lsearch: use sizeof(*root) for root allocation size
- stress-loop: add note on LOOP_CLR_FD call
- stress-loop: set info64 rather than info for LOOP_SET_STATUS64 call
- stress-loop: fix function name typo in comment block
- stress-longjmp: make variable sample_counter volatile
- stress-longjmp: fix error message for checking corruption after longjmp region
- stress-logmath: add missing space in classifier setting
- stress-logmath: name variable consistently, ldi should be di for double
- stress-logmath: long complex double should be long double complex
- stress-logmath: use log2l for long double log2 call
- stress-lockofd: initialize lockofd_infos to keep static analysis happy
- stress-lockofd: report the correct name of file the failed to open in error message
- stress-locmix: use F_SETLK to perform LOCKA locking
- stress-lockmix: lseek to lock position for lockf F_LOCK calls
- stress-lockf: describe why we always pop the head off the list
- stress-lockbus: unmap buffer on signal setup error exit paths
- stress-lockbus: add missing while (0) at end of SYNC_BOOL_COMPARE_AND_SWAP macro
- stress-lockbus: use correct buffer size of setting vma anon name
- stress-locka: fix locking, actually set the lock
- stress-loadavg: remove static from pthreads pointer
- stress-loadavg: don't set loadavg_max to 0 when threads_max is zero
- stress-llc-affinity: add missing --affinity-clflush option in help
- stress-llc-affinity: fix typo in metrics, "pec" -> "per"
- stress-list: move found flag into first loop
- stress-link: set rc to EXIT_FAILURE on readlink error
- stress-led: return early if scandir returns no entries
- stress-lease: set ret to EXIT_FAILURE on error exit path
- stress-landlock: fix mask, should be for bits 0..15
- stress-landlock: ensure all namelist[] entries are free'd
- stress-gpu: remove unrequired close on error return path
- stress-landlock: remove space in tabbed #define
- stress-l1cache: fix offset reported in cache value mismatch failure message
- stress-kvm: only report KVM version if ioctl succeeds
- stress-klog: use stress_instance_zero to check for instance 0
- stress-klog: remove duplicated zero instance check
- stress-kill: add notes explaining why fork failure is not a problem
- stress-kill: remove redundant saving/restoring of errno
- stress-key: ensure key payload name is set correctly based on i
- stress-kcmp: fix typo in return variable name, use res instead of ret
- stress-judy: fix removal of judy elements, need index based on gen_index(j)
- stress-jpeg: remove L suffix for a double variable constant
- stress-jpeg: fix help info for jpeg option
- stress-itimer: remove CLASS_SIGNAL from unimplemented stressor
- stress-ipsec-mb: fix memalign call, use correct variable name
- stress-ioprio: fix typo in pr_fail messages, OPRIO.. -> IOPRIO..
- stress-ioport: add 32.0 to double count_out
- stress-ioport: remove "not" from skip inf message
- stress-ioport: remove #define S, macro S is not used
- stress-iomix: cast len to off_t instead of ssize_t
- stress-iomix: clean up misaligned closed braces
- stress-iomix: fix typo in pr_fail message, write -> read
- stress-iomix: fix type on total bytes, use instances and not instance
- stress-iomix: fix typo in copyright message
- stress-io: fix type in failure message, succeed -> succeeded
- stress-io: remove redundant ENOSYS check on succeeded syncfs bad_fd call
- stress-io-uring: fix missing iouring opcode for sync file range
- stress-io-uring: move rw hint after the point where io_uring_file.fd is open
- stress-io-uring: fix typo in size when unmapping sq_mmap
- stress-intmath: fix typos in int math ops on incorrect registers
- stress-insertionsort: fix number of comparisons being made
- stress-insertionsort: fix help info, replace heap with insertion
- stress-insertionsort: use unmap to free data on error path
- stress-inotify: remove redundant check for i >= 0
- stress-inode-flags: fix termination check in stress_inode_flags_ioctl
- stress-inode-flags: free inode_flag_perms
- stress-inode-flags: add check for valid two_pages before using it
- stress-inode-flags: remove duplicate entry FS_SYNC_FL
- stress-inode-flags: remove duplicate entry FS_PROJINHERIT_FL
- stress-inode-flags: remove duplicate check on FS_IOC_SETFLAGS
- stress-idle-page: read sizeof(bitmap_get) rather than BITMAP_BYTES
- stress-icmp-flood: fix success rate metrics, don't divide by instances
- stress-icmp-flood: remove duplicated buffer randomization
- stress-icmp-flood: fix inverted logic for maximize option
- stress-icmp-flood: set incrementing seq number inside packet loop
- stress-hyperbolic: be consistent in casting for STRESS_HYPERBOLIC_LOOP divisions
- stress-hyperbolic: fix typo in hyperbolic help info
- stress-hsearch: use %zu to print format size_t variable
- stress-hrtimers: delete timer if timer_settime fails
- stress-hrtimers: make s_args and lock static
- stress-hrtimers: remove unused variable overrun
- stress-hrtimer: voidify return from stress_hrtimer_process call
- stress-hrtimers: fix grammer in hrtimes-adjust help info
- stress-heapsort: use munmap to free data allocation
- stress-heapsort: fix missing ] in heapsort-method help info
- stress-hdd: offset should be uint64_t
- stress-hdd: fix hdd_opts array iteration, use SIZEOF_ARRAY
- stress-hash: set total to 0 instead of false
- stress-hash: add missing space in function param list
- stress-handle: fix incorrect handle_at failure and errno checking
- stress-gpu: ensure fd is closed on error return paths
- stress-gpu: ensure configs is free'd on error return paths
- stress-gpu: remove duplicated texobj initialization
- stress-gpu: fix typo in help, CPU -> GPU
- stress-getrandom: fix getentropy failure check
- stress-getrandom: remove duplicated GRND_INSECURE entry
- stress-getdent: add sanity check on invalid d->reclen field
- stress-getdent: exercise getdents64 with zero size
- stress-getdent: truncate nread if too large
- stress-getdent: correct the pointer type stress_getdents_func
- stress-get: fix check on time() check get call
- stress-get: don't print path if it was getcwd failed to get it
- stress-futex: add error exit path for fork() failures
- stress-futex: try every 16th and not 17th iterations
- stress-futex: check errno for error, not ret
- stress-funcret: use relative episilon for float comparisons
- stress-funccall: use relative episilon for float/complex comparisons
- stress-full: fix error message, should refer to /dev/full and not /dev/null
- stress-fsize: add comment about non-atomic inc on sigxfz_count increment
- stress-fsize: fix typo in comment block
- stress-fractal: mandlebrot: increment xc after depth iterator loop, not inside
- stress-fractal: julia threshold comparison should be > 4.0 and not >= 4.0
- stress-fractal: use correct ysize constancts for minimize/maximize
- stress-fpunch: use correct #if defined checks for pread and pwrite
- stress-fpunch: don't cast result of devision to uint64_t
- stress-fpunch: need FALLOC_FL_KEEP_SIZE when using FALLOC_FP_PUNCH_HOLE
- stress-fpunch: fix inverted logic to previous write duplication avoiding
- stress-fp: fix missing inverse multiply for bf16 and f16 types
- stress-fp: fix substraction math, should be using SUB macro and not ADD
- stress-fp-error: fix typo in comment block
- stress-fp-error: fix is_inf parameter for cases where negative inf may occur
- stress-forkheavy: ensure new->next is NULL on alloc and reuse paths
- stress-forkheavy: fix minimize option, should be setting min size and not max
- stress-fork: remove redundant increment of j
- stress-fork: unset STRESS_MODE_UNMAP flag when fork_ummap is disabled
- stress-fma: add missing space in FP_FAST_FMAF call
- stress-fma: fix cut-n-paste add/subtract errors in subtraction fmas
- stress-flushcache: fix incorrect mumap size
- stress-flock: add yield check at start of loop
- stress-flock: replace space indentation with tab
- stress-flipflop: fix minor type in debug, taskset= should be taskset2=
- stress-flipflop: use compares instead of subtraction for cmp
- stress-flipflop: add missing space in copyright message
- stress-filerace: reset t_start to time now rather that t
- stress-filerace: use conistent file open/creat error checking
- stress-filerace: write to fds[i] instead of fd in stress_filerace_openmany
- stress-filerace: cast microseconds to suseconds_t type
- stress-filerace: ftruncate tmp_fd instead of fd
- stress-filename: remove duplicated increment of i
- stress-filename: fix typo in UTF-8 shift, should be 0 and not 9
- stress-filename: fix UTF-8 4 byte encoding prefix, should be 0xf0
- stress-filename: fix missing 0x in front of unicode value 110000
- stress-file-ioclt: check for flags < 0 for F_GETFL fcntl failure
- stress-file-ioctl: use consistent FSLABEL_MAX + 1 size for label buffer
- stress-file-ioctl: add break after fs_func is found in for-loop
- stress-file-ioctl: fix typo in check_flag ioctl name
- stress-fifo: fix incorrect status being passed to stress_exit_status call
- stress-fiemap: no need to close fd in writer function, it's closed at end of stressor
- stress-fiemap: remove assigment to error that was left in during debugging
- stress-fiemap: fix typo in filemap_bytes_total calculation
- stress-fd-race: defer calculating fd and fd_end
- stress-fd-race: fix randomize fd swapping
- stress-fd-fork: actually exit early by breaking when fork fails
- stress-fd-fork: print correct name of file that failed to open
- stress-fd-fork: print correct number of fd's that were failed to mmap
- stress-fd-abuse: add missing offset to F_UNLOCK lockf call
- stress-fd-abuse: use correct #if defined guards on network sockets
- stress-fd-abuse: fix typo in fd-abuse-ops option, missing -ops
- stress-fd-abuse: fix missing return in stress_fd_open_pipe2_wr_end
- stress-fcntl: fix incorrect use of F_DUPFD_CLOEXEC
- stress-fcntl: use || instead of | in macro defined checks
- stress-fault: initialize fd to -1 to handle longjmp call return path
- stress-fault: report correct error number if shim_posix_fallocate fails
- stress-far-branch: mangle offset correctly to get large spread
- stress-far-branch: munmap pages if they are not MAP_FAILED pointers
- stress-far-branch: fix randomization of pages
- stress-far-branch: ensure n_pages_fails is initialized to zero
- stress-fanotify: fix typo in inf and fail messages, init should be mark
- stress-fanotify: remove unused macro FANOTIFY_CLASS_BITS
- stress-fallocate: use fd instead of fd_async for more sync/async fallocate usage
- stress-fallocate: fix grammer in comment block
- stress-exp: fix incorrectly exp function used, used exp2l instead of exp2f
- stress-expmath: reorder type keywords to long double complex
- stress-exit-group: exit_group_shared counting needs to be on a shared page
- stress-exec: fix ret_dummy inverted logic check
- stress-exec: fix HAVE_EXECVEAT check, should be HAVE_FEXECVE
- stress-eventfd: fix typo in help, "eventfs" -> "eventfd"
- stress-epoll: fix inconsistent unmapped page validate check, n > 1 should be n > 0
- stress-epoll: fix missing event.data.fd assignment in EPOLL_CTL_MOD case
- stress-epoll: fix port counter, ensure it increments
- stress-epoll: fix incorrect epoll_pwait2 timeout
- stress-env: avoid modulo of zero in arg size calculation
- stress-env: fix typo in error messages "unsentenv" -> "unsetenv"
- stress-enosys: improve pipe fd closing and error return handling
- stress-enosys: close pipe fds on return
- stress-enosys: fix errno check for write failures
- stress-enosys: fix wrong system call for setxattrat
- stress-eigen-ops.cpp: use abs of result_check - result for accuracy check
- stress-efivar: set appropriate efi_ignore if efi variable access fails
- stress-efivar: fix rounding to page size calculation, add in missing ~
- stress-efivar: remove duplicated macro defines
- stress-easy-opcode: fix comments
- stress-easy-opcode: fix typo STRESS_ARC_BE -> STRESS_ARCH_BE
- stress-dup: add comment about closing fd and not the dup'd fd_dup
- stress-dup: cancel the correct timer
- stress-dirmany: re-work filename size calculation for snprintf
- stress-dirmany: fix stat to stat the correct filename
- stress-dirmany: fix type assignment, cast sizes to off_t to match assigned variable
- stress-dirmany: fix missing plural in metrics, file -> files
- stress-dirdeep: always account for inodes on a created file
- stress-dir: fix missing cast of shim_mode_t on mkdir mode
- stress-dfp: fix missing 64 and 128 decimal ops
- stress-dfp: fix dfp subtractions, use SUB macro and not ADD macro
- stress-dfp: fix parenthesis grouping on method and verify checks
- stress-dfp: fix typo in --dfp-method option
- stress-dev: fix comment block for list freeing
- stress-dev: use logical || instead of bit-wise | on S_ISBLK/S_ISCHR check
- stress-dev: use fd2 for preadv2 call and not fd
- stress-dev-shm: fix cut-n-paste error, replace duplicated SIGKILL with SIGBUS
- stress-dentry: ensure statbuf.st_size is set to zero if fstat call fails
- stress-dentry: fix F_GETFL fcntl call
- stress-dentry: fix missing update of t for current time on unlink timing
- stress-dekker: remove duplicated munmap
- stress-dekker: fix typos of decker in function name and literal string
- stress-dccp: add missing space in tenary operatior
- stress-dccp: set rc on error exit for failed stress_set_sockaddr_if call
- stress-dccp: use pid_t for mypid
- stress-dccp: fix typo in option dccp-if
- stress-cyclic: ensure timer is deleted on error path for itimer method
- stress-cyclic: bump cyclic_policy if deadline is not supported
- stress-cyclic: add space between function args
- stress-cyclic: clean up grammar in block comment
- stress-ctrig: put const keyword before types
- stress-ctrig: fix typo, use ctrig-method instead of trig-method
- stress-crypt: move break statement inside #if #endif block
- stress-cpu: remove leading 0 for 64 bit integers
- stress-cpu: use shim wrapped cosh and coshf for hyperbolic test
- stress-cpu: fix sqrtl error message, it should refer to sqrtl and not sqrtf
- stress-cpu-sched: cast n_cpus to time_t to avoid % overflow
- stress-cpu-sched: remove duplicated SCHED_EXT macro check
- stress-cpu-online: fix inverted cpu offline information message
- stress-cpu-online: initialize fds[] to keep static analyzers happy
- stress-cpu-online: fix incorrect flags for access() call
- stress-copy-file: fix unimplemented reason message
- stress-copy-file: replace redundant <= 0 check with < 0 check
- stress-copy-file: fix incorrect write sizes
- stress-close: clarify operation in comment
- stress-close: ensure all pthreads are terminated on file error
- stress-close: remove need for ENOSYS check if close_range failed
- stress-clone: remove duplicated CLONE_SYSVSEM clone flag
- stress-clock: fix clock_settime error checking
- stress-clock: fix incorrect system call name in error message
- stress-clock: remove duplicated CLOCK_MONOTONIC_ACTIVE entry
- stress-chyperbolic: fix missing long in long double math ops
- stress-chyperbolic: fix typo in help "hyberbolic" -> "hyperbolic"
- stress-chyperbolic: use CTANHF_SUM insteand of CTANHD_SUM for float check
- stress-chyperbolic: fix typo in help "hyberbolic" -> "hyperbolic"
- stress-chroot: check cwd_fd is valid before using it
- stress-chroot: initialize data->cwd_fd to -1 to keep static analysis happy
- stress-chroot: fix typo in comment of -> if
- stress-chown: fix misplaced ) in stress_chown_check calls
- stress-chown: remove redundant S_IRUSR flag, it's covered by S_IRWXU
- stress-chown: remove space
- stress-chmod: remove redundant S_IRUSR flag, it's covered by S_IRWXU
- stress-chmod: remove spaces
- stress-chdir: fix error message for filename of matching fd[j] and not fd[i]
- stress-chdir: fix error message for stat and not fstat
- stress-chattr: remove redundant S_IRUSR flag, it's covered by S_IRWXU
- stress-chattr: fix typo in comment
- stress-cgroup: add fork failure check, return if failed
- stress-cgroup: use pid_t type for pid and not int
- stress-cgroup: fix typo in comment
- stress-cap: fix typo in capset error message
- stress-cacheline: add missing volatile in pointer casts
- stress-cachehammer: remove duplicated NUMA setup
- stress-cachehammer: fix incorrect pointer being used to report an error
- stress-cache: replace 0 with false for boolean false
- stress-cache: fix typos in cache options for clwb and clflushopt
- stress-bubblesort: replace free with munmap on error exit path
- stress-bubblesort: replace heap with bubble
- stress-brk: remove empty line
- stress-brk: fix spelling mistake "succussful" -> "successful"
- stress-bitops: fix add/sub and xor swap verification checks
- stress-bitops: check for CLZ and not CTZ support
- stress-bitonicsort: use munmap to free data on sighandler failure
- stress-binderfs: clean up some comments
- stress-bind-mount: add user write permission to temp mount directory
- stress-bind-mount: clean up on error return paths
- stress-bind-mount: put stack on the parent stack
- stress-bigheap: correct out of memory size in pr_dbg message
- stress-bad-ioctl: break out of loop rather than return to fix memory leak
- stress-atomic: fix comment, 60 atomic operations -> 64 atomic operations
- stress-apparmor: fix counter j, it should be incremented not decremented
- stress-apparmor: fix cut-n-paste issue when checking failure_lock
- stress-alarm: fix sleep time in random sleep, should be using secs_sleep
- stress-aiol: be consistent in comparison of aiol submissions vs number expected
- stress-aiol: add bufptr overflow sanity check
- stress-aiol: fix typo in failure message
- stress-aio: make total a uint64_t to reduce risk of overflow
- stress-aio: break out of retry loop when retries hit max
- stress-affinity: replace two literal strings with one
- stress-affinity: use zeroed getmask to get affinity mask
- stress-af-alg: fix missing ; after statement
- stress-af-alg: fix end pointer calculation
- stress-acl: fix inverted % of acls completed report
- stress-acl: fix acl time measurements for set/get acls
- stress-acl: add acl_free calls to error exit return paths
- stress-access: fix error check on chmod error return
- stress-access: fix macro guard checks for mode flags
- core-lock: fix missing ) on pthread mutex deinit
- stress-ng: set vm anon name on correct page mapping for wo page
- stress-ng: fix build issues when HAVE_MPROTECT is not defined
- stress-ng: shrink shared region by page_size and not sz for end page
- stress-ng: fix spelling mistakes in comments
- stress-ng: fix two misplaces spaces in format strings
- core-vmstat: fix sleep delay for raplstat
- core-vmstat: add sanity check for zero vmstat_units_kb
- core-vmstat: fix BSD get_cpu_time memory leak on object vals
- core-try-open: close fd before _exit()
- core-try-open: fix typo in comment block
- core-time: fix function name in comment block
- core-thrash: fix comments
- core-lock: fix typo on call to pthread_mutex_destroy
- core-shim: fix typo ZEROS -> ZEROES
- core-thrash: fix incorrect sizeof comparison, don't use bits, use bytes
- core-thrash: remove extraneous space from path
- core-thermal-zone: nullify list once it is free'd
- core-thermal-zone: replace subtraction with comparisons in compare function
- core-thermal-zone: add tz_stat array index overflow check
- core-thermal-zone: inline stress_tz_type_fix, it is only called once
- core-sync: add WARN_UNUSED attribute to stress_sync_s_pids_map
- core-sync: fix grammar in error message
- core-stack: add LIKELY check on cached sz
- core-smart: add strdup memory allocationf failure check
- core-smart: fix stress_smart_dev_sort cmp function for cmp > 1
- core-signal: fix typo SIGARLM -> SIGALRM in comment
- core-signal: check sanity check for vsnprintf failures
- core-shim: fix cut-n-paste error on setxattrat call
- core-shim: fix cut-n-paste typo on __NR_file_setattr call
- core-shim: fix getxattrat and setxattrat system call params
- core-shim: use FALLOC_FL_WRITE_ZEROS instead of FALLOC_FL_COLLAPSE_RANGE
- core-shim: use SHIM_ICACHE instead of ICACHE to be portable
- core-shared-heap: ensure shared heap size is allocated correctly
- core-shared-cache: add check for non-zero cache->ways
- core-setting: use off_t casting for off_t type
- core-sched: fix indentation, replace spaces with tab
- core-sched: sched_get_sched_ext_ops: return size of sched_ext ops string
- core-sched: fix swapped prefix and deadline strings
- core-resources: use correct sizes when unmapping memfd and memfd_secret mappings
- core-resources: use MAP_FAILED for unmapped memfd and memfd_secret mappings
- core-resources: remove check in resources[i].m_mmap
- core-resctrl: ensure resctrl_mnt is at least 256 bytes in size
- core-resctrl: fix various typos
- core-rapl: use safer strscpy for strncpy
- core-rapl: fix some indentation issues
- core-processes: use intmax_t for pid_t scanning and printing
- core-prime: correct block comment
- core-prime: fix off-by-one max limit check in primality loop test
- core-perf: accumulate all perf counters from each instance
- core-perf: fix typo "ILB" -> "TLB"
- core-parse-opts: fix overflow check on percentage
- core-parse-opts: fix start of array comma print position
- core-parse-opts: fix spelling mistake "allower" -> "allowed"
- core-parse-opts: fix function name in comment block
- core-out-of-memory: remove trailing whitespace
- core-out-of-memory: fix typo PPORT_SET -> PPROT_SET
- core-opts: add in missing spaces before }
- core-opts: fix incorrect arg specification for --icmp-flood-max-size
- core-opts: remove extraneous commas in option array
- core-numa: use signed long returns for improved error handling
- core-numa: add null check on numa_mask before dereferencing it
- core-numa: free nodemask on error exits
- core-net: clean up code style, add in missing space in pointer cast
- core-net: fix function name in comment block
- core-mounts: return correct number of mount points added
- core-module: defer getting module name until it is really needed
- core-module: free deps list after loop has completed
- core-module: release list on module probe failure return path
- core-module: fix errno check on EEXIST
- core-mmap: add missing error check for failed shmget() call
- core-mlock: sanity check end vs start before calculating len
- core-mincore: fix function name in comment block
- core-mincore: fix page alignment calculation, add missing ~
- core-memory: add UNLIKELY hint on null path check
- core-memory: fix macro check on MAP_HUGE_1GB
- core-memory: fix sscanf return check, logic was inverted
- core-madvise: remove duplicated MADV_POPULATE_{READ|WRITE} macros
- core-limit: perform max_fd addition before cast
- core-lock: set errno to ENOSYS and not -ENOSYS
- core-lock: ensure mutex and semaphores are destoyed on deinit
- core-klog: nul terminate buffer after system read
- core-klog: remove duplicated watchdog hard lockup check
- core-job: fix file handle leak on out of memory error return path
- core-job: add NOCLOBBER hint to lineno rather than making it static
- core-interrupts: add some sanity checking on pointer to counters
- core-interrupts: fix copy-n-paste error on function name in comment
- core-ignite-cpu: explicitly nullify cpu_settings after free
- core-ignite-cpu: free cpu_settings on error return path
- core-ignite-cpu: ensure latency_fd is initialized
- core-helper: fix comment to stress_get_null helper
- core-helper: add missing final break of switch statement
- core-helper: fix shift for rnd4, should be shifting rnd4
- core-helper: replace sizeof(rnd2) with sizeof(rnd1)
- core-hash: add ( ) around shift expression before mask operation
- core-hash: fix copyright boilerplate
- core-ftrace: fix incorrect format specifier for int64_t count
- core-ftrace: fix leak of tn->func_name if RB_INSERT finds matching item
- core-filesystem: constrain devname to 129 chars
- core-filesystem: cast value for *blocks to uintmax_t instead of intmax_t
- core-filesystem: fix typos in comments
- core-filesystem: fix a couple of typos in filesystem magic
- core-cpuidle: remove space
- core-cpu: fix 0 shift for CPUID_archperfmonext_EAX
- core-cpu.c: remove duplicated macros
- core-cpu: remove CPUID_hypervisor_ECX, this is an used alias of xsave_ECX
- core-cpu: fix typo in macro CPUID_monitor_EC
- core-cpu-cache: fix icache size typo for RISC-V
- core-cpu-cache: fix ways size setting for AUXVAL configs
- core-cpu-cache: fix ways size setting for SPARC configs
- core-cpu-cache: fix ways size setting for APPLE configs
- core-cpu-cache: fix open fd check
- core-config-check: fix sscanf parse failure check
- core-clocksource: ensure buf is nul terminated
- core-capabilities: fix incorrect operator &= with &
- core-capabilities: move return -1 to correct code block
- core-asm-ret: add two padding bytes in RISC-V ret asm
- core-arch: fix SH4 check, should be STRESS_ARCH_SH
- core-affinity: use calloc to avoid size overflow on size * elements
- core-affinity: bounds check index into cpuset
- core-affinity: fix missing ) in message
- core-affinity: fix strncmp of 4 chars
- core-builtin.h: fix typo HAVE_BUILTIN_COSHL should be HAVE_BUILTIN_CCOSHL
- core-builtin.h: fix typo on HAVE_SQRTL, should be HAVE_CBRTL
- core-builtin: fix typo in shim_cpowl
- core-builtin: remove extraneous ) in macro for shim_cpowf
- stress-cyclic: add helper to find a specific scheduler policy
- stress-cyclic: fix build failure for systems without SCHED_EXT
- core-attribute: bump nonstring attribute for clang to version 20
- stress-ptr-chase: add page size information
- stress-ng: add --oom-no-child option to remove OOM child wrapper
- core-helper: stress_set_proc_name_scramble: put pid into a uint64_t
- stress-vm: add per stressor vm bogo-ops per second
- core-resctrl: remove trailing whitespace at end of comment
- stress-cgroup: add more comments
- stress-workload: add process name changing workload method
- core-help: make stress_set_proc_name_scramble non-static
- README.md: update contributors list
- core-helper: rephrase comment for stress_set_proc_name_scramble
- stress-ng: add new --randprocname option for randomized stress process names
- stress-eigen: add per stressor geomean of eigen ops per second
- stress-cachehammer: add per stressor geomean of cachehammer ops per second
- stress-wait: use PRIdMAX and intmax_t cast to print format pid_t
- stress-*: remove trailing white spaces from end of lines
- stress-tsearch: increase max tsearch items to 64 * 1024 * 1024t
- stress-lsearch: increase max lsearch items to 64 * 1024 * 1024
- stress-hsearch: increase max hsearch items to 64 * 1024 * 1024
- stress-fibsearch: increase max fibsearch items to 64 * 1024 * 1024
- stress-bsearch: increase max bsearch items to 64 * 1024 * 1024
- stress-cache: report cache ops rate for each stressor
- stress-tsearch: report tsearch comparisons rate for each stressor
- stress-lsearch: report lsearch comparisons rate for each stressor
- stress-fibsearch: report fibsearch comparisons rate for each stressor
- stress-bsearch: report bsearch comparisons rate for each stressor
- stress-tree: report geometric mean of tree op rates for each stressor
- stress-shellsort: report shellsort comparisons rate for each stressor
- stress-qsort: report qsort comparisons rate for each stressor
- stress-mergesort: report mergesort comparisons rate for each stressor
- stress-insertionsort: report insertionsort comparisons rate for each stressor
- stress-heapsort: report heapsort comparisons rate for each stressor
- stress-bubblesort: report bubblesort comparisons rate for each stressor
- stress-bitonicsort: report bitonicsort comparisons rate for each stressor
- stress-sparsematrix: report geometric mean of put/get rates for each stressor
- stress-ptr-chase: report geometric mean of ptr-chase rates for each stressor
- core-resctrl: fix strstr null pointer check
- stress-matrix-3d: add per stressor geomean of matrix-3d ops per second
- stress-matrix: add per stressor geomean of matrix ops per second
- stress-memrate: report geometric mean of read/write rates for each stressor
- Manual: add note to resctrl concerning invalid resctrl settings
- CITATIONS.md: add another reference to a research paper
- core-resctrl: add ARM MPAM resctrl
- CITATIONS.md: Add some more references to papers
- stress-ng: replace stress_is_stressor_name with stress_stressor_find
- stress-mmaphuge: add 512MB page size for ARM64
- stress-cache: disable fence for systems that don't support mfence
- stress-cache: disable prefetchw for systems that don't support it (e.g. non-x86)
- stress-madvise: read /proc/$PID/smaps and /proc/$PID/maps 1 in 16 times
- stress-madvise: use stress_read_discard to consume smaps data
- stress-affinity: don't report task move failure of using --taskset-random
- CITATIONS.md: add another reference
- stress-ng: allow --all, --seq, --permute to specify instances by % of online CPUS
- stress-pagemove: move buffer size computation to main function
- CITATIONS.md: fix paste error in URL
- CITATIONS.md: Add ASTREA reference
- stress-dev: add more avoidance checks for problematic devices
- stress-pagemove: ensure mmap size is always a multiple of page size
- stress-pagemove: ensure pages is updated and improve page mismatch error
- stress-pagemove: ensure there are at least 3 pages to move
- stress-workload: fix workload-sched mini help info
- core-time: wrap stress_duration_to_str declaration
- stress-ng: rename stress_alloc_proc_resources to stress_alloc_proc_stats
- core-sync: add build time check for __ATOMIC_SEQ_CST
- stress-ng: rename stress_alloc_proc_resources to stress_alloc_proc_stats
- core-stack: constify size arg in stress_get_stack_top
- core-sort: constify size args to swap functions
- core-mwc: rename stress_mwc_seed to stress_mwc_default_seed
- core-filesystem: add missing MINIX2_SUPER_MAGIC2
- stress-ng: add more data to SIGUSR2 data, output with writes
- core-log: make pr_fd() accessible to all of stress-ng
- stress-workload: fix | in workload-sched help option
- stress-chown: reduce fsync() calls to every 128th bogo-op
- core-sched: check sched_ext disabled state
- stess-cyclic: report sched_ext ops field for SCHED_EXT scheduler
- core-sched: add sched_get_sched_ext_ops to get sched_ext_ops field
- stress-cyclic: add support for non-RT scheduling policy
- README.md: Add another contributor to the list
- stress-rseq: use either linux/rseq.h or sys/rseq.h, not both
- stress-mmaprandom: voidify mask
- stress-ng: remove redundant assignment to oom_message
- core-attribute.h: enable HAVE_ATTRIBUTE_NONSTRING for clang
- stress-min-nanosleep: set max nanosecs correctly, add sanity check on max_delay
- core-smart: use int rather than size_t for i and n
- stress-cacheline: fix typo: initialized -> initialize
- stress-io-uring: use helper function to perform populated mmap
- stress-procfs: use helper function to perform populated mmap
- stress-matrix: no need to use MAP_POPULATE for populate mmap call
- stress-matrix-3d: no need to use MAP_POPULATE for populate mmap call
- stress-iomix: use helper function to perform populated mmap
- stress-clone: use helper function to perform populated mmap
- core-hash: replace CONST with PURE to fix issue when using -flto
- stress-ng: hash the checksum rather than all the data
- core-intterrupts: remove empty line
- stress-alarm: bump bogo op counter and check for timeout more frequently