-
Notifications
You must be signed in to change notification settings - Fork 17
Description
Because it's a builtin program, the System program can allocate large accounts, beyond the limits of BPF programs. This is due to the fact that accounts for builtin programs actually live in host memory, so they can be resized with a greater delta than if they were inside the VM.
On the builtin side, host-memory account resizing is limited to MAX_PERMITTED_DATA_LENGTH (10 * 1024 * 1024), while on the BPF side, VM-memory account resizing is limited to MAX_PERMITTED_DATA_INCREASE (1_024 * 10).
Let's say we think the best solution is to introduce a syscall that can only be invoked by 11111111111111111111111111111111. The only way such a syscall and reallocation would work is if the VM input memory region starting from the target account onward was re-serialized after the account was resized. Although not ideal, it's worth noting that the only instructions in the System program that need this capability use one to three accounts.
Open to alternative suggestions!
Metadata
Metadata
Assignees
Labels
Type
Projects
Status