)]}'
{
  "log": [
    {
      "commit": "6ee650467d5bf972d10441e99688e9b48171f99c",
      "tree": "34e851884d9fed7a4a24836b85934c931d8110f5",
      "parents": [
        "f26a3988917913b3d11b2bd741601a2c64ab9204"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Tue Apr 29 15:01:13 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 17 03:27:27 2008 -0400"
      },
      "message": "[PATCH] open sessionid permissions\n\nThe current permissions on sessionid are a little too restrictive.\n\nSigned-off-by: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "289f8e27ed435dcbefad132def06f4e84351e94f",
      "tree": "e5b3f6206111d5ba1c71eb13a2f01813f4403cee",
      "parents": [
        "c8894419acf5e56851de9741c5047bebd78acd1f"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon May 12 14:02:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:24 2008 -0700"
      },
      "message": "capabilities: add bounding set to /proc/self/status\n\nThere is currently no way to query the bounding set of another task.  As there\nappears to be no security reason not to, and as Michael Kerrisk points out the\nfollowing valid reasons to do so exist:\n\n* consistency (I can see all of the other per-thread/process sets in\n  /proc/.../status)\n\n* debugging -- I could imagine that it would make the job of debugging an\n  application that uses capabilities a little simpler.\n\nthis patch adds the bounding set to /proc/self/status right after the\neffective set.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19566ca6dc26600bae4b75701d4dced8d8540f16",
      "tree": "5e1f732b80b0db2192cb184f11dde147b5ed1aee",
      "parents": [
        "f7c83a0aaa772f8d0189fa197d77c762caaa367a"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Thu May 08 22:36:27 2008 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:56:22 2008 -0700"
      },
      "message": "fs/proc/task_mmu.c: remove duplicated include files\n\nRemoved duplicated include files \u003clinux/ptrace.h\u003e and \u003clinux/seq_file.h\u003e in\nfs/proc/task_mmu.c.\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb28062f131b0a1da32b2554fd819af5221040de",
      "tree": "d952084a2c3258965a24f8cb22c3704f30107a1f",
      "parents": [
        "d0dcd41d7b463de955b7ae7a55f76ff4216ed665"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "cooloney@kernel.org",
        "time": "Sun May 04 23:12:55 2008 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 04 17:08:48 2008 -0700"
      },
      "message": "task_nommu: fix compile failing bug because of spilt file.h\n\n  CC      fs/proc/task_nommu.o\nfs/proc/task_nommu.c: In function ‘task_mem’:\nfs/proc/task_nommu.c:55: error: dereferencing pointer to incomplete type\nmake[2]: *** [fs/proc/task_nommu.o] Error 1\nmake[1]: *** [fs/proc] Error 2\nmake: *** [fs] Error 2\n\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f9faaace217b854ae1e1746ee4ac44688ddadbd",
      "tree": "34122d9e84349a394988d6bfc480115e4809776a",
      "parents": [
        "bf640be423d60d954b9673527e106a461a129eb8",
        "f37f2c62a28e848e06399ea2f9be1e098212625c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 03 10:18:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 03 10:18:21 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)\n  rose: Wrong list_lock argument in rose_node seqops\n  netns: Fix reassembly timer to use the right namespace\n  netns: Fix device renaming for sysfs\n  bnx2: Update version to 1.7.5.\n  bnx2: Update RV2P firmware for 5709.\n  bnx2: Zero out context memory for 5709.\n  bnx2: Fix register test on 5709.\n  bnx2: Fix remote PHY initial link state.\n  bnx2: Refine remote PHY locking.\n  bridge: forwarding table information for \u003e256 devices\n  tg3: Update version to 3.92\n  tg3: Add link state reporting to UMP firmware\n  tg3: Fix ethtool loopback test for 5761 BX devices\n  tg3: Fix 5761 NVRAM sizes\n  tg3: Use constant 500KHz MI clock on adapters with a CPMU\n  hci_usb.h: fix hard-to-trigger race\n  dccp: ccid2.c, ccid3.c use clamp(), clamp_t()\n  net: remove NR_CPUS arrays in net/core/dev.c\n  net: use get/put_unaligned_* helpers\n  bluetooth: use get/put_unaligned_* helpers\n  ...\n"
    },
    {
      "commit": "78e92b99ec4eb73755abd4e357b0b211eadafd88",
      "tree": "8db0049da6d0ce0a968b11fae12f3f91664881dd",
      "parents": [
        "8b169240e266d7fc58d9b9077d18d50a548d9732"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri May 02 04:12:41 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 02 04:12:41 2008 -0700"
      },
      "message": "netns: assign PDE-\u003edata before gluing entry into /proc tree\n\nIn this unfortunate case, proc_mkdir_mode wrapper can\u0027t be used anymore and\nthis is no way to reuse proc_create_data due to nlinks assignment. So,\ncopy the code from proc_mkdir and assign PDE-\u003edata at the appropriate\nmoment.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f3acc3140444a900ab280de942291959f0f615d",
      "tree": "0d7f3f9698071ff90fb9a127a4c6e86e1c37c945",
      "parents": [
        "a2dcb44c3c5a8151d2d9f6ac8ad0789efcdbe184"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 24 07:44:08 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 01 13:08:16 2008 -0400"
      },
      "message": "[PATCH] split linux/file.h\n\nInitial splitoff of the low-level stuff; taken to fdtable.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fc3ba692a4d19019387c5acaea63131f9eab05dd",
      "tree": "c86e025cb8f79c7ffc479029989b7378bcb9f285",
      "parents": [
        "dd5656e59ca7b25fb60a22f9079905ed0da5ed0c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "mm: Add NR_WRITEBACK_TEMP counter\n\nFuse will use temporary buffers to write back dirty data from memory mappings\n(normal writes are done synchronously).  This is needed, because there cannot\nbe any guarantee about the time in which a write will complete.\n\nBy using temporary buffers, from the MM\u0027s point if view the page is written\nback immediately.  If the writeout was due to memory pressure, this\neffectively migrates data from a full zone to a less full zone.\n\nThis patch adds a new counter (NR_WRITEBACK_TEMP) for the number of pages used\nas temporary buffers.\n\n[Lee.Schermerhorn@hp.com: add vmstat_text for NR_WRITEBACK_TEMP]\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f34d7a5b7010b82fe97da95496b9971435530062",
      "tree": "87e2abec1e33ed4fe5e63ee2fd000bc2ad745e57",
      "parents": [
        "251b8dd7eee30fda089a1dc088abf4fc9a0dee9c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:54:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:47 2008 -0700"
      },
      "message": "tty: The big operations rework\n\n- Operations are now a shared const function block as with most other Linux\n  objects\n\n- Introduce wrappers for some optional functions to get consistent behaviour\n\n- Wrap put_char which used to be patched by the tty layer\n\n- Document which functions are needed/optional\n\n- Make put_char report success/fail\n\n- Cache the driver-\u003eops pointer in the tty as tty-\u003eops\n\n- Remove various surplus lock calls we no longer need\n\n- Remove proc_write method as noted by Alexey Dobriyan\n\n- Introduce some missing sanity checks where certain driver/ldisc\n  combinations would oops as they didn\u0027t check needed methods were present\n\n[akpm@linux-foundation.org: fix fs/compat_ioctl.c build]\n[akpm@linux-foundation.org: fix isicom]\n[akpm@linux-foundation.org: fix arch/ia64/hp/sim/simserial.c build]\n[akpm@linux-foundation.org: fix kgdb]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d0fdf1e01899805b6c2c0b789a707dcb731b1ea",
      "tree": "19827c7b3cf365c0b403741ead6c7bc317cad51b",
      "parents": [
        "575537b3248ee9b7578a3bb3df33fcdda2bfc4d5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:40 2008 -0700"
      },
      "message": "tty_io: fix remaining pid struct locking\n\nThis fixes the last couple of pid struct locking failures I know about.\n\n[oleg@tv-sign.ru: clean up do_task_stat()]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06fffb1267c9d986687b69d74a46ee332a50575e",
      "tree": "bfbef85a5fa65550f40d83e75d8e23cea5238772",
      "parents": [
        "d6cf723a142f63ccb92272bc0e9bfffd3c3a5cac"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "do_task_stat: don\u0027t take rcu_read_lock()\n\nlock_task_sighand() was changed, and do_task_stat() doesn\u0027t need\nrcu_read_lock any longer.  sighand-\u003esiglock protects all \"interesting\"\nfields.\n\nExcept: it doesn\u0027t protect -\u003etty-\u003epgrp, but neither does rcu_read_lock(), this\nshould be fixed.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Pavel Emelyanov \u003cxemul@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7321cd62470b70d2717dae5a963e7a8fabff4d5",
      "tree": "1e3468e44239a310b03c3f8dabf754e64b6ad281",
      "parents": [
        "2c4c7155f25192da3511a6c911db4d08102d36c4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:02:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:23 2008 -0700"
      },
      "message": "sysctl: add the -\u003epermissions callback on the ctl_table_root\n\nWhen reading from/writing to some table, a root, which this table came from,\nmay affect this table\u0027s permissions, depending on who is working with the\ntable.\n\nThe core hunk is at the bottom of this patch.  All the rest is just pushing\nthe ctl_table_root argument up to the sysctl_perm() function.\n\nThis will be mostly (only?) used in the net sysctls.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7708bfb1c855f2a076ef71cc21647deea022ebe7",
      "tree": "9e4ba2b0074217b30a684eb9e77f6619434f4577",
      "parents": [
        "1a46674b996bf9a15f0333178f5829ca2d7c32e2"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:02:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:23 2008 -0700"
      },
      "message": "sysctl: merge equal proc_sys_read and proc_sys_write\n\nMany (most of) sysctls do not have a per-container sense.  E.g.\nkernel.print_fatal_signals, vm.panic_on_oom, net.core.netdev_budget and so on\nand so forth.  Besides, tuning then from inside a container is not even\nsecure.  On the other hand, hiding them completely from the container\u0027s tasks\nsometimes causes user-space to stop working.\n\nWhen developing net sysctl, the common practice was to duplicate a table and\ndrop the write bits in table-\u003emode, but this approach was not very elegant,\nlead to excessive memory consumption and was not suitable in general.\n\nHere\u0027s the alternative solution.  To facilitate the per-container sysctls\nctl_table_root-s were introduced.  Each root contains a list of\nctl_table_header-s that are visible to different namespaces.  The idea of this\nset is to add the permissions() callback on the ctl_table_root to allow ctl\nroot limit permissions to the same ctl_table-s.\n\nThe main user of this functionality is the net-namespaces code, but later this\nwill (should) be used by more and more namespaces, containers and control\ngroups.\n\nActually, this idea\u0027s core is in a single hunk in the third patch.  First two\npatches are cleanups for sysctl code, while the third one mostly extends the\narguments set of some sysctl functions.\n\nThis patch:\n\nThese -\u003eread and -\u003ewrite callbacks act in a very similar way, so merge these\npaths to reduce the number of places to patch later and shrink the .text size\n(a bit).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59b7435149eab2dd06dd678742faff6049cb655f",
      "tree": "ceadbf157a001b83a3ab2c89156426e88a782208",
      "parents": [
        "b640a89ddd742782bd2d83873da30d4776d1b9c6"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 29 01:02:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:20 2008 -0700"
      },
      "message": "proc: introduce proc_create_data to setup de-\u003edata\n\nThis set of patches fixes an proc -\u003eopen\u0027less usage due to -\u003eproc_fops flip in\nthe most part of the kernel code.  The original OOPS is described in the\ncommit 2d3a4e3666325a9709cc8ea2e88151394e8f20fc:\n\n    Typical PDE creation code looks like:\n\n    \tpde \u003d create_proc_entry(\"foo\", 0, NULL);\n    \tif (pde)\n    \t\tpde-\u003eproc_fops \u003d \u0026foo_proc_fops;\n\n    Notice that PDE is first created, only then -\u003eproc_fops is set up to\n    final value. This is a problem because right after creation\n    a) PDE is fully visible in /proc , and\n    b) -\u003eproc_fops are proc_file_operations which do not have -\u003eopen callback. So, it\u0027s\n       possible to -\u003eread without -\u003eopen (see one class of oopses below).\n\n    The fix is new API called proc_create() which makes sure -\u003eproc_fops are\n    set up before gluing PDE to main tree. Typical new code looks like:\n\n    \tpde \u003d proc_create(\"foo\", 0, NULL, \u0026foo_proc_fops);\n    \tif (!pde)\n    \t\treturn -ENOMEM;\n\n    Fix most networking users for a start.\n\n    In the long run, create_proc_entry() for regular files will go.\n\nIn addition to this, proc_create_data is introduced to fix reading from\nproc without PDE-\u003edata. The race is basically the same as above.\n\ncreate_proc_entries is replaced in the entire kernel code as new method\nis also simply better.\n\nThis patch:\n\nThe problem is the same as for de-\u003eproc_fops.  Right now PDE becomes visible\nwithout data set.  So, the entry could be looked up without data.  This, in\nmost cases, will simply OOPS.\n\nproc_create_data call is created to address this issue.  proc_create now\nbecomes a wrapper around it.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Jaroslav Kysela \u003cperex@suse.cz\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Karsten Keil \u003ckkeil@suse.de\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Osterlund \u003cpetero2@telia.com\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b640a89ddd742782bd2d83873da30d4776d1b9c6",
      "tree": "1aa331c52bef2eb813bd39d1738dc401a7e70f6d",
      "parents": [
        "8731f14d37825b54ad0c4c309cba2bc8fdf13a86"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:20 2008 -0700"
      },
      "message": "proc: convert /proc/tty/ldiscs to seq_file interface\n\nNote: THIS_MODULE and header addition aren\u0027t technically needed because\n      this code is not modular, but let\u0027s keep it anyway because people\n      can copy this code into modular code.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.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": "8731f14d37825b54ad0c4c309cba2bc8fdf13a86",
      "tree": "6f0d6d646ad6c1c5b4765953fea004c1758961be",
      "parents": [
        "352ced8e594091d74b92da9bcf07aea81d37ac55"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:19 2008 -0700"
      },
      "message": "proc: remove -\u003eget_info infrastructure\n\nNow that last dozen or so users of -\u003eget_info were removed, ditch it too.\nEveryone sane shouldd have switched to seq_file interface long ago.\n\nP.S.: Co-existing 3 interfaces (-\u003eget_info/-\u003eread_proc/-\u003eproc_fops) for proc\n      is long-standing crap, BTW, thus\n      a) put -\u003eread_proc/-\u003ewrite_proc/read_proc_entry() users on death row,\n      b) new such users should be rejected,\n      c) everyone is encouraged to convert his favourite -\u003eread_proc user or\n         I\u0027ll do it, lazy bastards.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c74c120a21d87b0b6925ada5830d8cac21e852d9",
      "tree": "79558a29ecadc7b71eeb5bdf0945680f0560b2ed",
      "parents": [
        "928b4d8c8963e75bdb133f562b03b07f9aa4844a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_root from drivers\n\nRemove proc_root export.  Creation and removal works well if parent PDE is\nsupplied as NULL -- it worked always that way.\n\nSo, one useless export removed and consistency added, some drivers created\nPDEs with \u0026proc_root as parent but removed them as NULL and so on.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "928b4d8c8963e75bdb133f562b03b07f9aa4844a",
      "tree": "18de7e85fe403f681a954ed04254b2d9085e7fe4",
      "parents": [
        "36a5aeb8787fbf92510ed20d806e229c55726f93"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_root_driver\n\nUse creation by full path: \"driver/foo\".\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "36a5aeb8787fbf92510ed20d806e229c55726f93",
      "tree": "7e6efd56b357a3f66a72b3e0d7540116214db338",
      "parents": [
        "9c37066d888bf6e1b96ad12304971b3ddeabbad0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_root_fs\n\nUse creation by full path instead: \"fs/foo\".\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "9c37066d888bf6e1b96ad12304971b3ddeabbad0",
      "tree": "87f39924be4d36b25918cf7a90eb0db7743cba99",
      "parents": [
        "5e971dce0b2f6896e02372512df0d1fb0bfe2d55"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_bus\n\nRemove proc_bus export and variable itself. Using pathnames works fine\nand is slightly more understandable and greppable.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "5e971dce0b2f6896e02372512df0d1fb0bfe2d55",
      "tree": "bce0356470331c49c92b87042103034e55beaa8e",
      "parents": [
        "7cee4e00e0f8aa7290266382ea903a5a1b92c9a1"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: drop several \"PDE valid/invalid\" checks\n\nproc-misc code is noticeably full of \"if (de)\" checks when PDE passed is\nalways valid.  Remove them.\n\nAddition of such check in proc_lookup_de() is for failed lookup case.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "7cee4e00e0f8aa7290266382ea903a5a1b92c9a1",
      "tree": "3d4ca2241e122f3358433b26538d952eda0226c5",
      "parents": [
        "f649d6d32605c7573884613289fb3b9fbd4f99a1"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "proc: less special case in xlate code\n\nIf valid \"parent\" is passed to proc_create/remove_proc_entry(), then name of\nPDE should consist of only one path component, otherwise creation or or\nremoval will fail.  However, if NULL is passed as parent then create/remove\naccept full path as a argument.  This is arbitrary restriction -- all\ninfrastructure is in place.\n\nSo, patch allows the following to succeed:\n\n\tcreate_proc_entry(\"foo/bar\", 0, pde_baz);\n\tremove_proc_entry(\"baz/foo/bar\", \u0026proc_root);\n\nAlso makes the following to behave identically:\n\n\tcreate_proc_entry(\"foo/bar\", 0, NULL);\n\tcreate_proc_entry(\"foo/bar\", 0, \u0026proc_root);\n\nDiscrepancy noticed by Den Lunev (IIRC).\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "f649d6d32605c7573884613289fb3b9fbd4f99a1",
      "tree": "3fe52e6e5e93edc2f011d8047a8e3ac2eee71930",
      "parents": [
        "638fa202cdb207083a12d6f73e313605a8fc1037"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "proc: simplify locking in remove_proc_entry()\n\nproc_subdir_lock protects only modifying and walking through PDE lists, so\nafter we\u0027ve found PDE to remove and actually removed it from lists, there is\nno need to hold proc_subdir_lock for the rest of operation.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "638fa202cdb207083a12d6f73e313605a8fc1037",
      "tree": "e049d74e9f7e15a55149dc17482572c8b2aefa18",
      "parents": [
        "0d5c9f5f59a61cf8e98e2925cb5d81cbe7694305"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Apr 29 01:01:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "procfs: mem permission cleanup\n\nThis cleans up the permission checks done for /proc/PID/mem i/o calls.  It\nputs all the logic in a new function, check_mem_permission().\n\nThe old code repeated the (!MAY_PTRACE(task) || !ptrace_may_attach(task))\nmagical expression multiple times.  The new function does all that work in one\nplace, with clear comments.\n\nThe old code called security_ptrace() twice on successful checks, once in\nMAY_PTRACE() and once in __ptrace_may_attach().  Now it\u0027s only called once,\nand only if all other checks have succeeded.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d5c9f5f59a61cf8e98e2925cb5d81cbe7694305",
      "tree": "f0df6740f1797cd2ac76a684d29fa9162fd61816",
      "parents": [
        "925d1c401fa6cfd0df5d2e37da8981494ccdec07"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "proc: switch to proc_create()\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "925d1c401fa6cfd0df5d2e37da8981494ccdec07",
      "tree": "4f3b7a09311cd99783b822350628125e44f9902d",
      "parents": [
        "e93b4ea20adb20f1f1f07f10ba5d7dd739d2843e"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Tue Apr 29 01:01:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "procfs task exe symlink\n\nThe kernel implements readlink of /proc/pid/exe by getting the file from\nthe first executable VMA.  Then the path to the file is reconstructed and\nreported as the result.\n\nBecause of the VMA walk the code is slightly different on nommu systems.\nThis patch avoids separate /proc/pid/exe code on nommu systems.  Instead of\nwalking the VMAs to find the first executable file-backed VMA we store a\nreference to the exec\u0027d file in the mm_struct.\n\nThat reference would prevent the filesystem holding the executable file\nfrom being unmounted even after unmapping the VMAs.  So we track the number\nof VM_EXECUTABLE VMAs and drop the new reference when the last one is\nunmapped.  This avoids pinning the mounted filesystem.\n\n[akpm@linux-foundation.org: improve comments]\n[yamamoto@valinux.co.jp: fix dup_mmap]\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc:\"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e93b4ea20adb20f1f1f07f10ba5d7dd739d2843e",
      "tree": "69afed8fb7a13a0dd9e1f1e1dbfc663620d78363",
      "parents": [
        "7249db2c281ac688977ecc6862cdee9969d310e2"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "proc: print more information when removing non-empty directories\n\nThis usually saves one recompile to insert similar printk like below. :)\n\nSample nastygram:\n\nremove_proc_entry: removing non-empty directory \u0027/proc/foo\u0027, leaking at least \u0027bar\u0027\n------------[ cut here ]------------\nWARNING: at fs/proc/generic.c:776 remove_proc_entry+0x18a/0x200()\nModules linked in: foo(-) container fan battery dock sbs ac sbshc backlight ipv6 loop af_packet amd_rng sr_mod i2c_amd8111 i2c_amd756 cdrom i2c_core button thermal processor\nPid: 3034, comm: rmmod Tainted: G   M     2.6.25-rc1 #5\n\nCall Trace:\n [\u003cffffffff80231974\u003e] warn_on_slowpath+0x64/0x90\n [\u003cffffffff80232a6e\u003e] printk+0x4e/0x60\n [\u003cffffffff802d6c8a\u003e] remove_proc_entry+0x18a/0x200\n [\u003cffffffff8045cd88\u003e] mutex_lock_nested+0x1c8/0x2d0\n [\u003cffffffff8025f0f0\u003e] __try_stop_module+0x0/0x40\n [\u003cffffffff8025effd\u003e] sys_delete_module+0x14d/0x200\n [\u003cffffffff8045df3d\u003e] lockdep_sys_exit_thunk+0x35/0x67\n [\u003cffffffff8031c307\u003e] __up_read+0x27/0xa0\n [\u003cffffffff8045decc\u003e] trace_hardirqs_on_thunk+0x35/0x3a\n [\u003cffffffff8020b6ab\u003e] system_call_after_swapgs+0x7b/0x80\n\n---[ end trace 10ef850597e89c54 ]---\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: 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": "214e471ff99064726b2d8af3aa0e24a73c775531",
      "tree": "a78674e56c27db43490cac0ef7c121e845051b62",
      "parents": [
        "e20b8cca760ed2a6abcfe37ef56f2306790db648"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Apr 28 02:12:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:22 2008 -0700"
      },
      "message": "smaps: account swap entries\n\nShow the amount of swap for each vma.  This can be used to see where all the\nswap goes.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a10aa579878fc6f9cd17455067380bbdf1d53c91",
      "tree": "c42fbb1e9422e5334c2207cafed4a2b5b1ad16c4",
      "parents": [
        "b45445684198a946b587732265692e6495993abf"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "vmalloc: show vmalloced areas via /proc/vmallocinfo\n\nImplement a new proc file that allows the display of the currently allocated\nvmalloc memory.\n\nIt allows to see the users of vmalloc.  That is important if vmalloc space is\nscarce (i386 for example).\n\nAnd it\u0027s going to be important for the compound page fallback to vmalloc.\nMany of the current users can be switched to use compound pages with fallback.\n This means that the number of users of vmalloc is reduced and page tables no\nlonger necessary to access the memory.  /proc/vmallocinfo allows to review how\nthat reduction occurs.\n\nIf memory becomes fragmented and larger order allocations are no longer\npossible then /proc/vmallocinfo allows to see which compound page allocations\nfell back to virtual compound pages.  That is important for new users of\nvirtual compound pages.  Such as order 1 stack allocation etc that may\nfallback to virtual compound pages in the future.\n\n/proc/vmallocinfo permissions are made readable-only-by-root to avoid possible\ninformation leakage.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: CONFIG_MMU\u003dn build fix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d02dbc8137759e4c2f91db0b7f9c8a1ec2a9276",
      "tree": "f08ac5f852d81afb593f80e7bbd0a0a7cff3fb2f",
      "parents": [
        "3c18ddd160d1fcd46d1131d9ad6c594dd8e9af99"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Apr 28 02:12:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "make swap_pte_to_pagemap_entry() static\n\nMake the needlessly global swap_pte_to_pagemap_entry() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d4d4864ac08caff5c204a752bd004eed4f08760",
      "tree": "a8907c33afae589146fdcd06eacd740aff48c6a1",
      "parents": [
        "a1a2c409b666befc58c2db9c7fbddf200f153470"
      ],
      "author": {
        "name": "Ram Pai",
        "email": "linuxram@us.ibm.com",
        "time": "Thu Mar 27 13:06:25 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:05:03 2008 -0400"
      },
      "message": "[patch 6/7] vfs: mountinfo: add /proc/\u003cpid\u003e/mountinfo\n\n[mszeredi@suse.cz] rewrite and split big patch into managable chunks\n\n/proc/mounts in its current form lacks important information:\n\n - propagation state\n - root of mount for bind mounts\n - the st_dev value used within the filesystem\n - identifier for each mount and it\u0027s parent\n\nIt also suffers from the following problems:\n\n - not easily extendable\n - ambiguity of mountpoints within a chrooted environment\n - doesn\u0027t distinguish between filesystem dependent and independent options\n - doesn\u0027t distinguish between per mount and per super block options\n\nThis patch introduces /proc/\u003cpid\u003e/mountinfo which attempts to address\nall these deficiencies.\n\nCode shared between /proc/\u003cpid\u003e/mounts and /proc/\u003cpid\u003e/mountinfo is\nextracted into separate functions.\n\nThanks to Al Viro for the help in getting the design right.\n\nSigned-off-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a1a2c409b666befc58c2db9c7fbddf200f153470",
      "tree": "3ea8e4c8f1311436939492d70de23dcf185994de",
      "parents": [
        "719f5d7f0b90ac2c8f8ca4232eb322b266fea01e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Mar 27 13:06:24 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:57 2008 -0400"
      },
      "message": "[patch 5/7] vfs: mountinfo: allow using process root\n\nAllow /proc/\u003cpid\u003e/mountinfo to use the root of \u003cpid\u003e to calculate\nmountpoints.\n\n - move definition of \u0027struct proc_mounts\u0027 to \u003clinux/mnt_namespace.h\u003e\n - add the process\u0027s namespace and root to this structure\n - pass a pointer to \u0027struct proc_mounts\u0027 into seq_operations\n\nIn addition the following cleanups are made:\n\n - use a common open function for /proc/\u003cpid\u003e/{mounts,mountstat}\n - surround namespace.c part of these proc files with #ifdef CONFIG_PROC_FS\n - make the seq_operations structures const\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9b4f526cdc0f95f635607dfba6ac788b3deca188",
      "tree": "f9f324dbd88856fdaeff1d0146059806bacba26f",
      "parents": [
        "ed1524371716466e9c762808b02601d0d0276a92"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 01:32:44 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 19:55:03 2008 -0400"
      },
      "message": "[PATCH] proc_readfd_common() race fix\n\nSince we drop the rcu_read_lock inside the loop, we can\u0027t assume\nthat files-\u003efdt will remain unchanged (and not freed) between\niterations.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3bb5da3837cc1aa17736b05139c9a22c3794851a",
      "tree": "c92d5684a866542b1cb20641607ac1643ce03a47",
      "parents": [
        "7feb49c82a74bc7c091b8ab2a3f96baa33d08ece",
        "9597362d354f8655ece324b01d0c640a0e99c077"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:33:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:33:42 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "856f6ff7a3132c8e412b23a7b9157b68ac9a2baf",
      "tree": "750014db3db30a0bf51f0d35389c59d45c5d673c",
      "parents": [
        "225c0a0107735597100dc4133cd88c5ed10d9e63"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Apr 02 00:10:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 00:10:04 2008 -0700"
      },
      "message": "[NETNS]: Remove ifdef CONFIG_NET braces in fs/proc/proc_net.c.\n\nThey are redundant as this file is linked in iff CONFIG_NET is turned\non.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e5f8be1388093edc324a78ebf241170b258eba3",
      "tree": "1b5491f78edba6bc3d463e4190deff22f10dff74",
      "parents": [
        "5983a3dff0036d7ef6a2139473564f4f3e7b2a11"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Mar 27 14:25:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 27 14:25:53 2008 -0700"
      },
      "message": "[NETNS]: Compile NET /proc support only if CONFIG_NET is set.\n\nThis fix broken compilation for \u0027allnoconfig\u0027. This was introduced by\nIntroduced by commit 1218854afa6f659be90b748cf1bc7badee954a35 (\"[NET]\nNETNS: Omit seq_net_private-\u003enet without CONFIG_NET_NS.\")\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1218854afa6f659be90b748cf1bc7badee954a35",
      "tree": "78b83e3941fa7e5a03c04e2e4f6ddb1a08ea38a0",
      "parents": [
        "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:36:06 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:56 2008 +0900"
      },
      "message": "[NET] NETNS: Omit seq_net_private-\u003enet without CONFIG_NET_NS.\n\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists,\nno need to store net in seq_net_private.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "f16278c679aa72e28288435b313ba2d4494d6be5",
      "tree": "00bf8421f056748a5725f2aa165614f69672cc4e",
      "parents": [
        "51ec92e295d563dd5712d198a7e46c2ae5ccccb2"
      ],
      "author": {
        "name": "Hans Rosenfeld",
        "email": "hans.rosenfeld@amd.com",
        "time": "Fri Mar 21 18:46:59 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 22 17:03:10 2008 -0700"
      },
      "message": "Change pagemap output format to allow for future reporting of huge pages\n\nChange pagemap output format to allow for future reporting of huge pages.\n\n(Format comment and minor cleanups: mpm@selenic.com)\n\nSigned-off-by: Hans Rosenfeld \u003chans.rosenfeld@amd.com\u003e\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d3628b230ecbdc29566c18bc7800ff8ed66a71f",
      "tree": "eac1bff40bdb655fdfdeaf1e22ce12a81296f1fb",
      "parents": [
        "2c7871982cf27caaddbaeb7e2121ce1374b520ff",
        "94833dfb8c98ed4ca1944dd2c1339d88a2d1c758"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 21 07:57:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 21 07:57:45 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (46 commits)\n  [NET] ifb: set separate lockdep classes for queue locks\n  [IPV6] KCONFIG: Fix description about IPV6_TUNNEL.\n  [TCP]: Fix shrinking windows with window scaling\n  netpoll: zap_completion_queue: adjust skb-\u003eusers counter\n  bridge: use time_before() in br_fdb_cleanup()\n  [TG3]: Fix build warning on sparc32.\n  MAINTAINERS: bluez-devel is subscribers-only\n  audit: netlink socket can be auto-bound to pid other than current-\u003epid (v2)\n  [NET]: Fix permissions of /proc/net\n  [SCTP]: Fix a race between module load and protosw access\n  [NETFILTER]: ipt_recent: sanity check hit count\n  [NETFILTER]: nf_conntrack_h323: logical-bitwise \u0026 confusion in process_setup()\n  [RT2X00] drivers/net/wireless/rt2x00/rt2x00dev.c: remove dead code, fix warning\n  [IPV4]: esp_output() misannotations\n  [8021Q]: vlan_dev misannotations\n  xfrm: -\u003eeth_proto is __be16\n  [IPV4]: ipv4_is_lbcast() misannotations\n  [SUNRPC]: net/* NULL noise\n  [SCTP]: fix misannotated __sctp_rcv_asconf_lookup()\n  [PKT_SCHED]: annotate cls_u32\n  ...\n"
    },
    {
      "commit": "4f42c288e66a3395e94158badbd182b2dae8eccb",
      "tree": "647a3d4fdeabdd36b29de8b4e8197123ee133fe6",
      "parents": [
        "270637abff0cdf848b910b9f96ad342e1da61c66"
      ],
      "author": {
        "name": "Andre Noll",
        "email": "maan@systemlinux.org",
        "time": "Thu Mar 20 15:27:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 20 15:27:28 2008 -0700"
      },
      "message": "[NET]: Fix permissions of /proc/net\n\ncommit e9720ac ([NET]: Make /proc/net a symlink on /proc/self/net (v3))\nbroke ganglia and probably other applications that read /proc/net/dev.\n\nThis is due to the change of permissions of /proc/net that was\nintroduced in that commit.\n\nBefore: dr-xr-xr-x 5 root root 0 Mar 19 11:30 /proc/net\nAfter: dr-xr--r-- 5 root root 0 Mar 19 11:29 /proc/self/net\n\nThis patch restores the permissions to the old value which makes\nganglia happy again.\n\nPavel Emelyanov says:\n\n\tThis also broke the postfix, as it was reported in bug #10286\n\tand described in detail by Benjamin.\n\nSigned-off-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e0bd7550ea9cf474b1ad4c6ff5729a507f75fdc",
      "tree": "06e2df8c0f07339e55f7c410e43094dd91a99892",
      "parents": [
        "bde4f8fa8db2abd5ac9c542d76012d0fedab050f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Mar 13 08:15:31 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 18 10:51:22 2008 -0400"
      },
      "message": "[PATCH] export sessionid alongside the loginuid in procfs\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fb39380b8d683b55630ba5ba381f4e43e417420e",
      "tree": "4fa4386d054b2af1b66651f8cc3d87eeb48ebf73",
      "parents": [
        "b500ce8d24d1f14426643da5f6fada28c1f60533"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo@kvack.org",
        "time": "Thu Mar 13 12:32:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 13 13:11:43 2008 -0700"
      },
      "message": "pagemap: proper read error handling\n\nFix pagemap_read() error handling by releasing acquired resources and checking\nfor get_user_pages() partial failure.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "609eb39c8d8a8d2930780428f6cbe2f63eb84734",
      "tree": "0cf74a0e6e64531b31c5a1c9d45fbcb88f5e4d1f",
      "parents": [
        "123d43acd2e55cd7db792d17c7e906db42cada42",
        "22626216c46f2ec86287e75ea86dd9ac3df54265"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 12 13:08:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 12 13:08:09 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)\n  [SCTP]: Fix local_addr deletions during list traversals.\n  net: fix build with CONFIG_NET\u003dn\n  [TCP]: Prevent sending past receiver window with TSO (at last skb)\n  rt2x00: Add new D-Link USB ID\n  rt2x00: never disable multicast because it disables broadcast too\n  libertas: fix the \u0027compare command with itself\u0027 properly\n  drivers/net/Kconfig: fix whitespace for GELIC_WIRELESS entry\n  [NETFILTER]: nf_queue: don\u0027t return error when unregistering a non-existant handler\n  [NETFILTER]: nfnetlink_queue: fix EPERM when binding/unbinding and instance 0 exists\n  [NETFILTER]: nfnetlink_log: fix EPERM when binding/unbinding and instance 0 exists\n  [NETFILTER]: nf_conntrack: replace horrible hack with ksize()\n  [NETFILTER]: nf_conntrack: add \\n to \"expectation table full\" message\n  [NETFILTER]: xt_time: fix failure to match on Sundays\n  [NETFILTER]: nfnetlink_log: fix computation of netlink skb size\n  [NETFILTER]: nfnetlink_queue: fix computation of allocated size for netlink skb.\n  [NETFILTER]: nfnetlink: fix ifdef in nfnetlink_compat.h\n  [NET]: include \u003clinux/types.h\u003e into linux/ethtool.h for __u* typedef\n  [NET]: Make /proc/net a symlink on /proc/self/net (v3)\n  RxRPC: fix rxrpc_recvmsg()\u0027s returning of msg_name\n  net/enc28j60: oops fix\n  ...\n"
    },
    {
      "commit": "b2211a361a4289c83971f89da53fe2eb9e72769d",
      "tree": "e73ba46c7d54199ccef2ec378569d29501179bf5",
      "parents": [
        "5ea3a7480606cef06321cd85bc5113c72d2c7c68"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Mar 11 18:03:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 11 18:03:35 2008 -0700"
      },
      "message": "net: fix build with CONFIG_NET\u003dn\n\nfs/built-in.o:(.rodata+0x1134): undefined reference to `proc_net_inode_operations\u0027\nfs/built-in.o:(.rodata+0x1138): undefined reference to `proc_net_operations\u0027\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9720acd728a46cb40daa52c99a979f7c4ff195c",
      "tree": "01380f601384cf93f30dedb64afe80359fecb807",
      "parents": [
        "1ff82fe0024e8070c38346b8abc1ff09612dea4c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Mar 07 11:08:40 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 07 11:08:40 2008 -0800"
      },
      "message": "[NET]: Make /proc/net a symlink on /proc/self/net (v3)\n\nCurrent /proc/net is done with so called \"shadows\", but current\nimplementation is broken and has little chances to get fixed.\n\nThe problem is that dentries subtree of /proc/net directory has\nfancy revalidation rules to make processes living in different\nnet namespaces see different entries in /proc/net subtree, but\ncurrently, tasks see in the /proc/net subdir the contents of any\nother namespace, depending on who opened the file first.\n\nThe proposed fix is to turn /proc/net into a symlink, which points\nto /proc/self/net, which in turn shows what previously was in\n/proc/net - the network-related info, from the net namespace the\nappropriate task lives in.\n\n# ls -l /proc/net\nlrwxrwxrwx  1 root root 8 Mar  5 15:17 /proc/net -\u003e self/net\n\nIn other words - this behaves like /proc/mounts, but unlike\n\"mounts\", \"net\" is not a file, but a directory.\n\nChanges from v2:\n* Fixed discrepancy of /proc/net nlink count and selinux labeling\n  screwup pointed out by Stephen.\n\n  To get the correct nlink count the -\u003egetattr callback for /proc/net\n  is overridden to read one from the net-\u003eproc_net entry.\n\n  To make selinux still work the net-\u003eproc_net entry is initialized\n  properly, i.e. with the \"net\" name and the proc_net parent.\n\nSelinux fixes are\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\n\nChanges from v1:\n* Fixed a task_struct leak in get_proc_task_net, pointed out by Paul.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0db701a6bf767320e4471bd55e70702d230f6fb",
      "tree": "dee103b4f56be01e908ee39edada7c26450dcc8e",
      "parents": [
        "bec419404afe8b0d60000118ca90ada4c69a3a6d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Mar 04 11:23:50 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:28:36 2008 +0100"
      },
      "message": "block/genhd.c: proper externs\n\nThis patch adds proper externs for two structs in include/linux/genhd.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "13d77c37cab2bb906022309e1e7182c327e49916",
      "tree": "e63f3a56dc443f3a2807b85102464d04934d06db",
      "parents": [
        "d6643d12cb0885d06a1491b16c1476abcbd53d40"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Wed Feb 20 16:53:29 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 25 16:34:18 2008 +0100"
      },
      "message": "latencytop: change /proc task_struct access method\n\nChange getting task_struct by get_proc_task() at read or write time,\nand returns -ESRCH if get_proc_task() returns NULL.\nThis is same behavior as other /proc files.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6643d12cb0885d06a1491b16c1476abcbd53d40",
      "tree": "f342c01a278486e47a973cc84ffac72c43b57c64",
      "parents": [
        "ae0027869db7d28563cd783865fab04ffd18419c"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Thu Feb 14 10:27:00 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 25 16:34:17 2008 +0100"
      },
      "message": "latencytop: fix memory leak on latency proc file\n\nAt lstats_open(), calling get_proc_task() gets task struct, but it never put.\nput_task_struct() should be called when releasing.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ae0027869db7d28563cd783865fab04ffd18419c",
      "tree": "9d57da1dd823e9413fd539a4a60e09df6fe630f8",
      "parents": [
        "2d07b255c7b8a9723010e5c74778e058dc05162e"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Thu Feb 14 10:26:24 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 25 16:34:17 2008 +0100"
      },
      "message": "latencytop: fix kernel panic while reading latency proc file\n\nReading /proc/\u003cpid\u003e/latency or /proc/\u003cpid\u003e/task/\u003ctid\u003e/latency could cause\nNULL pointer dereference.\n\nIn lstats_open(), get_proc_task() can return NULL, in which case the kernel\nwill oops at lstats_show_proc() because m-\u003eprivate is NULL.\n\nWhen get_proc_task() returns NULL, the kernel should return -ENOENT.\n\nThis can be reproduced by the following script.\nwhile :\ndo\n        date\n        bash -c \u0027ls \u003e ls.$$\u0027 \u0026\n        pid\u003d$!\n        cat /proc/$pid/latency \u0026\n        cat /proc/$pid/latency \u0026\n        cat /proc/$pid/latency \u0026\n        cat /proc/$pid/latency\ndone\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8808117ca571fd63e188a2306baae86cca9fce7a",
      "tree": "2cccec386bb732f0a14378dac298846f40fd691d",
      "parents": [
        "45254b4fb2aef51c94a7397df1e481c4137b4b97"
      ],
      "author": {
        "name": "Eugene Teo",
        "email": "eugeneteo@kernel.sg",
        "time": "Sat Feb 23 15:23:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:15 2008 -0800"
      },
      "message": "proc: add RLIMIT_RTTIME to /proc/\u003cpid\u003e/limits\n\nRLIMIT_RTTIME was introduced to allow the user to set a runtime timeout on\nreal-time tasks: http://lkml.org/lkml/2007/12/18/218. This patch updates\n/proc/\u003cpid\u003e/limits with the new rlimit.\n\nSigned-off-by: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "745329c4a2a25efbf5ba6cd7842e07840e4e9775",
      "tree": "832467aaac5c2a7905cd0d08a47026e5158fb35d",
      "parents": [
        "8936b6dba234c994dc4c168818376197abc2faac"
      ],
      "author": {
        "name": "Hans Rosenfeld",
        "email": "hans.rosenfeld@amd.com",
        "time": "Sat Feb 23 15:23:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:13 2008 -0800"
      },
      "message": "/proc/pid/pagemap: fix PM_SPECIAL macro\n\nThere seems to be a bug in the PM_SPECIAL macro for /proc/pid/pagemap.  I\nthink masking out those other bits makes more sense then setting all those\nmask bits.\n\nSigned-off-by: Hans Rosenfeld \u003cHans.Rosenfeld@amd.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf28b4863f9ee8f122e8ff3ac0d403e07ba9c6d9",
      "tree": "65c91f6911b34c32e517938289621ce0e7baeaf3",
      "parents": [
        "c32c2f63a9d6c953aaf168c0b2551da9734f76d2"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:09 2008 -0800"
      },
      "message": "d_path: Make d_path() use a struct path\n\nd_path() is used on a \u003cdentry,vfsmount\u003e pair.  Lets use a struct path to\nreflect this.\n\n[akpm@linux-foundation.org: fix build in mm/memory.c]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c32c2f63a9d6c953aaf168c0b2551da9734f76d2",
      "tree": "14eca3083f3de4a87a95359ab66109c10add1ae7",
      "parents": [
        "e83aece3afad4d56cc01abe069d3519e851cd2de"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:08 2008 -0800"
      },
      "message": "d_path: Make seq_path() use a struct path argument\n\nseq_path() is always called with a dentry and a vfsmount from a struct path.\nMake seq_path() take it directly as an argument.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@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": "3dcd25f37cfe2943beca93f41f50994108248a60",
      "tree": "38fbe59fc60f6dd2bc88dcb0cbe5c265f5892e8a",
      "parents": [
        "44707fdf5938ad269ea5d6c5744d82f6a7328746"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:08 2008 -0800"
      },
      "message": "d_path: Make proc_get_link() use a struct path argument\n\nproc_get_link() is always called with a dentry and a vfsmount from a struct\npath.  Make proc_get_link() take it directly as an argument.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ac08c39a16f72c2d3e845cb6849a1392fa03e80",
      "tree": "d7603571e9ab3ea4b57b7901211320e48d0c5ed8",
      "parents": [
        "5dd784d04924be5d8bc066aded0ec3274b20e612"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:38 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Use struct path in fs_struct\n\n* Use struct path in fs_struct.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d957f9bf87da74f420424d16ece005202bbebd3",
      "tree": "363d4770c0c74a536524c99ccd2762ce96ee9bbe",
      "parents": [
        "4ac9137858e08a19f29feac4e1f4df7c268b0ba5"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Introduce path_put()\n\n* Add path_put() functions for releasing a reference to the dentry and\n  vfsmount of a struct path in the right order\n\n* Switch from path_release(nd) to path_put(\u0026nd-\u003epath)\n\n* Rename dput_path() to path_put_conditional()\n\n[akpm@linux-foundation.org: fix cifs]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003clinux-fsdevel@vger.kernel.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ac9137858e08a19f29feac4e1f4df7c268b0ba5",
      "tree": "f5b5d84fd12fcc2b0ba0e7ce1a79ff381ad8f5dd",
      "parents": [
        "c5e725f33b733a77de622e91b6ba5645fcf070be"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Embed a struct path into struct nameidata instead of nd-\u003e{dentry,mnt}\n\nThis is the central patch of a cleanup series. In most cases there is no good\nreason why someone would want to use a dentry for itself. This series reflects\nthat fact and embeds a struct path into nameidata.\n\nTogether with the other patches of this series\n- it enforced the correct order of getting/releasing the reference count on\n  \u003cdentry,vfsmount\u003e pairs\n- it prepares the VFS for stacking support since it is essential to have a\n  struct path in every place where the stack can be traversed\n- it reduces the overall code size:\n\nwithout patch series:\n   text    data     bss     dec     hex filename\n5321639  858418  715768 6895825  6938d1 vmlinux\n\nwith patch series:\n   text    data     bss     dec     hex filename\n5320026  858418  715768 6894212  693284 vmlinux\n\nThis patch:\n\nSwitch from nd-\u003e{dentry,mnt} to nd-\u003epath.{dentry,mnt} everywhere.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix cifs]\n[akpm@linux-foundation.org: fix smack]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b55fcb22d445a7460cbbc138ceae096d5617715a",
      "tree": "0b4ef31edaec10ad8b87a36b66a853e5d0020675",
      "parents": [
        "0cf975e16927fd70f34cee20d3856246c13bb4c8"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Feb 08 15:00:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 15:33:32 2008 -0800"
      },
      "message": "revert \"proc: fix the threaded proc self\"\n\nRevert commit c6caeb7c4544608e8ae62731334661fc396c7f85 (\"proc: fix the\nthreaded /proc/self\"), since Eric says \"The patch really is wrong.\nThere is at least one corner case in procps that cares.\"\n\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Guillaume Chazarain\" \u003cguichaz@yahoo.fr\u003e\nCc: \"Pavel Emelyanov\" \u003cxemul@openvz.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03a44825be987d720df854f63b2f7bd30e46bdde",
      "tree": "6ac01a425ff2201db972fd3b836efc9b0ab6eaec",
      "parents": [
        "ec26e11740cdff8c3c8330ea235478704ffb4a71"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Fri Feb 08 04:21:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:38 2008 -0800"
      },
      "message": "procfs: constify function pointer tables\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-By: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1eb114112381eb66ebacdace1b6e70d30d603f9c",
      "tree": "3b97926b1a90aa996f99a23281809c3d960fd3d8",
      "parents": [
        "7fa3031500ec9b0a7460c8c23751799006ffee74"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 08 04:19:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:30 2008 -0800"
      },
      "message": "aout: remove unnecessary inclusions of {asm, linux}/a.out.h\n\nRemove now unnecessary inclusions of {asm,linux}/a.out.h.\n\n[akpm@linux-foundation.org: fix alpha build]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d3a4e3666325a9709cc8ea2e88151394e8f20fc",
      "tree": "c3e75289de8c824f5e2bb2e97d4b6853d48da3f3",
      "parents": [
        "c6caeb7c4544608e8ae62731334661fc396c7f85"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Fri Feb 08 04:18:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "proc: fix -\u003eopen\u0027less usage due to -\u003eproc_fops flip\n\nTypical PDE creation code looks like:\n\n\tpde \u003d create_proc_entry(\"foo\", 0, NULL);\n\tif (pde)\n\t\tpde-\u003eproc_fops \u003d \u0026foo_proc_fops;\n\nNotice that PDE is first created, only then -\u003eproc_fops is set up to\nfinal value. This is a problem because right after creation\na) PDE is fully visible in /proc , and\nb) -\u003eproc_fops are proc_file_operations which do not have -\u003eopen callback. So, it\u0027s\n   possible to -\u003eread without -\u003eopen (see one class of oopses below).\n\nThe fix is new API called proc_create() which makes sure -\u003eproc_fops are\nset up before gluing PDE to main tree. Typical new code looks like:\n\n\tpde \u003d proc_create(\"foo\", 0, NULL, \u0026foo_proc_fops);\n\tif (!pde)\n\t\treturn -ENOMEM;\n\nFix most networking users for a start.\n\nIn the long run, create_proc_entry() for regular files will go.\n\nBUG: unable to handle kernel NULL pointer dereference at virtual address 00000024\nprinting eip: c1188c1b *pdpt \u003d 000000002929e001 *pde \u003d 0000000000000000\nOops: 0002 [#1] PREEMPT SMP DEBUG_PAGEALLOC\nlast sysfs file: /sys/block/sda/sda1/dev\nModules linked in: foo af_packet ipv6 cpufreq_ondemand loop serio_raw psmouse k8temp hwmon sr_mod cdrom\n\nPid: 24679, comm: cat Not tainted (2.6.24-rc3-mm1 #2)\nEIP: 0060:[\u003cc1188c1b\u003e] EFLAGS: 00210002 CPU: 0\nEIP is at mutex_lock_nested+0x75/0x25d\nEAX: 000006fe EBX: fffffffb ECX: 00001000 EDX: e9340570\nESI: 00000020 EDI: 00200246 EBP: e9340570 ESP: e8ea1ef8\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\nProcess cat (pid: 24679, ti\u003dE8EA1000 task\u003dE9340570 task.ti\u003dE8EA1000)\nStack: 00000000 c106f7ce e8ee05b4 00000000 00000001 458003d0 f6fb6f20 fffffffb\n       00000000 c106f7aa 00001000 c106f7ce 08ae9000 f6db53f0 00000020 00200246\n       00000000 00000002 00000000 00200246 00200246 e8ee05a0 fffffffb e8ee0550\nCall Trace:\n [\u003cc106f7ce\u003e] seq_read+0x24/0x28a\n [\u003cc106f7aa\u003e] seq_read+0x0/0x28a\n [\u003cc106f7ce\u003e] seq_read+0x24/0x28a\n [\u003cc106f7aa\u003e] seq_read+0x0/0x28a\n [\u003cc10818b8\u003e] proc_reg_read+0x60/0x73\n [\u003cc1081858\u003e] proc_reg_read+0x0/0x73\n [\u003cc105a34f\u003e] vfs_read+0x6c/0x8b\n [\u003cc105a6f3\u003e] sys_read+0x3c/0x63\n [\u003cc10025f2\u003e] sysenter_past_esp+0x5f/0xa5\n [\u003cc10697a7\u003e] destroy_inode+0x24/0x33\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nINFO: lockdep is turned off.\nCode: 75 21 68 e1 1a 19 c1 68 87 00 00 00 68 b8 e8 1f c1 68 25 73 1f c1 e8 84 06 e9 ff e8 52 b8 e7 ff 83 c4 10 9c 5f fa e8 28 89 ea ff \u003cf0\u003e fe 4e 04 79 0a f3 90 80 7e 04 00 7e f8 eb f0 39 76 34 74 33\nEIP: [\u003cc1188c1b\u003e] mutex_lock_nested+0x75/0x25d SS:ESP 0068:e8ea1ef8\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c6caeb7c4544608e8ae62731334661fc396c7f85",
      "tree": "3afabe64dedd7bf7d0f88f7612e5f468c8d55c1d",
      "parents": [
        "488e5bc4560d0b510c1ddc451c51a6cc14e3a930"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:18:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "proc: fix the threaded /proc/self\n\nLong ago when the CLONE_THREAD support first went it someone thought it\nwould be wise to point /proc/self at /proc/\u003ctgid\u003e instead of /proc/\u003cpid\u003e.\n\nGiven that /proc/\u003ctgid\u003e can return information about a very different task\n(if enough things have been unshared) then our current process /proc/\u003ctgid\u003e\nseems blatantly wrong.  So far I have yet to think up an example where the\ncurrent behavior would be advantageous, and I can see several places where\nit is seriously non-intuitive.\n\nWe may be stuck with the current broken behavior for backwards\ncompatibility reasons but lets try fixing our ancient bug for the 2.6.25\ntime frame and see if anyone screams.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Guillaume Chazarain\" \u003cguichaz@yahoo.fr\u003e\nCc: \"Pavel Emelyanov\" \u003cxemul@openvz.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "488e5bc4560d0b510c1ddc451c51a6cc14e3a930",
      "tree": "0b0df343406ff47578280e01388fc997064c8aa9",
      "parents": [
        "df5f8314ca30d6a76735748e5ba4ca9809c0f434"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:18:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "proc: proper pidns handling for /proc/self\n\nCurrently if you access a /proc that is not mounted with your processes\ncurrent pid namespace /proc/self will point at a completely random task.\n\nThis patch fixes /proc/self to point to the current process if it is\navailable in the particular mount of /proc or to return -ENOENT if the\ncurrent process is not visible.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df5f8314ca30d6a76735748e5ba4ca9809c0f434",
      "tree": "e0a6157b1666a320e69586a81c77a3fe83b36a2a",
      "parents": [
        "a56d3fc74c0178c5f41c48315604d62cff4e746d"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:18:33 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "proc: seqfile convert proc_pid_status to properly handle pid namespaces\n\nCurrently we possibly lookup the pid in the wrong pid namespace.  So\nseq_file convert proc_pid_status which ensures the proper pid namespaces is\npassed in.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: another build fix]\n[akpm@linux-foundation.org: s390 build fix]\n[akpm@linux-foundation.org: fix task_name() output]\n[akpm@linux-foundation.org: fix nommu build]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Andrew Morgan \u003cmorgan@kernel.org\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a56d3fc74c0178c5f41c48315604d62cff4e746d",
      "tree": "a6049be18c706090b8c65dc4f6ff9398f880199d",
      "parents": [
        "ee992744ea53db0a90c986fd0a70fbbf91e7f8bd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:18:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "seqfile convert proc_pid_statm\n\nThis conversion is just for code cleanliness, uniformity, and general safety.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "ee992744ea53db0a90c986fd0a70fbbf91e7f8bd",
      "tree": "2d15727e92c407bb22c4842923cbfb2dfda82306",
      "parents": [
        "be614086a4aff163d5aa0dc160638d1193b59cde"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:18:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "proc: rewrite do_task_stat to correctly handle pid namespaces.\n\nCurrently (as pointed out by Oleg) do_task_stat has a race when calling\ntask_pid_nr_ns with the task exiting.  In addition do_task_stat is not\ncurrently displaying information in the context of the pid namespace that\nmounted the /proc filesystem.  So \"cut -d\u0027 \u0027 -f 1 /proc/\u003cpid\u003e/stat\" may not\nequal \u003cpid\u003e.\n\nThis patch fixes the problem by converting to a single_open seq_file show\nmethod.  Getting the pid namespace from the filesystem superblock instead of\ncurrent, and simply using the the struct pid from the inode instead of\nattempting to get that same pid from the task.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "be614086a4aff163d5aa0dc160638d1193b59cde",
      "tree": "f60781ec8485fa7c1a5324a9767ec762e38b7447",
      "parents": [
        "94413d8807a3c511a3675be4ce27a4d16d6408ee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:18:30 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "proc: implement proc_single_file_operations\n\nCurrently many /proc/pid files use a crufty precursor to the current seq_file\napi, and they don\u0027t have direct access to the pid_namespace or the pid of for\nwhich they are displaying data.\n\nSo implement proc_single_file_operations to make the seq_file routines easy to\nuse, and to give access to the full state of the pid of we are displaying data\nfor.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "94413d8807a3c511a3675be4ce27a4d16d6408ee",
      "tree": "d20800024bdfe15d4f6ae1e7cc63a537127afab4",
      "parents": [
        "fd2cbe48883a01f710c2a639877e3b3e4eba6e59"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Fri Feb 08 04:18:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "proc: detect duplicate names on registration\n\nPrint a warning if PDE is registered with a name which already exists in\ntarget directory.\n\nBug report and a simple fix can be found here:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d8798\n\n[\\n fixlet and no undescriptive variable usage --adobriyan]\n[akpm@linux-foundation.org: make printk comprehensible]\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd2cbe48883a01f710c2a639877e3b3e4eba6e59",
      "tree": "d358e9de25cb8abf06b0f6fb334d6121da19ae07",
      "parents": [
        "76df0c25d0c34eba9fbb8a44106ed096553ba0e8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Fri Feb 08 04:18:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "proc: remove useless check on symlink removal\n\nproc symlinks always have valid -\u003edata containing destination of symlink.  No\nneed to check it on removal -- proc_symlink() already done it.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "76df0c25d0c34eba9fbb8a44106ed096553ba0e8",
      "tree": "a68241a860699f952a1cfcf22e50ddbc19bba7c9",
      "parents": [
        "4237e0d3de38da640d7c977d68f5f7f1d207a631"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Fri Feb 08 04:18:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "proc: simplify function prototypes\n\nMove code around so as to reduce the number of forward-declarations.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4237e0d3de38da640d7c977d68f5f7f1d207a631",
      "tree": "0bf02984aef945c5d97a5929b82e7ecd6b7f39ed",
      "parents": [
        "5b3fe63b19e00f3b2a14a09c979e84163029e390"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Fri Feb 08 04:18:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "proc: less LOCK operations during lookup\n\nPseudo-code for lookup effectively is:\n\n\tLOCK kernel\n\tLOCK proc_subdir_lock\n\t\tfind PDE\n\t\tUNLOCK proc_subdir_lock\n\n\t\tget inode\n\n\t\tLOCK proc_subdir_lock\n\t\tgoto unlock\n\tUNLOCK proc_subdir_lock\n\tUNLOCK kernel\n\nWe can get rid of LOCK/UNLOCK pair after getting inode simply by jumping\nto unlock_kernel() directly.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b3fe63b19e00f3b2a14a09c979e84163029e390",
      "tree": "c37ded3ef5db617e01db1dc9efc29e0bb7095c31",
      "parents": [
        "cbdc73873229754ab3e673ea8c82eaf9ae3c646f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Fri Feb 08 04:18:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "proc: remove MODULE_LICENSE\n\nproc is not modular, so MODULE_LICENSE just expands to empty space.  proc\nwithout doubts remains GPLed.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a1d4aebbfa91c55a6b0c629a9ccf6369be0c6e95",
      "tree": "2478c7be46b86b30c86666f72a8816c910c7a7d4",
      "parents": [
        "a90a088021f8f1e9a9cd83f06ac90e1f3aada4d4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop PROCFS from using iget() and read_inode()\n\nStop the PROCFS filesystem from using iget() and read_inode().  Merge\nprocfs_read_inode() into procfs_get_inode(), and have that call iget_locked()\ninstead of iget().\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07a154b2bb9b528a39ddc777399482c1fa27fdb8",
      "tree": "64355093ab4f470e67a301fb53e7d078ad4000f9",
      "parents": [
        "0a76fe8e50ee93a9d4a1badb1ec995852a6bcaf1"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "mschmidt@redhat.com",
        "time": "Wed Feb 06 01:37:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:04 2008 -0800"
      },
      "message": "proc: loadavg reading race\n\nThe avenrun[] values are supposed to be protected by xtime_lock.\nloadavg_read_proc does not use it.  Theoretically this may result in an\noccasional glitch when the value read from /proc/loadavg would be as much\nas 1\u003c\u003c11 times higher than it should be.\n\nSigned-off-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nCc: 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": "011e3fcd1e1f14ef54db30b93404ab7caa726477",
      "tree": "2d8b5dc618f370cb8f2aafd16f15e324fca872bb",
      "parents": [
        "c166f23cb56a76983ce860739d95c8296e57d6b3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "proper prototype for get_filesystem_list()\n\nAd a proper prototype for migration_init() in include/linux/fs.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f74596d07957235ad9da5120029348b372224a27",
      "tree": "72089ad3368af0e674952866dd9db69b1bcb42f9",
      "parents": [
        "0b03cfb25fa944bc106e816146846dcb48b2e907"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "proper show_interrupts() prototype\n\nAdd a proper prototype for show_interrupts() in include/linux/interrupt.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e338d263a76af78fe8f38a72131188b58fceb591",
      "tree": "f3f046fc6fd66de43de7191830f0daf3bc4ec8eb",
      "parents": [
        "8f6936f4d29aa14e54a2470b954a2e1f96322988"
      ],
      "author": {
        "name": "Andrew Morgan",
        "email": "morgan@kernel.org",
        "time": "Mon Feb 04 22:29:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "Add 64-bit capability support to the kernel\n\nThe patch supports legacy (32-bit) capability userspace, and where possible\ntranslates 32-bit capabilities to/from userspace and the VFS to 64-bit\nkernel space capabilities.  If a capability set cannot be compressed into\n32-bits for consumption by user space, the system call fails, with -ERANGE.\n\nFWIW libcap-2.00 supports this change (and earlier capability formats)\n\n http://www.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.6/\n\n[akpm@linux-foundation.org: coding-syle fixes]\n[akpm@linux-foundation.org: use get_task_comm()]\n[ezk@cs.sunysb.edu: build fix]\n[akpm@linux-foundation.org: do not initialise statics to 0 or NULL]\n[akpm@linux-foundation.org: unused var]\n[serue@us.ibm.com: export __cap_ symbols]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7766755a2f249e7e0dabc5255a0a3d151ff79821",
      "tree": "0f9d130d3f8107c77ed61b75f4745dc86e36d457",
      "parents": [
        "195cf453d2c3d789cbe80e3735755f860c2fb222"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@suse.de",
        "time": "Mon Feb 04 22:29:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:18 2008 -0800"
      },
      "message": "Fix /proc dcache deadlock in do_exit\n\nThis patch fixes a sles9 system hang in start_this_handle from a customer\nwith some heavy workload where all tasks are waiting on kjournald to commit\nthe transaction, but kjournald waits on t_updates to go down to zero (it\nnever does).\n\nThis was reported as a lowmem shortage deadlock but when checking the debug\ndata I noticed the VM wasn\u0027t under pressure at all (well it was really\nunder vm pressure, because lots of tasks hanged in the VM prune_dcache\nmethods trying to flush dirty inodes, but no task was hanging in GFP_NOFS\nmode, the holder of the journal handle should have if this was a vm issue\nin the first place).\n\nNo task was apparently holding the leftover handle in the committing\ntransaction, so I deduced t_updates was stuck to 1 because a journal_stop\nwas never run by some path (this turned out to be correct).  With a debug\npatch adding proper reverse links and stack trace logging in ext3 deployed\nin production, I found journal_stop is never run because\nmark_inode_dirty_sync is called inside release_task called by do_exit.\n(that was quite fun because I would have never thought about this\nsubtleness, I thought a regular path in ext3 had a bug and it forgot to\ncall journal_stop)\n\ndo_exit-\u003erelease_task-\u003emark_inode_dirty_sync-\u003eschedule() (will never\ncome back to run journal_stop)\n\nThe reason is that shrink_dcache_parent is racy by design (feature not\na bug) and it can do blocking I/O in some case, but the point is that\ncalling shrink_dcache_parent at the last stage of do_exit isn\u0027t safe\nfor self-reaping tasks.\n\nI guess the memory pressure of the unbalanced highmem system allowed\nto trigger this more easily.\n\nNow mainline doesn\u0027t have this line in iput (like sles9 has):\n\n    \t     if (inode-\u003ei_state \u0026 I_DIRTY_DELAYED)\n\t     \t\t\tmark_inode_dirty_sync(inode);\n\nso it will probably not crash with ext3, but for example ext2 implements an\nI/O-blocking ext2_put_inode that will lead to similar screwups with\next2_free_blocks never coming back and it\u0027s definitely wrong to call\nblocking-IO paths inside do_exit.  So this should fix a subtle bug in\nmainline too (not verified in practice though).  The equivalent fix for\next3 is also not verified yet to fix the problem in sles9 but I don\u0027t have\ndoubt it will (it usually takes days to crash, so it\u0027ll take weeks to be\nsure).\n\nAn alternate fix would be to offload that work to a kernel thread, but I\ndon\u0027t think a reschedule for this is worth it, the vm should be able to\ncollect those entries for the synchronous release_task.\n\nSigned-off-by: Andrea Arcangeli \u003candrea@suse.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "1e88328111aae3ea408f346763ba9f9bad71f876",
      "tree": "22be92057a7426ca5b6c8ee9b136bbc417c902a8",
      "parents": [
        "304daa8132a95e998b6716d4b7bd8bd76aa152b2"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:17 2008 -0800"
      },
      "message": "maps4: make page monitoring /proc file optional\n\nMake /proc/ page monitoring configurable\n\nThis puts the following files under an embedded config option:\n\n/proc/pid/clear_refs\n/proc/pid/smaps\n/proc/pid/pagemap\n/proc/kpagecount\n/proc/kpageflags\n\n[akpm@linux-foundation.org: Kconfig fix]\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "304daa8132a95e998b6716d4b7bd8bd76aa152b2",
      "tree": "21f37f8eb40518b3300b5c0967cf3867c7f18aae",
      "parents": [
        "161f47bf41c5ece90ac53cbb6a4cb9bf74ce0ef6"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:06 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:17 2008 -0800"
      },
      "message": "maps4: add /proc/kpageflags interface\n\nThis makes a subset of physical page flags available to userspace. Together\nwith /proc/pid/kpagemap, this allows tracking of a wide variety of VM behaviors.\n\nExported flags are decoupled from the kernel\u0027s internal flags. This\nallows us to reorder flag bits, and synthesize any bits that get\nredefined in terms of other bits.\n\n[akpm@linux-foundation.org: remove unneeded access_ok()]\n[akpm@linux-foundation.org: s/0/NULL/]\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "161f47bf41c5ece90ac53cbb6a4cb9bf74ce0ef6",
      "tree": "f6f18c3eb74faf8b2b8de27b42241e9986bd6dc9",
      "parents": [
        "85863e475e59afb027b0113290e3796ee6020b7d"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:05 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:17 2008 -0800"
      },
      "message": "maps4: add /proc/kpagecount interface\n\nThis makes physical page map counts available to userspace. Together\nwith /proc/pid/pagemap and /proc/pid/clear_refs, this can be used to\nmonitor memory usage on a per-page basis.\n\n[akpm@linux-foundation.org: remove unneeded access_ok()]\n[bunk@stusta.de: make struct proc_kpagemap static]\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85863e475e59afb027b0113290e3796ee6020b7d",
      "tree": "047cc687b98c0261bd3c083f17c090fbf082355f",
      "parents": [
        "a6198797cc3fd659b2d81cdf6bb6b9bba9cd93e9"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: add /proc/pid/pagemap interface\n\nThis interface provides a mapping for each page in an address space to its\nphysical page frame number, allowing precise determination of what pages are\nmapped and what pages are shared between processes.\n\nNew in this version:\n\n- headers gone again (as recommended by Dave Hansen and Alan Cox)\n- 64-bit entries (as per discussion with Andi Kleen)\n- swap pte information exported (from Dave Hansen)\n- page walker callback for holes (from Dave Hansen)\n- direct put_user I/O (as suggested by Rusty Russell)\n\nThis patch folds in cleanups and swap PTE support from Dave Hansen\n\u003chaveblue@us.ibm.com\u003e.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6198797cc3fd659b2d81cdf6bb6b9bba9cd93e9",
      "tree": "da256154b9c764067aadd2738d9083d38a6f1882",
      "parents": [
        "f248dcb34d7b7ac255db70071a20be9d9c6ad491"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: regroup task_mmu by interface\n\nReorder source so that all the code and data for each interface is together.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f248dcb34d7b7ac255db70071a20be9d9c6ad491",
      "tree": "ec7c7fb115e40b4a337af98a6f9f2ad5db9af1f0",
      "parents": [
        "4752c369789250eafcd7813e11c8fb689235b0d2"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: move clear_refs code to task_mmu.c\n\nThis puts all the clear_refs code where it belongs and probably lets things\ncompile on MMU-less systems as well.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4752c369789250eafcd7813e11c8fb689235b0d2",
      "tree": "24fda864f4962f18fd8e118271f1d8c4ec633024",
      "parents": [
        "b3ae5acbbb98d95c1300c8ced56d15f97d09c506"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: simplify interdependence of maps and smaps\n\nThis pulls the shared map display code out of show_map and puts it in\nshow_smap where it belongs.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3ae5acbbb98d95c1300c8ced56d15f97d09c506",
      "tree": "e8a159c7c3309564458f7dea955b6a9daf948b61",
      "parents": [
        "e6473092bd9116583ce9ab8cf1b6570e1aa6fc83"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: use pagewalker in clear_refs and smaps\n\nUse the generic pagewalker for smaps and clear_refs\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec4dd3eb35759f9fbeb5c1abb01403b2fde64cc9",
      "tree": "0eaf4d91180556df61da6300463d946390ce55fb",
      "parents": [
        "61d5048f149572434daee0cce5e1374a8a7cf3e8"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Mon Feb 04 22:28:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: add proportional set size accounting in smaps\n\nThe \"proportional set size\" (PSS) of a process is the count of pages it has\nin memory, where each page is divided by the number of processes sharing\nit.  So if a process has 1000 pages all to itself, and 1000 shared with one\nother process, its PSS will be 1500.\n\n               - lwn.net: \"ELC: How much memory are applications really using?\"\n\nThe PSS proposed by Matt Mackall is a very nice metic for measuring an\nprocess\u0027s memory footprint.  So collect and export it via\n/proc/\u003cpid\u003e/smaps.\n\nMatt Mackall\u0027s pagemap/kpagemap and John Berthels\u0027s exmap can also do the\njob.  They are comprehensive tools.  But for PSS, let\u0027s do it in the simple\nway.\n\nCc: John Berthels \u003cjjberthels@gmail.com\u003e\nCc: Bernardo Innocenti \u003cbernie@codewiz.org\u003e\nCc: Padraig Brady \u003cP@draigBrady.com\u003e\nCc: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e2779fa281cfda13ac060753d674bbcaa23367e",
      "tree": "e2af17d69b71e0f8b3f00fe949cb8abfba4298ed",
      "parents": [
        "0b7a96114bd5991d355a1f1c1d3d9c0c9d9c1cfc"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "is_vmalloc_addr(): Check if an address is within the vmalloc boundaries\n\nChecking if an address is a vmalloc address is done in a couple of places.\nDefine a common version in mm.h and replace the other checks.\n\nAgain the include structures suck.  The definition of VMALLOC_START and\nVMALLOC_END is not available in vmalloc.h since highmem.c cannot be included\nthere.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c11b9428f619ab377c92eff2f160a834a6585dd",
      "tree": "35b573715ad5730a77d067486838345132771a7a",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 10 04:20:52 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:04:59 2008 -0500"
      },
      "message": "[PATCH] switch audit_get_loginuid() to task_struct *\n\nall callers pass something-\u003eaudit_context\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "75659ca0c10992dcb39258518368a0f6f56e935d",
      "tree": "5d014ceb2f10158061a23d0d976f9a613d85e659",
      "parents": [
        "fbdde7bd274d74729954190f99afcb1e3d9bbfba",
        "2dfe485a2c8afa54cb069fcf48476f6c90ea3fdf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "message": "Merge branch \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: (22 commits)\n  Remove commented-out code copied from NFS\n  NFS: Switch from intr mount option to TASK_KILLABLE\n  Add wait_for_completion_killable\n  Add wait_event_killable\n  Add schedule_timeout_killable\n  Use mutex_lock_killable in vfs_readdir\n  Add mutex_lock_killable\n  Use lock_page_killable\n  Add lock_page_killable\n  Add fatal_signal_pending\n  Add TASK_WAKEKILL\n  exit: Use task_is_*\n  signal: Use task_is_*\n  sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL\n  ptrace: Use task_is_*\n  power: Use task_is_*\n  wait: Use TASK_NORMAL\n  proc/base.c: Use task_is_*\n  proc/array.c: Use TASK_REPORT\n  perfmon: Use task_is_*\n  ...\n\nFixed up conflicts in NFS/sunrpc manually..\n"
    },
    {
      "commit": "e5d69b9f4a6ce17f0d09595da45e37b870fee5ae",
      "tree": "fa6ddbf9a5dbf674e8c7ec668edec2f36d34176a",
      "parents": [
        "8cced9eff1d413c28efac9c5ac5a75793c9251cf"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 10 03:51:41 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:36 2008 -0800"
      },
      "message": "[ATM]: Oops reading net/atm/arp\n\ncat /proc/net/atm/arp causes the NULL pointer dereference in the\nget_proc_net+0xc/0x3a. This happens as proc_get_net believes that the\nparent proc dir entry contains struct net.\n\nFix this assumption for \"net/atm\" case.\n\nThe problem is introduced by the commit c0097b07abf5f92ab135d024dd41bd2aada1512f\nfrom Eric W. Biederman/Daniel Lezcano.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e372c41401993b45c721c4d92730e7e0a79f7c1b",
      "tree": "8f062f506c0578fc83b7d05c8751a7ccac96e50e",
      "parents": [
        "097e66c578459f79e3a2128c54e9df5194e1419a"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Nov 19 22:31:54 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:28 2008 -0800"
      },
      "message": "[NET]: Consolidate net namespace related proc files creation.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9745512ce79de686df354dc70a8d1a74d801892d",
      "tree": "9b64e2b2e6d2ae534beef136922082f21701c7b9",
      "parents": [
        "326587b840785c60f5dc18557235a23bafefd620"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "sched: latencytop support\n\nLatencyTOP kernel infrastructure; it measures latencies in the\nscheduler and tracks it system wide and per process.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a98fdcef941e107eeabae622d85a1f476f25a160",
      "tree": "1702a6e810016eea5e995eb7c91a101688e8c59c",
      "parents": [
        "4fd3670eb1d3c33e8952cf1e79edbb2d517dcfb5"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Jan 15 00:02:37 2008 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jan 14 13:23:00 2008 -0800"
      },
      "message": "fix the \"remove task_ppid_nr_ns\" commit\n\nCommit 84427eaef1fb91704c7112bdb598c810003b99f3 (remove task_ppid_nr_ns)\nmoved the task_tgid_nr_ns(task-\u003ereal_parent) outside of lock_task_sighand().\nThis is wrong, -\u003ereal_parent could be freed/reused.\n\nBoth -\u003eparent/real_parent point to nothing after __exit_signal() because\nwe remove the child from -\u003echildren list, and thus the child can\u0027t be\nreparented when its parent exits.\n\nrcu_read_lock() protects -\u003eparent/real_parent, but _only_ if we know it was\nvalid before we take rcu lock.\n\nRevert this part of the patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "84427eaef1fb91704c7112bdb598c810003b99f3",
      "tree": "bf22a7186295fcb6dc6bced34cfa73aa74b27300",
      "parents": [
        "974a9f0b47da74e28f68b9c8645c3786aa5ace1a"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Jan 10 12:52:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jan 13 09:56:43 2008 -0800"
      },
      "message": "remove task_ppid_nr_ns\n\ntask_ppid_nr_ns is called in three places.  One of these should never\nhave called it.  In the other two, using it broke the existing\nsemantics.  This was presumably accidental.  If the function had not\nbeen there, it would have been much more obvious to the eye that those\npatches were changing the behavior.  We don\u0027t need this function.\n\nIn task_state, the pid of the ptracer is not the ppid of the ptracer.\n\nIn do_task_stat, ppid is the tgid of the real_parent, not its pid.\nI also moved the call outside of lock_task_sighand, since it doesn\u0027t\nneed it.\n\nIn sys_getppid, ppid is the tgid of the real_parent, not its pid.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "831830b5a2b5d413407adf380ef62fe17d6fcbf2",
      "tree": "b08f54f15374b5b98b0b3bea20a1d2ea8d1f50e0",
      "parents": [
        "ac40532ef0b8649e6f7f83859ea0de1c4ed08a19"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Wed Jan 02 14:09:57 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 02 13:13:27 2008 -0800"
      },
      "message": "restrict reading from /proc/\u003cpid\u003e/maps to those who share -\u003emm or can ptrace pid\n\nContents of /proc/*/maps is sensitive and may become sensitive after\nopen() (e.g.  if target originally shares our -\u003emm and later does exec\non suid-root binary).\n\nCheck at read() (actually, -\u003estart() of iterator) time that mm_struct\nwe\u0027d grabbed and locked is\n - still the -\u003emm of target\n - equal to reader\u0027s -\u003emm or the target is ptracable by reader.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "158a962422e4a54dc256b6a9b9562f3d30d34d9c",
      "tree": "21a71d7d671d12388f4b085e31b0258d1047f125",
      "parents": [
        "6b6adc22a01941165d5af9a3e69e28e948b28f47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 02 13:04:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 02 13:04:48 2008 -0800"
      },
      "message": "Unify /proc/slabinfo configuration\n\nBoth SLUB and SLAB really did almost exactly the same thing for\n/proc/slabinfo setup, using duplicate code and per-allocator #ifdef\u0027s.\n\nThis just creates a common CONFIG_SLABINFO that is enabled by both SLUB\nand SLAB, and shares all the setup code.  Maybe SLOB will want this some\nday too.\n\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b6adc22a01941165d5af9a3e69e28e948b28f47",
      "tree": "d37ec1318df41660573e09b19282e96288d9acaf",
      "parents": [
        "dc512814b5f8b7b80c74d6170b93a606ae4f36c5"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jan 02 13:07:25 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 02 10:42:39 2008 -0800"
      },
      "message": "slub: register slabinfo to procfs\n\nWe need to register slabinfo to procfs when CONFIG_SLUB is enabled to\nmake the file actually visible to user-space.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3790ee4bd86396558eedd86faac1052cb782e4e1",
      "tree": "b5e3142205713d37d23003233352ee7221947c1a",
      "parents": [
        "d84248bf46582a406116c55b94405c05193773b1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Dec 10 15:49:36 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 10 19:43:55 2007 -0800"
      },
      "message": "proc: remove/Fix proc generic d_revalidate\n\nUltimately to implement /proc perfectly we need an implementation of\nd_revalidate because files and directories can be removed behind the back\nof the VFS, and d_revalidate is the only way we can let the VFS know that\nthis has happened.\n\nUnfortunately the linux VFS can not cope with anything in the path to a\nmount point going away.  So a proper d_revalidate method that calls d_drop\nalso needs to call have_submounts which is moderately expensive, so you\nreally don\u0027t want a d_revalidate method that unconditionally calls it, but\ninstead only calls it when the backing object has really gone away.\n\nproc generic entries only disappear on module_unload (when not counting the\nfledgling network namespace) so it is quite rare that we actually encounter\nthat case and has not actually caused us real world trouble yet.\n\nSo until we get a proper test for keeping dentries in the dcache fix the\ncurrent d_revalidate method by completely removing it.  This returns us to\nthe current status quo.\n\nSo with CONFIG_NETNS\u003dn things should look as they have always looked.\n\nFor CONFIG_NETNS\u003dy things work most of the time but there are a few rare\ncorner cases that don\u0027t behave properly.  As the network namespace is\nbarely present in 2.6.24 this should not be a problem.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"Denis V. Lunev\" \u003cden@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d8982d9b8f4b771754335f1398e406cc72003c3",
      "tree": "02209faf6ae4c1a8e6aa5f069aaa0968a4c6dd6a",
      "parents": [
        "1587e2b1880632d959db6ac9e79cb1d99a73c656"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:04:01 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:20:35 2007 -0500"
      },
      "message": "proc/base.c: Use task_is_*\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    }
  ],
  "next": "1587e2b1880632d959db6ac9e79cb1d99a73c656"
}
