You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tree:
9ba7ae793b
2ndAdjustmentVulkanV3-STOP_FORCE_PUSHING_CAMILLE
2ndAdjustmentVulkanv2
2ndgpuopts
John-android-rescale-toggle
TTYD
Update-some-barriers-test
android-meows
bcn-ternary-soft
bioshock
blit-fixes
bump-httplib-minver
camile/wawawawa
civa
crueter-patch-1
crueter-patch-3
crueter-patch-4
descriptor_set
dmnt2
dynarmic
dynarmic-ppc64
eden-managarm
eden-orbis-ps4
eden-wasm
feat/android_kotlin_compose
feat/game_override
fix-cpmutil-win
fix-friend-list-freeze
fix-grid-autoalign
fix-update-android
flatopsfixes23485
fs-try
funny-meows
hid_core
kosmickrisp
liz-heaptrack-fix
lizzie/1st-anniversary-icon
lizzie/adjust-stream-buffer
lizzie/adl-fix-remove
lizzie/anv-cached-mesa-hack
lizzie/areafixnvidia
lizzie/astc-decode-opts1
lizzie/better-mscxr
lizzie/brunofix7546847
lizzie/bump-18-version-cache
lizzie/cleanup-dynarmic-cmake
lizzie/debug-assert-demote-dynarmic
lizzie/docs-lz12
lizzie/dynarmic-abort-path-12
lizzie/dynarmic-exclusive-fixups
lizzie/eh-signed
lizzie/emulate-bgr565-android-only
lizzie/enable-icf
lizzie/fbsd-shm_create_largepage
lizzie/ffmpeg-fix-externel
lizzie/fix-nvmap-handles
lizzie/fxaa-123
lizzie/hbloader-fix
lizzie/heap-corrupt-unique-fix
lizzie/inline-audio-structure-parent-refs
lizzie/inlinecodecnvenc
lizzie/invert-gyro
lizzie/ios-port-sud
lizzie/jamboree-audio-crash
lizzie/joycon-revision
lizzie/lto-fafaf-test-123
lizzie/macos-network-ifaces
lizzie/marknocore
lizzie/memcorrupt-afuzz1
lizzie/mlibc-fixes
lizzie/mlp223
lizzie/nce-invalidate-split
lizzie/netbsdgcc14-fix
lizzie/noexcept-dynarmic
lizzie/non-english-policy
lizzie/nuke-cubeb-2
lizzie/nuke-oboe
lizzie/nuke-ssl
lizzie/opus-regr-not-rep
lizzie/pixelphonefix
lizzie/pkza-mwait
lizzie/pokemon-search-fix
lizzie/powerunswizzle
lizzie/product-model-wawa
lizzie/ptable-revert-1212
lizzie/rdynr
lizzie/refactor-networking-12
lizzie/remove-concepts-common-hdr
lizzie/remove-disassembler-dynarmic
lizzie/remove-memcpy-on-vector
lizzie/remove-vector-math-unused
lizzie/revert-opt-pagetable-djgdjgdfjg
lizzie/sd-gamemode-fix-queue
lizzie/sdl-nuke-SDL_Vibration-thread
lizzie/settings-preserve-across
lizzie/simplify-invalid-acc
lizzie/smallvector-use-on-ipc
lizzie/ssaa-what-the-fuck
lizzie/stable-shader-pools
lizzie/swkbd-mhu
lizzie/thread-names-log
lizzie/trivial-warn-fixes-4
lizzie/tryfixrandomvkshit
lizzie/ulaunch-attempt1
lizzie/unaligned-attempt-2
lizzie/usepoolinstdynarm
lizzie/vk-ext-fault-info
lizzie/vkweep12
lizzie/vp9-remove-stream
lizzie/wstring-uni-123
lizzie/xcode-evil-shit-123
lizzie/zbic-patch-zstd
lsfg-android
macroify-surface-stuffs
master
memory_changes
mmap-fixews
mutliplayer-filter-better1
n64
pr-template-v2
querybugfix
release/0.0.3
release/0.0.4
release/0.1.0
release/0.2.0
restore-metal-surface
sjkdbsdfjkbsdf-2834
temporary-branch
tiled-gpu
tiled-gpu-v2
unified-memory-access
update-deps-1780370490
update-deps-1780370770
update-translations-1777730513
update-translations-1788192077
vk-experiments5
vk-experiments7
vk-experiments8
warp-fixes
xbzk/buffer-kepler-maxwell-fixes
xbzk/fragmented-storage-buffers
xbzk/hb-tico-support-part-2
xbzk/opus-proper-limit-and-error
xbzk/unreal-unsafe-junk-guards
0.0.0
0.0.1-pre-alpha
0.0.2-pre-alpha
test-tag1
test-tag2
v0.0.3
v0.0.3-rc1
v0.0.3-rc2
v0.0.3-rc3
v0.0.3.git
v0.0.4
v0.0.4-rc1
v0.0.4-rc2
v0.0.4-rc2.test
v0.0.4-rc2.test2
v0.0.4-rc3
v0.0.4-rc3.test1
v0.0.4-rc3.test2
v0.0.4.test
v0.1.0
v0.1.0-rc1
v0.1.1
v0.2.0
v0.2.0-rc1
v0.2.0-rc2
v0.2.1
${ noResults }
In the previous change, the memory writing was moved into the service function itself, however it still had a problem, in that the entire MemoryInfo structure wasn't being written out, only the first 32 bytes of it were being written out. We still need to write out the trailing two reference count members and zero out the padding bits. Not doing this can result in wrong behavior in userland code in the following scenario: MemoryInfo info; // Put on the stack, not quaranteed to be zeroed out. svcQueryMemory(&info, ...); if (info.device_refcount == ...) // Whoops, uninitialized read. This can also cause the wrong thing to happen if the user code uses std::memcmp to compare the struct, with another one (questionable, but allowed), as the padding bits are not guaranteed to be a deterministic value. Note that the kernel itself also fully zeroes out the structure before writing it out including the padding bits. |
8 years ago | |
|---|---|---|
| .. | ||
| yuzu.png | Add Dark theme, Icon theming | 9 years ago |