You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
New roadmap for closures and function pointers. Replaces #30
For v0:
add two types of unsafe effect to our effect model: ClosureCreation and FnPointerCreation
in scanner.rs, whenever a closure or function pointer is created, add this to the list of effects associated with that function that need to be audited.
For v1, the plan is probably something like the following:
add closures to the call graph
for effects in a closure, we need a new audit model: effects can be caller-checked, creator-checked, safe, or unsafe.
for each closure variable or function pointer variable, track which possible closures/function pointers it might refer to (an overapproximation). If we don't have enough information to identify, could add an UnsafeCall effect to track this.
The text was updated successfully, but these errors were encountered:
Just discussed this with David, false positives for closure creation seem to come up commonly, e.g. for closures like |x| x + 1 which are quite common.
An extremely useful optimization we should do here is:
if the closure contains no effects inside it -- so absolutely no effects are possible when called -- skip adding the ClosureCreation effect.
New roadmap for closures and function pointers. Replaces #30
For v0:
ClosureCreation
andFnPointerCreation
scanner.rs
, whenever a closure or function pointer is created, add this to the list of effects associated with that function that need to be audited.For v1, the plan is probably something like the following:
UnsafeCall
effect to track this.The text was updated successfully, but these errors were encountered: