Commit Graph

1036 Commits

Author SHA1 Message Date
f177b67e1f [*] GetLastError() == ERROR_FILE_EXISTS fast path 2023-09-13 03:48:10 +01:00
18ac961ac9 [*] (dwFlags & 0x4ffff7) && (!pCreateFile2) check
[*] (dwAttributes & 0xFFB00008) && (!pCreateFile2)
2023-09-13 03:38:59 +01:00
b4d5f4c127 [+] AuIO::IO::EStandardStream
[+] AuIO::IOHandle::InitFromStreamEnum(...)
2023-09-13 02:50:59 +01:00
d0538ea4de [*] NT/Win32-like: Use Win32Open as opposed to CreateFileW 2023-09-13 02:27:18 +01:00
a8696c0b7e [*] ...no 2023-09-13 00:02:26 +01:00
729c9f8508 [*] Ensure WaitFor always respects 0 timeouts, no matter the flags 2023-09-12 22:06:55 +01:00
6ff27c6855 [*] This was bothering me - 4b0a7c65 cont 2023-09-12 21:56:58 +01:00
6181d97c3c [*] Improve internal path consistency
[*] Removes some unnecessary panics
2023-09-12 20:49:02 +01:00
bf03124f92 [+] AuThreading::TryWait 2023-09-12 18:47:25 +01:00
8e54071d60 [-] Remove 2 year old 0.0 WaitFor back-off implementation 2023-09-12 18:30:45 +01:00
4b0a7c651a [*] Guess I should finalize this for linux. The verbosity of writing a cas in the wait loops is stupid if we arent doing anything special with the bits. 2023-09-12 16:12:54 +01:00
00260294b2 [*] Guess this got twisted, or maybe my intention was to zero out if we cant get accurate topology from apic bits; i don't recall 2023-09-12 14:11:09 +01:00
403c186f0a [*] Improve NT semaphore: use a different internal api now. Might help uncontested servers with work queues using semaphores 2023-09-12 13:28:46 +01:00
ffd61d4d54 [*] NT: AuProcess this is better 2023-09-12 02:01:12 +01:00
b46390f83a [*] Remove explicit Windows version check assuming certain file systems and platforms can be stupid 2023-09-12 01:35:54 +01:00
6062a16d9c [*] Prevent overflow into UNC root namespace of hostnames and volumes via path or filename overflow 2023-09-12 00:52:16 +01:00
92593be412 [*] FS path mitigation: begin to handle >= MAX_PATHs by enforcing UNC \\?\ prefixes across every single Win32/NT api we hit (if relevant. im sure some long paths may still break things.) 2023-09-10 23:49:47 +01:00
d727859cc2 [*] Linux/Modern NT regression in new optimized event wait path 2023-09-10 23:06:58 +01:00
22efbff12f [*] 74dc6772 cont: this structure is going to be padded to 32bits anyway. this makes the atomic operations easier 2023-09-10 18:10:36 +01:00
4915c5e6bf [*] dont like me stds' - big baz 2023-09-10 17:58:36 +01:00
5107911ba5 [*] Exploit mitigation - file protocols can be valid paths 2023-09-10 16:30:59 +01:00
445085d069 [*] old win32 - fix c6c35a58: missing ms to ns conversion 2023-09-10 15:51:26 +01:00
b539cfb353 [*] 74dc6772 cont: improvements 2023-09-10 15:04:32 +01:00
c6c35a588c [*] Switch to astatic Aurora::Utility::RateLimiter limiter` for gRuntimeConfig.threadingConfig.bWinXpThrough7BlazeOptimizerPower 2023-09-10 14:53:54 +01:00
74dc6772b0 [+] Non-mutually exclusive binary semaphore / event wait path
[+] ThreadingConfig::gPreferFutexEvent
2023-09-10 14:50:59 +01:00
48dc2e790b [+] IEvent::TrySet()
[+] New atomic logic for AuEvent. With this change, I can stop slandering it as the "shit primitive."
(it's still not the best it could be, but it's an improvement over what i had before)
2023-09-10 14:04:00 +01:00
12a2f30f47 [*] 9ab0c25b but for UNIX 2023-09-09 23:57:01 +01:00
9ab0c25b05 [*] Win32 opener: ensure file/dir exists (subject to time of check attack, but its fine to prevent stupid 'open' shellexec exploits. wont save you if io write is available) 2023-09-09 23:15:45 +01:00
1a4a4ad863 [*] Added missing this->s 2023-09-09 19:46:08 +01:00
dfe44317a0 [*] SMT Yield: minor branch added to SMT Yield 2023-09-09 18:09:22 +01:00
88355932c1 [*] Optimize thread configurations to be unpacked from the bitmap once at startup and during reconfigure as opposed ad-hoc 2023-09-09 17:37:14 +01:00
ca2f8fea71 [*] Mitigate Kernel32 and Rtl mixing 2023-09-09 15:29:48 +01:00
1fa063e19f [*] Why am i calling libm/crt from here? how stupid am i 2023-09-09 15:16:06 +01:00
4ad70cadb4 [*] optimization: cea33621 cont 2023-09-09 14:38:02 +01:00
e7ec875851 [*] added more win32 steady time clock, frequency-based fast paths 2023-09-09 13:58:14 +01:00
cf7be329d6 [*] Update fallback RNG entropy: reduce expected tick resolution 2023-09-09 13:50:26 +01:00
cea3362186 [*] Finally fixed an old regression: RWLock is back to being write-biased to prevent forever-read conditions 2023-09-09 13:03:02 +01:00
109b0cff3f [*] ...and same applies to RWLock
(instead its pls dont use the public api instead of the internal NT apis)
2023-09-09 12:39:47 +01:00
9601fcfd39 [*] NT AuThreadPrimitives: stop using these AuProcAddresses directly 2023-09-09 12:29:43 +01:00
8e59300395 [*] Another broken Linux path 2023-09-09 12:17:40 +01:00
51dcd190b3 [*] Missing SysPushErrorXXXs 2023-09-07 23:20:26 +01:00
36a72228db [*] Cleanup/formatting of SMT yields 2023-09-06 17:01:01 +01:00
213ed6c49b [*] yes 2023-09-05 22:31:16 +01:00
3adb019cf1 [*] d3587dbf cont 2023-09-05 15:03:59 +01:00
d3587dbf08 [*] 560ca079 cont perf improvement 2023-09-05 14:17:49 +01:00
560ca079a4 [*] AuAsync performance improvement: avoiding the kernel 2023-09-05 02:36:46 +01:00
876f4439b3 [*] NT proceesses: no point in pretending _spawnv is a real thing. this path is just causing defects. 2023-09-04 23:46:48 +01:00
f53508baa9 [*] Unify both SMT subloops 2023-09-04 23:03:08 +01:00
d112179c83 [*] May as well make this in line with the others 2023-09-04 16:45:42 +01:00
bcf3fabd83 [*] FS Resources (GetWritableAppdata): fail over to this path instead of failing 2023-09-04 16:32:28 +01:00