)]}'
{
  "log": [
    {
      "commit": "e54be894eae10eca9892e965cc9532f5d5a11767",
      "tree": "27ace4446e42058ef4813a34bf63b55a870e7a12",
      "parents": [
        "949f6711b83d2809d1ccb9d830155a65fdacdff9",
        "c6c0ac664c86ff6408fadbed4913938c8a732e26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 16:10:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 16:10:33 2011 -0800"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  driver core: Document that device_rename() is only for networking\n  sysfs: remove useless test from sysfs_merge_group\n  driver-core: merge private parts of class and bus\n  driver core: fix whitespace in class_attr_string\n"
    },
    {
      "commit": "57cc7215b70856dc6bae8e55b00ecd7b1d7429b1",
      "tree": "f6dedefd41e6745a9b801166b99af7d830e41ef2",
      "parents": [
        "37721e1b0cf98cb65895f234d8c500d270546529"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jan 10 08:18:25 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 08:51:44 2011 -0800"
      },
      "message": "headers: kobject.h redux\n\nRemove kobject.h from files which don\u0027t need it, notably,\nsched.h and fs.h.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b74c79e99389cd79b31fcc08f82c24e492e63c7e",
      "tree": "763c6b412517306670bc625e90035f2d16bb739f",
      "parents": [
        "34286d6662308d82aed891852d04c7c3a2649b16"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:58 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:29 2011 +1100"
      },
      "message": "fs: provide rcu-walk aware permission i_ops\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "34286d6662308d82aed891852d04c7c3a2649b16",
      "tree": "c4b7311404d302e7cb94df7a4690298e1059910a",
      "parents": [
        "44a7d7a878c9cbb74f236ea755b25b6b2e26a9a9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:57 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:29 2011 +1100"
      },
      "message": "fs: rcu-walk aware d_revalidate method\n\nRequire filesystems be aware of .d_revalidate being called in rcu-walk\nmode (nd-\u003eflags \u0026 LOOKUP_RCU). For now do a simple push down, returning\n-ECHILD from all implementations.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fb045adb99d9b7c562dc7fef834857f78249daa1",
      "tree": "1fd6a4024fffeec568abe100d730589bfdb81c38",
      "parents": [
        "5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:55 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: dcache reduce branches in lookup path\n\nReduce some branches and memory accesses in dcache lookup by adding dentry\nflags to indicate common d_ops are set, rather than having to check them.\nThis saves a pointer memory access (dentry-\u003ed_op) in common path lookup\nsituations, and saves another pointer load and branch in cases where we\nhave d_op but not the particular operation.\n\nPatched with:\n\ngit grep -E \u0027[.\u003e]([[:space:]])*d_op([[:space:]])*\u003d\u0027 | xargs sed -e \u0027s/\\([^\\t ]*\\)-\u003ed_op \u003d \\(.*\\);/d_set_d_op(\\1, \\2);/\u0027 -e \u0027s/\\([^\\t ]*\\)\\.d_op \u003d \\(.*\\);/d_set_d_op(\\\u0026\\1, \\2);/\u0027 -i\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fe15ce446beb3a33583af81ffe6c9d01a75314ed",
      "tree": "bc8af66b6dd2d0f21a2a3f48a19975ae2cdbae4e",
      "parents": [
        "5eef7fa905c814826f518aca2d414ca77508ce30"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:23 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:18 2011 +1100"
      },
      "message": "fs: change d_delete semantics\n\nChange d_delete from a dentry deletion notification to a dentry caching\nadvise, more like -\u003edrop_inode. Require it to be constant and idempotent,\nand not take d_lock. This is how all existing filesystems use the callback\nanyway.\n\nThis makes fine grained dentry locking of dput and dentry lru scanning\nmuch simpler.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "e030d58e8860f1c87b17631dbdd70747cbe1fb5b",
      "tree": "5eca982d7e71086db7e743eb575da019790b89bb",
      "parents": [
        "6b6e39a6a8da7234c538d14c43d3583da8875f9c"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Nov 15 15:46:07 2010 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 29 11:59:53 2010 -0800"
      },
      "message": "sysfs: remove useless test from sysfs_merge_group\n\nDan Carpenter pointed out that the new sysfs_merge_group() and\nsysfs_unmerge_group() routines requires their grp argument to be\nnon-NULL, because they dereference grp to obtain the list of\nattributes.  Hence it\u0027s pointless for the routines to include a test\nand special-case handling for when grp is NULL.  This patch (as1433)\nremoves the unneeded tests.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d0e46f88b2f73828faf00d559c7e5b3ce9e39a4b",
      "tree": "f8d4728b19cc8dd6a02cf04711c9f05be3247cd0",
      "parents": [
        "f7e835710ab5f6e43933c983f38f2d2e262b718c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 26 13:30:36 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 29 04:17:08 2010 -0400"
      },
      "message": "convert sysfs\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b9da0571050c09863e59f94d0b8594a290d61b88",
      "tree": "3632c4fee768db9a27a5c872bd42133692e2f3d0",
      "parents": [
        "f8cae0f03f75adb54b1d48ddbc90f84a1f5de186",
        "5abd935661e01289ba143c3b2c1ba300c65bcc5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 19:36:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 19:36:42 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (31 commits)\n  driver core: Display error codes when class suspend fails\n  Driver core: Add section count to memory_block struct\n  Driver core: Add mutex for adding/removing memory blocks\n  Driver core: Move find_memory_block routine\n  hpilo: Despecificate driver from iLO generation\n  driver core: Convert link_mem_sections to use find_memory_block_hinted.\n  driver core: Introduce find_memory_block_hinted which utilizes kset_find_obj_hinted.\n  kobject: Introduce kset_find_obj_hinted.\n  driver core: fix build for CONFIG_BLOCK not enabled\n  driver-core: base: change to new flag variable\n  sysfs: only access bin file vm_ops with the active lock\n  sysfs: Fail bin file mmap if vma close is implemented.\n  FW_LOADER: fix kconfig dependency warning on HOTPLUG\n  uio: Statically allocate uio_class and use class .dev_attrs.\n  uio: Support 2^MINOR_BITS minors\n  uio: Cleanup irq handling.\n  uio: Don\u0027t clear driver data\n  uio: Fix lack of locking in init_uio_class\n  SYSFS: Allow boot time switching between deprecated and modern sysfs layout\n  driver core: remove CONFIG_SYSFS_DEPRECATED_V2 but keep it for block devices\n  ...\n"
    },
    {
      "commit": "38f49a5132f24d29236820eb5c7dd956e47f94a3",
      "tree": "eb2d3184996d01babcf3689dd20d626f731d340a",
      "parents": [
        "a6849fa1f7d7d7adbeb6a696beeabfa078acf173"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Sep 20 00:57:03 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:43 2010 -0700"
      },
      "message": "sysfs: only access bin file vm_ops with the active lock\n\nbb-\u003evm_ops is a cached copy of the vm_ops of the underlying\nsysfs bin file, which means that after sysfs_bin_remove_file\ncompletes it is only longer valid to deference bb-\u003evm_ops.\n\nSo move all of the tests of bb-\u003evm_ops inside of where\nwe hold the sysfs active lock.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a6849fa1f7d7d7adbeb6a696beeabfa078acf173",
      "tree": "e87b4051d0b1fce3a88abf68bfd8d7315db0a52a",
      "parents": [
        "5fc6e9cbce3342379719fc0f8294c45bb888f5cc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Sep 20 00:56:27 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:43 2010 -0700"
      },
      "message": "sysfs: Fail bin file mmap if vma close is implemented.\n\nIt is not reasonably possible to wrap vma-\u003eclose().  To correctly\nwrap close would imply calling close on any vmas that remain when\nsysfs_remove_bin_file is called.  Finding the proper lists walking\nthem getting the locking right etc, requires deep knowledge of the\nmm subsystem and as such would require assistence from the mm\nsubsystem to implement.  That assistence does not currently exist.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "69d44ffbd772bede8c2a6d182e6e14f94826520b",
      "tree": "6c160172d34b9e023d459d3af0709d9b5760416b",
      "parents": [
        "098dff738abbeaea15fc95c4f4fdaee1e9bbea75"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Sep 25 23:34:22 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:44 2010 +0200"
      },
      "message": "sysfs: Add sysfs_merge_group() and sysfs_unmerge_group()\n\nThis patch (as1420) adds sysfs_merge_group() and sysfs_unmerge_group()\nfunctions, allowing drivers easily to add and remove sets of\nattributes to a pre-existing attribute group directory.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "57f9bdac2510cd7fda58e4a111d250861eb1ebeb",
      "tree": "c343e3d07fbab1cf7714b9bedebda95807e86cd9",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Aug 25 09:12:29 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 03 17:26:28 2010 -0700"
      },
      "message": "sysfs: checking for NULL instead of ERR_PTR\n\nd_path() returns an ERR_PTR and it doesn\u0027t return NULL.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nReviewed-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5f248c9c251c60af3403902b26e08de43964ea0b",
      "tree": "6d3328e72a7e4015a64017eb30be18095c6a3c64",
      "parents": [
        "f6cec0ae58c17522a7bc4e2f39dae19f199ab534",
        "dca332528bc69e05f67161e1ed59929633d5e63d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:26:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:26:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (96 commits)\n  no need for list_for_each_entry_safe()/resetting with superblock list\n  Fix sget() race with failing mount\n  vfs: don\u0027t hold s_umount over close_bdev_exclusive() call\n  sysv: do not mark superblock dirty on remount\n  sysv: do not mark superblock dirty on mount\n  btrfs: remove junk sb_dirt change\n  BFS: clean up the superblock usage\n  AFFS: wait for sb synchronization when needed\n  AFFS: clean up dirty flag usage\n  cifs: truncate fallout\n  mbcache: fix shrinker function return value\n  mbcache: Remove unused features\n  add f_flags to struct statfs(64)\n  pass a struct path to vfs_statfs\n  update VFS documentation for method changes.\n  All filesystems that need invalidate_inode_buffers() are doing that explicitly\n  convert remaining -\u003eclear_inode() to -\u003eevict_inode()\n  Make -\u003edrop_inode() just return whether inode needs to be dropped\n  fs/inode.c:clear_inode() is gone\n  fs/inode.c:evict() doesn\u0027t care about delete vs. non-delete paths now\n  ...\n\nFix up trivial conflicts in fs/nilfs2/super.c\n"
    },
    {
      "commit": "01cd9fef6eb3caae06415861de5b53224b722549",
      "tree": "ab34d701de3454ad2e071a682567c4380393f291",
      "parents": [
        "8267952b362b67a5cb5371d6894a772a13e6874c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 04 22:21:54 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:53 2010 -0400"
      },
      "message": "switch sysfs to -\u003eevict_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6a1a90ad1b0edb556a7550a6ef8a8756f0304dd5",
      "tree": "234488533d89e3f8b938823c2071be19e66e1b4b",
      "parents": [
        "d39aae9ec447dda84d9a2850743a78a535a71c90"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:00 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:35 2010 -0400"
      },
      "message": "rename generic_setattr\n\nDespite its name it\u0027s now a generic implementation of -\u003esetattr, but\nrather a helper to copy attributes from a struct iattr to the inode.\nRename it to setattr_copy to reflect this fact.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "49c19400f60bbe362202d7e7b3e68cc66040d0fa",
      "tree": "c514cf3270a81a199bac36feee020a98d05db9c5",
      "parents": [
        "3317fad5e9c741e758707879c68e20de2cb08f87"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Fri Jul 02 16:54:05 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 05 13:53:34 2010 -0700"
      },
      "message": "sysfs: sysfs_chmod_file\u0027s attr can be const\n\nsysfs_chmod_file doesn\u0027t change the attribute it operates on, so this\nattribute can be marked const.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d33002129eee4717a92e320b0b764a784bbcad3a",
      "tree": "0f519f2385d08e3b1702c89e1e01ff079a2e5846",
      "parents": [
        "521d0453547d6195d200176328aaec6c98a7a290"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 20 22:12:01 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 26 12:02:41 2010 -0700"
      },
      "message": "sysfs: allow creating symlinks from untagged to tagged directories\n\nSupporting symlinks from untagged to tagged directories is reasonable,\nand needed to support CONFIG_SYSFS_DEPRECATED.  So don\u0027t fail a prior\nallowing that case to work.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "521d0453547d6195d200176328aaec6c98a7a290",
      "tree": "8c0a1bc9920ec9178b8f035188338a3552c1b4b1",
      "parents": [
        "96d6523adffbab64f099561a021892125e0c672c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 20 22:10:58 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 26 12:02:41 2010 -0700"
      },
      "message": "sysfs: sysfs_delete_link handle symlinks from untagged to tagged directories.\n\nThis happens for network devices when SYSFS_DEPRECATED is enabled.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "96d6523adffbab64f099561a021892125e0c672c",
      "tree": "0a6c3845c7832d4d3ad6bd120c95c3823dc780a2",
      "parents": [
        "dbbe4649d683577de1063dbd9f6da7d4b8de2fed"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jul 08 09:31:24 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 26 12:02:41 2010 -0700"
      },
      "message": "sysfs: Don\u0027t allow the creation of symlinks we can\u0027t remove\n\nRecently my tagged sysfs support revealed a flaw in the device core\nthat a few rare drivers are running into such that we don\u0027t always put\nnetwork devices in a class subdirectory named net/.\n\nSince we are not creating the class directory the network devices wind\nup in a non-tagged directory, but the symlinks to the network devices\nfrom /sys/class/net are in a tagged directory.  All of which works\nuntil we go to remove or rename the symlink.  When we remove or rename\na symlink we look in the namespace of the target of the symlink.\nSince the target of the symlink is in a non-tagged sysfs directory we\ndon\u0027t have a namespace to look in, and we fail to remove the symlink.\n\nDetect this problem up front and simply don\u0027t create symlinks we won\u0027t\nbe able to remove later.  This prevents symlink leakage and fails in\na much clearer and more understandable way.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "75de46b98dda624397ccb17c106e51f478a79c15",
      "tree": "8c4cf43eb8f840e84a48d387928673bcccd03d66",
      "parents": [
        "743db2d903bc4e963a31496328d847d69f75047c"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon May 31 17:58:02 2010 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jun 04 13:27:53 2010 -0700"
      },
      "message": "fix setattr error handling in sysfs, configfs\n\nsysfs and configfs setattr functions have error cases after the generic inode\u0027s\nattributes have been changed. Fix consistency by changing the generic inode\nattributes only when it is guaranteed to succeed.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3322e79a3860fd0d50e3c1879b2e98ac582c0ff6",
      "tree": "58ebfb1742c996dd9a40593c33c9ea1ff958efe8",
      "parents": [
        "15c6fd9786dfaab43547bf60df6fa63170fb64fc"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu May 27 22:42:19 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:15:47 2010 -0400"
      },
      "message": "fs: convert simple fs to new truncate\n\nConvert simple filesystems: ramfs, configfs, sysfs, block_dev to new truncate\nsequence.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2c3c8bea608866d8bd9dcf92657d57fdcac011c5",
      "tree": "f509b958d0a65c46c831dbdd447a81e706dd995a",
      "parents": [
        "68d75ed4b84a0806ecd4bc14da4759713b23a532"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Wed May 12 18:28:57 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:31 2010 -0700"
      },
      "message": "sysfs: add struct file* to bin_attr callbacks\n\nThis allows bin_attr-\u003eread,write,mmap callbacks to check file specific data\n(such as inode owner) as part of any privilege validation.\n\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "68d75ed4b84a0806ecd4bc14da4759713b23a532",
      "tree": "025c85987d1d553ed014903ad8f6395250b44fa8",
      "parents": [
        "27eabc7cb4b357c68e4ce77d0b014f7a23add752"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Tue May 18 12:58:33 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:31 2010 -0700"
      },
      "message": "sysfs: Remove usage of S_BIAS to avoid merge conflict with the vfs tree\n\nIn Al\u0027s latest vfs tree the code is reworked and S_BIAS has been removed.\n\nIt turns out that checking to see if a super block is in the\nmiddle of an unmount in sysfs_exit_ns is unnecessary because we\nremove the super_block from the s_supers/s_instances list before\nstruct sysfs_super_info pointed to by sb-\u003es_fs_info is freed.\n\nFor now just delete the unnecessary check to see if a superblock is in the\nmiddle of an unmount, it isn\u0027t necessary with or without Al\u0027s changes\nand it just causes a needless conflict.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "be867b194a3ae3c680c29521287ae49b4d44d420",
      "tree": "1b3ad125d02603c6a9cc4bb8ae518695d7c6a66d",
      "parents": [
        "f349cf34731c3b3eddbcd63cb04489aee2c405bd"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon May 03 16:23:15 2010 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:31 2010 -0700"
      },
      "message": "sysfs: Comment sysfs directory tagging logic\n\nAdd some in-line comments to explain the new infrastructure, which\nwas introduced to support sysfs directory tagging with namespaces.\nI think an overall description someplace might be good too, but it\ndidn\u0027t really seem to fit into Documentation/filesystems/sysfs.txt,\nwhich appears more geared toward users, rather than maintainers, of\nsysfs.\n\n(Tejun, please let me know if I can make anything clearer or failed\naltogether to comment something that should be commented.)\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "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": "af10ec77b43335ab4e473e4087d85979caf02d65",
      "tree": "2a3c78d5c17e0305f30f02cb9b716f1634ad7c87",
      "parents": [
        "3ff195b011d7decf501a4d55aeed312731094796"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@maxwell.aristanetworks.com",
        "time": "Tue Mar 30 11:31:27 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:31 2010 -0700"
      },
      "message": "sysfs: Add support for tagged directories with untagged members.\n\nI had hopped to avoid this but the bonding driver adds a file\nto /sys/class/net/  and the easiest way to handle that file is\nto make it untagged and to register it only once.\n\nSo relax the rules on tagged directories, and make bonding work.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\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": "ba514a57f5c38d9d79ea15e75059e07f49238726",
      "tree": "88a3c7cff6c2db84b0013b3e38ae550dee0f3127",
      "parents": [
        "9e7fdd25b21ebf50713dfb7702af57c270e5572a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 30 16:50:26 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:31 2010 -0700"
      },
      "message": "sysfs: Remove double free sysfs_get_sb\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9e7fdd25b21ebf50713dfb7702af57c270e5572a",
      "tree": "ea1c4d9c33be9b72782081fc16a5bac8aafe93da",
      "parents": [
        "c3473c63542d53740f175f3a515257ae159e998b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 30 11:31:24 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:30 2010 -0700"
      },
      "message": "sysfs: Basic support for multiple super blocks\n\nAdd all of the necessary bioler plate to support\nmultiple superblocks in sysfs.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\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": "0f4288ec6fcc1a47d1fa0241ec1c6dacd5a09e96",
      "tree": "7112809d470a7e6dc55cd68054896beef24bc184",
      "parents": [
        "fac2622bbad4d7e3a32c53e631e018b80ec631dc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 12 19:22:28 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "sysfs: Kill unused sysfs_sb variable.\n\nNow that there are no more users we can remove\nthe sysfs_sb variable.\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": "fac2622bbad4d7e3a32c53e631e018b80ec631dc",
      "tree": "42e4ad2b38c6d40c86eabaff5efff2b0adeb0b40",
      "parents": [
        "2354dcc7218853a6537ec722be40fde9a11c413b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 12 19:22:27 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "sysfs: Pass super_block to sysfs_get_inode\n\nCurrently sysfs_get_inode magically returns an inode on\nsysfs_sb.  Make the super_block parameter explicit and\nthe code becomes clearer.\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": "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": "19c38b632d4554329986021fd66bdea468cf452c",
      "tree": "a724445bc46a4500ff6c4def2a6de39fc438f8b5",
      "parents": [
        "f8d4f618fed5a4978afada52166bc2efaf7656d1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Fri Feb 12 19:22:24 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "sysfs: Pack sysfs_dirent more tightly.\n\nPlacing the 16bit s_mode between a pointer and a long doesn\u0027t pack well\nespecailly on 64bit where we wast 48 bits.  So move s_mode and\ndeclare it as a unsigned short.  This is the sysfs backing store\nafter all we don\u0027t need fields extra large just in case someday\nwe want userspace to be able to use a larger value.\n\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": "f8d4f618fed5a4978afada52166bc2efaf7656d1",
      "tree": "3247344bc9e2cb39261336f25f345740b22622d0",
      "parents": [
        "b35c74dab64f4c212f36d868419108556c9cf3e2"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Fri Feb 12 19:22:23 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "sysfs: Serialize updates to the vfs inode\n\nThe vfs depends upon filesystem methods to update the\nvfs inode.   Sysfs adds to the normal number of places\nwhere the vfs inode is updated by also updatng the\nvfs inode in sysfs_refresh_inode.\n\nTypically the inode mutex is used to serialize updates\nto the vfs inode, but grabbing the inode mutex in\nsysfs_permission and sysfs_getattr causes deadlocks,\nbecause sometimes the vfs calls those operations with\nthe inode mutex held.  Therefore sysfs  can not use the\ninode mutex to serial updates to the vfs inode.\n\nThe sysfs_mutex is acquired in all of the routines\nwhere sysfs updates the vfs inode, and with a small\nchange we can consistently protext sysfs vfs inode\nupdates with the sysfs_mutex. To protect the sysfs\nvfs inode updates with the sysfs_mutex simply requires\nextending the scope of sysfs_mutex in sysfs_setattr\nover inode_setattr, and over inode_change_ok (so we\nhave an unchanging inode when we perform the check).\n\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": "6992f5334995af474c2b58d010d08bc597f0f2fe",
      "tree": "bef650bfb9355b8d7cbb7a5acb3632c02ec7fbe7",
      "parents": [
        "a2db6842873c8e5a70652f278d469128cb52db70"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Feb 11 15:21:53 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:51 2010 -0800"
      },
      "message": "sysfs: Use one lockdep class per sysfs attribute.\n\nAcknowledge that the logical sysfs rwsem has one instance per\nsysfs attribute with different locking depencencies for different\nattributes.\n\nThere is a sysfs idiom where writing to one sysfs file causes the\naddition or removal of other sysfs files.   Lumping all of the\nsysfs attributes together in one lock class causes lockdep to\ngenerate lots of false positives.\n\nThis introduces the requirement that non-static sysfs attributes\nneed to be initialized with sysfs_attr_init or sysfs_bin_attr_init.\nStrictly speaking this requirement only exists when lockdep is\nenabled, and when lockdep is enabled we get a bit fat warning\nif this requirement is not met.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a2db6842873c8e5a70652f278d469128cb52db70",
      "tree": "0415c6cfb33753c7a20e05d95e3ce485a60b1f41",
      "parents": [
        "e72ceb8ccac5f770b3e696e09bb673dca7024b20"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Feb 11 15:20:00 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:51 2010 -0800"
      },
      "message": "sysfs: Only take active references on attributes.\n\nIf we exclude directories and symlinks from the set of sysfs\ndirents where we need active references we are left with\nsysfs attributes (binary or not).\n\n- Tweak sysfs_deactivate to only do something on attributes\n- Move lockdep initialization into sysfs_file_add_mode to\n  limit it to just attributes.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e72ceb8ccac5f770b3e696e09bb673dca7024b20",
      "tree": "9868803df687838c3c5f6f2265ceb7532b93a5f4",
      "parents": [
        "3c31f07ad0dab02fe17195d32a965d57fd947707"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Feb 11 15:18:38 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:51 2010 -0800"
      },
      "message": "sysfs: Remove sysfs_get/put_active_two\n\nIt turns out that holding an active reference on a directory is\npointless.  The purpose of the active references are to allows us to\nblock when removing sysfs entries that have custom methods so we don\u0027t\nremove modules while running modular code and to keep those custom\nmethods from accessing data structures after the files have been\nremoved.  Further sysfs_remove_dir remove all elements in the\ndirectory before removing the directory itself, so there is no chance\nwe will remove a directory with active children.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "52cf25d0ab7f78eeecc59ac652ed5090f69b619e",
      "tree": "031d1ffb3890bd69c0260c864c512e0be62ac05c",
      "parents": [
        "6c1733aca0b48db4d0e660d54976a1cca25b5eaf"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Tue Jan 19 02:58:23 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "Driver core: Constify struct sysfs_ops in struct kobj_type\n\nConstify struct sysfs_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nAcked-by: David Teigland \u003cteigland@redhat.com\u003e\nAcked-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1e5289c97bba2d8ee7239a416bc3f28743362cd9",
      "tree": "5a9c422b6dc16e4084866d548c043994da37e3d1",
      "parents": [
        "3f5468c9ae293cbca43e4ffe6ca3b3235189042a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Jan 01 14:43:53 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:48 2010 -0800"
      },
      "message": "sysfs: Cache the last sysfs_dirent to improve readdir scalability v2\n\nWhen sysfs_readdir stops short we now cache the next\nsysfs_dirent to return to user space in filp-\u003eprivate_data.\nThere is no impact on the rest of sysfs by doing this and\nin the common case it allows us to pick up exactly where\nwe left off with no seeking.\n\nAdditionally I drop and regrab the sysfs_mutex around\nfilldir to avoid a page fault abritrarily increasing the\nhold time on the sysfs_mutex.\n\nv2: Returned to using INT_MAX as the EOF condition.\n    seekdir is ambiguous unless all directory entries have\n    a unique f_pos value.\n\nFixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d14949\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1c205ae18db53ff72985dd79f3baaf2dbaba6db7",
      "tree": "ba2947326f34337b33c90391496b6e40089bc2ad",
      "parents": [
        "265d2e2e31c5f6dc1b20ae1653a17fdba706f79e"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:48:01 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:47 2010 -0800"
      },
      "message": "sysfs: Add sysfs_add/remove_files utility functions\n\nAdding/Removing a whole array of attributes is very common. Add a standard\nutility function to do this with a simple function call, instead of\nrequiring drivers to open code this.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "7c0ff870d1ed287504a61ed865f3d728c757436b",
      "tree": "d35c745ca95a72a0d6af1c51b06ca6f3eb93a254",
      "parents": [
        "0813e22d4e0d618eac9b47bec942bf856adca4c5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 03 23:13:24 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Feb 16 15:42:42 2010 -0800"
      },
      "message": "sysfs: sysfs_sd_setattr set iattrs unconditionally\n\nThere is currently a bug in sysfs_sd_setattr inherited from\nsysfs_setattr in 2.6.32 where the first time we set the attributes\non a sysfs file we allocate backing store but do not set the\nbacking store attributes.  Resulting in overly restrictive\npermissions on sysfs files.\n\nThe fix is to simply modify the code so that it always executes\nwhen we update the sysfs attributes, as we did in 2.6.31 and earlier.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nTested-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "846f99749ab68bbc7f75c74fec305de675b1a1bf",
      "tree": "4c1ca68cfea804bd5215d57844a16f69c566aedc",
      "parents": [
        "3e27249c84beed1c79d767b350e52ad038db9053"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jan 02 13:37:12 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 04 12:34:46 2010 -0800"
      },
      "message": "sysfs: Add lockdep annotations for the sysfs active reference\n\nHolding locks over device_del -\u003e kobject_del -\u003e sysfs_deactivate can\ncause deadlocks if those same locks are grabbed in sysfs show or store\nmethods.\n\nThe I model s_active count + completion as a sleeping read/write lock.\nI describe to lockdep sysfs_get_active as a read_trylock,\nsysfs_put_active as a read_unlock, and sysfs_deactivate as a\nwrite_lock and write_unlock pair.  This seems to capture the essence\nfor purposes of finding deadlocks, and in my testing gives finds real\nissues and ignores non-issues.\n\nThis brings us back to holding locks over kobject_del is a problem\nthat ideally we should find a way of addressing, but at least lockdep\ncan tell us about the problems instead of requiring developers to debug\nrare strange system deadlocks, that happen when sysfs files are removed\nwhile being written to.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "66ecb92be9eb579df93add22d19843e7869f168e",
      "tree": "60a8c4ecfd1ccb0743a137ecfbd972888dbd34ce",
      "parents": [
        "26579ab70aa0e0ea434e6e100279d2f67c094431"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Fri Dec 18 15:34:20 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:43 2009 -0800"
      },
      "message": "Driver core: bin_attribute parameters can often be const*\n\nMany struct bin_attribute descriptors are purely read-only\nstructures, and there\u0027s no need to change them. Therefore\nmake the promise not to, which will let those descriptors\nbe put in a ro section.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e16acb503b42ef241a9396de7c5a1614c74d8ca6",
      "tree": "369ea0ff38ffc59858f1fc0343885ddcb7df4e1f",
      "parents": [
        "ca1bab38195d66bdf42320a99cc7359434a271d3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@maxwell.aristanetworks.com",
        "time": "Fri Nov 20 16:08:58 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: sysfs_setattr remove unnecessary permission check.\n\ninode_change_ok already clears the SGID bit when necessary\nso there is no reason for sysfs_setattr to carry code to do\nthe same, and it is good to kill the extra copy because when\nI moved the code last in certain corner cases the code will\nlook at the wrong gid.\n\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": "ca1bab38195d66bdf42320a99cc7359434a271d3",
      "tree": "4394403b4a85fb269d052b7852b41ee0f7ba8a88",
      "parents": [
        "832b6af198aefe6034310e124594cc8b833c0ef9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:57 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: Factor out sysfs_rename from sysfs_rename_dir and sysfs_move_dir\n\nThese two functions do 90% of the same work and it doesn\u0027t significantly\nobfuscate the function to allow both the parent dir and the name to change\nat the same time.  So merge them together to simplify maintenance, and\nincrease testing.\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": "832b6af198aefe6034310e124594cc8b833c0ef9",
      "tree": "853eec8f7449dd7fc51c6d4c9b70ea44b81cf0d9",
      "parents": [
        "a16bbc3430ed94b543222f4c8ef68025f8493e93"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:56 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: Propagate renames to the vfs on demand\n\nBy teaching sysfs_revalidate to hide a dentry for\na sysfs_dirent if the sysfs_dirent has been renamed,\nand by teaching sysfs_lookup to return the original\ndentry if the sysfs dirent has been renamed.  I can\nshow the results of renames correctly without having to\nupdate the dcache during the directory rename.\n\nThis massively simplifies the rename logic allowing a lot\nof weird sysfs special cases to be removed along with\na lot of now unnecesary helper code.\n\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": "a16bbc3430ed94b543222f4c8ef68025f8493e93",
      "tree": "e866babd9a5ab024bcd68a9f935c4b373b1e8ac7",
      "parents": [
        "06fc0d66f7ed3a3b08e8fcf8c325ecf0b8f93fea"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@maxwell.aristanetworks.com",
        "time": "Fri Nov 20 16:08:55 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: Gut sysfs_addrm_start and sysfs_addrm_finish\n\nWith lazy inode updates and dentry operations bringing everything\ninto sync on demand there is no longer any need to immediately\nupdate the vfs or grab i_mutex to protect those updates as we\nmake changes to sysfs.\n\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": "06fc0d66f7ed3a3b08e8fcf8c325ecf0b8f93fea",
      "tree": "a599fc1cabf3564745ac03bc3e70c7211dc8081e",
      "parents": [
        "e61ab4ae48fbf477f5b9fcbec9e1b8dc789920d0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:54 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: In sysfs_chmod_file lazily propagate the mode change.\n\nNow that sysfs_getattr and sysfs_permission refresh the vfs\ninode there is no need to immediatly push the mode change\ninto the vfs cache.  Reducing the amount of work needed and\nsimplifying the locking.\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": "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": "6b0bfe9383a54cf35046980c61f5ff8fefa557d7",
      "tree": "3206ee6374ba6b735e97ce7af60ed8a48df0df9c",
      "parents": [
        "35df63c46c8605d00140ec4833d2104e2e9f1acc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:51 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Update s_iattr on link and unlink.\n\nCurrently sysfs updates the timestamps on the vfs directory\ninode when we create or remove a directory entry but doesn\u0027t\nupdate the cached copy on the sysfs_dirent, fix that oversight.\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": "35df63c46c8605d00140ec4833d2104e2e9f1acc",
      "tree": "1f02d75ab4589d3c8878e38e9d45360a0c0667d4",
      "parents": [
        "4be3df28beec5605c77a18aa2a4f987b5648f9ce"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:50 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Fix locking and factor out sysfs_sd_setattr\n\nCleanly separate the work that is specific to setting the\nattributes of a sysfs_dirent from what is needed to update\nthe attributes of a vfs inode.\n\nAdditionally grab the sysfs_mutex to keep any nasties from\nsurprising us when updating the sysfs_dirent.\n\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": "4be3df28beec5605c77a18aa2a4f987b5648f9ce",
      "tree": "1cd19042637dd5b055489700d3df4f3f9e19f9b4",
      "parents": [
        "4c6974f51a981d14f13e36049d6307d3bcda550e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Nov 07 23:27:03 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Simplify iattr time assignments\n\nThe granularity of sysfs time when we keep it is 1 ns.  Which\nwhen passed to timestamp_trunc results in a nop.  So remove\nthe unnecessary function call making sysfs_setattr slightly\neasier to read.\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": "4c6974f51a981d14f13e36049d6307d3bcda550e",
      "tree": "608016b1dcdbf094732f06a2688a8af3d4d20d62",
      "parents": [
        "e8f077c8831528e2ec1ea6c8ba090e405fdcd0b7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Nov 07 23:27:02 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Simplify sysfs_chmod_file semantics\n\nCurrently every caller of sysfs_chmod_file happens at either\nfile creation time to set a non-default mode or in response\nto a specific user requested space change in policy.  Making\ntimestamps of when the chmod happens and notification of\na file changing mode uninteresting.\n\nRemove the unnecessary time stamp and filesystem change\nnotification, and removes the last of the explicit inotify\nand donitfy support from sysfs.\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": "e8f077c8831528e2ec1ea6c8ba090e405fdcd0b7",
      "tree": "707b25f1368d59d7d945ae46d2139f6592120a8e",
      "parents": [
        "28a027cfc0d527fcc31bfeac1d94d572c68847d1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Nov 07 23:27:01 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Use dentry_ops instead of directly playing with the dcache\n\nCalling d_drop unconditionally when a sysfs_dirent is deleted has\nthe potential to leak mounts, so instead implement dentry delete\nand revalidate operations that cause sysfs dentries to be removed\nat the appropriate time.\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": "28a027cfc0d527fcc31bfeac1d94d572c68847d1",
      "tree": "b240a56532ba819eb7849f117bce3d3038f745ee",
      "parents": [
        "f44d3e7857e5d21413fc9a2b61948190c73705e7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Nov 07 23:27:00 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Rename sysfs_d_iput to sysfs_dentry_iput\n\nUsing dentry instead of d in the function name is what\nseveral other filesystems are doing and it seems to be\na more readable convention.\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": "f44d3e7857e5d21413fc9a2b61948190c73705e7",
      "tree": "d93591de4747cd59e4ee8ba8dfe97867cbdad6fd",
      "parents": [
        "d3a3b0adad0865c12e39b712ca89efbd0a3a0dbc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@maxwell.aristanetworks.com",
        "time": "Sat Nov 07 23:26:59 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Update sysfs_setxattr so it updates secdata under the sysfs_mutex\n\nThe sysfs_mutex is required to ensure updates are and will remain\natomic with respect to other inode iattr updates, that do not happen\nthrough the filesystem.\n\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": "f38506c49dab2751567423865941f32f2ea61c45",
      "tree": "f57e3823be64fc4d11a631c27433097316c8fb94",
      "parents": [
        "68ea809af47d8a4dd92dd3a8720882767fdf51b6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 20:47:32 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:51 2009 -0800"
      },
      "message": "sysfs: mark a locally-only used function static\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4c3da2209b1261af9a948b7509a38904c8eee554",
      "tree": "74e2f113f8a40885b0df4858a3ba19f4747086a1",
      "parents": [
        "91d3f9bacdb4950d2f79fe2ba296aa249f60d06c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 04 02:50:06 2009 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Nov 05 08:19:18 2009 +1100"
      },
      "message": "sysfs: Don\u0027t leak secdata when a sysfs_dirent is freed.\n\nWhile refreshing my sysfs patches I noticed a leak in the secdata\nimplementation.  We don\u0027t free the secdata when we free the\nsysfs dirent.\n\nThis is a bug in 2.6.32-rc5 that we really should close.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "83db93f4de2d9ae441a491d1dc61c2204f0195de",
      "tree": "13fb296040c8284cf09f318923aa170212cc245d",
      "parents": [
        "a6a8357788d6a37f8ad0f7eb46b0a386b613abb9"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Sep 15 16:05:51 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 14 15:16:25 2009 -0700"
      },
      "message": "sysfs: Allow sysfs_notify_dirent to be called from interrupt context.\n\nsysfs_notify_dirent is a simple atomic operation that can be used to\nalert user-space that new data can be read from a sysfs attribute.\n\nUnfortunately it cannot currently be called from non-process context\nbecause of its use of spin_lock which is sometimes taken with\ninterrupts enabled.\n\nSo change all lockers of sysfs_open_dirent_lock to disable interrupts,\nthus making sysfs_notify_dirent safe to be called from non-process\ncontext (as drivers/md does in md_safemode_timeout).\n\nsysfs_get_open_dirent is (documented as being) only called from\nprocess context, so it uses spin_lock_irq.  Other places\nuse spin_lock_irqsave.\n\nThe usage for sysfs_notify_dirent in md_safemode_timeout was\nintroduced in 2.6.28, so this patch is suitable for that and more\nrecent kernels.\n\nReported-by: Joel Andres Granados \u003cjgranado@redhat.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a6a8357788d6a37f8ad0f7eb46b0a386b613abb9",
      "tree": "b8505a5394bc7f825753e0451f421b8333388e37",
      "parents": [
        "80f506918fdaaca6b574ba931536a58ce015c7be"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Tue Oct 06 15:33:35 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 14 15:16:25 2009 -0700"
      },
      "message": "sysfs: Allow sysfs_move_dir(..., NULL) again.\n\nAs device_move() and kobject_move() both handle a NULL destination,\nsysfs_move_dir() should do this as well (again) and fall back to\nsysfs_root in that case.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f0f37e2f77731b3473fa6bd5ee53255d9a9cdb40",
      "tree": "3c26d3ed1a453156e9c208ccb5567a8954dba064",
      "parents": [
        "6f5071020d5ec89b5d095aa488db604adb921aec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Sep 27 22:29:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 27 11:39:25 2009 -0700"
      },
      "message": "const: mark struct vm_struct_operations\n\n* mark struct vm_area_struct::vm_ops as const\n* mark vm_ops in AGP code\n\nBut leave TTM code alone, something is fishy there with global vm_ops\nbeing used.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a12e4d304ce701844c639541d90df86e165d03f9",
      "tree": "6ad7314b63a3303d9aa36f1c7eeb68abf64d3592",
      "parents": [
        "89af571ca633ada14d17746519a179553a732d31",
        "500b067c5e6ceea49cf280a02597b1169320e08c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 09:17:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 09:17:05 2009 -0700"
      },
      "message": "Merge branch \u0027writeback\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027writeback\u0027 of git://git.kernel.dk/linux-2.6-block:\n  writeback: check for registered bdi in flusher add and inode dirty\n  writeback: add name to backing_dev_info\n  writeback: add some debug inode list counters to bdi stats\n  writeback: get rid of pdflush completely\n  writeback: switch to per-bdi threads for flushing data\n  writeback: move dirty inodes from super_block to backing_dev_info\n  writeback: get rid of generic_sync_sb_inodes() export\n"
    },
    {
      "commit": "d993831fa7ffeb89e994f046f93eeb09ec91df08",
      "tree": "da4f94bbf022c83988bda71adf1f1b3a88cb4592",
      "parents": [
        "f09b00d3e789a88fa6c7c03cedc62cb65c1de0cb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 12 14:45:52 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 09:20:26 2009 +0200"
      },
      "message": "writeback: add name to backing_dev_info\n\nThis enables us to track who does what and print info. Its main use\nis catching dirty inodes on the default_backing_dev_info, so we can\nfix that up.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\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": "0f58b44582001c8bcdb75f36cf85ebbe5170e959",
      "tree": "4d9f1a2ff668f37db7f0d5b5076307213868d2fb",
      "parents": [
        "4733fd328f14280900435d9dbae1487d110a4d56"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "oberpar@linux.vnet.ibm.com",
        "time": "Tue Jul 14 17:56:15 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jul 28 13:45:21 2009 -0700"
      },
      "message": "sysfs: fix hardlink count on device_move\n\nUpdate directory hardlink count when moving kobjects to a new parent.\nFixes the following problem which occurs when several devices are\nmoved to the same parent and then unregistered:\n\n\u003e ls -laF /sys/devices/css0/defunct/\n\u003e total 0\n\u003e drwxr-xr-x 4294967295 root root    0 2009-07-14 17:02 ./\n\u003e drwxr-xr-x        114 root root    0 2009-07-14 17:02 ../\n\u003e drwxr-xr-x          2 root root    0 2009-07-14 17:01 power/\n\u003e -rw-r--r--          1 root root 4096 2009-07-14 17:01 uevent\n\nSigned-off-by: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d5ce5b40bc66880d1732461d4b47d7fc3331ed30",
      "tree": "981ce8897febe8c0691247a5312f14c381359853",
      "parents": [
        "5e75c5f5d723074b1ceefe916c3005888e431d12"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jul 08 11:17:34 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 08 09:34:07 2009 -0700"
      },
      "message": "Free the memory allocated by memdup_user() in fs/sysfs/bin.c\n\nCommit 1c8542c7bb replaced kmalloc() with memdup_user() in the write()\nfunction but also dropped the kfree(temp). The memdup_user() function\nallocates memory which is never freed.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Parag Warudkar \u003cparag.warudkar@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.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": "086a377edc969aea6c761176a7e4ff68f264d6fe",
      "tree": "81cd6a34fb12a3cfa00228bd5508b49bdbfc2c03",
      "parents": [
        "b5c42bc8db17db80917f99205a03c51f17354495"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu May 07 12:36:53 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 28 14:24:07 2009 -0700"
      },
      "message": "sysfs: file.c: use create_singlethread_workqueue()\n\nWe don\u0027t need a kernel thread per CPU for this application.\n\nAcked-by: Alex Chiang \u003cachiang@hp.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1c8542c7bb239ef02fe21477acd9cdac04c1b640",
      "tree": "45d9f29f241203608866f8246a699bc00b6ecf6b",
      "parents": [
        "dae7b665cf6d6e6e733f1c9c16cf55547dd37e33"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:07:30 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:50 2009 -0400"
      },
      "message": "sysfs: use memdup_user()\n\nRemove open-coded memdup_user().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1af3557abdef34ee036a6de4cb79e24468544b8d",
      "tree": "f390d8d72bbba5302fcafb4c3666ac92469b488a",
      "parents": [
        "d094cbe998eb566d47552aa9d3c26c9123a7b858"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu Apr 09 13:53:22 2009 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Apr 16 16:17:09 2009 -0700"
      },
      "message": "sysfs: sysfs poll keep the poll rule of regular file.\n\nCurrently, following test programs don\u0027t finished.\n\n% ruby -e \u0027\nThread.new { sleep }\nFile.read(\"/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies\")\n\u0027\n\nstrace expose the reason.\n\n...\nopen(\"/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies\", O_RDONLY|O_LARGEFILE) \u003d 3\nioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbf9fa6b8) \u003d -1 ENOTTY (Inappropriate ioctl for device)\nfstat64(3, {st_mode\u003dS_IFREG|0444, st_size\u003d4096, ...}) \u003d 0\n_llseek(3, 0, [0], SEEK_CUR)            \u003d 0\nselect(4, [3], NULL, NULL, NULL)        \u003d 1 (in [3])\nread(3, \"1400000 1300000 1200000 1100000 1\"..., 4096) \u003d 62\nselect(4, [3], NULL, NULL, NULL\n\n\nBecause Ruby (the scripting language) VM assume select system-call\nagainst regular file don\u0027t block.  it because SUSv3 says \"Regular files\nshall always poll TRUE for reading and writing\".  see\nhttp://www.opengroup.org/onlinepubs/009695399/functions/poll.html it\nseems valid assumption.\n\nBut sysfs_poll() don\u0027t keep this rule although sysfs file can read and\nwrite always.\n\nThis patch restore proper poll behavior to sysfs.\n/sys/block/md*/md/sync_action polling application and another sysfs\nupdating sensitive application still can use POLLERR and POLLPRI.\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d110271e1f4140a9fb06d968b1afe9ca56a6064e",
      "tree": "eb9ecf34607b5bb40ed26e339c5185cdb341e92f",
      "parents": [
        "c19f83669a02d4fa047d0d40f518e90f6f19c4c6"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Wed Mar 25 15:11:36 2009 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Apr 16 16:17:08 2009 -0700"
      },
      "message": "sysfs: don\u0027t use global workqueue in sysfs_schedule_callback()\n\nA sysfs attribute using sysfs_schedule_callback() to commit suicide\nmay end up calling device_unregister(), which will eventually call\na driver\u0027s -\u003eremove function.\n\nDrivers may call flush_scheduled_work() in their shutdown routines,\nin which case lockdep will complain with something like the following:\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: possible recursive locking detected ]\n  2.6.29-rc8-kk #1\n  ---------------------------------------------\n  events/4/56 is trying to acquire lock:\n  (events){--..}, at: [\u003cffffffff80257fc0\u003e] flush_workqueue+0x0/0xa0\n\n  but task is already holding lock:\n  (events){--..}, at: [\u003cffffffff80257648\u003e] run_workqueue+0x108/0x230\n\n  other info that might help us debug this:\n  3 locks held by events/4/56:\n  #0:  (events){--..}, at: [\u003cffffffff80257648\u003e] run_workqueue+0x108/0x230\n  #1:  (\u0026ss-\u003ework){--..}, at: [\u003cffffffff80257648\u003e] run_workqueue+0x108/0x230\n  #2:  (pci_remove_rescan_mutex){--..}, at: [\u003cffffffff803c10d1\u003e] remove_callback+0x21/0x40\n\n  stack backtrace:\n  Pid: 56, comm: events/4 Not tainted 2.6.29-rc8-kk #1\n  Call Trace:\n  [\u003cffffffff8026dfcd\u003e] validate_chain+0xb7d/0x1260\n  [\u003cffffffff8026eade\u003e] __lock_acquire+0x42e/0xa40\n  [\u003cffffffff8026f148\u003e] lock_acquire+0x58/0x80\n  [\u003cffffffff80257fc0\u003e] ? flush_workqueue+0x0/0xa0\n  [\u003cffffffff8025800d\u003e] flush_workqueue+0x4d/0xa0\n  [\u003cffffffff80257fc0\u003e] ? flush_workqueue+0x0/0xa0\n  [\u003cffffffff80258070\u003e] flush_scheduled_work+0x10/0x20\n  [\u003cffffffffa0144065\u003e] e1000_remove+0x55/0xfe [e1000e]\n  [\u003cffffffff8033ee30\u003e] ? sysfs_schedule_callback_work+0x0/0x50\n  [\u003cffffffff803bfeb2\u003e] pci_device_remove+0x32/0x70\n  [\u003cffffffff80441da9\u003e] __device_release_driver+0x59/0x90\n  [\u003cffffffff80441edb\u003e] device_release_driver+0x2b/0x40\n  [\u003cffffffff804419d6\u003e] bus_remove_device+0xa6/0x120\n  [\u003cffffffff8043e46b\u003e] device_del+0x12b/0x190\n  [\u003cffffffff8043e4f6\u003e] device_unregister+0x26/0x70\n  [\u003cffffffff803ba969\u003e] pci_stop_dev+0x49/0x60\n  [\u003cffffffff803baab0\u003e] pci_remove_bus_device+0x40/0xc0\n  [\u003cffffffff803c10d9\u003e] remove_callback+0x29/0x40\n  [\u003cffffffff8033ee4f\u003e] sysfs_schedule_callback_work+0x1f/0x50\n  [\u003cffffffff8025769a\u003e] run_workqueue+0x15a/0x230\n  [\u003cffffffff80257648\u003e] ? run_workqueue+0x108/0x230\n  [\u003cffffffff8025846f\u003e] worker_thread+0x9f/0x100\n  [\u003cffffffff8025bce0\u003e] ? autoremove_wake_function+0x0/0x40\n  [\u003cffffffff802583d0\u003e] ? worker_thread+0x0/0x100\n  [\u003cffffffff8025b89d\u003e] kthread+0x4d/0x80\n  [\u003cffffffff8020d4ba\u003e] child_rip+0xa/0x20\n  [\u003cffffffff8020cebc\u003e] ? restore_args+0x0/0x30\n  [\u003cffffffff8025b850\u003e] ? kthread+0x0/0x80\n  [\u003cffffffff8020d4b0\u003e] ? child_rip+0x0/0x20\n\nAlthough we know that the device_unregister path will never acquire\na lock that a driver might try to acquire in its -\u003eremove, in general\nwe should never attempt to flush a workqueue from within the same\nworkqueue, and lockdep rightly complains.\n\nSo as long as sysfs attributes cannot commit suicide directly and we\nare stuck with this callback mechanism, put the sysfs callbacks on\ntheir own workqueue instead of the global one.\n\nThis has the side benefit that if a suicidal sysfs attribute kicks\noff a long chain of -\u003eremove callbacks, we no longer induce a long\ndelay on the global queue.\n\nThis also fixes a missing module_put in the error path introduced\nby sysfs-only-allow-one-scheduled-removal-callback-per-kobj.patch.\n\nWe never destroy the workqueue, but I\u0027m not sure that\u0027s a\nproblem.\n\nReported-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nTested-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "851a039cc547b33b8139fe6d7c2bbfb158e2724e",
      "tree": "0deabfe04b648d7542de8dd36dcd384d03fe09f6",
      "parents": [
        "56a76f8275c379ed73c8a43cfa1dfa2f5e9cfa19"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Mar 31 15:23:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:14 2009 -0700"
      },
      "message": "mm: page_mkwrite change prototype to match fault: fix sysfs\n\nFix warnings and return values in sysfs bin_page_mkwrite(), fixing\nfs/sysfs/bin.c: In function `bin_page_mkwrite\u0027:\nfs/sysfs/bin.c:250: warning: passing argument 2 of `bb-\u003evm_ops-\u003epage_mkwrite\u0027 from incompatible pointer type\nfs/sysfs/bin.c: At top level:\nfs/sysfs/bin.c:280: warning: initialization from incompatible pointer type\n\nExpects to have my [PATCH next] sysfs: fix some bin_vm_ops errors\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ae5080f4c2e293229508dabe7c8a90af4e4c460",
      "tree": "9cb11f26905a82b7fac9d3b8f9d61d58bc5c94b0",
      "parents": [
        "2c9e15a011c55ff96b2b8d2b126d1b9a96abba20",
        "aabb8fdb41128705fd1627f56fdd571e45fdbcdb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 16:23:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 16:23:12 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (37 commits)\n  fs: avoid I_NEW inodes\n  Merge code for single and multiple-instance mounts\n  Remove get_init_pts_sb()\n  Move common mknod_ptmx() calls into caller\n  Parse mount options just once and copy them to super block\n  Unroll essentials of do_remount_sb() into devpts\n  vfs: simple_set_mnt() should return void\n  fs: move bdev code out of buffer.c\n  constify dentry_operations: rest\n  constify dentry_operations: configfs\n  constify dentry_operations: sysfs\n  constify dentry_operations: JFS\n  constify dentry_operations: OCFS2\n  constify dentry_operations: GFS2\n  constify dentry_operations: FAT\n  constify dentry_operations: FUSE\n  constify dentry_operations: procfs\n  constify dentry_operations: ecryptfs\n  constify dentry_operations: CIFS\n  constify dentry_operations: AFS\n  ...\n"
    },
    {
      "commit": "ee1ec32903fc3139af00ebc7ee483dabca3f4fa5",
      "tree": "70145c6ef8e4426705082059ac674a4c4fd937b8",
      "parents": [
        "ad28b4ef1937b11432cd64fe1ebad714f8e253bd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 20 06:01:46 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:44:02 2009 -0400"
      },
      "message": "constify dentry_operations: sysfs\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "095160aee954688a9bad225952c4bee546541e19",
      "tree": "5f2ceb17b0a414da00b7173384efda8c56c1755c",
      "parents": [
        "f520360d93cdc37de5d972dac4bf3bdef6a7f6a7"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Mar 23 01:41:27 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "sysfs: fix some bin_vm_ops errors\n\nCommit 86c9508eb1c0ce5aa07b5cf1d36b60c54efc3d7a\n\"sysfs: don\u0027t block indefinitely for unmapped files\" in linux-next\ncrashes the PowerMac G5 when X starts up.  It\u0027s caught out by the way\npowerpc\u0027s pci_mmap of legacy_mem uses shmem_zero_setup(), substituting\na new vma-\u003evm_file whose private_data no longer points to the bin_buffer\n(substitution done because some versions of X crash if that mmap fails).\n\nThe fix to this is straightforward: the original vm_file is fput() in\nthat case, so this mmap won\u0027t block sysfs at all, so just don\u0027t switch\nover to bin_vm_ops if vm_file has changed.\n\nBut more fixes made before realizing that was the problem:-\n\nIt should not be an error if bin_page_mkwrite() finds no underlying\npage_mkwrite().\n\nCheck that a file already mmap\u0027ed has the same underlying vm_ops\n_before_ pointing vma-\u003evm_ops at bin_vm_ops.\n\nIf the file being mmap\u0027ed is a shmem/tmpfs file, don\u0027t fail the mmap\non CONFIG_NUMA\u003dy, just because that has a set_policy and get_policy:\nprovide bin_set_policy, bin_get_policy and bin_migrate.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Eric Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "669420644c79c207f83fdf9105ae782867e2991f",
      "tree": "668491b3700bcc65e45d5ff9471f6fde5d5743af",
      "parents": [
        "ffa6a7054d172a2f57248dff2de600ca795c5656"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Fri Mar 13 12:07:36 2009 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "sysfs: only allow one scheduled removal callback per kobj\n\nThe only way for a sysfs attribute to remove itself (without\ndeadlock) is to use the sysfs_schedule_callback() interface.\n\nVegard Nossum discovered that a poorly written sysfs -\u003estore\ncallback can repeatedly schedule remove callbacks on the same\ndevice over and over, e.g.\n\n\t$ while true ; do echo 1 \u003e /sys/devices/.../remove ; done\n\nIf the \u0027remove\u0027 attribute uses the sysfs_schedule_callback API\nand also does not protect itself from concurrent accesses, its\ncallback handler will be called multiple times, and will\neventually attempt to perform operations on a freed kobject,\nleading to many problems.\n\nInstead of requiring all callers of sysfs_schedule_callback to\nimplement their own synchronization, provide the protection in\nthe infrastructure.\n\nNow, sysfs_schedule_callback will only allow one scheduled\ncallback per kobject. On subsequent calls with the same kobject,\nreturn -EAGAIN.\n\nThis is a short term fix. The long term fix is to allow sysfs\nattributes to remove themselves directly, without any of this\ncallback hokey pokey.\n\n[cornelia.huck@de.ibm.com: s390 ccwgroup bits]\n\nReported-by: vegard.nossum@gmail.com\nSigned-off-by: Alex Chiang \u003cachiang@hp.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": "e0edd3c65aa5b53e20280565a7ce11675eb7ed6b",
      "tree": "e9d7a8834eba3f19635f770f5d19bfe88a2485e4",
      "parents": [
        "ae1b41715ee2aae356fbcca032838b71d70b855f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Wed Mar 04 11:57:20 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "sysfs: don\u0027t block indefinitely for unmapped files.\n\nModify sysfs bin files so that we can remove the bin file while they are\nstill mapped.  When the kobject is removed we unmap the bin file and\narrange for future accesses to the mapping to receive SIGBUS.\n\nImplementing this prevents a nasty DOS when pci devices are hot plugged\nand unplugged.  Where if any of their resources were mmaped the kernel\ncould not free up their pci resources or release their pci data\nstructures.\n\n[akpm@linux-foundation.org: remove unused var]\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "04256b4a8fc73f54cd14f20867882c299728a446",
      "tree": "16267f6c77e0fa9f7229a30f66343289b6d1108a",
      "parents": [
        "425cb02912d1095febfeaf8d379af7b2ac9e4a89"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Wed Feb 11 13:20:23 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "sysfs: reference sysfs_dirent from sysfs inodes\n\nThe sysfs_dirent serves as both an inode and a directory entry\nfor sysfs.  To prevent the sysfs inode numbers from being freed\nprematurely hold a reference to sysfs_dirent from the sysfs inode.\n\n[akpm@linux-foundation.org: add comment]\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.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": "425cb02912d1095febfeaf8d379af7b2ac9e4a89",
      "tree": "d7cbd6309c280714a3dc45d968129128d649be22",
      "parents": [
        "f48f3febb2cbfd0f2ecee7690835ba745c1034a4"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Thu Feb 12 10:56:59 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "sysfs: sysfs_add_one WARNs with full path to duplicate filename\n\nsysfs: sysfs_add_one WARNs with full path to duplicate filename\n\nAs a debugging aid, it can be useful to know the full path to a\nduplicate file being created in sysfs.\n\nWe now will display warnings such as:\n\n\tsysfs: cannot create duplicate filename \u0027/foo\u0027\n\nwhen attempting to create multiple files named \u0027foo\u0027 in the sysfs\nroot, or:\n\n\tsysfs: cannot create duplicate filename \u0027/bus/pci/slots/5/foo\u0027\n\nwhen attempting to create multiple files named \u0027foo\u0027 under a\ngiven directory in sysfs.\n\nThe path displayed is always a relative path to sysfs_root. The\nleading \u0027/\u0027 in the path name refers to the sysfs_root mount\npoint, and should not be confused with the \"real\" \u0027/\u0027.\n\nThanks to Alex Williamson for essentially writing sysfs_pathname.\n\nCc: Alex Williamson \u003calex.williamson@hp.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4a67a1bc0b3a0db017b560cee27370d141c58e25",
      "tree": "ab039581d41c9fa45a1bac9eb843baa1312a5969",
      "parents": [
        "8231f2f99a5e5fc45a25e8de09fd1ab9711babf1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jan 21 11:55:11 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:24 2009 -0700"
      },
      "message": "sysfs: Take sysfs_mutex when fetching the root inode.\n\nsysfs_get_inode ultimately calls sysfs_count_nlink when the a\ndirectory inode is fectched.  sysfs_count_nlink needs to be\ncalled under the sysfs_mutex to guard against the unlikely\nbut possible scenario that the root directory is changing\nas we are counting the number entries in it, and just in\ngeneral to be consistent.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8231f2f99a5e5fc45a25e8de09fd1ab9711babf1",
      "tree": "18fd1173f6197e373905d94c904c16763086ed06",
      "parents": [
        "1fa5ae857bb14f6046205171d98506d8112dd74e"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Wed Jan 14 15:45:13 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:24 2009 -0700"
      },
      "message": "SYSFS: use standard magic.h for sysfs\n\nSYSFS_MAGIC has been added into magic.h, so only use that definition\nin magic.h to avoid potential consistency problem.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ed803862954528e6fcf7bd0f2b2e5a772a7c3281",
      "tree": "fce02fe5ebc10a5a8da5e034e2bb25d79d07a808",
      "parents": [
        "6aeea60aee945449c93d9aa70638deeb5c4c5439",
        "c0e69a5bbc6fc74184aa043aadb9a53bc58f953b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:40:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:40:28 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  klist.c: bit 0 in pointer can\u0027t be used as flag\n  debugfs: introduce stub for debugfs_create_size_t() when DEBUG_FS\u003dn\n  sysfs: fix problems with binary files\n  PNP: fix broken pnp lowercasing for acpi module aliases\n  driver core: Convert \u0027/\u0027 to \u0027!\u0027 in dev_set_name()\n"
    },
    {
      "commit": "5f3a211a8b02222498f134ea961fe29c97a4801f",
      "tree": "fce8ac0bdaebf3f9d62711d1c52369fa44ee911a",
      "parents": [
        "9d73ac9e8faffa3b930fcebbf4ebcd25f8061ada"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 10:40:58 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 13:15:56 2009 +0300"
      },
      "message": "fs/Kconfig: move sysfs out\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "4503efd0891c40e30928afb4b23dc3f99c62a6b2",
      "tree": "b92d71b333e30f90b4a91a4e4bea895f5489a6ae",
      "parents": [
        "72638f598ec9f05a43fcb22dc1dd8dc34c43acc1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 20 15:51:16 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 20 20:52:09 2009 -0800"
      },
      "message": "sysfs: fix problems with binary files\n\nSome sysfs binary files don\u0027t like having 0 passed to them as a size.\nFix this up at the root by just returning to the vfs if userspace asks\nus for a zero sized buffer.\n\nThanks to Pavel Roskin for pointing this out.\n\nReported-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "56ff5efad96182f4d3cb3dc6b07396762c658f16",
      "tree": "cb91f93aa2324573527165d56d230b606a3111ed",
      "parents": [
        "acfa4380efe77e290d3a96b11cd4c9f24f4fbb18"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 09 09:34:39 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 05 11:54:28 2009 -0500"
      },
      "message": "zero i_uid/i_gid on inode allocation\n\n... and don\u0027t bother in callers.  Don\u0027t bother with zeroing i_blocks,\nwhile we are at it - it\u0027s already been zeroed.\n\ni_mode is not worth the effort; it has no common default value.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3222a3e55f4025acb2a5a4379cf2f2b7df1f1243",
      "tree": "d12740cd5dc00ae17f7beb63584dd00d7c1fb4cb",
      "parents": [
        "4e9ed2f85af7adfa7c3f0efa839a53186254fdcb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Sep 03 21:53:01 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:21 2008 -0400"
      },
      "message": "[PATCH] fix -\u003ellseek for more directories\n\nWith this patch all directory fops instances that have a readdir\nthat doesn\u0027t take the BKL are switched to generic_file_llseek.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "0b4a4fea253e1296222603ccc55430ed7cd9413a",
      "tree": "5ce1810393a0f3a48ac208e0dbf994b63a481f18",
      "parents": [
        "030c1d2bfcc2187650fb975456ca0b61a5bb77f4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jul 03 18:05:28 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:52 2008 -0700"
      },
      "message": "kobject: Cleanup kobject_rename and !CONFIG_SYSFS\n\nIt finally dawned on me what the clean fix to sysfs_rename_dir\ncalling kobject_set_name is.  Move the work into kobject_rename\nwhere it belongs.  The callers serialize us anyway so this is\nsafe.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8c0e3998f5b71e68fe6b6e489a92e052715e563c",
      "tree": "df57b05090964df2138c8b59d3796c8509e92ed5",
      "parents": [
        "d8bf254089a6c31d7d01a4d1d2f1861662900855"
      ],
      "author": {
        "name": "Trent Piepho",
        "email": "tpiepho@freescale.com",
        "time": "Thu Sep 25 16:45:13 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:51 2008 -0700"
      },
      "message": "sysfs: Make dir and name args to sysfs_notify() const\n\nBecause they can be, and because code like this produces a warning if\nthey\u0027re not:\n\nstruct device_attribute dev_attr;\n\nsysfs_notify(\u0026kobj, NULL, dev_attr.attr.name);\n\nSigned-off-by: Trent Piepho \u003ctpiepho@freescale.com\u003e\nCC: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "45c076c5d71e6e644e2eae64f80922d162c900ac",
      "tree": "68e188af66201219f41681d57975a1bdf7ec9347",
      "parents": [
        "8a89efd18aa15bb832778baa4e6eee3857ecada4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Sep 28 07:48:08 2008 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:51 2008 -0700"
      },
      "message": "sysfs: use ilookup5() instead of ilookup5_nowait()\n\nAs inode creation is protected by sysfs_mutex, ilookup5_nowait()\nalways either fails to find at all or finds one which is fully\ninitialized, so using ilookup5_nowait() or ilookup5() doesn\u0027t make any\ndifference.  Switch to ilookup5() as it\u0027s planned to be removed.  This\nchange also makes lookup return value handling a bit simpler.\n\nThis change was suggested by Al Viro.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Al Viro \u003cviro@hera.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b31ca3f5dfc89c3f1f654b30f0760d0e2fb15e45",
      "tree": "64bcc432070e090ce236308ef7d077b1db2a3d8f",
      "parents": [
        "6cd49586090187a2a145bb6570fb2392f121aa22"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Sep 12 11:24:11 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:50 2008 -0700"
      },
      "message": "sysfs: fix deadlock\n\nOn Thu, Sep 11, 2008 at 10:27:10AM +0200, Ingo Molnar wrote:\n\n\u003e and it\u0027s working fine on most boxes. One testbox found this new locking\n\u003e scenario:\n\u003e\n\u003e PM: Adding info for No Bus:vcsa7\n\u003e EDAC DEBUG: MC0: i82860_check()\n\u003e\n\u003e \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e [ INFO: possible circular locking dependency detected ]\n\u003e 2.6.27-rc6-tip #1\n\u003e -------------------------------------------------------\n\u003e X/4873 is trying to acquire lock:\n\u003e  (\u0026bb-\u003emutex){--..}, at: [\u003cc020ba20\u003e] mmap+0x40/0xa0\n\u003e\n\u003e but task is already holding lock:\n\u003e  (\u0026mm-\u003emmap_sem){----}, at: [\u003cc0125a1e\u003e] sys_mmap2+0x8e/0xc0\n\u003e\n\u003e which lock already depends on the new lock.\n\u003e\n\u003e\n\u003e the existing dependency chain (in reverse order) is:\n\u003e\n\u003e -\u003e #1 (\u0026mm-\u003emmap_sem){----}:\n\u003e        [\u003cc017dc96\u003e] validate_chain+0xa96/0xf50\n\u003e        [\u003cc017ef2b\u003e] __lock_acquire+0x2cb/0x5b0\n\u003e        [\u003cc017f299\u003e] lock_acquire+0x89/0xc0\n\u003e        [\u003cc01aa8fb\u003e] might_fault+0x6b/0x90\n\u003e        [\u003cc040b618\u003e] copy_to_user+0x38/0x60\n\u003e        [\u003cc020bcfb\u003e] read+0xfb/0x170\n\u003e        [\u003cc01c09a5\u003e] vfs_read+0x95/0x110\n\u003e        [\u003cc01c1443\u003e] sys_pread64+0x63/0x80\n\u003e        [\u003cc012146f\u003e] sysenter_do_call+0x12/0x43\n\u003e        [\u003cffffffff\u003e] 0xffffffff\n\u003e\n\u003e -\u003e #0 (\u0026bb-\u003emutex){--..}:\n\u003e        [\u003cc017d8b7\u003e] validate_chain+0x6b7/0xf50\n\u003e        [\u003cc017ef2b\u003e] __lock_acquire+0x2cb/0x5b0\n\u003e        [\u003cc017f299\u003e] lock_acquire+0x89/0xc0\n\u003e        [\u003cc0d6f2ab\u003e] __mutex_lock_common+0xab/0x3c0\n\u003e        [\u003cc0d6f698\u003e] mutex_lock_nested+0x38/0x50\n\u003e        [\u003cc020ba20\u003e] mmap+0x40/0xa0\n\u003e        [\u003cc01b111e\u003e] mmap_region+0x14e/0x450\n\u003e        [\u003cc01b170f\u003e] do_mmap_pgoff+0x2ef/0x310\n\u003e        [\u003cc0125a3d\u003e] sys_mmap2+0xad/0xc0\n\u003e        [\u003cc012146f\u003e] sysenter_do_call+0x12/0x43\n\u003e        [\u003cffffffff\u003e] 0xffffffff\n\u003e\n\u003e other info that might help us debug this:\n\u003e\n\u003e 1 lock held by X/4873:\n\u003e  #0:  (\u0026mm-\u003emmap_sem){----}, at: [\u003cc0125a1e\u003e] sys_mmap2+0x8e/0xc0\n\u003e\n\u003e stack backtrace:\n\u003e Pid: 4873, comm: X Not tainted 2.6.27-rc6-tip #1\n\u003e  [\u003cc017cd09\u003e] print_circular_bug_tail+0x79/0xc0\n\u003e  [\u003cc017d8b7\u003e] validate_chain+0x6b7/0xf50\n\u003e  [\u003cc017a5b5\u003e] ? trace_hardirqs_off_caller+0x15/0xb0\n\u003e  [\u003cc017ef2b\u003e] __lock_acquire+0x2cb/0x5b0\n\u003e  [\u003cc017f299\u003e] lock_acquire+0x89/0xc0\n\u003e  [\u003cc020ba20\u003e] ? mmap+0x40/0xa0\n\u003e  [\u003cc0d6f2ab\u003e] __mutex_lock_common+0xab/0x3c0\n\u003e  [\u003cc020ba20\u003e] ? mmap+0x40/0xa0\n\u003e  [\u003cc0d6f698\u003e] mutex_lock_nested+0x38/0x50\n\u003e  [\u003cc020ba20\u003e] ? mmap+0x40/0xa0\n\u003e  [\u003cc020ba20\u003e] mmap+0x40/0xa0\n\u003e  [\u003cc01b111e\u003e] mmap_region+0x14e/0x450\n\u003e  [\u003cc01afb88\u003e] ? arch_get_unmapped_area_topdown+0xf8/0x160\n\u003e  [\u003cc01b170f\u003e] do_mmap_pgoff+0x2ef/0x310\n\u003e  [\u003cc0125a3d\u003e] sys_mmap2+0xad/0xc0\n\u003e  [\u003cc012146f\u003e] sysenter_do_call+0x12/0x43\n\u003e  [\u003cc0120000\u003e] ? __switch_to+0x130/0x220\n\u003e  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e evbug.c: Event. Dev: input3, Type: 20, Code: 0, Value: 500\n\u003e warning: `sudo\u0027 uses deprecated v2 capabilities in a way that may be insecure.\n\u003e\n\u003e i\u0027ve attached the config.\n\u003e\n\u003e at first sight it looks like a genuine bug in fs/sysfs/bin.c?\n\nYes, it is a real bug by the looks. bin.c takes bb-\u003emutex under mmap_sem\nwhen it is mmapped, and then does its copy_*_user under bb-\u003emutex too.\n\nHere is a basic fix for the sysfs lor.\n\n\nFrom: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f1282c844e86db5a041afa41335b5f9eea6cec0c",
      "tree": "3736285f2f7ce145fb06538d616a9c1165ffc125",
      "parents": [
        "ec748fa9ed3fec44aeebbf86ae050b0cc7a978d9"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Jul 16 08:58:04 2008 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:47 2008 -0700"
      },
      "message": "sysfs: Support sysfs_notify from atomic context with new sysfs_notify_dirent\n\nSupport sysfs_notify from atomic context with new sysfs_notify_dirent\n\nsysfs_notify currently takes sysfs_mutex.\nThis means that it cannot be called in atomic context.\nsysfs_mutex  is sometimes held over a malloc (sysfs_rename_dir)\nso it can block on low memory.\n\nIn md I want to be able to notify on a sysfs attribute from\natomic context, and I don\u0027t want to block on low memory because I\ncould be in the writeout path for freeing memory.\n\nSo:\n - export the \"sysfs_dirent\" structure along with sysfs_get, sysfs_put\n   and sysfs_get_dirent so I can get the sysfs_dirent that I want to\n   notify on and hold it in an md structure.\n - split sysfs_notify_dirent out of sysfs_notify so the sysfs_dirent\n   can be notified on with no blocking (just a spinlock).\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ae87221d3ce49d9de1e43756da834fd0bf05a2ad",
      "tree": "f96792656b00e95c307f3f37369c98a85ce38207",
      "parents": [
        "e94320939f44e0cbaccc3f259a5778abced4949c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Aug 24 16:11:54 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:41 2008 -0700"
      },
      "message": "sysfs: crash debugging\n\nPrint the name of the last-accessed sysfs file when we oops, to help track\ndown oopses which occur in sysfs store/read handlers.  Because these oopses\ntend to not leave any trace of the offending code in the stack traces.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "99fcd77d15357e8ba51005c25cc750b9c28b2688",
      "tree": "403293819dc7bcd854c50d8c486a1fdbbf9711a2",
      "parents": [
        "5c752ad9f35910ff1912b3f3ae82878178ddc432"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jul 25 19:45:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "Use WARN() in fs/sysfs\n\nUse WARN() instead of a printk+WARN_ON() pair; this way the message becomes\npart of the warning section for better reporting/collection.  Also, with this,\none fo the if() sections collapses entirely into the WARN().\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": "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": "93265d13ea5c3ec5f61a8009407fbe046ce6b7c0",
      "tree": "1db94fa6cc1ee9b0eae1332a340ac98efa4d8f28",
      "parents": [
        "838ea8e8dbfc8d907c7a55bbad507a44c1b81d57"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Jun 16 13:46:47 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:57 2008 -0700"
      },
      "message": "sysfs: don\u0027t call notify_change\n\nsysfs_chmod_file() calls notify_change() to change the permission bits\non a sysfs file.  Replace with explicit call to sysfs_setattr() and\nfsnotify_change().\n\nThis is equivalent, except that security_inode_setattr() is not\ncalled.  This function is called by drivers, so the security checks do\nnot make any sense.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "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"
    }
  ],
  "next": "40a2159abf3d0107bba359246554bd7d56f2171b"
}
