Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/CodeSentryAI/lockbud
/ functions
Functions
324 in github.com/CodeSentryAI/lockbud
⨍
Functions
324
◇
Types & classes
72
↓ 1 callers
Method
collect_condvars
Collect condvar APIs. Return the condvar API's InstanceId and kind.
src/detector/lock/mod.rs:103
↓ 1 callers
Method
collect_drops
( &self, body: &Body<'tcx>, manual_drops: &[(Location, Place<'tcx>)], )
src/detector/memory/use_after_free.rs:90
↓ 1 callers
Method
collect_lockguards
( &self, callgraph: &CallGraph<'tcx>, )
src/detector/lock/mod.rs:76
↓ 1 callers
Method
collect_raw_ptrs
(&self, body: &Body<'tcx>)
src/detector/memory/use_after_free.rs:77
↓ 1 callers
Function
collect_raw_ptrs_escape_to_global
Collect raw ptrs escaping to Globals. Alloc(ptr) pointed to by ConstantDeref implies Place(ptr) escapes to Global. 1. forall c is ConstantDeref, colle
src/detector/memory/use_after_free.rs:108
↓ 1 callers
Method
collect_uninit
Collect Uninit APIs.
src/detector/memory/invalid_free.rs:71
↓ 1 callers
Method
copy_targets
? = rhs rhs--|copy|-->?
src/analysis/pointsto/mod.rs:340
↓ 1 callers
Function
create_obj
(i: i32)
toys/use-after-free/src/main.rs:2
↓ 1 callers
Method
cycle_paths
Find all the cycles in the graph.
src/detector/lock/mod.rs:904
↓ 1 callers
Function
data_deps
(body: &Body<'_>)
src/analysis/datadep/mod.rs:36
↓ 1 callers
Method
deadlock_with
In parking_lot, the read lock is by default non-recursive if not specified. if two recursively acquired read locks in one thread are interleaved by a
src/interest/concurrency/lock.rs:154
↓ 1 callers
Method
detect_caller_callsites
Detect each caller that calls Uninit APIs.
src/detector/memory/invalid_free.rs:106
↓ 1 callers
Method
detect_condvar_misuse
Detect condvar misuse. First collect Condvar APIs info: callsites to (Condvar, MutexGuard) - std::sync::Condvar::wait(&Condvar, MutexGuard) -> MutexGu
src/detector/lock/mod.rs:232
↓ 1 callers
Method
detect_deadlock
First detect doublelock on each relation(a, b), use non-doublelock relations to build `ConflictLockGraph`. Then find the cycles in `ConflictLockGraph`
src/detector/lock/mod.rs:589
↓ 1 callers
Function
detect_escape_to_global
Raw ptr escapes to Global and points to a dropped place
src/detector/memory/use_after_free.rs:135
↓ 1 callers
Function
detect_escape_to_return_or_param
Raw ptr escapes to return/params and points to a dropped place Raw ptr points to Alloc(return/params) implies ptr escapes to return/params 1. Find pla
src/detector/memory/use_after_free.rs:173
↓ 1 callers
Method
detect_instance
( &self, instance: &Instance<'tcx>, alias_analysis: &mut AliasAnalysis<'_, 'tcx>,
src/detector/memory/use_after_free.rs:55
↓ 1 callers
Method
detect_uninitialized
Detect mem::uninitialized()
src/detector/memory/invalid_free.rs:272
↓ 1 callers
Function
detect_use_after_drop
drop(place): raw_ptr -> place drop_loc reaches use(raw_ptr)
src/detector/memory/use_after_free.rs:238
↓ 1 callers
Function
dfs_paths_recur
DFS search for points-to paths from `node` to the parameter.
src/analysis/pointsto/mod.rs:1179
↓ 1 callers
Function
diagnose_doublelock
Generate doublelock diagnosis.
src/detector/lock/mod.rs:717
↓ 1 callers
Method
difference_in_place
self = self \ other, if changed return true
src/detector/lock/mod.rs:43
↓ 1 callers
Function
drop_in_match
()
toys/use-after-free/src/main.rs:1
↓ 1 callers
Method
edges
(&self)
src/analysis/pointsto/mod.rs:299
↓ 1 callers
Function
escape_to_global
()
toys/use-after-free/src/main.rs:58
↓ 1 callers
Function
escape_to_param
()
toys/use-after-free/src/main.rs:19
↓ 1 callers
Function
escape_to_return
()
toys/use-after-free/src/main.rs:143
↓ 1 callers
Function
expect_panic
()
toys/panic/src/main.rs:15
↓ 1 callers
Method
find_nearest_common_dominator
(&self, node1: Node, node2: Node)
src/analysis/postdom/mod.rs:263
↓ 1 callers
Function
find_path_recursive
( u: BasicBlock, d: BasicBlock, body: &Body<'_>, path: &mut Vec<BasicBlock>, visited: &mut
src/detector/memory/invalid_free.rs:340
↓ 1 callers
Method
finish
Consumes `CallSiteCollector` and returns its callsites when finished visiting.
src/analysis/callgraph/mod.rs:193
↓ 1 callers
Function
first_arg_and_dest
Get the first arg and the destination of an Atomic API. e.g., ```let value = atomic::load(atomic, ordering);``` Returns Some((atomic, value));
src/detector/atomic/mod.rs:179
↓ 1 callers
Function
first_two_args
( location: Location, body: &Body<'tcx>, )
src/detector/atomic/mod.rs:198
↓ 1 callers
Function
fmt_time
(date: &Date)
toys/use-after-free/src/main.rs:113
↓ 1 callers
Method
foo
(&self)
toys/tikv-wrapper/src/main.rs:17
↓ 1 callers
Function
func
(_g1: MutexGuard<'_, i32>, _g2: MutexGuard<'_, i32>)
toys/call-no-deadlock/src/main.rs:3
↓ 1 callers
Function
gen_rand_val_bool
()
toys/atomic-violation/src/main.rs:4
↓ 1 callers
Function
gethostent
()
toys/use-after-free/src/main.rs:81
↓ 1 callers
Method
immediate_post_dominator
(&self, node: Node)
src/analysis/postdom/mod.rs:244
↓ 1 callers
Function
in_cargo_lockbud
()
src/bin/cargo-lockbud.rs:48
↓ 1 callers
Function
influences
(this: Location, other: Location, control_deps: &ControlDeps<BasicBlock>)
src/analysis/controldep/mod.rs:17
↓ 1 callers
Method
influences
(&self, influencer: Node, influencee: Node)
src/analysis/controldep/mod.rs:30
↓ 1 callers
Method
inter_points_to
( &mut self, instance1: &Instance<'tcx>, pointer: ConstraintNode<'tcx>, instan
src/analysis/pointsto/mod.rs:825
↓ 1 callers
Function
intersect
( post_order_rank: &IndexVec<Node, usize>, immediate_post_dominators: &IndexVec<Node, ExtNode<Node>>,
src/analysis/postdom/mod.rs:188
↓ 1 callers
Method
intra_points_to
( &mut self, instance: &Instance<'tcx>, pointer: ConstraintNode<'tcx>, pointee
src/analysis/pointsto/mod.rs:801
↓ 1 callers
Method
intraproc_gen_kill
Apply Gen/Kill to get live lockguards for each location in the same fn.
src/detector/lock/mod.rs:532
↓ 1 callers
Function
is_arc
(arg_ty_name: &str)
src/interest/memory/ownership.rs:29
↓ 1 callers
Function
is_arc_or_rc_clone
y = Arc::clone(x)
src/interest/memory/ownership.rs:10
↓ 1 callers
Function
is_atomic_ptr_store
( def_id: DefId, substs: &'tcx List<GenericArg<'tcx>>, tcx: TyCtxt<'tcx>, )
src/interest/concurrency/atomic.rs:78
↓ 1 callers
Method
is_gen_only_by_recursive
(&self)
src/interest/concurrency/lock.rs:210
↓ 1 callers
Function
is_index
(def_id: DefId, tcx: TyCtxt<'_>)
src/interest/memory/ownership.rs:46
↓ 1 callers
Function
is_ptr_read
(def_id: DefId, tcx: TyCtxt<'_>)
src/interest/memory/ownership.rs:40
↓ 1 callers
Function
is_rc
(arg_ty_name: &str)
src/interest/memory/ownership.rs:34
↓ 1 callers
Function
is_reachable
(from: Location, to: Location, body: &Body<'_>)
src/detector/memory/mod.rs:104
↓ 1 callers
Method
load_targets
? = *rhs rhs--|load|-->?
src/analysis/pointsto/mod.rs:326
↓ 1 callers
Function
make_options_parser
()
src/options.rs:32
↓ 1 callers
Method
match_instance
(&self, other: &Instance<'tcx>)
src/analysis/callgraph/mod.rs:59
↓ 1 callers
Function
maybe_false_positive
()
toys/atomic-violation/src/main.rs:51
↓ 1 callers
Method
mu_rw1
(&self)
toys/conflict/src/main.rs:20
↓ 1 callers
Function
no_panic_fp
()
toys/panic/src/main.rs:20
↓ 1 callers
Function
one_closure_one_caller
()
toys/lock-closure/src/main.rs:4
↓ 1 callers
Function
opt_owned_as_raw
(val: &Option<Owned<T>>)
toys/use-after-free/src/main.rs:30
↓ 1 callers
Function
panic_macro
()
toys/panic/src/main.rs:1
↓ 1 callers
Function
parking_lot_correct
()
toys/condvar-closure/src/main.rs:81
↓ 1 callers
Function
parking_lot_correct
()
toys/condvar-struct/src/main.rs:135
↓ 1 callers
Function
parking_lot_deadlock_wait
()
toys/condvar-closure/src/main.rs:106
↓ 1 callers
Function
parking_lot_deadlock_wait
()
toys/condvar-struct/src/main.rs:178
↓ 1 callers
Function
parking_lot_missing_lock_before_notify
()
toys/condvar-closure/src/main.rs:135
↓ 1 callers
Function
parking_lot_missing_lock_before_notify
()
toys/condvar-struct/src/main.rs:225
↓ 1 callers
Function
parking_lot_mutex
()
toys/intra/src/main.rs:22
↓ 1 callers
Method
parking_lot_mutex_1
(&self)
toys/inter/src/main.rs:58
↓ 1 callers
Function
parking_lot_rwlock
()
toys/intra/src/main.rs:30
↓ 1 callers
Function
parking_lot_rwlock
()
toys/recursive-no-deadlock/src/main.rs:3
↓ 1 callers
Method
parking_lot_rwlock_read_1
(&self)
toys/inter/src/main.rs:69
↓ 1 callers
Method
parking_lot_rwlock_write_1
(&self)
toys/inter/src/main.rs:76
↓ 1 callers
Method
paths_from_to
Find all the paths from loc1 to loc2
src/detector/memory/invalid_free.rs:319
↓ 1 callers
Function
point_to_same_constant
Check if p1 and p2 point to the same Constant. Return true if exists a1 in pts(p1) and a1 is Constant(c1) and exists a2 in pts(p2) and a2 is Constant(
src/analysis/pointsto/mod.rs:1071
↓ 1 callers
Function
point_to_same_type_param
Check if p1 and p2 point to func parameters with the same local's type and projection. Return true if exists a1 in pts(p1) and a1.local is param and e
src/analysis/pointsto/mod.rs:1096
↓ 1 callers
Method
points_to
Check if `pointer` points to `pointee`. First get the pts(`pointer`), then check alias between each node in pts(`pointer`) and `pointee`. Choose the h
src/analysis/pointsto/mod.rs:768
↓ 1 callers
Function
post_dominators_given_rpo
( mut graph: G, rpo: &[G::Node], )
src/analysis/postdom/mod.rs:117
↓ 1 callers
Function
postdom_post_order_from_to
( graph: &G, end_nodes: Vec<G::Node>, start_node: Option<G::Node>, )
src/analysis/postdom/mod.rs:83
↓ 1 callers
Function
postdom_post_order_walk
( graph: &G, node: G::Node, result: &mut Vec<G::Node>, visited: &mut IndexVec<G::Node, bool>,
src/analysis/postdom/mod.rs:99
↓ 1 callers
Function
postdom_reverse_post_order
( graph: &G, end_nodes: Vec<G::Node>, )
src/analysis/postdom/mod.rs:67
↓ 1 callers
Method
predecessors
(&self, node: Self::Node)
src/analysis/postdom/tests.rs:65
↓ 1 callers
Method
process_alias_copy
dest: Arc<T> = Arc::clone(arg: &Arc<T>) or dest: T = ptr::read(arg: *const T) => arg--|load|-->dest and arg--|alias_copy|-->dest
src/analysis/pointsto/mod.rs:541
↓ 1 callers
Method
process_assignment
(&mut self, place: &Place<'tcx>, rvalue: &Rvalue<'tcx>)
src/analysis/pointsto/mod.rs:431
↓ 1 callers
Method
result
(&self)
src/detector/panic/mod.rs:132
↓ 1 callers
Method
rl
(&self)
toys/tikv-wrapper/src/util.rs:13
↓ 1 callers
Method
rw1_rw2
(&self)
toys/conflict/src/main.rs:37
↓ 1 callers
Method
rw2_mu
(&self)
toys/conflict/src/main.rs:49
↓ 1 callers
Function
show_help
()
src/bin/cargo-lockbud.rs:30
↓ 1 callers
Function
show_version
()
src/bin/cargo-lockbud.rs:34
↓ 1 callers
Function
skip_detecting
(instance: &Instance<'tcx>, tcx: TyCtxt<'tcx>)
src/detector/panic/mod.rs:211
↓ 1 callers
Method
spin_rwlock_read_1
(&self)
toys/inter/src/main.rs:106
↓ 1 callers
Method
spin_rwlock_write_1
(&self)
toys/inter/src/main.rs:113
↓ 1 callers
Method
start_node
(&self)
src/analysis/postdom/tests.rs:46
↓ 1 callers
Method
statistics
(&self)
src/detector/panic/mod.rs:135
↓ 1 callers
Function
std_correct
()
toys/condvar-closure/src/main.rs:4
↓ 1 callers
Function
std_correct
()
toys/condvar-struct/src/main.rs:4
↓ 1 callers
Function
std_deadlock_wait
()
toys/condvar-closure/src/main.rs:29
← previous
next →
101–200 of 324, ranked by callers