)]}'
{
  "log": [
    {
      "commit": "faef2b6c9960b5ae288899f461a2218ec6bb7928",
      "tree": "af61427bb0984315800617263dbc4d8c42b7d7e7",
      "parents": [
        "5b91aca0bd462c80cf509cbc1014f803eabdc205"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 23:44:53 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:55:03 2012 -0500"
      },
      "message": "sysfs: propagate umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "48176a973d65572e61d0ce95495e5072887e6fb6",
      "tree": "b6e930272851a2d15690d6841b7ae3a9f4f04760",
      "parents": [
        "d161a13f974c72fd7ff0069d39a3ae57cb5694ff"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 03:40:40 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:56 2012 -0500"
      },
      "message": "switch sysfs_chmod_file() to umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "587a1f1659e8b330b8738ef4901832a2b63f0bed",
      "tree": "b785c3f44ddba6ee036e02268502cdc961f55ea0",
      "parents": [
        "9104e427f3e21ddb380ddc39752624365b5bffea"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 23:11:19 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:55 2012 -0500"
      },
      "message": "switch -\u003eis_visible() to returning umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bfe8684869601dacfcb2cd69ef8cfd9045f62170",
      "tree": "4e213aaa766b26f43f0f9ec7998a7745239d9377",
      "parents": [
        "6d6b77f163c7eabedbba00ed2abb7d4a570bff76"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Oct 28 14:13:29 2011 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@serles.lst.de",
        "time": "Wed Nov 02 12:53:43 2011 +0100"
      },
      "message": "filesystems: add set_nlink()\n\nReplace remaining direct i_nlink updates with a new set_nlink()\nupdater function.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "f6d90b4f9ce018bff429d6e01ee672de712b8641",
      "tree": "3fe57c005cece1d734ebb2b5dd23876fa3eb644e",
      "parents": [
        "c87d5d594736dd8b56df67e31846c7d7b8c41a8f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Nov 01 07:06:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 01 09:16:14 2011 -0700"
      },
      "message": "sysfs: Make sysfs_rename safe with sysfs_dirents in rbtrees.\n\nIn sysfs_rename we need to remove the optimization of not calling\nsysfs_unlink_sibling and sysfs_link_sibling if the renamed parent\ndirectory is not changing.  This optimization is no longer valid now\nthat sysfs dirents are stored in an rbtree sorted by name.\n\nMove the assignment of s_ns before the call of sysfs_link_sibling.  With\nno sysfs_dirent fields changing after the call of sysfs_link_sibling\nthis allows sysfs_link_sibling to take any of the directory entries into\naccount when it builds the rbtrees, and s_ns looks like a prime canidate\nto be used in the rbtree in the future.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b9e2780d576a010d4aba1e69f247170bf3718d6b",
      "tree": "54755015072a0200218b2cbd4e29e1495d398fc9",
      "parents": [
        "c9d6329c35869ebf2ff88a5831e8073d3365e8bd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Oct 25 05:38:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:10:28 2011 +0200"
      },
      "message": "sysfs: Remove support for tagged directories with untagged members (again)\n\nIn commit 8a9ea3237e7e (\"Merge git://.../davem/net-next\") where my sysfs\nchanges from the net tree merged with the sysfs rbtree changes from\nMickulas Patocka the conflict resolution failed to preserve the\nsimplified property that was the point of my changes.\n\nThat is sysfs_find_dirent can now say something is a match if and only\ns_name and s_ns match what we are looking for, and sysfs_readdir can\nsimply return all of the directory entries where s_ns matches the\ndirectory that we should be returning.\n\nNow that we are back to exact matches we can tweak sysfs_find_dirent and\nthe name rb_tree to order sysfs_dirents by s_ns s_name and remove the\nsecond loop in sysfs_find_dirent.  However that change seems a bit much\nfor a conflict resolution so it can come later.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a9ea3237e7eb5c25f09e429ad242ae5a3d5ea22",
      "tree": "a0a63398a9983667d52cbbbf4e2405b4f22b1d83",
      "parents": [
        "1be025d3cb40cd295123af2c394f7229ef9b30ca",
        "8b3408f8ee994973869d8ba32c5bf482bc4ddca4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:25:22 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:25:22 2011 +0200"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1745 commits)\n  dp83640: free packet queues on remove\n  dp83640: use proper function to free transmit time stamping packets\n  ipv6: Do not use routes from locally generated RAs\n  |PATCH net-next] tg3: add tx_dropped counter\n  be2net: don\u0027t create multiple RX/TX rings in multi channel mode\n  be2net: don\u0027t create multiple TXQs in BE2\n  be2net: refactor VF setup/teardown code into be_vf_setup/clear()\n  be2net: add vlan/rx-mode/flow-control config to be_setup()\n  net_sched: cls_flow: use skb_header_pointer()\n  ipv4: avoid useless call of the function check_peer_pmtu\n  TCP: remove TCP_DEBUG\n  net: Fix driver name for mdio-gpio.c\n  ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT\n  rtnetlink: Add missing manual netlink notification in dev_change_net_namespaces\n  ipv4: fix ipsec forward performance regression\n  jme: fix irq storm after suspend/resume\n  route: fix ICMP redirect validation\n  net: hold sock reference while processing tx timestamps\n  tcp: md5: add more const attributes\n  Add ethtool -g support to virtio_net\n  ...\n\nFix up conflicts in:\n - drivers/net/Kconfig:\n\tThe split-up generated a trivial conflict with removal of a\n\tstale reference to Documentation/networking/net-modules.txt.\n\tRemove it from the new location instead.\n - fs/sysfs/dir.c:\n\tFairly nasty conflicts with the sysfs rb-tree usage, conflicting\n\twith Eric Biederman\u0027s changes for tagged directories.\n"
    },
    {
      "commit": "903e21e2eea036f6947f523f732e28b33a63ed0f",
      "tree": "e63059c0acbfde6eca66cd9c293a984e64d6cab8",
      "parents": [
        "23396180a9770df2c6a694bbb689c12bdf792f94"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 12 22:02:43 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 19:24:16 2011 -0400"
      },
      "message": "sysfs: Reject with a warning invalid uses of tagged directories.\n\nsysfs is a core piece of ifrastructure that many people use and\nfew people have all of the rules in their head on how to use\nit correctly.  Add warnings for people using tagged directories\nimproperly to that any misuses can be caught and diagnosed quickly.\n\nA single inexpensive test in sysfs_find_dirent is almost sufficient\nto catch all possible misuses.  An additional warning is needed\nin sysfs_add_dirent so that we actually fail when attempting to\nadd an untagged dirent in a tagged directory.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23396180a9770df2c6a694bbb689c12bdf792f94",
      "tree": "a943f113f6532b04fcef1673113493cf44ac2365",
      "parents": [
        "4c22400ab64d434a00ecbe0c655a16956c902aa8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 12 22:01:34 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 19:24:15 2011 -0400"
      },
      "message": "sysfs: Remove support for tagged directories with untagged members.\n\nNow that /sys/class/net/bonding_masters is implemented as a tagged sysfs\nfile we can remove support for untagged files in tagged directories.\n\nThis change removes any ambiguity of what a NULL namespace value\nmeans.  A NULL namespace parameter after this patch means\nthat we are talking about an untagged sysfs dirent.\n\nThis makes the sysfs code much less prone to mistakes when during\nmaintenance.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "487505c257021fc06a7d05753cf27b011487f1dc",
      "tree": "4fedc207c7e3d21bd394d9187fd1cc9f65768e2c",
      "parents": [
        "d5edf2906e0a251ddddd76caeb1b79de8bb5e3b8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 12 21:53:38 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 19:24:14 2011 -0400"
      },
      "message": "sysfs: Implement support for tagged files in sysfs.\n\nLooking up files in sysfs is hard to understand and analyize because we\ncurrently allow placing untagged files in tagged directories.  In the\nimplementation of that we have two subtly different meanings of NULL.\nNULL meaning there is no tag on a directory entry and NULL meaning\nwe don\u0027t care which namespace the lookup is performed for.  This\nmultiple uses of NULL have resulted in subtle bugs (since fixed)\nin the code.\n\nCurrently it is only the bonding driver that needs to have an untagged\nfile in a tagged directory.\n\nTo untagle this mess I am adding support for tagged files to sysfs.\nModifying the bonding driver to implement bonding_masters as a tagged\nfile.  Registering bonding_masters once for each network namespace.\nThen I am removing support for untagged entries in tagged sysfs\ndirectories.\n\nResulting in code that is much easier to reason about.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4253cb0748cd50060d04d838c38b07f1ad0e6e5",
      "tree": "d6a1e256622a8cb48ff093e5fc7351ce76749262",
      "parents": [
        "bcbe4f94d15ae1c985336bb3c35605e595fdde0d"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Sep 22 19:34:33 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 16:21:15 2011 -0700"
      },
      "message": "sysfs: add unsigned long cast to prevent compile warning\n\n\"sysfs: use rb-tree for inode number lookup\" added a new printk which\ncauses a new compile warning on s390 (and few other architectures):\n\nfs/sysfs/dir.c: In function \u0027sysfs_link_sibling\u0027:\nfs/sysfs/dir.c:63:4: warning: format \u0027%lx\u0027 expects argument of type\n  \u0027long unsigned int\u0027, but argument 2 has type \u0027ino_t\u0027 [-Wform\n\nAdd an explicit unsigned long cast since ino_t is an unsigned long on\nmost architectures.\n\nCc: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a406f75840e15afbabd98cb64ae36b51424a8033",
      "tree": "7fe7838b426052222ea3592384e51732efa00fee",
      "parents": [
        "58f2a4c7932d8bec866d0394f806004146cde827"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Mon Jul 25 17:57:03 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 17:43:53 2011 -0700"
      },
      "message": "sysfs: use rb-tree for inode number lookup\n\nsysfs: use rb-tree for inode number lookup\n\nThis patch makes sysfs use red-black tree for inode number lookup.\nTogether with a previous patch to use red-black tree for name lookup,\nthis patch makes all sysfs lookups to have O(log n) complexity.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "58f2a4c7932d8bec866d0394f806004146cde827",
      "tree": "edbd5b8fb32005bc1b7ccc849fee23e97172ce53",
      "parents": [
        "4f72c0cab40536a0be501d85ea4918467ab82ad5"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Jul 21 20:01:12 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 17:43:52 2011 -0700"
      },
      "message": "sysfs: remove s_sibling hacks\n\nsysfs: remove s_sibling hacks\n\ns_sibling was used for three different purposes:\n1) as a linked list of entries in the directory\n2) as a linked list of entries to be deleted\n3) as a pointer to \"struct completion\"\n\nThis patch removes the hack and introduces new union u which\nholds pointers for cases 2) and 3).\n\nThis change is needed for the following patch that removes s_sibling at all\nand replaces it with a rb tree.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4f72c0cab40536a0be501d85ea4918467ab82ad5",
      "tree": "f5f0cc385fed9a32f7fc4451f8618c3b4120bc3d",
      "parents": [
        "7f9838fd01833ffb30177d964983076924344c9e"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Mon Jul 25 17:55:57 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 17:43:52 2011 -0700"
      },
      "message": "sysfs: use rb-tree for name lookups\n\nsysfs: use rb-tree for name lookups\n\nUse red-black tree for name lookups.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7f9838fd01833ffb30177d964983076924344c9e",
      "tree": "95487aa8962c0baaed05375f739a4a16a566a388",
      "parents": [
        "86028619b9f653a30f5aa0d331fdedd899a1eea5"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Jul 21 19:59:22 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 17:43:30 2011 -0700"
      },
      "message": "sysfs: count subdirectories\n\nsysfs: count subdirectories\n\nThis patch introduces a subdirectory counter for each sysfs directory.\n\nWithout the patch, sysfs_refresh_inode would walk all entries of the directory\nto calculate the number of subdirectories.\n\nThis patch improves time of \"ls -la /sys/block\" when there are 10000 block\ndevices from 9 seconds to 0.19 seconds.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "10556cb21a0d0b24d95f00ea6df16f599a3345b2",
      "tree": "3d7d8dfba807805a55c154f1850717bf3b49f343",
      "parents": [
        "2830ba7f34ebb27c4e5b8b6ef408cd6d74860890"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 19:28:19 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:24 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: don\u0027t pass flags to -\u003epermission()\n\nnot used by the instances anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2830ba7f34ebb27c4e5b8b6ef408cd6d74860890",
      "tree": "bbcebc14bffd000f1dfcbf37e64f56d2f49581ac",
      "parents": [
        "7e40145eb111a5192e6d819f764db9d6828d1abb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 19:16:29 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:22 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: don\u0027t pass flags to generic_permission()\n\nredundant; all callers get it duplicated in mask \u0026 MAY_NOT_BLOCK and none of\nthem removes that bit.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "178ea73521d64ba41d7aa5488fb9f549c6d4507d",
      "tree": "7fb6bfb6483577752e307a5bb2e3905658d44294",
      "parents": [
        "07b8ce1ee87d291ff564c02cf878fae973317a52"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 11:31:30 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:16 2011 -0400"
      },
      "message": "kill check_acl callback of generic_permission()\n\nits value depends only on inode and does not change; we might as\nwell store it in -\u003ei_op-\u003echeck_acl and be done with that.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a685e08987d1edf1995b76511d4c98ea0e905377",
      "tree": "1d42593e2bc320f8d93b98851b2df0fd432e3859",
      "parents": [
        "dde194a64bb5c3fd05d965775dc92e8a4920a53a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 08 21:13:01 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 12 17:45:41 2011 -0400"
      },
      "message": "Delay struct net freeing while there\u0027s a sysfs instance refering to it\n\n\t* new refcount in struct net, controlling actual freeing of the memory\n\t* new method in kobj_ns_type_operations (-\u003edrop_ns())\n\t* -\u003ecurrent_ns() semantics change - it\u0027s supposed to be followed by\ncorresponding -\u003edrop_ns().  For struct net in case of CONFIG_NET_NS it bumps\nthe new refcount; net_drop_ns() decrements it and calls net_free() if the\nlast reference has been dropped.  Method renamed to -\u003egrab_current_ns().\n\t* old net_free() callers call net_drop_ns() instead.\n\t* sysfs_exit_ns() is gone, along with a large part of callchain\nleading to it; now that the references stored in -\u003ens[...] stay valid we\ndo not need to hunt them down and replace them with NULL.  That fixes\nproblems in sysfs_lookup() and sysfs_readdir(), along with getting rid\nof sb-\u003es_instances abuse.\n\n\tNote that struct net *shutdown* logics has not changed - net_cleanup()\nis called exactly when it used to be called.  The only thing postponed by\nhaving a sysfs instance refering to that struct net is actual freeing of\nmemory occupied by struct net.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "82a3242e11d9e63c8195be46c954efaefee35e22",
      "tree": "9de1ef19dd118963c9b46bebb224e504848eb85e",
      "parents": [
        "a236c71766a5f69edf189e2eaeb0aa587c8c5684"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 12 16:01:02 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 13 16:05:51 2011 -0700"
      },
      "message": "sysfs: remove \"last sysfs file:\" line from the oops messages\n\nOn some arches (x86, sh, arm, unicore, powerpc) the oops message would\nprint out the last sysfs file accessed.\n\nThis was very useful in finding a number of sysfs and driver core bugs\nin the 2.5 and early 2.6 development days, but it has been a number of\nyears since this file has actually helped in debugging anything that\ncouldn\u0027t also be trivially determined from the stack traceback.\n\nSo it\u0027s time to delete the line.  This is good as we need all the space\nwe can get for oops messages at times on consoles.\n\nAcked-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1f8e1cdac616e510eeb2dc2a9226bf597bc6cfd6",
      "tree": "c65642c3f3d706ee96068d28b7d7880aaaefbd46",
      "parents": [
        "63dc355a5a8cf296e2b1cc2e4192190dca221129"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Sat May 07 17:18:20 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 10 14:22:00 2011 -0700"
      },
      "message": "SYSFS: Fix erroneous comments for sysfs_update_group().\n\nFix what is clearly a simple copy-and-paste error in commenting the\nsysfs_update_group() routine.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6a108a14fa356ef607be308b68337939e56ea94e",
      "tree": "1bf260572bd8f95ed867307a2bcf5d881c8ae4a6",
      "parents": [
        "12fcdba1b7ae8b25696433f420b775aeb556d89b"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Jan 20 14:44:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:05 2011 -0800"
      },
      "message": "kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT\n\nThe meaning of CONFIG_EMBEDDED has long since been obsoleted; the option\nis used to configure any non-standard kernel with a much larger scope than\nonly small devices.\n\nThis patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes\nreferences to the option throughout the kernel.  A new CONFIG_EMBEDDED\noption is added that automatically selects CONFIG_EXPERT when enabled and\ncan be used in the future to isolate options that should only be\nconsidered for embedded systems (RISC architectures, SLOB, etc).\n\nCalling the option \"EXPERT\" more accurately represents its intention: only\nexpert users who understand the impact of the configuration changes they\nare making should enable it.\n\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: David Woodhouse \u003cdavid.woodhouse@intel.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "095160aee954688a9bad225952c4bee546541e19"
}
