)]}'
{
  "log": [
    {
      "commit": "9c24624727f6d6c460e45762a408ca5f5b9b8ef2",
      "tree": "39f41dc5e46a9f0e1151963eb1d4f2b7ff77ee3d",
      "parents": [
        "6ee5a399d6a92a52646836a6e10faf255c16393e"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Dec 09 13:14:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 08:01:54 2008 -0800"
      },
      "message": "KSYM_SYMBOL_LEN fixes\n\nMiles Lane tailing /sys files hit a BUG which Pekka Enberg has tracked\nto my 966c8c12dc9e77f931e2281ba25d2f0244b06949 sprint_symbol(): use\nless stack exposing a bug in slub\u0027s list_locations() -\nkallsyms_lookup() writes a 0 to namebuf[KSYM_NAME_LEN-1], but that was\nbeyond the end of page provided.\n\nThe 100 slop which list_locations() allows at end of page looks roughly\nenough for all the other stuff it might print after the symbol before\nit checks again: break out KSYM_SYMBOL_LEN earlier than before.\n\nLatencytop and ftrace and are using KSYM_NAME_LEN buffers where they\nneed KSYM_SYMBOL_LEN buffers, and vmallocinfo a 2*KSYM_NAME_LEN buffer\nwhere it wants a KSYM_SYMBOL_LEN buffer: fix those before anyone copies\nthem.\n\n[akpm@linux-foundation.org: ftrace.h needs module.h]\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc Miles Lane \u003cmiles.lane@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.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": "aeb5d727062a0238a2f96c9c380fbd2be4640c6f",
      "tree": "51dae8a071fcf42e4431a66d37c5b843c8e99cf6",
      "parents": [
        "2515ddc6db8eb49a79f0fe5e67ff09ac7c81eab4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 02 15:28:45 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:06 2008 -0400"
      },
      "message": "[PATCH] introduce fmode_t, do annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3bbfe0596746e1590888a6e1e6a07583265238b7",
      "tree": "057d3d2aa8cb68eff8c944378e86ba120eff9cf4",
      "parents": [
        "45acb8db06bad529f0feaf89465ce33152640089"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Oct 10 03:27:16 2008 +0400"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Oct 10 04:24:51 2008 +0400"
      },
      "message": "proc: remove kernel.maps_protect\n\nAfter commit 831830b5a2b5d413407adf380ef62fe17d6fcbf2 aka\n\"restrict reading from /proc/\u003cpid\u003e/maps to those who share -\u003emm or can ptrace\"\nsysctl stopped being relevant because commit moved security checks from -\u003eshow\ntime to -\u003estart time (mm_for_maps()).\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.com\u003e\n"
    },
    {
      "commit": "478307230810d7e2a753ed220db9066dfdf88718",
      "tree": "7cb8bfebc5a0a7c043bdfda5675ddb526da1af34",
      "parents": [
        "a6bebbc87a8c16eabb6bd5c6fd2d994be0236fba"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Mon Oct 06 03:11:58 2008 +0400"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Oct 10 04:18:57 2008 +0400"
      },
      "message": "[PATCH] proc: show personality via /proc/pid/personality\n\nMake process personality flags visible in /proc.  Since a process\u0027s\npersonality is potentially sensitive (e.g. READ_IMPLIES_EXEC), make this\nfile only readable by the process owner.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "a6bebbc87a8c16eabb6bd5c6fd2d994be0236fba",
      "tree": "3e617ca49063f3a12c982da5d6c687882a1b4070",
      "parents": [
        "53167a3ef23df561d898dee636f3393e9fba937c"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Sun Oct 05 00:51:15 2008 +0400"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Oct 10 04:18:57 2008 +0400"
      },
      "message": "[PATCH] signal, procfs: some lock_task_sighand() users do not need rcu_read_lock()\n\nlock_task_sighand() make sure task-\u003esighand is being protected,\nso we do not need rcu_read_lock().\n[ exec() will get task-\u003esighand-\u003esiglock before change task-\u003esighand! ]\n\nBut code using rcu_read_lock() _just_ to protect lock_task_sighand()\nonly appear in procfs. (and some code in procfs use lock_task_sighand()\nwithout such redundant protection.)\n\nOther subsystem may put lock_task_sighand() into rcu_read_lock()\ncritical region, but these rcu_read_lock() are used for protecting\n\"for_each_process()\", \"find_task_by_vpid()\" etc. , not for protecting\nlock_task_sighand().\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n[ok from Oleg]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "7c44319dc6deb0028ef7811670bf1e4bc6644672",
      "tree": "5904a9867ebe43153123b11a32d5389cb947596b",
      "parents": [
        "dc39778f952a820b7da45756a900a4778da343cd"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Tue Aug 05 13:01:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 14:33:50 2008 -0700"
      },
      "message": "proc: fix warnings\n\nproc: fix warnings\n\n fs/proc/base.c:2429: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 3 has type \u0027u64\u0027\n fs/proc/base.c:2429: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 4 has type \u0027u64\u0027\n fs/proc/base.c:2429: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 5 has type \u0027u64\u0027\n fs/proc/base.c:2429: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 6 has type \u0027u64\u0027\n fs/proc/base.c:2429: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 7 has type \u0027u64\u0027\n fs/proc/base.c:2429: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 8 has type \u0027u64\u0027\n fs/proc/base.c:2429: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 9 has type \u0027u64\u0027\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nAcked-by: Andrea Righi \u003crighi.andrea@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": "940389b8afad6495211614c13eb91ef7001773ec",
      "tree": "92c581cc9dc7a067899a6a28e382e4099dfe8ead",
      "parents": [
        "837b41b5de356aa67abb2cadb5eef3efc7776f91"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Mon Jul 28 00:48:12 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 16:12:28 2008 -0700"
      },
      "message": "task IO accounting: move all IO statistics in struct task_io_accounting\n\nSimplify the code of include/linux/task_io_accounting.h.\n\nIt is also more reasonable to have all the task i/o-related statistics in a\nsingle struct (task_io_accounting).\n\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5995477ab7f3522c497c9c4a1c55373e9d655574",
      "tree": "a147fb61642a7ac5441855964eb97a2ff1e37202",
      "parents": [
        "605ccb73f6a1c891a16268b3a2923208fc637958"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Sun Jul 27 17:29:15 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 09:58:20 2008 -0700"
      },
      "message": "task IO accounting: improve code readability\n\nPut all i/o statistics in struct proc_io_accounting and use inline functions to\ninitialize and increment statistics, removing a lot of single variable\nassignments.\n\nThis also reduces the kernel size as following (with CONFIG_TASK_XACCT\u003dy and\nCONFIG_TASK_IO_ACCOUNTING\u003dy).\n\n    text    data     bss     dec     hex filename\n   11651       0       0   11651    2d83 kernel/exit.o.before\n   11619       0       0   11619    2d63 kernel/exit.o.after\n   10886     132     136   11154    2b92 kernel/fork.o.before\n   10758     132     136   11026    2b12 kernel/fork.o.after\n\n 3082029  807968 4818600 8708597  84e1f5 vmlinux.o.before\n 3081869  807968 4818600 8708437  84e155 vmlinux.o.after\n\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4836e3007882984279ca63d3c42bf0b14616eb78",
      "tree": "28bf22726964e068b825491d71a141eefedbe5f8",
      "parents": [
        "5c7c204aeca51ccfad63caab4fcdc5d8026c0fd8",
        "4e1e018ecc6f7bfd10fc75b3ff9715cc8164e0a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:23:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:23:44 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (39 commits)\n  [PATCH] fix RLIM_NOFILE handling\n  [PATCH] get rid of corner case in dup3() entirely\n  [PATCH] remove remaining namei_{32,64}.h crap\n  [PATCH] get rid of indirect users of namei.h\n  [PATCH] get rid of __user_path_lookup_open\n  [PATCH] f_count may wrap around\n  [PATCH] dup3 fix\n  [PATCH] don\u0027t pass nameidata to __ncp_lookup_validate()\n  [PATCH] don\u0027t pass nameidata to gfs2_lookupi()\n  [PATCH] new (local) helper: user_path_parent()\n  [PATCH] sanitize __user_walk_fd() et.al.\n  [PATCH] preparation to __user_walk_fd cleanup\n  [PATCH] kill nameidata passing to permission(), rename to inode_permission()\n  [PATCH] take noexec checks to very few callers that care\n  Re: [PATCH 3/6] vfs: open_exec cleanup\n  [patch 4/4] vfs: immutable inode checking cleanup\n  [patch 3/4] fat: dont call notify_change\n  [patch 2/4] vfs: utimes cleanup\n  [patch 1/4] vfs: utimes: move owner check into inode_change_ok()\n  [PATCH] vfs: use kstrdup() and check failing allocation\n  ...\n"
    },
    {
      "commit": "b2d002dba5a8a4c0c3ec96fd1ff3c9def6bd71a1",
      "tree": "a87afab3739039531bdec50aa4f588cdd672bd02",
      "parents": [
        "6a9436d0c3cbe8941b1acd5b0736d355295cad98"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Sat Jul 26 15:22:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:16:47 2008 -0700"
      },
      "message": "task IO accounting: correctly account threads IO statistics\n\nOleg Nesterov points out that we should check that the task is still alive\nbefore we iterate over the threads.  This patch includes a fixup for this.\n\nAlso simplify do_io_accounting() implementation.\n\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.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": "e6305c43eda10ebfd2ad9e35d6e172ccc7bb3695",
      "tree": "8a95bd0e27fb3ce895cca9ef91af2e1605e4cdab",
      "parents": [
        "1bd5191d9f5d1928c4efdf604c4164b04bb88dbe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 21:03:57 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:14 2008 -0400"
      },
      "message": "[PATCH] sanitize -\u003epermission() prototype\n\n* kill nameidata * argument; map the 3 bits in -\u003eflags anybody cares\n  about to new MAY_... ones and pass with the mask.\n* kill redundant gfs2_iop_permission()\n* sanitize ecryptfs_permission()\n* fix remaining places where -\u003epermission() instances might barf on new\n  MAY_... found in mask.\n\nThe obvious next target in that direction is permission(9)\n\nfolded fix for nfs_permission() breakage from Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ebcb67341fee34061430f3367f2e507e52ee051b",
      "tree": "c6790a014ead7c6432178aa2a0dac7eb41c25b40",
      "parents": [
        "bbc698636ed48b6fcd323964e0f847a6a796325d"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Jul 25 19:46:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:10 2008 -0700"
      },
      "message": "/proc/PID/syscall\n\nThis adds /proc/PID/syscall and /proc/PID/task/TID/syscall magic files.\nThese use task_current_syscall() to show the task\u0027s current system call\nnumber and argument registers, stack pointer and PC.  For a task blocked\nbut not in a syscall, the file shows \"-1\" in place of the syscall number,\nfollowed by only the SP and PC.  For a task that\u0027s not blocked, it shows\n\"running\".\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nReviewed-by: 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": "0d094efeb1e98010c6b99923f1eb7e17bf1e3a74",
      "tree": "6ee271b6da5796e5321d2ab6f9d7d9ba03c300a2",
      "parents": [
        "dae33574dcf5211e1f43c7e45fa29f73ba3e00cb"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Jul 25 19:45:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:08 2008 -0700"
      },
      "message": "tracehook: tracehook_tracer_task\n\nThis adds the tracehook_tracer_task() hook to consolidate all forms of\n\"Who is using ptrace on me?\" logic.  This is used for \"TracerPid:\" in\n/proc and for permission checks.  We also clean up the selinux code the\ncalled an identical accessor.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nReviewed-by: 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": "297c5d92634c809cef23d73e7b2556f2528ff7e2",
      "tree": "d006fa29daa24242c64cff3b66dd75fbb0003b0f",
      "parents": [
        "0c18d7a5df82524e634637c3aec24d4cba096442"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Fri Jul 25 01:48:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:47 2008 -0700"
      },
      "message": "task IO accounting: provide distinct tgid/tid I/O statistics\n\nReport per-thread I/O statistics in /proc/pid/task/tid/io and aggregate\nparent I/O statistics in /proc/pid/io.  This approach follows the same\nmodel used to account per-process and per-thread CPU times.\n\nAs a practial application, this allows for example to quickly find the top\nI/O consumer when a process spawns many child threads that perform the\nactual I/O work, because the aggregated I/O statistics can always be found\nin /proc/pid/io.\n\n[ Oleg Nesterov points out that we should check that the task is still\n  alive before we iterate over the threads, but also says that we can do\n  that fixup on top of this later.  - Linus ]\n\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: Matt Heaton \u003cmatt@hostmonster.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nAcked-by-with-comments: 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": "006ebb40d3d65338bd74abb03b945f8d60e362bd",
      "tree": "c548c678b54b307e1fb9acf94676fb7bfd849501",
      "parents": [
        "feb2a5b82d87fbdc01c00b7e9413e4b5f4c1f0c1"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Mon May 19 08:32:49 2008 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jul 14 15:01:47 2008 +1000"
      },
      "message": "Security: split proc ptrace checking into read vs. attach\n\nEnable security modules to distinguish reading of process state via\nproc from full ptrace access by renaming ptrace_may_attach to\nptrace_may_access and adding a mode argument indicating whether only\nread access or full attach access is requested.  This allows security\nmodules to permit access to reading process state without granting\nfull ptrace access.  The base DAC/capability checking remains unchanged.\n\nRead access to /proc/pid/mem continues to apply a full ptrace attach\ncheck since check_mem_permission() already requires the current task\nto already be ptracing the target.  The other ptrace checks within\nproc for elements like environ, maps, and fds are changed to pass the\nread mode instead of attach.\n\nIn the SELinux case, we model such reading of process state as a\nreading of a proc file labeled with the target process\u0027 label.  This\nenables SELinux policy to permit such reading of process state without\npermitting control or manipulation of the target process, as there are\na number of cases where programs probe for such information via proc\nbut do not need to be able to control the target (e.g. procps,\nlsof, PolicyKit, ConsoleKit).  At present we have to choose between\nallowing full ptrace in policy (more permissive than required/desired)\nor breaking functionality (or in some cases just silencing the denials\nvia dontaudit rules but this can hide genuine attacks).\n\nThis version of the patch incorporates comments from Casey Schaufler\n(change/replace existing ptrace_may_attach interface, pass access\nmode), and Chris Wright (provide greater consistency in the checking).\n\nNote that like their predecessors __ptrace_may_attach and\nptrace_may_attach, the __ptrace_may_access and ptrace_may_access\ninterfaces use different return value conventions from each other (0\nor -errno vs. 1 or 0).  I retained this difference to avoid any\nchanges to the caller logic but made the difference clearer by\nchanging the latter interface to return a bool rather than an int and\nby adding a comment about it to ptrace.h for any future callers.\n\nSigned-off-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "aed5417593ad125283f35513573282139a8664b5",
      "tree": "8e9ba5f4d81ef3c8e8de0e0d7d6d1acaa79041f2",
      "parents": [
        "aabe188565124ee2ed060a072764d6ed34dfa4ed"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Thu Jun 05 22:46:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:13 2008 -0700"
      },
      "message": "proc: calculate the correct /proc/\u003cpid\u003e link count\n\nThis patch:\n\n  commit e9720acd728a46cb40daa52c99a979f7c4ff195c\n  Author: Pavel Emelyanov \u003cxemul@openvz.org\u003e\n  Date:   Fri Mar 7 11:08:40 2008 -0800\n\n    [NET]: Make /proc/net a symlink on /proc/self/net (v3)\n\nintroduced a /proc/self/net directory without bumping the corresponding\nlink count for /proc/self.\n\nThis patch replaces the static link count initializations with a call that\ncounts the number of directory entries in the given pid_entry table\nwhenever it is instantiated, and thus relieves the burden of manually\nkeeping the two in sync.\n\n[akpm@linux-foundation.org: cleanup]\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \u003cstable@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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "19fd4bb2a0cfede054e4904e0b167e0ca4f36cc7",
      "tree": "e37d0ee2c7ea08f6d8721a4e9e807f85994b608a",
      "parents": [
        "c895078355b6b6e05c60aa205892526dd3390f0a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 28 16:21:26 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:52 2007 -0800"
      },
      "message": "proc: remove races from proc_id_readdir()\n\nOleg noticed that the call of task_pid_nr_ns() in proc_pid_readdir\nis racy with respect to tasks exiting.\n\nAfter a bit of examination it also appears that the call itself\nis completely unnecessary.\n\nSo to fix the problem this patch modifies next_tgid() to return\nboth a tgid and the task struct in question.\n\nA structure is introduced to return these values because it is\nslightly cleaner and easier to optimize, and the resulting code\nis a little shorter.\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": "9fcc2d15b14894aa53e5e8b7fd5d6e3ca558e5df",
      "tree": "bc58ea7711b0a51c5b810ca1320fed53ed201772",
      "parents": [
        "c0f2a9d75aed1a4be40c3975b94fd39066bd11bb"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 14 17:00:07 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:42 2007 -0800"
      },
      "message": "proc: simplify and correct proc_flush_task\n\nCurrently we special case when we have only the initial pid namespace.\nUnfortunately in doing so the copied case for the other namespaces was\nbroken so we don\u0027t properly flush the thread directories :(\n\nSo this patch removes the unnecessary special case (removing a usage of\nproc_mnt) and corrects the flushing of the thread directories.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@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": "0895e91d60ef9bdef426d1ce14bb94bd5875870d",
      "tree": "9ca0dbc19cf72a95977253af606a4311cc8e9403",
      "parents": [
        "481968f44e81aac3b1b4863baf2c497ec46388f6"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun Oct 21 21:00:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 19:40:02 2007 -0700"
      },
      "message": "procfs: fix kernel-doc param warnings\n\nFix mnt_flush_task() misplaced kernel-doc.\nFix typos in some of the doc text.\n\nWarning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter \u0027mnt\u0027\nWarning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter \u0027pid\u0027\nWarning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter \u0027tgid\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "457c25107b83bc6456b3a18a25511418dc25da69",
      "tree": "608586f887981c72d5bdf2ca1c390dbd624b4456",
      "parents": [
        "19c5870c0eefd27c6d09d867465e0571262e05d0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Remove unused variables from fs/proc/base.c\n\nWhen removing the explicit task_struct-\u003epid usage I found that\nproc_readfd_common() and proc_pident_readdir() get this field, but do not\nuse it at all.  So this cleanup is a cheap help with the task_struct-\u003epid\nisolation.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@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": "d85f50d5e1aa99ab082035f94265847521819e58",
      "tree": "e0c96611352d760dfa54199e706fc76ce8975871",
      "parents": [
        "14ed9d23aa9acd79210a92ac561a728b42a8e281"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu Oct 18 23:40:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:42 2007 -0700"
      },
      "message": "proc: export a processes resource limits via /proc/pid\n\nCurrently, there exists no method for a process to query the resource\nlimits of another process.  They can be inferred via some mechanisms but\nthey cannot be explicitly determined.  Given that this information can be\nusefull to know during the debugging of an application, I\u0027ve written this\npatch which exports all of a processes limits via /proc/\u003cpid\u003e/limits.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.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": "bac0abd6174e427404dd197cdbefece31e97329b",
      "tree": "68ed6bd8619552c921c9fb99e83cb04fcb235a39",
      "parents": [
        "19b9b9b54e5f115907efd56be2c3799775a46561"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "Isolate some explicit usage of task-\u003etgid\n\nWith pid namespaces this field is now dangerous to use explicitly, so hide\nit behind the helpers.\n\nAlso the pid and pgrp fields o task_struct and signal_struct are to be\ndeprecated.  Unfortunately this patch cannot be sent right now as this\nleads to tons of warnings, so start isolating them, and deprecate later.\n\nActually the p-\u003etgid \u003d\u003d pid has to be changed to has_group_leader_pid(),\nbut Oleg pointed out that in case of posix cpu timers this is the same, and\nthread_group_leader() is more preferable.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\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": "b488893a390edfe027bae7a46e9af8083e740668",
      "tree": "c469a7f99ad01005a73011c029eb5e5d15454559",
      "parents": [
        "3eb07c8c8adb6f0572baba844ba2d9e501654316"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "pid namespaces: changes to show virtual ids to user\n\nThis is the largest patch in the set. Make all (I hope) the places where\nthe pid is shown to or get from user operate on the virtual pids.\n\nThe idea is:\n - all in-kernel data structures must store either struct pid itself\n   or the pid\u0027s global nr, obtained with pid_nr() call;\n - when seeking the task from kernel code with the stored id one\n   should use find_task_by_pid() call that works with global pids;\n - when showing pid\u0027s numerical value to the user the virtual one\n   should be used, but however when one shows task\u0027s pid outside this\n   task\u0027s namespace the global one is to be used;\n - when getting the pid from userspace one need to consider this as\n   the virtual one and use appropriate task/pid-searching functions.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: nuther build fix]\n[akpm@linux-foundation.org: yet nuther build fix]\n[akpm@linux-foundation.org: remove unneeded casts]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\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": "6f4e643353aea52d80f33960bd88954a7c074f0f",
      "tree": "5b7e452f7e31be89f06a52a2c077183b7fe74c3b",
      "parents": [
        "130f77ecb2e7d5ac3e53e620f55e374f4a406b20"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "pid namespaces: initialize the namespace\u0027s proc_mnt\n\nThe namespace\u0027s proc_mnt must be kern_mount-ed to make this pointer always\nvalid, independently of whether the user space mounted the proc or not.  This\nsolves raced in proc_flush_task, etc.  with the proc_mnt switching from NULL\nto not-NULL.\n\nThe initialization is done after the init\u0027s pid is created and hashed to make\nproc_get_sb() finr it and get for root inode.\n\nSice the namespace holds the vfsmnt, vfsmnt holds the superblock and the\nsuperblock holds the namespace we must explicitly break this circle to destroy\nall the stuff.  This is done after the init of the namespace dies.  Running a\nfew steps forward - when init exits it will kill all its children, so no\nproc_mnt will be needed after its death.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\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": "130f77ecb2e7d5ac3e53e620f55e374f4a406b20",
      "tree": "3ae9670713a2f503faee3f77666a10dadbe87920",
      "parents": [
        "30e49c263e36341b60b735cbef5ca37912549264"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: make proc_flush_task() actually from entries from multiple namespaces\n\nThis means that proc_flush_task_mnt() is to be called for many proc mounts and\nwith different ids, depending on the namespace this pid is to be flushed from.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\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": "198fe21b0a17fe9c68cb519ecc566534b04f122b",
      "tree": "690825669858d0f458fc137e42adf77cdf370ea4",
      "parents": [
        "7af5729474b5b8ad385adadab78d6e723e7655a3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: helpers to find the task by its numerical ids\n\nWhen searching the task by numerical id on may need to find it using global\npid (as it is done now in kernel) or by its virtual id, e.g.  when sending a\nsignal to a task from one namespace the sender will specify the task\u0027s virtual\nid and we should find the task by this value.\n\n[akpm@linux-foundation.org: fix gfs2 linkage]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\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": "60347f6716aa49831ac311e04d77ccdc50dc024a",
      "tree": "82e666fef22f43550da42ad368a61a5e9a59ef96",
      "parents": [
        "8bf9725c29f2589237dd696d06a204230add0ba3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "pid namespaces: prepare proc_flust_task() to flush entries from multiple proc trees\n\nThe first part is trivial - we just make the proc_flush_task() to operate on\narbitrary vfsmount with arbitrary ids and pass the pid and global proc_mnt to\nit.\n\nThe other change is more tricky: I moved the proc_flush_task() call in\nrelease_task() higher to address the following problem.\n\nWhen flushing task from many proc trees we need to know the set of ids (not\njust one pid) to find the dentries\u0027 names to flush.  Thus we need to pass the\ntask\u0027s pid to proc_flush_task() as struct pid is the only object that can\nprovide all the pid numbers.  But after __exit_signal() task has detached all\nhis pids and this information is lost.\n\nThis creates a tiny gap for proc_pid_lookup() to bring some dentries back to\ntree and keep them in hash (since pids are still alive before __exit_signal())\ntill the next shrink, but since proc_flush_task() does not provide a 100%\nguarantee that the dentries will be flushed, this is OK to do so.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\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": "cf7b708c8d1d7a27736771bcf4c457b332b0f818",
      "tree": "10f80257b052313b283f18ddfe35145882e0b47f",
      "parents": [
        "a6f5e06378970a2687332c2d54046245fcff1e7e"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:39:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "Make access to task\u0027s nsproxy lighter\n\nWhen someone wants to deal with some other taks\u0027s namespaces it has to lock\nthe task and then to get the desired namespace if the one exists.  This is\nslow on read-only paths and may be impossible in some cases.\n\nE.g.  Oleg recently noticed a race between unshare() and the (sent for\nreview in cgroups) pid namespaces - when the task notifies the parent it\nhas to know the parent\u0027s namespace, but taking the task_lock() is\nimpossible there - the code is under write locked tasklist lock.\n\nOn the other hand switching the namespace on task (daemonize) and releasing\nthe namespace (after the last task exit) is rather rare operation and we\ncan sacrifice its speed to solve the issues above.\n\nThe access to other task namespaces is proposed to be performed\nlike this:\n\n     rcu_read_lock();\n     nsproxy \u003d task_nsproxy(tsk);\n     if (nsproxy !\u003d NULL) {\n             / *\n               * work with the namespaces here\n               * e.g. get the reference on one of them\n               * /\n     } / *\n         * NULL task_nsproxy() means that this task is\n         * almost dead (zombie)\n         * /\n     rcu_read_unlock();\n\nThis patch has passed the review by Eric and Oleg :) and,\nof course, tested.\n\n[clg@fr.ibm.com: fix unshare()]\n[ebiederm@xmission.com: Update get_net_ns_by_pid]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.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": "8793d854edbc2774943a4b0de3304dc73991159a",
      "tree": "380b3403a0fedfcce61d9af5af1ffbcc71017abf",
      "parents": [
        "81a6a5cdd2c5cd70874b88afe524ab09e9e869af"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: make cpusets a client of cgroups\n\nRemove the filesystem support logic from the cpusets system and makes cpusets\na cgroup subsystem\n\nThe \"cpuset\" filesystem becomes a dummy filesystem; attempts to mount it get\npassed through to the cgroup filesystem with the appropriate options to\nemulate the old cpuset filesystem behaviour.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.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": "a424316ca154317367c7ddf89997d1c80e4a8051",
      "tree": "ed349926c41aad5be6d62c9074ff72a0d9ac32c2",
      "parents": [
        "697f41610863c9264a7ae26dac9a387c9dda8c84"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: add procfs interface\n\nAdd:\n\n/proc/cgroups - general system info\n\n/proc/*/cgroup - per-task cgroup membership info\n\n[a.p.zijlstra@chello.nl: cgroups: bdi init hooks]\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "315e28c8d61560e90c7d9c7c56c1b661187ab307",
      "tree": "21edcc6d63a5cfb55cadfbfba9f205bb557d343c",
      "parents": [
        "3ad90ec0908e453ba89947fcf7b5f6821b6c1e0c"
      ],
      "author": {
        "name": "James Pearson",
        "email": "james-p@moving-picture.com",
        "time": "Tue Oct 16 23:30:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:00 2007 -0700"
      },
      "message": "Don\u0027t truncate /proc/PID/environ at 4096 characters\n\n/proc/PID/environ currently truncates at 4096 characters, patch based on\nthe /proc/PID/mem code.\n\nSigned-off-by: James Pearson \u003cjames-p@moving-picture.com\u003e\nCc: Anton Arapov \u003caarapov@redhat.com\u003e\nCc: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b47c3611de05c585e2d81204f6c7e3e255a3461",
      "tree": "24a14614fb9bf507b4b6ad3fa6a7cfa5a92318fb",
      "parents": [
        "41d10da3717409de33d5441f2f6d8f072ab3fbb6"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue Oct 16 23:27:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:53 2007 -0700"
      },
      "message": "Fix f_version type: should be u64 instead of unsigned long\n\nFix f_version type: should be u64 instead of long\n\nThere is a type inconsistency between struct inode i_version and struct file\nf_version.\n\nfs.h:\n\nstruct inode\n  u64                     i_version;\n\nand\n\nstruct file\n  unsigned long           f_version;\n\nUsers do:\n\nfs/ext3/dir.c:\n\nif (filp-\u003ef_version !\u003d inode-\u003ei_version) {\n\nSo why isn\u0027t f_version a u64 ? It becomes a problem if versions gets\nhigher than 2^32 and we are on an architecture where longs are 32 bits.\n\nThis patch changes the f_version type to u64, and updates the users accordingly.\n\nIt applies to 2.6.23-rc2-mm2.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\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": "e12ba74d8ff3e2f73a583500d7095e406df4d093",
      "tree": "a0d3385b65f0b3e1e00b0bbf11b75e7538a93edb",
      "parents": [
        "c361be55b3128474aa66d31092db330b07539103"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Oct 16 01:25:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:00 2007 -0700"
      },
      "message": "Group short-lived and reclaimable kernel allocations\n\nThis patch marks a number of allocations that are either short-lived such as\nnetwork buffers or are reclaimable such as inode allocations.  When something\nlike updatedb is called, long-lived and unmovable kernel allocations tend to\nbe spread throughout the address space which increases fragmentation.\n\nThis patch groups these allocations together as much as possible by adding a\nnew MIGRATE_TYPE.  The MIGRATE_RECLAIMABLE type is for allocations that can be\nreclaimed on demand, but not moved.  i.e.  they can be migrated by deleting\nthem and re-reading the information from elsewhere.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d72376b3af1e7d4d4515ebfd0f4383f2e92c343",
      "tree": "a9f36173883f1309640f3a1e58b03a53422262d8",
      "parents": [
        "2b1e315dd2822c99793485f9e53a73459fb399c1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:12 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:12 2007 +0200"
      },
      "message": "sched: clean up schedstats, cnt -\u003e count\n\nrename all \u0027cnt\u0027 fields and variables to the less yucky \u0027count\u0027 name.\n\nyuckage noticed by Andrew Morton.\n\nno change in code, other than the /proc/sched_debug bkl_count string got\na bit larger:\n\n   text    data     bss     dec     hex filename\n  38236    3506      24   41766    a326 sched.o.before\n  38240    3506      24   41770    a32a sched.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5ea473a1dfeca2ee38c5dd458c1174d129e6b64e",
      "tree": "7ed66c900149f452ebeda379ce3264da9515b9dd",
      "parents": [
        "ff8e210a9550ad760a62e9803938cd04f9fb0851"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Jul 31 00:38:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:40 2007 -0700"
      },
      "message": "Fix leaks on /proc/{*/sched,sched_debug,timer_list,timer_stats}\n\nOn every open/close one struct seq_operations leaks.\nKudos to /proc/slab_allocators.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@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": "3cb4a0bb1e773e3c41800b33a3f7dab32bd06c64",
      "tree": "d363522865706f0674b7b104a8fc7b151f336764",
      "parents": [
        "6c5d523826dc639df709ed0f88c5d2ce25379652"
      ],
      "author": {
        "name": "Kawai, Hidehiro",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Thu Jul 19 01:48:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:47 2007 -0700"
      },
      "message": "coredump masking: add an interface for core dump filter\n\nThis patch adds an interface to set/reset flags which determines each memory\nsegment should be dumped or not when a core file is generated.\n\n/proc/\u003cpid\u003e/coredump_filter file is provided to access the flags.  You can\nchange the flag status for a particular process by writing to or reading from\nthe file.\n\nThe flag status is inherited to the child process when it is created.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.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": "6c5d523826dc639df709ed0f88c5d2ce25379652",
      "tree": "ef2fa8cb30266b3a9b047902794e78c583b099da",
      "parents": [
        "76fdbb25f963de5dc1e308325f0578a2f92b1c2d"
      ],
      "author": {
        "name": "Kawai, Hidehiro",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Thu Jul 19 01:48:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:46 2007 -0700"
      },
      "message": "coredump masking: reimplementation of dumpable using two flags\n\nThis patch changes mm_struct.dumpable to a pair of bit flags.\n\nset_dumpable() converts three-value dumpable to two flags and stores it into\nlower two bits of mm_struct.flags instead of mm_struct.dumpable.\nget_dumpable() behaves in the opposite way.\n\n[akpm@linux-foundation.org: export set_dumpable]\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.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": "9281acea6a3687ff0f262e0be31eac34895b95d7",
      "tree": "f060d6e4f6a5da1c82bc789104683d39377a2e9a",
      "parents": [
        "b45d52797432bd6b5d9786dbda940eb8d0b9ed06"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jul 17 04:03:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:03 2007 -0700"
      },
      "message": "kallsyms: make KSYM_NAME_LEN include space for trailing \u0027\\0\u0027\n\nKSYM_NAME_LEN is peculiar in that it does not include the space for the\ntrailing \u0027\\0\u0027, forcing all users to use KSYM_NAME_LEN + 1 when allocating\nbuffer.  This is nonsense and error-prone.  Moreover, when the caller\nforgets that it\u0027s very likely to subtly bite back by corrupting the stack\nbecause the last position of the buffer is always cleared to zero.\n\nThis patch increments KSYM_NAME_LEN by one and updates code accordingly.\n\n* off-by-one bug in asm-powerpc/kprobes.h::kprobe_lookup_name() macro\n  is fixed.\n\n* Where MODULE_NAME_LEN and KSYM_NAME_LEN were used together,\n  MODULE_NAME_LEN was treated as if it didn\u0027t include space for the\n  trailing \u0027\\0\u0027.  Fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Paulo Marques \u003cpmarques@grupopie.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d9d02feeee89e9132034d504c9a45eeaf618a3d",
      "tree": "a4324cce8acd77cace3b1d4cf3a1e61783707e5c",
      "parents": [
        "be0ef957c9eed4ebae873ee3fbcfb9dfde486dec"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@cpushare.com",
        "time": "Sun Jul 15 23:41:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:50 2007 -0700"
      },
      "message": "move seccomp from /proc to a prctl\n\nThis reduces the memory footprint and it enforces that only the current\ntask can enable seccomp on itself (this is a requirement for a\nstrightforward [modulo preempt ;) ] TIF_NOTSC implementation).\n\nSigned-off-by: Andrea Arcangeli \u003candrea@cpushare.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "da58a1617343e345d435953a0f32024997a95164",
      "tree": "12a0ad4a92221d38dd8846f63063a8414c44655d",
      "parents": [
        "7126dd0562c78fa393a53120155e9b265cc68f9d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Sun Jul 15 23:40:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:44 2007 -0700"
      },
      "message": "/proc/*/environ: wrong placing of ptrace_may_attach() check\n\nIt\u0027s a bit dopey-looking and can permit a task to cause a pagefault in an mm\nwhich it doesn\u0027t have permission to read from.\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": "43ae34cb4cd650d1eb4460a8253a8e747ba052ac",
      "tree": "51f1b6a8331dea95d8d560c2c27f4abdad1d759c",
      "parents": [
        "77e54a1f88a1cb0746c7694fa40052bd02df1123"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: scheduler debugging, core\n\nscheduler debugging core: implement /proc/sched_debug and\n/proc/\u003cPID\u003e/sched files for scheduler debugging.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "172ba844a8851c3edd13c0a979cdf46bd5e3cc1a",
      "tree": "5e1bfd820c8e68fc28450688f166f4136351e1e1",
      "parents": [
        "b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: update delay-accounting to use CFS\u0027s precise stats\n\nupdate delay-accounting to use CFS\u0027s precise stats.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4b8df8915a6980f476e1fa8f4d156e36cb63bf76",
      "tree": "dee4cbe41aee3570b9a129a4c87dcf8ea09f8112",
      "parents": [
        "7e81ab9d3d9a22fb7b20c56f0cabc8ef51954014"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue May 08 20:27:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 20:41:14 2007 -0700"
      },
      "message": "smaps: only define clear_refs for CONFIG_MMU\n\n/proc/pid/clear_refs is only defined in the CONFIG_MMU case, so make sure we\ndon\u0027t have any references to clear_refs_smap() in generic procfs code.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: David Howells \u003cdhowells@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": "0c28f287aa57e065116731c1e44bedcbc14fd53f",
      "tree": "66fe5fc7a4f8c191a9e05e99bebeb1bc425bbb7c",
      "parents": [
        "346339938ba9bcabd34e5fc8f4b0b0665c507a22"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue May 08 00:31:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:14 2007 -0700"
      },
      "message": "procfs: use simple_read_from_buffer()\n\nCleanup using simple_read_from_buffer() in procfs.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@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": "1e8123fdeda6b2b9e96f2ec56e7bed27a303d3eb",
      "tree": "5a969db27d16a0dd324277618c519cd98e0c7abe",
      "parents": [
        "49a4ec188f9a96c9a5567956718213d38a456a19"
      ],
      "author": {
        "name": "John Johansen",
        "email": "jjohansen@suse.de",
        "time": "Tue May 08 00:29:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:10 2007 -0700"
      },
      "message": "Remove redundant check from proc_setattr()\n\nnotify_change() already calls security_inode_setattr() before\ncalling iop-\u003esetattr.\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: John Johansen \u003cjjohansen@suse.de\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: 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": "9d65cb4a1718a072898c7a57a3bc61b2dc4bcd4d",
      "tree": "9e3fd1c9e61e8ed16959d115a9a3f6f7eb0bbf21",
      "parents": [
        "ffb45122766db220d0bf3d01848d575fbbcb6430"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Fix race between cat /proc/*/wchan and rmmod et al\n\nkallsyms_lookup() can go iterating over modules list unprotected which is OK\nfor emergency situations (oops), but not OK for regular stuff like\n/proc/*/wchan.\n\nIntroduce lookup_symbol_name()/lookup_module_symbol_name() which copy symbol\nname into caller-supplied buffer or return -ERANGE.  All copying is done with\nmodule_mutex held, so...\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Rusty Russell \u003crusty@rustcorp.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": "ffb45122766db220d0bf3d01848d575fbbcb6430",
      "tree": "a8fedf0518407ad12578a7c03aa2c3344f11ff3c",
      "parents": [
        "ea07890a680273b25127129fb555aac0d9324bea"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Simplify kallsyms_lookup()\n\nSeveral kallsyms_lookup() pass dummy arguments but only need, say, module\u0027s\nname.  Make kallsyms_lookup() accept NULLs where possible.\n\nAlso, makes picture clearer about what interfaces are needed for all symbol\nresolving business.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: 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": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19c5d45a09312ca20cd1f9df3fd1a87fe0cb8aac",
      "tree": "de228e847ea4846e77cd64b35ca74eb5daa3d242",
      "parents": [
        "72c1bbf308c75a136803d2d76d0e18258be14c7a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:26:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "/proc/*/oom_score oops re badness\n\nEternal quest to make\n\n\twhile true; do cat /proc/fs/xfs/stat \u003e/dev/null 2\u003e/dev/null; done\n\twhile true; do find /proc -type f 2\u003e/dev/null | xargs cat \u003e/dev/null 2\u003e/dev/null; done\n\twhile true; do modprobe xfs; rmmod xfs; done\n\nwork reliably continues and now kernel oopses in the following way:\n\nBUG: unable to handle ... at virtual address 6b6b6b6b\nEIP is at badness\nprocess: cat\n\tproc_oom_score\n\tproc_info_read\n\tsys_fstat64\n\tvfs_read\n\tproc_info_read\n\tsys_read\n\nFailing code is prefetch hidden in list_for_each_entry() in badness().\nbadness() is reachable from two points. One is proc_oom_score, another\nis out_of_memory() \u003d\u003e select_bad_process() \u003d\u003e badness().\n\nSecond path grabs tasklist_lock, while first doesn\u0027t.\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": "2793274298c4423d79701e9a8190f2940bf3c785",
      "tree": "8cc0cf9889f3426b9ca50d3cfa15e775ad31d2d8",
      "parents": [
        "c5141e6d64ab5c48a5e31413c7a6cdda84ac1d52"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue May 08 00:26:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:03 2007 -0700"
      },
      "message": "add file position info to proc\n\nAdd support for finding out the current file position, open flags and\npossibly other info in the future.\n\nThese new entries are added:\n\n  /proc/PID/fdinfo/FD\n  /proc/PID/task/TID/fdinfo/FD\n\nFor each fd the information is provided in the following format:\n\npos:\t1234\nflags:\t0100002\n\n[bunk@stusta.de: make struct proc_fdinfo_file_operations static]\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5141e6d64ab5c48a5e31413c7a6cdda84ac1d52",
      "tree": "95a93ed2f56e98f6b6659ab906faee7abb252a49",
      "parents": [
        "d9a2f4a4945ebff54c9a011e4dc6e92d899ae26d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue May 08 00:26:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:03 2007 -0700"
      },
      "message": "procfs: reorder struct pid_dentry to save space on 64bit archs, and constify them\n\nChange the order of fields of struct pid_entry (file fs/proc/base.c) in order\nto avoid a hole on 64bit archs.  (8 bytes saved per object)\n\nAlso change all pid_entry arrays to be const qualified, to make clear they\nmust not be modified.\n\nBefore (on x86_64) :\n\n# size fs/proc/base.o\n   text    data     bss     dec     hex filename\n  15549    2192       0   17741    454d fs/proc/base.o\n\nAfter :\n\n# size fs/proc/base.o\n   text    data     bss     dec     hex filename\n  17229     176       0   17405    43fd fs/proc/base.o\n\nThats 336 bytes saved on kernel size on x86_64\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: \"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": "5096add84b9e96e2e0a9c72675c442fe5433388a",
      "tree": "f0444013cb7db32596d2b6febafc1ee4c2a4ea1f",
      "parents": [
        "4a1ccb5b1eff949a90ab830869cb23d6609c3d5f"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees@outflux.net",
        "time": "Tue May 08 00:26:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:02 2007 -0700"
      },
      "message": "proc: maps protection\n\nThe /proc/pid/ \"maps\", \"smaps\", and \"numa_maps\" files contain sensitive\ninformation about the memory location and usage of processes.  Issues:\n\n- maps should not be world-readable, especially if programs expect any\n  kind of ASLR protection from local attackers.\n- maps cannot just be 0400 because \"-D_FORTIFY_SOURCE\u003d2 -O2\" makes glibc\n  check the maps when %n is in a *printf call, and a setuid(getuid())\n  process wouldn\u0027t be able to read its own maps file.  (For reference\n  see http://lkml.org/lkml/2006/1/22/150)\n- a system-wide toggle is needed to allow prior behavior in the case of\n  non-root applications that depend on access to the maps contents.\n\nThis change implements a check using \"ptrace_may_attach\" before allowing\naccess to read the maps contents.  To control this protection, the new knob\n/proc/sys/kernel/maps_protect has been added, with corresponding updates to\nthe procfs documentation.\n\n[akpm@linux-foundation.org: build fixes]\n[akpm@linux-foundation.org: New sysctl numbers are old hat]\nSigned-off-by: Kees Cook \u003ckees@outflux.net\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": "8948e11f450e6189a79e47d6051c3d5a0b98e3f3",
      "tree": "8cc904873cc1a8506970cf1e4a328c318a7fc4d7",
      "parents": [
        "ab1b6f03a10ba1f5638188ab06bf46e33ac3a160"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@openvz.org",
        "time": "Tue May 08 00:23:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:58 2007 -0700"
      },
      "message": "Allow access to /proc/$PID/fd after setuid()\n\n/proc/$PID/fd has r-x------ permissions, so if process does setuid(), it\nwill not be able to access /proc/*/fd/. This breaks fstatat() emulation\nin glibc.\n\nopen(\"foo\", O_RDONLY|O_DIRECTORY)       \u003d 4\nsetuid32(65534)                         \u003d 0\nstat64(\"/proc/self/fd/4/bar\", 0xbfafb298) \u003d -1 EACCES (Permission denied)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-By: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: 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": "b813e931b4c8235bb42e301096ea97dbdee3e8fe",
      "tree": "f8182687bffe8e3b95bac69b2cc7fdfe674ddc53",
      "parents": [
        "f79f177c25016647cc92ffac8afa7cb96ce47011"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun May 06 14:49:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "smaps: add clear_refs file to clear reference\n\nAdds /proc/pid/clear_refs.  When any non-zero number is written to this file,\npte_mkold() and ClearPageReferenced() is called for each pte and its\ncorresponding page, respectively, in that task\u0027s VMAs.  This file is only\nwritable by the user who owns the task.\n\nIt is now possible to measure _approximately_ how much memory a task is using\nby clearing the reference bits with\n\n\techo 1 \u003e /proc/pid/clear_refs\n\nand checking the reference count for each VMA from the /proc/pid/smaps output\nat a measured time interval.  For example, to observe the approximate change\nin memory footprint for a task, write a script that clears the references\n(echo 1 \u003e /proc/pid/clear_refs), sleeps, and then greps for Pgs_Referenced and\nextracts the size in kB.  Add the sizes for each VMA together for the total\nreferenced footprint.  Moments later, repeat the process and observe the\ndifference.\n\nFor example, using an efficient Mozilla:\n\n\taccumulated time\t\treferenced memory\n\t----------------\t\t-----------------\n\t\t 0 s\t\t\t\t 408 kB\n\t\t 1 s\t\t\t\t 408 kB\n\t\t 2 s\t\t\t\t 556 kB\n\t\t 3 s\t\t\t\t1028 kB\n\t\t 4 s\t\t\t\t 872 kB\n\t\t 5 s\t\t\t\t1956 kB\n\t\t 6 s\t\t\t\t 416 kB\n\t\t 7 s\t\t\t\t1560 kB\n\t\t 8 s\t\t\t\t2336 kB\n\t\t 9 s\t\t\t\t1044 kB\n\t\t10 s\t\t\t\t 416 kB\n\nThis is a valuable tool to get an approximate measurement of the memory\nfootprint for a task.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\n[akpm@linux-foundation.org: build fixes]\n[mpm@selenic.com: rename for_each_pmd]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04ff97086b1a3237bbd1fe6390fa80fe75207e23",
      "tree": "877e26055759d84a726c6bc68245bc6f9a4a5753",
      "parents": [
        "c4823bce033be74c0fcfbcae2f1be0854fdc2e18"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Mon Mar 12 16:17:58 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Mar 14 15:27:48 2007 -0700"
      },
      "message": "[PATCH] sanitize security_getprocattr() API\n\nhave it return the buffer it had allocated\n\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "63967fa911c2c49376d0b1e171ef98e1b2b075af",
      "tree": "28a10b745f81c32fc67ab8a23b31bc83f088abb2",
      "parents": [
        "96c62d51cc5a3ea31ddef606544f014922591a64"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Feb 20 13:58:12 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:15 2007 -0800"
      },
      "message": "[PATCH] Missing __user in pointer referenced within copy_from_user\n\nPointers to user data should be marked with a __user hint.  This one is\nmissing.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@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": "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf",
      "tree": "e1a9804a8af427f700aaba4b386cf8679b317e83",
      "parents": [
        "92e1d5be91a0e3ffa5c4697eeb09b2aa22792122"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:40 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 3\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00977a59b951207d38380c75f03a36829950265c",
      "tree": "26933feafebffca95df02c19df03f5e56aada47e",
      "parents": [
        "d54b1fdb1d9f82e375a299e22bd366aad52d4c34"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:45 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 6\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b98d11b40f03382918796f3c5c936d5495d20a4",
      "tree": "616b7260196c9bd0eaf208ef8fab91fcf9efcece",
      "parents": [
        "18f705f49a5b19206233f7cef8f869ce7291f8c8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Feb 10 01:46:45 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:18:07 2007 -0800"
      },
      "message": "[PATCH] ifdef -\u003erchar, -\u003ewchar, -\u003esyscr, -\u003esyscw from task_struct\n\nThey are fat: 4x8 bytes in task_struct.\nThey are uncoditionally updated in every fork, read, write and sendfile.\nThey are used only if you have some \"extended acct fields feature\".\n\nAnd please, please, please, read(2) knows about bytes, not characters,\nwhy it is called \"rchar\"?\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "7d8952440f4090522b740257f1c6b2cf96413969",
      "tree": "9afe525a5e3dda6ac88b533caacde21f30673ebe",
      "parents": [
        "432bd6cbf9f016f5480153b1cdfbd046f8d4fb1e"
      ],
      "author": {
        "name": "Guillaume Chazarain",
        "email": "guichaz@yahoo.fr",
        "time": "Wed Jan 31 23:48:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 01 16:22:41 2007 -0800"
      },
      "message": "[PATCH] procfs: Fix listing of /proc/NOT_A_TGID/task\n\nListing /proc/PID/task were PID is not a TGID should not result in\nduplicated entries.\n\n\t[g ~]$ pidof thunderbird-bin\n\t2751\n\t[g ~]$ ls /proc/2751/task\n\t2751  2770  2771  2824  2826  2834  2835  2851  2853\n\t[g ~]$ ls /proc/2770/task\n\t2751  2770  2771  2824  2826  2834  2835  2851  2853\n\t2770  2771  2824  2826  2834  2835  2851  2853\n\t[g ~]$\n\nSigned-off-by: Guillaume Chazarain \u003cguichaz@yahoo.fr\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "863c47028eb469c9e6c4e4287b01bea2bbf78766",
      "tree": "f07723f0bcdfd0f724ab8717a01e0a290f3bae98",
      "parents": [
        "c633090e3105e779c97d4978e5e3d7d66b291cfb"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@openvz.org",
        "time": "Fri Jan 26 00:56:53 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jan 26 13:50:58 2007 -0800"
      },
      "message": "[PATCH] Fix NULL -\u003ensproxy dereference in /proc/*/mounts\n\n/proc/*/mounstats was fixed, all right, but...\n\nTo reproduce:\n\n\twhile true; do\n\t\tfind /proc -type f 2\u003e/dev/null | xargs cat 1\u003e/dev/null 2\u003e/dev/null;\n\tdone\n\nBUG: unable to handle kernel NULL pointer dereference at virtual address 0000000c\n printing eip:\nc01754df\n*pde \u003d 00000000\nOops: 0000 [#28]\nModules linked in: af_packet ohci_hcd e1000 ehci_hcd uhci_hcd usbcore xfs\nCPU:    0\nEIP:    0060:[\u003cc01754df\u003e]    Not tainted VLI\nEFLAGS: 00010286   (2.6.20-rc5 #1)\nEIP is at mounts_open+0x1c/0xac\neax: 00000000   ebx: d5898ac0   ecx: d1d27b18   edx: d1d27a50\nesi: e6083e10   edi: d3c87f38   ebp: d5898ac0   esp: d3c87ef0\nds: 007b   es: 007b   ss: 0068\nProcess cat (pid: 18071, ti\u003dd3c86000 task\u003df7d5f070 task.ti\u003dd3c86000)\nStack: d5898ac0 e6083e10 d3c87f38 c01754c3 c0147c91 c18c52c0 d343f314 d5898ac0\n       00008000 d3c87f38 ffffff9c c0147e09 d5898ac0 00000000 00000000 c0147e4b\n       00000000 d3c87f38 d343f314 c18c52c0 c015e53e 00001000 08051000 00000101\nCall Trace:\n [\u003cc01754c3\u003e] mounts_open+0x0/0xac\n [\u003cc0147c91\u003e] __dentry_open+0xa1/0x18c\n [\u003cc0147e09\u003e] nameidata_to_filp+0x31/0x3a\n [\u003cc0147e4b\u003e] do_filp_open+0x39/0x40\n [\u003cc015e53e\u003e] seq_read+0x128/0x2aa\n [\u003cc0147e8c\u003e] do_sys_open+0x3a/0x6d\n [\u003cc0147efa\u003e] sys_open+0x1c/0x20\n [\u003cc0102b76\u003e] sysenter_past_esp+0x5f/0x85\n [\u003cc02a0033\u003e] unix_stream_recvmsg+0x3bf/0x4bf\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nCode: 5d c3 89 d8 e8 06 e0 f9 ff eb bd 0f 0b eb fe 55 57 56 53 89 d5 8b 40 f0 31 d2 e8 02 c1 fa ff 89 c2 85 c0 74 5c 8b 80 48 04 00 00 \u003c8b\u003e 58 0c 85 db 74 02 ff 03 ff 4a 08 0f 94 c0 84 c0 75 74 85 db\nEIP: [\u003cc01754df\u003e] mounts_open+0x1c/0xac SS:ESP 0068:d3c87ef0\n\nA race with do_exit()\u0027s call to exit_namespaces().\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "aba76fdb8a5fefba73d3490563bf7c4da37b1a34"
}
