@@ -261,12 +261,12 @@ pub fn execute_program(
261261 // TODO Check how overflow works in kernel. Should we &= U32MAX all src register value
262262 // before we do the operation?
263263 // Cf ((0x11 << 32) - (0x1 << 32)) as u32 VS ((0x11 << 32) as u32 - (0x1 << 32) as u32
264- ebpf:: ADD32_IMM => reg[ _dst] = ( reg[ _dst] as i32 ) . wrapping_add ( insn. imm ) as u64 , //((reg[_dst] & U32MAX) + insn.imm as u64) & U32MAX ,
265- ebpf:: ADD32_REG => reg[ _dst] = ( reg[ _dst] as i32 ) . wrapping_add ( reg[ _src] as i32 ) as u64 , //((reg[_dst] & U32MAX) + (reg[_src] & U32MAX)) & U32MAX ,
266- ebpf:: SUB32_IMM => reg[ _dst] = ( reg[ _dst] as i32 ) . wrapping_sub ( insn. imm ) as u64 ,
267- ebpf:: SUB32_REG => reg[ _dst] = ( reg[ _dst] as i32 ) . wrapping_sub ( reg[ _src] as i32 ) as u64 ,
268- ebpf:: MUL32_IMM => reg[ _dst] = ( reg[ _dst] as i32 ) . wrapping_mul ( insn. imm ) as u64 ,
269- ebpf:: MUL32_REG => reg[ _dst] = ( reg[ _dst] as i32 ) . wrapping_mul ( reg[ _src] as i32 ) as u64 ,
264+ ebpf:: ADD32_IMM => reg[ _dst] = ( reg[ _dst] as i32 ) . wrapping_add ( insn. imm ) as u32 as u64 ,
265+ ebpf:: ADD32_REG => reg[ _dst] = ( reg[ _dst] as i32 ) . wrapping_add ( reg[ _src] as i32 ) as u32 as u64 ,
266+ ebpf:: SUB32_IMM => reg[ _dst] = ( reg[ _dst] as i32 ) . wrapping_sub ( insn. imm ) as u32 as u64 ,
267+ ebpf:: SUB32_REG => reg[ _dst] = ( reg[ _dst] as i32 ) . wrapping_sub ( reg[ _src] as i32 ) as u32 as u64 ,
268+ ebpf:: MUL32_IMM => reg[ _dst] = ( reg[ _dst] as i32 ) . wrapping_mul ( insn. imm ) as u32 as u64 ,
269+ ebpf:: MUL32_REG => reg[ _dst] = ( reg[ _dst] as i32 ) . wrapping_mul ( reg[ _src] as i32 ) as u32 as u64 ,
270270 ebpf:: DIV32_IMM if insn. imm as u32 == 0 => reg[ _dst] = 0 ,
271271 ebpf:: DIV32_IMM => reg[ _dst] = ( reg[ _dst] as u32 / insn. imm as u32 ) as u64 ,
272272 ebpf:: DIV32_REG if reg[ _src] as u32 == 0 => reg[ _dst] = 0 ,
0 commit comments