liamwhite
689dc4a17b
Merge pull request #11155 from liamwhite/memory3
...
memory: check page against address space size
2023-07-28 09:29:21 -04:00
liamwhite
d3da1e6517
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
07f71e2620
memory: check page against address space size
2023-07-25 09:51:06 -04:00
liamwhite
18000df5e9
Merge pull request #11095 from liamwhite/memory2
...
memory: cleanup
2023-07-24 13:47:11 -04:00
Liam
3e3294e1c2
core: implement GetGaiStringErrorRequest, IContextRegistrar
2023-07-22 23:29:45 -04:00
Liam
9f3f615e05
core: reduce TOCTTOU memory access
2023-07-22 11:19:29 -04:00
Liam
d144168442
memory: minimize dependency on process
2023-07-22 11:19:29 -04:00
liamwhite
b1aed2c5b7
Merge pull request #11094 from liamwhite/get
...
kernel: misc cleanup of page table accessors
2023-07-22 11:17:36 -04:00
bunnei
482c957f5d
Merge pull request #11113 from liamwhite/nsd1
...
nsd: add GetApplicationServerEnvironmentType
2023-07-21 21:24:36 -07:00
Liam
05bc024260
core: remove remaining uses of dynamic_cast
2023-07-21 19:37:29 -04:00
Liam
4bee333d84
general: reduce use of dynamic_cast
2023-07-21 19:22:14 -04:00
liamwhite
c0202da9ac
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
014ca709c9
Merge pull request #11116 from lat9nq/clang-shadowing
...
general: Silence -Wshadow{,-uncaptured-local} warnings
2023-07-19 17:14:55 -04:00
liamwhite
86bbfe3b1d
Merge pull request #11114 from Kelebek1/warnings
...
Mark SetIdleTimeDetectionExtension logging as debug
2023-07-19 17:14:45 -04:00
lat9nq
71b3b2a2f0
general: Silence -Wshadow{,-uncaptured-local} warnings
...
These occur in the latest commits in LLVM Clang.
2023-07-18 19:31:35 -04:00
Kelebek1
80cd67ed7b
Debug SetIdleTimeDetectionExtension
2023-07-18 10:16:14 +01:00
Liam
8f1d48fda6
nsd: add GetApplicationServerEnvironmentType
2023-07-17 21:34:23 -04:00
Morph
16c238e4b9
ssl: Link with crypt32 for secure channel backend
2023-07-17 15:46:24 -04:00
Morph
e0fb1d3d17
ssl: Reorder inclusions
2023-07-17 15:46:24 -04:00
Morph
5bbc3aef13
network: Forward declarations
2023-07-17 15:36:03 -04:00
Narr the Reg
54f150b70a
service: nfc: Update Implementation to match with latest RE
2023-07-17 11:24:23 -06:00
liamwhite
2461c78e3f
Merge pull request #10912 from comex/ssl
...
Implement SSL service
2023-07-16 16:56:47 -04:00
comex
d7c532d889
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
474db2d8da
kernel: reduce page table region checking
2023-07-14 22:33:10 -04:00
Liam
a85ce8ea56
k_process: PageTable -> GetPageTable
2023-07-14 21:43:15 -04:00
Tobias
04868ab9da
file_sys/content_archive: Detect compressed NCAs ( #11047 )
2023-07-12 23:17:18 +02:00
bunnei
28598c9090
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
ce7c418e0c
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
82568412f6
arm_interface: correct breakpoint rewind condition
2023-07-09 12:03:25 -04:00
Liam
4540bcfaf7
k_server_session: translate special header for non-HLE requests
2023-07-08 01:01:49 -04:00
liamwhite
8bf46f48f8
vfs_real: use open file size for getting size ( #11016 )
2023-07-06 23:43:53 +02:00
german77
9cd698e8ad
service: nfc: Ensure controller is in the correct mode
2023-07-02 19:21:16 -06:00
Kelebek1
6f7cb69c94
Use spans over guest memory where possible instead of copying data.
2023-07-02 23:09:48 +01:00
liamwhite
95ceae40e6
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
daaf03942f
Merge pull request #10969 from Morph1984/k-synchronize
...
kernel: Synchronize
2023-07-02 17:38:14 -04:00
Morph
c3fbc8d2fe
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
eaa62aee98
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
87080e71c5
Merge pull request #10710 from liamwhite/romfs2
...
fsmitm_romfsbuild: avoid full path lookups
2023-07-02 11:28:55 -04:00
comex
644c3ce609
Rename variables to avoid -Wshadow warnings under GCC
2023-07-01 22:03:21 -07:00
comex
0ed1cb7266
...actually add the SecureTransport backend to Git.
2023-07-01 17:48:36 -07:00
comex
0e191c2711
Updates:
...
- Address PR feedback.
- Add SecureTransport backend for macOS.
2023-07-01 17:27:35 -07:00
comex
98685d48e3
Merge remote-tracking branch 'origin/master' into ssl
2023-07-01 15:01:11 -07:00
Morph
b94e576653
kernel: Synchronize
2023-07-01 16:21:22 -04:00
Morph
1a46823ec5
parcel: Optimize small_vector sizes
2023-06-30 22:05:28 -04:00
Morph
310b6cf4af
general: Use ScratchBuffer where possible
2023-06-30 21:49:59 -04:00
Fernando Sahmkow
0e6b559c98
Memory Tracker: Use 64 bit atomics instead of 128 bits
2023-06-29 12:25:12 +02:00
Fernando Sahmkow
da440da9f5
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
47d0d292d5
MemoryTracking: Initial setup of atomic writes.
2023-06-28 19:34:21 +02:00
Liam
edd54abee4
fsmitm_romfsbuild: avoid full path lookups
2023-06-27 23:25:47 -04:00
Merry
e3c548d081
arm_dynarmic_32: Remove disabling of block linking on arm64
2023-06-27 23:51:49 +01:00