)]}'
{
  "log": [
    {
      "commit": "746edb7ae8a1abdd39be2b28c03aa073183340db",
      "tree": "6e2bbfd8f42c11c95a4f63623a96317eb00efe77",
      "parents": [
        "af10ec77b43335ab4e473e4087d85979caf02d65"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 30 11:31:28 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:31 2010 -0700"
      },
      "message": "sysfs: Implement sysfs_delete_link\n\nWhen removing a symlink sysfs_remove_link does not provide\nenough information to figure out which tagged directory the symlink\nfalls in.  So I need sysfs_delete_link which is passed the target\nof the symlink to delete.\n\nsysfs_rename_link is updated to call sysfs_delete_link instead\nof sysfs_remove_link as we have all of the information necessary\nand the callers are interesting.\n\nBoth of these functions now have enough information to find a symlink\nin a tagged directory.  The only restriction is that they must be called\nbefore the target kobject is renamed or deleted.  If they are called\nlater I loose track of which tag the target kobject was marked with\nand can no longer find the old symlink to remove it.\n\nThis patch was split from an earlier patch.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3ff195b011d7decf501a4d55aeed312731094796",
      "tree": "8cfdc330abbf82893955f2d7d6e96efee81bfd7c",
      "parents": [
        "bc451f2058238013e1cdf4acd443c01734d332f0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 30 11:31:26 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:31 2010 -0700"
      },
      "message": "sysfs: Implement sysfs tagged directory support.\n\nThe problem.  When implementing a network namespace I need to be able\nto have multiple network devices with the same name.  Currently this\nis a problem for /sys/class/net/*, /sys/devices/virtual/net/*, and\npotentially a few other directories of the form /sys/ ... /net/*.\n\nWhat this patch does is to add an additional tag field to the\nsysfs dirent structure.  For directories that should show different\ncontents depending on the context such as /sys/class/net/, and\n/sys/devices/virtual/net/ this tag field is used to specify the\ncontext in which those directories should be visible.  Effectively\nthis is the same as creating multiple distinct directories with\nthe same name but internally to sysfs the result is nicer.\n\nI am calling the concept of a single directory that looks like multiple\ndirectories all at the same path in the filesystem tagged directories.\n\nFor the networking namespace the set of directories whose contents I need\nto filter with tags can depend on the presence or absence of hotplug\nhardware or which modules are currently loaded.  Which means I need\na simple race free way to setup those directories as tagged.\n\nTo achieve a reace free design all tagged directories are created\nand managed by sysfs itself.\n\nUsers of this interface:\n- define a type in the sysfs_tag_type enumeration.\n- call sysfs_register_ns_types with the type and it\u0027s operations\n- sysfs_exit_ns when an individual tag is no longer valid\n\n- Implement mount_ns() which returns the ns of the calling process\n  so we can attach it to a sysfs superblock.\n- Implement ktype.namespace() which returns the ns of a syfs kobject.\n\nEverything else is left up to sysfs and the driver layer.\n\nFor the network namespace mount_ns and namespace() are essentially\none line functions, and look to remain that.\n\nTags are currently represented a const void * pointers as that is\nboth generic, prevides enough information for equality comparisons,\nand is trivial to create for current users, as it is just the\nexisting namespace pointer.\n\nThe work needed in sysfs is more extensive.  At each directory\nor symlink creating I need to check if the directory it is being\ncreated in is a tagged directory and if so generate the appropriate\ntag to place on the sysfs_dirent.  Likewise at each symlink or\ndirectory removal I need to check if the sysfs directory it is\nbeing removed from is a tagged directory and if so figure out\nwhich tag goes along with the name I am deleting.\n\nCurrently only directories which hold kobjects, and\nsymlinks are supported.  There is not enough information\nin the current file attribute interfaces to give us anything\nto discriminate on which makes it useless, and there are\nno potential users which makes it an uninteresting problem\nto solve.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e0f43752a942b7be1bc06b9fd74e20ae337c1cca",
      "tree": "892d0fbc2ecae39f2e5c4a7b711cbb988c8dc3f1",
      "parents": [
        "28a16c97963d3bc36a2c192859f6d8025ef2967a"
      ],
      "author": {
        "name": "Simon Arlott",
        "email": "simon@fire.lp0.eu",
        "time": "Mon May 10 09:31:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 15 23:10:15 2010 -0700"
      },
      "message": "bridge: update sysfs link names if port device names have changed\n\nLinks for each port are created in sysfs using the device\nname, but this could be changed after being added to the\nbridge.\n\nAs well as being unable to remove interfaces after this\noccurs (because userspace tools don\u0027t recognise the new\nname, and the kernel won\u0027t recognise the old name), adding\nanother interface with the old name to the bridge will\ncause an error trying to create the sysfs link.\n\nThis fixes the problem by listening for NETDEV_CHANGENAME\nnotifications and renaming the link.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d12743\n\nSigned-off-by: Simon Arlott \u003csimon@fire.lp0.eu\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "7cb32942d91a501b2df944928ccc9e6590ab237b",
      "tree": "7c6ff2a82705d7dda8a566702f3bab981d03bf54",
      "parents": [
        "19c38b632d4554329986021fd66bdea468cf452c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 12 19:22:25 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "sysfs: Implement sysfs_rename_link\n\nBecause of rename ordering problems we occassionally give false\nwarnings about invalid sysfs operations.  So using sysfs_rename\ncreate a sysfs_rename_link function that doesn\u0027t need strange\nworkarounds.\n\nCc: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nCc: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e61ab4ae48fbf477f5b9fcbec9e1b8dc789920d0",
      "tree": "70199a29a97a4f5ba8aea4340bc828da4f550e5d",
      "parents": [
        "c099aacd48ee73bd2de7da029e536ed005d72a43"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:53 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: Implement sysfs_getattr \u0026 sysfs_permission\n\nWith the implementation of sysfs_getattr and sysfs_permission\nsysfs becomes able to lazily propogate inode attribute changes\nfrom the sysfs_dirents to the vfs inodes.   This paves the way\nfor deleting significant chunks of now unnecessary code.\n\nWhile doing this we did not reference sysfs_setattr from\nsysfs_symlink_inode_operations so I added along with\nsysfs_getattr and sysfs_permission.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c099aacd48ee73bd2de7da029e536ed005d72a43",
      "tree": "73f5d636d36a20e590d594944894c5e7bc2b4ba8",
      "parents": [
        "6b0bfe9383a54cf35046980c61f5ff8fefa557d7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:52 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Nicely indent sysfs_symlink_inode_operations\n\nLining up the functions in sysfs_symlink_inode_operations\nfollows the pattern in the rest of sysfs and makes things\nslightly more readable.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ddd29ec6597125c830f7badb608a86c98b936b64",
      "tree": "e6df1ef9a635179de78650d006ecb4cd1453ebb1",
      "parents": [
        "1ee65e37e904b959c24404139f5752edc66319d5"
      ],
      "author": {
        "name": "David P. Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Wed Sep 09 14:25:37 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Sep 10 10:11:29 2009 +1000"
      },
      "message": "sysfs: Add labeling support for sysfs\n\nThis patch adds a setxattr handler to the file, directory, and symlink\ninode_operations structures for sysfs. The patch uses hooks introduced in the\nprevious patch to handle the getting and setting of security information for\nthe sysfs inodes. As was suggested by Eric Biederman the struct iattr in the\nsysfs_dirent structure has been replaced by a structure which contains the\niattr, secdata and secdata length to allow the changes to persist in the event\nthat the inode representing the sysfs_dirent is evicted. Because sysfs only\nstores this information when a change is made all the optional data is moved\ninto one dynamically allocated field.\n\nThis patch addresses an issue where SELinux was denying virtd access to the PCI\nconfiguration entries in sysfs. The lack of setxattr handlers for sysfs\nrequired that a single label be assigned to all entries in sysfs. Granting virtd\naccess to every entry in sysfs is not an acceptable solution so fine grained\nlabeling of sysfs is required such that individual entries can be labeled\nappropriately.\n\n[sds:  Fixed compile-time warnings, coding style, and setting of inode security init flags.]\n\nSigned-off-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nSigned-off-by: Stephen D. Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "557411eb2ce61ef5e87bd759a6f86881586df857",
      "tree": "4410ea3f6aea26157da3634b7c2c4cb9166d0fb7",
      "parents": [
        "b22813b373749d0878e7140e9a6eadf182298709"
      ],
      "author": {
        "name": "Armin Kuster",
        "email": "akuster@mvista.com",
        "time": "Wed Apr 29 07:29:59 2009 -1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:23 2009 -0700"
      },
      "message": "Sysfs: fix possible memleak in sysfs_follow_link\n\nThere is the possiblity of a memory leak if a page is allocated and if\nsysfs_getlink() fails in the sysfs_follow_link.\n\nSigned-off-by: Armin Kuster \u003cakuster@mvista.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "36ce6dad6e3cb3f050ed41e0beac0070d2062b25",
      "tree": "91c89c903b06dc8b76e66e7b2341bcd6085e81d0",
      "parents": [
        "0ad1d6f37cc3bb234c6e7ae30e40d1d40b9aa258"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Tue Jun 10 11:09:08 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:55:01 2008 -0700"
      },
      "message": "driver core: Suppress sysfs warnings for device_rename().\n\ndriver core: Suppress sysfs warnings for device_rename().\n\nRenaming network devices to an already existing name is not\nsomething we want sysfs to print a scary warning for, since the\ncallers can deal with this correctly. So let\u0027s introduce\nsysfs_create_link_nowarn() which gets rid of the common warning.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\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": "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": "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": "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": "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": "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": "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": "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": "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": "2b29ac252afff87b8465b064ca2d9740cf1f6e52",
      "tree": "9f4930db68ace50adc7c11feba12aafe34e2cdbe",
      "parents": [
        "aecdcedaab49ca40620dc7dd70f67ee7269a66c9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:15 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:04 2007 -0700"
      },
      "message": "sysfs: reimplement symlink using sysfs_dirent tree\n\nsysfs symlink is implemented by referencing dentry and kobject from\nsysfs_dirent - symlink entry references kobject, dentry is used to\nwalk the tree.  This complicates object lifetimes rules and is\ndangerous - for example, there is no way to tell to which module the\ntarget of a symlink belongs and referencing that kobject can make it\nlinger after the module is gone.\n\nThis patch reimplements symlink using only sysfs_dirent tree.  sd for\na symlink points and holds reference to the target sysfs_dirent and\nall walking is done using sysfs_dirent tree.  Simpler and safer.\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"
    },
    {
      "commit": "3e5190380ebef77f2b015c9e7a4ca225a3d75021",
      "tree": "08d17cd0562acf5101063e93c649f5f71f80b3b9",
      "parents": [
        "0c096b507f15397da890051ee73de4266d3941fb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:15 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:04 2007 -0700"
      },
      "message": "sysfs: make sysfs_dirent-\u003es_element a union\n\nMake sd-\u003es_element a union of sysfs_elem_{dir|symlink|attr|bin_attr}\nand rename it to s_elem.  This is to achieve...\n\n* some level of type checking : changing symlink to point to\n  sysfs_dirent instead of kobject is much safer and less painful now.\n* easier / standardized dereferencing\n* allow sysfs_elem_* to contain more than one entry\n\nWhere possible, pointer is obtained by directly deferencing from sd\ninstead of going through other entities.  This reduces dependencies to\ndentry, inode and kobject.  to_attr() and to_bin_attr() are unused now\nand removed.\n\nThis is in preparation of object reference simplification.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0c096b507f15397da890051ee73de4266d3941fb",
      "tree": "c6b7d204a493157b3926bdb46500313eee9f9690",
      "parents": [
        "13b3086d2ea483cbcae5a4236446cecc082a72cf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:15 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:04 2007 -0700"
      },
      "message": "sysfs: add sysfs_dirent-\u003es_name\n\nAdd s_name to sysfs_dirent.  This is to further reduce dependency to\nthe associated dentry.  Name is copied for directories and symlinks\nbut not for attributes.\n\nWhere possible, name dereferences are converted to use sd-\u003es_name.\nsysfs_symlink-\u003elink_name and sysfs_get_name() are unused now and\nremoved.\n\nThis change allows symlink to be implemented using sysfs_dirent tree\nproper, which is the last remaining dentry-dependent sysfs walk.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a26cd7226c24c3be5dd5f48a74832fe64beb8489",
      "tree": "0dfb4a15d800494a06a4ddf83c4d33812c404fac",
      "parents": [
        "996b73764e9bb9d5e751fd15b130ba38637d66a8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:14 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:04 2007 -0700"
      },
      "message": "sysfs: consolidate sysfs_dirent creation functions\n\nCurrently there are four functions to create sysfs_dirent -\n__sysfs_new_dirent(), sysfs_new_dirent(), __sysfs_make_dirent() and\nsysfs_make_dirent().  Other than sysfs_make_dirent(), no function has\ntwo users if calls to implement other functions are excluded.\n\nThis patch consolidates sysfs_dirent creation functions into the\nfollowing two.\n\n* sysfs_new_dirent() : allocate and initialize\n* sysfs_attach_dirent() : attach to sysfs_dirent hierarchy and/or\n\t\t\t  associate with dentry\n\nThis simplifies interface and gives callers more flexibility.  This is\nin preparation of object reference simplification.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dfeb9fb0343363aadc3ee00a9347d120bc2a26b1",
      "tree": "f9bbba921409d021da1730b8edc95614504583cd",
      "parents": [
        "93e3cd8270d036953120eca83610f95d3f7374c6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:14 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:03 2007 -0700"
      },
      "message": "sysfs: flatten cleanup paths in sysfs_add_link() and create_dir()\n\nFlatten cleanup paths in sysfs_add_link() and create_dir() to improve\nreadability and ease further changes to these functions.  This is in\npreparation of object reference simplification.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf",
      "tree": "e1a9804a8af427f700aaba4b386cf8679b317e83",
      "parents": [
        "92e1d5be91a0e3ffa5c4697eeb09b2aa22792122"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:40 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 3\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94bebf4d1b8e7719f0f3944c037a21cfd99a4af7",
      "tree": "25c6ba1836e74f608b4e434b4f0f4d5c28b11de1",
      "parents": [
        "cb986b749c7178422bfbc982cd30e04d5db54bbc"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Wed Dec 20 10:52:44 2006 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:13 2007 -0800"
      },
      "message": "Driver core: fix race in sysfs between sysfs_remove_file() and read()/write()\n\nThis patch prevents a race between IO and removing a file from sysfs.\nIt introduces a list of sysfs_buffers associated with a file at the inode.\nUpon removal of a file the list is walked and the buffers marked orphaned.\nIO to orphaned buffers fails with -ENODEV. The driver can safely free\nassociated data structures or be unloaded.\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.name\u003e\nAcked-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "ceeee1fb2897651b434547eb26d93e6d2ff5a1a5",
      "tree": "d841561babe6538e463069870166524c58e25014",
      "parents": [
        "6468b3afa7bcd9b0abc5997e5330d78f0bb6626a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 09 12:14:34 2002 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:36 2006 -0700"
      },
      "message": "SYSFS: allow sysfs_create_link to create symlinks in the root of sysfs\n\nThis is needed to make the compatible link for /sys/block in the future.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b3229087c5e08589cea4f5040dab56f7dc11332a",
      "tree": "5a9568e4d041370b453f6074015ff1081a045c26",
      "parents": [
        "832c57e9afa7a263bb2f8ee6d04d527ef6709aae"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Mar 16 15:44:26 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 20 13:42:59 2006 -0800"
      },
      "message": "[PATCH] sysfs: fix a kobject leak in sysfs_add_link on the error path\n\nAs pointed out by Oliver Neukum.\n\nCc: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c516865cfbac0d862d4888df91793ad1e74ffd58",
      "tree": "432024125976af3e6c87ae5b9e64b6f1cc291f70",
      "parents": [
        "22f98c0cd7e003b896ee52ded945081307118745"
      ],
      "author": {
        "name": "Maneesh Soni",
        "email": "maneesh@in.ibm.com",
        "time": "Thu Mar 09 19:40:14 2006 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 20 13:42:59 2006 -0800"
      },
      "message": "[PATCH] sysfs: fix problem with duplicate sysfs directories and files\n\nThe following patch checks for existing sysfs_dirent before\npreparing new one while creating sysfs directories and files.\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1b1dcc1b57a49136f118a0f16367256ff9994a69",
      "tree": "b0b36d4f41d28c9d6514fb309d33c1a084d6309b",
      "parents": [
        "794ee1baee1c26be40410233e6c20bceb2b03c08"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@hera.kernel.org",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "message": "[PATCH] mutex subsystem, semaphore to mutex: VFS, -\u003ei_sem\n\nThis patch converts the inode semaphore to a mutex. I have tested it on\nXFS and compiled as much as one can consider on an ia64. Anyway your\nluck with it might be different.\n\nModified-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n(finished the conversion)\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cc314eef0128a807e50fa03baf2d0abc0647952c",
      "tree": "8e38db1be28006894915273b3f3cb3beaa6efda3",
      "parents": [
        "2fb1e3086df9b454538491fba8121298da37cd23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 19 18:02:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 19 18:02:56 2005 -0700"
      },
      "message": "Fix nasty ncpfs symlink handling bug.\n\nThis bug could cause oopses and page state corruption, because ncpfs\nused the generic page-cache symlink handlign functions.  But those\nfunctions only work if the page cache is guaranteed to be \"stable\", ie a\npage that was installed when the symlink walk was started has to still\nbe installed in the page cache at the end of the walk.\n\nWe could have fixed ncpfs to not use the generic helper routines, but it\nis in many ways much cleaner to instead improve on the symlink walking\nhelper routines so that they don\u0027t require that absolute stability.\n\nWe do this by allowing \"follow_link()\" to return a error-pointer as a\ncookie, which is fed back to the cleanup \"put_link()\" routine.  This\nalso simplifies NFS symlink handling.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e3a15db2415579d5136b9ba9b52fe27c66da8780",
      "tree": "55a431608174bc96f34233d9ef3e699b1f982183",
      "parents": [
        "eb11d8ffceead1eb3d84366f1687daf2217e883e"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Tue Apr 26 02:31:08 2005 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:00 2005 -0700"
      },
      "message": "[PATCH] sysfs_{create|remove}_link should take const char *\n\nsysfs: make sysfs_{create|remove}_link to take const char * name.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
