)]}'
{
  "log": [
    {
      "commit": "8fb402bccf203ecca8f9e0202b8fd3c937dece6f",
      "tree": "4f102f9cc81dedbf9271f728a4b1e6e731a6a174",
      "parents": [
        "5deb45e39b946901ae028ccd3a1d0b35fa387475"
      ],
      "author": {
        "name": "Erik Bosman",
        "email": "ebn310@few.vu.nl",
        "time": "Fri Apr 11 18:54:17 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:19:55 2008 +0200"
      },
      "message": "generic, x86: add prctl commands PR_GET_TSC and PR_SET_TSC\n\nThis patch adds prctl commands that make it possible\nto deny the execution of timestamp counters in userspace.\nIf this is not implemented on a specific architecture,\nprctl will return -EINVAL.\n\nned-off-by: Erik Bosman \u003cejbosman@cs.vu.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6c5f3e7b43300508fe3947ff3cfff0f86043bb57",
      "tree": "9843b8897ec3357b09f62bb6423cd4753e1d4516",
      "parents": [
        "fea9d175545b38cb3e84569400419eb81bc90fa3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:19:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "Pidns: make full use of xxx_vnr() calls\n\nSome time ago the xxx_vnr() calls (e.g.  pid_vnr or find_task_by_vpid) were\n_all_ converted to operate on the current pid namespace.  After this each call\nlike xxx_nr_ns(foo, current-\u003ensproxy-\u003epid_ns) is nothing but a xxx_vnr(foo)\none.\n\nSwitch all the xxx_nr_ns() callers to use the xxx_vnr() calls where\nappropriate.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.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": "ac9a8e3f0f43d20fc316162e8e5f9186d295ff49",
      "tree": "a6b8d416c38d222773a46c5d84b3d043facbf008",
      "parents": [
        "44c4e1b2581f7273ab14ef30b6430618801c57b1"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:28 2008 -0800"
      },
      "message": "sys_getsid: don\u0027t use -\u003ensproxy directly\n\nWith the new semantics of find_vpid() we don\u0027t need to play with -\u003ensproxy\nexplicitely, _vxx() do the right things.\n\nAlso s/tasklist/rcu/.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: 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": "6806aac6d282d58b97763f5e17e2787e62c3b440",
      "tree": "4076069a60e054a2d8c31bc2998607668b0a40b0",
      "parents": [
        "d12619b5ff5664623524aef796514d1946ea3b4a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "sys_setsid: remove now unneeded session !\u003d 1 check\n\nEric\u0027s \"fix clone(CLONE_NEWPID)\" eliminated the last reason for this hack.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "430c623121ea88ca80595c99fdc63b7f8a803ae5",
      "tree": "8ada2d8287d07cabd64cc3614a6a643623046e5c",
      "parents": [
        "297bd42b15daed02453ff59ce6d31216a58b0398"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "start the global /sbin/init with 0,0 special pids\n\nAs Eric pointed out, there is no problem with init starting with sid \u003d\u003d pgid\n\u003d\u003d 0, and this was historical linux behavior changed in 2.6.18.\n\nRemove kernel_init()-\u003e__set_special_pids(), this is unneeded and complicates\nthe rules for sys_setsid().\n\nThis change and the previous change in daemonize() mean that /sbin/init does\nnot need the special \"session !\u003d 1\" hack in sys_setsid() any longer. We can\u0027t\nremove this check yet, we should cleanup copy_process(CLONE_NEWPID) first, so\nupdate the comment only.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: 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": "8520d7c7f8611216e3b270becec95bb35b6899d4",
      "tree": "77001e6830bb415590067e9d4be24cd8bdd36219",
      "parents": [
        "e4cc0a9c876d4d4eadaef97a2bff4a199946d202"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "teach set_special_pids() to use struct pid\n\nChange set_special_pids() to work with struct pid, not pid_t from global name\nspace. This again speedups and imho cleanups the code, also a preparation for\nthe next patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-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": "e4cc0a9c876d4d4eadaef97a2bff4a199946d202",
      "tree": "e25406d84ce842c54e3ac5438e4bcee32a75a964",
      "parents": [
        "4e021306cff4277764a42065214fc73f2d26be4b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "fix setsid() for sub-namespace /sbin/init\n\nsys_setsid() still deals with pid_t\u0027s from the global namespace. This means\nthat the \"session \u003e 1\" check can\u0027t help for sub-namespace init, setsid() can\u0027t\nsucceed because copy_process(CLONE_NEWPID) populates PIDTYPE_PGID/SID links.\n\nRemove the usage of task_struct-\u003epid and convert the code to use \"struct pid\".\nThis also simplifies and speedups the code, saves one find_pid().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-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": "4e021306cff4277764a42065214fc73f2d26be4b",
      "tree": "49e2c5b785b887ae47c599b0afd81ba304f9062a",
      "parents": [
        "c543f1ee08ea6c2176dbdc47df0d0f6357c88713"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "sys_setpgid(): simplify pid/ns interaction\n\nsys_setpgid() does unneeded conversions from pid_t to \"struct pid\" and vice\nversa.  Use \"struct pid\" more consistently.  Saves one find_vpid() and\neliminates the explicit usage of -\u003ensproxy-\u003epid_ns.  Imho, cleanups the\ncode.\n\nAlso use the same_thread_group() helper.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\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": "1bf47346d75790ebd2563d909d48046961c7ffd5",
      "tree": "0f478764beb8dc4e0c71c5f3d6a657535579fe3a",
      "parents": [
        "6b2fb3c65844452bb9e8b449d50863d1b36c5dc0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Feb 06 01:37:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:09 2008 -0800"
      },
      "message": "kernel/sys.c: get rid of expensive divides in groups_sort()\n\ngroups_sort() can be quite long if user loads a large gid table.\n\nThis is because GROUP_AT(group_info, some_integer) uses an integer divide.\nSo having to do XXX thousand divides during one syscall can lead to very\nhigh latencies.  (NGROUPS_MAX\u003d65536)\n\nIn the past (25 Mar 2006), an analog problem was found in groups_search()\n(commit d74beb9f33a5f16d2965f11b275e401f225c949d ) and at that time I\nchanged some variables to unsigned int.\n\nI believe that a more generic fix is to make sure NGROUPS_PER_BLOCK is\nunsigned.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9cfe015aa424b3c003baba3841a60dd9b5ad319b",
      "tree": "5575e06efcf91018f860f2db43979e8e91aba1c3",
      "parents": [
        "774ed22c21ab95d582dfff38560f11cf290baeb4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Feb 06 01:37:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:06 2008 -0800"
      },
      "message": "get rid of NR_OPEN and introduce a sysctl_nr_open\n\nNR_OPEN (historically set to 1024*1024) actually forbids processes to open\nmore than 1024*1024 handles.\n\nUnfortunatly some production servers hit the not so \u0027ridiculously high\nvalue\u0027 of 1024*1024 file descriptors per process.\n\nChanging NR_OPEN is not considered safe because of vmalloc space potential\nexhaust.\n\nThis patch introduces a new sysctl (/proc/sys/fs/nr_open) wich defaults to\n1024*1024, so that admins can decide to change this limit if their workload\nneeds it.\n\n[akpm@linux-foundation.org: export it for sparc64]\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ef7229ffa93695e346d510b871452811509ea65",
      "tree": "052adef3a8cc1e8d502525f3355e99d5e8d9dcda",
      "parents": [
        "47a460d5a307e639d6c9cdf9bb4857e2f5f3cb76"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Feb 04 22:30:06 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:22 2008 -0800"
      },
      "message": "make kernel_shutdown_prepare() static\n\nkernel_shutdown_prepare() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b7391de67da515c91f48aa371de77cb6cc5c07e",
      "tree": "22b9f5d9d1c36b374eb5765219aca3c7e1f23486",
      "parents": [
        "46c383cc4530ccc438cb325e92e11eb21dd3d4fc"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Feb 04 22:29:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "capabilities: introduce per-process capability bounding set\n\nThe capability bounding set is a set beyond which capabilities cannot grow.\n Currently cap_bset is per-system.  It can be manipulated through sysctl,\nbut only init can add capabilities.  Root can remove capabilities.  By\ndefault it includes all caps except CAP_SETPCAP.\n\nThis patch makes the bounding set per-process when file capabilities are\nenabled.  It is inherited at fork from parent.  Noone can add elements,\nCAP_SETPCAP is required to remove them.\n\nOne example use of this is to start a safer container.  For instance, until\ndevice namespaces or per-container device whitelists are introduced, it is\nbest to take CAP_MKNOD away from a container.\n\nThe bounding set will not affect pP and pE immediately.  It will only\naffect pP\u0027 and pE\u0027 after subsequent exec()s.  It also does not affect pI,\nand exec() does not constrain pI\u0027.  So to really start a shell with no way\nof regain CAP_MKNOD, you would do\n\n\tprctl(PR_CAPBSET_DROP, CAP_MKNOD);\n\tcap_t cap \u003d cap_get_proc();\n\tcap_value_t caparray[1];\n\tcaparray[0] \u003d CAP_MKNOD;\n\tcap_set_flag(cap, CAP_INHERITABLE, 1, caparray, CAP_DROP);\n\tcap_set_proc(cap);\n\tcap_free(cap);\n\nThe following test program will get and set the bounding\nset (but not pI).  For instance\n\n\t./bset get\n\t\t(lists capabilities in bset)\n\t./bset drop cap_net_raw\n\t\t(starts shell with new bset)\n\t\t(use capset, setuid binary, or binary with\n\t\tfile capabilities to try to increase caps)\n\n************************************************************\ncap_bound.c\n************************************************************\n #include \u003csys/prctl.h\u003e\n #include \u003clinux/capability.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003cunistd.h\u003e\n #include \u003cstdio.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstring.h\u003e\n\n #ifndef PR_CAPBSET_READ\n #define PR_CAPBSET_READ 23\n #endif\n\n #ifndef PR_CAPBSET_DROP\n #define PR_CAPBSET_DROP 24\n #endif\n\nint usage(char *me)\n{\n\tprintf(\"Usage: %s get\\n\", me);\n\tprintf(\"       %s drop \u003ccapability\u003e\\n\", me);\n\treturn 1;\n}\n\n #define numcaps 32\nchar *captable[numcaps] \u003d {\n\t\"cap_chown\",\n\t\"cap_dac_override\",\n\t\"cap_dac_read_search\",\n\t\"cap_fowner\",\n\t\"cap_fsetid\",\n\t\"cap_kill\",\n\t\"cap_setgid\",\n\t\"cap_setuid\",\n\t\"cap_setpcap\",\n\t\"cap_linux_immutable\",\n\t\"cap_net_bind_service\",\n\t\"cap_net_broadcast\",\n\t\"cap_net_admin\",\n\t\"cap_net_raw\",\n\t\"cap_ipc_lock\",\n\t\"cap_ipc_owner\",\n\t\"cap_sys_module\",\n\t\"cap_sys_rawio\",\n\t\"cap_sys_chroot\",\n\t\"cap_sys_ptrace\",\n\t\"cap_sys_pacct\",\n\t\"cap_sys_admin\",\n\t\"cap_sys_boot\",\n\t\"cap_sys_nice\",\n\t\"cap_sys_resource\",\n\t\"cap_sys_time\",\n\t\"cap_sys_tty_config\",\n\t\"cap_mknod\",\n\t\"cap_lease\",\n\t\"cap_audit_write\",\n\t\"cap_audit_control\",\n\t\"cap_setfcap\"\n};\n\nint getbcap(void)\n{\n\tint comma\u003d0;\n\tunsigned long i;\n\tint ret;\n\n\tprintf(\"i know of %d capabilities\\n\", numcaps);\n\tprintf(\"capability bounding set:\");\n\tfor (i\u003d0; i\u003cnumcaps; i++) {\n\t\tret \u003d prctl(PR_CAPBSET_READ, i);\n\t\tif (ret \u003c 0)\n\t\t\tperror(\"prctl\");\n\t\telse if (ret\u003d\u003d1)\n\t\t\tprintf(\"%s%s\", (comma++) ? \", \" : \" \", captable[i]);\n\t}\n\tprintf(\"\\n\");\n\treturn 0;\n}\n\nint capdrop(char *str)\n{\n\tunsigned long i;\n\n\tint found\u003d0;\n\tfor (i\u003d0; i\u003cnumcaps; i++) {\n\t\tif (strcmp(captable[i], str) \u003d\u003d 0) {\n\t\t\tfound\u003d1;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (!found)\n\t\treturn 1;\n\tif (prctl(PR_CAPBSET_DROP, i)) {\n\t\tperror(\"prctl\");\n\t\treturn 1;\n\t}\n\treturn 0;\n}\n\nint main(int argc, char *argv[])\n{\n\tif (argc\u003c2)\n\t\treturn usage(argv[0]);\n\tif (strcmp(argv[1], \"get\")\u003d\u003d0)\n\t\treturn getbcap();\n\tif (strcmp(argv[1], \"drop\")!\u003d0 || argc\u003c3)\n\t\treturn usage(argv[0]);\n\tif (capdrop(argv[2])) {\n\t\tprintf(\"unknown capability\\n\");\n\t\treturn 1;\n\t}\n\treturn execl(\"/bin/bash\", \"/bin/bash\", NULL);\n}\n************************************************************\n\n[serue@us.ibm.com: fix typo]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003ea\nSigned-off-by: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nTested-by: Jiri Slaby \u003cjirislaby@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": "4307d1e5ada595c87f9a4d16db16ba5edb70dcb1",
      "tree": "bae1a90cc162a0d5bd1a78290ffb1f445fc07d80",
      "parents": [
        "434b3d3209a8d8dcda63c3b14815659f4671b0a8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 07 18:37:48 2007 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Sat Nov 17 16:27:00 2007 +0100"
      },
      "message": "x86: ignore the sys_getcpu() tcache parameter\n\ndont use the vgetcpu tcache - it\u0027s causing problems with tasks\nmigrating, they\u0027ll see the old cache up to a jiffy after the\nmigration, further increasing the costs of the migration.\n\nIn the worst case they see a complete bogus information from\nthe tcache, when a sys_getcpu() call \"invalidated\" the cache\ninfo by incrementing the jiffies _and_ the cpuid info in the\ncache and the following vdso_getcpu() call happens after\nvdso_jiffies have been incremented.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "9a2e70572e94e21e7ec4186702d045415422bda0",
      "tree": "a6cd54dc559cbf6840dac4077f507a961486e21b",
      "parents": [
        "270f722d4d5f94b02fd48eed47e57917ab00a858"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Isolate the explicit usage of signal-\u003epgrp\n\nThe pgrp field is not used widely around the kernel so it is now marked as\ndeprecated with appropriate comment.\n\nThe initialization of INIT_SIGNALS is trimmed because\na) they are set to 0 automatically;\nb) gcc cannot properly initialize two anonymous (the second one\n   is the one with the session) unions. In this particular case\n   to make it compile we\u0027d have to add some field initialized\n   right before the .pgrp.\n\nThis is the same patch as the 1ec320afdc9552c92191d5f89fcd1ebe588334ca one\n(from Cedric), but for the pgrp field.\n\nSome progress report:\n\nWe have to deprecate the pid, tgid, session and pgrp fields on struct\ntask_struct and struct signal_struct.  The session and pgrp are already\ndeprecated.  The tgid value is close to being such - the worst known usage\nin in fs/locks.c and audit code.  The pid field deprecation is mainly\nblocked by numerous printk-s around the kernel that print the tsk-\u003epid to\nlog.\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: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "228ebcbe634a30aec35132ea4375721bcc41bec0",
      "tree": "a875976fd5bde6e2f931aa235c34c88a2738493f",
      "parents": [
        "b488893a390edfe027bae7a46e9af8083e740668"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "Uninline find_task_by_xxx set of functions\n\nThe find_task_by_something is a set of macros are used to find task by pid\ndepending on what kind of pid is proposed - global or virtual one.  All of\nthem are wrappers above the most generic one - find_task_by_pid_type_ns() -\nand just substitute some args for it.\n\nIt turned out, that dereferencing the current-\u003ensproxy-\u003epid_ns construction\nand pushing one more argument on the stack inline cause kernel text size to\ngrow.\n\nThis patch moves all this stuff out-of-line into kernel/pid.c.  Together\nwith the next patch it saves a bit less than 400 bytes from the .text\nsection.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@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\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": "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": "a47afb0f9d794d525a372c8d69902147cc88222a",
      "tree": "7bd67280e2edc1c3b1803d4a93bee794088e9342",
      "parents": [
        "858d72ead4864da0fb0b89b919524125ce998e27"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:39:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: round up the API\n\nThe set of functions process_session, task_session, process_group and\ntask_pgrp is confusing, as the names can be mixed with each other when looking\nat the code for a long time.\n\nThe proposals are to\n* equip the functions that return the integer with _nr suffix to\n  represent that fact,\n* and to make all functions work with task (not process) by making\n  the common prefix of the same name.\n\nFor monotony the routines signal_session() and set_signal_session() are\nreplaced with task_session_nr() and set_task_session(), especially since they\nare only used with the explicit task-\u003esignal dereference.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe9d4f576324999ac521c931f3b3eee0c8e45544",
      "tree": "8ff6ad770e15e81d00c87b945cb60326f28aee6b",
      "parents": [
        "3ed75eb8f1cd89565966599c4f77d2edb086d5b0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Thu Oct 18 23:39:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:34 2007 -0700"
      },
      "message": "Add kernel/notifier.c\n\nThere is separate notifier header, but no separate notifier .c file.\n\nExtract notifier code out of kernel/sys.c which will remain for\nmisc syscalls I hope. Merge kernel/die_notifier.c into kernel/notifier.c.\n\n[akpm@linux-foundation.org: coding-style fixes]\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": "c3d42d75270e9c259b75f814ccad2a88ab310665",
      "tree": "7b5e3b359581431c7d782b164a95230c1019c1a2",
      "parents": [
        "d5d8c5976d6adeddb8208c240460411e2198b393"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Oct 18 03:04:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:19 2007 -0700"
      },
      "message": "unexport pm_power_off_prepare\n\nThis patch removes the unused EXPORT_SYMBOL(pm_power_off_prepare).\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4047727e5ae33f9b8d2b7766d1994ea6e5ec2991",
      "tree": "70486b4524e672d800c2fbf36d06c73306efacf6",
      "parents": [
        "281e0e3b34acb76a157576d27abc85c09fcf78e3"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "lkml@rtr.ca",
        "time": "Mon Oct 01 01:20:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 01 07:52:23 2007 -0700"
      },
      "message": "Fix SMP poweroff hangs\n\nWe need to disable all CPUs other than the boot CPU (usually 0) before\nattempting to power-off modern SMP machines.  This fixes the\nhang-on-poweroff issue on my MythTV SMP box, and also on Thomas Gleixner\u0027s\nnew toybox.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b07e35f94a7b6a059f889b904529ee907dc0634d",
      "tree": "0d6178552b4232fa4ea7c3d49aa4710873babc11",
      "parents": [
        "5d540fb71552b9f2c542bea967200c48be2d8ef6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Aug 30 23:56:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Aug 31 01:42:22 2007 -0700"
      },
      "message": "setpgid(child) fails if the child was forked by sub-thread\n\nSpotted by Marcin Kowalczyk \u003cqrczak@knm.org.pl\u003e.\n\nsys_setpgid(child) fails if the child was forked by sub-thread.\n\nFix the \"is it our child\" check. The previous commit\nee0acf90d320c29916ba8c5c1b2e908d81f5057d was not complete.\n\n(this patch asks for the new same_thread_group() helper, but mainline doesn\u0027t\n have it yet).\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nTested-by: \"Marcin \u0027Qrczak\u0027 Kowalczyk\" \u003cqrczak@knm.org.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b0cb1a19d05b8ea8611a9ef48a17fe417f1832e6",
      "tree": "895fe53e8dc4fc59d05b963ac079f6ff759ad0fb",
      "parents": [
        "6c8dca5d53f95009d4fff00195bf38f277dc4366"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jul 29 23:24:36 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 29 16:45:38 2007 -0700"
      },
      "message": "Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION\n\nReplace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION to avoid\nconfusion (among other things, with CONFIG_SUSPEND introduced in the\nnext patch).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58b3b71dfaaecbf7cff1fe10c049d663f0313e5f",
      "tree": "38f34ce39e1c93d6d54730ead4e414a5070e3b45",
      "parents": [
        "602033ed5907a59ce86f709082a35be047743a86"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jul 26 16:29:55 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 12:13:06 2007 -0700"
      },
      "message": "Fix ThinkPad T42 poweroff failure introduced by by \"PM: Introduce pm_power_off_prepare\"\n\nCommit bd804eba1c8597cbb7cd5a5f9fe886aae16a079a (\"PM: Introduce\npm_power_off_prepare\") caused problems in the poweroff path, as reported by\nYOSHIFUJI Hideaki / 吉藤英明.\n\nGenerally, sysdev_shutdown() should be called after the ACPI preparation for\npowering the system off.  To make it happen, we can separate sysdev_shutdown()\nfrom device_shutdown() and call it directly wherever necessary.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-by: YOSHIFUJI Hideaki / 吉藤英明 \u003cyoshfuji@linux-ipv6.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": "bd804eba1c8597cbb7cd5a5f9fe886aae16a079a",
      "tree": "082f289809f92db6d23a13cd8fbbb82da125fcda",
      "parents": [
        "d7372cdf6938ccea23ec9fc68970702fed9ec3c8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jul 19 01:47:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:42 2007 -0700"
      },
      "message": "PM: Introduce pm_power_off_prepare\n\nIntroduce the pm_power_off_prepare() callback that can be registered by the\ninterested platforms in analogy with pm_idle() and pm_power_off(), used for\npreparing the system to power off (needed by ACPI).\n\nThis allows us to drop acpi_sysclass and device_acpi that are only defined in\norder to register the ACPI power off preparation callback, which is needed by\npm_power_off() registered in a much different way.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "86313c488a6848b7ec2ba04e74f25f79dd32a0b7",
      "tree": "3b190f7afc338362470573b563f65a1eb83795ac",
      "parents": [
        "10a0a8d4e3f6bf2d077f94344441909abe670f5a"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:03 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "usermodehelper: Tidy up waiting\n\nRather than using a tri-state integer for the wait flag in\ncall_usermodehelper_exec, define a proper enum, and use that.  I\u0027ve\npreserved the integer values so that any callers I\u0027ve missed should\nstill work OK.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "10a0a8d4e3f6bf2d077f94344441909abe670f5a",
      "tree": "b834c912629498e9fefb5958ee9965c414d32d69",
      "parents": [
        "0ab4dc92278a0f3816e486d6350c6652a72e06c8"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:02 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "Add common orderly_poweroff()\n\nVarious pieces of code around the kernel want to be able to trigger an\norderly poweroff.  This pulls them together into a single\nimplementation.\n\nBy default the poweroff command is /sbin/poweroff, but it can be set\nvia sysctl: kernel/poweroff_cmd.  This is split at whitespace, so it\ncan include command-line arguments.\n\nThis patch replaces four other instances of invoking either \"poweroff\"\nor \"shutdown -h now\": two sbus drivers, and acpi thermal\nmanagement.\n\nsparc64 has its own \"powerd\"; still need to determine whether it should\nbe replaced by orderly_poweroff().\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nAcked-by: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\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": "acce292c82d4d82d35553b928df2b0597c3a9c78",
      "tree": "464288f40db9c254da214c400d0880ee50dc37f3",
      "parents": [
        "7d69a1f4a72b18876c99c697692b78339d491568"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Sun Jul 15 23:40:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "user namespace: add the framework\n\nBasically, it will allow a process to unshare its user_struct table,\nresetting at the same time its own user_struct and all the associated\naccounting.\n\nA new root user (uid \u003d\u003d 0) is added to the user namespace upon creation.\nSuch root users have full privileges and it seems that theses privileges\nshould be controlled through some means (process capabilities ?)\n\nThe unshare is not included in this patch.\n\nChanges since [try #4]:\n\t- Updated get_user_ns and put_user_ns to accept NULL, and\n\t  get_user_ns to return the namespace.\n\nChanges since [try #3]:\n\t- moved struct user_namespace to files user_namespace.{c,h}\n\nChanges since [try #2]:\n\t- removed struct user_namespace* argument from find_user()\n\nChanges since [try #1]:\n\t- removed struct user_namespace* argument from find_user()\n\t- added a root_user per user namespace\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Andrew Morgan \u003cagm@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e713d0dab21a68500720e222fa02567fc7dfb14b",
      "tree": "a56f90ce94d9287b73da6db72ed0e73542a70a07",
      "parents": [
        "4ac24b3ba9016881b11646114bb5cd12cf23edd9"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu May 10 22:22:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:35 2007 -0700"
      },
      "message": "attach_pid() with struct pid parameter\n\nattach_pid() currently takes a pid_t and then uses find_pid() to find the\ncorresponding struct pid.  Sometimes we already have the struct pid.  We can\nthen skip find_pid() if attach_pid() were to take a struct pid parameter.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: \u003ccontainers@lists.osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e88c553db938ad016026375f0545304b9030b42",
      "tree": "bbf9f04dea6f70e6a93a7b26e13db4778c9f3221",
      "parents": [
        "00b8fd236764e3d5bc1d30dc65e256e283de4c3d"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Thu May 10 22:22:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:35 2007 -0700"
      },
      "message": "use defines in sys_getpriority/sys_setpriority\n\nSwitch to the defines for these two checks, instead of hard coding the\nvalues.\n\n[akpm@linux-foundation.org: add missing include]\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6eaeeaba39e5fa3d52a0bb8de15e995516ae251a",
      "tree": "5b4052fabfe107ad5332cb758ad8d86ea5a87848",
      "parents": [
        "02239c29967418284c05d58971894d658575e78c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu May 10 22:22:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:34 2007 -0700"
      },
      "message": "getrusage(): fill ru_inblock and ru_oublock fields if possible\n\nIf CONFIG_TASK_IO_ACCOUNTING is defined, we update io accounting counters for\neach task.\n\nThis patch permits reporting of values using the well known getrusage()\nsyscall, filling ru_inblock and ru_oublock instead of null values.\n\nAs TASK_IO_ACCOUNTING currently counts bytes counts, we approximate blocks\ncount doing : nr_blocks \u003d nr_bytes / 512\n\nExample of use :\n----------------------\nAfter patch is applied, /usr/bin/time command can now give a good\napproximation of IO that the process had to do.\n\n$ /usr/bin/time grep tototo /usr/include/*\nCommand exited with non-zero status 1\n0.00user 0.02system 0:02.11elapsed 1%CPU (0avgtext+0avgdata 0maxresident)k\n24288inputs+0outputs (0major+259minor)pagefaults 0swaps\n\n$ /usr/bin/time dd if\u003d/dev/zero of\u003d/tmp/testfile count\u003d1000\n1000+0 enregistrements lus\n1000+0 enregistrements écrits\n512000 octets (512 kB) copiés, 0,00326601 seconde, 157 MB/s\n0.00user 0.00system 0:00.00elapsed 80%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+3000outputs (0major+299minor)pagefaults 0swaps\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.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": "9a9136e270af14da506f66bcafcc506b86a86498",
      "tree": "b4d0a6877d92635134b7a944d0032fbc43227fd2",
      "parents": [
        "3960208f9ca0cf6bdb31c21c59ac0526303f8b34",
        "7bb2acb76e8168ca5d0bde5a5a56585a11b3525a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)\n  sound: convert \"sound\" subdirectory to UTF-8\n  MAINTAINERS: Add cxacru website/mailing list\n  include files: convert \"include\" subdirectory to UTF-8\n  general: convert \"kernel\" subdirectory to UTF-8\n  documentation: convert the Documentation directory to UTF-8\n  Convert the toplevel files CREDITS and MAINTAINERS to UTF-8.\n  remove broken URLs from net drivers\u0027 output\n  Magic number prefix consistency change to Documentation/magic-number.txt\n  trivial: s/i_sem /i_mutex/\n  fix file specification in comments\n  drivers/base/platform.c: fix small typo in doc\n  misc doc and kconfig typos\n  Remove obsolete fat_cvf help text\n  Fix occurrences of \"the the \"\n  Fix minor typoes in kernel/module.c\n  Kconfig: Remove reference to external mqueue library\n  Kconfig: A couple of grammatical fixes in arch/i386/Kconfig\n  Correct comments in genrtc.c to refer to correct /proc file.\n  Fix more \"deprecated\" spellos.\n  Fix \"deprecated\" typoes.\n  ...\n\nFix trivial comment conflict in kernel/relay.c.\n"
    },
    {
      "commit": "6f7cc11aa6c7d5002e16096c7590944daece70ed",
      "tree": "68a11e4b67189c44ac0f3ab579e52e134d479cf5",
      "parents": [
        "7c9cb38302e78d24e37f7d8a2ea7eed4ae5f2fa7"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Wed May 09 02:34:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:51 2007 -0700"
      },
      "message": "Extend notifier_call_chain to count nr_calls made\n\nSince 2.6.18-something, the community has been bugged by the problem to\nprovide a clean and a stable mechanism to postpone a cpu-hotplug event as\nlock_cpu_hotplug was badly broken.\n\nThis is another proposal towards solving that problem.  This one is along the\nlines of the solution provided in kernel/workqueue.c\n\nInstead of having a global mechanism like lock_cpu_hotplug, we allow the\nsubsytems to define their own per-subsystem hot cpu mutexes.  These would be\ntaken(released) where ever we are currently calling\nlock_cpu_hotplug(unlock_cpu_hotplug).\n\nAlso, in the per-subsystem hotcpu callback function,we take this mutex before\nwe handle any pre-cpu-hotplug events and release it once we finish handling\nthe post-cpu-hotplug events.  A standard means for doing this has been\nprovided in [PATCH 2/4] and demonstrated in [PATCH 3/4].\n\nThe ordering of these per-subsystem mutexes might still prove to be a\nproblem, but hopefully lockdep should help us get out of that muddle.\n\nThe patch set to be applied against linux-2.6.19-rc5 is as follows:\n\n[PATCH 1/4] :\tExtend notifier_call_chain with an option to specify the\n\t\tnumber of notifications to be sent and also count the\n\t\tnumber of notifications actually sent.\n\n[PATCH 2/4] :\tDefine events CPU_LOCK_ACQUIRE and CPU_LOCK_RELEASE\n\t\tand send out notifications for these in _cpu_up and\n\t\t_cpu_down. This would help us standardise the acquire and\n\t\trelease of the subsystem locks in the hotcpu\n\t\tcallback functions of these subsystems.\n\n[PATCH 3/4] :\tEliminate lock_cpu_hotplug from kernel/sched.c.\n\n[PATCH 4/4] :\tIn workqueue_cpu_callback function, acquire(release) the\n\t\tworkqueue_mutex while handling\n\t\tCPU_LOCK_ACQUIRE(CPU_LOCK_RELEASE).\n\nIf the per-subsystem-locking approach survives the test of time, we can expect\na slow phasing out of lock_cpu_hotplug, which has not yet been eliminated in\nthese patches :)\n\nThis patch:\n\nProvide notifier_call_chain with an option to call only a specified number of\nnotifiers and also record the number of call to notifiers made.\n\nThe need for this enhancement was identified in the post entitled\n\"Slab - Eliminate lock_cpu_hotplug from slab\"\n(http://lkml.org/lkml/2006/10/28/92) by Ravikiran G Thirumalai and\nAndrew Morton.\n\nThis patch adds two additional parameters to notifier_call_chain API namely\n - int nr_to_calls : Number of notifier_functions to be called.\n \t\t     The don\u0027t care value is -1.\n\n - unsigned int *nr_calls : Records the total number of notifier_funtions\n\t\t\t    called by notifier_call_chain. The don\u0027t care\n\t\t\t    value is NULL.\n\n[michal.k.k.piotrowski@gmail.com: build fix]\nCredit: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Michal Piotrowski \u003cmichal.k.k.piotrowski@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": "a3d25c275d383975504dc53c25b691df59bd3c48",
      "tree": "161a2ae12a20a630c2f639e144872db2b92eb098",
      "parents": [
        "d60846c4d16f9518b098b905af2b87cb6bf6dc42"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 09 02:33:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:48 2007 -0700"
      },
      "message": "PM: Separate hibernation code from suspend code\n\n[ With Johannes Berg \u003cjohannes@sipsolutions.net\u003e ]\n\nSeparate the hibernation (aka suspend to disk code) from the other suspend\ncode.  In particular:\n\n * Remove the definitions related to hibernation from include/linux/pm.h\n * Introduce struct hibernation_ops and a new hibernate() function to hibernate\n   the system, defined in include/linux/suspend.h\n * Separate suspend code in kernel/power/main.c from hibernation-related code\n   in kernel/power/disk.c and kernel/power/user.c (with the help of\n   hibernation_ops)\n * Switch ACPI (the only user of pm_ops.pm_disk_mode) to hibernation_ops\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f42df9e658be10ca10d0d9b19a0e9d484694f04f",
      "tree": "a18ac720960721083c813d1f94e85d2ef1e7e612",
      "parents": [
        "be2a608bd08ec00e19e14b322e07f443d2711084"
      ],
      "author": {
        "name": "John Anthony Kazos Jr",
        "email": "jakj@j-a-k-j.com",
        "time": "Wed May 09 08:23:08 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 08:58:20 2007 +0200"
      },
      "message": "general: convert \"kernel\" subdirectory to UTF-8\n\nConvert the \"kernel\" subdirectory of the tree to UTF-8. The only file\nmodified is \u003ckernel/sys.c\u003e.\n\nSigned-off-by: John Anthony Kazos Jr. \u003cjakj@j-a-k-j.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "9926e4c74300c4b31dee007298c6475d33369df0",
      "tree": "c2251d7f6a19874de8388b4271d6b2b9836cae38",
      "parents": [
        "a4bb27d99ca2986e30180a0eb143865051b909db"
      ],
      "author": {
        "name": "Tom Alsberg",
        "email": "alsbergt@cs.huji.ac.il",
        "time": "Tue May 08 00:30:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:12 2007 -0700"
      },
      "message": "CPU time limit patch / setrlimit(RLIMIT_CPU, 0) cheat fix\n\nAs discovered here today, the change in Kernel 2.6.17 intended to inhibit\nusers from setting RLIMIT_CPU to 0 (as that is equivalent to unlimited) by\n\"cheating\" and setting it to 1 in such a case, does not make a difference,\nas the check is done in the wrong place (too late), and only applies to the\nprofiling code.\n\nOn all systems I checked running kernels above 2.6.17, no matter what the\nhard and soft CPU time limits were before, a user could escape them by\nissuing in the shell (sh/bash/zsh) \"ulimit -t 0\", and then the user\u0027s\nprocess was not ever killed.\n\nAttached is a trivial patch to fix that.  Simply moving the check to a\nslightly earlier location (specifically, before the line that actually\nassigns the limit - *old_rlim \u003d new_rlim), does the trick.\n\nDo note that at least the zsh (but not ash, dash, or bash) shell has the\nproblem of \"caching\" the limits set by the ulimit command, so when running\nzsh the fix will not immediately be evident - after entering \"ulimit -t 0\",\n\"ulimit -a\" will show \"-t: cpu time (seconds) 0\", even though the actual\nlimit as returned by getrlimit(...) will be 1.  It can be verified by\nopening a subshell (which will not have the values of the parent shell in\ncache) and checking in it, or just by running a CPU intensive command like\n\"echo \u002765536^1048576\u0027 | bc\" and verifying that it dumps core after one\nsecond.\n\nRegardless of whether that is a misfeature in the shell, perhaps it would\nbe better to return -EINVAL from setrlimit in such a case instead of\ncheating and setting to 1, as that does not really reflect the actual state\nof the process anymore.  I do not however know what the ground for that\ndecision was in the original 2.6.17 change, and whether there would be any\n\"backward\" compatibility issues, so I preferred not to touch that right\nnow.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab3bfca7abf3fd0fe41d26d839610a787aa7e587",
      "tree": "e62e58beaf9d22d4156b27d4523c3728bf5769bc",
      "parents": [
        "b1296cc48b39355241470ef934a5e2270e3f23bd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun May 06 14:50:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:59 2007 -0700"
      },
      "message": "remove software_suspend()\n\nRemove software_suspend() and all its users since\npm_suspend(PM_SUSPEND_DISK) should be equivalent and there\u0027s no point in\nhaving two interfaces for the same thing.\n\nThe patch also changes the valid_state function to return 0 (false) for\nPM_SUSPEND_DISK when SOFTWARE_SUSPEND is not configured instead of\naccepting it and having the whole thing fail later.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41487c65bfcce9c8e4d123da1719fcfd8df6d4d0",
      "tree": "e2e0e13bc3178c2cff766f1e0165bbbabdb2ed98",
      "parents": [
        "ab521dc0f8e117fd808d3e425216864d60390500"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Feb 12 00:53:01 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:32 2007 -0800"
      },
      "message": "[PATCH] pid: replace do/while_each_task_pid with do/while_each_pid_task\n\nThere isn\u0027t any real advantage to this change except that it allows the old\nfunctions to be removed.  Which is easier on maintenance and puts the code in\na more uniform style.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\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": "ab521dc0f8e117fd808d3e425216864d60390500",
      "tree": "f9d6449c4d8c9508fd43edfe845108043e1536b2",
      "parents": [
        "3e7cd6c413c9e6fbb5e1ee2acdadb4ababd2d474"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Feb 12 00:53:00 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:32 2007 -0800"
      },
      "message": "[PATCH] tty: update the tty layer to work with struct pid\n\nOf kernel subsystems that work with pids the tty layer is probably the largest\nconsumer.  But it has the nice virtue that the assiation with a session only\nlasts until the session leader exits.  Which means that no reference counting\nis required.  So using struct pid winds up being a simple optimization to\navoid hash table lookups.\n\nIn the long term the use of pid_nr also ensures that when we have multiple pid\nspaces mixed everything will work correctly.\n\nSigned-off-by: Eric W. Biederman \u003ceric@maxwell.lnxi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\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": "72fd4a35a824331d7a0f4168d7576502d95d34b3",
      "tree": "be27880bc36b7f62e8044a88b8744a35c5317714",
      "parents": [
        "262086cf5b5343c2b81c97b1c606058e921859df"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:45:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:32 2007 -0800"
      },
      "message": "[PATCH] Numerous fixes to kernel-doc info in source files.\n\nA variety of (mostly) innocuous fixes to the embedded kernel-doc content in\nsource files, including:\n\n  * make multi-line initial descriptions single line\n  * denote some function names, constants and structs as such\n  * change erroneous opening \u0027/*\u0027 to \u0027/**\u0027 in a few places\n  * reword some text for clarity\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b5180b65122666a36a1a232b7b9b38b21a9dcdd",
      "tree": "a61b7cea4cd410755bd5f87ea886554ad1d05676",
      "parents": [
        "b53d0b919ebe227e2b8e49b6e0ddee506be83aa8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 23 10:45:50 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 23 11:08:03 2007 -0800"
      },
      "message": "[PATCH] notifiers: fix blocking_notifier_call_chain() scalability\n\nwhile lock-profiling the -rt kernel i noticed weird contention during\nmmap-intense workloads, and the tracer showed the following gem, in one\nof our MM hotpaths:\n\n threaded-2771  1....   65us : sys_munmap (sysenter_do_call)\n threaded-2771  1....   66us : profile_munmap (sys_munmap)\n threaded-2771  1....   66us : blocking_notifier_call_chain (profile_munmap)\n threaded-2771  1....   66us : rt_down_read (blocking_notifier_call_chain)\n\nouch! a global rw-semaphore taken in one of the most performance-\nsensitive codepaths of the kernel.  And i dont even have oprofile\nenabled! All distro kernels have CONFIG_PROFILING enabled, so this\nscalability problem affects the majority of Linux users.\n\nThe fix is to enhance blocking_notifier_call_chain() to only take the\nlock if there appears to be work on the call-chain.\n\nWith this patch applied i get nicely saturated system, and much higher\nmunmap performance, on SMP systems.\n\nAnd as a bonus this also fixes a similar scalability bottleneck in the\nthread-exit codepath: profile_task_exit() ...\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f020bc468fe4a91d32046d448511978c7b611315",
      "tree": "30fb5d6f149425c7d30fa9a8540a517f1cb911c4",
      "parents": [
        "84d737866e2babdeab0c6b18ea155c6a649663b8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Dec 08 02:38:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:52 2006 -0800"
      },
      "message": "[PATCH] sys_setpgid: eliminate unnecessary do_each_task_pid(PIDTYPE_PGID)\n\nAll tasks in the process group have the same sid, we don\u0027t need to iterate\nthem all to check that the caller of sys_setpgid() doesn\u0027t change its\nsession.\n\nSigned-off-by: 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": "937949d9edbf4049bd41af6c9f92c26280584564",
      "tree": "d0a28f503b082f890cfa1f7fe952fda8fc771752",
      "parents": [
        "ef55d53caa055aedee13e77da82740987dd64f2d"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Fri Dec 08 02:37:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:51 2006 -0800"
      },
      "message": "[PATCH] add process_session() helper routine\n\nReplace occurences of task-\u003esignal-\u003esession by a new process_session() helper\nroutine.\n\nIt will be useful for pid namespaces to abstract the session pid number.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.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: 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": "24ec839c431eb79bb8f6abc00c4e1eb3b8c4d517",
      "tree": "2ff478b1925159eeac007913c2a8f19d5f5e6010",
      "parents": [
        "562f9c574e0707f9159a729ea41faf53b221cd30"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Dec 08 02:36:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:38 2006 -0800"
      },
      "message": "[PATCH] tty: -\u003esignal-\u003etty locking\n\nFix the locking of signal-\u003etty.\n\nUse -\u003esighand-\u003esiglock to protect -\u003esignal-\u003etty; this lock is already used\nby most other members of -\u003esignal/-\u003esighand.  And unless we are \u0027current\u0027\nor the tasklist_lock is held we need -\u003esiglock to access -\u003esignal anyway.\n\n(NOTE: sys_unshare() is broken wrt -\u003esighand locking rules)\n\nNote that tty_mutex is held over tty destruction, so while holding\ntty_mutex any tty pointer remains valid.  Otherwise the lifetime of ttys\nare governed by their open file handles.  This leaves some holes for tty\naccess from signal-\u003etty (or any other non file related tty access).\n\nIt solves the tty SLAB scribbles we were seeing.\n\n(NOTE: the change from group_send_sig_info to __group_send_sig_info needs to\n       be examined by someone familiar with the security framework, I think\n       it is safe given the SEND_SIG_PRIV from other __group_send_sig_info\n       invocations)\n\n[schwidefsky@de.ibm.com: 3270 fix]\n[akpm@osdl.org: various post-viro fixes]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a09c17a6fdad9ae5b5ea1c3383080f84ec76ab20",
      "tree": "615fb3c3ab0f74f94d2e1f70cef134ae6f266f62",
      "parents": [
        "8de61e69c2feb10e5391cca67a3faf1d2bf77ce0"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@cs.washington.edu",
        "time": "Wed Dec 06 20:40:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:44 2006 -0800"
      },
      "message": "[PATCH] sys: remove unused variable\n\nRemove unused \u0027new_ruid\u0027 variable.\n\nReported by David Binderman \u003cdcb314@hotmail.com\u003e.\n\nSigned-off-by: David Rientjes \u003crientjes@cs.washington.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "65f27f38446e1976cc98fd3004b110fedcddd189",
      "tree": "68f8be93feae31dfa018c22db392a05546b63ee1",
      "parents": [
        "365970a1ea76d81cb1ad2f652acb605f06dae256"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "message": "WorkStruct: Pass the work_struct pointer instead of context data\n\nPass the work_struct pointer to the work function rather than context data.\nThe work function can use container_of() to work out the data.\n\nFor the cases where the container of the work_struct may go away the moment the\npending bit is cleared, it is made possible to defer the release of the\nstructure by deferring the clearing of the pending bit.\n\nTo make this work, an extra flag is introduced into the management side of the\nwork_struct.  This governs auto-release of the structure upon execution.\n\nOrdinarily, the work queue executor would release the work_struct for further\nscheduling or deallocation by clearing the pending bit prior to jumping to the\nwork function.  This means that, unless the driver makes some guarantee itself\nthat the work_struct won\u0027t go away, the work function may not access anything\nelse in the work_struct or its container lest they be deallocated..  This is a\nproblem if the auxiliary data is taken away (as done by the last patch).\n\nHowever, if the pending bit is *not* cleared before jumping to the work\nfunction, then the work function *may* access the work_struct and its container\nwith no problems.  But then the work function must itself release the\nwork_struct by calling work_release().\n\nIn most cases, automatic release is fine, so this is the default.  Special\ninitiators exist for the non-auto-release case (ending in _NAR).\n\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "e6a92013ba458804161c0c5b6d134d82204dc233",
      "tree": "ecee5fdcef80d1dba0ac6ea87370931ea39ffecd",
      "parents": [
        "eabc069401bcf45bcc3f19e643017bf761780aa8"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Oct 04 02:17:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] SRCU: report out-of-memory errors\n\nCurrently the init_srcu_struct() routine has no way to report out-of-memory\nerrors.  This patch (as761) makes it return -ENOMEM when the per-cpu data\nallocation fails.\n\nThe patch also makes srcu_init_notifier_head() report a BUG if a notifier\nhead can\u0027t be initialized.  Perhaps it should return -ENOMEM instead, but\nin the most likely cases where this might occur I don\u0027t think any recovery\nis possible.  Notifier chains generally are not created dynamically.\n\n[akpm@osdl.org: avoid statement-with-side-effect in macro]\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eabc069401bcf45bcc3f19e643017bf761780aa8",
      "tree": "1175b8bed2d88cc9f437edbc239d7681f13b8a7d",
      "parents": [
        "b2896d2e75c87ea6a842c088db730b03c91db737"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Oct 04 02:17:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] Add SRCU-based notifier chains\n\nThis patch (as751) adds a new type of notifier chain, based on the SRCU\n(Sleepable Read-Copy Update) primitives recently added to the kernel.  An\nSRCU notifier chain is much like a blocking notifier chain, in that it must\nbe called in process context and its callout routines are allowed to sleep.\n The difference is that the chain\u0027s links are protected by the SRCU\nmechanism rather than by an rw-semaphore, so calling the chain has\nextremely low overhead: no memory barriers and no cache-line bouncing.  On\nthe other hand, unregistering from the chain is expensive and the chain\nhead requires special runtime initialization (plus cleanup if it is to be\ndeallocated).\n\nSRCU notifiers are appropriate for notifiers that will be called very\nfrequently and for which unregistration occurs very seldom.  The proposed\n\"task notifier\" scheme qualifies, as may some of the network notifiers.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nAcked-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ec52099e4b8678a60e9f93e41ad87885d64f3e6",
      "tree": "a68fe051b39f8f8e8be469cbd3c2f653b9b71a9d",
      "parents": [
        "1a657f78dcc8ea7c53eaa1f2a45ea2315738c15f"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Mon Oct 02 02:19:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:25 2006 -0700"
      },
      "message": "[PATCH] replace cad_pid by a struct pid\n\nThere are a few places in the kernel where the init task is signaled.  The\nctrl+alt+del sequence is one them.  It kills a task, usually init, using a\ncached pid (cad_pid).\n\nThis patch replaces the pid_t by a struct pid to avoid pid wrap around\nproblem.  The struct pid is initialized at boot time in init() and can be\nmodified through systctl with\n\n\t/proc/sys/kernel/cad_pid\n\n[ I haven\u0027t found any distro using it ? ]\n\nIt also introduces a small helper routine kill_cad_pid() which is used\nwhere it seemed ok to use cad_pid instead of pid 1.\n\n[akpm@osdl.org: cleanups, build fix]\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e9ff3990f08e9a0c2839cc22808b01732ea5b3e4",
      "tree": "c638a7b89f0c5e8adc410316d06ca1de8b8dabee",
      "parents": [
        "0bdd7aab7f0ecd5d337910816aa058c18398628e"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:21 2006 -0700"
      },
      "message": "[PATCH] namespaces: utsname: switch to using uts namespaces\n\nReplace references to system_utsname to the per-process uts namespace\nwhere appropriate.  This includes things like uname.\n\nChanges: Per Eric Biederman\u0027s comments, use the per-process uts namespace\n\tfor ELF_PLATFORM, sunrpc, and parts of net/ipv4/ipconfig.c\n\n[jdike@addtoit.com: UML fix]\n[clg@fr.ibm.com: cleanup]\n[akpm@osdl.org: build fix]\nSigned-off-by: Serge E. 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: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f2aa85a0ccd90110e76c6375535adc3ae358f971",
      "tree": "dc4db8faacd37ec0d09ec719b53b8550cbe0dbc9",
      "parents": [
        "62c27be0dd8144e11bd3ed054a0fb890579925f8"
      ],
      "author": {
        "name": "bibo,mao",
        "email": "bibo.mao@intel.com",
        "time": "Mon Oct 02 02:17:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:16 2006 -0700"
      },
      "message": "[PATCH] disallow kprobes on notifier_call_chain\n\nWhen kprobe is re-entered, the re-entered kprobe kernel path will will call\natomic_notifier_call_chain function, if this function is kprobed that will\nincur numerous kprobe recursive fault.  This patch disallows kprobes on\natomic_notifier_call_chain function.\n\nSigned-off-by: bibo, mao \u003cbibo.mao@intel.com\u003e\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "756184b7d771992f4fb1998d62aebcaf3e028076",
      "tree": "f3ff7af2a600b1e5a9b60e030057c8b3d589499a",
      "parents": [
        "c7bce3097c0f9bbed76ee6fd03742f2624031a45"
      ],
      "author": {
        "name": "Cal Peake",
        "email": "cp@absolutedigital.net",
        "time": "Sat Sep 30 23:27:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:20 2006 -0700"
      },
      "message": "[PATCH] CodingStyle cleanup for kernel/sys.c\n\nFix up kernel/sys.c to be consistent with CodingStyle and the rest of the\nfile.\n\nSigned-off-by: Cal Peake \u003ccp@absolutedigital.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "34596dc9e59d7bece16fe5aba08116b49465da26",
      "tree": "75e09786a8ff8db3a69a5c82663f97d317e59e46",
      "parents": [
        "120b114237e2461fb4fa437c5c37edf014c916b9"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Sep 30 01:47:55 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Sat Sep 30 01:47:55 2006 +0200"
      },
      "message": "[PATCH] Define vsyscall cache as blob to make clearer that user space shouldn\u0027t use it\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "c9472e0f28cd2f0695a0ac3a0b4bd33f21714a7e",
      "tree": "fb5e4c3d3acf40549249cdca6f047cc2927ec2c2",
      "parents": [
        "111dbe0c8a21dffa473239861be47ebc87f593b3"
      ],
      "author": {
        "name": "Cal Peake",
        "email": "cp@absolutedigital.net",
        "time": "Fri Sep 29 02:00:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:16 2006 -0700"
      },
      "message": "[PATCH] kill extraneous printk in kernel_restart()\n\nGet rid of an extraneous printk in kernel_restart().\n\nSigned-off-by: Cal Peake \u003ccp@absolutedigital.net\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": "3cfc348bf90ffaa777c188652aa297f04eb94de8",
      "tree": "8908d6a5a61e54ab422ec7f4800d6ac591695423",
      "parents": [
        "c08c820508233b424deab3302bc404bbecc6493a"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Sep 26 10:52:28 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:28 2006 +0200"
      },
      "message": "[PATCH] x86: Add portable getcpu call\n\nFor NUMA optimization and some other algorithms it is useful to have a fast\nto get the current CPU and node numbers in user space.\n\nx86-64 added a fast way to do this in a vsyscall. This adds a generic\nsyscall for other architectures to make it a generic portable facility.\n\nI expect some of them will also implement it as a faster vsyscall.\n\nThe cache is an optimization for the x86-64 vsyscall optimization. Since\nwhat the syscall returns is an approximation anyways and user space\noften wants very fast results it can be cached for some time.  The norma\nmethods to get this information in user space are relatively slow\n\nThe vsyscall is in a better position to manage the cache because it has direct\naccess to a fast time stamp (jiffies). For the generic syscall optimization\nit doesn\u0027t help much, but enforce a valid argument to keep programs\nportable\n\nI only added an i386 syscall entry for now. Other architectures can follow\nas needed.\n\nAK: Also added some cleanups from Andrew Morton\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "abf75a5033d4da7b8a7e92321d74021d1fcfb502",
      "tree": "9d39bb9ac449232d4d8f196f2a83de7d5be681ff",
      "parents": [
        "b2d6744849b5bf6b4593b81c136772df7a238ac9"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 12 13:12:00 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 12 12:50:25 2006 -0700"
      },
      "message": "[PATCH] Fix prctl privilege escalation and suid_dumpable (CVE-2006-2451)\n\nBased on a patch from Ernie Petrides\n\nDuring security research, Red Hat discovered a behavioral flaw in core\ndump handling. A local user could create a program that would cause a\ncore file to be dumped into a directory they would not normally have\npermissions to write to. This could lead to a denial of service (disk\nconsumption), or allow the local user to gain root privileges.\n\nThe prctl() system call should never allow to set \"dumpable\" to the\nvalue 2. Especially not for non-privileged users.\n\nThis can be split into three cases:\n\n  1) running as root -- then core dumps will already be done as root,\n     and so prctl(PR_SET_DUMPABLE, 2) is not useful\n\n  2) running as non-root w/setuid-to-root -- this is the debatable case\n\n  3) running as non-root w/setuid-to-non-root -- then you definitely\n     do NOT want \"dumpable\" to get set to 2 because you have the\n     privilege escalation vulnerability\n\nWith case #2, the only potential usefulness is for a program that has\ndesigned to run with higher privilege (than the user invoking it) that\nwants to be able to create root-owned root-validated core dumps. This\nmight be useful as a debugging aid, but would only be safe if the program\nhad done a chdir() to a safe directory.\n\nThere is no benefit to a production setuid-to-root utility, because it\nshouldn\u0027t be dumping core in the first place. If this is true, then the\nsame debugging aid could also be accomplished with the \"suid_dumpable\"\nsysctl.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\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": "83cc5ed3c4c65fc4c3729a5cec2111ede1ebf85e",
      "tree": "ea2b6b04117ad88c41a5059bdaf36a7a505808c0",
      "parents": [
        "76a8ad293912cd2f01eca075d80cd0ddec30c627"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Jun 25 05:47:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:06 2006 -0700"
      },
      "message": "[PATCH] kernel/sys.c: cleanups\n\n- proper prototypes for the following functions:\n  - ctrl_alt_del()  (in include/linux/reboot.h)\n  - getrusage()     (in include/linux/resource.h)\n- make the following needlessly global functions static:\n  - kernel_restart_prepare()\n  - kernel_kexec()\n\n[akpm@osdl.org: compile fix]\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bbb1747d4e44ce49acc73daa8d66e5f6bd546f1b",
      "tree": "28e9192804d3335e7585dd34bd4d5d9f236afc27",
      "parents": [
        "bfe5d834195b3089b8846577311340376cc0f450"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sun Jun 25 05:47:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:01 2006 -0700"
      },
      "message": "[PATCH] Allow raw_notifier callouts to unregister themselves\n\nSince raw_notifier chains don\u0027t benefit from any centralized locking\nprotections, they shouldn\u0027t suffer from the associated limitations.  Under\nsome circumstances it might make sense for a raw_notifier callout routine\nto unregister itself from the notifier chain.  This patch (as678) changes\nthe notifier core to allow for such things.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "55f4e8d156d23709739029afb108932ef94cac94",
      "tree": "b8877b3e23dbb82b3fd1fb93ed319a3c5cb1148d",
      "parents": [
        "915a56d2394f4ef70e9cb7115a9bdad778276338"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Fri Jun 23 02:05:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:07 2006 -0700"
      },
      "message": "[PATCH] kernel/sys.c doesn\u0027t need init.h\n\nkernel/sys.c doesn\u0027t have anything in it relying on linux/init.h -\nremove the include.\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "45c091bb2d453ce4a8b06cf19872ec7a77fc4799",
      "tree": "06fb2e05518ebfba163f8424e028e7faf5672d66",
      "parents": [
        "d588fcbe5a7ba8bba2cebf7799ab2d573717a806",
        "2191fe3e39159e3375f4b7ec1420df149f154101"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 22:11:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 22:11:30 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (139 commits)\n  [POWERPC] re-enable OProfile for iSeries, using timer interrupt\n  [POWERPC] support ibm,extended-*-frequency properties\n  [POWERPC] Extra sanity check in EEH code\n  [POWERPC] Dont look for class-code in pci children\n  [POWERPC] Fix mdelay badness on shared processor partitions\n  [POWERPC] disable floating point exceptions for init\n  [POWERPC] Unify ppc syscall tables\n  [POWERPC] mpic: add support for serial mode interrupts\n  [POWERPC] pseries: Print PCI slot location code on failure\n  [POWERPC] spufs: one more fix for 64k pages\n  [POWERPC] spufs: fail spu_create with invalid flags\n  [POWERPC] spufs: clear class2 interrupt status before wakeup\n  [POWERPC] spufs: fix Makefile for \"make clean\"\n  [POWERPC] spufs: remove stop_code from struct spu\n  [POWERPC] spufs: fix spu irq affinity setting\n  [POWERPC] spufs: further abstract priv1 register access\n  [POWERPC] spufs: split the Cell BE support into generic and platform dependant parts\n  [POWERPC] spufs: dont try to access SPE channel 1 count\n  [POWERPC] spufs: use kzalloc in create_spu\n  [POWERPC] spufs: fix initial state of wbox file\n  ...\n\nManually resolved conflicts in:\n\tdrivers/net/phy/Makefile\n\tinclude/asm-powerpc/spu.h\n"
    },
    {
      "commit": "de047c1bcd7f7bcfbdc29eb5b439fb332594da3f",
      "tree": "ff0d52044559971b8d68aaeb00fc7b6a876b3a3d",
      "parents": [
        "c89681ed7d0e4a61d35bdc12c06c6733b718b2cb"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Thu Jun 22 14:47:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:05:57 2006 -0700"
      },
      "message": "[PATCH] avoid tasklist_lock at getrusage for multithreaded case too\n\nAvoid taking tasklist_lock for at getrusage for the multithreaded case too.\nWe don\u0027t need to take the tasklist lock for thread traversal of a process\nsince Oleg\u0027s do-__unhash_process-under-siglock.patch and related work.\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: 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": "651d765d0b2c72d33430487c8b6ef64c60cd2134",
      "tree": "3a7253dc0b80585a03ddd581e0c00fc0f8bda7a0",
      "parents": [
        "3b5e905ee3bd23e9311951890aba57a0dbc81ca4"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Jun 07 16:10:19 2006 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Jun 09 21:24:13 2006 +1000"
      },
      "message": "[PATCH] Add a prctl to change the endianness of a process.\n\nThis new prctl is intended for changing the execution mode of the\nprocessor, on processors that support both a little-endian mode and a\nbig-endian mode.  It is intended for use by programs such as\ninstruction set emulators (for example an x86 emulator on PowerPC),\nwhich may find it convenient to use the processor in an alternate\nendianness mode when executing translated instructions.\n\nNote that this does not imply the existence of a fully-fledged ABI for\nboth endiannesses, or of compatibility code for converting system\ncalls done in the non-native endianness mode.  The program is expected\nto arrange for all of its system call arguments to be presented in the\nnative endianness.\n\nSwitching between big and little-endian mode will require some care in\nconstructing the instruction sequence for the switch.  Generally the\ninstructions up to the instruction that invokes the prctl system call\nwill have to be in the old endianness, and subsequent instructions\nwill have to be in the new endianness.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "390e2ff07712468ce6600a43aa91e897b056ce12",
      "tree": "fb92d3c2218fa3e41078d1b5e103892ac7e95117",
      "parents": [
        "9741ef964dc8bfeb6520825df9fed8f538c3336e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Mar 31 02:31:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:59 2006 -0800"
      },
      "message": "[PATCH] Make setsid() more robust\n\nThe core problem: setsid fails if it is called by init.  The effect in 2.6.16\nand the earlier kernels that have this problem is that if you do a \"ps -j 1 or\nps -ej 1\" you will see that init and several of it\u0027s children have process\ngroup and session \u003d\u003d 0.  Instead of process group \u003d\u003d session \u003d\u003d 1.  Despite\ninit calling setsid.\n\nThe reason it fails is that daemonize calls set_special_pids(1,1) on kernel\nthreads that are launched before /sbin/init is called.\n\nThe only remaining effect in that current-\u003esignal-\u003eleader \u003d\u003d 0 for init\ninstead of 1.  And the setsid call fails.  No one has noticed because\n/sbin/init does not check the return value of setsid.\n\nIn 2.4 where we don\u0027t have the pidhash table, and daemonize doesn\u0027t exist\nsetsid actually works for init.\n\nI care a lot about pid \u003d\u003d 1 not being a special case that we leave broken,\nbecause of the container/jail work that I am doing.\n\n- Carefully allow init (pid \u003d\u003d 1) to call setsid despite the kernel using\n  its session.\n\n- Use find_task_by_pid instead of find_pid because find_pid taking a\n  pidtype is going 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": "7d7185c818925ba5fe90efa75840d0b415032774",
      "tree": "d0ae8f18c7ec272d887d5bcb822773d9048e8507",
      "parents": [
        "5876700cd399112ecfa70df36203c8c6660d84f8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:43 2006 -0800"
      },
      "message": "[PATCH] sys_times: don\u0027t take tasklist_lock\n\nsys_times: don\u0027t take tasklist_lock\n\nSigned-off-by: 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": "35f5cad8c4bab94ecc5acdc4055df5ea12dc76f8",
      "tree": "aad78b130b697c3c4b594483c63a9b1a9c4ed009",
      "parents": [
        "6a14c5c9da0b4c34b5be783403c54f0396fcfe77"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:43 2006 -0800"
      },
      "message": "[PATCH] revert \"Optimize sys_times for a single thread process\"\n\nThis patch reverts \u0027CONFIG_SMP \u0026\u0026 thread_group_empty()\u0027 optimization in\nsys_times().  The reason is that the next patch breaks memory ordering which\nis needed for that optimization.\n\ntasklist_lock in sys_times() will be eliminated completely by further patch.\n\nSigned-off-by: 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": "e041c683412d5bf44dc2b109053e3b837b71742d",
      "tree": "9d271066ef379da0c0fb3b8cb4137abd5d2ebba0",
      "parents": [
        "76b81e2b0e2241accebcc68e126bc5ab958661b9"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Mar 27 01:16:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:50 2006 -0800"
      },
      "message": "[PATCH] Notifier chain update: API changes\n\nThe kernel\u0027s implementation of notifier chains is unsafe.  There is no\nprotection against entries being added to or removed from a chain while the\nchain is in use.  The issues were discussed in this thread:\n\n    http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113018709002036\u0026w\u003d2\n\nWe noticed that notifier chains in the kernel fall into two basic usage\nclasses:\n\n\t\"Blocking\" chains are always called from a process context\n\tand the callout routines are allowed to sleep;\n\n\t\"Atomic\" chains can be called from an atomic context and\n\tthe callout routines are not allowed to sleep.\n\nWe decided to codify this distinction and make it part of the API.  Therefore\nthis set of patches introduces three new, parallel APIs: one for blocking\nnotifiers, one for atomic notifiers, and one for \"raw\" notifiers (which is\nreally just the old API under a new name).  New kinds of data structures are\nused for the heads of the chains, and new routines are defined for\nregistration, unregistration, and calling a chain.  The three APIs are\nexplained in include/linux/notifier.h and their implementation is in\nkernel/sys.c.\n\nWith atomic and blocking chains, the implementation guarantees that the chain\nlinks will not be corrupted and that chain callers will not get messed up by\nentries being added or removed.  For raw chains the implementation provides no\nguarantees at all; users of this API must provide their own protections.  (The\nidea was that situations may come up where the assumptions of the atomic and\nblocking APIs are not appropriate, so it should be possible for users to\nhandle these things in their own way.)\n\nThere are some limitations, which should not be too hard to live with.  For\natomic/blocking chains, registration and unregistration must always be done in\na process context since the chain is protected by a mutex/rwsem.  Also, a\ncallout routine for a non-raw chain must not try to register or unregister\nentries on its own chain.  (This did happen in a couple of places and the code\nhad to be changed to avoid it.)\n\nSince atomic chains may be called from within an NMI handler, they cannot use\nspinlocks for synchronization.  Instead we use RCU.  The overhead falls almost\nentirely in the unregister routine, which is okay since unregistration is much\nless frequent that calling a chain.\n\nHere is the list of chains that we adjusted and their classifications.  None\nof them use the raw API, so for the moment it is only a placeholder.\n\n  ATOMIC CHAINS\n  -------------\narch/i386/kernel/traps.c:\t\ti386die_chain\narch/ia64/kernel/traps.c:\t\tia64die_chain\narch/powerpc/kernel/traps.c:\t\tpowerpc_die_chain\narch/sparc64/kernel/traps.c:\t\tsparc64die_chain\narch/x86_64/kernel/traps.c:\t\tdie_chain\ndrivers/char/ipmi/ipmi_si_intf.c:\txaction_notifier_list\nkernel/panic.c:\t\t\t\tpanic_notifier_list\nkernel/profile.c:\t\t\ttask_free_notifier\nnet/bluetooth/hci_core.c:\t\thci_notifier\nnet/ipv4/netfilter/ip_conntrack_core.c:\tip_conntrack_chain\nnet/ipv4/netfilter/ip_conntrack_core.c:\tip_conntrack_expect_chain\nnet/ipv6/addrconf.c:\t\t\tinet6addr_chain\nnet/netfilter/nf_conntrack_core.c:\tnf_conntrack_chain\nnet/netfilter/nf_conntrack_core.c:\tnf_conntrack_expect_chain\nnet/netlink/af_netlink.c:\t\tnetlink_chain\n\n  BLOCKING CHAINS\n  ---------------\narch/powerpc/platforms/pseries/reconfig.c:\tpSeries_reconfig_chain\narch/s390/kernel/process.c:\t\tidle_chain\narch/x86_64/kernel/process.c\t\tidle_notifier\ndrivers/base/memory.c:\t\t\tmemory_chain\ndrivers/cpufreq/cpufreq.c\t\tcpufreq_policy_notifier_list\ndrivers/cpufreq/cpufreq.c\t\tcpufreq_transition_notifier_list\ndrivers/macintosh/adb.c:\t\tadb_client_list\ndrivers/macintosh/via-pmu.c\t\tsleep_notifier_list\ndrivers/macintosh/via-pmu68k.c\t\tsleep_notifier_list\ndrivers/macintosh/windfarm_core.c\twf_client_list\ndrivers/usb/core/notify.c\t\tusb_notifier_list\ndrivers/video/fbmem.c\t\t\tfb_notifier_list\nkernel/cpu.c\t\t\t\tcpu_chain\nkernel/module.c\t\t\t\tmodule_notify_list\nkernel/profile.c\t\t\tmunmap_notifier\nkernel/profile.c\t\t\ttask_exit_notifier\nkernel/sys.c\t\t\t\treboot_notifier_list\nnet/core/dev.c\t\t\t\tnetdev_chain\nnet/decnet/dn_dev.c:\t\t\tdnaddr_chain\nnet/ipv4/devinet.c:\t\t\tinetaddr_chain\n\nIt\u0027s possible that some of these classifications are wrong.  If they are,\nplease let us know or submit a patch to fix them.  Note that any chain that\ngets called very frequently should be atomic, because the rwsem read-locking\nused for blocking chains is very likely to incur cache misses on SMP systems.\n(However, if the chain\u0027s callout routines may sleep then the chain cannot be\natomic.)\n\nThe patch set was written by Alan Stern and Chandra Seetharaman, incorporating\nmaterial written by Keith Owens and suggestions from Paul McKenney and Andrew\nMorton.\n\n[jes@sgi.com: restructure the notifier chain initialization macros]\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d74beb9f33a5f16d2965f11b275e401f225c949d",
      "tree": "48f851753ebe9c9c8dd701dcdd0c5e1d7c629579",
      "parents": [
        "34f361ade2fb4a869f6a7714d01c04ce4cfa75d9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sat Mar 25 03:08:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:23:01 2006 -0800"
      },
      "message": "[PATCH] Use unsigned int types for a faster bsearch\n\nThis patch avoids arithmetic on \u0027signed\u0027 types that are slower than\n\u0027unsigned\u0027.  This saves space and cpu cycles.\n\nsize of kernel/sys.o before the patch (gcc-3.4.5)\n\n    text    data     bss     dec     hex filename\n   10924     252       4   11180    2bac kernel/sys.o\n\nsize of kernel/sys.o after the patch\n    text    data     bss     dec     hex filename\n   10903     252       4   11159    2b97 kernel/sys.o\n\nI noticed that gcc-4.1.0 (from Fedora Core 5) even uses idiv instruction for\n(a+b)/2 if a and b are signed.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "231bed205879236357171e50bd8965e70797ecdc",
      "tree": "fe3bb52388510eca3fc19548abd26f4009b94db1",
      "parents": [
        "76c67de460b3d00b7ab8a96bb18f07ca47d65fba"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@resalehost.networksolutions.com",
        "time": "Sat Mar 25 03:08:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:58 2006 -0800"
      },
      "message": "[PATCH] No need to protect current-\u003egroup_info in sys_getgroups(), in_group_p() and in_egroup_p()\n\nWhile doing some benchmarks of an Apache/PHP SMP server, I noticed high\noprofile numbers in in_group_p() and _atomic_dec_and_lock().\n\nrank  percent\n  1     4.8911 % __link_path_walk\n  2     4.8503 % __d_lookup\n*3     4.2911 % _atomic_dec_and_lock\n  4     3.9307 % __copy_to_user_ll\n  5     4.9004 % sysenter_past_esp\n*6     3.3248 % in_group_p\n\nIt appears that in_group_p() does an uncessary\n\nget_group_info(current-\u003egroup_info); /* atomic_inc() */\n  ... /* access current-\u003egroup_info */\nput_group_info(current-\u003egroup_info); /* _atomic_dec_and_lock */\n\nIt is not necessary to do this, because the current task holds a reference\non its own group_info, and this reference cannot change during the lookup.\n\nThis patch deletes the get_group_info()/put_group_info() pair from\nsys_getgroups(), in_group_p() and in_egroup_p() functions.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Tim Hockin \u003cthockin@hockin.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "12b5989be10011387a9da5dee82e5c0d6f9d02e7",
      "tree": "74da71d407bf26bf97c639bb2b473de233a736ac",
      "parents": [
        "77d47582c2345e071df02afaf9191641009287c4"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Sat Mar 25 03:07:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:56 2006 -0800"
      },
      "message": "[PATCH] refactor capable() to one implementation, add __capable() helper\n\nMove capable() to kernel/capability.c and eliminate duplicate\nimplementations.  Add __capable() function which can be used to check for\ncapabiilty of any process.\n\nSigned-off-by: 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": "d3561f78fd379a7110e46c87964ba7aa4120235c",
      "tree": "3f055910e42abf0d2d312bf3feda79dd6798f76e",
      "parents": [
        "e0661111e5441995f7a69dc4336c9f131cb9bc58"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:30 2006 -0800"
      },
      "message": "[PATCH] RLIMIT_CPU: document wrong return value\n\nDocument the fact that setrlimit(RLIMIT_CPU) doesn\u0027t return error codes when\nit should.  I don\u0027t think we can fix this without a 2.7.x..\n\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ulrich Weigand \u003cuweigand@de.ibm.com\u003e\nCc: Cliff Wickman \u003ccpw@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e0661111e5441995f7a69dc4336c9f131cb9bc58",
      "tree": "47a0a0ae66a9f792e6c9edbf683cdc0b62a2d4b7",
      "parents": [
        "ec9e16bacdba1da1ee15dd162384e22df5c87e09"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:30 2006 -0800"
      },
      "message": "[PATCH] RLIMIT_CPU: fix handling of a zero limit\n\nAt present the kernel doesn\u0027t honour an attempt to set RLIMIT_CPU to zero\nseconds.  But the spec says it should, and that\u0027s what 2.4.x does.\n\nFixing this for real would involve some complexity (such as adding a new\nit-has-been-set flag to the task_struct, and testing that everwhere, instead\nof overloading the value of it_prof_expires).\n\nGiven that a 2.4 kernel won\u0027t actually send the signal until one second has\nexpired anyway, let\u0027s just handle this case by treating the caller\u0027s\nzero-seconds as one second.\n\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ulrich Weigand \u003cuweigand@de.ibm.com\u003e\nCc: Cliff Wickman \u003ccpw@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ec9e16bacdba1da1ee15dd162384e22df5c87e09",
      "tree": "c69536db0e5a8814051745faa77fc34eea9ac75c",
      "parents": [
        "de62a97ef576a1f6b5013139ded9893226375bbb"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:30 2006 -0800"
      },
      "message": "[PATCH] sys_setrlimit() cleanup\n\n- Whitespace cleanups\n\n- Make that expression comprehensible.\n\nThere\u0027s a potential logic change here: we do the \"is it_prof_expires equal to\nzero\" test after converting it to seconds, rather than doing the comparison\nbetween raw cputime_t\u0027s.\n\nBut given that it\u0027s in units of seconds anyway, that shouldn\u0027t change\nanything.\n\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ulrich Weigand \u003cuweigand@de.ibm.com\u003e\nCc: Cliff Wickman \u003ccpw@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "70522e121a521aa09bd0f4e62e1aa68708b798e1",
      "tree": "1233412da73361b48ed01290a33ab7c90e36359a",
      "parents": [
        "d4f9af9dac4ecb75818f909168f87b441cc95653"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 23 03:00:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:11 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: tty\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2dd0ebcd2ab7b18a50c0810ddb45a84316e4ee2e",
      "tree": "17518ebe86c2b701aa4a74fcac025c1793a87a87",
      "parents": [
        "0c9e63fd38a2fb2181668a0cdd622a3c23cfd567"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Thu Mar 23 03:00:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:09 2006 -0800"
      },
      "message": "[PATCH] Avoid taking global tasklist_lock for single threadedprocess at getrusage()\n\nAvoid taking the global tasklist_lock when possible, if a process is single\nthreaded during getrusage().  Any avoidance of tasklist_lock is good for\nNUMA boxes (and possibly for large SMPs).  Thanks to Oleg Nesterov for\nreview and suggestions.\n\nSigned-off-by: Nippun Goel \u003cnippung@calsoftinc.com\u003e\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4bb8089c86b95b4f6bbd839cb83ca4556b06a031",
      "tree": "86069d7b4063f30a37ece5c27372b8a4414f1ede",
      "parents": [
        "53f087febfd12e74ba9f1082e71e9a45adc039ad"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Feb 01 05:57:32 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Feb 07 20:57:47 2006 -0500"
      },
      "message": "[PATCH] kernel/sys.c NULL noise removal\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9fdb62af92c741addbea15545f214a6e89460865",
      "tree": "a25ec569b5b49a1b4c1d2a825f7aab2b2a5e2154",
      "parents": [
        "3ee68c4af3fd7228c1be63254b9f884614f9ebb2",
        "876c184b31dc73cc3f38c5b86dee55d091a56769",
        "729b4d4ce1982c52040bbf22d6711cdf8db07ad8",
        "cf82478840188f8c8494c1d7a668a8ae170d0e07",
        "dacd9b80355525be0e3c519687868410e304ad1c",
        "63c94b68ec30847a6e2b36651703f41066f91480",
        "35f652b5ef4ef145ac5514f6302b3f4cebfbbad4",
        "1a38416cea8ac801ae8f261074721f35317613dc",
        "4a90c7e86202f46fa9af011bdbcdf36e355d1721",
        "aea19aa0780d4b006372fedab8434226e1cc7686",
        "757b18661ea0a0d890e8ce7b1a391e5b7d417d78",
        "c4bb6f5ad968540d7f9619565bacd18d7419b85f"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Jan 24 17:52:48 2006 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Jan 24 17:52:48 2006 -0500"
      },
      "message": "[ACPI] merge 3549 4320 4485 4588 4980 5483 5651 acpica asus fops pnpacpi branches into release\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "c59ede7b78db329949d9cdcd7064e22d357560ef",
      "tree": "f9dc9d464fdad5bfd464d983e77c1af031389dda",
      "parents": [
        "e16885c5ad624a6efe1b1bf764e075d75f65a788"
      ],
      "author": {
        "name": "Randy.Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:13 2006 -0800"
      },
      "message": "[PATCH] move capable() to capability.h\n\n- Move capable() from sched.h to capability.h;\n\n- Use \u003clinux/capability.h\u003e where capable() is used\n\t(in include/, block/, ipc/, kernel/, a few drivers/,\n\tmm/, security/, \u0026 sound/;\n\tmany more drivers/ to go)\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e16885c5ad624a6efe1b1bf764e075d75f65a788",
      "tree": "de137e799ddc0a696bb288b34fade65af1708a5e",
      "parents": [
        "a9fad4cc3975573a359a92ad047f5995d8391631"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 11 12:17:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:13 2006 -0800"
      },
      "message": "[PATCH] uninline capable()\n\nUninline capable().  Saves 2K of kernel text on a generic .config, and 1K on a\ntiny config.  In addition it makes the use of capable more consistent between\nCONFIG_SECURITY and !CONFIG_SECURITY\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0f59cc4a35dbbc45c972daad0f1b063380cd9ea4",
      "tree": "03cb2e69303e2ea3cca0f7eca6c7eb6c5a352e40",
      "parents": [
        "86f91d36c2aac910b7cf7e5d047019b10a9a627e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Jan 08 01:05:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:09 2006 -0800"
      },
      "message": "[PATCH] simplify k_getrusage()\n\nFactor out common code for different RUSAGE_xxx cases.\n\nDon\u0027t take -\u003esighand-\u003esiglock in RUSAGE_SELF case, suggested by Ravikiran G\nThirumalai \u003ckiran@scalex86.org\u003e.\n\nSigned-off-by: 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": "f7dd795e913656c390b6bde27790c518973feea1",
      "tree": "d3e61e8e19018b94e80d2a332fa0b9e304007365",
      "parents": [
        "e19f247a3dbd85485ec13174817ae9c2478fe541"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Jan 08 01:03:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:01 2006 -0800"
      },
      "message": "[PATCH] setpgid: should not accept ptraced childs\n\nsys_setpgid() allows to change -\u003epgrp of ptraced childs.\n\n\u0027man setpgid\u0027 does not tell anything about that, so I consider\nthis behaviour is a bug.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Oren Laadan \u003corenl@cs.columbia.edu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e19f247a3dbd85485ec13174817ae9c2478fe541",
      "tree": "1d6f6fa28d70d51d1ce71264b07ec1afd768e9a6",
      "parents": [
        "ee0acf90d320c29916ba8c5c1b2e908d81f5057d"
      ],
      "author": {
        "name": "Oren Laadan",
        "email": "orenl@cs.columbia.edu",
        "time": "Sun Jan 08 01:03:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:01 2006 -0800"
      },
      "message": "[PATCH] setpgid: should work for sub-threads\n\nsetsid() does not work unless the calling process is a\nthread_group_leader().\n\n\u0027man setpgid\u0027 does not tell anything about that, so I consider this\nbehaviour is a bug.\n\nSigned-off-by: Oren Laadan \u003corenl@cs.columbia.edu\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ee0acf90d320c29916ba8c5c1b2e908d81f5057d",
      "tree": "def952e2e3ebf2b5ba10585055f12ef0cbed17f2",
      "parents": [
        "9a5d3023e626a0baf86ac6b892c983b3db13f22b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Jan 08 01:03:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:01 2006 -0800"
      },
      "message": "[PATCH] setpgid: should work for sub-threads\n\nsetpgid(0, pgid) or setpgid(forked_child_pid, pgid) does not work unless\nthe calling process is a thread_group_leader().\n\n\u0027man setpgid\u0027 does not tell anything about that, so I consider this\nbehaviour is a bug.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Oren Laadan \u003corenl@cs.columbia.edu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5e38291d80086f6972f471c7caffa03184de0bf0",
      "tree": "563a6aaac4f8c15f448080a3cec738821fa14a0b",
      "parents": [
        "87ba81dba431232548ce29d5d224115d0c2355ac"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Jan 08 01:03:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:00 2006 -0800"
      },
      "message": "[PATCH] Don\u0027t attempt to power off if power off is not implemented\n\nThe problem.  It is expected that /sbin/halt -p works exactly like\n/sbin/halt, when the kernel does not implement power off functionality.\n\nThe kernel can do a lot of work in the reboot notifiers and in\ndevice_shutdown before we even get to machine_power_off.  Some of that\nshutdown is not safe if you are leaving the power on, and it definitely\ngets in the way of using sysrq or pressing ctrl-alt-del.  Since the\nshutdown happens in generic code there is no way to fix this in\narchitecture specific code :(\n\nSome machines are kernel oopsing today because of this.\n\nThe simple solution is to turn LINUX_REBOOT_CMD_POWER_OFF into\nLINUX_REBOOT_CMD_HALT if power_off functionality is not implemented.\n\nThis has the unfortunate side effect of disabling the power off\nfunctionality on architectures that leave pm_power_off to null and still\nimplement something in machine_power_off.  And it will break the build on\nsome architectures that don\u0027t have a pm_power_off variable at all.\n\nOn both counts I say tough.\n\nFor architectures like alpha that don\u0027t implement the pm_power_off variable\npm_power_off is declared in linux/pm.h and it is a generic part of our\npower management code, and all architectures should implement it.\n\nFor architectures like parisc that have a default power off method in\nmachine_power_off if pm_power_off is not implemented or fails.  It is easy\nenough to set the pm_power_off variable.  And nothing bad happens there,\nthe machines just stop powering off.\n\nThe current semantics are impossible without a flag at the top level so we\ncan avoid the problem code if a power off is not implemented.  pm_power_off\nis as good a flag as any with the bonus that it works without modification\non at least x86, x86_64, powerpc, and ppc today.\n\nAndrew can you pick this up and put this in the mm tree.  Kernels that\ndon\u0027t compile or don\u0027t power off seem saner than kernels that oops or\npanic.  Until we get the arch specific patches for the problem\narchitectures this probably isn\u0027t smart to push into the stable kernel.\nUnfortunately I don\u0027t have the time at the moment to walk through every\narchitecture and make them work.  And even if I did I couldn\u0027t test it :(\n\nFrom: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\n\n    Add pm_power_off() for build fix of arch/m32r/kernel/process.c.\n\nFrom: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\n\n    UML build fix\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Hayato Fujiwara \u003cfujiwara@linux-m32r.org\u003e\nSigned-off-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "729b4d4ce1982c52040bbf22d6711cdf8db07ad8",
      "tree": "1ae8b12dcbcd17c364f2df28db8ab3db9c8b89a2",
      "parents": [
        "7116317dc9148d783846299fc80a7d377baa6dca"
      ],
      "author": {
        "name": "Alexey Starikovskiy",
        "email": "alexey.y.starikovskiy@intel.com",
        "time": "Thu Dec 01 04:29:00 2005 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Dec 15 13:28:14 2005 -0500"
      },
      "message": "[ACPI] fix reboot upon suspend-to-disk\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d4320\n\nSigned-off-by: Alexey Starikovskiy \u003calexey.y.starikovskiy@intel.com\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "00d7c05ab168c10f9b520e07400923267bc04419",
      "tree": "5899743965a801e34e7dc6bfe59dba20ba023540",
      "parents": [
        "cda315aba34ff4fb66bbb2945b723688f3414a75"
      ],
      "author": {
        "name": "Keshavamurthy Anil S",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Mon Dec 12 00:37:33 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Dec 12 08:57:45 2005 -0800"
      },
      "message": "[PATCH] kprobes: no probes on critical path\n\nFor Kprobes critical path is the path from debug break exception handler\ntill the control reaches kprobes exception code.  No probes can be\nsupported in this path as we will end up in recursion.\n\nThis patch prevents this by moving the below function to safe __kprobes\nsection onto which no probes can be inserted.\n\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "393b07258766130146b962bc294d66615a47468a",
      "tree": "dd65ab16725baaa2fb2b3029b2e9bc540d346ceb",
      "parents": [
        "a46699c9a32505cb5bbfd16f76e7d4a2c84a7705"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Nov 10 12:47:50 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Nov 10 12:47:50 2005 -0800"
      },
      "message": "[SPARC64]: Re-export uts_sem for solaris compat module.\n\nRevert: b26b9bc58263acda274f82a9dde8b6d96559878a\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b26b9bc58263acda274f82a9dde8b6d96559878a",
      "tree": "edbd7974e2287db0b794b1221e6f294405c7e8d9",
      "parents": [
        "4664957b8ec78533f542900cecf7c38fbdc0d8da"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Nov 07 01:01:43 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:54:07 2005 -0800"
      },
      "message": "[PATCH] unexport uts_sem\n\nI didn\u0027t find any possible modular usage in the kernel.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b8887e6e8c04bcefb512cdb08fc7e9c310ac847e",
      "tree": "f8dcfee2314ad0c1998e70449fdd814e675cf90a",
      "parents": [
        "1e5d533142c1c178a31d4cc81837eb078f9269bc"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Mon Nov 07 01:01:07 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:55 2005 -0800"
      },
      "message": "[PATCH] kernel-docs: fix kernel-doc format problems\n\nConvert to proper kernel-doc format.\n\nSome have extra blank lines (not allowed immed.  after the function name)\nor need blank lines (after all parameters).  Function summary must be only\none line.\n\nColon (\":\") in a function description does weird things (causes kernel-doc\nto think that it\u0027s a new section head sadly).\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e5d533142c1c178a31d4cc81837eb078f9269bc",
      "tree": "7708cc8667035ad7903f3c2c617a54240f2d6e77",
      "parents": [
        "8a0d4900697f2d615a77cd99585e743c1af555a3"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Mon Nov 07 01:01:06 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:55 2005 -0800"
      },
      "message": "[PATCH] more kernel-doc cleanups, additions\n\nVarious core kernel-doc cleanups:\n- add missing function parameters in ipc, irq/manage, kernel/sys,\n  kernel/sysctl, and mm/slab;\n- move description to just above function for kernel_restart()\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9f46080c41d5f3f7c00b4e169ba4b0b2865258bf",
      "tree": "e2c029ef7f0cd5fb8ea9b78db3f7be5badaf59b1",
      "parents": [
        "49364ce2534418462d681ad99e52e79a00b0f40b"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Mon Nov 07 00:59:16 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:35 2005 -0800"
      },
      "message": "[PATCH] Process Events Connector\n\nThis patch adds a connector that reports fork, exec, id change, and exit\nevents for all processes to userspace.  It replaces the fork_advisor patch\nthat ELSA is currently using.  Applications that may find these events\nuseful include accounting/auditing (e.g.  ELSA), system activity monitoring\n(e.g.  top), security, and resource management (e.g.  CKRM).\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e4c94330e3395ae87451bded2840a25d04f27902",
      "tree": "860c6a1070492cb2fa8cc5847a366b1841f8c6a5",
      "parents": [
        "0678e5feaab8b359b18858e8532bb6017edb112b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Sep 22 21:43:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Sep 22 22:17:33 2005 -0700"
      },
      "message": "[PATCH] reboot: comment and factor the main reboot functions\n\nIn the lead up to 2.6.13 I fixed a large number of reboot problems by\nmaking the calling conventions consistent.  Despite checking and double\nchecking my work it appears I missed an obvious one.\n\nThis first patch simply refactors the reboot routines so all of the\npreparation for various kinds of reboots are in their own functions.\nMaking it very hard to get the various kinds of reboot out of sync.\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": "2030c0fd3db3332378f95f479c286181e3920644",
      "tree": "3e281950e61e4659c0ca2cb04e63aa8d510013b8",
      "parents": [
        "afeda2c24e74cbddde376e06fdd82c215f9cb637"
      ],
      "author": {
        "name": "Michael Kerrisk",
        "email": "mtk-lkml@gmx.net",
        "time": "Fri Sep 16 19:28:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 17 11:50:01 2005 -0700"
      },
      "message": "[PATCH] PR_GET_DUMPABLE returns incorrect info\n\n2.6.13 incorporated Alan Cox\u0027s patch for /proc/sys/fs/suid_dumpable (one\nversion of this patch can be found here\nhttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d109647550421014\u0026w\u003d2 ).\n\nThis patch also made corresponding changes in kernel/sys.c to change the\nprctl() PR_SET_DUMPABLE operation so that the permitted range of \u0027arg2\u0027 was\nmodified from 0..1 to 0..2.\n\nHowever, a corresponding change was not made for PR_GET_DUMPABLE: if the\ndumpable flag is non-zero, then PR_GET_DUMPABLE always returns 1, so that\nthe caller can\u0027t determine the true setting of this flag.\n\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0730ded5be28653675ed314fdd878b8db5f88aa4",
      "tree": "e224523373424f4402b70d351caa48e94133a9ab",
      "parents": [
        "5acd57936c3224fd86e838201e528e0169373e9b"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Sep 06 15:17:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:32 2005 -0700"
      },
      "message": "[PATCH] remove a redundant variable in sys_prctl()\n\nThe patch removes a redundant variable `sig\u0027 from sys_prctl().\n\nFor some reason, when sys_prctl is called with option \u003d\u003d PR_SET_PDEATHSIG\nthen the value of arg2 is assigned to an int variable named sig.  Then sig\nis tested with valid_signal() and later used to set the value of\ncurrent-\u003epdeath_signal .\n\nThere is no reason to use this intermediate variable since valid_signal()\ntakes a unsigned long argument, so it can handle being passed arg2\ndirectly, and if the call to valid_signal is OK, then we know the value of\narg2 is in the range zero to _NSIG and thus it\u0027ll easily fit in a plain int\nand thus there\u0027s no problem assigning it later to current-\u003epdeath_signal\n(which is an int).\n\nThe patch gets rid of the pointless variable `sig\u0027.\nThis reduces the size of kernel/sys.o in 2.6.13-rc6-mm1 by 32 bytes on my\nsystem.\n\nPatch has been compile tested, boot tested, and just to make damn sure I\ndidn\u0027t break anything I wrote a quick test app that calls\nprctl(PR_SET_PDEATHSIG ...) with the entire range of values for a\nunsigned long, and it behaves as expected with and without the patch.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c36f19e02a96488f550fdb678c92500afca3109b",
      "tree": "b446faa5bd5a0e506b20def0e5f0a1f210dce30a",
      "parents": [
        "d95a1b4818f2fe38a3cfc9a7d5817dc9a1a69329"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 04 11:36:26 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Aug 04 08:20:47 2005 -0700"
      },
      "message": "[PATCH] Remove suspend() calls from shutdown path\n\nThis removes the calls to device_suspend() from the shutdown path that\nwere added sometime during 2.6.13-rc*.  They aren\u0027t working properly on\na number of configs (I got reports from both ppc powerbook users and x86\nusers) causing the system to not shutdown anymore.\n\nI think it isn\u0027t the right approach at the moment anyway.  We have\nalready a shutdown() callback for the drivers that actually care about\nshutdown and the suspend() code isn\u0027t yet in a good enough shape to be\nso much generalized.  Also, the semantics of suspend and shutdown are\nslightly different on a number of setups and the way this was patched in\nprovides little way for drivers to cleanly differenciate.  It should\nhave been at least a different message.\n\nFor 2.6.13, I think we should revert to 2.6.12 behaviour and have a\nworking suspend back.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1108bae41e2ac596f46bc4cd8876b93063203d2b",
      "tree": "dafda7d00016ab17d34e7a83239c35b6b682812a",
      "parents": [
        "d6d2a2ab05da6e44bd127fe375078bb7c36a0ad0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Jul 29 12:50:57 2005 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 29 12:02:09 2005 -0700"
      },
      "message": "[PATCH] reboot: remove device_suspend(PMSG_FREEZE) from kernel_kexec\n\nIf device_suspend(PMSG_FREEZE) is not ready to be called in\nkernel_restart it is definitely not ready to be called in the even more\nfickle kernel_kexec.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e4ff4d7f9d85a2bc714307eb9113617182e62845",
      "tree": "845bea10c10850e6bd842367aafddca66ca24a06",
      "parents": [
        "49302d0c42592b37f49ae96e0f06a3599cf5a8a0"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Jul 27 10:41:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:46:37 2005 -0700"
      },
      "message": "[PATCH] Avoid device suspend on reboot\n\nMy fairly ordinary x86 test box gets stuck during reboot on the\nwait_for_completion() in ide_do_drive_cmd():\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7c9034735eccbf82608a4602c59aaf6053ea9416",
      "tree": "219e8cd4b5cfffeb261f42a2bd8e512be19cba40",
      "parents": [
        "abcd9e51f5b832439b119d530db1353c12fd4073"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 26 11:29:55 2005 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 14:35:41 2005 -0700"
      },
      "message": "[PATCH] Add emergency_restart()\n\nWhen the kernel is working well and we want to restart cleanly\nkernel_restart is the function to use.   But in many instances\nthe kernel wants to reboot when thing are expected to be working\nvery badly such as from panic or a software watchdog handler.\n\nThis patch adds the function emergency_restart() so that\ncallers can be clear what semantics they expect when calling\nrestart.  emergency_restart() is expected to be callable\nfrom interrupt context and possibly reliable in even more\ntrying circumstances.\n\nThis is an initial generic implementation for all architectures.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "abcd9e51f5b832439b119d530db1353c12fd4073",
      "tree": "27ea8acee7a35021e399cafb80f4a4a57a1688e4",
      "parents": [
        "4a00ea1e18228e5ef99d4780671fda97226bda30"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 26 11:27:34 2005 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 14:35:41 2005 -0700"
      },
      "message": "[PATCH] Make ctrl_alt_del call kernel_restart to get a proper reboot.\n\nIt is obvious we wanted to call kernel_restart here\nbut since we don\u0027t have it the code was expanded inline and hasn\u0027t\nbeen correct since sometime in 2.4.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "4a00ea1e18228e5ef99d4780671fda97226bda30"
}
