)]}'
{
  "commit": "d28ecab0c40f587fd1e28701c195747220c984e2",
  "tree": "dea63b1eb9ce709790e9fd97cbefd130ed3403b5",
  "parents": [
    "4c89d86b4df8e4f2cdccb72495e2f4664118ebf1"
  ],
  "author": {
    "name": "Hendrik Brueckner",
    "email": "brueckner@linux.vnet.ibm.com",
    "time": "Wed Sep 16 04:37:23 2009 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Sep 16 20:57:31 2009 -0700"
  },
  "message": "iucv: fix iucv_buffer_cpumask check when calling IUCV functions\n\nPrior to calling IUCV functions, the DECLARE BUFFER function must have been\ncalled for at least one CPU to receive IUCV interrupts.\n\nWith commit \"iucv: establish reboot notifier\" (6c005961), a check has been\nintroduced to avoid calling IUCV functions if the current CPU does not have\nan interrupt buffer declared.\nBecause one interrupt buffer is sufficient, change the condition to ensure\nthat one interrupt buffer is available.\n\nIn addition, checking the buffer on the current CPU creates a race with\nCPU up/down notifications: before checking the buffer, the IUCV function\nmight be interrupted by an smp_call_function() that retrieves the interrupt\nbuffer for the current CPU.\nWhen the IUCV function continues, the check fails and -EIO is returned. If a\nbuffer is available on any other CPU, the IUCV function call must be invoked\n(instead of failing with -EIO).\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "aabd2388fcce493ad8dd2e8cada8eaa2db65c47a",
      "old_mode": 33188,
      "old_path": "net/iucv/iucv.c",
      "new_id": "8aaa23ccd988ec90793fb8209e125e3a2086048f",
      "new_mode": 33188,
      "new_path": "net/iucv/iucv.c"
    }
  ]
}
