)]}'
{
  "log": [
    {
      "commit": "0599ad53fee2d084f9ba26247d7452f06a40d298",
      "tree": "2d31232e6991d507ff60ec6a774eb0b27de7aeca",
      "parents": [
        "dcc997738e538919101d8756f19ca23110b25d8d"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed May 14 22:34:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 14 22:34:16 2008 -0700"
      },
      "message": "sysfs: remove error messages for -EEXIST case\n\nIt is possible that the entry in sysfs already exists, one case of this is\nwhen a network device is renamed to bonding_masters. Anyway, in this case\nthe proper error path is for device_rename to return an error code, not to\ngenerate bogus backtrace and errors.\n\nAlso, to avoid possible races, the create link should be done before the\nremove link. This makes a device rename atomic operation like other renames.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "40a2159abf3d0107bba359246554bd7d56f2171b",
      "tree": "b7a0ee28b4e112e6f134efb6b567f38589fc4689",
      "parents": [
        "08acd4f8af42affd8cbed81cc1b69fa12ddb213f"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Apr 28 15:59:58 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 30 16:52:46 2008 -0700"
      },
      "message": "sysfs: Disallow truncation of files in sysfs\n\nsysfs allows attribute files to be truncated, e.g. using ftruncate(), with the\nexpected effect on their inode.   For most attributes, this doesn\u0027t change the\n\"real\" size of the file i.e. how much can be read from it.  However, the\nparameter validation for reading and writing binary attribute files is based\non the inode size and not the size specified in the file\u0027s bin_attribute, so it\ncan be broken by this. For example, if we try using dd to write to such a file:\n\n# pwd\n/sys/bus/pci/devices/0000:08:00.0\n# ls -l config\n-rw-r--r--  1 root root 4096 Feb  1 17:35 config\n# dd if\u003d/dev/zero of\u003dconfig bs\u003d4 count\u003d1\n1+0 records in\n1+0 records out\n# ls -l config\n-rw-r--r--  1 root root 0 Feb  1 17:50 config\n# dd if\u003d/dev/zero of\u003dconfig bs\u003d4 count\u003d1 seek\u003d128\ndd: writing `config\u0027: No space left on device\n1+0 records in\n0+0 records out\n\nAlso, after truncation to 0, parameter validation for read and write is\ndisabled.  Most bin_attribute read and write methods also validate the size and\noffset, but for some this will allow out-of-range access.  This may be a\nsecurity issue, though access to such files is often limited to root.  In any\ncase, the validation should remain for safety\u0027s sake!)\n\nThis was previously reported in Bugzilla as bug 9867.\n\nsysfs should ignore size changes or else refuse them (by returning -EINVAL).\nThis patch makes it ignore them.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8e24eea728068bbeb6a3c500b848f883a20bf225",
      "tree": "93e79da649723e2766237505b22725fec395f139",
      "parents": [
        "530b6412786d7f83592c1a8e2445541ed73fca76"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Apr 30 00:55:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "fs: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4ad08fe64afca4ef79ecc4c624e6e871688da0d",
      "tree": "5b8b390b874700041dc0c095e8ba9ac3ed42ea77",
      "parents": [
        "76f1418b485da2707531178e517bbb5cf06b3c76"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "mm: bdi: add separate writeback accounting capability\n\nAdd a new BDI capability flag: BDI_CAP_NO_ACCT_WB.  If this flag is\nset, then don\u0027t update the per-bdi writeback stats from\ntest_set_page_writeback() and test_clear_page_writeback().\n\nMisc cleanups:\n\n - convert bdi_cap_writeback_dirty() and friends to static inline functions\n - create a flag that includes all three dirty/writeback related flags,\n   since almst all users will want to have them toghether\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f4238958d28044b335644b69df6071cdb04b5ce",
      "tree": "159b82f8eb9479cdc10f861d682309b4c0c8c411",
      "parents": [
        "bbd1ae412c9eb09ae7bb11cfaf7018a2367d493f"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Mar 20 20:47:52 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Apr 22 15:16:31 2008 -0500"
      },
      "message": "[SCSI] sysfs: make group is_valid return a mode_t\n\nWe have a problem in scsi_transport_spi in that we need to customise\nnot only the visibility of the attributes, but also their mode.  Fix\nthis by making the is_visible() callback return a mode, with 0\nindicating is not visible.\n\nAlso add a sysfs_update_group() API to allow us to change either the\nvisibility or mode of the files at any time on the fly.\n\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2424b5dd062cbe3e0578ae7b11a1b360ad22f451",
      "tree": "75b6d67412969074237a371947280b419c5d43db",
      "parents": [
        "b844eba292b477cda14582bfc6f535deed57a82d"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Apr 07 15:35:01 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:29 2008 -0700"
      },
      "message": "sysfs: refill attribute buffer when reading from offset 0\n\nRequiring userspace to close and re-open sysfs attributes has been the\npolicy since before 2.6.12.  It allows userspace to get a consistent\nsnapshot of kernel state and consume it with incremental reads and seeks.\n\nNow, if the file position is zero the kernel assumes userspace wants to see\nthe new value.  The application for this change is to allow a userspace\nRAID metadata handler to check the state of an array without causing any\nmemory allocations.  Thus not causing writeback to a raid array that might\nbe blocked waiting for userspace to take action.\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "c6f87733823d69a8f12e391688ceeb1ff4922530",
      "tree": "2061036d1d015167a4de9e2c3a14810e6409f18f",
      "parents": [
        "3f62e5700b2a679ae987b32a68126dd6dcf2488f"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Thu Mar 13 22:41:52 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:27 2008 -0700"
      },
      "message": "SYSFS: Explicitly include required header file slab.h.\n\nAfter an experimental deletion of the unnecessary inclusion of\n\u003clinux/slab.h\u003e from the header file \u003clinux/percpu.h\u003e, the following\nfiles under fs/sysfs were exposed as needing to explicitly include\n\u003clinux/slab.h\u003e.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a839c5afcdc345aecb35b0d3bcd0e09b571329c3",
      "tree": "58fda1dc26c12edc365e7cd2fe12f8dfc7554dd2",
      "parents": [
        "5cc3bf2786f63cceb191c3c02ddd83c6f38a7d64"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Jan 29 14:35:18 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:10 2008 -0700"
      },
      "message": "sysfs: Allow removal of symlinks in the sysfs root\n\nAllow callers of sysfs_remove_link() to pass a NULL kobj, in which case\nsysfs_root will be used as the parent directory. This allows us to tear down\ntop level symlinks created via sysfs_create_link(), which already has\nsimilar handling of a NULL parent object.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "815d2d50da41f28aae58f5e9b3c61c3094422749",
      "tree": "f5c3a8f1cd676ef7ed76ea6cc96ccf399310f7fb",
      "parents": [
        "c9698d6b1a90929e427a165bd8283f803f57d9bd"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Mar 04 15:09:07 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 24 22:33:49 2008 -0700"
      },
      "message": "driver core: debug for bad dev_attr_show() return value.\n\nTry to find the culprit who caused\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d10150\n\nCc: \u003cbalajirrao@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "969affd276dec81a35a5ad10d4e05e62e93b380b",
      "tree": "a6a6bb9f2b658838f09ad28d58211252a5e7db6f",
      "parents": [
        "7d640c4a5b36c4733460065db1554da924044511"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 07 11:58:54 2008 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 07 11:31:46 2008 -0800"
      },
      "message": "sysfs: remove BUG_ON() from sysfs_remove_group()\n\nIt\u0027s possible that the caller of sysfs_remove_group messed up and passed in an attribute group that was not really registered to this kobject.  But don\u0027t panic for such a foolish error, spit out a warning about what happened, and continue on our way safely.\n\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9b73e76f3cf63379dcf45fcd4f112f5812418d0a",
      "tree": "4e6bef87cd0cd6d848fc39a5ae25b981dbbe035b",
      "parents": [
        "50d9a126240f9961cfdd063336bbeb91f77a7dce",
        "23c3e290fb9ce38cabc2822b47583fc8702411bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (200 commits)\n  [SCSI] usbstorage: use last_sector_bug flag universally\n  [SCSI] libsas: abstract STP task status into a function\n  [SCSI] ultrastor: clean up inline asm warnings\n  [SCSI] aic7xxx: fix firmware build\n  [SCSI] aacraid: fib context lock for management ioctls\n  [SCSI] ch: remove forward declarations\n  [SCSI] ch: fix device minor number management bug\n  [SCSI] ch: handle class_device_create failure properly\n  [SCSI] NCR5380: fix section mismatch\n  [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices\n  [SCSI] IB/iSER: add logical unit reset support\n  [SCSI] don\u0027t use __GFP_DMA for sense buffers if not required\n  [SCSI] use dynamically allocated sense buffer\n  [SCSI] scsi.h: add macro for enclosure bit of inquiry data\n  [SCSI] sd: add fix for devices with last sector access problems\n  [SCSI] fix pcmcia compile problem\n  [SCSI] aacraid: add Voodoo Lite class of cards.\n  [SCSI] aacraid: add new driver features flags\n  [SCSI] qla2xxx: Update version number to 8.02.00-k7.\n  [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command.\n  ...\n"
    },
    {
      "commit": "000f2a4d8cfc1e1cbc0aa98136015e7ae7719b46",
      "tree": "f501a2d118797a88184a77be089d335c4cc48e88",
      "parents": [
        "4443d07fcfab39c4d2d9d7711cff983f15b374fc"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Nov 02 13:47:53 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:22 2008 -0800"
      },
      "message": "Driver Core: kill subsys_attribute and default sysfs ops\n\nRemove the no longer needed subsys_attributes, they are all converted to\nthe more sensical kobj_attributes.\n\nThere is no longer a magic fallback in sysfs attribute operations, all\nkobjects which create simple attributes need explicitely a ktype\nassigned, which tells the core what was intended here.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "3514faca19a6fdc209734431c509631ea92b094e",
      "tree": "f6d102e6dec276f8e8d1044b47c74a02b901554f",
      "parents": [
        "c11c4154e7ff4cebfadad849b1e22689d759c3f4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 16 10:11:44 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:10 2008 -0800"
      },
      "message": "kobject: remove struct kobj_type from struct kset\n\nWe don\u0027t need a \"default\" ktype for a kset.  We should set this\nexplicitly every time for each kset.  This change is needed so that we\ncan make ksets dynamic, and cleans up one of the odd, undocumented\nassumption that the kset/kobject/ktype model has.\n\nThis patch is based on a lot of help from Kay Sievers.\n\nNasty bug in the block code was found by Dave Young\n\u003chidave.darkstar@gmail.com\u003e\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d7b37889650bb316f5c4ad4b0569ba897120d70d",
      "tree": "33a0b024eca4d1b3130b079b10942ee7af364d33",
      "parents": [
        "2f90a851800e88436873c8d27238cf219b9ef48e"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Nov 21 14:55:19 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:08 2008 -0800"
      },
      "message": "sysfs: remove SPIN_LOCK_UNLOCKED\n\nSPIN_LOCK_UNLOCKED is deprecated, use DEFINE_SPINLOCK instead\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Tejun Heo \u003cteheo@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2f90a851800e88436873c8d27238cf219b9ef48e",
      "tree": "70f8947025d38ad64026b1d00986655ff3c3606f",
      "parents": [
        "7b8712e563df4fefc25d3107fa3fb3abb7331ff4"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Nov 01 20:20:52 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:08 2008 -0800"
      },
      "message": "sysfs: create optimal relative symlink targets\n\nInstead of walking from the source down to the root of sysfs, and back\nto the target, we stop at the first directory the source and the target\nshare.\n\nThis link:\n  /devices/pci0000:00/0000:00:1d.7/usb1/1-0:1.0/ep_81\n\npointed to:\n  ../../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81\n\nnow it just points to:\n  usb_endpoint/usbdev1.1_ep81\n\nThanks to Denis Cheng for bringing this up, and sending the initial patch.\n\nCC: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9fd5b1c906a9b4b0efb24cb2b4d20c678ff26122",
      "tree": "56bac78b8044babb2d6fb147397813ce7177b704",
      "parents": [
        "463e526083fdaa284eaea45b53bb917ed3c72900"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Jan 08 18:11:24 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:04 2008 -0800"
      },
      "message": "sysfs: Fix a copy-n-paste typo in comment\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d4acd722b7bb5f48b9fc3848e8c2a845b100d84f",
      "tree": "24c0ccb9cd13d79b47588d44b27b3f1eb91a0ec7",
      "parents": [
        "d52b3815a52456dcf1a45fbc344e23bb643b2bda"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Oct 31 09:38:04 2007 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 23 11:29:18 2008 -0600"
      },
      "message": "[SCSI] sysfs: add filter function to groups\n\nThis patch allows the various users of attribute_groups to selectively\nallow the appearance of group attributes.  The primary consumer of\nthis will be the transport classes in which we currently have\nelaborate attribute selection algorithms to do this same thing.\n\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "11f24fbdf511cf588c3a18e3208ee02d85db0020",
      "tree": "08b4367c7601b687edc8150be17989beb2230119",
      "parents": [
        "d0ad3bc97c06fba5d37b4ca03c03b7eeeda39c47"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 02 18:44:05 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 23 11:29:17 2008 -0600"
      },
      "message": "[SCSI] sysfs: fix the sysfs_add_file_to_group interfaces\n\nI can\u0027t see a reason why these shouldn\u0027t work on every group.  However,\nthey only seem to work on named groups.  This patch allows the group\nfunctions to work on anonymous groups (those with NULL names).\n\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "456ef1553cb2b06729d64c1d1f0f2bda34e9b201",
      "tree": "4ad211cbaff6056d9f1c9aded2d24e83b1641c31",
      "parents": [
        "e49452c67703d3647467d65275fb893589384fed"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jan 16 12:10:53 2008 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 16 09:54:03 2008 -0800"
      },
      "message": "sysfs: fix bugs in sysfs_rename/move_dir()\n\nsysfs_rename/move_dir() have the following bugs.\n\n - On dentry lookup failure, kfree() is called on ERR_PTR() value.\n - sysfs_move_dir() has an extra dput() on success path.\n\nFix them.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e49452c67703d3647467d65275fb893589384fed",
      "tree": "137d7dea836f16f4efc3c709981dee3d306aa757",
      "parents": [
        "cbd9c883696da72b2b1f03f909dbacc04bbf8b58"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jan 16 12:06:14 2008 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 16 09:54:03 2008 -0800"
      },
      "message": "sysfs: make sysfs_lookup() return ERR_PTR(-ENOENT) on failed lookup\n\nsysfs tries to keep dcache a strict subset of sysfs_dirent tree by\nshooting down dentries when a node is removed, that is, no negative\ndentry for sysfs.  However, the lookup function returned NULL and thus\ncreated negative dentries when the target node didn\u0027t exist.\n\nMake sysfs_lookup() return ERR_PTR(-ENOENT) on lookup failure.  This\nfixes the NULL dereference bug in sysfs_get_dentry() discovered by\nbluetooth rfcomm device moving around.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8118a859dc7abd873193986c77a8d9bdb877adc8",
      "tree": "6b66719637ba2b4174c126cb751a090de0536269",
      "parents": [
        "71409a498e96a421bdc20e7275ebc4fab8b14cdc"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Nov 21 14:55:19 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Nov 28 13:53:53 2007 -0800"
      },
      "message": "sysfs: fix off-by-one error in fill_read_buffer()\n\nI found that there is a off-by-one problem in the following code.\n\nVersion:\t2.6.24-rc2\nFile:\t\tfs/sysfs/file.c:118-122\nFunction:\tfill_read_buffer\n--------------------------------------------------------------------\n\tcount \u003d ops-\u003eshow(kobj, attr_sd-\u003es_attr.attr, buffer-\u003epage);\n\n\tsysfs_put_active_two(attr_sd);\n\n\tBUG_ON(count \u003e (ssize_t)PAGE_SIZE);\n--------------------------------------------------------------------\n\nBecause according to the specification of the sysfs and the implement of\nthe show methods, the show methods return the number of bytes which would\nbe generated for the given input, excluding the trailing null.So if the\nreturn value of the show methods equals PAGE_SIZE - 1, the buffer is full\nin fact.  And if the return value equals PAGE_SIZE, the resulting string\nwas already truncated,or buffer overflow occurred.\n\nThis patch fixes an off-by-one error in fill_read_buffer.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Tejun Heo \u003cteheo@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "78e9d3678c8362aad2b2a48c242966aebb089dbd",
      "tree": "8521c590a8682fb6039e66990213c292068b9475",
      "parents": [
        "34358c26a2c96b2a068dc44e0ac602106a466bce"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Oct 24 18:23:32 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 30 21:52:33 2007 -0700"
      },
      "message": "sysfs: make sysfs_{get,put}_active() static\n\nsysfs_{get,put}_active() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3932bf60590064dbd1d5bc6f19faf4469e964082",
      "tree": "e0a327410e140c724124654401b5e567c85e72ee",
      "parents": [
        "80abe55b53028bd082bdc69c497fe734e6057538"
      ],
      "author": {
        "name": "Chris Malley",
        "email": "mail@chrismalley.co.uk",
        "time": "Sat Oct 20 03:14:32 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 03:14:32 2007 +0200"
      },
      "message": "sysfs: trivial: fix sysfs_create_file kerneldoc spelling mistake\n\nSpelling error in sysfs_create_file kerneldoc.\n\nSigned-off-by: Chris Malley \u003cmail@chrismalley.co.uk\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "f7a75f0a40073601a0fb509290019d5f3f32b94b",
      "tree": "61b4e44ec385b17fe0177fbece0c02d7ad1e882f",
      "parents": [
        "d68c9d6ae8f1fdae7d998158adc5ee106a2f8ce6"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Tue Oct 16 23:30:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:01 2007 -0700"
      },
      "message": "spin_lock_unlocked cleanups\n\nReplace some SPIN_LOCK_UNLOCKED with DEFINE_SPINLOCK\n\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0bf68ddec4f4f90e5871404be4f1854c17f3120",
      "tree": "36203a3558cbe26d698bed18be69b3822fb5eef2",
      "parents": [
        "dc62a30e274d003a4d08fb888f1520add4b21373"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "mm: bdi init hooks\n\nprovide BDI constructor/destructor hooks\n\n[akpm@linux-foundation.org: compile fix]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eead19115329c5615ba03cbaf1c3fe24c14858a3",
      "tree": "4b8aeeea5060fca595f2c5e8290d742cdb14a08f",
      "parents": [
        "ebb3e820b83e426ee331bae6d8fb0e54f472a25d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Oct 16 23:25:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:44 2007 -0700"
      },
      "message": "partially fix up the lookup_one_noperm mess\n\nTry to fix the mess created by sysfs braindamage.\n\n - refactor code internal to fs/namei.c a little to avoid too much\n   duplication:\n\to __lookup_hash_kern is renamed back to __lookup_hash\n\to the old __lookup_hash goes away, permission checks moves to\n\t  the two callers\n\to useless inline qualifiers on above functions go away\n - lookup_one_len_kern loses it\u0027s last argument and is renamed to\n   lookup_one_noperm to make it\u0027s useage a little more clear\n - added kerneldoc comments to describe lookup_one_len aswell as\n   lookup_one_noperm and make it very clear that no one should use\n   the latter ever.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "800d15a53e7d14fa26495b7b95d3bfe7877dd69d",
      "tree": "09a59e32043f1b601b73ad6105e7634679337884",
      "parents": [
        "674b892ede247ef4fb8d00918f02e29c32b9bbaf"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:55 2007 -0700"
      },
      "message": "implement simple fs aops\n\nImplement new aops for some of the simpler filesystems.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d66f5cd26e4c482e986130b7572f2735a0f7e8b",
      "tree": "b35a4c00af8b2120a672dc19cb09006d5d000a9f",
      "parents": [
        "f0e7e1bd77d450ebfa12153b90f93ad46616ab4a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 17:31:38 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:12 2007 -0700"
      },
      "message": "sysfs: add copyrights\n\nSysfs has gone through considerable amount of reimplementation.  Add\ncopyrights.  Any objections?  :-)\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a4e8b912541d5372ae049a3b7c1979968e52c40b",
      "tree": "a95937748b6216f914abe55ed47c2627e7856bf7",
      "parents": [
        "85a4ffad3de77177591f7c2c18c26c3c8dd28bff"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:12 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:11 2007 -0700"
      },
      "message": "sysfs: move sysfs file poll implementation to sysfs_open_dirent\n\nSysfs file poll implementation is scattered over sysfs and kobject.\nEvent numbering is done in sysfs_dirent but wait itself is done on\nkobject.  This not only unecessarily bloats both kobject and\nsysfs_dirent but is also buggy - if a sysfs_dirent is removed while\nthere still are pollers, the associaton betwen the kobject and\nsysfs_dirent breaks and kobject may be freed with the pollers still\nsleeping on it.\n\nThis patch moves whole poll implementation into sysfs_open_dirent.\nEach time a sysfs_open_dirent is created, event number restarts from 1\nand pollers sleep on sysfs_open_dirent.  As event sequence number is\nmeaningless without any open file and pollers should have open file\nand thus sysfs_open_dirent, this ephemeral event counting works and is\na saner implementation.\n\nThis patch fixes the dnagling sleepers bug and reduces the sizes of\nkobject and sysfs_dirent by one pointer.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "85a4ffad3de77177591f7c2c18c26c3c8dd28bff",
      "tree": "3c67b1435dfd9a5b56d39235f1b44769f96f0fcc",
      "parents": [
        "bc747f37a0f089b9366f7385ff870e12911f2383"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:12 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:11 2007 -0700"
      },
      "message": "sysfs: implement sysfs_open_dirent\n\nImplement sysfs_open_dirent which represents an open file (attribute)\nsysfs_dirent.  A file sysfs_dirent with one or more open files have\none sysfs_dirent and all sysfs_buffers (one for each open instance)\nare linked to it.\n\nsysfs_open_dirent doesn\u0027t actually do anything yet but will be used to\noff-load things which are specific for open file sysfs_dirent from it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "bc747f37a0f089b9366f7385ff870e12911f2383",
      "tree": "b23e81c5136486bc081770dd83595e658437ace8",
      "parents": [
        "dc2f75f0e0cac645c22c85bcf429683b3fa0d2d9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:12 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:11 2007 -0700"
      },
      "message": "sysfs: move sysfs_dirent-\u003es_children into sysfs_dirent-\u003es_dir\n\nChildren list head is only meaninful for directory nodes.  Move it\ninto s_dir.  This doesn\u0027t save any space currently but it will with\nfurther changes.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dc2f75f0e0cac645c22c85bcf429683b3fa0d2d9",
      "tree": "775a89f5abae0cdc9688a32a6209d74c61cb5975",
      "parents": [
        "d6b4fd2faeb9ddf55ce09cf90b88981e579ee010"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:12 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:11 2007 -0700"
      },
      "message": "sysfs: make sysfs_root a regular directory dirent\n\nsysfs_root is different from a regular directory dirent in that it\u0027s\nof type SYSFS_ROOT and doesn\u0027t have a name.  These differences aren\u0027t\nused by anybody and only adds to complexity.  Make sysfs_root a\nregular directory dirent.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d6b4fd2faeb9ddf55ce09cf90b88981e579ee010",
      "tree": "eb122aadde2b5e8fa2dcb2b800c6890d7fcb73b2",
      "parents": [
        "b1fc3d6144d56360d1373b01c7881826f558b6cd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:11 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:11 2007 -0700"
      },
      "message": "sysfs: open code sysfs_attach_dentry()\n\nsysfs_attach_dentry() now has only one caller and isn\u0027t doing much\nother than obfuscating the code.  Open code and kill it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b1fc3d6144d56360d1373b01c7881826f558b6cd",
      "tree": "3bac4c3df21dc74c6373c3e4a22c3ea6b01b1832",
      "parents": [
        "078ce6409ca54d5fc6eb7d2147cd6efc3eb09078"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:11 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:10 2007 -0700"
      },
      "message": "sysfs: make s_elem an anonymous union\n\nMake s_elem an anonymous union.  Prefixing with s_elem makes things\nneedlessly longer without any advantage.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "078ce6409ca54d5fc6eb7d2147cd6efc3eb09078",
      "tree": "c2c9879610b1aa8ca84360937669289058fa9837",
      "parents": [
        "50ab1a72863b1ad4b117862bc52610f8d4535609"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:10 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:10 2007 -0700"
      },
      "message": "sysfs: make bin attr open get active reference of parent too\n\nAll bin attr operations require active references of itself and its\nparent.  There\u0027s no reason to allow open when its parent has been\ndeactivated and allowing it is inconsistent with regular sysfs file.\nUse sysfs_get_active_two() in bin attribute open function.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "50ab1a72863b1ad4b117862bc52610f8d4535609",
      "tree": "41a30dce0ef44917f16d2bc5cdf23cc26f4fac3a",
      "parents": [
        "b05f0548dabd20433f8c201a0307103721d6a18b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:10 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:10 2007 -0700"
      },
      "message": "sysfs: kill unnecessary NULL pointer check in sysfs_release()\n\nIn sysfs_release(), sysfs_buffer pointed to by filp-\u003eprivate_data is\nguaranteed to exist.  Kill the unnecessary NULL check.  This also\nmakes the code more consistent with the counterpart in fs/sysfs/bin.c.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b05f0548dabd20433f8c201a0307103721d6a18b",
      "tree": "1dd741ce7ee0a05f20b4b1469f03b378c8ee9ed1",
      "parents": [
        "b13dc89c5a5bd5e34aadb44c0fb7e870959dcd06"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:10 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:10 2007 -0700"
      },
      "message": "sysfs: kill unnecessary sysfs_get() in open paths\n\nThere\u0027s no reason to get an extra reference to sysfs_dirent for an\nopen file.  Open file has a reference to the dentry which in turn has\na reference to sysfs_dirent.  This is fairly obvious as otherwise open\nitself won\u0027t be able to access the sysfs_dirent.  Kill the extra\nsysfs_get() and matching sysfs_put().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b13dc89c5a5bd5e34aadb44c0fb7e870959dcd06",
      "tree": "110bf837aa041960726dc4ca592b7469907de3d8",
      "parents": [
        "5a7ad7f044941316dc98eda2a087a12a7a50649d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:10 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:10 2007 -0700"
      },
      "message": "sysfs: reposition sysfs_dirent-\u003es_mode.\n\nMove s_mode downward such that it\u0027s side-by-side with s_iattr which is\nused for the same thing.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5a7ad7f044941316dc98eda2a087a12a7a50649d",
      "tree": "03b61af0e90dc158df43f24f8a38792d8c6ae651",
      "parents": [
        "59f69015684b3de7b9472be9a81b1a978f93a496"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:10 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:09 2007 -0700"
      },
      "message": "sysfs: kill sysfs_update_file()\n\nsysfs_update_file() depends on inode-\u003ei_mtime but sysfs iondes are now\nreclaimable making the reported modification time unreliable.  There\u0027s\nonly one user (pci hotplug) of this notification mechanism and it\nreportedly isn\u0027t utilized from userland.\n\nKill sysfs_update_file().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "59f69015684b3de7b9472be9a81b1a978f93a496",
      "tree": "3d3f7880e9f0d9c867695b120944540e815f194a",
      "parents": [
        "f88123eaf953f13a0c597dde54745d28f81236de"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:10 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:09 2007 -0700"
      },
      "message": "sysfs: clean up header files\n\nsysfs is about to go through major overhaul making this a pretty good\nopportunity to clean up (out-of-tree changes and pending patches will\nneed regeneration anyway).  Clean up headers.\n\n* Kill space between * and symbolname.\n\n* Move SYSFS_* type constants and flags into fs/sysfs/sysfs.h.\n  They\u0027re internal to sysfs.\n\n* Reformat function prototypes and add argument symbol names.\n\n* Make dummy function definition order match that of function\n  prototypes.\n\n* Add some comments.\n\n* Reorganize fs/sysfs/sysfs.h according to which file the declared\n  variable or feature lives in.\n\nThis patch does not introduce any behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f88123eaf953f13a0c597dde54745d28f81236de",
      "tree": "d737f3d4a79055d9d6c8ab5df0c564ea6a89ec8a",
      "parents": [
        "181b2e4be1603ce3ccace8322047a548f29f4b20"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:10 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:09 2007 -0700"
      },
      "message": "sysfs: fix sysfs_chmod_file() such that it updates sd-\u003es_mode too\n\nsysfs_chmod_file() looked and updated only inode of the target file.\nDentry and inode are reclaimable and the update mode data will go away\nwhen the inode is reclaimed.  This patch makes sysfs_chmod_file()\nupdate sd-\u003es_mode too such that the change is permanent.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "181b2e4be1603ce3ccace8322047a548f29f4b20",
      "tree": "5cfc9844ccacd8c8b378e9e47d2c8f7625b7bff3",
      "parents": [
        "5c3e8964ce87477a12e3e9edc3742156a3929a74"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:09 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:09 2007 -0700"
      },
      "message": "sysfs: fix comments of sysfs_add/remove_one()\n\nsysfs_add/remove_one() now link and unlink the target dirent into and\nfrom the children list.  Update comments accordingly.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5c3e8964ce87477a12e3e9edc3742156a3929a74",
      "tree": "fa9f43c11b7eea40d8758a638b8452ae5a1e724f",
      "parents": [
        "dc8c85871c9728c5fddca6854a191fd41eb9438c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Sep 13 02:53:13 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:09 2007 -0700"
      },
      "message": "sysfs: spit a warning to users when they try to create a duplicate sysfs file\n\nWe want to let people know when we create a duplicate sysfs file, as\nthey need to fix up their code.\n\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "45aaae9c51d768d5a8fd53fb372b1eb714f37691",
      "tree": "0735356cf38a950404bcea49d44ac5610306e9eb",
      "parents": [
        "9918f9a4817cb6241c727b434d5f8ec5564198de"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:31 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Rewrite sysfs_move_dir in terms of sysfs dirents\n\nThis patch rewrites sysfs_move_dir to perform it\u0027s checks\nas much as possible on the underlying sysfs_dirents instead\nof the contents of the dcache, making sysfs_move_dir\nmore like the rest of the sysfs directory modification\ncode.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9918f9a4817cb6241c727b434d5f8ec5564198de",
      "tree": "76fa5f03994d22e580623baa04ba62c070b94c42",
      "parents": [
        "5a26b79c426f8e55ebf7204cb138eb6b1645d4d3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:31 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Rewrite rename in terms of sysfs dirents\n\nThis patch rewrites sysfs_rename_dir to perform it\u0027s checks\nas much as possible on the underlying sysfs_dirents instead\nof the contents of the dcache.  It turns out that this version\nis a little simpler, and a little more like the rest of\nthe sysfs directory modification code.\n\ntj: fixed double locking of sysfs_mutex\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5a26b79c426f8e55ebf7204cb138eb6b1645d4d3",
      "tree": "4cdcd80f88a479a6ed1ef53042f3b17359c0e80e",
      "parents": [
        "e0712bbfd9cb617fc3a822781c2466fb6b7ede50"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Remove s_dentry\n\nThe only uses of s_dentry left are the code that maintains\ns_dentry and trivial users that don\u0027t actually need it.\nSo this patch removes the s_dentry maintenance code and\nrestructures the trivial uses to use something else.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e0712bbfd9cb617fc3a822781c2466fb6b7ede50",
      "tree": "1f1424730b488368048f76ffff36b8a5fa7d0a33",
      "parents": [
        "932ea2e374dd1ca26676297a5eccd1cdab86f7cd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: simply sysfs_get_dentry\n\nNow that we know the sysfs tree structure cannot change under us and\nsysfs shadow support is dropped, sysfs_get_dentry() can be simplified\ngreatly.  It can just look up from the root and there\u0027s no need to\nretry on failure.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "932ea2e374dd1ca26676297a5eccd1cdab86f7cd",
      "tree": "83bba794de7f1f9f9290192f4f95a8ed9c91dfb6",
      "parents": [
        "89bec09705d2033b8b765f3c3ac5093f80bd5bc4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Introduce sysfs_rename_mutex\n\nLooking carefully at the rename code we have a subtle dependency\nthat the structure of sysfs not change while we are performing\na rename.  If the parent directory of the object we are renaming\nchanges while the rename is being performed nasty things could\nhappen when we go to release our locks.\n\nSo introduce a sysfs_rename_mutex to prevent this highly\nunlikely theoretical issue.\n\nIn addition hold sysfs_rename_mutex over all calls to\nsysfs_get_dentry. Allowing sysfs_get_dentry to be simplified\nin the future.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "89bec09705d2033b8b765f3c3ac5093f80bd5bc4",
      "tree": "3f0583740c18258ab793e86ae11e3a24c4acf8eb",
      "parents": [
        "3efa65b92d832873ece62b42a4268c2515943977"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Rewrite sysfs_drop_dentry.\n\nCurrently we find the dentry to drop by looking at sd-\u003es_dentry.\nWe can just as easily accomplish the same task by looking up the\nsysfs inode and finding all of the dentries from there, with the\nadded bonus that we don\u0027t need to play with the sysfs_assoc_lock.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3efa65b92d832873ece62b42a4268c2515943977",
      "tree": "c7d09674edfd683e614649564e9159066dfc1d40",
      "parents": [
        "94777e09180b6249d455baa2dbe34cf630e0c033"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Simplify readdir.\n\nAt some point someone wrote sysfs_readdir to insert a cursor\ninto the list of sysfs_dirents to ensure that sysfs_readdir would\nrestart properly.  That works but it is complex code and tends\nto be expensive.\n\nThe same effect can be achieved by keeping the sysfs_dirents in\ninode order and using the inode number as the f_pos.  Then\nwhen we restart we just have to find the first dirent whose inode\nnumber is equal or greater then the last sysfs_dirent we attempted\nto return.\n\nRemoving the sysfs directory cursor also allows the remove of\nall of the mysterious checks for sysfs_type(sd) !\u003d 0.   Which\nwere nonbovious checks to see if a cursor was in a directory list.\n\ntj: offset marker for EOF is changed from UINT_MAX to INT_MAX to avoid\n    overflow in case offset is 32bit.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "94777e09180b6249d455baa2dbe34cf630e0c033",
      "tree": "e8d31efaed978ff452045053c8b3716bbc052cf5",
      "parents": [
        "7d0c7d676cc066413e1583b5af9fba8011972d41"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: In sysfs_lookup don\u0027t open code sysfs_find_dirent\n\nThis is a small cleanup patch that makes the code just\na little bit cleaner.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7d0c7d676cc066413e1583b5af9fba8011972d41",
      "tree": "0afe89f9eca5e1e0ff31f5409a3568991cfceda2",
      "parents": [
        "0333cd8a3f4249fde2c50929a6eac35245fc685b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:07 2007 -0700"
      },
      "message": "sysfs: Make sysfs_mount static\n\nThis patch modifies the users of sysfs_mount to use sysfs_root\ninstead (which is what they are looking for).  It then\nmakes sysfs_mount static to keep people from using it\nby accident.\n\nThe net result is slightly faster and cleaner code.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0333cd8a3f4249fde2c50929a6eac35245fc685b",
      "tree": "782679dcb328100b33ccc96bb4cf0b45e8c072ef",
      "parents": [
        "119dd52be33dfe6285f586ab7354897fdefc7e23"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:29 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:07 2007 -0700"
      },
      "message": "sysfs: Use kill_anon_super\n\nSince sysfs no longer stores fs directory information in the dcache\non a permanent basis kill_litter_super it is inappropriate and actively\nwrong.  It will decrement the count on all dentries left in the\ndcache before trying to free them.\n\nAt the moment this is not biting us only because we never unmount sysfs.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "119dd52be33dfe6285f586ab7354897fdefc7e23",
      "tree": "f7422f753f3605401d4ee0a34b85fb7a0038fbf3",
      "parents": [
        "372e88bd1922228e0a55228f6dc8e311d1696fa0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:29 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:07 2007 -0700"
      },
      "message": "sysfs: Remove sysfs_instantiate\n\nNow that sysfs_get_inode is dropping the inode lock\nwe no longer have a need from sysfs_instantiate.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "372e88bd1922228e0a55228f6dc8e311d1696fa0",
      "tree": "3f078e13b55a4fc20fe0df5c7e85045554e536bf",
      "parents": [
        "253280267a7f1ced0c434fb24b7bef92d7d22628"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:29 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:07 2007 -0700"
      },
      "message": "sysfs: Move all of inode initialization into sysfs_init_inode\n\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "253280267a7f1ced0c434fb24b7bef92d7d22628",
      "tree": "8add8daefa3cf776daf7f042cb9341debafe54f1",
      "parents": [
        "1359555eb77d240b7c1d7ee75bb07e89e89770e4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Aug 20 21:36:29 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:07 2007 -0700"
      },
      "message": "sysfs: fix i_mutex locking in sysfs_get_dentry()\n\nlookup_one_len_kern() should be called with the parent\u0027s i_mutex\nlocked.  Fix it.\n\nSpotted by Eric W. Biederman.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a93720eeb4b3bedc1fe15e4b6ca364e6be577d20",
      "tree": "a34d58b175bd60f3ac1bb53c1427298e6cee1b2f",
      "parents": [
        "b4d1eb2ccecb76bce4c2125c5a3e77753fcfaeb0"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eike-kernel@sf-tec.de",
        "time": "Fri Aug 10 13:51:07 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:06 2007 -0700"
      },
      "message": "sysfs: Fix typos in fs/sysfs/file.c\n\nSigned-off-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "990e53f880be9ff93072b4cce590ec2826cee0b6",
      "tree": "faa7cbedef2f1d9b8d27832ccbaa28e508d134e8",
      "parents": [
        "23dc279950a056c33a14d09cf759f5173d41abd9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:03 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:04 2007 -0700"
      },
      "message": "sysfs: make sysfs_addrm_finish() return void\n\nWith the previous sysfs_add_one() update, there is only one user of\nthe return value of sysfs_addrm_finish() and the user can switch to\ntesting @sd easily.  Make sysfs_addrm_finish() return void for cleaner\nsemantics as suggested by Satyam Sharma.\n\nThis patch doesn\u0027t introduce any noticeable behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Satyam Sharma \u003csatyam.sharma@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "23dc279950a056c33a14d09cf759f5173d41abd9",
      "tree": "852f8cc24c24988717dbae8f98da999ff27755fa",
      "parents": [
        "41fc1c27452e041a18e5141b8203ee0ea72bc483"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:03 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:04 2007 -0700"
      },
      "message": "sysfs: make sysfs_add_one() automatically check for duplicate entry\n\nMake sysfs_add_one() check for duplicate entry and return -EEXIST if\nsuch entry exists.  This simplifies node addition code a bit.\n\nThis patch doesn\u0027t introduce any noticeable behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "41fc1c27452e041a18e5141b8203ee0ea72bc483",
      "tree": "fc81138ca37182c25931818681630c90b018b127",
      "parents": [
        "ff869de7bf5e76adffebd3a176c1c73bca7eddb7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:03 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs: make sysfs_add/remove_one() call link/unlink_sibling() implictly\n\nWhen adding or removing a sysfs_dirent, the user used to be required\nto call link/unlink separately.  It was for two reasons - code looked\nlike that before sysfs_addrm_cxt conversion and to avoid looping\nthrough parent_sd-\u003echildren list twice during removal.\n\nPerformance optimization during removal just isn\u0027t worth it.  Make\nsysfs_add/remove_one() call sysfs_link/unlink_sibing() implicitly.\nThis makes code simpler albeit slightly less efficient.  This change\ndoesn\u0027t introduce any noticeable behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ff869de7bf5e76adffebd3a176c1c73bca7eddb7",
      "tree": "547e0a58953896eb897cdd2bf5eb89cfdfff450a",
      "parents": [
        "a7a0475497f9018e2e28cd421ee467d2ad68643e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:02 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs: simplify sysfs_rename_dir()\n\nWith the shadow directories gone, sysfs_rename_dir() can be simplified.\n\n* parent doesn\u0027t need to be grabbed separately.  Just access\n  old_dentry-\u003ed_parent.\n\n* parent sd can never change.  Remove code to move under the new\n  parent.\n\n* Massage comments a bit.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a7a0475497f9018e2e28cd421ee467d2ad68643e",
      "tree": "14d5f86f5aa37abc127dd575c928739694fffb7a",
      "parents": [
        "90bc61359de0148f8627073d68a22edc7ed9893d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:02 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs: cosmetic changes in sysfs_lookup()\n\n* remove space between * and symbol name in variable declaration.\n\n* kill unnecessary new line.\n\n* kill \u0027found\u0027 and test \u0027sd\u0027 instead.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "90bc61359de0148f8627073d68a22edc7ed9893d",
      "tree": "b054bf0cb9bda41dab498086216f4c0253b2c5ed",
      "parents": [
        "869512ab5ab93e5e82ad7d4aaf4ed098d23bfc3f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 31 19:15:08 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs: Remove first pass at shadow directory support\n\nWhile shadow directories appear to be a good idea, the current scheme\nof controlling their creation and destruction outside of sysfs appears\nto be a locking and maintenance nightmare in the face of sysfs\ndirectories dynamically coming and going.  Which can now occur for\ndirectories containing network devices when CONFIG_SYSFS_DEPRECATED is\nnot set.\n\nThis patch removes everything from the initial shadow directory support\nthat allowed the shadow directory creation to be controlled at a higher\nlevel.  So except for a few bits of sysfs_rename_dir everything from\ncommit b592fcfe7f06c15ec11774b5be7ce0de3aa86e73 is now gone.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "869512ab5ab93e5e82ad7d4aaf4ed098d23bfc3f",
      "tree": "a5609e3aef01ec49ba2281274bac9d25c1cb3091",
      "parents": [
        "52e8c209d6d2bae6766b9940a107c73e943583f1"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Thu Jul 26 14:53:53 2007 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs: cleanup semaphore.h\n\nCleanup semaphore.h\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "52e8c209d6d2bae6766b9940a107c73e943583f1",
      "tree": "e18ec771685c47b233310fa470f66bd4e402aeb8",
      "parents": [
        "2ebefc50161a0a1cdebccd62be749e72abdbec37"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Thu Jul 26 11:03:54 2007 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs/file.c - use mutex instead of semaphore\n\nUse mutex instead of semaphore in sysfs/file.c : sys_buffer.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "19c38de88a80913351fcacefdb461cc0b585fa87",
      "tree": "17d2978ce27861926a0d9a3eb49471b9b736f968",
      "parents": [
        "5901d0145c6b9e791bacd049eea11c9db9a3006e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 12 15:06:57 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:02 2007 -0700"
      },
      "message": "kobjects: fix up improper use of the kobject name field\n\nA number of different drivers incorrect access the kobject name field\ndirectly.  This is not correct as the name might not be in the array.\nUse the proper accessor function instead.\n\n"
    },
    {
      "commit": "5f1835da79df8607ecbd69f648b5b140b7a0b8ba",
      "tree": "d816ee2f9dcfd3d3a9acfb0fb62841806c8c3bce",
      "parents": [
        "4db29c17643a9968817f252405f495da4f147d55"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Aug 16 16:13:06 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Aug 22 14:35:36 2007 -0700"
      },
      "message": "sysfs: don\u0027t warn on removal of a nonexistent binary file\n\nThis patch (as960) removes the error message and stack dump logged by\nsysfs_remove_bin_file() when someone tries to remove a nonexistent\nfile.  The warning doesn\u0027t seem to be needed, since none of the other\nfile-, symlink-, or directory-removal routines in sysfs complain in a\ncomparable way.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6cb52147b254373364a2fef5df8b4aa3739c8bb6",
      "tree": "423fa52521460ac39169397f637e2d9d9a2c8dab",
      "parents": [
        "74e8f346d59074147c564d9c1ffd6caf18286516"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jul 31 19:15:08 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Aug 22 14:35:34 2007 -0700"
      },
      "message": "sysfs: fix locking in sysfs_lookup() and sysfs_rename_dir()\n\nsd children list walking in sysfs_lookup() and sd renaming in\nsysfs_rename_dir() were left out during i_mutex -\u003e sysfs_mutex\nconversion.  Fix them.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "967e35dcc9ac194b4a6fad69a5a51f93d69bb0d1",
      "tree": "218c6fc093ec110ee6f4c5d7f0aae448e5f82173",
      "parents": [
        "a1da4dfe35bc36c3bc9716d995c85b7983c38a76"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jul 18 16:38:11 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:49:50 2007 -0700"
      },
      "message": "sysfs: cosmetic clean up on node creation failure paths\n\nNode addition failure is detected by testing return value of\nsysfs_addfm_finish() which returns the number of added and removed\nnodes.  As the function is called as the last step of addition right\non top of error handling block, the if blocks looked like the\nfollowing.\n\n\tif (sysfs_addrm_finish(\u0026acxt))\n\t\tsuccess handling, usually return;\n\t/* fall through to error handling */\n\nThis is the opposite of usual convention in sysfs and makes the code\ndifficult to understand.  This patch inverts the test and makes those\nblocks look more like others.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Gabriel C \u003cnix.or.die@googlemail.com\u003e\nCc: Miles Lane \u003cmiles.lane@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a1da4dfe35bc36c3bc9716d995c85b7983c38a76",
      "tree": "6e24647ff074d564d55bfdbf811d413e6d5bfab9",
      "parents": [
        "2ee97caf0a6602f749ddbfdb1449e383e1212707"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jul 18 16:14:45 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:49:50 2007 -0700"
      },
      "message": "sysfs: kill an extra put in sysfs_create_link() failure path\n\nThere is a subtle bug in sysfs_create_link() failure path.  When\nsymlink creation fails because there\u0027s already a node with the same\nname, the target sysfs_dirent is put twice - once by failure path of\nsysfs_create_link() and once more when the symlink is released.\n\nFix it by making only the symlink node responsible for putting\ntarget_sd.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Gabriel C \u003cnix.or.die@googlemail.com\u003e\nCc: Miles Lane \u003cmiles.lane@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "bc37e2830339cbfa42ac8579a7bf62fc4cdd360d",
      "tree": "d01ee3243073407ec83c217402273976000f0041",
      "parents": [
        "e080e436f605877e47e4950f5386ed843badbb1b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jul 18 14:30:28 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:49:49 2007 -0700"
      },
      "message": "sysfs: make sysfs_init_inode() static\n\nWith sysfs_fill_super() converted to use sysfs_get_inode(), there is\nno user of sysfs_init_inode() outside of fs/sysfs/inode.c.  Make it\nstatic.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e080e436f605877e47e4950f5386ed843badbb1b",
      "tree": "87acb330e8978738d013f10206562c89b85a1a7b",
      "parents": [
        "2c19c49a59ccf2162c0eb999de1ec60c0e07a533"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jul 18 14:29:06 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:49:49 2007 -0700"
      },
      "message": "sysfs: fix sysfs root inode nlink accounting\n\nWhile making sysfs indoes hashed, sysfs root inode was left out.  Now\nthat nlink accounting depends on the inode being on the hash, sysfs\nroot inode nlink isn\u0027t adjusted properly.\n\nPut sysfs root inode on the inode hash by allocating it using\nsysfs_get_inode() like other sysfs inodes.  While at it, massage\ncomments a bit.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "01da2425f327d7ac673e594bee5655523115970b",
      "tree": "44a33a3fa5e088dfe63e9485823400d12aab3b0b",
      "parents": [
        "3f8df781fc5f9ee5253a54ba669e1c8872844b86"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Sat Jul 14 11:03:35 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:49:49 2007 -0700"
      },
      "message": "sysfs: avoid kmem_cache_free(NULL)\n\nkmem_cache_free() with NULL is not allowed. But it may happen\nif out of memory error is triggered in sysfs_new_dirent().\nThis patch fixes that error handling.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "91a6902958f052358899f58683d44e36228d85c2",
      "tree": "a713792cf3bb09bdbd2ac6906aa44b3da3e49250",
      "parents": [
        "51225039f3cf9d250596d1344494b293274b9169"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Sat Jun 09 13:57:22 2007 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:09 2007 -0700"
      },
      "message": "sysfs: add parameter \"struct bin_attribute *\" in .read/.write methods for sysfs binary attributes\n\nWell, first of all, I don\u0027t want to change so many files either.\n\nWhat I do:\nAdding a new parameter \"struct bin_attribute *\" in the\n.read/.write methods for the sysfs binary attributes.\n\nIn fact, only the four lines change in fs/sysfs/bin.c and\ninclude/linux/sysfs.h do the real work.\nBut I have to update all the files that use binary attributes\nto make them compatible with the new .read and .write methods.\nI\u0027m not sure if I missed any. :(\n\nWhy I do this:\nFor a sysfs attribute, we can get a pointer pointing to the\nstruct attribute in the .show/.store method,\nwhile we can\u0027t do this for the binary attributes.\nI don\u0027t know why this is different, but this does make it not\nso handy to use the binary attributes as the regular ones.\nSo I think this patch is reasonable. :)\n\nWho benefits from it:\nThe patch that exposes ACPI tables in sysfs\nrequires such an improvement.\nAll the table binary attributes share the same .read method.\nParameter \"struct bin_attribute *\" is used to get\nthe table signature and instance number which are used to\ndistinguish different ACPI table binary attributes.\n\nWithout this parameter, we need to offer different .read methods\nfor different ACPI table binary attributes.\nThis is impossible as there are various ACPI tables on different\nplatforms, and we don\u0027t know what they are until they are loaded.\n\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "51225039f3cf9d250596d1344494b293274b9169",
      "tree": "4e646ab37043068824a146c7353c6242a4eb72df",
      "parents": [
        "53e0ae92690c52eceb997905d85fbb42de5fff63"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:25 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:09 2007 -0700"
      },
      "message": "sysfs: make directory dentries and inodes reclaimable\n\nThis patch makes dentries and inodes for sysfs directories\nreclaimable.\n\n* sysfs_notify() is modified to walk sysfs_dirent tree instead of\n  dentry tree.\n\n* sysfs_update_file() and sysfs_chmod_file() use sysfs_get_dentry() to\n  grab the victim dentry.\n\n* sysfs_rename_dir() and sysfs_move_dir() grab all dentries using\n  sysfs_get_dentry() on startup.\n\n* Dentries for all shadowed directories are pinned in memory to serve\n  as lookup start point.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "53e0ae92690c52eceb997905d85fbb42de5fff63",
      "tree": "b3bccd211bb09d43c29a751793ac50d8860b8303",
      "parents": [
        "a0edd7c848945a75e2f41673f43bc37d0a5fed15"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:25 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:09 2007 -0700"
      },
      "message": "sysfs: implement sysfs_get_dentry()\n\nSome sysfs operations require dentry and inode.  sysfs_get_dentry()\nlooks up and gets dentry for the specified sysfs_dirent.  It finds the\nfirst ancestor with dentry attached and starts looking up dentries\nfrom there.\n\nLooking up from the nearest ancestor is necessary to support shadowed\ndirectories because we can\u0027t reliably lookup dentry for one of the\nshadows.  Dentries for each shadow will be pinned in memory such that\nthey can serve as the starting point for dentry lookup.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a0edd7c848945a75e2f41673f43bc37d0a5fed15",
      "tree": "c74ea7d7dbc814faef126f97601a16c7118b3099",
      "parents": [
        "fb6896da37f19be4b75154c14d1cd79231255b17"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:24 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:09 2007 -0700"
      },
      "message": "sysfs: move sysfs_drop_dentry() to dir.c and make it static\n\nAfter add/remove path restructuring, the only user of\nsysfs_drop_dentry() is sysfs_addrm_finish().  Move sysfs_drop_dentry()\nto dir.c and make it static.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fb6896da37f19be4b75154c14d1cd79231255b17",
      "tree": "d1480206694a0642067dc7dc5b40bd63b038cac0",
      "parents": [
        "3007e997de91ec59af39a3f9c91595b31ae6e08b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:24 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:09 2007 -0700"
      },
      "message": "sysfs: restructure add/remove paths and fix inode update\n\nThe original add/remove code had the following problems.\n\n* parent\u0027s timestamps are updated on dentry instantiation.  this is\n  incorrect with reclaimable files.\n\n* updating parent\u0027s timestamps isn\u0027t synchronized.\n\n* parent nlink update assumes the inode is accessible which won\u0027t be\n  true once directory dentries are made reclaimable.\n\nThis patch restructures add/remove paths to resolve the above\nproblems.  Add/removal are done in the following steps.\n\n1. sysfs_addrm_start() : acquire locks including sysfs_mutex and other\n   resources.\n\n2-a. sysfs_add_one() : add new sd.  linking the new sd into the\n     children list is caller\u0027s responsibility.\n\n2-b. sysfs_remove_one() : remove a sd.  unlinking the sd from the\n     children list is caller\u0027s responsibility.\n\n3. sysfs_addrm_finish() : release all resources and clean up.\n\nSteps 2-a and/or 2-b can be repeated multiple times.\n\nParent\u0027s inode is looked up during sysfs_addrm_start().  If available\n(always at the moment), it\u0027s pinned and nlink is updated as sd\u0027s are\nadded and removed.  Timestamps are updated during finish if any sd has\nbeen added or removed.  If parent\u0027s inode is not available during\nstart, sysfs_mutex ensures that parent inode is not created till\nadd/remove is complete.\n\nAll the complexity is contained inside the helper functions.\nEspecially, dentry/inode handling is properly hidden from the rest of\nsysfs which now mostly operate on sysfs_dirents.  As an added bonus,\ncodes which use these helpers to add and remove sysfs_dirents are now\nmore structured and simpler.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3007e997de91ec59af39a3f9c91595b31ae6e08b",
      "tree": "4ed4df3ef3a249d2a4b562e36876fc8d4a3fabd9",
      "parents": [
        "5f9953237f684ea1778adb9d26162da00b282225"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:23 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: use sysfs_mutex to protect the sysfs_dirent tree\n\nAs kobj sysfs dentries and inodes are gonna be made reclaimable,\ni_mutex can\u0027t be used to protect sysfs_dirent tree.  Use sysfs_mutex\nglobally instead.  As the whole tree is protected with sysfs_mutex,\nthere is no reason to keep sysfs_rename_sem.  Drop it.\n\nWhile at it, add docbook comments to functions which require\nsysfs_mutex locking.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5f9953237f684ea1778adb9d26162da00b282225",
      "tree": "962bbe5fe2483876caa74943875cbef432db6945",
      "parents": [
        "608e266a2d4e62c1b98c1c573064b6afe8c06a58"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:23 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: consolidate sysfs spinlocks\n\nReplace sysfs_lock and kobj_sysfs_assoc_lock with sysfs_assoc_lock.\nsysfs_lock was originally to be used to protect sysfs_dirent tree but\nmutex seems better choice, so there is no reason to keep sysfs_lock\nseparate.  Merge the two spinlocks into one.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "608e266a2d4e62c1b98c1c573064b6afe8c06a58",
      "tree": "73d670ab6c315b42273bc9d2731ec2b8e7c199af",
      "parents": [
        "f0b0af4792d751106e2003f96af76fa95e10c68d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:22 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: make kobj point to sysfs_dirent instead of dentry\n\nAs kobj sysfs dentries and inodes are gonna be made reclaimable,\ndentry can\u0027t be used as naming token for sysfs file/directory, replace\nkobj-\u003edentry with kobj-\u003esd.  The only external interface change is\nshadow directory handling.  All other changes are contained in kobj\nand sysfs.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f0b0af4792d751106e2003f96af76fa95e10c68d",
      "tree": "09483c5b34009cc815897d885f310d0704d0c396",
      "parents": [
        "380e6fbb729a55b73d5d8409551474884e0d93fc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:22 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: implement sysfs_find_dirent() and sysfs_get_dirent()\n\nImplement sysfs_find_dirent() and sysfs_get_dirent().\nsysfs_dirent_exist() is replaced by sysfs_find_dirent().  These will\nbe used to make directory entries reclamiable.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "380e6fbb729a55b73d5d8409551474884e0d93fc",
      "tree": "38922357a91869f0d8c9769fa5afa504f1175fc0",
      "parents": [
        "b402d72cf7b338a074e3c12b305ec79284e18845"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:22 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: implement SYSFS_FLAG_REMOVED flag\n\nImplement SYSFS_FLAG_REMOVED flag which currently is used only to\nimprove sanity check in sysfs_deactivate().  The flag will be used to\nmake directory entries reclamiable.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b402d72cf7b338a074e3c12b305ec79284e18845",
      "tree": "0724d40180eb78212be81c7ff2d909ec3fb3f306",
      "parents": [
        "d0bcb5689a521df98bff7549fcb8b17499660a99"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:21 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: rename sysfs_dirent-\u003es_type to s_flags and make room for flags\n\nRename sysfs_dirent-\u003es_type to s_flags, pack type into lower eight\nbits and reserve the rest for flags.  sysfs_type() can used to access\nthe type.  All existing sd-\u003es_type accesses are converted to use\nsysfs_type().  While at it, type test is changed to equality test\ninstead of bit-and test where appropriate.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d0bcb5689a521df98bff7549fcb8b17499660a99",
      "tree": "6f9deb74f4facc5e638b71ba8b99ac2baeed9859",
      "parents": [
        "9d9307dabb3de8140fb3801bf6eb01f231dbd83d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:21 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: make sysfs_drop_dentry() access inodes using ilookup()\n\nsysfs_drop_dentry() used to go through sd-\u003es_dentry and\nsd-\u003es_parent-\u003es_dentry to access the inodes.  This is incorrect\nbecause inode can be cached without dentry.\n\nThis patch makes sysfs_drop_dentry() access inodes using ilookup() on\nsd-\u003es_ino.  This is both correct and simpler.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9d9307dabb3de8140fb3801bf6eb01f231dbd83d",
      "tree": "55cecd0eaefe5e3cc89f2aaf8542607f7d43ae8e",
      "parents": [
        "0c73f18b7d95de8a007039337063a770b5fc8e7a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jun 14 03:45:18 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:07 2007 -0700"
      },
      "message": "sysfs: Fix oops in sysfs_drop_dentry on x86_64\n\nFix oops on x86_64 caused by the dereference of dir in\nsysfs_drop_dentry() made before checking if dir is not NULL\n(cf. http://marc.info/?l\u003dlinux-kernel\u0026m\u003d118151626704924\u0026w\u003d2).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0c73f18b7d95de8a007039337063a770b5fc8e7a",
      "tree": "cf3b6f274139b170136219918dd679f2397e69f6",
      "parents": [
        "8619f979898397582e366877fd5feeba7560d70c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:18 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:07 2007 -0700"
      },
      "message": "sysfs: use singly-linked list for sysfs_dirent tree\n\nMake sysfs_dirent use singly linked list for its tree structure.\nsysfs_link_sibling() and sysfs_unlink_sibling() functions are added to\nhandle simpler cases.  It adds some complexity and cpu cycle overhead\nbut reduced memory footprint is worthwhile on big machines.\n\nThis change reduces the sizeof sysfs_dirent from 104 to 88 on 64bit\nand from 60 to 52 on 32bit.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8619f979898397582e366877fd5feeba7560d70c",
      "tree": "7d0e92d4c17d92a00dfeba2b840bf89657b30607",
      "parents": [
        "b6b4a4399c2a83d1af77c99dee0d0b5cc15ec268"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:18 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:07 2007 -0700"
      },
      "message": "sysfs: slim down sysfs_dirent-\u003es_active\n\nMake sysfs_dirent-\u003es_active an atomic_t instead of rwsem.  This\nreduces the size of sysfs_dirent from 136 to 104 on 64bit and from 76\nto 60 on 32bit with lock debugging turned off.  With lock debugging\nturned on the reduction is much larger.\n\ns_active starts at zero and each active reference increments s_active.\nPutting a reference decrements s_active.  Deactivation subtracts\nSD_DEACTIVATED_BIAS which is currently INT_MIN and assumed to be small\nenough to make s_active negative.  If s_active is negative,\nsysfs_get() no longer grants new references.  Deactivation succeeds\nimmediately if there is no active user; otherwise, it waits using a\ncompletion for the last put.\n\nDue to the removal of lockdep tricks, this change makes things less\ntrickier in release_sysfs_dirent().  As all the complexity is\ncontained in three s_active functions, I think it\u0027s more readable this\nway.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b6b4a4399c2a83d1af77c99dee0d0b5cc15ec268",
      "tree": "7a5d3134a338f03ab813024d5501bde1d434c98b",
      "parents": [
        "0b8ead82f5d9d8f08c0d1236f2e350b70a977753"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:18 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:07 2007 -0700"
      },
      "message": "sysfs: move s_active functions to fs/sysfs/dir.c\n\nThese functions are about to receive more complexity and doesn\u0027t\nreally need to be inlined in the first place.  Move them from\nfs/sysfs/sysfs.h to fs/sysfs/dir.c.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0b8ead82f5d9d8f08c0d1236f2e350b70a977753",
      "tree": "d725dd9ee12498c84e5efd9da23c9170d3e3400e",
      "parents": [
        "8312a8d7c1d19d31027bd4ca127ce671962c23d4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:18 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:07 2007 -0700"
      },
      "message": "sysfs: fix root sysfs_dirent -\u003e root dentry association\n\nThe root sysfs_dirent didn\u0027t point to the root dentry fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8312a8d7c1d19d31027bd4ca127ce671962c23d4",
      "tree": "ee28a44611ac2192b265f5f85a74f7da98d2fdef",
      "parents": [
        "fc9f54b9982e14e6dbe023425c87ffbfd6992c45"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:17 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:07 2007 -0700"
      },
      "message": "sysfs: use iget_locked() instead of new_inode()\n\nAfter dentry is reclaimed, sysfs always used to allocate new dentry\nand inode if the file is accessed again.  This causes problem with\noperations which only pin the inode.  For example, if inotify watch is\nadded to a sysfs file and the dentry for the file is reclaimed, the\nnext update event creates new dentry and new inode making the inotify\nwatch miss all the events from there on.\n\nThis patch fixes it by using iget_locked() instead of new_inode().\nsysfs_new_inode() is renamed to sysfs_get_inode() and inode is\ninitialized iff the inode is newly allocated.  sysfs_instantiate() is\nresponsible for unlocking new inodes.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fc9f54b9982e14e6dbe023425c87ffbfd6992c45",
      "tree": "61b828ac694d9e8decb02022a1056a5367bb1bef",
      "parents": [
        "7f7cfffe60ed6271c4028ec79ae1c297b44bcb14"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:17 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:07 2007 -0700"
      },
      "message": "sysfs: reorganize sysfs_new_indoe() and sysfs_create()\n\nReorganize/clean up sysfs_new_inode() and sysfs_create().\n\n* sysfs_init_inode() is separated out from sysfs_new_inode() and is\n  responsible for basic initialization.\n* sysfs_instantiate() replaces the last step of sysfs_create() and is\n  responsible for dentry instantitaion.\n* type-specific initialization is moved out to the callers.\n* mode is specified only once when creating a sysfs_dirent.\n* spurious list_del_init(\u0026sd-\u003es_sibling) dropped from create_dir()\n\nThis change is to\n\n* prepare for inode allocation fix.\n* separate alloc and init code for synchronization update.\n* make dentry/inode initialization more flexible for later changes.\n\nThis patch doesn\u0027t introduce visible behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7f7cfffe60ed6271c4028ec79ae1c297b44bcb14",
      "tree": "b2d0f1228f9b6cc0cc262cd1be6d950ec4816291",
      "parents": [
        "42b37df6abb42ae021e15bf865b43f3629c7f3ab"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:17 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:07 2007 -0700"
      },
      "message": "sysfs: fix parent refcounting during rename and move\n\nParent reference wasn\u0027t properly transferred during rename and move.\nFix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "42b37df6abb42ae021e15bf865b43f3629c7f3ab",
      "tree": "a6757acacf4e590318485df0e282f163a9cb1439",
      "parents": [
        "ad6a1e1c66009ba9dcd2f5c90ffa1fb4ce72fce0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:17 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:06 2007 -0700"
      },
      "message": "sysfs: make sysfs_alloc_ino() static\n\nsysfs_alloc_ino() isn\u0027t used out side of fs/sysfs/dir.c.  Make it\nstatic.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7b595756ec1f49e0049a9e01a1298d53a7faaa15",
      "tree": "cd06687ab3e5c7a5a4ef91903dff207a18c4db76",
      "parents": [
        "dbde0fcf9f8f6d477af3c32d9979e789ee680cde"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:17 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:06 2007 -0700"
      },
      "message": "sysfs: kill unnecessary attribute-\u003eowner\n\nsysfs is now completely out of driver/module lifetime game.  After\ndeletion, a sysfs node doesn\u0027t access anything outside sysfs proper,\nso there\u0027s no reason to hold onto the attribute owners.  Note that\noften the wrong modules were accounted for as owners leading to\naccessing removed modules.\n\nThis patch kills now unnecessary attribute-\u003eowner.  Note that with\nthis change, userland holding a sysfs node does not prevent the\nbacking module from being unloaded.\n\nFor more info regarding lifetime rule cleanup, please read the\nfollowing message.\n\n  http://article.gmane.org/gmane.linux.kernel/510293\n\n(tweaked by Greg to not delete the field just yet, to make it easier to\nmerge things properly.)\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dbde0fcf9f8f6d477af3c32d9979e789ee680cde",
      "tree": "12a1240213d59c061fec60325c7d5ebb1edebcd7",
      "parents": [
        "198a2a847015805c6f57d8cc732bdaaccb494007"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:16 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:06 2007 -0700"
      },
      "message": "sysfs: reimplement sysfs_drop_dentry()\n\nThis patch reimplements sysfs_drop_dentry() such that remove_dir() can\nuse it to drop dentry instead of using a separate mechanism.  With\nthis change, making directories reclaimable is much easier.\n\nThis patch used to contain fixes for two race conditions around\nsd-\u003es_dentry but that part has been separated out and included into\nmainline early as commit 6aa054aadfea613a437ad0b15d38eca2b963fc0a and\ndd14cbc994709a1c5a64ed3621f583c49a27e521.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "198a2a847015805c6f57d8cc732bdaaccb494007",
      "tree": "614aa44e1bd1ab31a5baaab717c3af95773bd06b",
      "parents": [
        "73107cb3ad3963c0f929ae681c05081eafb1c079"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:16 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:05 2007 -0700"
      },
      "message": "sysfs: separate out sysfs_attach_dentry()\n\nConsolidate sd \u003c-\u003e dentry association into sysfs_attach_dentry() and\ncall it after dentry and inode are properly set up.  This is in\npreparation of sysfs_drop_dentry() updates.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "73107cb3ad3963c0f929ae681c05081eafb1c079",
      "tree": "78c9647d5e6a0d9c89cb8c37b7533aad8f805302",
      "parents": [
        "0ab66088c855eca68513bdd7442a426c4b374ced"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:16 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:05 2007 -0700"
      },
      "message": "sysfs: kill attribute file orphaning\n\nNow that sysfs_dirent can be disconnected from kobject on deletion,\nthere is no need to orphan each attribute files.  All [bin_]attribute\nnodes are automatically orphaned when the parent node is deleted.\nKill attribute file orphaning.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0ab66088c855eca68513bdd7442a426c4b374ced",
      "tree": "7f931f7f984ac14701a33d123fa9e03d9048bf8f",
      "parents": [
        "eb36165353d0e5ac32b063f555acedcbaf6d3b75"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:16 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:05 2007 -0700"
      },
      "message": "sysfs: implement sysfs_dirent active reference and immediate disconnect\n\nsysfs: implement sysfs_dirent active reference and immediate disconnect\n\nOpening a sysfs node references its associated kobject, so userland\ncan arbitrarily prolong lifetime of a kobject which complicates\nlifetime rules in drivers.  This patch implements active reference and\nmakes the association between kobject and sysfs immediately breakable.\n\nNow each sysfs_dirent has two reference counts - s_count and s_active.\ns_count is a regular reference count which guarantees that the\ncontaining sysfs_dirent is accessible.  As long as s_count reference\nis held, all sysfs internal fields in sysfs_dirent are accessible\nincluding s_parent and s_name.\n\nThe newly added s_active is active reference count.  This is acquired\nby invoking sysfs_get_active() and it\u0027s the caller\u0027s responsibility to\nensure sysfs_dirent itself is accessible (should be holding s_count\none way or the other).  Dereferencing sysfs_dirent to access objects\nout of sysfs proper requires active reference.  This includes access\nto the associated kobjects, attributes and ops.\n\nThe active references can be drained and denied by calling\nsysfs_deactivate().  All active sysfs_dirents must be deactivated\nafter deletion but before the default reference is dropped.  This\nenables immediate disconnect of sysfs nodes.  Once a sysfs_dirent is\ndeleted, it won\u0027t access any entity external to sysfs proper.\n\nBecause attr/bin_attr ops access both the node itself and its parent\nfor kobject, they need to hold active references to both.\nsysfs_get/put_active_two() helpers are provided to help grabbing both\nreferences.  Parent\u0027s is acquired first and released last.\n\nUnlike other operations, mmapped area lingers on after mmap() is\nfinished and the module implement implementing it and kobj need to\nstay referenced till all the mapped pages are gone.  This is\naccomplished by holding one set of active references to the bin_attr\nand its parent if there have been any mmap during lifetime of an\nopenfile.  The references are dropped when the openfile is released.\n\nThis change makes sysfs lifetime rules independent from both kobject\u0027s\nand module\u0027s.  It not only fixes several race conditions caused by\nsysfs not holding onto the proper module when referencing kobject, but\nalso helps fixing and simplifying lifetime management in driver model\nand drivers by taking sysfs out of the equation.\n\nPlease read the following message for more info.\n\n  http://article.gmane.org/gmane.linux.kernel/510293\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "eb36165353d0e5ac32b063f555acedcbaf6d3b75"
}
