)]}'
{
  "commit": "603a2cdf1066d6bd45c0ed5d1adb7bb437213958",
  "tree": "edc7c0c6a47c81d881245e51e277607238f1ca15",
  "parents": [
    "48dc537b22bc5e29964038b83dfedec72f34612c"
  ],
  "author": {
    "name": "Josh Poimboeuf",
    "email": "jpoimboe@redhat.com",
    "time": "Fri May 18 15:10:34 2018 -0500"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@linuxfoundation.org",
    "time": "Tue Jun 05 10:28:57 2018 +0200"
  },
  "message": "objtool: Detect RIP-relative switch table references, part 2\n\ncommit 7dec80ccbe310fb7e225bf21c48c672bb780ce7b upstream.\n\nWith the following commit:\n\n  fd35c88b7417 (\"objtool: Support GCC 8 switch tables\")\n\nI added a \"can\u0027t find switch jump table\" warning, to stop covering up\nsilent failures if add_switch_table() can\u0027t find anything.\n\nThat warning found yet another bug in the objtool switch table detection\nlogic.  For cases 1 and 2 (as described in the comments of\nfind_switch_table()), the find_symbol_containing() check doesn\u0027t adjust\nthe offset for RIP-relative switch jumps.\n\nIncidentally, this bug was already fixed for case 3 with:\n\n  6f5ec2993b1f (\"objtool: Detect RIP-relative switch table references\")\n\nHowever, that commit missed the fix for cases 1 and 2.\n\nThe different cases are now starting to look more and more alike.  So\nfix the bug by consolidating them into a single case, by checking the\noriginal dynamic jump instruction in the case 3 loop.\n\nThis also simplifies the code and makes it more robust against future\nswitch table detection issues -- of which I\u0027m sure there will be many...\n\nSwitch table detection has been the most fragile area of objtool, by\nfar.  I long for the day when we\u0027ll have a GCC plugin for annotating\nswitch tables.  Linus asked me to delay such a plugin due to the\nflakiness of the plugin infrastructure in older versions of GCC, so this\nrickety code is what we\u0027re stuck with for now.  At least the code is now\na little simpler than it was.\n\nReported-by: kbuild test robot \u003clkp@intel.com\u003e\nSigned-off-by: Josh Poimboeuf \u003cjpoimboe@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/f400541613d45689086329432f3095119ffbc328.1526674218.git.jpoimboe@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "27c79e4d274c19cfc16f2f8064f7c5a2436baa58",
      "old_mode": 33188,
      "old_path": "tools/objtool/check.c",
      "new_id": "2299eae155ace85210cd70c74f731d2835e8e7c9",
      "new_mode": 33188,
      "new_path": "tools/objtool/check.c"
    }
  ]
}
