Commit 343e5375 authored by Christy Lee's avatar Christy Lee Committed by Alexei Starovoitov
Browse files

bpf: Fix incorrect integer literal used for marking scratched stack.



env->scratched_stack_slots is a 64-bit value, we should use ULL
instead of UL literal values.

Reported-by: default avatarkernel test robot <lkp@intel.com>
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarChristy Lee <christylee@fb.com>
Acked-by: default avatarSong Liu <songliubraving@fb.com>
Link: https://lore.kernel.org/r/20220108005854.658596-1-christylee@fb.com


Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent 036a05f5
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -616,7 +616,7 @@ static void mark_reg_scratched(struct bpf_verifier_env *env, u32 regno)

static void mark_stack_slot_scratched(struct bpf_verifier_env *env, u32 spi)
{
	env->scratched_stack_slots |= 1UL << spi;
	env->scratched_stack_slots |= 1ULL << spi;
}

static bool reg_scratched(const struct bpf_verifier_env *env, u32 regno)
@@ -637,14 +637,14 @@ static bool verifier_state_scratched(const struct bpf_verifier_env *env)
static void mark_verifier_state_clean(struct bpf_verifier_env *env)
{
	env->scratched_regs = 0U;
	env->scratched_stack_slots = 0UL;
	env->scratched_stack_slots = 0ULL;
}

/* Used for printing the entire verifier state. */
static void mark_verifier_state_scratched(struct bpf_verifier_env *env)
{
	env->scratched_regs = ~0U;
	env->scratched_stack_slots = ~0UL;
	env->scratched_stack_slots = ~0ULL;
}

/* The reg state of a pointer or a bounded scalar was saved when