Jack May
ef3781d4ee
fix cross-merge ( #16535 )
2021-04-14 10:16:24 +00:00
mergify[bot]
6da4bec41d
Return sysvars via syscalls (bp #16422 ) ( #16497 )
...
* Return sysvars via syscalls (#16422 )
(cherry picked from commit fa83f3bd73 )
* bad merge
* Fix branch diffs
* nudge
Co-authored-by: Jack May <jack@solana.com >
2021-04-14 05:33:27 +00:00
mergify[bot]
935a836a7d
bump solana_rbpf from 0.2.5 to 0.2.7 (backport #16515 ) ( #16525 )
...
* bump solana_rbpf from 0.2.5 to 0.2.7 (#16515 )
(cherry picked from commit f7eadd9d70 )
# Conflicts:
# cli/Cargo.toml
# programs/bpf/Cargo.toml
# programs/bpf_loader/Cargo.toml
# programs/bpf_loader/src/syscalls.rs
* Fix conflicts
Co-authored-by: Michael Vines <mvines@gmail.com >
Co-authored-by: Jack May <jack@solana.com >
2021-04-13 23:53:48 +00:00
mergify[bot]
723e7f11b9
Simplify some pattern-matches ( #16402 ) ( #16446 )
...
When those match an exact combinator on Option / Result.
Tool-aided by [comby-rust](https://github.com/huitseeker/comby-rust ).
(cherry picked from commit b08cff9e77 )
Co-authored-by: François Garillot <4142+huitseeker@users.noreply.github.com >
2021-04-08 20:45:01 +00:00
mergify[bot]
68ad2dcce1
Use more performant copy ( #16282 ) ( #16284 )
...
(cherry picked from commit ad7f8e7f23 )
Co-authored-by: Jack May <jack@solana.com >
2021-04-01 01:08:01 +00:00
mergify[bot]
20754a7115
Drop write lock on sysvars ( #15497 ) ( #16233 )
...
* Drop write lock on sysvars
* adds env var for demoting sysvar write lock demotion
* moves demote logic to is_writable
* feature gates sysvar write lock demotion
* adds builtins to write lock demotion
* adds system program id to builtins
* adds Feature111...
* adds an abi-freeze test
* mvines set of builtin program keys
Co-authored-by: Michael Vines <mvines@gmail.com >
* update tests
* adds bpf loader keys
* Add test sysvar
* Plumb demote_sysvar to is_writable
* more plumbing of demote_sysvar_write_locks to is_writable
* patches test_program_bpf_instruction_introspection
* hard codes demote_sysvar_write_locks to false for serialization/encoding methods
* Revert "hard codes demote_sysvar_write_locks to false for serialization/encoding methods"
This reverts commit ae3e2d2e777437bddd753933097a210dcbc1b1fc.
* change the hardcoded ones to demote_sysvar_write_locks=true
* Use data_as_mut_slice
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
Co-authored-by: Michael Vines <mvines@gmail.com >
(cherry picked from commit 54c68ea83f )
Co-authored-by: sakridge <sakridge@gmail.com >
2021-03-31 20:23:20 +00:00
mergify[bot]
8a57ee181e
Cleanup nits (bp #16211 ) ( #16237 )
...
* Cleanup nits (#16211 )
(cherry picked from commit f84e88f0a2 )
# Conflicts:
# programs/bpf/Cargo.lock
# programs/bpf/rust/sysvar/Cargo.toml
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-03-31 10:01:18 +00:00
mergify[bot]
5bd4e38345
Charge compute budget for bytes passed via cpi ( #15874 ) ( #15905 )
...
(cherry picked from commit ad9901d7c6 )
Co-authored-by: Jack May <jack@solana.com >
2021-03-16 07:57:32 +00:00
Jeff Washington (jwash)
952c3bcbb7
AccountSharedData construction ( #15790 )
2021-03-11 18:09:04 -06:00
Jack May
478518308d
Share RO and Executable accounts within invocations ( #15799 )
2021-03-10 23:04:00 -08:00
Jack May
369e13b111
cleanup old runtime features ( #15787 )
2021-03-10 09:48:41 -08:00
Jeff Washington (jwash)
52e54e1100
account.data -> data() ( #15778 )
2021-03-09 22:31:33 +00:00
Jeff Washington (jwash)
8a3135d17b
Account->AccountSharedData ( #15691 )
2021-03-09 15:06:07 -06:00
Jack May
b53cb8eb2d
Deprecate Instruction::new ( #15695 )
2021-03-04 05:46:48 +00:00
Michael Vines
5df36aec7d
Pacify clippy
2021-02-19 20:08:41 -08:00
Jack May
02432a548f
Cleanup old features ( #15391 )
2021-02-18 09:56:11 -08:00
Jack May
6650fbf443
Add per-byte logging cost ( #15279 )
2021-02-12 00:55:17 +00:00
Mrmaxmeier
ebbaa1f8ea
Fix integer overflow in degenerate invoke_signed BPF syscalls ( #15051 )
2021-02-03 13:32:38 -08:00
Jack May
73d9186502
More rich runtime logging ( #14938 )
2021-02-01 11:40:49 -08:00
Alexander Meißner
d026da4a1b
Ignore syscalls which are not registered in cached rbpf executable. ( #14898 )
2021-01-29 12:30:10 +01:00
Jack May
0b1015f7d3
Richer runtime failure logging ( #14875 )
2021-01-28 10:04:54 -08:00
Jack May
77572a7c53
Track account writable deescalation ( #14626 )
2021-01-22 15:28:01 -08:00
Jack May
6e8a1ba7de
Load executable accounts from invoke context ( #14574 )
2021-01-14 00:19:22 -08:00
Jack May
ec48631fc5
Bail on all CPI errors ( #14500 )
...
* Bail on all CPI errors
* whitespace
2021-01-09 02:27:39 +00:00
Jack May
5eacc5d08d
Enable program upgrades via CPI ( #14449 )
2021-01-06 14:31:14 -08:00
Jack May
a8b5a32b50
Gate cpi program account passing ( #14443 )
2021-01-05 21:53:41 +00:00
Jack May
2d8dacb72b
Gate CPI authorized programs ( #14361 )
2020-12-30 18:13:37 -08:00
Jack May
5524938a50
Limit CPI instruction size ( #14317 )
2020-12-29 01:14:17 +00:00
Jack May
b1d702a618
Don't use caller passed executable account ( #14276 )
2020-12-23 14:34:14 -08:00
Jack May
0b479ab180
Limit CPI from calling loader or native programs ( #14252 )
2020-12-23 10:44:34 -08:00
Jack May
ab205b682a
Upgradeable programs called same as non-upgradeable ( #14239 )
...
* Upgradeable programs called same as non-upgradeable
* nudge
2020-12-22 09:26:55 -08:00
Jack May
e8cc0bef6c
Add CPI support for upgradeable loader ( #14193 )
2020-12-17 15:39:49 -08:00
Jack May
025f886e10
check for resize access violations ( #14142 )
2020-12-15 23:21:08 -08:00
Jack May
ab98c1f2d4
Add try_find_program_address syscall ( #14118 )
2020-12-15 08:15:01 -08:00
Jack May
83fda2d972
Clean invoke in prep for native invoke ( #14055 )
2020-12-10 18:25:57 -08:00
Jack May
5ea80e673f
Fix priv escalation test ( #14046 )
2020-12-10 22:36:33 +00:00
Alexander Meißner
201637b326
Updates rbpf to v0.2.2 ( #14036 )
...
* Updates rbpf to v0.2.2
2020-12-10 16:32:54 +01:00
Jack May
e1a4251b07
Cap CPI signers ( #14021 )
2020-12-09 02:14:53 -08:00
Jack May
f1fd999bb0
Translate data length as mutable ( #13956 )
2020-12-04 05:47:22 +00:00
Jack May
661ca52135
Cap seeds not signers ( #13941 )
2020-12-03 09:58:25 -08:00
Jack May
1c51711c75
Invoke with empty account slice ( #13931 )
2020-12-03 07:06:26 -08:00
Jack May
3f841df7cf
Cap number of program address seeds ( #13924 )
2020-12-02 22:25:06 +00:00
Jack May
841c7a0f71
Cleanup memory translation APIs ( #13921 )
2020-12-02 20:03:36 +00:00
Jack May
85bec37be4
Translate data length and owner as writable ( #13914 )
2020-12-02 09:05:42 -08:00
Jack May
733fcbaa6c
Check that the program was granted access to program_id ( #13890 )
2020-12-01 07:35:07 -08:00
Jack May
2d62f2ad03
Re-fix arithmetic overflow and add better test ( #13870 )
2020-11-30 22:39:03 +00:00
Michael Vines
cc78667118
Record instructions after account translation
2020-11-28 10:54:09 -08:00
Alexander Meißner
c833ede4af
Rbpf v0.2.1 ( #13732 )
...
* Refactoring to match rbpf-v0.2.1 and add JIT compilation caching.
* Removes obsolete bpf-trace.py which has been replaced by the rbpf CLI tool.
2020-11-24 18:00:19 +01:00
Jack May
8c922a0198
fix arithmetic overflow in slice translation ( #13624 )
...
* fix arithmetic overflow in slice translation
* nudge
2020-11-17 00:13:01 +00:00
Michael Vines
baa6b3a261
Add stable program logging for BPF and native programs
2020-11-14 08:26:01 -08:00