)]}'
{
  "commit": "3d164fb09bb5cb8a223eddf634fc0d355714fcfe",
  "tree": "e0e52cbc911dc8602a1f2d17d994a19e478fcc8e",
  "parents": [
    "3dabec7175bc6d49e88748cf03951357e74496ca"
  ],
  "author": {
    "name": "FUJITA Tomonori",
    "email": "fujita.tomonori@lab.ntt.co.jp",
    "time": "Sat Jul 26 23:25:43 2008 +0900"
  },
  "committer": {
    "name": "James Bottomley",
    "email": "James.Bottomley@HansenPartnership.com",
    "time": "Sat Jul 26 15:17:47 2008 -0400"
  },
  "message": "[SCSI] ch: fix ch_remove oops\n\nThe following commit causes ch_remove oops:\n\ncommit 24b42566c3fcbb5a9011d1446783d0f5844ccd45\nAuthor: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nDate:   Fri May 16 17:55:12 2008 -0700\n\n    SCSI: fix race in device_create\n\n    There is a race from when a device is created with device_create() and\n    then the drvdata is set with a call to dev_set_drvdata() in which a\n    sysfs file could be open, yet the drvdata will be NULL, causing all\n    sorts of bad things to happen.\n\n    This patch fixes the problem by using the new function,\n    device_create_drvdata().  It fixes the problem in all of the scsi\n    drivers that need it.\n\n    Cc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n    Cc: Doug Gilbert \u003cdgilbert@interlog.com\u003e\n    Cc: James E.J. Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n    Signed-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nThe problem is ch_probe stores ch\u0027s private data at a wrong place.\n\nWe need to store it at scsi_device-\u003esdev_gendev but the above patch\nstores it at device struct that device_create_drvdata returns. So we\nhit an oops when ch_remove accesses\nscsi_device-\u003esdev_gendev-\u003edriver_data, which is NULL.\n\nActually, there wasn\u0027t a race because ch doesn\u0027t create sysfs files\nwith device struct that device_create returns. This patch puts back\ndev_set_drvdata() to set ch\u0027s private data properly.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "aa2011b6468387609993e2ab7643b8e40740c403",
      "old_mode": 33188,
      "old_path": "drivers/scsi/ch.c",
      "new_id": "3c257fe0893e51c9740f226b752a559321cb95a4",
      "new_mode": 33188,
      "new_path": "drivers/scsi/ch.c"
    }
  ]
}
