liamwhite
fb3f5b0482
Merge pull request #11155 from liamwhite/memory3
...
memory: check page against address space size
2023-07-28 09:29:21 -04:00
liamwhite
a28a0c47f8
Merge pull request #10990 from comex/ubsan
...
Fixes and workarounds to make UBSan happier on macOS
2023-07-26 10:33:28 -04:00
Liam
32a48f0d50
memory: check page against address space size
2023-07-25 09:51:06 -04:00
liamwhite
904e8975ea
Merge pull request #11095 from liamwhite/memory2
...
memory: cleanup
2023-07-24 13:47:11 -04:00
Liam
caf76a5603
core: implement GetGaiStringErrorRequest, IContextRegistrar
2023-07-22 23:29:45 -04:00
Liam
46234254b1
core: reduce TOCTTOU memory access
2023-07-22 11:19:29 -04:00
Liam
7073afff3b
memory: minimize dependency on process
2023-07-22 11:19:29 -04:00
liamwhite
de2fb523e3
Merge pull request #11094 from liamwhite/get
...
kernel: misc cleanup of page table accessors
2023-07-22 11:17:36 -04:00
bunnei
62b18a45db
Merge pull request #11113 from liamwhite/nsd1
...
nsd: add GetApplicationServerEnvironmentType
2023-07-21 21:24:36 -07:00
Liam
545880f71b
core: remove remaining uses of dynamic_cast
2023-07-21 19:37:29 -04:00
Liam
f07dd39222
general: reduce use of dynamic_cast
2023-07-21 19:22:14 -04:00
liamwhite
1b36e48f14
Merge pull request #11096 from german77/amiibooo
...
service: nfc: Update Implementation to match with latest RE
2023-07-21 09:21:48 -04:00
liamwhite
871be3a4d2
Merge pull request #11116 from lat9nq/clang-shadowing
...
general: Silence -Wshadow{,-uncaptured-local} warnings
2023-07-19 17:14:55 -04:00
liamwhite
075740115b
Merge pull request #11114 from Kelebek1/warnings
...
Mark SetIdleTimeDetectionExtension logging as debug
2023-07-19 17:14:45 -04:00
lat9nq
30e4e8c2f4
general: Silence -Wshadow{,-uncaptured-local} warnings
...
These occur in the latest commits in LLVM Clang.
2023-07-18 19:31:35 -04:00
Kelebek1
df8097de60
Debug SetIdleTimeDetectionExtension
2023-07-18 10:16:14 +01:00
Liam
0cd5b83aa3
nsd: add GetApplicationServerEnvironmentType
2023-07-17 21:34:23 -04:00
Morph
0263d2fb05
ssl: Link with crypt32 for secure channel backend
2023-07-17 15:46:24 -04:00
Morph
e5e843b73f
ssl: Reorder inclusions
2023-07-17 15:46:24 -04:00
Morph
74d0865478
network: Forward declarations
2023-07-17 15:36:03 -04:00
Narr the Reg
2aab79426a
service: nfc: Update Implementation to match with latest RE
2023-07-17 11:24:23 -06:00
liamwhite
b05ad55c4c
Merge pull request #10912 from comex/ssl
...
Implement SSL service
2023-07-16 16:56:47 -04:00
comex
85d77f636c
Fixes and workarounds to make UBSan happier on macOS
...
There are still some other issues not addressed here, but it's a start.
Workarounds for false-positive reports:
- `RasterizerAccelerated`: Put a gigantic array behind a `unique_ptr`,
because UBSan has a [hardcoded limit](https://stackoverflow.com/questions/64531383/c-runtime-error-using-fsanitize-undefined-object-has-a-possibly-invalid-vp )
of how big it thinks objects can be, specifically when dealing with
offset-to-top values used with multiple inheritance. Hopefully this
doesn't have a performance impact.
- `QueryCacheBase::QueryCacheBase`: Avoid an operation that UBSan thinks
is UB even though it at least arguably isn't. See the link in the
comment for more information.
Fixes for correct reports:
- `PageTable`, `Memory`: Use `uintptr_t` values instead of pointers to
avoid UB from pointer overflow (when pointer arithmetic wraps around
the address space).
- `KScheduler::Reload`: `thread->GetOwnerProcess()` can be `nullptr`;
avoid calling methods on it in this case. (The existing code returns
a garbage reference to a field, which is then passed into
`LoadWatchpointArray`, and apparently it's never used, so it's
harmless in practice but still triggers UBSan.)
- `KAutoObject::Close`: This function calls `this->Destroy()`, which
overwrites the beginning of the object with junk (specifically a free
list pointer). Then it calls `this->UnregisterWithKernel()`. UBSan
complains about a type mismatch because the vtable has been
overwritten, and I believe this is indeed UB. `UnregisterWithKernel`
also loads `m_kernel` from the 'freed' object, which seems to be
technically safe (the overwriting doesn't extend as far as that
field), but seems dubious. Switch to a `static` method and load
`m_kernel` in advance.
2023-07-15 12:00:28 -07:00
Liam
b47ce23b31
kernel: reduce page table region checking
2023-07-14 22:33:10 -04:00
Liam
6b6f0b21b9
k_process: PageTable -> GetPageTable
2023-07-14 21:43:15 -04:00
Tobias
16590ff2d0
file_sys/content_archive: Detect compressed NCAs ( #11047 )
2023-07-12 23:17:18 +02:00
bunnei
9a9da4301b
Merge pull request #10985 from liamwhite/handle-translate
...
k_server_session: translate special header for non-HLE requests
2023-07-11 16:49:24 -07:00
bunnei
ab18aeb500
Merge pull request #10996 from Kelebek1/readblock_optimisation
...
Use spans over guest memory where possible instead of copying data
2023-07-10 18:54:19 -07:00
Liam
1f791daa01
arm_interface: correct breakpoint rewind condition
2023-07-09 12:03:25 -04:00
Liam
ac90cfb927
k_server_session: translate special header for non-HLE requests
2023-07-08 01:01:49 -04:00
liamwhite
e6425500d3
vfs_real: use open file size for getting size ( #11016 )
2023-07-06 23:43:53 +02:00
german77
a4c3c3bc2e
service: nfc: Ensure controller is in the correct mode
2023-07-02 19:21:16 -06:00
Kelebek1
42638691b5
Use spans over guest memory where possible instead of copying data.
2023-07-02 23:09:48 +01:00
liamwhite
378fee4c18
Merge pull request #10998 from Morph1984/qt-stop-messing-with-me
...
core_timing: Remove GetCurrentTimerResolution in CoreTiming loop
2023-07-02 17:38:28 -04:00
liamwhite
6145c3edd0
Merge pull request #10969 from Morph1984/k-synchronize
...
kernel: Synchronize
2023-07-02 17:38:14 -04:00
Morph
81ba61a0bd
core_timing: Remove GetCurrentTimerResolution in CoreTiming loop
...
Other programs may change this value, but if thousands of syscalls in this loop is undesirable, then we can just set this once.
2023-07-02 15:08:04 -04:00
liamwhite
1bd420593c
Merge pull request #10942 from FernandoS27/android-is-a-pain-in-the-a--
...
Memory Tracking: Add mechanism to register small writes when gpu page is contested by GPU
2023-07-02 11:29:01 -04:00
liamwhite
35db479149
Merge pull request #10710 from liamwhite/romfs2
...
fsmitm_romfsbuild: avoid full path lookups
2023-07-02 11:28:55 -04:00
comex
1595193fa9
Rename variables to avoid -Wshadow warnings under GCC
2023-07-01 22:03:21 -07:00
comex
2ddbac990a
...actually add the SecureTransport backend to Git.
2023-07-01 17:48:36 -07:00
comex
f4b39f722d
Updates:
...
- Address PR feedback.
- Add SecureTransport backend for macOS.
2023-07-01 17:27:35 -07:00
comex
3b997a6083
Merge remote-tracking branch 'origin/master' into ssl
2023-07-01 15:01:11 -07:00
Morph
abe7f7c0a0
kernel: Synchronize
2023-07-01 16:21:22 -04:00
Morph
acfb053333
parcel: Optimize small_vector sizes
2023-06-30 22:05:28 -04:00
Morph
b8004b2472
general: Use ScratchBuffer where possible
2023-06-30 21:49:59 -04:00
Fernando Sahmkow
d1200cd5c6
Memory Tracker: Use 64 bit atomics instead of 128 bits
2023-06-29 12:25:12 +02:00
Fernando Sahmkow
4f68a8f45a
Memory Tracking: Optimize tracking to only use atomic writes when contested with the host GPU
2023-06-28 21:32:45 +02:00
Fernando Sahmkow
7ae0cdbb09
MemoryTracking: Initial setup of atomic writes.
2023-06-28 19:34:21 +02:00
Liam
d54f9ea34f
fsmitm_romfsbuild: avoid full path lookups
2023-06-27 23:25:47 -04:00
Merry
09012476db
arm_dynarmic_32: Remove disabling of block linking on arm64
2023-06-27 23:51:49 +01:00