)]}'
{
  "log": [
    {
      "commit": "3790ee4bd86396558eedd86faac1052cb782e4e1",
      "tree": "b5e3142205713d37d23003233352ee7221947c1a",
      "parents": [
        "d84248bf46582a406116c55b94405c05193773b1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Dec 10 15:49:36 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 10 19:43:55 2007 -0800"
      },
      "message": "proc: remove/Fix proc generic d_revalidate\n\nUltimately to implement /proc perfectly we need an implementation of\nd_revalidate because files and directories can be removed behind the back\nof the VFS, and d_revalidate is the only way we can let the VFS know that\nthis has happened.\n\nUnfortunately the linux VFS can not cope with anything in the path to a\nmount point going away.  So a proper d_revalidate method that calls d_drop\nalso needs to call have_submounts which is moderately expensive, so you\nreally don\u0027t want a d_revalidate method that unconditionally calls it, but\ninstead only calls it when the backing object has really gone away.\n\nproc generic entries only disappear on module_unload (when not counting the\nfledgling network namespace) so it is quite rare that we actually encounter\nthat case and has not actually caused us real world trouble yet.\n\nSo until we get a proper test for keeping dentries in the dcache fix the\ncurrent d_revalidate method by completely removing it.  This returns us to\nthe current status quo.\n\nSo with CONFIG_NETNS\u003dn things should look as they have always looked.\n\nFor CONFIG_NETNS\u003dy things work most of the time but there are a few rare\ncorner cases that don\u0027t behave properly.  As the network namespace is\nbarely present in 2.6.24 this should not be a problem.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"Denis V. Lunev\" \u003cden@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a622f2d0f86b316b07b55a4866ecb5518dd1cf7",
      "tree": "f89bb875b5b440dced320336db6cac24b9e4d8b7",
      "parents": [
        "d4beaf4ab5f89496f2bcf67db62ad95d99bfeff6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Dec 04 23:45:28 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "proc: fix proc_dir_entry refcounting\n\nCreating PDEs with refcount 0 and \"deleted\" flag has problems (see below).\nSwitch to usual scheme:\n* PDE is created with refcount 1\n* every de_get does +1\n* every de_put() and remove_proc_entry() do -1\n* once refcount reaches 0, PDE is freed.\n\nThis elegantly fixes at least two following races (both observed) without\nintroducing new locks, without abusing old locks, without spreading\nlock_kernel():\n\n1) PDE leak\n\nremove_proc_entry\t\t\tde_put\n-----------------\t\t\t------\n\t\t\t[refcnt \u003d 1]\nif (atomic_read(\u0026de-\u003ecount) \u003d\u003d 0)\n\t\t\t\t\tif (atomic_dec_and_test(\u0026de-\u003ecount))\n\t\t\t\t\t\tif (de-\u003edeleted)\n\t\t\t\t\t\t\t/* also not taken! */\n\t\t\t\t\t\t\tfree_proc_entry(de);\nelse\n\tde-\u003edeleted \u003d 1;\n\t\t[refcount\u003d0, deleted\u003d1]\n\n2) use after free\n\nremove_proc_entry\t\t\tde_put\n-----------------\t\t\t------\n\t\t\t[refcnt \u003d 1]\n\n\t\t\t\t\tif (atomic_dec_and_test(\u0026de-\u003ecount))\nif (atomic_read(\u0026de-\u003ecount) \u003d\u003d 0)\n\tfree_proc_entry(de);\n\t\t\t\t\t\t/* boom! */\n\t\t\t\t\t\tif (de-\u003edeleted)\n\t\t\t\t\t\t\tfree_proc_entry(de);\n\nBUG: unable to handle kernel paging request at virtual address 6b6b6b6b\nprinting eip: c10acdda *pdpt \u003d 00000000338f8001 *pde \u003d 0000000000000000\nOops: 0000 [#1] PREEMPT SMP\nModules linked in: af_packet ipv6 cpufreq_ondemand loop serio_raw psmouse k8temp hwmon sr_mod cdrom\nPid: 23161, comm: cat Not tainted (2.6.24-rc2-8c0863403f109a43d7000b4646da4818220d501f #4)\nEIP: 0060:[\u003cc10acdda\u003e] EFLAGS: 00210097 CPU: 1\nEIP is at strnlen+0x6/0x18\nEAX: 6b6b6b6b EBX: 6b6b6b6b ECX: 6b6b6b6b EDX: fffffffe\nESI: c128fa3b EDI: f380bf34 EBP: ffffffff ESP: f380be44\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\nProcess cat (pid: 23161, ti\u003df380b000 task\u003df38f2570 task.ti\u003df380b000)\nStack: c10ac4f0 00000278 c12ce000 f43cd2a8 00000163 00000000 7da86067 00000400\n       c128fa20 00896b18 f38325a8 c128fe20 ffffffff 00000000 c11f291e 00000400\n       f75be300 c128fa20 f769c9a0 c10ac779 f380bf34 f7bfee70 c1018e6b f380bf34\nCall Trace:\n [\u003cc10ac4f0\u003e] vsnprintf+0x2ad/0x49b\n [\u003cc10ac779\u003e] vscnprintf+0x14/0x1f\n [\u003cc1018e6b\u003e] vprintk+0xc5/0x2f9\n [\u003cc10379f1\u003e] handle_fasteoi_irq+0x0/0xab\n [\u003cc1004f44\u003e] do_IRQ+0x9f/0xb7\n [\u003cc117db3b\u003e] preempt_schedule_irq+0x3f/0x5b\n [\u003cc100264e\u003e] need_resched+0x1f/0x21\n [\u003cc10190ba\u003e] printk+0x1b/0x1f\n [\u003cc107c8ad\u003e] de_put+0x3d/0x50\n [\u003cc107c8f8\u003e] proc_delete_inode+0x38/0x41\n [\u003cc107c8c0\u003e] proc_delete_inode+0x0/0x41\n [\u003cc1066298\u003e] generic_delete_inode+0x5e/0xc6\n [\u003cc1065aa9\u003e] iput+0x60/0x62\n [\u003cc1063c8e\u003e] d_kill+0x2d/0x46\n [\u003cc1063fa9\u003e] dput+0xdc/0xe4\n [\u003cc10571a1\u003e] __fput+0xb0/0xcd\n [\u003cc1054e49\u003e] filp_close+0x48/0x4f\n [\u003cc1055ee9\u003e] sys_close+0x67/0xa5\n [\u003cc10026b6\u003e] sysenter_past_esp+0x5f/0x85\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nCode: c9 74 0c f2 ae 74 05 bf 01 00 00 00 4f 89 fa 5f 89 d0 c3 85 c9 57 89 c7 89 d0 74 05 f2 ae 75 01 4f 89 f8 5f c3 89 c1 89 c8 eb 06 \u003c80\u003e 38 00 74 07 40 4a 83 fa ff 75 f4 29 c8 c3 90 90 90 57 83 c9\nEIP: [\u003cc10acdda\u003e] strnlen+0x6/0x18 SS:ESP 0068:f380be44\n\nAlso, remove broken usage of -\u003edeleted from reiserfs: if sget() succeeds,\nmodule is already pinned and remove_proc_entry() can\u0027t happen \u003d\u003e nobody\ncan mark PDE deleted.\n\nDummy proc root in netns code is not marked with refcount 1. AFAICS, we\nnever get it, it\u0027s just for proper /proc/net removal. I double checked\nCLONE_NETNS continues to work.\n\nPatch survives many hours of modprobe/rmmod/cat loops without new bugs\nwhich can be attributed to refcounting.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\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": "8002cedc1adbf51e2d56091534ef7551b88329b4",
      "tree": "2c65c82b2b5300eac581a0ee794d98f0b61593b6",
      "parents": [
        "e87cb5db0dc357473ac71801051954ddd6ff604f",
        "d523a328fb0271e1a763e985a21f2488fd816e7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 03 08:15:36 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 03 08:15:36 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/net-2.6: (27 commits)\n  [INET]: Fix inet_diag dead-lock regression\n  [NETNS]: Fix /proc/net breakage\n  [TEXTSEARCH]: Do not allow zero length patterns in the textsearch infrastructure\n  [NETFILTER]: fix forgotten module release in xt_CONNMARK and xt_CONNSECMARK\n  [NETFILTER]: xt_TCPMSS: remove network triggerable WARN_ON\n  [DECNET]: dn_nl_deladdr() almost always returns no error\n  [IPV6]: Restore IPv6 when MTU is big enough\n  [RXRPC]: Add missing select on CRYPTO\n  mac80211: rate limit wep decrypt failed messages\n  rfkill: fix double-mutex-locking\n  mac80211: drop unencrypted frames if encryption is expected\n  mac80211: Fix behavior of ieee80211_open and ieee80211_close\n  ieee80211: fix unaligned access in ieee80211_copy_snap\n  mac80211: free ifsta-\u003eextra_ie and clear IEEE80211_STA_PRIVACY_INVOKED\n  SCTP: Fix build issues with SCTP AUTH.\n  SCTP: Fix chunk acceptance when no authenticated chunks were listed.\n  SCTP: Fix the supported extensions paramter\n  SCTP: Fix SCTP-AUTH to correctly add HMACS paramter.\n  SCTP: Fix the number of HB transmissions.\n  [TCP] illinois: Incorrect beta usage\n  ...\n"
    },
    {
      "commit": "2b1e300a9dfc3196ccddf6f1d74b91b7af55e416",
      "tree": "3181bf4f2c27d185c78b26642f35ed00cb280943",
      "parents": [
        "e03ba84adb62fbc6049325a5bc00ef6932fa5e39"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Dec 02 00:33:17 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Dec 02 00:33:17 2007 +1100"
      },
      "message": "[NETNS]: Fix /proc/net breakage\n\nWell I clearly goofed when I added the initial network namespace support\nfor /proc/net.  Currently things work but there are odd details visible to\nuser space, even when we have a single network namespace.\n\nSince we do not cache proc_dir_entry dentries at the moment we can just\nmodify -\u003elookup to return a different directory inode depending on the\nnetwork namespace of the process looking at /proc/net, replacing the\ncurrent technique of using a magic and fragile follow_link method.\n\nTo accomplish that this patch:\n- introduces a shadow_proc method to allow different dentries to\n  be returned from proc_lookup.\n- Removes the old /proc/net follow_link magic\n- Fixes a weakness in our not caching of proc generic dentries.\n\nAs shadow_proc uses a task struct to decided which dentry to return we can\ngo back later and fix the proc generic caching without modifying any code\nthat uses the shadow_proc method.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "19fd4bb2a0cfede054e4904e0b167e0ca4f36cc7",
      "tree": "e37d0ee2c7ea08f6d8721a4e9e807f85994b608a",
      "parents": [
        "c895078355b6b6e05c60aa205892526dd3390f0a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 28 16:21:26 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:52 2007 -0800"
      },
      "message": "proc: remove races from proc_id_readdir()\n\nOleg noticed that the call of task_pid_nr_ns() in proc_pid_readdir\nis racy with respect to tasks exiting.\n\nAfter a bit of examination it also appears that the call itself\nis completely unnecessary.\n\nSo to fix the problem this patch modifies next_tgid() to return\nboth a tgid and the task struct in question.\n\nA structure is introduced to return these values because it is\nslightly cleaner and easier to optimize, and the resulting code\nis a little shorter.\n\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c2319540cd7330fa9066e5b9b84d357a2c8631a2",
      "tree": "e63a0aeae5a9951a9cbc705fdb48eecc7ec62110",
      "parents": [
        "a7839e960675b549f06209d18283d5cee2ce9261"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Wed Nov 28 16:21:23 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:52 2007 -0800"
      },
      "message": "proc: fix NULL -\u003ei_fop oops\n\nproc_kill_inodes() can clear -\u003ei_fop in the middle of vfs_readdir resulting in\nNULL dereference during \"file-\u003ef_op-\u003ereaddir(file, buf, filler)\".\n\nThe solution is to remove proc_kill_inodes() completely:\n\na) we don\u0027t have tricky modules implementing their tricky readdir hooks which\n   could keeping this revoke from hell.\n\nb) In a situation when module is gone but PDE still alive, standard\n   readdir will return only \".\" and \"..\", because pde-\u003enext was cleared by\n   remove_proc_entry().\n\nc) the race proc_kill_inode() destined to prevent is not completely\n   fixed, just race window made smaller, because vfs_readdir() is run\n   without sb_lock held and without file_list_lock held.  Effectively,\n   -\u003ei_fop is cleared at random moment, which can\u0027t fix properly anything.\n\nBUG: unable to handle kernel NULL pointer dereference at virtual address 00000018\nprinting eip: c1061205 *pdpt \u003d 0000000005b22001 *pde \u003d 0000000000000000\nOops: 0000 [#1] PREEMPT SMP\nModules linked in: foo af_packet ipv6 cpufreq_ondemand loop serio_raw sr_mod k8temp cdrom hwmon amd_rng\nPid: 2033, comm: find Not tainted (2.6.24-rc1-b1d08ac064268d0ae2281e98bf5e82627e0f0c56 #2)\nEIP: 0060:[\u003cc1061205\u003e] EFLAGS: 00010246 CPU: 0\nEIP is at vfs_readdir+0x47/0x74\nEAX: c6b6a780 EBX: 00000000 ECX: c1061040 EDX: c5decf94\nESI: c6b6a780 EDI: fffffffe EBP: c9797c54 ESP: c5decf78\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\nProcess find (pid: 2033, ti\u003dc5dec000 task\u003dc64bba90 task.ti\u003dc5dec000)\nStack: c5decf94 c1061040 fffffff7 0805ffbc 00000000 c6b6a780 c1061295 0805ffbc\n       00000000 00000400 00000000 00000004 0805ffbc 4588eff4 c5dec000 c10026ba\n       00000004 0805ffbc 00000400 0805ffbc 4588eff4 bfdc6c70 000000dc 0000007b\nCall Trace:\n [\u003cc1061040\u003e] filldir64+0x0/0xc5\n [\u003cc1061295\u003e] sys_getdents64+0x63/0xa5\n [\u003cc10026ba\u003e] sysenter_past_esp+0x5f/0x85\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nCode: 49 83 78 18 00 74 43 8d 6b 74 bf fe ff ff ff 89 e8 e8 b8 c0 12 00 f6 83 2c 01 00 00 10 75 22 8b 5e 10 8b 4c 24 04 89 f0 8b 14 24 \u003cff\u003e 53 18 f6 46 1a 04 89 c7 75 0b 8b 56 0c 8b 46 08 e8 c8 66 00\nEIP: [\u003cc1061205\u003e] vfs_readdir+0x47/0x74 SS:ESP 0068:c5decf78\n\nhch: \"Nice, getting rid of this is a very good step formwards.\n      Unfortunately we have another copy of this junk in\n      security/selinux/selinuxfs.c:sel_remove_entries() which would need the\n      same treatment.\"\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\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": "08e4570a4a393bcc241f78dfc444cb0b07995fc0",
      "tree": "e151f5d5ae0e9cb361e91a08c4d0fb8a7171b8ce",
      "parents": [
        "5e8869bb699d50be5c0733edfc71cfcd5b43e10a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 26 21:21:49 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 26 21:21:49 2007 +0100"
      },
      "message": "sched: fix prev_stime calculation\n\nSrivatsa Vaddagiri noticed occasionally incorrect CPU usage\nvalues in top and tracked it down to stime going below 0 in\ntask_stime(). Negative values are possible there due to the\nsampled nature of stime/utime.\n\nFix suggested by Balbir Singh.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nReviewed-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "9fcc2d15b14894aa53e5e8b7fd5d6e3ca558e5df",
      "tree": "bc58ea7711b0a51c5b810ca1320fed53ed201772",
      "parents": [
        "c0f2a9d75aed1a4be40c3975b94fd39066bd11bb"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 14 17:00:07 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:42 2007 -0800"
      },
      "message": "proc: simplify and correct proc_flush_task\n\nCurrently we special case when we have only the initial pid namespace.\nUnfortunately in doing so the copied case for the other namespaces was\nbroken so we don\u0027t properly flush the thread directories :(\n\nSo this patch removes the unnecessary special case (removing a usage of\nproc_mnt) and corrects the flushing of the thread directories.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1a1c997afe907e6ec4799e4be0f38cffd8b418c",
      "tree": "3c1154a95c0a44a1015f3bfeb7e73d19024924cb",
      "parents": [
        "7105458563213b6f6fb523065474cfe1d6c22a67"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 14 16:59:08 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:38 2007 -0800"
      },
      "message": "proc: fix proc_kill_inodes to kill dentries on all proc superblocks\n\nIt appears we overlooked support for removing generic proc files\nwhen we added support for multiple proc super blocks.  Handle\nthat now.\n\n[akpm@linux-foundation.org: coding-style cleanups]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nAcked-by: 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": "022cbae611a37eda80d498f8f379794c8ac3be47",
      "tree": "c6fe8fe45748127c916d32ec97601c435065d5cb",
      "parents": [
        "ed160e839d2e1118529e58b04d52dba703ca629c"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Nov 13 03:23:50 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 13 03:23:50 2007 -0800"
      },
      "message": "[NET]: Move unneeded data to initdata section.\n\nThis patch reverts Eric\u0027s commit 2b008b0a8e96b726c603c5e1a5a7a509b5f61e35\n\nIt diets .text \u0026 .data section of the kernel if CONFIG_NET_NS is not set.\nThis is safe after list operations cleanup.\n\nSigned-of-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44656ba1286d82b5a5f8817eb2e4ea744143c3ca",
      "tree": "930e4ba8b30618eb58b4123f676120573e0be18c",
      "parents": [
        "33120b30cc3b8665204d4fcde7288638b0dd04d5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:10:52 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:10:52 2007 -0800"
      },
      "message": "[NET]: Kill proc_net_create()\n\nThere are no more users.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9301899be75b464ef097f0b5af7af6d9bd8f68a7",
      "tree": "a7053c5c0babcdbad6d4baff0551d60e5c4308af",
      "parents": [
        "82798a17ad40df827d465329a20ace80497f9b32"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Tue Oct 30 00:26:32 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 30 00:26:32 2007 +0100"
      },
      "message": "sched: fix /proc/\u003cPID\u003e/stat stime/utime monotonicity, part 2\n\nExtend Peter\u0027s patch to fix accounting issues, by keeping stime\nmonotonic too.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Frans Pop \u003celendil@planet.nl\u003e\n"
    },
    {
      "commit": "73a2bcb0edb9ffb0b007b3546b430e2c6e415eee",
      "tree": "dd84f61589c7dd21b7be973c288611ffe547f21b",
      "parents": [
        "f7402e0361d4472535e07cfca648f2fa81d85cd2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Oct 29 21:18:11 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 29 21:18:11 2007 +0100"
      },
      "message": "sched: keep utime/stime monotonic\n\nkeep utime/stime monotonic.\n\ncpustats use utime/stime as a ratio against sum_exec_runtime, as a\nconsequence it can happen - when the ratio changes faster than time\naccumulates - that either can be appear to go backwards.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b008b0a8e96b726c603c5e1a5a7a509b5f61e35",
      "tree": "80d71a763d3e8365805203cf22093783e64e1bbc",
      "parents": [
        "72998d8c84247817c4b8b05b0256f29453e435f5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Oct 26 22:54:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 22:54:53 2007 -0700"
      },
      "message": "[NET]: Marking struct pernet_operations __net_initdata was inappropriate\n\nIt is not safe to to place struct pernet_operations in a special section.\nWe need struct pernet_operations to last until we call unregister_pernet_subsys.\nWhich doesn\u0027t happen until module unload.\n\nSo marking struct pernet_operations is a disaster for modules in two ways.\n- We discard it before we call the exit method it points to.\n- Because I keep struct pernet_operations on a linked list discarding\n  it for compiled in code removes elements in the middle of a linked\n  list and does horrible things for linked insert.\n\nSo this looks safe assuming __exit_refok is not discarded\nfor modules.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "253879e62f997d0027500f4b71ef290f37e306ee",
      "tree": "dd73852dbfd21f7f162f71f36cce24d25d785289",
      "parents": [
        "c8d90dca3211966ba5189e0f3d4bccd558d9ae08"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 26 03:55:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 03:55:44 2007 -0700"
      },
      "message": "[NET] fs/proc/proc_net.c: make a struct static\n\nStruct proc_net_ns_ops can become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a2da53b181bdafcdecb43c457735ee2892ae885",
      "tree": "34f3a05c5db9f2b4d1b911316d97a363b5152e9f",
      "parents": [
        "de48844398f81cfdf087d56e12c920d620dae8d5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 25 15:27:40 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 25 15:16:49 2007 -0700"
      },
      "message": "Fix pointer mismatches in proc_sysctl.c\n\nFix pointer mismatches in proc_sysctl.c.  The proc_handler() method returns a\nsize_t through an arg pointer, but is given a pointer to a ssize_t to return\ninto.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0895e91d60ef9bdef426d1ce14bb94bd5875870d",
      "tree": "9ca0dbc19cf72a95977253af606a4311cc8e9403",
      "parents": [
        "481968f44e81aac3b1b4863baf2c497ec46388f6"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun Oct 21 21:00:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 19:40:02 2007 -0700"
      },
      "message": "procfs: fix kernel-doc param warnings\n\nFix mnt_flush_task() misplaced kernel-doc.\nFix typos in some of the doc text.\n\nWarning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter \u0027mnt\u0027\nWarning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter \u0027pid\u0027\nWarning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter \u0027tgid\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec2626815bf9a9922e49820b03e670e833f3ca3c",
      "tree": "c1d6ff9559a62c5636adaae7a6c7cac397762f42",
      "parents": [
        "0a4908e19fd016d60403fc76cf38b2d08d21e2d2",
        "f9e26291be31cb494c1845e356daba84b39ab059"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 12:07:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 12:07:03 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:\n  sched: fix guest time accounting going faster than user time accounting\n"
    },
    {
      "commit": "457c25107b83bc6456b3a18a25511418dc25da69",
      "tree": "608586f887981c72d5bdf2ca1c390dbd624b4456",
      "parents": [
        "19c5870c0eefd27c6d09d867465e0571262e05d0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Remove unused variables from fs/proc/base.c\n\nWhen removing the explicit task_struct-\u003epid usage I found that\nproc_readfd_common() and proc_pident_readdir() get this field, but do not\nuse it at all.  So this cleanup is a cheap help with the task_struct-\u003epid\nisolation.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "270f722d4d5f94b02fd48eed47e57917ab00a858",
      "tree": "f6f58a0730c8968d2b4b983965b4409761616ab2",
      "parents": [
        "d85f50d5e1aa99ab082035f94265847521819e58"
      ],
      "author": {
        "name": "Eugene Teo",
        "email": "eugeneteo@kernel.sg",
        "time": "Thu Oct 18 23:40:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:42 2007 -0700"
      },
      "message": "Fix tsk-\u003eexit_state usage\n\ntsk-\u003eexit_state can only be 0, EXIT_ZOMBIE, or EXIT_DEAD.  A non-zero test\nis the same as tsk-\u003eexit_state \u0026 (EXIT_ZOMBIE | EXIT_DEAD), so just testing\ntsk-\u003eexit_state is sufficient.\n\nSigned-off-by: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nCc: Roland McGrath \u003croland@redhat.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": "d85f50d5e1aa99ab082035f94265847521819e58",
      "tree": "e0c96611352d760dfa54199e706fc76ce8975871",
      "parents": [
        "14ed9d23aa9acd79210a92ac561a728b42a8e281"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu Oct 18 23:40:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:42 2007 -0700"
      },
      "message": "proc: export a processes resource limits via /proc/pid\n\nCurrently, there exists no method for a process to query the resource\nlimits of another process.  They can be inferred via some mechanisms but\nthey cannot be explicitly determined.  Given that this information can be\nusefull to know during the debugging of an application, I\u0027ve written this\npatch which exports all of a processes limits via /proc/\u003cpid\u003e/limits.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bac0abd6174e427404dd197cdbefece31e97329b",
      "tree": "68ed6bd8619552c921c9fb99e83cb04fcb235a39",
      "parents": [
        "19b9b9b54e5f115907efd56be2c3799775a46561"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "Isolate some explicit usage of task-\u003etgid\n\nWith pid namespaces this field is now dangerous to use explicitly, so hide\nit behind the helpers.\n\nAlso the pid and pgrp fields o task_struct and signal_struct are to be\ndeprecated.  Unfortunately this patch cannot be sent right now as this\nleads to tons of warnings, so start isolating them, and deprecate later.\n\nActually the p-\u003etgid \u003d\u003d pid has to be changed to has_group_leader_pid(),\nbut Oleg pointed out that in case of posix cpu timers this is the same, and\nthread_group_leader() is more preferable.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b488893a390edfe027bae7a46e9af8083e740668",
      "tree": "c469a7f99ad01005a73011c029eb5e5d15454559",
      "parents": [
        "3eb07c8c8adb6f0572baba844ba2d9e501654316"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "pid namespaces: changes to show virtual ids to user\n\nThis is the largest patch in the set. Make all (I hope) the places where\nthe pid is shown to or get from user operate on the virtual pids.\n\nThe idea is:\n - all in-kernel data structures must store either struct pid itself\n   or the pid\u0027s global nr, obtained with pid_nr() call;\n - when seeking the task from kernel code with the stored id one\n   should use find_task_by_pid() call that works with global pids;\n - when showing pid\u0027s numerical value to the user the virtual one\n   should be used, but however when one shows task\u0027s pid outside this\n   task\u0027s namespace the global one is to be used;\n - when getting the pid from userspace one need to consider this as\n   the virtual one and use appropriate task/pid-searching functions.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: nuther build fix]\n[akpm@linux-foundation.org: yet nuther build fix]\n[akpm@linux-foundation.org: remove unneeded casts]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f4e643353aea52d80f33960bd88954a7c074f0f",
      "tree": "5b7e452f7e31be89f06a52a2c077183b7fe74c3b",
      "parents": [
        "130f77ecb2e7d5ac3e53e620f55e374f4a406b20"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "pid namespaces: initialize the namespace\u0027s proc_mnt\n\nThe namespace\u0027s proc_mnt must be kern_mount-ed to make this pointer always\nvalid, independently of whether the user space mounted the proc or not.  This\nsolves raced in proc_flush_task, etc.  with the proc_mnt switching from NULL\nto not-NULL.\n\nThe initialization is done after the init\u0027s pid is created and hashed to make\nproc_get_sb() finr it and get for root inode.\n\nSice the namespace holds the vfsmnt, vfsmnt holds the superblock and the\nsuperblock holds the namespace we must explicitly break this circle to destroy\nall the stuff.  This is done after the init of the namespace dies.  Running a\nfew steps forward - when init exits it will kill all its children, so no\nproc_mnt will be needed after its death.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "130f77ecb2e7d5ac3e53e620f55e374f4a406b20",
      "tree": "3ae9670713a2f503faee3f77666a10dadbe87920",
      "parents": [
        "30e49c263e36341b60b735cbef5ca37912549264"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: make proc_flush_task() actually from entries from multiple namespaces\n\nThis means that proc_flush_task_mnt() is to be called for many proc mounts and\nwith different ids, depending on the namespace this pid is to be flushed from.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07543f5c75cee744b791cf7716c69571486fe753",
      "tree": "3e0d78f869114e5a6e2629fc157ee8f9023316bd",
      "parents": [
        "425fb2b4bf5dde24be4a82e9a2c344bb49ac92e4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: make proc have multiple superblocks - one for each namespace\n\nEach pid namespace have to be visible through its own proc mount.  Thus we\nneed to have per-namespace proc trees with their own superblocks.\n\nWe cannot easily show different pid namespace via one global proc tree, since\neach pid refers to different tasks in different namespaces.  E.g.  pid 1\nrefers to the init task in the initial namespace and to some other task when\nseeing from another namespace.  Moreover - pid, exisintg in one namespace may\nnot exist in the other.\n\nThis approach has one move advantage is that the tasks from the init namespace\ncan see what tasks live in another namespace by reading entries from another\nproc tree.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "198fe21b0a17fe9c68cb519ecc566534b04f122b",
      "tree": "690825669858d0f458fc137e42adf77cdf370ea4",
      "parents": [
        "7af5729474b5b8ad385adadab78d6e723e7655a3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: helpers to find the task by its numerical ids\n\nWhen searching the task by numerical id on may need to find it using global\npid (as it is done now in kernel) or by its virtual id, e.g.  when sending a\nsignal to a task from one namespace the sender will specify the task\u0027s virtual\nid and we should find the task by this value.\n\n[akpm@linux-foundation.org: fix gfs2 linkage]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60347f6716aa49831ac311e04d77ccdc50dc024a",
      "tree": "82e666fef22f43550da42ad368a61a5e9a59ef96",
      "parents": [
        "8bf9725c29f2589237dd696d06a204230add0ba3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "pid namespaces: prepare proc_flust_task() to flush entries from multiple proc trees\n\nThe first part is trivial - we just make the proc_flush_task() to operate on\narbitrary vfsmount with arbitrary ids and pass the pid and global proc_mnt to\nit.\n\nThe other change is more tricky: I moved the proc_flush_task() call in\nrelease_task() higher to address the following problem.\n\nWhen flushing task from many proc trees we need to know the set of ids (not\njust one pid) to find the dentries\u0027 names to flush.  Thus we need to pass the\ntask\u0027s pid to proc_flush_task() as struct pid is the only object that can\nprovide all the pid numbers.  But after __exit_signal() task has detached all\nhis pids and this information is lost.\n\nThis creates a tiny gap for proc_pid_lookup() to bring some dentries back to\ntree and keep them in hash (since pids are still alive before __exit_signal())\ntill the next shrink, but since proc_flush_task() does not provide a 100%\nguarantee that the dentries will be flushed, this is OK to do so.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf7b708c8d1d7a27736771bcf4c457b332b0f818",
      "tree": "10f80257b052313b283f18ddfe35145882e0b47f",
      "parents": [
        "a6f5e06378970a2687332c2d54046245fcff1e7e"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:39:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "Make access to task\u0027s nsproxy lighter\n\nWhen someone wants to deal with some other taks\u0027s namespaces it has to lock\nthe task and then to get the desired namespace if the one exists.  This is\nslow on read-only paths and may be impossible in some cases.\n\nE.g.  Oleg recently noticed a race between unshare() and the (sent for\nreview in cgroups) pid namespaces - when the task notifies the parent it\nhas to know the parent\u0027s namespace, but taking the task_lock() is\nimpossible there - the code is under write locked tasklist lock.\n\nOn the other hand switching the namespace on task (daemonize) and releasing\nthe namespace (after the last task exit) is rather rare operation and we\ncan sacrifice its speed to solve the issues above.\n\nThe access to other task namespaces is proposed to be performed\nlike this:\n\n     rcu_read_lock();\n     nsproxy \u003d task_nsproxy(tsk);\n     if (nsproxy !\u003d NULL) {\n             / *\n               * work with the namespaces here\n               * e.g. get the reference on one of them\n               * /\n     } / *\n         * NULL task_nsproxy() means that this task is\n         * almost dead (zombie)\n         * /\n     rcu_read_unlock();\n\nThis patch has passed the review by Eric and Oleg :) and,\nof course, tested.\n\n[clg@fr.ibm.com: fix unshare()]\n[ebiederm@xmission.com: Update get_net_ns_by_pid]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2894d650cd9715d00ca196c711265819ef6ebd2d",
      "tree": "dbfe07c3276c2b6aa7d9a4be633da7fa1e12d97b",
      "parents": [
        "baf8f0f82dd79e374bf6fa9e996393df2bae3c21"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu Oct 18 23:39:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: define and use task_active_pid_ns() wrapper\n\nWith multiple pid namespaces, a process is known by some pid_t in every\nancestor pid namespace.  Every time the process forks, the child process also\ngets a pid_t in every ancestor pid namespace.\n\nWhile a process is visible in \u003e\u003d1 pid namespaces, it can see pid_t\u0027s in only\none pid namespace.  We call this pid namespace it\u0027s \"active pid namespace\",\nand it is always the youngest pid namespace in which the process is known.\n\nThis patch defines and uses a wrapper to find the active pid namespace of a\nprocess.  The implementation of the wrapper will be changed in when support\nfor multiple pid namespaces are added.\n\nChangelog:\n\t2.6.22-rc4-mm2-pidns1:\n\t- [Pavel Emelianov, Alexey Dobriyan] Back out the change to use\n\t  task_active_pid_ns() in child_reaper() since task-\u003ensproxy\n\t  can be NULL during task exit (so child_reaper() continues to\n\t  use init_pid_ns).\n\n\t  to implement child_reaper() since init_pid_ns.child_reaper to\n\t  implement child_reaper() since tsk-\u003ensproxy can be NULL during exit.\n\n\t2.6.21-rc6-mm1:\n\t- Rename task_pid_ns() to task_active_pid_ns() to reflect that a\n\t  process can have multiple pid namespaces.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.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: Herbert Poetzel \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "8793d854edbc2774943a4b0de3304dc73991159a",
      "tree": "380b3403a0fedfcce61d9af5af1ffbcc71017abf",
      "parents": [
        "81a6a5cdd2c5cd70874b88afe524ab09e9e869af"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: make cpusets a client of cgroups\n\nRemove the filesystem support logic from the cpusets system and makes cpusets\na cgroup subsystem\n\nThe \"cpuset\" filesystem becomes a dummy filesystem; attempts to mount it get\npassed through to the cgroup filesystem with the appropriate options to\nemulate the old cpuset filesystem behaviour.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a424316ca154317367c7ddf89997d1c80e4a8051",
      "tree": "ed349926c41aad5be6d62c9074ff72a0d9ac32c2",
      "parents": [
        "697f41610863c9264a7ae26dac9a387c9dda8c84"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: add procfs interface\n\nAdd:\n\n/proc/cgroups - general system info\n\n/proc/*/cgroup - per-task cgroup membership info\n\n[a.p.zijlstra@chello.nl: cgroups: bdi init hooks]\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9e26291be31cb494c1845e356daba84b39ab059",
      "tree": "8c64fdbdb0c01aa2b73e41c5aefc06b80254dac2",
      "parents": [
        "4fa4d23fa20de67df919030c1216295664866ad7"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Fri Oct 19 20:52:40 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 19 20:52:40 2007 +0200"
      },
      "message": "sched: fix guest time accounting going faster than user time accounting\n\ncputime_add already adds, dont do it twice.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "315e28c8d61560e90c7d9c7c56c1b661187ab307",
      "tree": "21edcc6d63a5cfb55cadfbfba9f205bb557d343c",
      "parents": [
        "3ad90ec0908e453ba89947fcf7b5f6821b6c1e0c"
      ],
      "author": {
        "name": "James Pearson",
        "email": "james-p@moving-picture.com",
        "time": "Tue Oct 16 23:30:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:00 2007 -0700"
      },
      "message": "Don\u0027t truncate /proc/PID/environ at 4096 characters\n\n/proc/PID/environ currently truncates at 4096 characters, patch based on\nthe /proc/PID/mem code.\n\nSigned-off-by: James Pearson \u003cjames-p@moving-picture.com\u003e\nCc: Anton Arapov \u003caarapov@redhat.com\u003e\nCc: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b47c3611de05c585e2d81204f6c7e3e255a3461",
      "tree": "24a14614fb9bf507b4b6ad3fa6a7cfa5a92318fb",
      "parents": [
        "41d10da3717409de33d5441f2f6d8f072ab3fbb6"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue Oct 16 23:27:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:53 2007 -0700"
      },
      "message": "Fix f_version type: should be u64 instead of unsigned long\n\nFix f_version type: should be u64 instead of long\n\nThere is a type inconsistency between struct inode i_version and struct file\nf_version.\n\nfs.h:\n\nstruct inode\n  u64                     i_version;\n\nand\n\nstruct file\n  unsigned long           f_version;\n\nUsers do:\n\nfs/ext3/dir.c:\n\nif (filp-\u003ef_version !\u003d inode-\u003ei_version) {\n\nSo why isn\u0027t f_version a u64 ? It becomes a problem if versions gets\nhigher than 2^32 and we are on an architecture where longs are 32 bits.\n\nThis patch changes the f_version type to u64, and updates the users accordingly.\n\nIt applies to 2.6.23-rc2-mm2.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f13ef7754f724842dbf5ae6d85d0604fff0d1a84",
      "tree": "cb2b9d5b9bbe9650df9c8a14871302dd6a5e3193",
      "parents": [
        "af49d9248fca6f26cbdb01918334f71d9040df80"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Tue Oct 16 23:26:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:49 2007 -0700"
      },
      "message": "report the per-irq statistics on all arches\n\nCommit 4004c69ad68dd03733179277280ea2946990ba36 avoids too many remote cpu\nreferences while reporting per-irq stats.  Since we will not have the same\nperformance penalty of bringing in remote cpu cachelines while reporting\nper-irq stats anymore, we can now afford to be consistent and report this\nstatistic on all arches, all configs.\n\nakpm: affects ia64, alpha and ppc64, mainly.\n\nKiran earlier said:\n\nRead to /proc/stat takes:\nPlain: \t2.622832\nWith speedup patch: 0.013194\nWith the per-irq stats commented out: 0.008124\n\nSo the performance problems which originally caused those architectures to\ndisable this statistic should now be fixed up.\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87400c04753674f546c7779abf536d2a3b5e0b7e",
      "tree": "7e4707ad13a24add92498290c942d2fe207245bd",
      "parents": [
        "9bf084f70ffde6521d113593b89461a5bd2a303b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Oct 16 23:26:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:48 2007 -0700"
      },
      "message": "fs/proc/mmu.c: headers butchery\n\nfs/proc/mmu.c consists of only one function which uses only:\n1) struct vmalloc_info *\n2) struct vm_struct *\n3) struct vmalloc_info\n4) vmlist\n5) VMALLOC_TOTAL, VMALLOC_START, VMALLOC_END\n6) read_lock, read_unlock\n7) vmlist_lock\n8) struct vm_struct\n\nThis gives us linux/spinlock.h, asm/pgtable.h, \"internal.h\", linux/vmalloc.h.\nasm/pgtable.h uses PKMAP_BASE on i386, for which asm/highmem.h is needed.\nBut, linux/highmem.h is actually used to make it compile everywhere.\nI\u0027ll deal later with this particular i386 surprise.\n\nCross-compile tested on many archs and configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "040b5c6f9503f2d6b35c335f8537bb3035d35547",
      "tree": "71f1693fbcaf9e2a953e66fdf13bbbc20510b60e",
      "parents": [
        "c4f3b63fe15b4629aa1ec163c95ab30423d0f76a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Oct 16 23:26:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:47 2007 -0700"
      },
      "message": "SLAB_PANIC more (proc, posix-timers, shmem)\n\nThese aren\u0027t modular, so SLAB_PANIC is OK.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957",
      "tree": "191b4f45f926e44b882b1e87a9a85dc12230b892",
      "parents": [
        "b811c202a0edadaac7242ab834fe7ba409978ae7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 23:25:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "Slab API: remove useless ctor parameter and reorder parameters\n\nSlab constructors currently have a flags parameter that is never used.  And\nthe order of the arguments is opposite to other slab functions.  The object\npointer is placed before the kmem_cache pointer.\n\nConvert\n\n        ctor(void *object, struct kmem_cache *s, unsigned long flags)\n\nto\n\n        ctor(struct kmem_cache *s, void *object)\n\nthroughout the kernel\n\n[akpm@linux-foundation.org: coupla fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "467c996c1e1910633fa8e7adc9b052aa3ed5f97c",
      "tree": "09e0e70160386be1bdaa12801afddf287e12c8a1",
      "parents": [
        "d9c2340052278d8eb2ffb16b0484f8f794def4de"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Oct 16 01:26:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:00 2007 -0700"
      },
      "message": "Print out statistics in relation to fragmentation avoidance to /proc/pagetypeinfo\n\nThis patch provides fragmentation avoidance statistics via /proc/pagetypeinfo.\n The information is collected only on request so there is no runtime overhead.\n The statistics are in three parts:\n\nThe first part prints information on the size of blocks that pages are\nbeing grouped on and looks like\n\nPage block order: 10\nPages per block:  1024\n\nThe second part is a more detailed version of /proc/buddyinfo and looks like\n\nFree pages count per migrate type at order       0      1      2      3      4      5      6      7      8      9     10\nNode    0, zone      DMA, type    Unmovable      0      0      0      0      0      0      0      0      0      0      0\nNode    0, zone      DMA, type  Reclaimable      1      0      0      0      0      0      0      0      0      0      0\nNode    0, zone      DMA, type      Movable      0      0      0      0      0      0      0      0      0      0      0\nNode    0, zone      DMA, type      Reserve      0      4      4      0      0      0      0      1      0      1      0\nNode    0, zone   Normal, type    Unmovable    111      8      4      4      2      3      1      0      0      0      0\nNode    0, zone   Normal, type  Reclaimable    293     89      8      0      0      0      0      0      0      0      0\nNode    0, zone   Normal, type      Movable      1      6     13      9      7      6      3      0      0      0      0\nNode    0, zone   Normal, type      Reserve      0      0      0      0      0      0      0      0      0      0      4\n\nThe third part looks like\n\nNumber of blocks type     Unmovable  Reclaimable      Movable      Reserve\nNode 0, zone      DMA            0            1            2            1\nNode 0, zone   Normal            3           17           94            4\n\nTo walk the zones within a node with interrupts disabled, walk_zones_in_node()\nis introduced and shared between /proc/buddyinfo, /proc/zoneinfo and\n/proc/pagetypeinfo to reduce code duplication.  It seems specific to what\nvmstat.c requires but could be broken out as a general utility function in\nmmzone.c if there were other other potential users.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e12ba74d8ff3e2f73a583500d7095e406df4d093",
      "tree": "a0d3385b65f0b3e1e00b0bbf11b75e7538a93edb",
      "parents": [
        "c361be55b3128474aa66d31092db330b07539103"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Oct 16 01:25:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:00 2007 -0700"
      },
      "message": "Group short-lived and reclaimable kernel allocations\n\nThis patch marks a number of allocations that are either short-lived such as\nnetwork buffers or are reclaimable such as inode allocations.  When something\nlike updatedb is called, long-lived and unmovable kernel allocations tend to\nbe spread throughout the address space which increases fragmentation.\n\nThis patch groups these allocations together as much as possible by adding a\nnew MIGRATE_TYPE.  The MIGRATE_RECLAIMABLE type is for allocations that can be\nreclaimed on demand, but not moved.  i.e.  they can be migrated by deleting\nthem and re-reading the information from elsewhere.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "541010e4b8921cd781ff02ae68028501457045b6",
      "tree": "58bd529d4c6e69899a0aa20afa2d7f1c23326417",
      "parents": [
        "e457f790d8b05977853aa238bbc667b3bb375671",
        "5e7fc436426b1f9e106f511a049de91c82ec2c53"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 16:07:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 16:07:40 2007 -0700"
      },
      "message": "Merge branch \u0027locks\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027locks\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd: remove IS_ISMNDLCK macro\n  Rework /proc/locks via seq_files and seq_list helpers\n  fs/locks.c: use list_for_each_entry() instead of list_for_each()\n  NFS: clean up explicit check for mandatory locks\n  AFS: clean up explicit check for mandatory locks\n  9PFS: clean up explicit check for mandatory locks\n  GFS2: clean up explicit check for mandatory locks\n  Cleanup macros for distinguishing mandatory locks\n  Documentation: move locks.txt in filesystems/\n  locks: add warning about mandatory locking races\n  Documentation: move mandatory locking documentation to filesystems/\n  locks: Fix potential OOPS in generic_setlease()\n  Use list_first_entry in locks_wake_up_blocks\n  locks: fix flock_lock_file() comment\n  Memory shortage can result in inconsistent flocks state\n  locks: kill redundant local variable\n  locks: reverse order of posix_locks_conflict() arguments\n"
    },
    {
      "commit": "9ac52315d4cf5f561f36dabaf0720c00d3553162",
      "tree": "afe7284f34a65d2540fcb2a9b764834f9d790fa7",
      "parents": [
        "5e84cfde51cf303d368fcb48f22059f37b3872de"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Mon Oct 15 17:00:19 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:19 2007 +0200"
      },
      "message": "sched: guest CPU accounting: add guest-CPU /proc/\u003cpid\u003e/stat fields\n\nlike for cpustat, introduce the \"gtime\" (guest time of the task) and\n\"cgtime\" (guest time of the task children) fields for the\ntasks. Modify signal_struct and task_struct.\n\nModify /proc/\u003cpid\u003e/stat to display these new fields.\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nAcked-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5e84cfde51cf303d368fcb48f22059f37b3872de",
      "tree": "59a55bbc56944e06c8e5940a58ff667939b92f69",
      "parents": [
        "6323469f9b72530eb90c96ba162cc70f2f4611de"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Mon Oct 15 17:00:19 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:19 2007 +0200"
      },
      "message": "sched: guest CPU accounting: add guest-CPU /proc/stat field\n\nas recent CPUs introduce a third running state, after \"user\" and\n\"system\", we need a new field, \"guest\", in cpustat to store the time\nused by the CPU to run virtual CPU. Modify /proc/stat to display this\nnew field.\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nAcked-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d72376b3af1e7d4d4515ebfd0f4383f2e92c343",
      "tree": "a9f36173883f1309640f3a1e58b03a53422262d8",
      "parents": [
        "2b1e315dd2822c99793485f9e53a73459fb399c1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:12 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:12 2007 +0200"
      },
      "message": "sched: clean up schedstats, cnt -\u003e count\n\nrename all \u0027cnt\u0027 fields and variables to the less yucky \u0027count\u0027 name.\n\nyuckage noticed by Andrew Morton.\n\nno change in code, other than the /proc/sched_debug bkl_count string got\na bit larger:\n\n   text    data     bss     dec     hex filename\n  38236    3506      24   41766    a326 sched.o.before\n  38240    3506      24   41770    a32a sched.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4665079cbb2a3e17de82f2ab2940b9f97f37d65e",
      "tree": "8e51e9b9e6155eaeccf28783620a07b20a067d8d",
      "parents": [
        "d62a38d1ab350f787e4941e42a3d3e97971e38f5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 08 20:38:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:58 2007 -0700"
      },
      "message": "[NETNS]: Move some code into __init section when CONFIG_NET_NS\u003dn\n\nWith the net namespaces many code leaved the __init section,\nthus making the kernel occupy more memory than it did before.\nSince we have a config option that prohibits the namespace\ncreation, the functions that initialize/finalize some netns\nstuff are simply not needed and can be freed after the boot.\n\nCurrently, this is almost not noticeable, since few calls\nare no longer in __init, but when the namespaces will be\nmerged it will be possible to free more code. I propose to\nuse the __net_init, __net_exit and __net_initdata \"attributes\"\nfor functions/variables that are not used if the CONFIG_NET_NS\nis not set to save more space in memory.\n\nThe exiting functions cannot just reside in the __exit section,\nas noticed by David, since the init section will have\nreferences on it and the compilation will fail due to modpost\nchecks. These references can exist, since the init namespace\nnever dies and the exit callbacks are never called. So I\nintroduce the __exit_refok attribute just like it is already\ndone with the __init_refok.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "077130c0cf7d5ba1992f5b51b96136d7b1c8aad5",
      "tree": "c8fd2622e7d633cc504c7543b55e25bd6d99a2fa",
      "parents": [
        "4fabcd7118162e36eea5c53e8895ecc13762bef3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Sep 13 09:18:57 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:22 2007 -0700"
      },
      "message": "[NET]: Fix race when opening a proc file while a network namespace is exiting.\n\nThe problem:  proc_net files remember which network namespace the are\nagainst but do not remember hold a reference count (as that would pin\nthe network namespace).   So we currently have a small window where\nthe reference count on a network namespace may be incremented when opening\na /proc file when it has already gone to zero.\n\nTo fix this introduce maybe_get_net and get_proc_net.\n\nmaybe_get_net increments the network namespace reference count only if it is\ngreater then zero, ensuring we don\u0027t increment a reference count after it\nhas gone to zero.\n\nget_proc_net handles all of the magic to go from a proc inode to the network\nnamespace instance and call maybe_get_net on it.\n\nPROC_NET the old accessor is removed so that we don\u0027t get confused and use\nthe wrong helper function.\n\nThen I fix up the callers to use get_proc_net and handle the case case\nwhere get_proc_net returns NULL.  In that case I return -ENXIO because\neffectively the network namespace has already gone away so the files\nwe are trying to access don\u0027t exist anymore.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36ac3135f5e824942fada4efa3204066b4b40ab1",
      "tree": "596c2245c59959a673e804a5c7b8b45e422984b7",
      "parents": [
        "8f4c1f9b049df3be11090f1c2c4738700302acae"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Wed Sep 12 14:51:47 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:16 2007 -0700"
      },
      "message": "[NETNS]: Fix export symbols.\n\nAdd the appropriate EXPORT_SYMBOLS for proc_net_create,\nproc_net_fops_create and proc_net_remove to fix errors when\ncompiling allmodconfig\n\nSigned-off-by: Mark Nelson \u003cmarkn@au1.ibm.com\u003e\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c12afe75f61d9402797d63941367962ca36fcc9",
      "tree": "06a0dc5a84d2d77630ba5ff7e6ecc3902e61d721",
      "parents": [
        "678aa8e4eb1e5d78dfdb70934932c9c90e315f62"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@kimchee.(none)",
        "time": "Wed Sep 12 14:18:18 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:14 2007 -0700"
      },
      "message": "[NET]: Fix missed addition of fs/proc/proc_net.c\n\nMy bad.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7f8ada98d9edd83d6ebd01e431e15b024a4a3dc4",
      "tree": "1231947efa06478714eeabac3bdbffc663f453c7",
      "parents": [
        "094f2825218fec1b240cb8537d2d0a10edf5ddc9"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 01 14:41:15 2007 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:32:46 2007 -0400"
      },
      "message": "Rework /proc/locks via seq_files and seq_list helpers\n\nCurrently /proc/locks is shown with a proc_read function, but its behavior\nis rather complex as it has to manually handle current offset and buffer\nlength.  On the other hand, files that show objects from lists can be\neasily reimplemented using the sequential files and the seq_list_XXX()\nhelpers.\n\nThis saves (as usually) 16 lines of code and more than 200 from\nthe .text section.\n\n[akpm@linux-foundation.org: no externs in C]\n[akpm@linux-foundation.org: warning fixes]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd23aae4f5edf4e1dbd8f7f8013a754ba3253f48",
      "tree": "c7babf45f8132876e8a715f0327cf480c05c6131",
      "parents": [
        "3210f0ecdba6a81c3f8efe6f442d2e1f57db98f9"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Sep 11 15:23:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Sep 11 17:21:20 2007 -0700"
      },
      "message": "Fix select on /proc files without -\u003epoll\n\nTaneli Vähäkangas \u003cvahakang@cs.helsinki.fi\u003e reported that commit\n786d7e1612f0b0adb6046f19b906609e4fe8b1ba aka \"Fix rmmod/read/write races\nin /proc entries\" broke SBCL + SLIME combo.\n\nThe old code in do_select() used DEFAULT_POLLMASK, if couldn\u0027t find\n-\u003epoll handler.  The new code makes -\u003epoll always there and returns 0 by\ndefault, which is not correct.  Return DEFAULT_POLLMASK instead.\n\nSteps to reproduce:\n\n\tinstall emacs, SBCL, SLIME\n\temacs\n\tM-x slime\tin *inferior-lisp* buffer\n\t[watch it doing \"Connecting to Swank on port X..\"]\n\nPlease, apply before 2.6.23.\n\nP.S.: why SBCL can\u0027t just read(2) /proc/cpuinfo is a mystery.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: T Taneli Vahakangas \u003cvahakang@cs.helsinki.fi\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\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": "efe567fc8281661524ffa75477a7c4ca9b466c63",
      "tree": "d545f25d113646491e75bd09b521dfa6db5f0276",
      "parents": [
        "c57baf1e1e24b004b57d282267542baab802753c"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu Aug 23 15:18:02 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 23 15:18:02 2007 +0200"
      },
      "message": "sched: accounting regression since rc1\n\nFix the accounting regression for CONFIG_VIRT_CPU_ACCOUNTING.  It\nreverts parts of commit b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa by\nconverting fs/proc/array.c back to cputime_t.  The new functions\ntask_utime and task_stime now return cputime_t instead of clock_t.  If\nCONFIG_VIRT_CPU_ACCOUTING is set, task-\u003eutime and task-\u003estime are\nreturned directly instead of using sum_exec_runtime.\n\nPatch is tested on s390x with and without VIRT_CPU_ACCOUTING as well as\non i386.\n\n[ mingo@elte.hu: cleanups, comments. ]\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5ea473a1dfeca2ee38c5dd458c1174d129e6b64e",
      "tree": "7ed66c900149f452ebeda379ce3264da9515b9dd",
      "parents": [
        "ff8e210a9550ad760a62e9803938cd04f9fb0851"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Jul 31 00:38:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:40 2007 -0700"
      },
      "message": "Fix leaks on /proc/{*/sched,sched_debug,timer_list,timer_stats}\n\nOn every open/close one struct seq_operations leaks.\nKudos to /proc/slab_allocators.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "778f3dd5a13c9e1642e0b2efea4b769387a70afa",
      "tree": "7a137adb91dcadf3e7b6756869ab73683ee41268",
      "parents": [
        "040b3a2df2dd26c3e401823f3b0ce3fe99e966c5"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 27 22:58:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 28 19:42:22 2007 -0700"
      },
      "message": "Fix procfs compat_ioctl regression\n\nIt is important to only provide the compat_ioctl method\nif the downstream de-\u003eproc_fops does too, otherwise this\nutterly confuses the logic in fs/compat_ioctl.c and we\nend up doing the wrong thing.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c3508f8f341f19f6b1c3f854f144540427668151",
      "tree": "c5a8ccb4d0ba0a1f108a2233d52232387257e8a0",
      "parents": [
        "2618f86e0010fc6703e77af3613bac7ade46efc6"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Sat Jul 21 17:10:19 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 18:37:09 2007 -0700"
      },
      "message": "x86_64: Avoid too many remote cpu references due to /proc/stat\n\nToo many remote cpu references due to /proc/stat.\n\nOn x86_64, with newer kernel versions, kstat_irqs is a bit of a problem.\nOn every call to kstat_irqs, the process brings in per-cpu data from all\nonline cpus.  Doing this for NR_IRQS, which is now 256 + 32 * NR_CPUS\nresults in (256+32*63) * 63 remote cpu references on a 64 cpu config.\n/proc/stat is parsed by common commands like top, who etc, causing lots\nof cacheline transfers\n\nThis statistic seems useless.  Other \u0027big iron\u0027 arches disable this.\n\nAK: changed to remove for all SMP setups\nAK: add comment\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "3cb4a0bb1e773e3c41800b33a3f7dab32bd06c64",
      "tree": "d363522865706f0674b7b104a8fc7b151f336764",
      "parents": [
        "6c5d523826dc639df709ed0f88c5d2ce25379652"
      ],
      "author": {
        "name": "Kawai, Hidehiro",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Thu Jul 19 01:48:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:47 2007 -0700"
      },
      "message": "coredump masking: add an interface for core dump filter\n\nThis patch adds an interface to set/reset flags which determines each memory\nsegment should be dumped or not when a core file is generated.\n\n/proc/\u003cpid\u003e/coredump_filter file is provided to access the flags.  You can\nchange the flag status for a particular process by writing to or reading from\nthe file.\n\nThe flag status is inherited to the child process when it is created.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c5d523826dc639df709ed0f88c5d2ce25379652",
      "tree": "ef2fa8cb30266b3a9b047902794e78c583b099da",
      "parents": [
        "76fdbb25f963de5dc1e308325f0578a2f92b1c2d"
      ],
      "author": {
        "name": "Kawai, Hidehiro",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Thu Jul 19 01:48:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:46 2007 -0700"
      },
      "message": "coredump masking: reimplementation of dumpable using two flags\n\nThis patch changes mm_struct.dumpable to a pair of bit flags.\n\nset_dumpable() converts three-value dumpable to two flags and stores it into\nlower two bits of mm_struct.flags instead of mm_struct.dumpable.\nget_dumpable() behaves in the opposite way.\n\n[akpm@linux-foundation.org: export set_dumpable]\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4004c69ad68dd03733179277280ea2946990ba36",
      "tree": "521f206229832f757c0f7652101d187a7a6ff5c8",
      "parents": [
        "a0a9983509f45b2225ca87fdcf7b40ea916834ed"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Thu Jul 19 01:47:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:43 2007 -0700"
      },
      "message": "Avoid too many remote cpu references due to /proc/stat\n\nOptimize show_stat to collect per-irq information just once.\n\nOn x86_64, with newer kernel versions, kstat_irqs is a bit of a problem.\nOn every call to kstat_irqs, the process brings in per-cpu data from all\nonline cpus.  Doing this for NR_IRQS, which is now 256 + 32 * NR_CPUS\nresults in (256+32*63) * 63 remote cpu references on a 64 cpu config.\nConsidering the fact that we already compute this value per-cpu, we can\nsave on the remote references as below.\n\nSigned-off-by: Alok N Kataria \u003calok.kataria@calsoftinc.com\u003e\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9281acea6a3687ff0f262e0be31eac34895b95d7",
      "tree": "f060d6e4f6a5da1c82bc789104683d39377a2e9a",
      "parents": [
        "b45d52797432bd6b5d9786dbda940eb8d0b9ed06"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jul 17 04:03:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:03 2007 -0700"
      },
      "message": "kallsyms: make KSYM_NAME_LEN include space for trailing \u0027\\0\u0027\n\nKSYM_NAME_LEN is peculiar in that it does not include the space for the\ntrailing \u0027\\0\u0027, forcing all users to use KSYM_NAME_LEN + 1 when allocating\nbuffer.  This is nonsense and error-prone.  Moreover, when the caller\nforgets that it\u0027s very likely to subtly bite back by corrupting the stack\nbecause the last position of the buffer is always cleared to zero.\n\nThis patch increments KSYM_NAME_LEN by one and updates code accordingly.\n\n* off-by-one bug in asm-powerpc/kprobes.h::kprobe_lookup_name() macro\n  is fixed.\n\n* Where MODULE_NAME_LEN and KSYM_NAME_LEN were used together,\n  MODULE_NAME_LEN was treated as if it didn\u0027t include space for the\n  trailing \u0027\\0\u0027.  Fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Paulo Marques \u003cpmarques@grupopie.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10b275ddfd05ccb414cfe0cc56a0f47ff20fe807",
      "tree": "22547c4df78a575194522fc0ecc01b9e54439d09",
      "parents": [
        "add096909da63ef32d6766f6771c07c9f16c6ee5",
        "8ea02606681beb41568c62ba060bdf51fc9ba14e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 11:02:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 11:02:49 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:\n  [PATCH] sched: fix up fs/proc/array.c whitespace problems\n  [PATCH] sched: prettify prio_to_wmult[]\n  [PATCH] sched: document prio_to_wmult[]\n  [PATCH] sched: improve weight-array comments\n  [PATCH] sched: remove dead code from task_stime()\n\nFixed up trivial conflict in fs/proc/array.c\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": "b663a79c191508f27cd885224b592a878c0ba0f6",
      "tree": "270a0472bf1fb0c7323ecb60ec68e40d02dcb1b4",
      "parents": [
        "a6c15c2b0fbfd5c0a84f5f0e1e3f20f85d2b8692"
      ],
      "author": {
        "name": "Maxim Uvarov",
        "email": "muvarov@ru.mvista.com",
        "time": "Sun Jul 15 23:40:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "taskstats: add context-switch counters\n\nMake available to the user the following task and process performance\nstatistics:\n\n\t* Involuntary Context Switches (task_struct-\u003enivcsw)\n\t* Voluntary Context Switches (task_struct-\u003envcsw)\n\nStatistics information is available from:\n\t1. taskstats interface (Documentation/accounting/)\n\t2. /proc/PID/status (task only).\n\nThis data is useful for detecting hyperactivity patterns between processes.\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Maxim Uvarov \u003cmuvarov@ru.mvista.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nCc: Jonathan Lim \u003cjlim@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "da58a1617343e345d435953a0f32024997a95164",
      "tree": "12a0ad4a92221d38dd8846f63063a8414c44655d",
      "parents": [
        "7126dd0562c78fa393a53120155e9b265cc68f9d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Sun Jul 15 23:40:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:44 2007 -0700"
      },
      "message": "/proc/*/environ: wrong placing of ptrace_may_attach() check\n\nIt\u0027s a bit dopey-looking and can permit a task to cause a pagefault in an mm\nwhich it doesn\u0027t have permission to read from.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99fc06df72fe1c9ad3ec274720dcb5658c40bfd2",
      "tree": "1a5913a12185031e2076618884988afc6ef5759e",
      "parents": [
        "17973f5af741f1758ed57c5115ca394c22bee159"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun Jul 15 23:40:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:43 2007 -0700"
      },
      "message": "procfs directory entry cleanup\n\nFunction proc_register() will assign proc_dir_operations and\nproc_dir_inode_operations to ent\u0027s members proc_fops and proc_iops\ncorrectly if ent is a directory. So the early assignment isn\u0027t\nnecessary.\n\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25216b00395dfb52bfe06e4886a6ad831ede7b4b",
      "tree": "94b65088457a5b641cc4acc9f0409b4d9a2bf50e",
      "parents": [
        "708f4b522371da5e6c615a49e1844195aff84cb4"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@sw.ru",
        "time": "Sun Jul 15 23:39:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:42 2007 -0700"
      },
      "message": "Make /proc/tty/drivers use seq_list_xxx helpers\n\nSimple and stupid like some previous ones.  Just use new API.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d62141414a55ff3f1410b27db2a95224446e77a4",
      "tree": "36c3ddbe084ba6f688744434b39f959aef6381c8",
      "parents": [
        "924b42d5a2dbe508407a0a6290d3751f826bccdd"
      ],
      "author": {
        "name": "Tomas Janousek",
        "email": "tjanouse@redhat.com",
        "time": "Sun Jul 15 23:39:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:41 2007 -0700"
      },
      "message": "Use boot based time for uptime in /proc\n\nCommit 411187fb05cd11676b0979d9fbf3291db69dbce2 caused uptime not to increase\nduring suspend.  This may cause confusion so I restore the old behaviour by\nusing the boot based time instead of monotonic for uptime.\n\nSigned-off-by: Tomas Janousek \u003ctjanouse@redhat.com\u003e\nAcked-by: John Stultz \u003cjohnstul@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": "924b42d5a2dbe508407a0a6290d3751f826bccdd",
      "tree": "c13a647ae93bcf033bddb713c1e117e84698c679",
      "parents": [
        "7c3f1a573237b90ef331267260358a0ec4ac9079"
      ],
      "author": {
        "name": "Tomas Janousek",
        "email": "tjanouse@redhat.com",
        "time": "Sun Jul 15 23:39:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:41 2007 -0700"
      },
      "message": "Use boot based time for process start time and boot time in /proc\n\nCommit 411187fb05cd11676b0979d9fbf3291db69dbce2 caused boot time to move and\nprocess start times to become invalid after suspend.  Using boot based time\nfor those restores the old behaviour and fixes the issue.\n\n[akpm@linux-foundation.org: little cleanup]\nSigned-off-by: Tomas Janousek \u003ctjanouse@redhat.com\u003e\nCc: Tomas Smetana \u003ctsmetana@redhat.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\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": "786d7e1612f0b0adb6046f19b906609e4fe8b1ba",
      "tree": "9d5f1623c19c9d3f84606ea160d57cd3c8c97ea9",
      "parents": [
        "5568b0e8028d966ddb16f0be44a9df1fcbd1dc8d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Sun Jul 15 23:39:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:39 2007 -0700"
      },
      "message": "Fix rmmod/read/write races in /proc entries\n\nFix following races:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n1. Write via -\u003ewrite_proc sleeps in copy_from_user(). Module disappears\n   meanwhile. Or, more generically, system call done on /proc file, method\n   supplied by module is called, module dissapeares meanwhile.\n\n   pde \u003d create_proc_entry()\n   if (!pde)\n\treturn -ENOMEM;\n   pde-\u003ewrite_proc \u003d ...\n\t\t\t\topen\n\t\t\t\twrite\n\t\t\t\tcopy_from_user\n   pde \u003d create_proc_entry();\n   if (!pde) {\n\tremove_proc_entry();\n\treturn -ENOMEM;\n\t/* module unloaded */\n   }\n\t\t\t\t*boom*\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n2. bogo-revoke aka proc_kill_inodes()\n\n  remove_proc_entry\t\tvfs_read\n  proc_kill_inodes\t\t[check -\u003ef_op validness]\n\t\t\t\t[check -\u003ef_op-\u003eread validness]\n\t\t\t\t[verify_area, security permissions checks]\n\t-\u003ef_op \u003d NULL;\n\t\t\t\tif (file-\u003ef_op-\u003eread)\n\t\t\t\t\t/* -\u003ef_op dereference, boom */\n\nNOTE, NOTE, NOTE: file_operations are proxied for regular files only. Let\u0027s\nsee how this scheme behaves, then extend if needed for directories.\nDirectories creators in /proc only set -\u003eowner for them, so proxying for\ndirectories may be unneeded.\n\nNOTE, NOTE, NOTE: methods being proxied are -\u003ellseek, -\u003eread, -\u003ewrite,\n-\u003epoll, -\u003eunlocked_ioctl, -\u003eioctl, -\u003ecompat_ioctl, -\u003eopen, -\u003erelease.\nIf your in-tree module uses something else, yell on me. Full audit pending.\n\n[akpm@linux-foundation.org: build fix]\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": "8ea02606681beb41568c62ba060bdf51fc9ba14e",
      "tree": "a0022c43da7a7a2200f32c7e425a38f8418920e5",
      "parents": [
        "e4af30be8fd0bed0e8f96e4e1ebd546a3dfa8f2b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 16 09:46:31 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 16 09:46:31 2007 +0200"
      },
      "message": "[PATCH] sched: fix up fs/proc/array.c whitespace problems\n\nwhile changing task_stime() i noticed a whitespace style problem in\narray.c - fix it. While at it, fix all the other style problems too,\nmost of them in the scheduler-stats related portions of array.c.\n\nThere is no change in functionality:\n\n   text    data     bss     dec     hex filename\n   4356      28       0    4384    1120 array.o-before\n   4356      28       0    4384    1120 array.o-after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5926c50b83b626991c8c38efbca2020ee96b215f",
      "tree": "94aa3db6228de4d61aa63f30c94c4887b860b2b9",
      "parents": [
        "8f41958bdd577731f7411c9605cfaa9db6766809"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 16 09:46:30 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 16 09:46:30 2007 +0200"
      },
      "message": "[PATCH] sched: remove dead code from task_stime()\n\nAlexey Dobriyan noticed that task_stime() contains a piece of dead code.\n(which is a remnant of earlier versions of this code) Remove that code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "43ae34cb4cd650d1eb4460a8253a8e747ba052ac",
      "tree": "51f1b6a8331dea95d8d560c2c27f4abdad1d759c",
      "parents": [
        "77e54a1f88a1cb0746c7694fa40052bd02df1123"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: scheduler debugging, core\n\nscheduler debugging core: implement /proc/sched_debug and\n/proc/\u003cPID\u003e/sched files for scheduler debugging.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "172ba844a8851c3edd13c0a979cdf46bd5e3cc1a",
      "tree": "5e1bfd820c8e68fc28450688f166f4136351e1e1",
      "parents": [
        "b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: update delay-accounting to use CFS\u0027s precise stats\n\nupdate delay-accounting to use CFS\u0027s precise stats.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa",
      "tree": "37b918b7dcc548671db53d4f3c2fdc673939e086",
      "parents": [
        "1b9f19c2125dd1021b9327111dc40b14b557ee12"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "message": "sched: make use of precise accounting for /proc task stats\n\nmake use of CFS\u0027s precise accounting to drive /proc/\u003cpid\u003e/stat statistics.\n\nthis code was co-authored by:\n\n Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\n Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\n Ingo Molnar \u003cmingo@elte.hu\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\n"
    },
    {
      "commit": "62480d13d5d1812176e969a47e2db78a5398d02e",
      "tree": "0aa30d3e3d9fcf8488163e6fd5b70ddb06fecf98",
      "parents": [
        "e05606d3301525aa67b081ad9fccade2b31ab35a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "message": "sched: remove the SleepAVG field\n\nremove the SleepAVG field from /proc/\u003cpid\u003e/status, as\nwith the removal of the sleep-average code this value\nno longer makes sense.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b8df8915a6980f476e1fa8f4d156e36cb63bf76",
      "tree": "dee4cbe41aee3570b9a129a4c87dcf8ea09f8112",
      "parents": [
        "7e81ab9d3d9a22fb7b20c56f0cabc8ef51954014"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue May 08 20:27:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 20:41:14 2007 -0700"
      },
      "message": "smaps: only define clear_refs for CONFIG_MMU\n\n/proc/pid/clear_refs is only defined in the CONFIG_MMU case, so make sure we\ndon\u0027t have any references to clear_refs_smap() in generic procfs code.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c28f287aa57e065116731c1e44bedcbc14fd53f",
      "tree": "66fe5fc7a4f8c191a9e05e99bebeb1bc425bbb7c",
      "parents": [
        "346339938ba9bcabd34e5fc8f4b0b0665c507a22"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue May 08 00:31:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:14 2007 -0700"
      },
      "message": "procfs: use simple_read_from_buffer()\n\nCleanup using simple_read_from_buffer() in procfs.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d0633cfedde484d30eef869f749c04709ab3e42",
      "tree": "c234f06a36ba6344489597f0084a616948a419c2",
      "parents": [
        "1e8123fdeda6b2b9e96f2ec56e7bed27a303d3eb"
      ],
      "author": {
        "name": "John Johansen",
        "email": "jjohansen@suse.de",
        "time": "Tue May 08 00:29:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:10 2007 -0700"
      },
      "message": "Remove redundant check from proc_sys_setattr()\n\nnotify_change() already calls security_inode_setattr() before\ncalling iop-\u003esetattr.\n\nAlan sayeth\n\n  This is a behaviour change on all of these and limits some behaviour of\n  existing established security modules\n\n  When inode_change_ok is called it has side effects.  This includes\n  clearing the SGID bit on attribute changes caused by chmod.  If you make\n  this change the results of some rulesets may be different before or after\n  the change is made.\n\n  I\u0027m not saying the change is wrong but it does change behaviour so that\n  needs looking at closely (ditto all other attribute twiddles)\n\nSigned-off-by: Steve Beattie \u003csbeattie@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: John Johansen \u003cjjohansen@suse.de\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e8123fdeda6b2b9e96f2ec56e7bed27a303d3eb",
      "tree": "5a969db27d16a0dd324277618c519cd98e0c7abe",
      "parents": [
        "49a4ec188f9a96c9a5567956718213d38a456a19"
      ],
      "author": {
        "name": "John Johansen",
        "email": "jjohansen@suse.de",
        "time": "Tue May 08 00:29:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:10 2007 -0700"
      },
      "message": "Remove redundant check from proc_setattr()\n\nnotify_change() already calls security_inode_setattr() before\ncalling iop-\u003esetattr.\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: John Johansen \u003cjjohansen@suse.de\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09f0892ec7f8068ba1d1fcef4d1fca23ec96e0dd",
      "tree": "1ff23e62d08a673cb29fc63c33e0381564e9dab3",
      "parents": [
        "5a0c6a0d1ae97473291f479ef64573d6b2c0e2d5"
      ],
      "author": {
        "name": "Martin Peschke",
        "email": "mp3@de.ibm.com",
        "time": "Tue May 08 00:29:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:09 2007 -0700"
      },
      "message": "proc: cleanup: use seq_release_private() where appropriate\n\nWe can save some lines of code by using seq_release_private().\n\nSigned-off-by: Martin Peschke \u003cmp3@de.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d65cb4a1718a072898c7a57a3bc61b2dc4bcd4d",
      "tree": "9e3fd1c9e61e8ed16959d115a9a3f6f7eb0bbf21",
      "parents": [
        "ffb45122766db220d0bf3d01848d575fbbcb6430"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Fix race between cat /proc/*/wchan and rmmod et al\n\nkallsyms_lookup() can go iterating over modules list unprotected which is OK\nfor emergency situations (oops), but not OK for regular stuff like\n/proc/*/wchan.\n\nIntroduce lookup_symbol_name()/lookup_module_symbol_name() which copy symbol\nname into caller-supplied buffer or return -ERANGE.  All copying is done with\nmodule_mutex held, so...\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ffb45122766db220d0bf3d01848d575fbbcb6430",
      "tree": "a8fedf0518407ad12578a7c03aa2c3344f11ff3c",
      "parents": [
        "ea07890a680273b25127129fb555aac0d9324bea"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Simplify kallsyms_lookup()\n\nSeveral kallsyms_lookup() pass dummy arguments but only need, say, module\u0027s\nname.  Make kallsyms_lookup() accept NULLs where possible.\n\nAlso, makes picture clearer about what interfaces are needed for all symbol\nresolving business.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca509f69dec7fa564005aa7e9fcf0cd46de3f7d6",
      "tree": "75bee6e2186c6864c10e5ab46bab2d967a9fe006",
      "parents": [
        "ef51c97623b94f51e439ac91d2736aab3d1b6594"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:27:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "Protect tty drivers list with tty_mutex\n\nAdditions and removal from tty_drivers list were just done as well as\niterating on it for /proc/tty/drivers generation.\n\ntesting: modprobe/rmmod loop of simple module which does nothing but\ntty_register_driver() vs cat /proc/tty/drivers loop\n\nBUG: unable to handle kernel paging request at virtual address 6b6b6b6b\n printing eip:\nc01cefa7\n*pde \u003d 00000000\nOops: 0000 [#1]\nPREEMPT\nlast sysfs file: devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/bInterfaceProtocol\nModules linked in: ohci_hcd af_packet e1000 ehci_hcd uhci_hcd usbcore xfs\nCPU:    0\nEIP:    0060:[\u003cc01cefa7\u003e]    Not tainted VLI\nEFLAGS: 00010297   (2.6.21-rc4-mm1 #4)\nEIP is at vsnprintf+0x3a4/0x5fc\neax: 6b6b6b6b   ebx: f6cb50f2   ecx: 6b6b6b6b   edx: fffffffe\nesi: c0354700   edi: f6cb6000   ebp: 6b6b6b6b   esp: f31f5e68\nds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068\nProcess cat (pid: 31864, ti\u003df31f4000 task\u003dc1998030 task.ti\u003df31f4000)\nStack: 00000000 c0103f20 c013003a c0103f20 00000000 f6cb50da 0000000a 00000f0e\n       f6cb50f2 00000010 00000014 ffffffff ffffffff 00000007 c0354753 f6cb50f2\n       f73e39dc f73e39dc 00000001 c0175416 f31f5ed8 f31f5ed4 0ee00000 f32090bc\nCall Trace:\n [\u003cc0103f20\u003e] restore_nocheck+0x12/0x15\n [\u003cc013003a\u003e] mark_held_locks+0x6d/0x86\n [\u003cc0103f20\u003e] restore_nocheck+0x12/0x15\n [\u003cc0175416\u003e] seq_printf+0x2e/0x52\n [\u003cc0192895\u003e] show_tty_range+0x35/0x1f3\n [\u003cc0175416\u003e] seq_printf+0x2e/0x52\n [\u003cc0192add\u003e] show_tty_driver+0x8a/0x1d9\n [\u003cc01758f6\u003e] seq_read+0x70/0x2ba\n [\u003cc0175886\u003e] seq_read+0x0/0x2ba\n [\u003cc018d8e6\u003e] proc_reg_read+0x63/0x9f\n [\u003cc015e764\u003e] vfs_read+0x7d/0xb5\n [\u003cc018d883\u003e] proc_reg_read+0x0/0x9f\n [\u003cc015eab1\u003e] sys_read+0x41/0x6a\n [\u003cc0103e4e\u003e] sysenter_past_esp+0x5f/0x99\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nCode: 00 8b 4d 04 e9 44 ff ff ff 8d 4d 04 89 4c 24 50 8b 6d 00 81 fd ff 0f 00 00 b8 a4 c1 35 c0 0f 46 e8 8b 54 24 2c 89 e9 89 c8 eb 06 \u003c80\u003e 38 00 74 07 40 4a 83 fa ff 75 f4 29 c8 89 c6 8b 44 24 28 89\nEIP: [\u003cc01cefa7\u003e] vsnprintf+0x3a4/0x5fc SS:ESP 0068:f31f5e68\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19c5d45a09312ca20cd1f9df3fd1a87fe0cb8aac",
      "tree": "de228e847ea4846e77cd64b35ca74eb5daa3d242",
      "parents": [
        "72c1bbf308c75a136803d2d76d0e18258be14c7a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:26:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "/proc/*/oom_score oops re badness\n\nEternal quest to make\n\n\twhile true; do cat /proc/fs/xfs/stat \u003e/dev/null 2\u003e/dev/null; done\n\twhile true; do find /proc -type f 2\u003e/dev/null | xargs cat \u003e/dev/null 2\u003e/dev/null; done\n\twhile true; do modprobe xfs; rmmod xfs; done\n\nwork reliably continues and now kernel oopses in the following way:\n\nBUG: unable to handle ... at virtual address 6b6b6b6b\nEIP is at badness\nprocess: cat\n\tproc_oom_score\n\tproc_info_read\n\tsys_fstat64\n\tvfs_read\n\tproc_info_read\n\tsys_read\n\nFailing code is prefetch hidden in list_for_each_entry() in badness().\nbadness() is reachable from two points. One is proc_oom_score, another\nis out_of_memory() \u003d\u003e select_bad_process() \u003d\u003e badness().\n\nSecond path grabs tasklist_lock, while first doesn\u0027t.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2793274298c4423d79701e9a8190f2940bf3c785",
      "tree": "8cc0cf9889f3426b9ca50d3cfa15e775ad31d2d8",
      "parents": [
        "c5141e6d64ab5c48a5e31413c7a6cdda84ac1d52"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue May 08 00:26:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:03 2007 -0700"
      },
      "message": "add file position info to proc\n\nAdd support for finding out the current file position, open flags and\npossibly other info in the future.\n\nThese new entries are added:\n\n  /proc/PID/fdinfo/FD\n  /proc/PID/task/TID/fdinfo/FD\n\nFor each fd the information is provided in the following format:\n\npos:\t1234\nflags:\t0100002\n\n[bunk@stusta.de: make struct proc_fdinfo_file_operations static]\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5141e6d64ab5c48a5e31413c7a6cdda84ac1d52",
      "tree": "95a93ed2f56e98f6b6659ab906faee7abb252a49",
      "parents": [
        "d9a2f4a4945ebff54c9a011e4dc6e92d899ae26d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue May 08 00:26:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:03 2007 -0700"
      },
      "message": "procfs: reorder struct pid_dentry to save space on 64bit archs, and constify them\n\nChange the order of fields of struct pid_entry (file fs/proc/base.c) in order\nto avoid a hole on 64bit archs.  (8 bytes saved per object)\n\nAlso change all pid_entry arrays to be const qualified, to make clear they\nmust not be modified.\n\nBefore (on x86_64) :\n\n# size fs/proc/base.o\n   text    data     bss     dec     hex filename\n  15549    2192       0   17741    454d fs/proc/base.o\n\nAfter :\n\n# size fs/proc/base.o\n   text    data     bss     dec     hex filename\n  17229     176       0   17405    43fd fs/proc/base.o\n\nThats 336 bytes saved on kernel size on x86_64\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5096add84b9e96e2e0a9c72675c442fe5433388a",
      "tree": "f0444013cb7db32596d2b6febafc1ee4c2a4ea1f",
      "parents": [
        "4a1ccb5b1eff949a90ab830869cb23d6609c3d5f"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees@outflux.net",
        "time": "Tue May 08 00:26:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:02 2007 -0700"
      },
      "message": "proc: maps protection\n\nThe /proc/pid/ \"maps\", \"smaps\", and \"numa_maps\" files contain sensitive\ninformation about the memory location and usage of processes.  Issues:\n\n- maps should not be world-readable, especially if programs expect any\n  kind of ASLR protection from local attackers.\n- maps cannot just be 0400 because \"-D_FORTIFY_SOURCE\u003d2 -O2\" makes glibc\n  check the maps when %n is in a *printf call, and a setuid(getuid())\n  process wouldn\u0027t be able to read its own maps file.  (For reference\n  see http://lkml.org/lkml/2006/1/22/150)\n- a system-wide toggle is needed to allow prior behavior in the case of\n  non-root applications that depend on access to the maps contents.\n\nThis change implements a check using \"ptrace_may_attach\" before allowing\naccess to read the maps contents.  To control this protection, the new knob\n/proc/sys/kernel/maps_protect has been added, with corresponding updates to\nthe procfs documentation.\n\n[akpm@linux-foundation.org: build fixes]\n[akpm@linux-foundation.org: New sysctl numbers are old hat]\nSigned-off-by: Kees Cook \u003ckees@outflux.net\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "578c8183c116e623d53b05d4c79762d053c7090f",
      "tree": "783cb8471e5efdb486fc7dd4f5de53038a96f8a7",
      "parents": [
        "59cd0cbc75367b82f704f63b104117462275060d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:25:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:02 2007 -0700"
      },
      "message": "proc: remove pathetic -\u003edeleted WARN_ON\n\nWARN_ON(de \u0026\u0026 de-\u003edeleted); is sooo unreliable. Why?\n\nproc_lookup\t\t\t\tremove_proc_entry\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\t\t\t\t\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nlock_kernel();\nspin_lock(\u0026proc_subdir_lock);\n[find proc entry]\nspin_unlock(\u0026proc_subdir_lock);\n\t\t\t\t\tspin_lock(\u0026proc_subdir_lock);\n\t\t\t\t\t[find proc entry]\n\nproc_get_inode\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWARN_ON(de \u0026\u0026 de-\u003edeleted);\t\t\t...\n\n\t\t\t\t\tif (!atomic_read(\u0026de-\u003ecount))\n\t\t\t\t\t\tfree_proc_entry(de);\n\t\t\t\t\telse\n\t\t\t\t\t\tde-\u003edeleted \u003d 1;\n\nSo, if you have some strange oops [1], and doesn\u0027t see this WARN_ON it means\nnothing.\n\n[1] try_module_get() of module which doesn\u0027t exist, two lines below\n    should suffice, or not?\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59cd0cbc75367b82f704f63b104117462275060d",
      "tree": "695c4f7af4cf840a7e22e7767e1b5705e0b6d8d1",
      "parents": [
        "7695650a924a6859910c8c19dfa43b4d08224d66"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Tue May 08 00:25:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:02 2007 -0700"
      },
      "message": "Fix race between proc_readdir and remove_proc_entry\n\nFix the following race:\n\nproc_readdir\t\t\t\tremove_proc_entry\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\t\t\t\t\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nspin_lock(\u0026proc_subdir_lock);\n[choose PDE to start filldir from]\nspin_unlock(\u0026proc_subdir_lock);\n\t\t\t\t\tspin_lock(\u0026proc_subdir_lock);\n\t\t\t\t\t[find PDE]\n\t\t\t\t\t[free PDE, refcount is 0]\n\t\t\t\t\tspin_unlock(\u0026proc_subdir_lock);\n\t\t    /* boom */\nif (filldir(dirent, de-\u003ename, ...\n\n[de_put on error path --adobriyan]\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\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": "7695650a924a6859910c8c19dfa43b4d08224d66",
      "tree": "5947c3e1b24600b6440468c11b30feeef31eee2c",
      "parents": [
        "79c0b2df79eb56fc71e54c75cd7fb3acf84370f9"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@openvz.org",
        "time": "Tue May 08 00:25:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:01 2007 -0700"
      },
      "message": "Fix race between proc_get_inode() and remove_proc_entry()\n\nproc_lookup\t\t\t\tremove_proc_entry\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\t\t\t\t\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nlock_kernel();\nspin_lock(\u0026proc_subdir_lock);\n[find PDE with refcount 0]\nspin_unlock(\u0026proc_subdir_lock);\n\t\t\t\t\tspin_lock(\u0026proc_subdir_lock);\n\t\t\t\t\t[find PDE with refcount 0]\n\t\t\t\t\t[check refcount and free PDE]\n\t\t\t\t\tspin_unlock(\u0026proc_subdir_lock);\nproc_get_inode:\n\tde_get(de); /* boom */\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97dc32cdb1b53832801159d5f634b41aad9d0a23",
      "tree": "438f59c84d3528de5f68583d312beceb1aa32659",
      "parents": [
        "4d7bf11d649c72621ca31b8ea12b9c94af380e63"
      ],
      "author": {
        "name": "William Cohen",
        "email": "wcohen@redhat.com",
        "time": "Tue May 08 00:23:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:58 2007 -0700"
      },
      "message": "reduce size of task_struct on 64-bit machines\n\nThis past week I was playing around with that pahole tool\n(http://oops.ghostprotocols.net:81/acme/dwarves/) and looking at the size\nof various struct in the kernel.  I was surprised by the size of the\ntask_struct on x86_64, approaching 4K.  I looked through the fields in\ntask_struct and found that a number of them were declared as \"unsigned\nlong\" rather than \"unsigned int\" despite them appearing okay as 32-bit\nsized fields.  On x86_64 \"unsigned long\" ends up being 8 bytes in size and\nforces 8 byte alignment.  Is there a reason there a reason they are\n\"unsigned long\"?\n\nThe patch below drops the size of the struct from 3808 bytes (60 64-byte\ncachelines) to 3760 bytes (59 64-byte cachelines).  A couple other fields\nin the task struct take a signficant amount of space:\n\nstruct thread_struct       thread;               688\nstruct held_lock           held_locks[30];       1680\n\nCONFIG_LOCKDEP is turned on in the .config\n\n[akpm@linux-foundation.org: fix printk warnings]\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8948e11f450e6189a79e47d6051c3d5a0b98e3f3",
      "tree": "8cc904873cc1a8506970cf1e4a328c318a7fc4d7",
      "parents": [
        "ab1b6f03a10ba1f5638188ab06bf46e33ac3a160"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@openvz.org",
        "time": "Tue May 08 00:23:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:58 2007 -0700"
      },
      "message": "Allow access to /proc/$PID/fd after setuid()\n\n/proc/$PID/fd has r-x------ permissions, so if process does setuid(), it\nwill not be able to access /proc/*/fd/. This breaks fstatat() emulation\nin glibc.\n\nopen(\"foo\", O_RDONLY|O_DIRECTORY)       \u003d 4\nsetuid32(65534)                         \u003d 0\nstat64(\"/proc/self/fd/4/bar\", 0xbfafb298) \u003d -1 EACCES (Permission denied)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-By: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b813e931b4c8235bb42e301096ea97dbdee3e8fe",
      "tree": "f8182687bffe8e3b95bac69b2cc7fdfe674ddc53",
      "parents": [
        "f79f177c25016647cc92ffac8afa7cb96ce47011"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun May 06 14:49:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "smaps: add clear_refs file to clear reference\n\nAdds /proc/pid/clear_refs.  When any non-zero number is written to this file,\npte_mkold() and ClearPageReferenced() is called for each pte and its\ncorresponding page, respectively, in that task\u0027s VMAs.  This file is only\nwritable by the user who owns the task.\n\nIt is now possible to measure _approximately_ how much memory a task is using\nby clearing the reference bits with\n\n\techo 1 \u003e /proc/pid/clear_refs\n\nand checking the reference count for each VMA from the /proc/pid/smaps output\nat a measured time interval.  For example, to observe the approximate change\nin memory footprint for a task, write a script that clears the references\n(echo 1 \u003e /proc/pid/clear_refs), sleeps, and then greps for Pgs_Referenced and\nextracts the size in kB.  Add the sizes for each VMA together for the total\nreferenced footprint.  Moments later, repeat the process and observe the\ndifference.\n\nFor example, using an efficient Mozilla:\n\n\taccumulated time\t\treferenced memory\n\t----------------\t\t-----------------\n\t\t 0 s\t\t\t\t 408 kB\n\t\t 1 s\t\t\t\t 408 kB\n\t\t 2 s\t\t\t\t 556 kB\n\t\t 3 s\t\t\t\t1028 kB\n\t\t 4 s\t\t\t\t 872 kB\n\t\t 5 s\t\t\t\t1956 kB\n\t\t 6 s\t\t\t\t 416 kB\n\t\t 7 s\t\t\t\t1560 kB\n\t\t 8 s\t\t\t\t2336 kB\n\t\t 9 s\t\t\t\t1044 kB\n\t\t10 s\t\t\t\t 416 kB\n\nThis is a valuable tool to get an approximate measurement of the memory\nfootprint for a task.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\n[akpm@linux-foundation.org: build fixes]\n[mpm@selenic.com: rename for_each_pmd]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f79f177c25016647cc92ffac8afa7cb96ce47011",
      "tree": "b613be041a467fd3ffaed7ad89d8694ede780dfa",
      "parents": [
        "826fad1b93fdb4ffacfd9cd860f06140e852e377"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun May 06 14:49:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "smaps: add pages referenced count to smaps\n\nAdds an additional unsigned long field to struct mem_size_stats called\n\u0027referenced\u0027.  For each pte walked in the smaps code, this field is\nincremented by PAGE_SIZE if it has pte-reference bits.\n\nAn additional line was added to the /proc/pid/smaps output for each VMA to\nindicate how many pages within it are currently marked as referenced or\naccessed.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "826fad1b93fdb4ffacfd9cd860f06140e852e377",
      "tree": "8135bd60f839a83521d457904e4d2578203df339",
      "parents": [
        "0013572b2ae535bfd6314f22d9aef53725ea00d8"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun May 06 14:49:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "smaps: extract pmd walker from smaps code\n\nExtracts the pmd walker from smaps-specific code in fs/proc/task_mmu.c.\n\nThe new struct pmd_walker includes the struct vm_area_struct of the memory to\nwalk over.  Iteration begins at the vma-\u003evm_start and completes at\nvma-\u003evm_end.  A pointer to another data structure may be stored in the private\nfield such as struct mem_size_stats, which acts as the smaps accumulator.  For\neach pmd in the VMA, the action function is called with a pointer to its\nstruct vm_area_struct, a pointer to the pmd_t, its start and end addresses,\nand the private field.\n\nThe interface for walking pmd\u0027s in a VMA for fs/proc/task_mmu.c is now:\n\n\tvoid for_each_pmd(struct vm_area_struct *vma,\n\t\t\t  void (*action)(struct vm_area_struct *vma,\n\t\t\t\t\t pmd_t *pmd, unsigned long addr,\n\t\t\t\t\t unsigned long end,\n\t\t\t\t\t void *private),\n\t\t\t  void *private);\n\nSince the pmd walker is now extracted from the smaps code, smaps_one_pmd() is\ninvoked for each pmd in the VMA.  Its behavior and efficiency is identical to\nthe existing implementation.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "ac267728f13c55017ed5ee243c9c3166e27ab929"
}
