)]}'
{
  "commit": "99709372736a216f99eb32b76fba835a2bfc93a8",
  "tree": "62a84b976965436b841c65b63e52240d0b06bc29",
  "parents": [
    "fb0886745a75ce98bde3aac421adc69fe61a1905"
  ],
  "author": {
    "name": "Andrew Morton",
    "email": "akpm@linux-foundation.org",
    "time": "Thu Feb 12 16:43:17 2009 -0800"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Thu Feb 12 16:43:17 2009 -0800"
  },
  "message": "net: don\u0027t use in_atomic() in gfp_any()\n\nThe problem is that in_atomic() will return false inside spinlocks if\nCONFIG_PREEMPT\u003dn.  This will lead to deadlockable GFP_KERNEL allocations\nfrom spinlocked regions.\n\nSecondly, if CONFIG_PREEMPT\u003dy, this bug solves itself because networking\nwill instead use GFP_ATOMIC from this callsite.  Hence we won\u0027t get the\nmight_sleep() debugging warnings which would have informed us of the buggy\ncallsites.\n\nSolve both these problems by switching to in_interrupt().  Now, if someone\nruns a gfp_any() allocation from inside spinlock we will get the warning\nif CONFIG_PREEMPT\u003dy.\n\nI reviewed all callsites and most of them were too complex for my little\nbrain and none of them documented their interface requirements.  I have no\nidea what this patch will do.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5a3a151bd7300455d6da16d6b34ac39a785fb4c7",
      "old_mode": 33188,
      "old_path": "include/net/sock.h",
      "new_id": "ce3b5b6226838ca1d1595b519d02e6223efcb67b",
      "new_mode": 33188,
      "new_path": "include/net/sock.h"
    }
  ]
}
