0ca835079d
Merge pull request #74 from pythonbpf/fix-vmlinux-ir-gen
...
Fix some issues with vmlinux struct usage in syntax
TODO: THIS DOES NOT FIX the XDP example.
The issue with the XDP example here is that the range is not being tracked due to multiple loads from stack which is making the verifier lose track of the range on that value.
2025-11-27 23:03:45 +05:30
de8c486461
fix: remove deref_to_depth on single depth pointers
2025-11-27 22:59:34 +05:30
189526d5ca
format chore
2025-11-27 12:42:10 +05:30
1593b7bcfe
feat:user defined struct casting
2025-11-27 12:41:57 +05:30
4905649700
feat:non struct field values can be cast
2025-11-26 14:18:40 +05:30
8ad5fb8a3a
Janitorial: Remove useless comments
2025-11-23 06:29:44 +05:30
cbe365d760
Unify struct and pointer to struct handling, abstract null check in ir_ops
2025-11-23 06:26:09 +05:30
18886816fb
Merge pull request #68 from pythonbpf/request-struct
...
Support enough machinery to make request struct work
2025-11-22 13:48:06 +05:30
9def969592
Make map val struct type allocation work by fixing pointer deref and debuginfogen: WIP
2025-11-22 13:20:09 +05:30
a42a75179d
format chore
2025-11-22 00:37:39 +05:30
11850d16d3
field check in allocation pass
2025-11-21 21:47:58 +05:30
9ee821c7f6
make pointer allocation feasible but subverting LLC
2025-11-21 21:47:55 +05:30
25394059a6
allow casting
2025-11-21 21:47:10 +05:30
2f4785b796
add int type conversion for all vmlinux struct field int types.
2025-11-05 18:01:41 +05:30
8bd210cede
add debug info storage on assignment_info.py dataclass
2025-10-26 15:46:42 +05:30
f18a4399ea
format chore
2025-10-24 02:40:07 +05:30
4e01df735f
complete part of expr passing for attribute of i64 type
2025-10-24 02:38:39 +05:30
64674cf646
add alloc for only i64
2025-10-24 02:06:39 +05:30
b3921c424d
parse context from first function argument to local symbol table
2025-10-22 11:40:49 +05:30
1a0e21eaa8
support vmlinux enum in map arguments
2025-10-21 04:59:46 +05:30
e7734629a5
support binary ops with vmlinux enums
2025-10-21 03:41:21 +05:30
5955db88cf
add vmlinux expressions to eval expr
2025-10-21 03:24:27 +05:30
7a67041ea3
Move CallHandlerRegistry to expr/call_registry.py, annotate eval_expr
2025-10-13 04:16:22 +05:30
45e6ce5e5c
Move deref_to_depth to expr/ir_ops.py
2025-10-13 04:01:27 +05:30
fc058c4341
Use dependency inversion to remove handler delayed import in eval_expr
2025-10-13 02:28:00 +05:30
158cc42e1e
Move binop handling logic to expr_pass, remove delayed imports of get_operand_value
2025-10-13 00:36:42 +05:30
2a1eabc10d
Fix regression in struct_perf_output
2025-10-13 00:00:43 +05:30
e8026a13bf
Allow helpers to be called within themselves
2025-10-12 09:30:37 +05:30
a3b4d09652
Fix errorstring in _handle_unary_op
2025-10-12 09:13:04 +05:30
4e33fd4a32
Add negation UnaryOp
2025-10-12 09:11:56 +05:30
c9bbe1ffd8
Call eval_expr properly within get_operand_value
2025-10-11 03:21:09 +05:30
7529820c0b
Allow int** pointers to store binops of type int** op int
2025-10-10 20:36:37 +05:30
9febadffd3
Add pointer handling to helper_utils, finish pointer assignment
2025-10-10 15:01:15 +05:30
99aacca94b
WIP: allow pointer assignments to var
2025-10-10 13:48:40 +05:30
6362a5e665
Fix expr imports
2025-10-08 07:24:14 +05:30
d38d73d5c6
Move handle_comparator to type_normalization
2025-10-08 07:20:04 +05:30
0a6571726a
Move convert_to_bool to type_normalization
2025-10-08 07:14:42 +05:30
e62557bd1d
Seperate type_normalization from expr_pass
2025-10-08 06:59:32 +05:30
ee90ee9392
Fix type_deducer import in expr
2025-10-08 06:50:53 +05:30
b86341ce7a
Rework dir structure for expr
2025-10-08 06:45:52 +05:30