)]}'
{
  "commit": "f187be304cc9cccb1e8d2e235c5cbb5ff8ac1a05",
  "tree": "06e0bdbffdddc9ad800de4a5441a0559c79878fb",
  "parents": [
    "38db07afee5fc2252046c2256ccd9938a8335e06"
  ],
  "author": {
    "name": "Alexei Starovoitov",
    "email": "ast@fb.com",
    "time": "Fri Apr 29 12:24:12 2016 -0700"
  },
  "committer": {
    "name": "Alexei Starovoitov",
    "email": "ast@fb.com",
    "time": "Thu May 05 18:43:30 2016 -0700"
  },
  "message": "bpf: improve verifier state equivalence\n\nsince UNKNOWN_VALUE type is weaker than CONST_IMM we can un-teach\nverifier its recognition of constants in conditional branches\nwithout affecting safety.\nEx:\nif (reg \u003d\u003d 123) {\n  .. here verifier was marking reg-\u003etype as CONST_IMM\n     instead keep reg as UNKNOWN_VALUE\n}\n\nTwo verifier states with UNKNOWN_VALUE are equivalent, whereas\nCONST_IMM_X !\u003d CONST_IMM_Y, since CONST_IMM is used for stack range\nverification and other cases.\nSo help search pruning by marking registers as UNKNOWN_VALUE\nwhere possible instead of CONST_IMM.\n\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nAcked-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6338c61fc2a13aad855baa1ec64cf72db81dab13",
      "old_mode": 33188,
      "old_path": "kernel/bpf/verifier.c",
      "new_id": "84bff68cf80e0c20baf44df53b203c4e3ddd6b8c",
      "new_mode": 33188,
      "new_path": "kernel/bpf/verifier.c"
    }
  ]
}
