)]}'
{
  "log": [
    {
      "commit": "83db93f4de2d9ae441a491d1dc61c2204f0195de",
      "tree": "13fb296040c8284cf09f318923aa170212cc245d",
      "parents": [
        "a6a8357788d6a37f8ad0f7eb46b0a386b613abb9"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Sep 15 16:05:51 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 14 15:16:25 2009 -0700"
      },
      "message": "sysfs: Allow sysfs_notify_dirent to be called from interrupt context.\n\nsysfs_notify_dirent is a simple atomic operation that can be used to\nalert user-space that new data can be read from a sysfs attribute.\n\nUnfortunately it cannot currently be called from non-process context\nbecause of its use of spin_lock which is sometimes taken with\ninterrupts enabled.\n\nSo change all lockers of sysfs_open_dirent_lock to disable interrupts,\nthus making sysfs_notify_dirent safe to be called from non-process\ncontext (as drivers/md does in md_safemode_timeout).\n\nsysfs_get_open_dirent is (documented as being) only called from\nprocess context, so it uses spin_lock_irq.  Other places\nuse spin_lock_irqsave.\n\nThe usage for sysfs_notify_dirent in md_safemode_timeout was\nintroduced in 2.6.28, so this patch is suitable for that and more\nrecent kernels.\n\nReported-by: Joel Andres Granados \u003cjgranado@redhat.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a6a8357788d6a37f8ad0f7eb46b0a386b613abb9",
      "tree": "b8505a5394bc7f825753e0451f421b8333388e37",
      "parents": [
        "80f506918fdaaca6b574ba931536a58ce015c7be"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Tue Oct 06 15:33:35 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 14 15:16:25 2009 -0700"
      },
      "message": "sysfs: Allow sysfs_move_dir(..., NULL) again.\n\nAs device_move() and kobject_move() both handle a NULL destination,\nsysfs_move_dir() should do this as well (again) and fall back to\nsysfs_root in that case.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f0f37e2f77731b3473fa6bd5ee53255d9a9cdb40",
      "tree": "3c26d3ed1a453156e9c208ccb5567a8954dba064",
      "parents": [
        "6f5071020d5ec89b5d095aa488db604adb921aec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Sep 27 22:29:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 27 11:39:25 2009 -0700"
      },
      "message": "const: mark struct vm_struct_operations\n\n* mark struct vm_area_struct::vm_ops as const\n* mark vm_ops in AGP code\n\nBut leave TTM code alone, something is fishy there with global vm_ops\nbeing used.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a12e4d304ce701844c639541d90df86e165d03f9",
      "tree": "6ad7314b63a3303d9aa36f1c7eeb68abf64d3592",
      "parents": [
        "89af571ca633ada14d17746519a179553a732d31",
        "500b067c5e6ceea49cf280a02597b1169320e08c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 09:17:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 09:17:05 2009 -0700"
      },
      "message": "Merge branch \u0027writeback\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027writeback\u0027 of git://git.kernel.dk/linux-2.6-block:\n  writeback: check for registered bdi in flusher add and inode dirty\n  writeback: add name to backing_dev_info\n  writeback: add some debug inode list counters to bdi stats\n  writeback: get rid of pdflush completely\n  writeback: switch to per-bdi threads for flushing data\n  writeback: move dirty inodes from super_block to backing_dev_info\n  writeback: get rid of generic_sync_sb_inodes() export\n"
    },
    {
      "commit": "d993831fa7ffeb89e994f046f93eeb09ec91df08",
      "tree": "da4f94bbf022c83988bda71adf1f1b3a88cb4592",
      "parents": [
        "f09b00d3e789a88fa6c7c03cedc62cb65c1de0cb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 12 14:45:52 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 09:20:26 2009 +0200"
      },
      "message": "writeback: add name to backing_dev_info\n\nThis enables us to track who does what and print info. Its main use\nis catching dirty inodes on the default_backing_dev_info, so we can\nfix that up.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ddd29ec6597125c830f7badb608a86c98b936b64",
      "tree": "e6df1ef9a635179de78650d006ecb4cd1453ebb1",
      "parents": [
        "1ee65e37e904b959c24404139f5752edc66319d5"
      ],
      "author": {
        "name": "David P. Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Wed Sep 09 14:25:37 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Sep 10 10:11:29 2009 +1000"
      },
      "message": "sysfs: Add labeling support for sysfs\n\nThis patch adds a setxattr handler to the file, directory, and symlink\ninode_operations structures for sysfs. The patch uses hooks introduced in the\nprevious patch to handle the getting and setting of security information for\nthe sysfs inodes. As was suggested by Eric Biederman the struct iattr in the\nsysfs_dirent structure has been replaced by a structure which contains the\niattr, secdata and secdata length to allow the changes to persist in the event\nthat the inode representing the sysfs_dirent is evicted. Because sysfs only\nstores this information when a change is made all the optional data is moved\ninto one dynamically allocated field.\n\nThis patch addresses an issue where SELinux was denying virtd access to the PCI\nconfiguration entries in sysfs. The lack of setxattr handlers for sysfs\nrequired that a single label be assigned to all entries in sysfs. Granting virtd\naccess to every entry in sysfs is not an acceptable solution so fine grained\nlabeling of sysfs is required such that individual entries can be labeled\nappropriately.\n\n[sds:  Fixed compile-time warnings, coding style, and setting of inode security init flags.]\n\nSigned-off-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nSigned-off-by: Stephen D. Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "0f58b44582001c8bcdb75f36cf85ebbe5170e959",
      "tree": "4d9f1a2ff668f37db7f0d5b5076307213868d2fb",
      "parents": [
        "4733fd328f14280900435d9dbae1487d110a4d56"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "oberpar@linux.vnet.ibm.com",
        "time": "Tue Jul 14 17:56:15 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jul 28 13:45:21 2009 -0700"
      },
      "message": "sysfs: fix hardlink count on device_move\n\nUpdate directory hardlink count when moving kobjects to a new parent.\nFixes the following problem which occurs when several devices are\nmoved to the same parent and then unregistered:\n\n\u003e ls -laF /sys/devices/css0/defunct/\n\u003e total 0\n\u003e drwxr-xr-x 4294967295 root root    0 2009-07-14 17:02 ./\n\u003e drwxr-xr-x        114 root root    0 2009-07-14 17:02 ../\n\u003e drwxr-xr-x          2 root root    0 2009-07-14 17:01 power/\n\u003e -rw-r--r--          1 root root 4096 2009-07-14 17:01 uevent\n\nSigned-off-by: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d5ce5b40bc66880d1732461d4b47d7fc3331ed30",
      "tree": "981ce8897febe8c0691247a5312f14c381359853",
      "parents": [
        "5e75c5f5d723074b1ceefe916c3005888e431d12"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jul 08 11:17:34 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 08 09:34:07 2009 -0700"
      },
      "message": "Free the memory allocated by memdup_user() in fs/sysfs/bin.c\n\nCommit 1c8542c7bb replaced kmalloc() with memdup_user() in the write()\nfunction but also dropped the kfree(temp). The memdup_user() function\nallocates memory which is never freed.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Parag Warudkar \u003cparag.warudkar@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "557411eb2ce61ef5e87bd759a6f86881586df857",
      "tree": "4410ea3f6aea26157da3634b7c2c4cb9166d0fb7",
      "parents": [
        "b22813b373749d0878e7140e9a6eadf182298709"
      ],
      "author": {
        "name": "Armin Kuster",
        "email": "akuster@mvista.com",
        "time": "Wed Apr 29 07:29:59 2009 -1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:23 2009 -0700"
      },
      "message": "Sysfs: fix possible memleak in sysfs_follow_link\n\nThere is the possiblity of a memory leak if a page is allocated and if\nsysfs_getlink() fails in the sysfs_follow_link.\n\nSigned-off-by: Armin Kuster \u003cakuster@mvista.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "086a377edc969aea6c761176a7e4ff68f264d6fe",
      "tree": "81cd6a34fb12a3cfa00228bd5508b49bdbfc2c03",
      "parents": [
        "b5c42bc8db17db80917f99205a03c51f17354495"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu May 07 12:36:53 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 28 14:24:07 2009 -0700"
      },
      "message": "sysfs: file.c: use create_singlethread_workqueue()\n\nWe don\u0027t need a kernel thread per CPU for this application.\n\nAcked-by: Alex Chiang \u003cachiang@hp.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1c8542c7bb239ef02fe21477acd9cdac04c1b640",
      "tree": "45d9f29f241203608866f8246a699bc00b6ecf6b",
      "parents": [
        "dae7b665cf6d6e6e733f1c9c16cf55547dd37e33"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:07:30 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:50 2009 -0400"
      },
      "message": "sysfs: use memdup_user()\n\nRemove open-coded memdup_user().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1af3557abdef34ee036a6de4cb79e24468544b8d",
      "tree": "f390d8d72bbba5302fcafb4c3666ac92469b488a",
      "parents": [
        "d094cbe998eb566d47552aa9d3c26c9123a7b858"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu Apr 09 13:53:22 2009 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Apr 16 16:17:09 2009 -0700"
      },
      "message": "sysfs: sysfs poll keep the poll rule of regular file.\n\nCurrently, following test programs don\u0027t finished.\n\n% ruby -e \u0027\nThread.new { sleep }\nFile.read(\"/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies\")\n\u0027\n\nstrace expose the reason.\n\n...\nopen(\"/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies\", O_RDONLY|O_LARGEFILE) \u003d 3\nioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbf9fa6b8) \u003d -1 ENOTTY (Inappropriate ioctl for device)\nfstat64(3, {st_mode\u003dS_IFREG|0444, st_size\u003d4096, ...}) \u003d 0\n_llseek(3, 0, [0], SEEK_CUR)            \u003d 0\nselect(4, [3], NULL, NULL, NULL)        \u003d 1 (in [3])\nread(3, \"1400000 1300000 1200000 1100000 1\"..., 4096) \u003d 62\nselect(4, [3], NULL, NULL, NULL\n\n\nBecause Ruby (the scripting language) VM assume select system-call\nagainst regular file don\u0027t block.  it because SUSv3 says \"Regular files\nshall always poll TRUE for reading and writing\".  see\nhttp://www.opengroup.org/onlinepubs/009695399/functions/poll.html it\nseems valid assumption.\n\nBut sysfs_poll() don\u0027t keep this rule although sysfs file can read and\nwrite always.\n\nThis patch restore proper poll behavior to sysfs.\n/sys/block/md*/md/sync_action polling application and another sysfs\nupdating sensitive application still can use POLLERR and POLLPRI.\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d110271e1f4140a9fb06d968b1afe9ca56a6064e",
      "tree": "eb9ecf34607b5bb40ed26e339c5185cdb341e92f",
      "parents": [
        "c19f83669a02d4fa047d0d40f518e90f6f19c4c6"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Wed Mar 25 15:11:36 2009 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Apr 16 16:17:08 2009 -0700"
      },
      "message": "sysfs: don\u0027t use global workqueue in sysfs_schedule_callback()\n\nA sysfs attribute using sysfs_schedule_callback() to commit suicide\nmay end up calling device_unregister(), which will eventually call\na driver\u0027s -\u003eremove function.\n\nDrivers may call flush_scheduled_work() in their shutdown routines,\nin which case lockdep will complain with something like the following:\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: possible recursive locking detected ]\n  2.6.29-rc8-kk #1\n  ---------------------------------------------\n  events/4/56 is trying to acquire lock:\n  (events){--..}, at: [\u003cffffffff80257fc0\u003e] flush_workqueue+0x0/0xa0\n\n  but task is already holding lock:\n  (events){--..}, at: [\u003cffffffff80257648\u003e] run_workqueue+0x108/0x230\n\n  other info that might help us debug this:\n  3 locks held by events/4/56:\n  #0:  (events){--..}, at: [\u003cffffffff80257648\u003e] run_workqueue+0x108/0x230\n  #1:  (\u0026ss-\u003ework){--..}, at: [\u003cffffffff80257648\u003e] run_workqueue+0x108/0x230\n  #2:  (pci_remove_rescan_mutex){--..}, at: [\u003cffffffff803c10d1\u003e] remove_callback+0x21/0x40\n\n  stack backtrace:\n  Pid: 56, comm: events/4 Not tainted 2.6.29-rc8-kk #1\n  Call Trace:\n  [\u003cffffffff8026dfcd\u003e] validate_chain+0xb7d/0x1260\n  [\u003cffffffff8026eade\u003e] __lock_acquire+0x42e/0xa40\n  [\u003cffffffff8026f148\u003e] lock_acquire+0x58/0x80\n  [\u003cffffffff80257fc0\u003e] ? flush_workqueue+0x0/0xa0\n  [\u003cffffffff8025800d\u003e] flush_workqueue+0x4d/0xa0\n  [\u003cffffffff80257fc0\u003e] ? flush_workqueue+0x0/0xa0\n  [\u003cffffffff80258070\u003e] flush_scheduled_work+0x10/0x20\n  [\u003cffffffffa0144065\u003e] e1000_remove+0x55/0xfe [e1000e]\n  [\u003cffffffff8033ee30\u003e] ? sysfs_schedule_callback_work+0x0/0x50\n  [\u003cffffffff803bfeb2\u003e] pci_device_remove+0x32/0x70\n  [\u003cffffffff80441da9\u003e] __device_release_driver+0x59/0x90\n  [\u003cffffffff80441edb\u003e] device_release_driver+0x2b/0x40\n  [\u003cffffffff804419d6\u003e] bus_remove_device+0xa6/0x120\n  [\u003cffffffff8043e46b\u003e] device_del+0x12b/0x190\n  [\u003cffffffff8043e4f6\u003e] device_unregister+0x26/0x70\n  [\u003cffffffff803ba969\u003e] pci_stop_dev+0x49/0x60\n  [\u003cffffffff803baab0\u003e] pci_remove_bus_device+0x40/0xc0\n  [\u003cffffffff803c10d9\u003e] remove_callback+0x29/0x40\n  [\u003cffffffff8033ee4f\u003e] sysfs_schedule_callback_work+0x1f/0x50\n  [\u003cffffffff8025769a\u003e] run_workqueue+0x15a/0x230\n  [\u003cffffffff80257648\u003e] ? run_workqueue+0x108/0x230\n  [\u003cffffffff8025846f\u003e] worker_thread+0x9f/0x100\n  [\u003cffffffff8025bce0\u003e] ? autoremove_wake_function+0x0/0x40\n  [\u003cffffffff802583d0\u003e] ? worker_thread+0x0/0x100\n  [\u003cffffffff8025b89d\u003e] kthread+0x4d/0x80\n  [\u003cffffffff8020d4ba\u003e] child_rip+0xa/0x20\n  [\u003cffffffff8020cebc\u003e] ? restore_args+0x0/0x30\n  [\u003cffffffff8025b850\u003e] ? kthread+0x0/0x80\n  [\u003cffffffff8020d4b0\u003e] ? child_rip+0x0/0x20\n\nAlthough we know that the device_unregister path will never acquire\na lock that a driver might try to acquire in its -\u003eremove, in general\nwe should never attempt to flush a workqueue from within the same\nworkqueue, and lockdep rightly complains.\n\nSo as long as sysfs attributes cannot commit suicide directly and we\nare stuck with this callback mechanism, put the sysfs callbacks on\ntheir own workqueue instead of the global one.\n\nThis has the side benefit that if a suicidal sysfs attribute kicks\noff a long chain of -\u003eremove callbacks, we no longer induce a long\ndelay on the global queue.\n\nThis also fixes a missing module_put in the error path introduced\nby sysfs-only-allow-one-scheduled-removal-callback-per-kobj.patch.\n\nWe never destroy the workqueue, but I\u0027m not sure that\u0027s a\nproblem.\n\nReported-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nTested-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "851a039cc547b33b8139fe6d7c2bbfb158e2724e",
      "tree": "0deabfe04b648d7542de8dd36dcd384d03fe09f6",
      "parents": [
        "56a76f8275c379ed73c8a43cfa1dfa2f5e9cfa19"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Mar 31 15:23:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:14 2009 -0700"
      },
      "message": "mm: page_mkwrite change prototype to match fault: fix sysfs\n\nFix warnings and return values in sysfs bin_page_mkwrite(), fixing\nfs/sysfs/bin.c: In function `bin_page_mkwrite\u0027:\nfs/sysfs/bin.c:250: warning: passing argument 2 of `bb-\u003evm_ops-\u003epage_mkwrite\u0027 from incompatible pointer type\nfs/sysfs/bin.c: At top level:\nfs/sysfs/bin.c:280: warning: initialization from incompatible pointer type\n\nExpects to have my [PATCH next] sysfs: fix some bin_vm_ops errors\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ae5080f4c2e293229508dabe7c8a90af4e4c460",
      "tree": "9cb11f26905a82b7fac9d3b8f9d61d58bc5c94b0",
      "parents": [
        "2c9e15a011c55ff96b2b8d2b126d1b9a96abba20",
        "aabb8fdb41128705fd1627f56fdd571e45fdbcdb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 16:23:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 16:23:12 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (37 commits)\n  fs: avoid I_NEW inodes\n  Merge code for single and multiple-instance mounts\n  Remove get_init_pts_sb()\n  Move common mknod_ptmx() calls into caller\n  Parse mount options just once and copy them to super block\n  Unroll essentials of do_remount_sb() into devpts\n  vfs: simple_set_mnt() should return void\n  fs: move bdev code out of buffer.c\n  constify dentry_operations: rest\n  constify dentry_operations: configfs\n  constify dentry_operations: sysfs\n  constify dentry_operations: JFS\n  constify dentry_operations: OCFS2\n  constify dentry_operations: GFS2\n  constify dentry_operations: FAT\n  constify dentry_operations: FUSE\n  constify dentry_operations: procfs\n  constify dentry_operations: ecryptfs\n  constify dentry_operations: CIFS\n  constify dentry_operations: AFS\n  ...\n"
    },
    {
      "commit": "ee1ec32903fc3139af00ebc7ee483dabca3f4fa5",
      "tree": "70145c6ef8e4426705082059ac674a4c4fd937b8",
      "parents": [
        "ad28b4ef1937b11432cd64fe1ebad714f8e253bd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 20 06:01:46 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:44:02 2009 -0400"
      },
      "message": "constify dentry_operations: sysfs\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "095160aee954688a9bad225952c4bee546541e19",
      "tree": "5f2ceb17b0a414da00b7173384efda8c56c1755c",
      "parents": [
        "f520360d93cdc37de5d972dac4bf3bdef6a7f6a7"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Mar 23 01:41:27 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "sysfs: fix some bin_vm_ops errors\n\nCommit 86c9508eb1c0ce5aa07b5cf1d36b60c54efc3d7a\n\"sysfs: don\u0027t block indefinitely for unmapped files\" in linux-next\ncrashes the PowerMac G5 when X starts up.  It\u0027s caught out by the way\npowerpc\u0027s pci_mmap of legacy_mem uses shmem_zero_setup(), substituting\na new vma-\u003evm_file whose private_data no longer points to the bin_buffer\n(substitution done because some versions of X crash if that mmap fails).\n\nThe fix to this is straightforward: the original vm_file is fput() in\nthat case, so this mmap won\u0027t block sysfs at all, so just don\u0027t switch\nover to bin_vm_ops if vm_file has changed.\n\nBut more fixes made before realizing that was the problem:-\n\nIt should not be an error if bin_page_mkwrite() finds no underlying\npage_mkwrite().\n\nCheck that a file already mmap\u0027ed has the same underlying vm_ops\n_before_ pointing vma-\u003evm_ops at bin_vm_ops.\n\nIf the file being mmap\u0027ed is a shmem/tmpfs file, don\u0027t fail the mmap\non CONFIG_NUMA\u003dy, just because that has a set_policy and get_policy:\nprovide bin_set_policy, bin_get_policy and bin_migrate.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Eric Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "669420644c79c207f83fdf9105ae782867e2991f",
      "tree": "668491b3700bcc65e45d5ff9471f6fde5d5743af",
      "parents": [
        "ffa6a7054d172a2f57248dff2de600ca795c5656"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Fri Mar 13 12:07:36 2009 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "sysfs: only allow one scheduled removal callback per kobj\n\nThe only way for a sysfs attribute to remove itself (without\ndeadlock) is to use the sysfs_schedule_callback() interface.\n\nVegard Nossum discovered that a poorly written sysfs -\u003estore\ncallback can repeatedly schedule remove callbacks on the same\ndevice over and over, e.g.\n\n\t$ while true ; do echo 1 \u003e /sys/devices/.../remove ; done\n\nIf the \u0027remove\u0027 attribute uses the sysfs_schedule_callback API\nand also does not protect itself from concurrent accesses, its\ncallback handler will be called multiple times, and will\neventually attempt to perform operations on a freed kobject,\nleading to many problems.\n\nInstead of requiring all callers of sysfs_schedule_callback to\nimplement their own synchronization, provide the protection in\nthe infrastructure.\n\nNow, sysfs_schedule_callback will only allow one scheduled\ncallback per kobject. On subsequent calls with the same kobject,\nreturn -EAGAIN.\n\nThis is a short term fix. The long term fix is to allow sysfs\nattributes to remove themselves directly, without any of this\ncallback hokey pokey.\n\n[cornelia.huck@de.ibm.com: s390 ccwgroup bits]\n\nReported-by: vegard.nossum@gmail.com\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e0edd3c65aa5b53e20280565a7ce11675eb7ed6b",
      "tree": "e9d7a8834eba3f19635f770f5d19bfe88a2485e4",
      "parents": [
        "ae1b41715ee2aae356fbcca032838b71d70b855f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Wed Mar 04 11:57:20 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "sysfs: don\u0027t block indefinitely for unmapped files.\n\nModify sysfs bin files so that we can remove the bin file while they are\nstill mapped.  When the kobject is removed we unmap the bin file and\narrange for future accesses to the mapping to receive SIGBUS.\n\nImplementing this prevents a nasty DOS when pci devices are hot plugged\nand unplugged.  Where if any of their resources were mmaped the kernel\ncould not free up their pci resources or release their pci data\nstructures.\n\n[akpm@linux-foundation.org: remove unused var]\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "04256b4a8fc73f54cd14f20867882c299728a446",
      "tree": "16267f6c77e0fa9f7229a30f66343289b6d1108a",
      "parents": [
        "425cb02912d1095febfeaf8d379af7b2ac9e4a89"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Wed Feb 11 13:20:23 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "sysfs: reference sysfs_dirent from sysfs inodes\n\nThe sysfs_dirent serves as both an inode and a directory entry\nfor sysfs.  To prevent the sysfs inode numbers from being freed\nprematurely hold a reference to sysfs_dirent from the sysfs inode.\n\n[akpm@linux-foundation.org: add comment]\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "425cb02912d1095febfeaf8d379af7b2ac9e4a89",
      "tree": "d7cbd6309c280714a3dc45d968129128d649be22",
      "parents": [
        "f48f3febb2cbfd0f2ecee7690835ba745c1034a4"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Thu Feb 12 10:56:59 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "sysfs: sysfs_add_one WARNs with full path to duplicate filename\n\nsysfs: sysfs_add_one WARNs with full path to duplicate filename\n\nAs a debugging aid, it can be useful to know the full path to a\nduplicate file being created in sysfs.\n\nWe now will display warnings such as:\n\n\tsysfs: cannot create duplicate filename \u0027/foo\u0027\n\nwhen attempting to create multiple files named \u0027foo\u0027 in the sysfs\nroot, or:\n\n\tsysfs: cannot create duplicate filename \u0027/bus/pci/slots/5/foo\u0027\n\nwhen attempting to create multiple files named \u0027foo\u0027 under a\ngiven directory in sysfs.\n\nThe path displayed is always a relative path to sysfs_root. The\nleading \u0027/\u0027 in the path name refers to the sysfs_root mount\npoint, and should not be confused with the \"real\" \u0027/\u0027.\n\nThanks to Alex Williamson for essentially writing sysfs_pathname.\n\nCc: Alex Williamson \u003calex.williamson@hp.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4a67a1bc0b3a0db017b560cee27370d141c58e25",
      "tree": "ab039581d41c9fa45a1bac9eb843baa1312a5969",
      "parents": [
        "8231f2f99a5e5fc45a25e8de09fd1ab9711babf1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jan 21 11:55:11 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:24 2009 -0700"
      },
      "message": "sysfs: Take sysfs_mutex when fetching the root inode.\n\nsysfs_get_inode ultimately calls sysfs_count_nlink when the a\ndirectory inode is fectched.  sysfs_count_nlink needs to be\ncalled under the sysfs_mutex to guard against the unlikely\nbut possible scenario that the root directory is changing\nas we are counting the number entries in it, and just in\ngeneral to be consistent.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8231f2f99a5e5fc45a25e8de09fd1ab9711babf1",
      "tree": "18fd1173f6197e373905d94c904c16763086ed06",
      "parents": [
        "1fa5ae857bb14f6046205171d98506d8112dd74e"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Wed Jan 14 15:45:13 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:24 2009 -0700"
      },
      "message": "SYSFS: use standard magic.h for sysfs\n\nSYSFS_MAGIC has been added into magic.h, so only use that definition\nin magic.h to avoid potential consistency problem.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ed803862954528e6fcf7bd0f2b2e5a772a7c3281",
      "tree": "fce02fe5ebc10a5a8da5e034e2bb25d79d07a808",
      "parents": [
        "6aeea60aee945449c93d9aa70638deeb5c4c5439",
        "c0e69a5bbc6fc74184aa043aadb9a53bc58f953b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:40:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:40:28 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  klist.c: bit 0 in pointer can\u0027t be used as flag\n  debugfs: introduce stub for debugfs_create_size_t() when DEBUG_FS\u003dn\n  sysfs: fix problems with binary files\n  PNP: fix broken pnp lowercasing for acpi module aliases\n  driver core: Convert \u0027/\u0027 to \u0027!\u0027 in dev_set_name()\n"
    },
    {
      "commit": "5f3a211a8b02222498f134ea961fe29c97a4801f",
      "tree": "fce8ac0bdaebf3f9d62711d1c52369fa44ee911a",
      "parents": [
        "9d73ac9e8faffa3b930fcebbf4ebcd25f8061ada"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 10:40:58 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 13:15:56 2009 +0300"
      },
      "message": "fs/Kconfig: move sysfs out\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "4503efd0891c40e30928afb4b23dc3f99c62a6b2",
      "tree": "b92d71b333e30f90b4a91a4e4bea895f5489a6ae",
      "parents": [
        "72638f598ec9f05a43fcb22dc1dd8dc34c43acc1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 20 15:51:16 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 20 20:52:09 2009 -0800"
      },
      "message": "sysfs: fix problems with binary files\n\nSome sysfs binary files don\u0027t like having 0 passed to them as a size.\nFix this up at the root by just returning to the vfs if userspace asks\nus for a zero sized buffer.\n\nThanks to Pavel Roskin for pointing this out.\n\nReported-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "56ff5efad96182f4d3cb3dc6b07396762c658f16",
      "tree": "cb91f93aa2324573527165d56d230b606a3111ed",
      "parents": [
        "acfa4380efe77e290d3a96b11cd4c9f24f4fbb18"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 09 09:34:39 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 05 11:54:28 2009 -0500"
      },
      "message": "zero i_uid/i_gid on inode allocation\n\n... and don\u0027t bother in callers.  Don\u0027t bother with zeroing i_blocks,\nwhile we are at it - it\u0027s already been zeroed.\n\ni_mode is not worth the effort; it has no common default value.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3222a3e55f4025acb2a5a4379cf2f2b7df1f1243",
      "tree": "d12740cd5dc00ae17f7beb63584dd00d7c1fb4cb",
      "parents": [
        "4e9ed2f85af7adfa7c3f0efa839a53186254fdcb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Sep 03 21:53:01 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:21 2008 -0400"
      },
      "message": "[PATCH] fix -\u003ellseek for more directories\n\nWith this patch all directory fops instances that have a readdir\nthat doesn\u0027t take the BKL are switched to generic_file_llseek.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "0b4a4fea253e1296222603ccc55430ed7cd9413a",
      "tree": "5ce1810393a0f3a48ac208e0dbf994b63a481f18",
      "parents": [
        "030c1d2bfcc2187650fb975456ca0b61a5bb77f4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jul 03 18:05:28 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:52 2008 -0700"
      },
      "message": "kobject: Cleanup kobject_rename and !CONFIG_SYSFS\n\nIt finally dawned on me what the clean fix to sysfs_rename_dir\ncalling kobject_set_name is.  Move the work into kobject_rename\nwhere it belongs.  The callers serialize us anyway so this is\nsafe.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8c0e3998f5b71e68fe6b6e489a92e052715e563c",
      "tree": "df57b05090964df2138c8b59d3796c8509e92ed5",
      "parents": [
        "d8bf254089a6c31d7d01a4d1d2f1861662900855"
      ],
      "author": {
        "name": "Trent Piepho",
        "email": "tpiepho@freescale.com",
        "time": "Thu Sep 25 16:45:13 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:51 2008 -0700"
      },
      "message": "sysfs: Make dir and name args to sysfs_notify() const\n\nBecause they can be, and because code like this produces a warning if\nthey\u0027re not:\n\nstruct device_attribute dev_attr;\n\nsysfs_notify(\u0026kobj, NULL, dev_attr.attr.name);\n\nSigned-off-by: Trent Piepho \u003ctpiepho@freescale.com\u003e\nCC: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "45c076c5d71e6e644e2eae64f80922d162c900ac",
      "tree": "68e188af66201219f41681d57975a1bdf7ec9347",
      "parents": [
        "8a89efd18aa15bb832778baa4e6eee3857ecada4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Sep 28 07:48:08 2008 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:51 2008 -0700"
      },
      "message": "sysfs: use ilookup5() instead of ilookup5_nowait()\n\nAs inode creation is protected by sysfs_mutex, ilookup5_nowait()\nalways either fails to find at all or finds one which is fully\ninitialized, so using ilookup5_nowait() or ilookup5() doesn\u0027t make any\ndifference.  Switch to ilookup5() as it\u0027s planned to be removed.  This\nchange also makes lookup return value handling a bit simpler.\n\nThis change was suggested by Al Viro.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Al Viro \u003cviro@hera.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b31ca3f5dfc89c3f1f654b30f0760d0e2fb15e45",
      "tree": "64bcc432070e090ce236308ef7d077b1db2a3d8f",
      "parents": [
        "6cd49586090187a2a145bb6570fb2392f121aa22"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Sep 12 11:24:11 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:50 2008 -0700"
      },
      "message": "sysfs: fix deadlock\n\nOn Thu, Sep 11, 2008 at 10:27:10AM +0200, Ingo Molnar wrote:\n\n\u003e and it\u0027s working fine on most boxes. One testbox found this new locking\n\u003e scenario:\n\u003e\n\u003e PM: Adding info for No Bus:vcsa7\n\u003e EDAC DEBUG: MC0: i82860_check()\n\u003e\n\u003e \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e [ INFO: possible circular locking dependency detected ]\n\u003e 2.6.27-rc6-tip #1\n\u003e -------------------------------------------------------\n\u003e X/4873 is trying to acquire lock:\n\u003e  (\u0026bb-\u003emutex){--..}, at: [\u003cc020ba20\u003e] mmap+0x40/0xa0\n\u003e\n\u003e but task is already holding lock:\n\u003e  (\u0026mm-\u003emmap_sem){----}, at: [\u003cc0125a1e\u003e] sys_mmap2+0x8e/0xc0\n\u003e\n\u003e which lock already depends on the new lock.\n\u003e\n\u003e\n\u003e the existing dependency chain (in reverse order) is:\n\u003e\n\u003e -\u003e #1 (\u0026mm-\u003emmap_sem){----}:\n\u003e        [\u003cc017dc96\u003e] validate_chain+0xa96/0xf50\n\u003e        [\u003cc017ef2b\u003e] __lock_acquire+0x2cb/0x5b0\n\u003e        [\u003cc017f299\u003e] lock_acquire+0x89/0xc0\n\u003e        [\u003cc01aa8fb\u003e] might_fault+0x6b/0x90\n\u003e        [\u003cc040b618\u003e] copy_to_user+0x38/0x60\n\u003e        [\u003cc020bcfb\u003e] read+0xfb/0x170\n\u003e        [\u003cc01c09a5\u003e] vfs_read+0x95/0x110\n\u003e        [\u003cc01c1443\u003e] sys_pread64+0x63/0x80\n\u003e        [\u003cc012146f\u003e] sysenter_do_call+0x12/0x43\n\u003e        [\u003cffffffff\u003e] 0xffffffff\n\u003e\n\u003e -\u003e #0 (\u0026bb-\u003emutex){--..}:\n\u003e        [\u003cc017d8b7\u003e] validate_chain+0x6b7/0xf50\n\u003e        [\u003cc017ef2b\u003e] __lock_acquire+0x2cb/0x5b0\n\u003e        [\u003cc017f299\u003e] lock_acquire+0x89/0xc0\n\u003e        [\u003cc0d6f2ab\u003e] __mutex_lock_common+0xab/0x3c0\n\u003e        [\u003cc0d6f698\u003e] mutex_lock_nested+0x38/0x50\n\u003e        [\u003cc020ba20\u003e] mmap+0x40/0xa0\n\u003e        [\u003cc01b111e\u003e] mmap_region+0x14e/0x450\n\u003e        [\u003cc01b170f\u003e] do_mmap_pgoff+0x2ef/0x310\n\u003e        [\u003cc0125a3d\u003e] sys_mmap2+0xad/0xc0\n\u003e        [\u003cc012146f\u003e] sysenter_do_call+0x12/0x43\n\u003e        [\u003cffffffff\u003e] 0xffffffff\n\u003e\n\u003e other info that might help us debug this:\n\u003e\n\u003e 1 lock held by X/4873:\n\u003e  #0:  (\u0026mm-\u003emmap_sem){----}, at: [\u003cc0125a1e\u003e] sys_mmap2+0x8e/0xc0\n\u003e\n\u003e stack backtrace:\n\u003e Pid: 4873, comm: X Not tainted 2.6.27-rc6-tip #1\n\u003e  [\u003cc017cd09\u003e] print_circular_bug_tail+0x79/0xc0\n\u003e  [\u003cc017d8b7\u003e] validate_chain+0x6b7/0xf50\n\u003e  [\u003cc017a5b5\u003e] ? trace_hardirqs_off_caller+0x15/0xb0\n\u003e  [\u003cc017ef2b\u003e] __lock_acquire+0x2cb/0x5b0\n\u003e  [\u003cc017f299\u003e] lock_acquire+0x89/0xc0\n\u003e  [\u003cc020ba20\u003e] ? mmap+0x40/0xa0\n\u003e  [\u003cc0d6f2ab\u003e] __mutex_lock_common+0xab/0x3c0\n\u003e  [\u003cc020ba20\u003e] ? mmap+0x40/0xa0\n\u003e  [\u003cc0d6f698\u003e] mutex_lock_nested+0x38/0x50\n\u003e  [\u003cc020ba20\u003e] ? mmap+0x40/0xa0\n\u003e  [\u003cc020ba20\u003e] mmap+0x40/0xa0\n\u003e  [\u003cc01b111e\u003e] mmap_region+0x14e/0x450\n\u003e  [\u003cc01afb88\u003e] ? arch_get_unmapped_area_topdown+0xf8/0x160\n\u003e  [\u003cc01b170f\u003e] do_mmap_pgoff+0x2ef/0x310\n\u003e  [\u003cc0125a3d\u003e] sys_mmap2+0xad/0xc0\n\u003e  [\u003cc012146f\u003e] sysenter_do_call+0x12/0x43\n\u003e  [\u003cc0120000\u003e] ? __switch_to+0x130/0x220\n\u003e  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e evbug.c: Event. Dev: input3, Type: 20, Code: 0, Value: 500\n\u003e warning: `sudo\u0027 uses deprecated v2 capabilities in a way that may be insecure.\n\u003e\n\u003e i\u0027ve attached the config.\n\u003e\n\u003e at first sight it looks like a genuine bug in fs/sysfs/bin.c?\n\nYes, it is a real bug by the looks. bin.c takes bb-\u003emutex under mmap_sem\nwhen it is mmapped, and then does its copy_*_user under bb-\u003emutex too.\n\nHere is a basic fix for the sysfs lor.\n\n\nFrom: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f1282c844e86db5a041afa41335b5f9eea6cec0c",
      "tree": "3736285f2f7ce145fb06538d616a9c1165ffc125",
      "parents": [
        "ec748fa9ed3fec44aeebbf86ae050b0cc7a978d9"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Jul 16 08:58:04 2008 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:47 2008 -0700"
      },
      "message": "sysfs: Support sysfs_notify from atomic context with new sysfs_notify_dirent\n\nSupport sysfs_notify from atomic context with new sysfs_notify_dirent\n\nsysfs_notify currently takes sysfs_mutex.\nThis means that it cannot be called in atomic context.\nsysfs_mutex  is sometimes held over a malloc (sysfs_rename_dir)\nso it can block on low memory.\n\nIn md I want to be able to notify on a sysfs attribute from\natomic context, and I don\u0027t want to block on low memory because I\ncould be in the writeout path for freeing memory.\n\nSo:\n - export the \"sysfs_dirent\" structure along with sysfs_get, sysfs_put\n   and sysfs_get_dirent so I can get the sysfs_dirent that I want to\n   notify on and hold it in an md structure.\n - split sysfs_notify_dirent out of sysfs_notify so the sysfs_dirent\n   can be notified on with no blocking (just a spinlock).\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ae87221d3ce49d9de1e43756da834fd0bf05a2ad",
      "tree": "f96792656b00e95c307f3f37369c98a85ce38207",
      "parents": [
        "e94320939f44e0cbaccc3f259a5778abced4949c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Aug 24 16:11:54 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:41 2008 -0700"
      },
      "message": "sysfs: crash debugging\n\nPrint the name of the last-accessed sysfs file when we oops, to help track\ndown oopses which occur in sysfs store/read handlers.  Because these oopses\ntend to not leave any trace of the offending code in the stack traces.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "99fcd77d15357e8ba51005c25cc750b9c28b2688",
      "tree": "403293819dc7bcd854c50d8c486a1fdbbf9711a2",
      "parents": [
        "5c752ad9f35910ff1912b3f3ae82878178ddc432"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jul 25 19:45:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "Use WARN() in fs/sysfs\n\nUse WARN() instead of a printk+WARN_ON() pair; this way the message becomes\npart of the warning section for better reporting/collection.  Also, with this,\none fo the if() sections collapses entirely into the WARN().\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36ce6dad6e3cb3f050ed41e0beac0070d2062b25",
      "tree": "91c89c903b06dc8b76e66e7b2341bcd6085e81d0",
      "parents": [
        "0ad1d6f37cc3bb234c6e7ae30e40d1d40b9aa258"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Tue Jun 10 11:09:08 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:55:01 2008 -0700"
      },
      "message": "driver core: Suppress sysfs warnings for device_rename().\n\ndriver core: Suppress sysfs warnings for device_rename().\n\nRenaming network devices to an already existing name is not\nsomething we want sysfs to print a scary warning for, since the\ncallers can deal with this correctly. So let\u0027s introduce\nsysfs_create_link_nowarn() which gets rid of the common warning.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "93265d13ea5c3ec5f61a8009407fbe046ce6b7c0",
      "tree": "1db94fa6cc1ee9b0eae1332a340ac98efa4d8f28",
      "parents": [
        "838ea8e8dbfc8d907c7a55bbad507a44c1b81d57"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Jun 16 13:46:47 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:57 2008 -0700"
      },
      "message": "sysfs: don\u0027t call notify_change\n\nsysfs_chmod_file() calls notify_change() to change the permission bits\non a sysfs file.  Replace with explicit call to sysfs_setattr() and\nfsnotify_change().\n\nThis is equivalent, except that security_inode_setattr() is not\ncalled.  This function is called by drivers, so the security checks do\nnot make any sense.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0599ad53fee2d084f9ba26247d7452f06a40d298",
      "tree": "2d31232e6991d507ff60ec6a774eb0b27de7aeca",
      "parents": [
        "dcc997738e538919101d8756f19ca23110b25d8d"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed May 14 22:34:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 14 22:34:16 2008 -0700"
      },
      "message": "sysfs: remove error messages for -EEXIST case\n\nIt is possible that the entry in sysfs already exists, one case of this is\nwhen a network device is renamed to bonding_masters. Anyway, in this case\nthe proper error path is for device_rename to return an error code, not to\ngenerate bogus backtrace and errors.\n\nAlso, to avoid possible races, the create link should be done before the\nremove link. This makes a device rename atomic operation like other renames.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "40a2159abf3d0107bba359246554bd7d56f2171b",
      "tree": "b7a0ee28b4e112e6f134efb6b567f38589fc4689",
      "parents": [
        "08acd4f8af42affd8cbed81cc1b69fa12ddb213f"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Apr 28 15:59:58 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 30 16:52:46 2008 -0700"
      },
      "message": "sysfs: Disallow truncation of files in sysfs\n\nsysfs allows attribute files to be truncated, e.g. using ftruncate(), with the\nexpected effect on their inode.   For most attributes, this doesn\u0027t change the\n\"real\" size of the file i.e. how much can be read from it.  However, the\nparameter validation for reading and writing binary attribute files is based\non the inode size and not the size specified in the file\u0027s bin_attribute, so it\ncan be broken by this. For example, if we try using dd to write to such a file:\n\n# pwd\n/sys/bus/pci/devices/0000:08:00.0\n# ls -l config\n-rw-r--r--  1 root root 4096 Feb  1 17:35 config\n# dd if\u003d/dev/zero of\u003dconfig bs\u003d4 count\u003d1\n1+0 records in\n1+0 records out\n# ls -l config\n-rw-r--r--  1 root root 0 Feb  1 17:50 config\n# dd if\u003d/dev/zero of\u003dconfig bs\u003d4 count\u003d1 seek\u003d128\ndd: writing `config\u0027: No space left on device\n1+0 records in\n0+0 records out\n\nAlso, after truncation to 0, parameter validation for read and write is\ndisabled.  Most bin_attribute read and write methods also validate the size and\noffset, but for some this will allow out-of-range access.  This may be a\nsecurity issue, though access to such files is often limited to root.  In any\ncase, the validation should remain for safety\u0027s sake!)\n\nThis was previously reported in Bugzilla as bug 9867.\n\nsysfs should ignore size changes or else refuse them (by returning -EINVAL).\nThis patch makes it ignore them.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8e24eea728068bbeb6a3c500b848f883a20bf225",
      "tree": "93e79da649723e2766237505b22725fec395f139",
      "parents": [
        "530b6412786d7f83592c1a8e2445541ed73fca76"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Apr 30 00:55:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "fs: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4ad08fe64afca4ef79ecc4c624e6e871688da0d",
      "tree": "5b8b390b874700041dc0c095e8ba9ac3ed42ea77",
      "parents": [
        "76f1418b485da2707531178e517bbb5cf06b3c76"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "mm: bdi: add separate writeback accounting capability\n\nAdd a new BDI capability flag: BDI_CAP_NO_ACCT_WB.  If this flag is\nset, then don\u0027t update the per-bdi writeback stats from\ntest_set_page_writeback() and test_clear_page_writeback().\n\nMisc cleanups:\n\n - convert bdi_cap_writeback_dirty() and friends to static inline functions\n - create a flag that includes all three dirty/writeback related flags,\n   since almst all users will want to have them toghether\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f4238958d28044b335644b69df6071cdb04b5ce",
      "tree": "159b82f8eb9479cdc10f861d682309b4c0c8c411",
      "parents": [
        "bbd1ae412c9eb09ae7bb11cfaf7018a2367d493f"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Mar 20 20:47:52 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Apr 22 15:16:31 2008 -0500"
      },
      "message": "[SCSI] sysfs: make group is_valid return a mode_t\n\nWe have a problem in scsi_transport_spi in that we need to customise\nnot only the visibility of the attributes, but also their mode.  Fix\nthis by making the is_visible() callback return a mode, with 0\nindicating is not visible.\n\nAlso add a sysfs_update_group() API to allow us to change either the\nvisibility or mode of the files at any time on the fly.\n\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2424b5dd062cbe3e0578ae7b11a1b360ad22f451",
      "tree": "75b6d67412969074237a371947280b419c5d43db",
      "parents": [
        "b844eba292b477cda14582bfc6f535deed57a82d"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Apr 07 15:35:01 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:29 2008 -0700"
      },
      "message": "sysfs: refill attribute buffer when reading from offset 0\n\nRequiring userspace to close and re-open sysfs attributes has been the\npolicy since before 2.6.12.  It allows userspace to get a consistent\nsnapshot of kernel state and consume it with incremental reads and seeks.\n\nNow, if the file position is zero the kernel assumes userspace wants to see\nthe new value.  The application for this change is to allow a userspace\nRAID metadata handler to check the state of an array without causing any\nmemory allocations.  Thus not causing writeback to a raid array that might\nbe blocked waiting for userspace to take action.\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "c6f87733823d69a8f12e391688ceeb1ff4922530",
      "tree": "2061036d1d015167a4de9e2c3a14810e6409f18f",
      "parents": [
        "3f62e5700b2a679ae987b32a68126dd6dcf2488f"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Thu Mar 13 22:41:52 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:27 2008 -0700"
      },
      "message": "SYSFS: Explicitly include required header file slab.h.\n\nAfter an experimental deletion of the unnecessary inclusion of\n\u003clinux/slab.h\u003e from the header file \u003clinux/percpu.h\u003e, the following\nfiles under fs/sysfs were exposed as needing to explicitly include\n\u003clinux/slab.h\u003e.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a839c5afcdc345aecb35b0d3bcd0e09b571329c3",
      "tree": "58fda1dc26c12edc365e7cd2fe12f8dfc7554dd2",
      "parents": [
        "5cc3bf2786f63cceb191c3c02ddd83c6f38a7d64"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Jan 29 14:35:18 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:10 2008 -0700"
      },
      "message": "sysfs: Allow removal of symlinks in the sysfs root\n\nAllow callers of sysfs_remove_link() to pass a NULL kobj, in which case\nsysfs_root will be used as the parent directory. This allows us to tear down\ntop level symlinks created via sysfs_create_link(), which already has\nsimilar handling of a NULL parent object.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "815d2d50da41f28aae58f5e9b3c61c3094422749",
      "tree": "f5c3a8f1cd676ef7ed76ea6cc96ccf399310f7fb",
      "parents": [
        "c9698d6b1a90929e427a165bd8283f803f57d9bd"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Mar 04 15:09:07 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 24 22:33:49 2008 -0700"
      },
      "message": "driver core: debug for bad dev_attr_show() return value.\n\nTry to find the culprit who caused\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d10150\n\nCc: \u003cbalajirrao@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "969affd276dec81a35a5ad10d4e05e62e93b380b",
      "tree": "a6a6bb9f2b658838f09ad28d58211252a5e7db6f",
      "parents": [
        "7d640c4a5b36c4733460065db1554da924044511"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 07 11:58:54 2008 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 07 11:31:46 2008 -0800"
      },
      "message": "sysfs: remove BUG_ON() from sysfs_remove_group()\n\nIt\u0027s possible that the caller of sysfs_remove_group messed up and passed in an attribute group that was not really registered to this kobject.  But don\u0027t panic for such a foolish error, spit out a warning about what happened, and continue on our way safely.\n\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9b73e76f3cf63379dcf45fcd4f112f5812418d0a",
      "tree": "4e6bef87cd0cd6d848fc39a5ae25b981dbbe035b",
      "parents": [
        "50d9a126240f9961cfdd063336bbeb91f77a7dce",
        "23c3e290fb9ce38cabc2822b47583fc8702411bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (200 commits)\n  [SCSI] usbstorage: use last_sector_bug flag universally\n  [SCSI] libsas: abstract STP task status into a function\n  [SCSI] ultrastor: clean up inline asm warnings\n  [SCSI] aic7xxx: fix firmware build\n  [SCSI] aacraid: fib context lock for management ioctls\n  [SCSI] ch: remove forward declarations\n  [SCSI] ch: fix device minor number management bug\n  [SCSI] ch: handle class_device_create failure properly\n  [SCSI] NCR5380: fix section mismatch\n  [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices\n  [SCSI] IB/iSER: add logical unit reset support\n  [SCSI] don\u0027t use __GFP_DMA for sense buffers if not required\n  [SCSI] use dynamically allocated sense buffer\n  [SCSI] scsi.h: add macro for enclosure bit of inquiry data\n  [SCSI] sd: add fix for devices with last sector access problems\n  [SCSI] fix pcmcia compile problem\n  [SCSI] aacraid: add Voodoo Lite class of cards.\n  [SCSI] aacraid: add new driver features flags\n  [SCSI] qla2xxx: Update version number to 8.02.00-k7.\n  [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command.\n  ...\n"
    },
    {
      "commit": "000f2a4d8cfc1e1cbc0aa98136015e7ae7719b46",
      "tree": "f501a2d118797a88184a77be089d335c4cc48e88",
      "parents": [
        "4443d07fcfab39c4d2d9d7711cff983f15b374fc"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Nov 02 13:47:53 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:22 2008 -0800"
      },
      "message": "Driver Core: kill subsys_attribute and default sysfs ops\n\nRemove the no longer needed subsys_attributes, they are all converted to\nthe more sensical kobj_attributes.\n\nThere is no longer a magic fallback in sysfs attribute operations, all\nkobjects which create simple attributes need explicitely a ktype\nassigned, which tells the core what was intended here.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "3514faca19a6fdc209734431c509631ea92b094e",
      "tree": "f6d102e6dec276f8e8d1044b47c74a02b901554f",
      "parents": [
        "c11c4154e7ff4cebfadad849b1e22689d759c3f4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 16 10:11:44 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:10 2008 -0800"
      },
      "message": "kobject: remove struct kobj_type from struct kset\n\nWe don\u0027t need a \"default\" ktype for a kset.  We should set this\nexplicitly every time for each kset.  This change is needed so that we\ncan make ksets dynamic, and cleans up one of the odd, undocumented\nassumption that the kset/kobject/ktype model has.\n\nThis patch is based on a lot of help from Kay Sievers.\n\nNasty bug in the block code was found by Dave Young\n\u003chidave.darkstar@gmail.com\u003e\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d7b37889650bb316f5c4ad4b0569ba897120d70d",
      "tree": "33a0b024eca4d1b3130b079b10942ee7af364d33",
      "parents": [
        "2f90a851800e88436873c8d27238cf219b9ef48e"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Nov 21 14:55:19 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:08 2008 -0800"
      },
      "message": "sysfs: remove SPIN_LOCK_UNLOCKED\n\nSPIN_LOCK_UNLOCKED is deprecated, use DEFINE_SPINLOCK instead\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Tejun Heo \u003cteheo@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2f90a851800e88436873c8d27238cf219b9ef48e",
      "tree": "70f8947025d38ad64026b1d00986655ff3c3606f",
      "parents": [
        "7b8712e563df4fefc25d3107fa3fb3abb7331ff4"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Nov 01 20:20:52 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:08 2008 -0800"
      },
      "message": "sysfs: create optimal relative symlink targets\n\nInstead of walking from the source down to the root of sysfs, and back\nto the target, we stop at the first directory the source and the target\nshare.\n\nThis link:\n  /devices/pci0000:00/0000:00:1d.7/usb1/1-0:1.0/ep_81\n\npointed to:\n  ../../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81\n\nnow it just points to:\n  usb_endpoint/usbdev1.1_ep81\n\nThanks to Denis Cheng for bringing this up, and sending the initial patch.\n\nCC: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9fd5b1c906a9b4b0efb24cb2b4d20c678ff26122",
      "tree": "56bac78b8044babb2d6fb147397813ce7177b704",
      "parents": [
        "463e526083fdaa284eaea45b53bb917ed3c72900"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Jan 08 18:11:24 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:04 2008 -0800"
      },
      "message": "sysfs: Fix a copy-n-paste typo in comment\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d4acd722b7bb5f48b9fc3848e8c2a845b100d84f",
      "tree": "24c0ccb9cd13d79b47588d44b27b3f1eb91a0ec7",
      "parents": [
        "d52b3815a52456dcf1a45fbc344e23bb643b2bda"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Oct 31 09:38:04 2007 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 23 11:29:18 2008 -0600"
      },
      "message": "[SCSI] sysfs: add filter function to groups\n\nThis patch allows the various users of attribute_groups to selectively\nallow the appearance of group attributes.  The primary consumer of\nthis will be the transport classes in which we currently have\nelaborate attribute selection algorithms to do this same thing.\n\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "11f24fbdf511cf588c3a18e3208ee02d85db0020",
      "tree": "08b4367c7601b687edc8150be17989beb2230119",
      "parents": [
        "d0ad3bc97c06fba5d37b4ca03c03b7eeeda39c47"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 02 18:44:05 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 23 11:29:17 2008 -0600"
      },
      "message": "[SCSI] sysfs: fix the sysfs_add_file_to_group interfaces\n\nI can\u0027t see a reason why these shouldn\u0027t work on every group.  However,\nthey only seem to work on named groups.  This patch allows the group\nfunctions to work on anonymous groups (those with NULL names).\n\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "456ef1553cb2b06729d64c1d1f0f2bda34e9b201",
      "tree": "4ad211cbaff6056d9f1c9aded2d24e83b1641c31",
      "parents": [
        "e49452c67703d3647467d65275fb893589384fed"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jan 16 12:10:53 2008 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 16 09:54:03 2008 -0800"
      },
      "message": "sysfs: fix bugs in sysfs_rename/move_dir()\n\nsysfs_rename/move_dir() have the following bugs.\n\n - On dentry lookup failure, kfree() is called on ERR_PTR() value.\n - sysfs_move_dir() has an extra dput() on success path.\n\nFix them.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e49452c67703d3647467d65275fb893589384fed",
      "tree": "137d7dea836f16f4efc3c709981dee3d306aa757",
      "parents": [
        "cbd9c883696da72b2b1f03f909dbacc04bbf8b58"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jan 16 12:06:14 2008 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 16 09:54:03 2008 -0800"
      },
      "message": "sysfs: make sysfs_lookup() return ERR_PTR(-ENOENT) on failed lookup\n\nsysfs tries to keep dcache a strict subset of sysfs_dirent tree by\nshooting down dentries when a node is removed, that is, no negative\ndentry for sysfs.  However, the lookup function returned NULL and thus\ncreated negative dentries when the target node didn\u0027t exist.\n\nMake sysfs_lookup() return ERR_PTR(-ENOENT) on lookup failure.  This\nfixes the NULL dereference bug in sysfs_get_dentry() discovered by\nbluetooth rfcomm device moving around.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8118a859dc7abd873193986c77a8d9bdb877adc8",
      "tree": "6b66719637ba2b4174c126cb751a090de0536269",
      "parents": [
        "71409a498e96a421bdc20e7275ebc4fab8b14cdc"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Nov 21 14:55:19 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Nov 28 13:53:53 2007 -0800"
      },
      "message": "sysfs: fix off-by-one error in fill_read_buffer()\n\nI found that there is a off-by-one problem in the following code.\n\nVersion:\t2.6.24-rc2\nFile:\t\tfs/sysfs/file.c:118-122\nFunction:\tfill_read_buffer\n--------------------------------------------------------------------\n\tcount \u003d ops-\u003eshow(kobj, attr_sd-\u003es_attr.attr, buffer-\u003epage);\n\n\tsysfs_put_active_two(attr_sd);\n\n\tBUG_ON(count \u003e (ssize_t)PAGE_SIZE);\n--------------------------------------------------------------------\n\nBecause according to the specification of the sysfs and the implement of\nthe show methods, the show methods return the number of bytes which would\nbe generated for the given input, excluding the trailing null.So if the\nreturn value of the show methods equals PAGE_SIZE - 1, the buffer is full\nin fact.  And if the return value equals PAGE_SIZE, the resulting string\nwas already truncated,or buffer overflow occurred.\n\nThis patch fixes an off-by-one error in fill_read_buffer.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Tejun Heo \u003cteheo@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "78e9d3678c8362aad2b2a48c242966aebb089dbd",
      "tree": "8521c590a8682fb6039e66990213c292068b9475",
      "parents": [
        "34358c26a2c96b2a068dc44e0ac602106a466bce"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Oct 24 18:23:32 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 30 21:52:33 2007 -0700"
      },
      "message": "sysfs: make sysfs_{get,put}_active() static\n\nsysfs_{get,put}_active() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3932bf60590064dbd1d5bc6f19faf4469e964082",
      "tree": "e0a327410e140c724124654401b5e567c85e72ee",
      "parents": [
        "80abe55b53028bd082bdc69c497fe734e6057538"
      ],
      "author": {
        "name": "Chris Malley",
        "email": "mail@chrismalley.co.uk",
        "time": "Sat Oct 20 03:14:32 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 03:14:32 2007 +0200"
      },
      "message": "sysfs: trivial: fix sysfs_create_file kerneldoc spelling mistake\n\nSpelling error in sysfs_create_file kerneldoc.\n\nSigned-off-by: Chris Malley \u003cmail@chrismalley.co.uk\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "f7a75f0a40073601a0fb509290019d5f3f32b94b",
      "tree": "61b4e44ec385b17fe0177fbece0c02d7ad1e882f",
      "parents": [
        "d68c9d6ae8f1fdae7d998158adc5ee106a2f8ce6"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Tue Oct 16 23:30:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:01 2007 -0700"
      },
      "message": "spin_lock_unlocked cleanups\n\nReplace some SPIN_LOCK_UNLOCKED with DEFINE_SPINLOCK\n\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0bf68ddec4f4f90e5871404be4f1854c17f3120",
      "tree": "36203a3558cbe26d698bed18be69b3822fb5eef2",
      "parents": [
        "dc62a30e274d003a4d08fb888f1520add4b21373"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "mm: bdi init hooks\n\nprovide BDI constructor/destructor hooks\n\n[akpm@linux-foundation.org: compile fix]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eead19115329c5615ba03cbaf1c3fe24c14858a3",
      "tree": "4b8aeeea5060fca595f2c5e8290d742cdb14a08f",
      "parents": [
        "ebb3e820b83e426ee331bae6d8fb0e54f472a25d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Oct 16 23:25:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:44 2007 -0700"
      },
      "message": "partially fix up the lookup_one_noperm mess\n\nTry to fix the mess created by sysfs braindamage.\n\n - refactor code internal to fs/namei.c a little to avoid too much\n   duplication:\n\to __lookup_hash_kern is renamed back to __lookup_hash\n\to the old __lookup_hash goes away, permission checks moves to\n\t  the two callers\n\to useless inline qualifiers on above functions go away\n - lookup_one_len_kern loses it\u0027s last argument and is renamed to\n   lookup_one_noperm to make it\u0027s useage a little more clear\n - added kerneldoc comments to describe lookup_one_len aswell as\n   lookup_one_noperm and make it very clear that no one should use\n   the latter ever.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "800d15a53e7d14fa26495b7b95d3bfe7877dd69d",
      "tree": "09a59e32043f1b601b73ad6105e7634679337884",
      "parents": [
        "674b892ede247ef4fb8d00918f02e29c32b9bbaf"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:55 2007 -0700"
      },
      "message": "implement simple fs aops\n\nImplement new aops for some of the simpler filesystems.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d66f5cd26e4c482e986130b7572f2735a0f7e8b",
      "tree": "b35a4c00af8b2120a672dc19cb09006d5d000a9f",
      "parents": [
        "f0e7e1bd77d450ebfa12153b90f93ad46616ab4a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 17:31:38 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:12 2007 -0700"
      },
      "message": "sysfs: add copyrights\n\nSysfs has gone through considerable amount of reimplementation.  Add\ncopyrights.  Any objections?  :-)\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a4e8b912541d5372ae049a3b7c1979968e52c40b",
      "tree": "a95937748b6216f914abe55ed47c2627e7856bf7",
      "parents": [
        "85a4ffad3de77177591f7c2c18c26c3c8dd28bff"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:12 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:11 2007 -0700"
      },
      "message": "sysfs: move sysfs file poll implementation to sysfs_open_dirent\n\nSysfs file poll implementation is scattered over sysfs and kobject.\nEvent numbering is done in sysfs_dirent but wait itself is done on\nkobject.  This not only unecessarily bloats both kobject and\nsysfs_dirent but is also buggy - if a sysfs_dirent is removed while\nthere still are pollers, the associaton betwen the kobject and\nsysfs_dirent breaks and kobject may be freed with the pollers still\nsleeping on it.\n\nThis patch moves whole poll implementation into sysfs_open_dirent.\nEach time a sysfs_open_dirent is created, event number restarts from 1\nand pollers sleep on sysfs_open_dirent.  As event sequence number is\nmeaningless without any open file and pollers should have open file\nand thus sysfs_open_dirent, this ephemeral event counting works and is\na saner implementation.\n\nThis patch fixes the dnagling sleepers bug and reduces the sizes of\nkobject and sysfs_dirent by one pointer.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "85a4ffad3de77177591f7c2c18c26c3c8dd28bff",
      "tree": "3c67b1435dfd9a5b56d39235f1b44769f96f0fcc",
      "parents": [
        "bc747f37a0f089b9366f7385ff870e12911f2383"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:12 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:11 2007 -0700"
      },
      "message": "sysfs: implement sysfs_open_dirent\n\nImplement sysfs_open_dirent which represents an open file (attribute)\nsysfs_dirent.  A file sysfs_dirent with one or more open files have\none sysfs_dirent and all sysfs_buffers (one for each open instance)\nare linked to it.\n\nsysfs_open_dirent doesn\u0027t actually do anything yet but will be used to\noff-load things which are specific for open file sysfs_dirent from it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "bc747f37a0f089b9366f7385ff870e12911f2383",
      "tree": "b23e81c5136486bc081770dd83595e658437ace8",
      "parents": [
        "dc2f75f0e0cac645c22c85bcf429683b3fa0d2d9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:12 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:11 2007 -0700"
      },
      "message": "sysfs: move sysfs_dirent-\u003es_children into sysfs_dirent-\u003es_dir\n\nChildren list head is only meaninful for directory nodes.  Move it\ninto s_dir.  This doesn\u0027t save any space currently but it will with\nfurther changes.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dc2f75f0e0cac645c22c85bcf429683b3fa0d2d9",
      "tree": "775a89f5abae0cdc9688a32a6209d74c61cb5975",
      "parents": [
        "d6b4fd2faeb9ddf55ce09cf90b88981e579ee010"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:12 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:11 2007 -0700"
      },
      "message": "sysfs: make sysfs_root a regular directory dirent\n\nsysfs_root is different from a regular directory dirent in that it\u0027s\nof type SYSFS_ROOT and doesn\u0027t have a name.  These differences aren\u0027t\nused by anybody and only adds to complexity.  Make sysfs_root a\nregular directory dirent.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d6b4fd2faeb9ddf55ce09cf90b88981e579ee010",
      "tree": "eb122aadde2b5e8fa2dcb2b800c6890d7fcb73b2",
      "parents": [
        "b1fc3d6144d56360d1373b01c7881826f558b6cd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:11 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:11 2007 -0700"
      },
      "message": "sysfs: open code sysfs_attach_dentry()\n\nsysfs_attach_dentry() now has only one caller and isn\u0027t doing much\nother than obfuscating the code.  Open code and kill it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b1fc3d6144d56360d1373b01c7881826f558b6cd",
      "tree": "3bac4c3df21dc74c6373c3e4a22c3ea6b01b1832",
      "parents": [
        "078ce6409ca54d5fc6eb7d2147cd6efc3eb09078"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:11 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:10 2007 -0700"
      },
      "message": "sysfs: make s_elem an anonymous union\n\nMake s_elem an anonymous union.  Prefixing with s_elem makes things\nneedlessly longer without any advantage.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "078ce6409ca54d5fc6eb7d2147cd6efc3eb09078",
      "tree": "c2c9879610b1aa8ca84360937669289058fa9837",
      "parents": [
        "50ab1a72863b1ad4b117862bc52610f8d4535609"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:10 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:10 2007 -0700"
      },
      "message": "sysfs: make bin attr open get active reference of parent too\n\nAll bin attr operations require active references of itself and its\nparent.  There\u0027s no reason to allow open when its parent has been\ndeactivated and allowing it is inconsistent with regular sysfs file.\nUse sysfs_get_active_two() in bin attribute open function.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "50ab1a72863b1ad4b117862bc52610f8d4535609",
      "tree": "41a30dce0ef44917f16d2bc5cdf23cc26f4fac3a",
      "parents": [
        "b05f0548dabd20433f8c201a0307103721d6a18b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:10 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:10 2007 -0700"
      },
      "message": "sysfs: kill unnecessary NULL pointer check in sysfs_release()\n\nIn sysfs_release(), sysfs_buffer pointed to by filp-\u003eprivate_data is\nguaranteed to exist.  Kill the unnecessary NULL check.  This also\nmakes the code more consistent with the counterpart in fs/sysfs/bin.c.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b05f0548dabd20433f8c201a0307103721d6a18b",
      "tree": "1dd741ce7ee0a05f20b4b1469f03b378c8ee9ed1",
      "parents": [
        "b13dc89c5a5bd5e34aadb44c0fb7e870959dcd06"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:10 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:10 2007 -0700"
      },
      "message": "sysfs: kill unnecessary sysfs_get() in open paths\n\nThere\u0027s no reason to get an extra reference to sysfs_dirent for an\nopen file.  Open file has a reference to the dentry which in turn has\na reference to sysfs_dirent.  This is fairly obvious as otherwise open\nitself won\u0027t be able to access the sysfs_dirent.  Kill the extra\nsysfs_get() and matching sysfs_put().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b13dc89c5a5bd5e34aadb44c0fb7e870959dcd06",
      "tree": "110bf837aa041960726dc4ca592b7469907de3d8",
      "parents": [
        "5a7ad7f044941316dc98eda2a087a12a7a50649d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:10 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:10 2007 -0700"
      },
      "message": "sysfs: reposition sysfs_dirent-\u003es_mode.\n\nMove s_mode downward such that it\u0027s side-by-side with s_iattr which is\nused for the same thing.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5a7ad7f044941316dc98eda2a087a12a7a50649d",
      "tree": "03b61af0e90dc158df43f24f8a38792d8c6ae651",
      "parents": [
        "59f69015684b3de7b9472be9a81b1a978f93a496"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:10 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:09 2007 -0700"
      },
      "message": "sysfs: kill sysfs_update_file()\n\nsysfs_update_file() depends on inode-\u003ei_mtime but sysfs iondes are now\nreclaimable making the reported modification time unreliable.  There\u0027s\nonly one user (pci hotplug) of this notification mechanism and it\nreportedly isn\u0027t utilized from userland.\n\nKill sysfs_update_file().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "59f69015684b3de7b9472be9a81b1a978f93a496",
      "tree": "3d3f7880e9f0d9c867695b120944540e815f194a",
      "parents": [
        "f88123eaf953f13a0c597dde54745d28f81236de"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:10 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:09 2007 -0700"
      },
      "message": "sysfs: clean up header files\n\nsysfs is about to go through major overhaul making this a pretty good\nopportunity to clean up (out-of-tree changes and pending patches will\nneed regeneration anyway).  Clean up headers.\n\n* Kill space between * and symbolname.\n\n* Move SYSFS_* type constants and flags into fs/sysfs/sysfs.h.\n  They\u0027re internal to sysfs.\n\n* Reformat function prototypes and add argument symbol names.\n\n* Make dummy function definition order match that of function\n  prototypes.\n\n* Add some comments.\n\n* Reorganize fs/sysfs/sysfs.h according to which file the declared\n  variable or feature lives in.\n\nThis patch does not introduce any behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f88123eaf953f13a0c597dde54745d28f81236de",
      "tree": "d737f3d4a79055d9d6c8ab5df0c564ea6a89ec8a",
      "parents": [
        "181b2e4be1603ce3ccace8322047a548f29f4b20"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:10 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:09 2007 -0700"
      },
      "message": "sysfs: fix sysfs_chmod_file() such that it updates sd-\u003es_mode too\n\nsysfs_chmod_file() looked and updated only inode of the target file.\nDentry and inode are reclaimable and the update mode data will go away\nwhen the inode is reclaimed.  This patch makes sysfs_chmod_file()\nupdate sd-\u003es_mode too such that the change is permanent.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "181b2e4be1603ce3ccace8322047a548f29f4b20",
      "tree": "5cfc9844ccacd8c8b378e9e47d2c8f7625b7bff3",
      "parents": [
        "5c3e8964ce87477a12e3e9edc3742156a3929a74"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:09 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:09 2007 -0700"
      },
      "message": "sysfs: fix comments of sysfs_add/remove_one()\n\nsysfs_add/remove_one() now link and unlink the target dirent into and\nfrom the children list.  Update comments accordingly.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5c3e8964ce87477a12e3e9edc3742156a3929a74",
      "tree": "fa9f43c11b7eea40d8758a638b8452ae5a1e724f",
      "parents": [
        "dc8c85871c9728c5fddca6854a191fd41eb9438c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Sep 13 02:53:13 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:09 2007 -0700"
      },
      "message": "sysfs: spit a warning to users when they try to create a duplicate sysfs file\n\nWe want to let people know when we create a duplicate sysfs file, as\nthey need to fix up their code.\n\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "45aaae9c51d768d5a8fd53fb372b1eb714f37691",
      "tree": "0735356cf38a950404bcea49d44ac5610306e9eb",
      "parents": [
        "9918f9a4817cb6241c727b434d5f8ec5564198de"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:31 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Rewrite sysfs_move_dir in terms of sysfs dirents\n\nThis patch rewrites sysfs_move_dir to perform it\u0027s checks\nas much as possible on the underlying sysfs_dirents instead\nof the contents of the dcache, making sysfs_move_dir\nmore like the rest of the sysfs directory modification\ncode.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9918f9a4817cb6241c727b434d5f8ec5564198de",
      "tree": "76fa5f03994d22e580623baa04ba62c070b94c42",
      "parents": [
        "5a26b79c426f8e55ebf7204cb138eb6b1645d4d3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:31 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Rewrite rename in terms of sysfs dirents\n\nThis patch rewrites sysfs_rename_dir to perform it\u0027s checks\nas much as possible on the underlying sysfs_dirents instead\nof the contents of the dcache.  It turns out that this version\nis a little simpler, and a little more like the rest of\nthe sysfs directory modification code.\n\ntj: fixed double locking of sysfs_mutex\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5a26b79c426f8e55ebf7204cb138eb6b1645d4d3",
      "tree": "4cdcd80f88a479a6ed1ef53042f3b17359c0e80e",
      "parents": [
        "e0712bbfd9cb617fc3a822781c2466fb6b7ede50"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Remove s_dentry\n\nThe only uses of s_dentry left are the code that maintains\ns_dentry and trivial users that don\u0027t actually need it.\nSo this patch removes the s_dentry maintenance code and\nrestructures the trivial uses to use something else.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e0712bbfd9cb617fc3a822781c2466fb6b7ede50",
      "tree": "1f1424730b488368048f76ffff36b8a5fa7d0a33",
      "parents": [
        "932ea2e374dd1ca26676297a5eccd1cdab86f7cd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: simply sysfs_get_dentry\n\nNow that we know the sysfs tree structure cannot change under us and\nsysfs shadow support is dropped, sysfs_get_dentry() can be simplified\ngreatly.  It can just look up from the root and there\u0027s no need to\nretry on failure.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "932ea2e374dd1ca26676297a5eccd1cdab86f7cd",
      "tree": "83bba794de7f1f9f9290192f4f95a8ed9c91dfb6",
      "parents": [
        "89bec09705d2033b8b765f3c3ac5093f80bd5bc4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Introduce sysfs_rename_mutex\n\nLooking carefully at the rename code we have a subtle dependency\nthat the structure of sysfs not change while we are performing\na rename.  If the parent directory of the object we are renaming\nchanges while the rename is being performed nasty things could\nhappen when we go to release our locks.\n\nSo introduce a sysfs_rename_mutex to prevent this highly\nunlikely theoretical issue.\n\nIn addition hold sysfs_rename_mutex over all calls to\nsysfs_get_dentry. Allowing sysfs_get_dentry to be simplified\nin the future.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "89bec09705d2033b8b765f3c3ac5093f80bd5bc4",
      "tree": "3f0583740c18258ab793e86ae11e3a24c4acf8eb",
      "parents": [
        "3efa65b92d832873ece62b42a4268c2515943977"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Rewrite sysfs_drop_dentry.\n\nCurrently we find the dentry to drop by looking at sd-\u003es_dentry.\nWe can just as easily accomplish the same task by looking up the\nsysfs inode and finding all of the dentries from there, with the\nadded bonus that we don\u0027t need to play with the sysfs_assoc_lock.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3efa65b92d832873ece62b42a4268c2515943977",
      "tree": "c7d09674edfd683e614649564e9159066dfc1d40",
      "parents": [
        "94777e09180b6249d455baa2dbe34cf630e0c033"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Simplify readdir.\n\nAt some point someone wrote sysfs_readdir to insert a cursor\ninto the list of sysfs_dirents to ensure that sysfs_readdir would\nrestart properly.  That works but it is complex code and tends\nto be expensive.\n\nThe same effect can be achieved by keeping the sysfs_dirents in\ninode order and using the inode number as the f_pos.  Then\nwhen we restart we just have to find the first dirent whose inode\nnumber is equal or greater then the last sysfs_dirent we attempted\nto return.\n\nRemoving the sysfs directory cursor also allows the remove of\nall of the mysterious checks for sysfs_type(sd) !\u003d 0.   Which\nwere nonbovious checks to see if a cursor was in a directory list.\n\ntj: offset marker for EOF is changed from UINT_MAX to INT_MAX to avoid\n    overflow in case offset is 32bit.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "94777e09180b6249d455baa2dbe34cf630e0c033",
      "tree": "e8d31efaed978ff452045053c8b3716bbc052cf5",
      "parents": [
        "7d0c7d676cc066413e1583b5af9fba8011972d41"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: In sysfs_lookup don\u0027t open code sysfs_find_dirent\n\nThis is a small cleanup patch that makes the code just\na little bit cleaner.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7d0c7d676cc066413e1583b5af9fba8011972d41",
      "tree": "0afe89f9eca5e1e0ff31f5409a3568991cfceda2",
      "parents": [
        "0333cd8a3f4249fde2c50929a6eac35245fc685b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:07 2007 -0700"
      },
      "message": "sysfs: Make sysfs_mount static\n\nThis patch modifies the users of sysfs_mount to use sysfs_root\ninstead (which is what they are looking for).  It then\nmakes sysfs_mount static to keep people from using it\nby accident.\n\nThe net result is slightly faster and cleaner code.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0333cd8a3f4249fde2c50929a6eac35245fc685b",
      "tree": "782679dcb328100b33ccc96bb4cf0b45e8c072ef",
      "parents": [
        "119dd52be33dfe6285f586ab7354897fdefc7e23"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:29 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:07 2007 -0700"
      },
      "message": "sysfs: Use kill_anon_super\n\nSince sysfs no longer stores fs directory information in the dcache\non a permanent basis kill_litter_super it is inappropriate and actively\nwrong.  It will decrement the count on all dentries left in the\ndcache before trying to free them.\n\nAt the moment this is not biting us only because we never unmount sysfs.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "119dd52be33dfe6285f586ab7354897fdefc7e23",
      "tree": "f7422f753f3605401d4ee0a34b85fb7a0038fbf3",
      "parents": [
        "372e88bd1922228e0a55228f6dc8e311d1696fa0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:29 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:07 2007 -0700"
      },
      "message": "sysfs: Remove sysfs_instantiate\n\nNow that sysfs_get_inode is dropping the inode lock\nwe no longer have a need from sysfs_instantiate.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "372e88bd1922228e0a55228f6dc8e311d1696fa0",
      "tree": "3f078e13b55a4fc20fe0df5c7e85045554e536bf",
      "parents": [
        "253280267a7f1ced0c434fb24b7bef92d7d22628"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:29 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:07 2007 -0700"
      },
      "message": "sysfs: Move all of inode initialization into sysfs_init_inode\n\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "253280267a7f1ced0c434fb24b7bef92d7d22628",
      "tree": "8add8daefa3cf776daf7f042cb9341debafe54f1",
      "parents": [
        "1359555eb77d240b7c1d7ee75bb07e89e89770e4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Aug 20 21:36:29 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:07 2007 -0700"
      },
      "message": "sysfs: fix i_mutex locking in sysfs_get_dentry()\n\nlookup_one_len_kern() should be called with the parent\u0027s i_mutex\nlocked.  Fix it.\n\nSpotted by Eric W. Biederman.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a93720eeb4b3bedc1fe15e4b6ca364e6be577d20",
      "tree": "a34d58b175bd60f3ac1bb53c1427298e6cee1b2f",
      "parents": [
        "b4d1eb2ccecb76bce4c2125c5a3e77753fcfaeb0"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eike-kernel@sf-tec.de",
        "time": "Fri Aug 10 13:51:07 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:06 2007 -0700"
      },
      "message": "sysfs: Fix typos in fs/sysfs/file.c\n\nSigned-off-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "990e53f880be9ff93072b4cce590ec2826cee0b6",
      "tree": "faa7cbedef2f1d9b8d27832ccbaa28e508d134e8",
      "parents": [
        "23dc279950a056c33a14d09cf759f5173d41abd9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:03 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:04 2007 -0700"
      },
      "message": "sysfs: make sysfs_addrm_finish() return void\n\nWith the previous sysfs_add_one() update, there is only one user of\nthe return value of sysfs_addrm_finish() and the user can switch to\ntesting @sd easily.  Make sysfs_addrm_finish() return void for cleaner\nsemantics as suggested by Satyam Sharma.\n\nThis patch doesn\u0027t introduce any noticeable behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Satyam Sharma \u003csatyam.sharma@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "23dc279950a056c33a14d09cf759f5173d41abd9",
      "tree": "852f8cc24c24988717dbae8f98da999ff27755fa",
      "parents": [
        "41fc1c27452e041a18e5141b8203ee0ea72bc483"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:03 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:04 2007 -0700"
      },
      "message": "sysfs: make sysfs_add_one() automatically check for duplicate entry\n\nMake sysfs_add_one() check for duplicate entry and return -EEXIST if\nsuch entry exists.  This simplifies node addition code a bit.\n\nThis patch doesn\u0027t introduce any noticeable behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "41fc1c27452e041a18e5141b8203ee0ea72bc483",
      "tree": "fc81138ca37182c25931818681630c90b018b127",
      "parents": [
        "ff869de7bf5e76adffebd3a176c1c73bca7eddb7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:03 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs: make sysfs_add/remove_one() call link/unlink_sibling() implictly\n\nWhen adding or removing a sysfs_dirent, the user used to be required\nto call link/unlink separately.  It was for two reasons - code looked\nlike that before sysfs_addrm_cxt conversion and to avoid looping\nthrough parent_sd-\u003echildren list twice during removal.\n\nPerformance optimization during removal just isn\u0027t worth it.  Make\nsysfs_add/remove_one() call sysfs_link/unlink_sibing() implicitly.\nThis makes code simpler albeit slightly less efficient.  This change\ndoesn\u0027t introduce any noticeable behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ff869de7bf5e76adffebd3a176c1c73bca7eddb7",
      "tree": "547e0a58953896eb897cdd2bf5eb89cfdfff450a",
      "parents": [
        "a7a0475497f9018e2e28cd421ee467d2ad68643e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:02 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs: simplify sysfs_rename_dir()\n\nWith the shadow directories gone, sysfs_rename_dir() can be simplified.\n\n* parent doesn\u0027t need to be grabbed separately.  Just access\n  old_dentry-\u003ed_parent.\n\n* parent sd can never change.  Remove code to move under the new\n  parent.\n\n* Massage comments a bit.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a7a0475497f9018e2e28cd421ee467d2ad68643e",
      "tree": "14d5f86f5aa37abc127dd575c928739694fffb7a",
      "parents": [
        "90bc61359de0148f8627073d68a22edc7ed9893d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:02 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs: cosmetic changes in sysfs_lookup()\n\n* remove space between * and symbol name in variable declaration.\n\n* kill unnecessary new line.\n\n* kill \u0027found\u0027 and test \u0027sd\u0027 instead.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "90bc61359de0148f8627073d68a22edc7ed9893d",
      "tree": "b054bf0cb9bda41dab498086216f4c0253b2c5ed",
      "parents": [
        "869512ab5ab93e5e82ad7d4aaf4ed098d23bfc3f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 31 19:15:08 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs: Remove first pass at shadow directory support\n\nWhile shadow directories appear to be a good idea, the current scheme\nof controlling their creation and destruction outside of sysfs appears\nto be a locking and maintenance nightmare in the face of sysfs\ndirectories dynamically coming and going.  Which can now occur for\ndirectories containing network devices when CONFIG_SYSFS_DEPRECATED is\nnot set.\n\nThis patch removes everything from the initial shadow directory support\nthat allowed the shadow directory creation to be controlled at a higher\nlevel.  So except for a few bits of sysfs_rename_dir everything from\ncommit b592fcfe7f06c15ec11774b5be7ce0de3aa86e73 is now gone.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "869512ab5ab93e5e82ad7d4aaf4ed098d23bfc3f"
}
