09 Aug, 2017

2 commits

  • Allows us to, sometimes, combine information from a signed check of one
    bound and an unsigned check of the other.
    We now track the full range of possible values, rather than restricting
    ourselves to [0, 1<
    Signed-off-by: David S. Miller

    Edward Cree
     
  • Unifies adjusted and unadjusted register value types (e.g. FRAME_POINTER is
    now just a PTR_TO_STACK with zero offset).
    Tracks value alignment by means of tracking known & unknown bits. This
    also replaces the 'reg->imm' (leading zero bits) calculations for (what
    were) UNKNOWN_VALUEs.
    If pointer leaks are allowed, and adjust_ptr_min_max_vals returns -EACCES,
    treat the pointer as an unknown scalar and try again, because we might be
    able to conclude something about the result (e.g. pointer & 0x40 is either
    0 or 0x40).
    Verifier hooks in the netronome/nfp driver were changed to match the new
    data structures.

    Signed-off-by: Edward Cree
    Signed-off-by: David S. Miller

    Edward Cree