Commit graph

1017 commits

Author SHA1 Message Date
Andrea Mazzoleni
b71996984f Fix snapshot commit failure propagation to ensure sync exits with error 2026-08-13 22:49:27 +02:00
Andrea Mazzoleni
fbd9b9ea49 Defer pending snapshot promotion until parity sync 2026-08-13 22:49:27 +02:00
Andrea Mazzoleni
8630da5ade Fix Bcachefs snapshot renaming to use the atomic rename syscall 2026-08-13 21:34:20 +02:00
Andrea Mazzoleni
26e9c6d86f Isolate child process group with setpgid to prevent double signal delivery 2026-08-13 21:34:20 +02:00
Andrea Mazzoleni
01218792e2 Document why invalid GUID validation in fssnapshot_create returns immediately without WMI cleanup 2026-08-13 21:34:20 +02:00
Andrea Mazzoleni
6e5a59da10 Protect rate limiter state updates with a mutex to prevent data races 2026-08-13 21:34:20 +02:00
Andrea Mazzoleni
8945e9fb36 Align Windows rotational device detection fallback with Unix by assuming rotational when unknown 2026-08-12 00:10:26 +02:00
Andrea Mazzoleni
d41e57921a Fix potential division by zero in nalloc_nofail when size is zero 2026-08-12 00:07:32 +02:00
Andrea Mazzoleni
5d0534a7a3 Change the speed report link
Some checks failed
Build / build-mac (push) Has been cancelled
Build / build-linux (push) Has been cancelled
Build / build-win (push) Has been cancelled
CodeQL Advanced / Analyze (c-cpp) (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
2026-08-10 22:44:25 +02:00
Andrea Mazzoleni
40ad88efac Add S_ISBLK checks to devdereference_btrfs and devdereference_bcachefs
Some checks are pending
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-win (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-08-10 13:26:29 +02:00
Andrea Mazzoleni
37b70c378d Add devlabel_dev to read volume labels from /dev/disk/by-label 2026-08-10 13:26:29 +02:00
Andrea Mazzoleni
8299a30475 Remove libblkid support and build dependency 2026-08-10 12:08:04 +02:00
Andrea Mazzoleni
1692786269 Add FS_IOC_GETFSLABEL ioctl support for reading filesystem labels in Linux 2026-08-10 12:04:02 +02:00
Andrea Mazzoleni
6f404aad6a Reset all SMART attribute fields (raw, norm, worst, thresh) to SMART_UNASSIGNED when ignored 2026-08-10 11:41:55 +02:00
Andrea Mazzoleni
d3a4c80ab2 Comment about syshex 2026-08-10 11:37:08 +02:00
Andrea Mazzoleni
21b92ff33d Fail devdereference_zfs and devdereference_bcachefs if stat or S_ISBLK checks fail on any device 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
c3326dcb80 Return error in devdereference_bcachefs if no devices are found 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
2f3ca18f32 Free devlist allocations on error in devdereference_btrfs 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
14d25db309 Fallback to rotational in devpower if sysfs attribute is unknown 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
8c128c1bc3 Support filesystems with invalid inode numbers on individual files 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
cd39ccf752 Silence clang static analyzer warnings 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
aae5351146 Fix binary varint decoders to reject values overflowing uint32_t/uint64_t declared widths 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
149d44121e Validate the product/model returned by the Windows driver 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
2e8292ac49 Update to the new RAID library 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
8ae9441ba3 Fix build in different directory 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
98f93fb6c6 Defer deallocation of modified files to phase 2 to prevent copy-detection races 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
a9a37efaf2 Block signal delivery across fork to prevent signal forwarding race condition in main.c 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
99d923c3fe Cap maximum rate-limiter credit accumulation to 10 seconds to prevent huge post-pause bursts 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
1ae9e324d8 Use eaccess instead of access in unixapp.c for consistent effective privilege checking 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
24ba8ce554 Validate WMI-returned VSS snapshot GUID format in mingwapp.c to mitigate potential command injection 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
69f84d3cc0 Fix wide-character buffer size parameters in mingwapp.c snwprintf calls to prevent stack buffer overflow 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
49febbece9 Abort execution with a fatal error if smartctl options exceed maximum argument limit 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
5ff2048e09 Document the concurrency boundaries of worker threads 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
26cb63b93a Move string functions to new str.h and str.c files 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
f47af43b75 Move safe memory helper functions to dedicated memory.c and memory.h 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
12f406a5fb Fail if the PowerShell command is too long 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
56ca9750f0 Fix documentation of windows_guid_is_valid 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
18f61abcd1 Document handle_close failures 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
b0b913d3f4 Fix typo in monothread implementation 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
fcfd1eeae8 Fix leak on error in state_write 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
4bac0a9ed2 Fix leak on error in argutf8 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
da1ab93342 Avoid floating point underflow in thermal computation 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
4f6c2cdd07 Introduce nalloc_nofail 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
7dcf5a822f Fix strtrim to correctly trim strings containing only whitespace 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
028bb83f4f Prevent integer wrap-around when checking string length in sgetbs 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
b3a1a1838f Run PowerShell commands safely via base64 encoded strings 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
f453cde09e Pass element count instead of byte count to WCHAR buffer bounds 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
c2b25413c3 Synchronize child_process updates using interlocked Win32 APIs 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
fe6776a156 Avoid 100% CPU utlization in thread_yield 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
a9624a99b4 Document why thread_yield is used 2026-08-10 11:23:13 +02:00