Skip to content

Fix MobileGestalt duplicate section and unsafe VFS fallback#262

Merged
rooootdev merged 2 commits into
rooootdev:mainfrom
hxhlb:main
May 23, 2026
Merged

Fix MobileGestalt duplicate section and unsafe VFS fallback#262
rooootdev merged 2 commits into
rooootdev:mainfrom
hxhlb:main

Conversation

@hxhlb
Copy link
Copy Markdown
Contributor

@hxhlb hxhlb commented May 23, 2026

Summary

  • Remove a duplicated MobileGestalt section labeled Internal.
  • Add a fallback_vfs option to lara_overwritefile, defaulting to true so existing callers keep the same behavior.
  • Disable VFS fallback specifically for MobileGestalt writes.

Why

The duplicated Internal section contained the same SpringBoard/Pasteboard toggles already shown under SpringBoard.

MobileGestalt writes are sensitive to file size changes. The sandbox overwrite path opens the file with O_TRUNC, so it can safely replace the plist with a different-sized serialized plist. The VFS overwrite fallback cannot safely resize the target file: it rejects larger sources and zero-fills trailing bytes for smaller sources. If sandbox overwrite fails and MobileGestalt falls back to VFS, the plist can become corrupted.

This keeps VFS fallback enabled by default for other overwrite users, but prevents it for MobileGestalt.

Testing

  • Tested on iPhone 13 Pro Max running iOS 17.3.1.
  • Verified the MobileGestalt page no longer shows the duplicated Internal section.
  • Verified MobileGestalt apply succeeds through the sandbox overwrite path without using VFS fallback.

@hxhlb hxhlb changed the title Fix duplicate MobileGestalt Internal section Fix MobileGestalt duplicate section and unsafe VFS fallback May 23, 2026
@Lafu666
Copy link
Copy Markdown

Lafu666 commented May 23, 2026

Can you add the function of cleaning system data?

@hxhlb
Copy link
Copy Markdown
Contributor Author

hxhlb commented May 23, 2026

Can you add the function of cleaning system data?

Could you clarify what you mean by “system data”? Do you mean things like cache, logs, OTA files, temporary files, etc.?

@rooootdev rooootdev merged commit bca9a39 into rooootdev:main May 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants