)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "aba76fdb8a5fefba73d3490563bf7c4da37b1a34",
      "tree": "eefa514957d847d1fea1b8a76755907758867aca",
      "parents": [
        "98c4d57decf97bf8ddfe948a3266aa56b38b1a51"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Dec 10 02:19:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:55:41 2006 -0800"
      },
      "message": "[PATCH] io-accounting: report in procfs\n\nAdd a simple /proc/pid/io to show the IO accounting fields.\n\nMaybe this shouldn\u0027t be merged in mainline - the preferred reporting channel\nis taskstats.  But given the poor state of our userspace support for\ntaskstats, this is useful for developer-testing, at least.  And it improves\nthe changes that the procps developers will wire it up into top(1).  Opinions\nare sought.\n\nThe patch also wires up the existing IO-accounting fields.\n\nIt\u0027s a bit racy on 32-bit machines: if process A reads process B\u0027s\n/proc/pid/io while process B is updating one of those 64-bit counters, process\nA could see an intermediate result.\n\nCc: Jay Lan \u003cjlan@sgi.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Chris Sturtivant \u003ccsturtiv@sgi.com\u003e\nCc: Tony Ernst \u003ctee@sgi.com\u003e\nCc: Guillaume Thouvenin \u003cguillaume.thouvenin@bull.net\u003e\nCc: David Wright \u003cdaw@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f4f154fd920b2178382a6a24a236348e4429ebc1",
      "tree": "0bba747eb50b5d7e18d2b828f8c707b2781d7544",
      "parents": [
        "c17bb4951752d3e0f49cd1ea9d2e868422f9e0d6"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Dec 08 02:39:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:29:02 2006 -0800"
      },
      "message": "[PATCH] fault injection: process filtering for fault-injection capabilities\n\nThis patch provides process filtering feature.\nThe process filter allows failing only permitted processes\nby /proc/\u003cpid\u003e/make-it-fail\n\nPlease see the example that demostrates how to inject slab allocation\nfailures into module init/cleanup code\nin Documentation/fault-injection/fault-injection.txt\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6b3286ed1169d74fea401367d6d4d6c6ec758a81",
      "tree": "faf5beddb797875bb92855f8606735478267959a",
      "parents": [
        "1ec320afdc9552c92191d5f89fcd1ebe588334ca"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Fri Dec 08 02:37:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:51 2006 -0800"
      },
      "message": "[PATCH] rename struct namespace to struct mnt_namespace\n\nRename \u0027struct namespace\u0027 to \u0027struct mnt_namespace\u0027 to avoid confusion with\nother namespaces being developped for the containers : pid, uts, ipc, etc.\n\u0027namespace\u0027 variables and attributes are also renamed to \u0027mnt_ns\u0027\n\nSigned-off-by: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2fddfeefeed703b7638af97aa3048f82a2d53b03",
      "tree": "a58e1f032b3754d4c55556578a96a32a6f1715ee",
      "parents": [
        "f427f5d5d6b0eb729505a2d9c0a6cad22734a74c"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:41 2006 -0800"
      },
      "message": "[PATCH] proc: change uses of f_{dentry, vfsmnt} to use f_path\n\nChange all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the proc\nfilesystem code.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9711ef9945ce33b2b4ecb51a4db3f65f7d784876",
      "tree": "7292799c068fe4b14c190054e647bf8ffe42db15",
      "parents": [
        "c585646dd1d98caf0a5f2e85c794c1441df6fac1"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:38:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:40 2006 -0800"
      },
      "message": "[PATCH] make fs/proc/base.c:proc_pid_instantiate() static\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8fb4fc68ca391862b061b3d358a288ccf6abed39",
      "tree": "5fb67541fb76957260879812d6d21ead6c4e6852",
      "parents": [
        "3b17979bda74493633364c2c263b452b7788e350"
      ],
      "author": {
        "name": "Guillem Jover",
        "email": "guillem.jover@nokia.com",
        "time": "Wed Dec 06 20:32:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] Allow user processes to raise their oom_adj value\n\nCurrently a user process cannot rise its own oom_adj value (i.e.\nunprotecting itself from the OOM killer).  As this value is stored in the\ntask structure it gets inherited and the unprivileged childs will be unable\nto rise it.\n\nThe EPERM will be handled by the generic proc fs layer, as only processes\nwith the proper caps or the owner of the process will be able to write to\nthe file.  So we allow only the processes with CAP_SYS_RESOURCE to lower\nthe value, otherwise it will get an EACCES which seems more appropriate\nthan EPERM.\n\nSigned-off-by: Guillem Jover \u003cguillem.jover@nokia.com\u003e\nAcked-by: Andrea Arcangeli \u003candrea@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "701e054e0c2db82359f0454c7ed4fd24346d52eb",
      "tree": "af052eb937237414705c425f08502517af52e680",
      "parents": [
        "2d51013ed2f2b6a5d2369b7fbbd989df1f6369e2"
      ],
      "author": {
        "name": "Vasily Tarasov",
        "email": "vtaras@openvz.org",
        "time": "Sat Nov 25 11:09:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Nov 25 13:28:33 2006 -0800"
      },
      "message": "[PATCH] mounstats NULL pointer dereference\n\nOpenVZ developers team has encountered the following problem in 2.6.19-rc6\nkernel. After some seconds of running script\n\nwhile [[ 1 ]]\ndo\n\tfind  /proc -name mountstats | xargs cat\ndone\n\nthis Oops appears:\n\nBUG: unable to handle kernel NULL pointer dereference at virtual address\n00000010\n printing eip:\nc01a6b70\n*pde \u003d 00000000\nOops: 0000 [#1]\nSMP\nModules linked in: xt_length ipt_ttl xt_tcpmss ipt_TCPMSS iptable_mangle\niptable_filter xt_multiport xt_limit ipt_tos ipt_REJECT ip_tables x_tables\nparport_pc lp parport sunrpc af_packet thermal processor fan button battery\nasus_acpi ac ohci_hcd ehci_hcd usbcore i2c_nforce2 i2c_core tg3 floppy\npata_amd\nide_cd cdrom sata_nv libata\nCPU:    1\nEIP:    0060:[\u003cc01a6b70\u003e]    Not tainted VLI\nEFLAGS: 00010246   (2.6.19-rc6 #2)\nEIP is at mountstats_open+0x70/0xf0\neax: 00000000   ebx: e6247030   ecx: e62470f8   edx: 00000000\nesi: 00000000   edi: c01a6b00   ebp: c33b83c0   esp: f4105eb4\nds: 007b   es: 007b   ss: 0068\nProcess cat (pid: 6044, ti\u003df4105000 task\u003df4104a70 task.ti\u003df4105000)\nStack: c33b83c0 c04ee940 f46a4a80 c33b83c0 e4df31b4 c01a6b00 f4105000 c0169231\n       e4df31b4 c33b83c0 c33b83c0 f4105f20 00000003 f4105000 c0169445 f2503cf0\n       f7f8c4c0 00008000 c33b83c0 00000000 00008000 c0169350 f4105f20 00008000\nCall Trace:\n [\u003cc01a6b00\u003e] mountstats_open+0x0/0xf0\n [\u003cc0169231\u003e] __dentry_open+0x181/0x250\n [\u003cc0169445\u003e] nameidata_to_filp+0x35/0x50\n [\u003cc0169350\u003e] do_filp_open+0x50/0x60\n [\u003cc01873d6\u003e] seq_read+0xc6/0x300\n [\u003cc0169511\u003e] get_unused_fd+0x31/0xc0\n [\u003cc01696d3\u003e] do_sys_open+0x63/0x110\n [\u003cc01697a7\u003e] sys_open+0x27/0x30\n [\u003cc01030bd\u003e] sysenter_past_esp+0x56/0x79\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: 45 74 8b 54 24 20 89 44 24 08 8b 42 f0 31 d2 e8 47 cb f8 ff 85 c0 89 c3\n74 51 8d 80 a0 04 00 00 e8 46 06 2c 00 8b 83 48 04 00 00 \u003c8b\u003e 78 10 85 ff 74\n03\nf0 ff 07 b0 01 86 83 a0 04 00 00 f0 ff 4b\nEIP: [\u003cc01a6b70\u003e] mountstats_open+0x70/0xf0 SS:ESP 0068:f4105eb4\n\nThe problem is that task-\u003ensproxy can be equal NULL for some time during\ntask exit. This patch fixes the BUG.\n\nSigned-off-by: Vasily Tarasov \u003cvtaras@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8ac773b4f73afa6fd66695131103944b975d5d5c",
      "tree": "7a3ea0d703cde009c5f2e1196d80f06cf5d00d54",
      "parents": [
        "887b95931b4072e60e3bf4253ff7bffe372bca46"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 19 23:28:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:38 2006 -0700"
      },
      "message": "[PATCH] OOM killer meets userspace headers\n\nDespite mm.h is not being exported header, it does contain one thing\nwhich is part of userspace ABI -- value disabling OOM killer for given\nprocess. So,\na) create and export include/linux/oom.h\nb) move OOM_DISABLE define there.\nc) turn bounding values of /proc/$PID/oom_adj into defines and export\n   them too.\n\nNote: mass __KERNEL__ removal will be done later.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0187f879ee8d4b914e74ffa3cc5df268311fc2d2",
      "tree": "6c29aa7911a9a3ffc4497ea319d3fb6d1bfbd55c",
      "parents": [
        "ac08c26492a0ad4d94a25bd47d5630cd38337069"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Oct 17 00:09:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 17 08:18:43 2006 -0700"
      },
      "message": "[PATCH] PROC_NUMBUF is wrong\n\nActually, the decimal representation of a 32-bit signed number can take 12\nbytes, including the \\0.\n\nAnd then some code adds a \\n as well, so let\u0027s give it 13 bytes.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a657f78dcc8ea7c53eaa1f2a45ea2315738c15f",
      "tree": "a19972027792082fed505c8d540f7d877e37c0ab",
      "parents": [
        "1c0d04c9e44f4a248335c33d2be7c7f7b06ff359"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Oct 02 02:18:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:25 2006 -0700"
      },
      "message": "[PATCH] introduce get_task_pid() to fix unsafe get_pid()\n\nproc_pid_make_inode:\n\n\tei-\u003epid \u003d get_pid(task_pid(task));\n\nI think this is not safe.  get_pid() can be preempted after checking \"pid\n!\u003d NULL\".  Then the task exits, does detach_pid(), and RCU frees the pid.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1c0d04c9e44f4a248335c33d2be7c7f7b06ff359",
      "tree": "6eb913a14a86311158e9a36cc28cd765b179b023",
      "parents": [
        "5e61feafa2c641c2a013ba94eec56c411011cc94"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:25 2006 -0700"
      },
      "message": "[PATCH] proc: comment what proc_fill_cache does\n\nSigned-off-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@osdl.org\u003e\n"
    },
    {
      "commit": "5e61feafa2c641c2a013ba94eec56c411011cc94",
      "tree": "2d6285e3261b106dc8a98cb9aa522096754c862a",
      "parents": [
        "7bcd6b0efd5216f2f208e92150b0e5b9bea2c210"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:25 2006 -0700"
      },
      "message": "[PATCH] proc: remove the useless SMP-safe comments from /proc\n\nSigned-off-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@osdl.org\u003e\n"
    },
    {
      "commit": "7bcd6b0efd5216f2f208e92150b0e5b9bea2c210",
      "tree": "c27e9291d2579fe0914133cf9d9c18d853351a5f",
      "parents": [
        "8e95bd936df2d3fc0e773068aa34350306a5c52a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:25 2006 -0700"
      },
      "message": "[PATCH] proc: remove trailing blank entry from pid_entry arrays\n\nIt was pointed out that since I am taking ARRAY_SIZE anyway the trailing empty\nentry is silly and just wastes space.\n\nSigned-off-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@osdl.org\u003e\n"
    },
    {
      "commit": "8e95bd936df2d3fc0e773068aa34350306a5c52a",
      "tree": "fe8c3cdeb892d73e2302c2595d4790e49e2ba858",
      "parents": [
        "b0fa9db6abdb2875a6d3069ddc6a2846a73fa5cd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: properly compute TGID_OFFSET\n\nThe value doesn\u0027t change but this ensures I will have the proper value when\nother files are added to proc_base_stuff.\n\nSigned-off-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@osdl.org\u003e\n"
    },
    {
      "commit": "7fbaac005cab2f3b4d6999cdb32fb93d442c5cdb",
      "tree": "5e97a4a30d7659ff688500e997387c38d042faa4",
      "parents": [
        "72d9dcfc7afd80fe98334ec23531b638ee54df8b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: Use pid_task instead of open coding it\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "72d9dcfc7afd80fe98334ec23531b638ee54df8b",
      "tree": "63d03e1e77457d479d65a48ac1df11032ad9197f",
      "parents": [
        "61a28784028e6d55755e4d0f39bee8d9bf2ee8d9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: Merge proc_tid_attr and proc_tgid_attr\n\nThe implementation is exactly the same and there is currently nothing to\ndistinguish proc_tid_attr, and proc_tgid_attr.  So it is pointless to have two\nseparate implementations.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "61a28784028e6d55755e4d0f39bee8d9bf2ee8d9",
      "tree": "ee114d76871f98da80ab14e9a86416da27a1787e",
      "parents": [
        "444ceed8d186631fdded5e3f24dc20b93d0d3fda"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: Remove the hard coded inode numbers\n\nThe hard coded inode numbers in proc currently limit its maintainability,\nits flexibility, and what can be done with the rest of system.  /proc limits\npid-max to 32768 on 32 bit systems it limits fd-max to 32768 on all systems,\nand placing the pid in the inode number really gets in the way of implementing\nsubdirectories of per process information.\n\nEver since people started adding to the middle of the file type enumeration we\nhaven\u0027t been maintaing the historical inode numbers, all we have really\nsucceeded in doing is keeping the pid in the proc inode number.  The pid is\nalready available in the directory name so no information is lost removing it\nfrom the inode number.\n\nSo if something in user space cares if we remove the inode number from the\n/proc inode it is almost certainly broken.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "444ceed8d186631fdded5e3f24dc20b93d0d3fda",
      "tree": "c543ebbb4d1c8448770502be32c9166f2c3ef485",
      "parents": [
        "801199ce805a2412bbcd9bfe213092ec656013dd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: Factor out an instantiate method from every lookup method\n\nTo remove the hard coded proc inode numbers it is necessary to be able to\ncreate the proc inodes during readdir.  The instantiate methods are the subset\nof lookup that is needed to accomplish that.\n\nThis first step just splits the lookup methods into 2 functions.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "801199ce805a2412bbcd9bfe213092ec656013dd",
      "tree": "18e465cd852cc8a5105fea4e08b6a63503ee8077",
      "parents": [
        "c5f2420a063fcc5a4cd6610c3ef6934827853001"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: Make the generation of the self symlink table driven\n\nThis patch generalizes the concept of files in /proc that are related to\nprocesses but live in the root directory of /proc\n\nIdeally this would reuse infrastructure from the rest of the process specific\nparts of proc but unfortunately security_task_to_inode must not be called on\nfiles that are not strictly per process.  security_task_to_inode really needs\nto be reexamined as the security label can change in important places that we\nare not currently catching, but I\u0027m not certain that simplifies this problem.\n\nBy at least matching the structure of the rest of proc we get more idiom reuse\nand it becomes easier to spot problems in the way things are put together.\n\nLater things like /proc/mounts are likely to be moved into proc_base as well.\nIf union mounts are ever supported we may be able to make /proc a union mount,\nand properly split it into 2 filesystems.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1651e14e28a2d9f446018ef522882e0709a2ce4f",
      "tree": "401ff78624fdc4b445f3f95174a223acaf6a4ca0",
      "parents": [
        "0437eb594e6e5e699248f865482e61034be846d0"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:20 2006 -0700"
      },
      "message": "[PATCH] namespaces: incorporate fs namespace into nsproxy\n\nThis moves the mount namespace into the nsproxy.  The mount namespace count\nnow refers to the number of nsproxies point to it, rather than the number of\ntasks.  As a result, the unshare_namespace() function in kernel/fork.c no\nlonger checks whether it is being shared.\n\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "20cdc894c45d2e4ab0c69e95a56b7c5ed36ae0dd",
      "tree": "889b369ebf1a54a96e8a93c2d8c49921ed2fc4b4",
      "parents": [
        "28a6d67179da6964d1640d379c5e5d4f46dd0042"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:13 2006 -0700"
      },
      "message": "[PATCH] proc: modify proc_pident_lookup to be completely table driven\n\nCurrently proc_pident_lookup gets the names and types from a table and then\nhas a huge switch statement to get the inode and file operations it needs.\nThat is silly and is becoming increasingly hard to maintain so I just put all\nof the information in the table.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "28a6d67179da6964d1640d379c5e5d4f46dd0042",
      "tree": "dac1acf4a94f5718699d287603933f49df55d1e5",
      "parents": [
        "0804ef4b0de7121261f77c565b20a11ac694e877"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmisison.com",
        "time": "Mon Oct 02 02:17:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:13 2006 -0700"
      },
      "message": "[PATCH] proc: reorder the functions in base.c\n\nThere were enough changes in my last round of cleaning up proc I had to break\nup the patch series into smaller chunks, and my last chunk never got resent.\n\nThis patchset gives proc dynamic inode numbers (the static inode numbers were\na pain to maintain and prevent all kinds of things), and removes the horrible\nswitch statements that had to be kept in sync with everything else.  Being\nfully table driver takes us 90% of the way of being able to register new\nprocess specific attributes in proc.\n\nThis patch:\n\nGroup the functions by what they implement instead of by type of operation.\nAs it existed base.c was quickly approaching the point where it could not be\nfollowed.\n\nNo functionality or code changes asside from adding/removing forward\ndeclartions are implemented in this patch.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0804ef4b0de7121261f77c565b20a11ac694e877",
      "tree": "ff12e3b999dc2ce66d97fce5d76cd7df073c0d5c",
      "parents": [
        "2bc2d61a9638dab670d8361e928d1a5a291173ef"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:12 2006 -0700"
      },
      "message": "[PATCH] proc: readdir race fix (take 3)\n\nThe problem: An opendir, readdir, closedir sequence can fail to report\nprocess ids that are continually in use throughout the sequence of system\ncalls.  For this race to trigger the process that proc_pid_readdir stops at\nmust exit before readdir is called again.\n\nThis can cause ps to fail to report processes, and it is in violation of\nposix guarantees and normal application expectations with respect to\nreaddir.\n\nCurrently there is no way to work around this problem in user space short\nof providing a gargantuan buffer to user space so the directory read all\nhappens in on system call.\n\nThis patch implements the normal directory semantics for proc, that\nguarantee that a directory entry that is neither created nor destroyed\nwhile reading the directory entry will be returned.  For directory that are\neither created or destroyed during the readdir you may or may not see them.\n Furthermore you may seek to a directory offset you have previously seen.\n\nThese are the guarantee that ext[23] provides and that posix requires, and\nmore importantly that user space expects.  Plus it is a simple semantic to\nimplement reliable service.  It is just a matter of calling readdir a\nsecond time if you are wondering if something new has show up.\n\nThese better semantics are implemented by scanning through the pids in\nnumerical order and by making the file offset a pid plus a fixed offset.\n\nThe pid scan happens on the pid bitmap, which when you look at it is\nremarkably efficient for a brute force algorithm.  Given that a typical\ncache line is 64 bytes and thus covers space for 64*8 \u003d\u003d 200 pids.  There\nare only 40 cache lines for the entire 32K pid space.  A typical system\nwill have 100 pids or more so this is actually fewer cache lines we have to\nlook at to scan a linked list, and the worst case of having to scan the\nentire pid bitmap is pretty reasonable.\n\nIf we need something more efficient we can go to a more efficient data\nstructure for indexing the pids, but for now what we have should be\nsufficient.\n\nIn addition this takes no additional locks and is actually less code than\nwhat we are doing now.\n\nAlso another very subtle bug in this area has been fixed.  It is possible\nto catch a task in the middle of de_thread where a thread is assuming the\nthread of it\u0027s thread group leader.  This patch carefully handles that case\nso if we hit it we don\u0027t fail to return the pid, that is undergoing the\nde_thread dance.\n\nThanks to KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e for\nproviding the first fix, pointing this out and working on it.\n\n[oleg@tv-sign.ru: fix it]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Jean Delvare \u003cjdelvare@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f7ca54f486d3b07f48b8bbc92705bde6ba98ee54",
      "tree": "33a464bf15016d5521c1c18f53af5c64a2cc06de",
      "parents": [
        "87d7c8aca8670a772f74766c19e0345a606b67a9"
      ],
      "author": {
        "name": "Frederik Deweerdt",
        "email": "deweerdt@free.fr",
        "time": "Fri Sep 29 02:01:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:19 2006 -0700"
      },
      "message": "[PATCH] fix mem_write() return value\n\nAt the beginning of the routine, \"copied\" is set to 0, but it is no good\nbecause in lines 805 and 812 it is set to other values.  Finally, the\nroutine returns as if it copied 12 (\u003dENOMEM) bytes less than it actually\ndid.\n\nSigned-off-by: Frederik Deweerdt \u003cfrederik.deweerdt@gmail.com\u003e\nAcked-by: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6d76fa58b050044994fe25f8753b8023f2b36737",
      "tree": "86964d8aeb297fe4346f73d812519646c7fdca20",
      "parents": [
        "92d032855e64834283de5acfb0463232e0ab128e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Sat Jul 15 12:26:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Sat Jul 15 12:26:45 2006 -0700"
      },
      "message": "Don\u0027t allow chmod() on the /proc/\u003cpid\u003e/ files\n\nThis just turns off chmod() on the /proc/\u003cpid\u003e/ files, since there is no\ngood reason to allow it, and had we disallowed it originally, the nasty\n/proc race exploit wouldn\u0027t have been possible.\n\nThe other patches already fixed the problem chmod() could cause, so this\nis really just some final mop-up..\n\nThis particular version is based off a patch by Eugene and Marcel which\nhad much better naming than my original equivalent one.\n\nSigned-off-by: Eugene Teo \u003ceteo@redhat.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ee8ab9fbf21e6b87ad227cd46c0a4be41ab749b",
      "tree": "148cf933d20fdf79096b71d03552c1c511c2db13",
      "parents": [
        "18b0bbd8ca6d3cb90425aa0d77b99a762c6d6de3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:48:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:48:03 2006 -0700"
      },
      "message": "Relax /proc fix a bit\n\nClearign all of i_mode was a bit draconian. We only really care about\nS_ISUID/ISGID, after all.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "18b0bbd8ca6d3cb90425aa0d77b99a762c6d6de3",
      "tree": "b1a9c89bc546a71924ed7253f2f27afdeb82d297",
      "parents": [
        "ab6cf0d0cb96417ef65cc2c2120c0e879edf7a4a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 16:51:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 16:51:34 2006 -0700"
      },
      "message": "Fix nasty /proc vulnerability\n\nWe have a bad interaction with both the kernel and user space being able\nto change some of the /proc file status.  This fixes the most obvious\npart of it, but I expect we\u0027ll also make it harder for users to modify\neven their \"own\" files in /proc.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "42c3e03ef6b298813557cdb997bd6db619cd65a2",
      "tree": "c2fba776ccf7015d45651ff7d2aee89f06da6f42",
      "parents": [
        "c1df7fb88a011b39ea722ac00975c5b8a803261b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jun 26 00:26:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] SELinux: Add sockcreate node to procattr API\n\nBelow is a patch to add a new /proc/self/attr/sockcreate A process may write a\ncontext into this interface and all subsequent sockets created will be labeled\nwith that context.  This is the same idea as the fscreate interface where a\nprocess can specify the label of a file about to be created.  At this time one\nenvisioned user of this will be xinetd.  It will be able to better label\nsockets for the actual services.  At this time all sockets take the label of\nthe creating process, so all xinitd sockets would just be labeled the same.\n\nI tested this by creating a tcp sender and listener.  The sender was able to\nwrite to this new proc file and then create sockets with the specified label.\nI am able to be sure the new label was used since the avc denial messages\nkicked out by the kernel included both the new security permission\nsetsockcreate and all the socket denials were for the new label, not the label\nof the running process.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c1df7fb88a011b39ea722ac00975c5b8a803261b",
      "tree": "d3cbbe5bde859897993ceb8969a080ae71166a67",
      "parents": [
        "a872ff0cb2218dc9688b990c5ccda064dc40946b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Jun 26 00:26:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] cleanup next_tid()\n\nTry to make next_tid() a bit more readable and deletes unnecessary\n\"pid_alive(pos)\" check.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a872ff0cb2218dc9688b990c5ccda064dc40946b",
      "tree": "ff94ae63e668f0229fc7aeed220def7e9708db3a",
      "parents": [
        "cc288738c9ae3c64d3c50b86604044d1f6d22941"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Jun 26 00:26:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] simplify/fix first_tid()\n\nfirst_tid:\n\n\t/* If nr exceeds the number of threads there is nothing todo */\n\tif (nr) {\n\t\tif (nr \u003e\u003d get_nr_threads(leader))\n\t\t\tgoto done;\n\t}\n\nThis is not reliable: sub-threads can exit after this check, so the\n\u0027for\u0027 loop below can overlap and proc_task_readdir() can return an\nalready filldir\u0027ed dirents.\n\n\tfor (; pos \u0026\u0026 pid_alive(pos); pos \u003d next_thread(pos)) {\n\t\tif (--nr \u003e 0)\n\t\t\tcontinue;\n\nOff-by-one error, will return \u0027leader\u0027 when nr \u003d\u003d 1.\n\nThis patch tries to fix these problems and simplify the code.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc288738c9ae3c64d3c50b86604044d1f6d22941",
      "tree": "87058616bfa84572647fbe574fe733e81c1d17b6",
      "parents": [
        "df26c40e567356caeefe2861311e19c54444d917"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:26:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: Remove tasklist_lock from proc_task_readdir.\n\nThis is just like my previous removal of tasklist_lock from first_tgid, and\nnext_tgid.  It simply had to wait until it was rcu safe to walk the thread\nlist.\n\nThis should be the last instance of the tasklist_lock in proc.  So user\nprocesses should not be able to influence the tasklist lock hold times.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "df26c40e567356caeefe2861311e19c54444d917",
      "tree": "415527677e85e8b612b916f6fda1645a6207d8e2",
      "parents": [
        "778c1144771f0064b6f51bee865cceb0d996f2f9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: Cleanup proc_fd_access_allowed\n\nIn process of getting proc_fd_access_allowed to work it has developed a few\nwarts.  In particular the special case that always allows introspection and\nthe special case to allow inspection of kernel threads.\n\nThe special case for introspection is needed for /proc/self/mem.\n\nThe special case for kernel threads really should be overridable\nby security modules.\n\nSo consolidate these checks into ptrace.c:may_attach().\n\nThe check to always allow introspection is trivial.\n\nThe check to allow access to kernel threads, and zombies is a little\ntrickier.  mem_read and mem_write already verify an mm exists so it isn\u0027t\nneeded twice.  proc_fd_access_allowed only doesn\u0027t want a check to verify\ntask-\u003emm exits, s it prevents all access to kernel threads.  So just move\nthe task-\u003emm check into ptrace_attach where it is needed for practical\nreasons.\n\nI did a quick audit and none of the security modules in the kernel seem to\ncare if they are passed a task without an mm into security_ptrace.  So the\nabove move should be safe and it allows security modules to come up with\nmore restrictive policy.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "778c1144771f0064b6f51bee865cceb0d996f2f9",
      "tree": "1204e6d84cc5e7e75374544102839e85cfb9eba0",
      "parents": [
        "5b0c1dd38b66e2dd0cf655aa845e341b50b93ddd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: Use sane permission checks on the /proc/\u003cpid\u003e/fd/ symlinks\n\nSince 2.2 we have been doing a chroot check to see if it is appropriate to\nreturn a read or follow one of these magic symlinks.  The chroot check was\nasking a question about the visibility of files to the calling process and\nit was actually checking the destination process, and not the files\nthemselves.  That test was clearly bogus.\n\nIn my first pass through I simply fixed the test to check the visibility of\nthe files themselves.  That naive approach to fixing the permissions was\ntoo strict and resulted in cases where a task could not even see all of\nit\u0027s file descriptors.\n\nWhat has disturbed me about relaxing this check is that file descriptors\nare per-process private things, and they are occasionaly used a user space\ncapability tokens.  Looking a little farther into the symlink path on /proc\nI did find userid checks and a check for capability (CAP_DAC_OVERRIDE) so\nthere were permissions checking this.\n\nBut I was still concerned about privacy.  Besides /proc there is only one\nother way to find out this kind of information, and that is ptrace.  ptrace\nhas been around for a long time and it has a well established security\nmodel.\n\nSo after thinking about it I finally realized that the permission checks\nthat make sense are the permission checks applied to ptrace_attach.  The\nchecks are simple per process, and won\u0027t cause nasty surprises for people\ncoming from less capable unices.\n\nUnfortunately there is one case that the current ptrace_attach test does\nnot cover: Zombies and kernel threads.  Single stepping those kinds of\nprocesses is impossible.  Being able to see which file descriptors are open\non these tasks is important to lsof, fuser and friends.  So for these\nspecial processes I made the rule you can\u0027t find out unless you have\nCAP_SYS_PTRACE.\n\nThese proc permission checks should now conform to the principle of least\nsurprise.  As well as using much less code to implement :)\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5b0c1dd38b66e2dd0cf655aa845e341b50b93ddd",
      "tree": "e8d3341591958d9c3e11400a2f16287a6dd00c46",
      "parents": [
        "13b41b09491e5d75e8027dca1ee78f5e073bc4c0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: optimize proc_check_dentry_visible\n\nThe code doesn\u0027t need to sleep to when making this check so I can just do the\ncomparison and not worry about the reference counts.\n\nTODO: While looking at this I realized that my original cleanup did not push\nthe permission check far enough down into the stack.  The call of\nproc_check_dentry_visible needs to move out of the generic proc\nreadlink/follow link code and into the individual get_link instances.\nOtherwise the shared resources checks are not quite correct (shared\nfiles_struct does not require a shared fs_struct), and there are races with\nunshare.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "13b41b09491e5d75e8027dca1ee78f5e073bc4c0",
      "tree": "3f08183a4f59075fc3015165183b8ef17cb562a6",
      "parents": [
        "99f895518368252ba862cc15ce4eb98ebbe1bec6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: Use struct pid not struct task_ref\n\nIncrementally update my proc-dont-lock-task_structs-indefinitely patches so\nthat they work with struct pid instead of struct task_ref.\n\nMostly this is a straight 1-1 substitution.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "99f895518368252ba862cc15ce4eb98ebbe1bec6",
      "tree": "a9dcc01963221d1fd6a7e357b95d361ebfe91c6d",
      "parents": [
        "8578cea7509cbdec25b31d08b48a92fcc3b1a9e3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: don\u0027t lock task_structs indefinitely\n\nEvery inode in /proc holds a reference to a struct task_struct.  If a\ndirectory or file is opened and remains open after the the task exits this\npinning continues.  With 8K stacks on a 32bit machine the amount pinned per\nfile descriptor is about 10K.\n\nNormally I would figure a reasonable per user process limit is about 100\nprocesses.  With 80 processes, with a 1000 file descriptors each I can trigger\nthe 00M killer on a 32bit kernel, because I have pinned about 800MB of useless\ndata.\n\nThis patch replaces the struct task_struct pointer with a pointer to a struct\ntask_ref which has a struct task_struct pointer.  The so the pinning of dead\ntasks does not happen.\n\nThe code now has to contend with the fact that the task may now exit at any\ntime.  Which is a little but not muh more complicated.\n\nWith this change it takes about 1000 processes each opening up 1000 file\ndescriptors before I can trigger the OOM killer.  Much better.\n\n[mlp@google.com: task_mmu small fixes]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Albert Cahalan \u003cacahalan@gmail.com\u003e\nSigned-off-by: Prasanna Meda \u003cmlp@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8578cea7509cbdec25b31d08b48a92fcc3b1a9e3",
      "tree": "8de6c9bcd4108c3311fab9e66c3be5132e6f854d",
      "parents": [
        "9cc8cbc7f8b7bc3db48bf6d59a731af728e786ce"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: make PROC_NUMBUF the buffer size for holding integers as strings\n\nCurrently in /proc at several different places we define buffers to hold a\nprocess id, or a file descriptor .  In most of them we use either a hard coded\nnumber or a different define.  Modify them all to use PROC_NUMBUF, so the code\nhas a chance of being maintained.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9cc8cbc7f8b7bc3db48bf6d59a731af728e786ce",
      "tree": "fb94d7ee120c14d7a1b56005e8cd67bcba4083e6",
      "parents": [
        "de7587343bfebc186995ad294e3de0da382eb9bc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] simply fix first_tgid\n\nLike the bug Oleg spotted in first_tid there was also a small off by one\nerror in first_tgid, when a seek was done on the /proc directory.  This\nfixes that and changes the code structure to make it a little more obvious\nwhat is going on.\n\nSigned-off-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@osdl.org\u003e\n"
    },
    {
      "commit": "de7587343bfebc186995ad294e3de0da382eb9bc",
      "tree": "db5d696d19c8255bd58929516be79409743c6081",
      "parents": [
        "454cc105ef690f2a0ba7c6b194d55666b4e918ce"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: Remove tasklist_lock from proc_pid_lookup() and proc_task_lookup()\n\nSince we no longer need the tasklist_lock for get_task_struct the lookup\nmethods no longer need the tasklist_lock.\n\nThis just depends on my previous patch that makes get_task_struct() rcu\nsafe.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "454cc105ef690f2a0ba7c6b194d55666b4e918ce",
      "tree": "b3e4fef90f42ddd16afc324fcff6371e44f63255",
      "parents": [
        "0bc58a910220be3446eedc8e77fd45c0a16d8f25"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: Remove tasklist_lock from proc_pid_readdir\n\nWe don\u0027t need the tasklist_lock to safely iterate through processes\nanymore.\n\nThis depends on my previous to task patches that make get_task_struct rcu\nsafe, and that make next_task() rcu safe.  I haven\u0027t gotten\nfirst_tid/next_tid yet only because next_thread is missing an\nrcu_dereference.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0bc58a910220be3446eedc8e77fd45c0a16d8f25",
      "tree": "70ffacd6e2e22471034b053e441f305a9507a052",
      "parents": [
        "cd6a3ce9ec040c0b56ea92a81ff710417798c559"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: refactor reading directories of tasks\n\nThere are a couple of problems this patch addresses.\n- /proc/\u003ctgid\u003e/task currently does not work correctly if you stop reading\n  in the middle of a directory.\n\n- /proc/ currently requires a full pass through the task list with\n  the tasklist lock held, to determine there are no more processes to read.\n\n- The hand rolled integer to string conversion does not properly running\n  out of buffer space.\n\n- We seem to be batching reading of pids from the tasklist without reason,\n  and complicating the logic of the code.\n\nThis patch addresses that by changing how tasks are processed.  A\nfirst_\u003ctask_type\u003e function is built that handles restarts, and a\nnext_\u003ctask_type\u003e function is built that just advances to the next task.\n\nfirst_\u003ctask_type\u003e when it detects a restart usually uses find_task_by_pid.  If\nthat doesn\u0027t work because there has been a seek on the directory, or we have\nalready given a complete directory listing, it first checks the number tasks\nof that type, and only if we are under that count does it walk through all of\nthe tasks to find the one we are interested in.\n\nThe code that fills in the directory is simpler because there is only a single\nfor loop.\n\nThe hand rolled integer to string conversion is replaced by snprintf which\nshould handle the the out of buffer case correctly.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cd6a3ce9ec040c0b56ea92a81ff710417798c559",
      "tree": "350c0b4bb63a971c9409be8459a45b690ef4ac67",
      "parents": [
        "48e6484d49020dba3578ad117b461e8a391e8f0f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: Close the race of a process dying durning lookup\n\nproc_lookup and task exiting are not synchronized, although some of the\nprevious code may have suggested that.  Every time before we reuse a dentry\nnamei.c calls d_op-\u003ederevalidate which prevents us from reusing a stale dcache\nentry.  Unfortunately it does not prevent us from returning a stale dcache\nentry.  This race has been explicitly plugged in proc_pid_lookup but there is\nnothing to confine it to just that proc lookup function.\n\nSo to prevent the race I call revalidate explictily in all of the proc lookup\nfunctions after I call d_add, and report an error if the revalidate does not\nsucceed.\n\nYears ago Al Viro did something similar but those changes got lost in the\nchurn.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "48e6484d49020dba3578ad117b461e8a391e8f0f",
      "tree": "7824ca84bfe71c3fe2c09a1fedc31106fec4f500",
      "parents": [
        "662795deb854b31501e0ffb42b7f0cce802c134a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Rewrite the proc dentry flush on exit optimization\n\nTo keep the dcache from filling up with dead /proc entries we flush them on\nprocess exit.  However over the years that code has gotten hairy with a\ndentry_pointer and a lock in task_struct and misdocumented as a correctness\nfeature.\n\nI have rewritten this code to look and see if we have a corresponding entry in\nthe dcache and if so flush it on process exit.  This removes the extra fields\nin the task_struct and allows me to trivially handle the case of a\n/proc/\u003ctgid\u003e/task/\u003cpid\u003e entry as well as the current /proc/\u003cpid\u003e entries.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "662795deb854b31501e0ffb42b7f0cce802c134a",
      "tree": "d4849ad5ca7383ca9d0c9b6d46db83097d5dba85",
      "parents": [
        "6e66b52bf587f0dd9a8e0a581b9570e5c1969e33"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Move proc_maps_operations into task_mmu.c\n\nAll of the functions for proc_maps_operations are already defined in\ntask_mmu.c so move the operations structure to keep the functionality\ntogether.\n\nSince task_nommu.c implements a dummy version of /proc/\u003cpid\u003e/maps give it a\nsimplified version of proc_maps_operations that it can modify to best suit its\nneeds.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e66b52bf587f0dd9a8e0a581b9570e5c1969e33",
      "tree": "18b630e89490f7e01ee45f07a427fded50a1c6cf",
      "parents": [
        "0f2fe20f55c85f26efaf14feeb69c7c2eb3f7a75"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Fix the link count for /proc/\u003cpid\u003e/task\n\nUse getattr to get an accurate link count when needed.  This is cheaper and\nmore accurate than trying to derive it by walking the thread list of a\nprocess.\n\nEspecially as it happens when needed stat instead of at readdir time.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0f2fe20f55c85f26efaf14feeb69c7c2eb3f7a75",
      "tree": "93649d0579bed2ed43e69f03c06b325bdb0c312e",
      "parents": [
        "22c2c5d75e6ad4b9ac41269476b32ba8c9fe263f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Properly filter out files that are not visible to a process\n\nLong ago and far away in 2.2 we started checking to ensure the files we\ndisplayed in /proc were visible to the current process.  It was an\nunsophisticated time and no one was worried about functions full of FIXMES in\na stable kernel.  As time passed the function became sacred and was enshrined\nin the shrine of how things have always been.  The fixes came in but only to\nkeep the function working no one really remembering or documenting why we did\nthings that way.\n\nThe intent and the functionality make a lot of sense.  Don\u0027t let /proc be an\naccess point for files a process can see no other way.  The implementation\nhowever is completely wrong.\n\nWe are currently checking the root directories of the two processes, we are\nnot checking the actual file descriptors themselves.\n\nWe are strangely checking with a permission method instead of just when we use\nthe data.\n\nThis patch fixes the logic to actually check the file descriptors and make a\nnote that implementing a permission method for this part of /proc almost\ncertainly indicates a bug in the reasoning.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22c2c5d75e6ad4b9ac41269476b32ba8c9fe263f",
      "tree": "568754afe4d00da3ecaee4a960021e596d0e4beb",
      "parents": [
        "68602066c3327fa340899609d715781eda423751"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Kill proc_mem_inode_operations\n\nThe inode operations only exist to support the proc_permission function.\nCurrently mem_read and mem_write have all the same permission checks as\nptrace.  The fs check makes no sense in this context, and we can trivially get\naround it by calling ptrace.\n\nSo simply the code by killing the strange weird case.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68602066c3327fa340899609d715781eda423751",
      "tree": "fdd1db5b08755bf2c353364b56a778f62e5009f4",
      "parents": [
        "aed7a6c476d90660ac5af860158407ae9fe61c68"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Remove bogus proc_task_permission\n\nFirst we can access every /proc/\u003ctgid\u003e/task/\u003cpid\u003e directory as /proc/\u003cpid\u003e so\nproc_task_permission is not usefully limiting visibility.\n\nSecond having related filesystems information should have nothing to do with\nprocess visibility.  kill does not implement any checks like that.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aed7a6c476d90660ac5af860158407ae9fe61c68",
      "tree": "b8b92412f457598a2348de0eb304b9b4ec204157",
      "parents": [
        "87bfbf679ffb1e95dd9ada694f66aafc4bfa5959"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Replace proc_inode.type with proc_inode.fd\n\nThe sole renaming use of proc_inode.type is to discover the file descriptor\nnumber, so just store the file descriptor number and don\u0027t wory about\nprocessing this field.  This removes any /proc limits on the maximum number of\nfile descriptors, and clears the path to make the hard coded /proc inode\nnumbers go away.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "87bfbf679ffb1e95dd9ada694f66aafc4bfa5959",
      "tree": "f4f549435f64bd1c42594dcb4d27d9de92e379f6",
      "parents": [
        "167965495153ba9829d0a34b6800dbf5d94de8c8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:23 2006 -0700"
      },
      "message": "[PATCH] proc: Simplify the ownership rules for /proc\n\nCurrently in /proc if the task is dumpable all of files are owned by the tasks\neffective users.  Otherwise the files are owned by root.  Unless it is the\n/proc/\u003ctgid\u003e/ or /proc/\u003ctgid\u003e/task/\u003cpid\u003e directory in that case we always make\nthe directory owned by the effective user.\n\nHowever the special case for directories is pointless except as a way to read\nthe effective user, because the permissions on both of those directories are\nworld readable, and executable.\n\n/proc/\u003ctgid\u003e/status provides a much better way to read a processes effecitve\nuserid, so it is silly to try to provide that on the directory.\n\nSo this patch simplifies the code by removing a pointless special case and\ngets us one step closer to being able to remove the hard coded /proc inode\nnumbers.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "167965495153ba9829d0a34b6800dbf5d94de8c8",
      "tree": "ee923581fc2fb1a9bcae7920a8a362fed7b55705",
      "parents": [
        "ff9724a3f7a69f7b443c05981f84e28017c2fc5a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:23 2006 -0700"
      },
      "message": "[PATCH] proc: Remove unnecessary and misleading assignments from proc_pid_make_inode\n\nThe removed fields are already set by proc_alloc_inode.  Initializing them in\nproc_alloc_inode implies they need it for proper cleanup.  At least ei-\u003epde\nwas not set on all paths making it look like proc_alloc_inode was buggy.  So\njust remove the redundant assignments.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ff9724a3f7a69f7b443c05981f84e28017c2fc5a",
      "tree": "2c3fae763eb68d18645b4820e2189dc5d0ceabf5",
      "parents": [
        "5634708b5fce807bdf2091cfafc2fb24d791f0c8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:23 2006 -0700"
      },
      "message": "[PATCH] proc: Remove useless BKL in proc_pid_readlink\n\nWe already call everything except do_proc_readlink outside of the BKL in\nproc_pid_followlink, and there appears to be nothing in do_proc_readlink that\nneeds any special protection.\n\nSo remove this leftover from one of the BKL cleanup efforts.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "5634708b5fce807bdf2091cfafc2fb24d791f0c8"
}
