Commit Graph

91 Commits

Author SHA1 Message Date
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
Jack May
461ae40eea provide full Rust panic messages in BPF and add memory optimizations (#13455) 2020-11-09 13:40:26 -08:00
Alexander Meißner
4999fe298b Rbpf v0.2.0 (#13365)
* Updates rbpf to v0.2.0,
which unifies the interfaces of the interpreter and the JIT.
However, the JIT is not enabled yet.
2020-11-04 18:46:26 +01:00
Michael Vines
9263ae1c60 Simplify CPI interface into MessageProcessor 2020-10-30 09:20:09 +00:00
Michael Vines
da9548fd12 de-mut some InvokeContext methods 2020-10-30 09:20:09 +00:00
Michael Vines
da361afbb9 Revert "Updates rbpf to v0.2.0, (#12951)"
This reverts commit 6606590b81.
2020-10-29 21:45:24 -07:00
Michael Vines
7d686b72a0 Add Bank::set_bpf_compute_budget() 2020-10-29 21:45:24 -07:00
Michael Vines
66e51a7363 Add sol_log_compute_units syscall 2020-10-29 21:45:24 -07:00
Michael Vines
2664a1f7ef Remove MessageProcessor::loaders 2020-10-29 21:45:24 -07:00
Michael Vines
df8dab9d2b Native/builtin programs now receive an InvokeContext 2020-10-29 21:45:24 -07:00
Alexander Meißner
6606590b81 Updates rbpf to v0.2.0, (#12951)
which unifies the interfaces of the interpreter and the JIT.
However, the JIT is not enabled yet.
2020-10-29 11:34:52 -07:00
Alexander Meißner
65ee3a6bdd Refactors the common code of test and bench targets into the solana_runtime::bpf_test_utils module. (#13203) 2020-10-29 10:04:47 +01:00