)]}'
{
  "commit": "9f27effd651b5fbc9dcaf62d5fd0803175237790",
  "tree": "5a1101c80655a331e17a42317942aef37658f6ae",
  "parents": [
    "a53357c61ff6b30db5e5f276a72798d1059302e5"
  ],
  "author": {
    "name": "Kees Cook",
    "email": "keescook@chromium.org",
    "time": "Wed Jan 17 16:40:03 2024 -0800"
  },
  "committer": {
    "name": "Kees Cook",
    "email": "keescook@chromium.org",
    "time": "Mon Jan 22 15:47:05 2024 -0800"
  },
  "message": "xen-netback: Refactor intentional wrap-around test\n\nIn an effort to separate intentional arithmetic wrap-around from\nunexpected wrap-around, we need to refactor places that depend on this\nkind of math. One of the most common code patterns of this is:\n\n\tVAR + value \u003c VAR\n\nNotably, this is considered \"undefined behavior\" for signed and pointer\ntypes, which the kernel works around by using the -fno-strict-overflow\noption in the build[1] (which used to just be -fwrapv). Regardless, we\nwant to get the kernel source to the position where we can meaningfully\ninstrument arithmetic wrap-around conditions and catch them when they\nare unexpected, regardless of whether they are signed[2], unsigned[3],\nor pointer[4] types.\n\nRefactor open-coded wrap-around addition test to use add_would_overflow().\nThis paves the way to enabling the wrap-around sanitizers in the future.\n\nLink: https://git.kernel.org/linus/68df3755e383e6fecf2354a67b08f92f18536594 [1]\nLink: https://github.com/KSPP/linux/issues/26 [2]\nLink: https://github.com/KSPP/linux/issues/27 [3]\nLink: https://github.com/KSPP/linux/issues/344 [4]\nCc: Wei Liu \u003cwei.liu@kernel.org\u003e\nCc: Paul Durrant \u003cpaul@xen.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Jakub Kicinski \u003ckuba@kernel.org\u003e\nCc: Paolo Abeni \u003cpabeni@redhat.com\u003e\nCc: xen-devel@lists.xenproject.org\nCc: netdev@vger.kernel.org\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ff96f22648efdeaa3bbac353f1b84c3883a01948",
      "old_mode": 33188,
      "old_path": "drivers/net/xen-netback/hash.c",
      "new_id": "69b03b4feba93ec2413f625580cf91b2e0b59cf7",
      "new_mode": 33188,
      "new_path": "drivers/net/xen-netback/hash.c"
    }
  ]
}
