)]}'
{
  "commit": "10963ea1bd966ba46a46178c4d6abcdf3c23538d",
  "tree": "d11eb5adbca18c9570c28fff4dffe0f7d4d1da1c",
  "parents": [
    "ed6ffd08084c68e9c3911e27706dec9d4c9a4175"
  ],
  "author": {
    "name": "Stefan Richter",
    "email": "stefanr@s5r6.in-berlin.de",
    "time": "Sat Aug 16 00:11:48 2008 +0200"
  },
  "committer": {
    "name": "Stefan Richter",
    "email": "stefanr@s5r6.in-berlin.de",
    "time": "Wed Oct 15 22:21:08 2008 +0200"
  },
  "message": "ieee1394: raw1394: replace BKL by local mutex, make ioctl() and mmap() thread-safe\n\nThis removes the last usage of the Big Kernel Lock from the ieee1394\nstack, i.e. from raw1394\u0027s (unlocked_)ioctl and compat_ioctl.\n\nThe ioctl()s don\u0027t need to take the BKL, but they need to be serialized\nper struct file *.  In particular, accesses to -\u003eiso_state need to be\nserial.  We simply use a blocking mutex for this purpose because\nlibraw1394 does not use O_NONBLOCK.  In practice, there is no lock\ncontention anyway because most if not all libraw1394 clients use a\nlibraw1394 handle only in a single thread.\n\nmmap() also accesses -\u003eiso_state.  Until now this was unprotected\nagainst concurrent changes by ioctls.  Fix this bug while we are at it.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a06aaad5b448da6072a0c4469b60cfa64eafa1e3",
      "old_mode": 33188,
      "old_path": "drivers/ieee1394/raw1394-private.h",
      "new_id": "7a225a4059870b17a43db380f9aa17b784f8cdd0",
      "new_mode": 33188,
      "new_path": "drivers/ieee1394/raw1394-private.h"
    },
    {
      "type": "modify",
      "old_id": "6fa9e4a21840b5f0cad2ce28b3754b293913e8fc",
      "old_mode": 33188,
      "old_path": "drivers/ieee1394/raw1394.c",
      "new_id": "975ed7062aa10b1a14c3eb92ed25c8072717f4b1",
      "new_mode": 33188,
      "new_path": "drivers/ieee1394/raw1394.c"
    }
  ]
}
