)]}'
{
  "log": [
    {
      "commit": "701e054e0c2db82359f0454c7ed4fd24346d52eb",
      "tree": "af052eb937237414705c425f08502517af52e680",
      "parents": [
        "2d51013ed2f2b6a5d2369b7fbbd989df1f6369e2"
      ],
      "author": {
        "name": "Vasily Tarasov",
        "email": "vtaras@openvz.org",
        "time": "Sat Nov 25 11:09:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Nov 25 13:28:33 2006 -0800"
      },
      "message": "[PATCH] mounstats NULL pointer dereference\n\nOpenVZ developers team has encountered the following problem in 2.6.19-rc6\nkernel. After some seconds of running script\n\nwhile [[ 1 ]]\ndo\n\tfind  /proc -name mountstats | xargs cat\ndone\n\nthis Oops appears:\n\nBUG: unable to handle kernel NULL pointer dereference at virtual address\n00000010\n printing eip:\nc01a6b70\n*pde \u003d 00000000\nOops: 0000 [#1]\nSMP\nModules linked in: xt_length ipt_ttl xt_tcpmss ipt_TCPMSS iptable_mangle\niptable_filter xt_multiport xt_limit ipt_tos ipt_REJECT ip_tables x_tables\nparport_pc lp parport sunrpc af_packet thermal processor fan button battery\nasus_acpi ac ohci_hcd ehci_hcd usbcore i2c_nforce2 i2c_core tg3 floppy\npata_amd\nide_cd cdrom sata_nv libata\nCPU:    1\nEIP:    0060:[\u003cc01a6b70\u003e]    Not tainted VLI\nEFLAGS: 00010246   (2.6.19-rc6 #2)\nEIP is at mountstats_open+0x70/0xf0\neax: 00000000   ebx: e6247030   ecx: e62470f8   edx: 00000000\nesi: 00000000   edi: c01a6b00   ebp: c33b83c0   esp: f4105eb4\nds: 007b   es: 007b   ss: 0068\nProcess cat (pid: 6044, ti\u003df4105000 task\u003df4104a70 task.ti\u003df4105000)\nStack: c33b83c0 c04ee940 f46a4a80 c33b83c0 e4df31b4 c01a6b00 f4105000 c0169231\n       e4df31b4 c33b83c0 c33b83c0 f4105f20 00000003 f4105000 c0169445 f2503cf0\n       f7f8c4c0 00008000 c33b83c0 00000000 00008000 c0169350 f4105f20 00008000\nCall Trace:\n [\u003cc01a6b00\u003e] mountstats_open+0x0/0xf0\n [\u003cc0169231\u003e] __dentry_open+0x181/0x250\n [\u003cc0169445\u003e] nameidata_to_filp+0x35/0x50\n [\u003cc0169350\u003e] do_filp_open+0x50/0x60\n [\u003cc01873d6\u003e] seq_read+0xc6/0x300\n [\u003cc0169511\u003e] get_unused_fd+0x31/0xc0\n [\u003cc01696d3\u003e] do_sys_open+0x63/0x110\n [\u003cc01697a7\u003e] sys_open+0x27/0x30\n [\u003cc01030bd\u003e] sysenter_past_esp+0x56/0x79\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nCode: 45 74 8b 54 24 20 89 44 24 08 8b 42 f0 31 d2 e8 47 cb f8 ff 85 c0 89 c3\n74 51 8d 80 a0 04 00 00 e8 46 06 2c 00 8b 83 48 04 00 00 \u003c8b\u003e 78 10 85 ff 74\n03\nf0 ff 07 b0 01 86 83 a0 04 00 00 f0 ff 4b\nEIP: [\u003cc01a6b70\u003e] mountstats_open+0x70/0xf0 SS:ESP 0068:f4105eb4\n\nThe problem is that task-\u003ensproxy can be equal NULL for some time during\ntask exit. This patch fixes the BUG.\n\nSigned-off-by: Vasily Tarasov \u003cvtaras@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8ac773b4f73afa6fd66695131103944b975d5d5c",
      "tree": "7a3ea0d703cde009c5f2e1196d80f06cf5d00d54",
      "parents": [
        "887b95931b4072e60e3bf4253ff7bffe372bca46"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 19 23:28:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:38 2006 -0700"
      },
      "message": "[PATCH] OOM killer meets userspace headers\n\nDespite mm.h is not being exported header, it does contain one thing\nwhich is part of userspace ABI -- value disabling OOM killer for given\nprocess. So,\na) create and export include/linux/oom.h\nb) move OOM_DISABLE define there.\nc) turn bounding values of /proc/$PID/oom_adj into defines and export\n   them too.\n\nNote: mass __KERNEL__ removal will be done later.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0187f879ee8d4b914e74ffa3cc5df268311fc2d2",
      "tree": "6c29aa7911a9a3ffc4497ea319d3fb6d1bfbd55c",
      "parents": [
        "ac08c26492a0ad4d94a25bd47d5630cd38337069"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Oct 17 00:09:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 17 08:18:43 2006 -0700"
      },
      "message": "[PATCH] PROC_NUMBUF is wrong\n\nActually, the decimal representation of a 32-bit signed number can take 12\nbytes, including the \\0.\n\nAnd then some code adds a \\n as well, so let\u0027s give it 13 bytes.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d12e780e003f93433d49ce78cfedf4b4c52adc5",
      "tree": "6748550400445c11a306b132009f3001e3525df8",
      "parents": [
        "da482792a6d1a3fbaaa25fae867b343fb4db3246"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 14:55:46 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 15:10:12 2006 +0100"
      },
      "message": "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers\n\nMaintain a per-CPU global \"struct pt_regs *\" variable which can be used instead\nof passing regs around manually through all ~1800 interrupt handlers in the\nLinux kernel.\n\nThe regs pointer is used in few places, but it potentially costs both stack\nspace and code to pass it around.  On the FRV arch, removing the regs parameter\nfrom all the genirq function results in a 20% speed up of the IRQ exit path\n(ie: from leaving timer_interrupt() to leaving do_IRQ()).\n\nWhere appropriate, an arch may override the generic storage facility and do\nsomething different with the variable.  On FRV, for instance, the address is\nmaintained in GR28 at all times inside the kernel as part of general exception\nhandling.\n\nHaving looked over the code, it appears that the parameter may be handed down\nthrough up to twenty or so layers of functions.  Consider a USB character\ndevice attached to a USB hub, attached to a USB controller that posts its\ninterrupts through a cascaded auxiliary interrupt controller.  A character\ndevice driver may want to pass regs to the sysrq handler through the input\nlayer which adds another few layers of parameter passing.\n\nI\u0027ve build this code with allyesconfig for x86_64 and i386.  I\u0027ve runtested the\nmain part of the code on FRV and i386, though I can\u0027t test most of the drivers.\nI\u0027ve also done partial conversion for powerpc and MIPS - these at least compile\nwith minimal configurations.\n\nThis will affect all archs.  Mostly the changes should be relatively easy.\nTake do_IRQ(), store the regs pointer at the beginning, saving the old one:\n\n\tstruct pt_regs *old_regs \u003d set_irq_regs(regs);\n\nAnd put the old one back at the end:\n\n\tset_irq_regs(old_regs);\n\nDon\u0027t pass regs through to generic_handle_irq() or __do_IRQ().\n\nIn timer_interrupt(), this sort of change will be necessary:\n\n\t-\tupdate_process_times(user_mode(regs));\n\t-\tprofile_tick(CPU_PROFILING, regs);\n\t+\tupdate_process_times(user_mode(get_irq_regs()));\n\t+\tprofile_tick(CPU_PROFILING);\n\nI\u0027d like to move update_process_times()\u0027s use of get_irq_regs() into itself,\nexcept that i386, alone of the archs, uses something other than user_mode().\n\nSome notes on the interrupt handling in the drivers:\n\n (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in\n     the input_dev struct.\n\n (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does\n     something different depending on whether it\u0027s been supplied with a regs\n     pointer or not.\n\n (*) Various IRQ handler function pointers have been moved to type\n     irq_handler_t.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)\n"
    },
    {
      "commit": "1a657f78dcc8ea7c53eaa1f2a45ea2315738c15f",
      "tree": "a19972027792082fed505c8d540f7d877e37c0ab",
      "parents": [
        "1c0d04c9e44f4a248335c33d2be7c7f7b06ff359"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Oct 02 02:18:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:25 2006 -0700"
      },
      "message": "[PATCH] introduce get_task_pid() to fix unsafe get_pid()\n\nproc_pid_make_inode:\n\n\tei-\u003epid \u003d get_pid(task_pid(task));\n\nI think this is not safe.  get_pid() can be preempted after checking \"pid\n!\u003d NULL\".  Then the task exits, does detach_pid(), and RCU frees the pid.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1c0d04c9e44f4a248335c33d2be7c7f7b06ff359",
      "tree": "6eb913a14a86311158e9a36cc28cd765b179b023",
      "parents": [
        "5e61feafa2c641c2a013ba94eec56c411011cc94"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:25 2006 -0700"
      },
      "message": "[PATCH] proc: comment what proc_fill_cache does\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5e61feafa2c641c2a013ba94eec56c411011cc94",
      "tree": "2d6285e3261b106dc8a98cb9aa522096754c862a",
      "parents": [
        "7bcd6b0efd5216f2f208e92150b0e5b9bea2c210"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:25 2006 -0700"
      },
      "message": "[PATCH] proc: remove the useless SMP-safe comments from /proc\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7bcd6b0efd5216f2f208e92150b0e5b9bea2c210",
      "tree": "c27e9291d2579fe0914133cf9d9c18d853351a5f",
      "parents": [
        "8e95bd936df2d3fc0e773068aa34350306a5c52a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:25 2006 -0700"
      },
      "message": "[PATCH] proc: remove trailing blank entry from pid_entry arrays\n\nIt was pointed out that since I am taking ARRAY_SIZE anyway the trailing empty\nentry is silly and just wastes space.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8e95bd936df2d3fc0e773068aa34350306a5c52a",
      "tree": "fe8c3cdeb892d73e2302c2595d4790e49e2ba858",
      "parents": [
        "b0fa9db6abdb2875a6d3069ddc6a2846a73fa5cd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: properly compute TGID_OFFSET\n\nThe value doesn\u0027t change but this ensures I will have the proper value when\nother files are added to proc_base_stuff.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0fa9db6abdb2875a6d3069ddc6a2846a73fa5cd",
      "tree": "840fd70ce726f94ff389d97dd012e53ae02f1dcf",
      "parents": [
        "a593d6edeb0a5a2c6e6919b225cec668a375df52"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Oct 02 02:18:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: drop tasklist lock in task_state()\n\ntask_state() needs tasklist_lock to protect -\u003eparent/-\u003ereal_parent.  However\ntask-\u003eparent points to nowhere only when the actions below happen in order\n\n\t1) release_task(task)\n\t2) release_task(task-\u003eparent)\n\t3) a grace period passed\n\nBut 3) implies that the memory ops from 1) should be finished, so pid_alive()\ncan\u0027t be true in such a case.\n\nOtherwise, we don\u0027t care if -\u003eparent/-\u003ereal_parent changes under us.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a593d6edeb0a5a2c6e6919b225cec668a375df52",
      "tree": "f61ea811ad6c9d6bbba9268bdb08cf507fab5e93",
      "parents": [
        "5e6b3f42edc20e988b186fbfb9eec174294222ea"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Oct 02 02:18:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: convert do_task_stat() to use lock_task_sighand()\n\nDrop tasklist_lock. -\u003esiglock protects almost all interesting data\n(including sub-threads traversal) except:\n\n\t-\u003esignal-\u003etty\n\t\tprotected by tty_mutex\n\n\t-\u003ereal_parent\n\t\tthe task can\u0027t be unhashed while we are holding\n\t\t-\u003esiglock, so -\u003ereal_parent can change from under us\n\t\tbut we can safely dereference it under rcu_read_lock()\n\n\t-\u003epgrp/-\u003esession\n\t\twe can get inconsistent numbers if the task does\n\t\tsys_setsid/daemonize at the same time. I hope this\n\t\tis acceptable.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5e6b3f42edc20e988b186fbfb9eec174294222ea",
      "tree": "3a99b922dab485df36e3a839b315b1ef2af5b0e9",
      "parents": [
        "7fbaac005cab2f3b4d6999cdb32fb93d442c5cdb"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Oct 02 02:18:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: convert task_sig() to use lock_task_sighand()\n\nlock_task_sighand() can take -\u003esiglock without holding tasklist_lock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7fbaac005cab2f3b4d6999cdb32fb93d442c5cdb",
      "tree": "5e97a4a30d7659ff688500e997387c38d042faa4",
      "parents": [
        "72d9dcfc7afd80fe98334ec23531b638ee54df8b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: Use pid_task instead of open coding it\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "72d9dcfc7afd80fe98334ec23531b638ee54df8b",
      "tree": "63d03e1e77457d479d65a48ac1df11032ad9197f",
      "parents": [
        "61a28784028e6d55755e4d0f39bee8d9bf2ee8d9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: Merge proc_tid_attr and proc_tgid_attr\n\nThe implementation is exactly the same and there is currently nothing to\ndistinguish proc_tid_attr, and proc_tgid_attr.  So it is pointless to have two\nseparate implementations.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "61a28784028e6d55755e4d0f39bee8d9bf2ee8d9",
      "tree": "ee114d76871f98da80ab14e9a86416da27a1787e",
      "parents": [
        "444ceed8d186631fdded5e3f24dc20b93d0d3fda"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: Remove the hard coded inode numbers\n\nThe hard coded inode numbers in proc currently limit its maintainability,\nits flexibility, and what can be done with the rest of system.  /proc limits\npid-max to 32768 on 32 bit systems it limits fd-max to 32768 on all systems,\nand placing the pid in the inode number really gets in the way of implementing\nsubdirectories of per process information.\n\nEver since people started adding to the middle of the file type enumeration we\nhaven\u0027t been maintaing the historical inode numbers, all we have really\nsucceeded in doing is keeping the pid in the proc inode number.  The pid is\nalready available in the directory name so no information is lost removing it\nfrom the inode number.\n\nSo if something in user space cares if we remove the inode number from the\n/proc inode it is almost certainly broken.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "444ceed8d186631fdded5e3f24dc20b93d0d3fda",
      "tree": "c543ebbb4d1c8448770502be32c9166f2c3ef485",
      "parents": [
        "801199ce805a2412bbcd9bfe213092ec656013dd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: Factor out an instantiate method from every lookup method\n\nTo remove the hard coded proc inode numbers it is necessary to be able to\ncreate the proc inodes during readdir.  The instantiate methods are the subset\nof lookup that is needed to accomplish that.\n\nThis first step just splits the lookup methods into 2 functions.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "801199ce805a2412bbcd9bfe213092ec656013dd",
      "tree": "18e465cd852cc8a5105fea4e08b6a63503ee8077",
      "parents": [
        "c5f2420a063fcc5a4cd6610c3ef6934827853001"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:18:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:24 2006 -0700"
      },
      "message": "[PATCH] proc: Make the generation of the self symlink table driven\n\nThis patch generalizes the concept of files in /proc that are related to\nprocesses but live in the root directory of /proc\n\nIdeally this would reuse infrastructure from the rest of the process specific\nparts of proc but unfortunately security_task_to_inode must not be called on\nfiles that are not strictly per process.  security_task_to_inode really needs\nto be reexamined as the security label can change in important places that we\nare not currently catching, but I\u0027m not certain that simplifies this problem.\n\nBy at least matching the structure of the rest of proc we get more idiom reuse\nand it becomes easier to spot problems in the way things are put together.\n\nLater things like /proc/mounts are likely to be moved into proc_base as well.\nIf union mounts are ever supported we may be able to make /proc a union mount,\nand properly split it into 2 filesystems.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1651e14e28a2d9f446018ef522882e0709a2ce4f",
      "tree": "401ff78624fdc4b445f3f95174a223acaf6a4ca0",
      "parents": [
        "0437eb594e6e5e699248f865482e61034be846d0"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:20 2006 -0700"
      },
      "message": "[PATCH] namespaces: incorporate fs namespace into nsproxy\n\nThis moves the mount namespace into the nsproxy.  The mount namespace count\nnow refers to the number of nsproxies point to it, rather than the number of\ntasks.  As a result, the unshare_namespace() function in kernel/fork.c no\nlonger checks whether it is being shared.\n\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3fbc96486459324e182717b03c50c90c880be6ec",
      "tree": "c2b5ccb3f64913daeb040c21652e4b421cc76bca",
      "parents": [
        "aa5a6662f93f52605b6c447ba6f7291e92f515c5"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Mon Oct 02 02:17:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:15 2006 -0700"
      },
      "message": "[PATCH] Define struct pspace\n\nDefine a per-container pid space object.  And create one instance of this\nobject, init_pspace, to define the entire pid space.  Subsequent patches\nwill provide/use interfaces to create/destroy pid spaces.\n\nIts a subset/rework of Eric Biederman\u0027s patch\nhttp://lkml.org/lkml/2006/2/6/285 .\n\nSigned-off-by: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f6c7a1f34e92b0b561024ead9fa70623683025e4",
      "tree": "6906523c635c28ccf7b1d4f726e8ac67cf22d362",
      "parents": [
        "20cdc894c45d2e4ab0c69e95a56b7c5ed36ae0dd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:13 2006 -0700"
      },
      "message": "[PATCH] proc: give the root directory a task\n\nHelper functions in base.c like proc_pident_readdir and proc_pident_lookup\nassume the directories have an associated task, and cannot currently be used\non the /proc root directory because it does not have such a task.\n\nThis small changes allows for base.c to be simplified and later when multiple\npid spaces are introduced it makes getting the needed context information\ntrivial.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "20cdc894c45d2e4ab0c69e95a56b7c5ed36ae0dd",
      "tree": "889b369ebf1a54a96e8a93c2d8c49921ed2fc4b4",
      "parents": [
        "28a6d67179da6964d1640d379c5e5d4f46dd0042"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:13 2006 -0700"
      },
      "message": "[PATCH] proc: modify proc_pident_lookup to be completely table driven\n\nCurrently proc_pident_lookup gets the names and types from a table and then\nhas a huge switch statement to get the inode and file operations it needs.\nThat is silly and is becoming increasingly hard to maintain so I just put all\nof the information in the table.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "28a6d67179da6964d1640d379c5e5d4f46dd0042",
      "tree": "dac1acf4a94f5718699d287603933f49df55d1e5",
      "parents": [
        "0804ef4b0de7121261f77c565b20a11ac694e877"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmisison.com",
        "time": "Mon Oct 02 02:17:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:13 2006 -0700"
      },
      "message": "[PATCH] proc: reorder the functions in base.c\n\nThere were enough changes in my last round of cleaning up proc I had to break\nup the patch series into smaller chunks, and my last chunk never got resent.\n\nThis patchset gives proc dynamic inode numbers (the static inode numbers were\na pain to maintain and prevent all kinds of things), and removes the horrible\nswitch statements that had to be kept in sync with everything else.  Being\nfully table driver takes us 90% of the way of being able to register new\nprocess specific attributes in proc.\n\nThis patch:\n\nGroup the functions by what they implement instead of by type of operation.\nAs it existed base.c was quickly approaching the point where it could not be\nfollowed.\n\nNo functionality or code changes asside from adding/removing forward\ndeclartions are implemented in this patch.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0804ef4b0de7121261f77c565b20a11ac694e877",
      "tree": "ff12e3b999dc2ce66d97fce5d76cd7df073c0d5c",
      "parents": [
        "2bc2d61a9638dab670d8361e928d1a5a291173ef"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:12 2006 -0700"
      },
      "message": "[PATCH] proc: readdir race fix (take 3)\n\nThe problem: An opendir, readdir, closedir sequence can fail to report\nprocess ids that are continually in use throughout the sequence of system\ncalls.  For this race to trigger the process that proc_pid_readdir stops at\nmust exit before readdir is called again.\n\nThis can cause ps to fail to report processes, and it is in violation of\nposix guarantees and normal application expectations with respect to\nreaddir.\n\nCurrently there is no way to work around this problem in user space short\nof providing a gargantuan buffer to user space so the directory read all\nhappens in on system call.\n\nThis patch implements the normal directory semantics for proc, that\nguarantee that a directory entry that is neither created nor destroyed\nwhile reading the directory entry will be returned.  For directory that are\neither created or destroyed during the readdir you may or may not see them.\n Furthermore you may seek to a directory offset you have previously seen.\n\nThese are the guarantee that ext[23] provides and that posix requires, and\nmore importantly that user space expects.  Plus it is a simple semantic to\nimplement reliable service.  It is just a matter of calling readdir a\nsecond time if you are wondering if something new has show up.\n\nThese better semantics are implemented by scanning through the pids in\nnumerical order and by making the file offset a pid plus a fixed offset.\n\nThe pid scan happens on the pid bitmap, which when you look at it is\nremarkably efficient for a brute force algorithm.  Given that a typical\ncache line is 64 bytes and thus covers space for 64*8 \u003d\u003d 200 pids.  There\nare only 40 cache lines for the entire 32K pid space.  A typical system\nwill have 100 pids or more so this is actually fewer cache lines we have to\nlook at to scan a linked list, and the worst case of having to scan the\nentire pid bitmap is pretty reasonable.\n\nIf we need something more efficient we can go to a more efficient data\nstructure for indexing the pids, but for now what we have should be\nsufficient.\n\nIn addition this takes no additional locks and is actually less code than\nwhat we are doing now.\n\nAlso another very subtle bug in this area has been fixed.  It is possible\nto catch a task in the middle of de_thread where a thread is assuming the\nthread of it\u0027s thread group leader.  This patch carefully handles that case\nso if we hit it we don\u0027t fail to return the pid, that is undergoing the\nde_thread dance.\n\nThanks to KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e for\nproviding the first fix, pointing this out and working on it.\n\n[oleg@tv-sign.ru: fix it]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Jean Delvare \u003cjdelvare@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9361401eb7619c033e2394e4f9f6d410d6719ac7",
      "tree": "04b94a71f2366988c17740d1c16cfbdec41d5d2e",
      "parents": [
        "d366e40a1cabd453be6e2609caa7e12f9ca17b1f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Sep 30 20:45:40 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:52:31 2006 +0200"
      },
      "message": "[PATCH] BLOCK: Make it possible to disable the block layer [try #6]\n\nMake it possible to disable the block layer.  Not all embedded devices require\nit, some can make do with just JFFS2, NFS, ramfs, etc - none of which require\nthe block layer to be present.\n\nThis patch does the following:\n\n (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev\n     support.\n\n (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls\n     an item that uses the block layer.  This includes:\n\n     (*) Block I/O tracing.\n\n     (*) Disk partition code.\n\n     (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.\n\n     (*) The SCSI layer.  As far as I can tell, even SCSI chardevs use the\n     \t block layer to do scheduling.  Some drivers that use SCSI facilities -\n     \t such as USB storage - end up disabled indirectly from this.\n\n     (*) Various block-based device drivers, such as IDE and the old CDROM\n     \t drivers.\n\n     (*) MTD blockdev handling and FTL.\n\n     (*) JFFS - which uses set_bdev_super(), something it could avoid doing by\n     \t taking a leaf out of JFFS2\u0027s book.\n\n (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and\n     linux/elevator.h contingent on CONFIG_BLOCK being set.  sector_div() is,\n     however, still used in places, and so is still available.\n\n (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and\n     parts of linux/fs.h.\n\n (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.\n\n (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.\n\n (*) set_page_dirty() doesn\u0027t call __set_page_dirty_buffers() if CONFIG_BLOCK\n     is not enabled.\n\n (*) fs/no-block.c is created to hold out-of-line stubs and things that are\n     required when CONFIG_BLOCK is not set:\n\n     (*) Default blockdev file operations (to give error ENODEV on opening).\n\n (*) Makes some /proc changes:\n\n     (*) /proc/devices does not list any blockdevs.\n\n     (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.\n\n (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.\n\n (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if\n     given command other than Q_SYNC or if a special device is specified.\n\n (*) In init/do_mounts.c, no reference is made to the blockdev routines if\n     CONFIG_BLOCK is not defined.  This does not prohibit NFS roots or JFFS2.\n\n (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return\n     error ENOSYS by way of cond_syscall if so).\n\n (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if\n     CONFIG_BLOCK is not set, since they can\u0027t then happen.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "632dd2053a1146c826ceb6f26ab689389c05e751",
      "tree": "439c457364f5b58e2de09950e5e0854968e3cde2",
      "parents": [
        "327dcaadc0bc08ad081aa8e36b6ec7ad7aa45e30"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Fri Sep 29 02:01:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:25 2006 -0700"
      },
      "message": "[PATCH] Kcore elf note namesz field fix\n\no As per ELF specifications, it looks like that elf note \"namesz\" field\n  contains the length of \"name\" including the size of null character.  And\n  currently we are filling \"namesz\" without taking into the consideration\n  the null character size.\n\no Kexec-tools performs this check deligently hence I ran into the issue\n  while trying to open /proc/kcore in kexec-tools for some info.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f7ca54f486d3b07f48b8bbc92705bde6ba98ee54",
      "tree": "33a464bf15016d5521c1c18f53af5c64a2cc06de",
      "parents": [
        "87d7c8aca8670a772f74766c19e0345a606b67a9"
      ],
      "author": {
        "name": "Frederik Deweerdt",
        "email": "deweerdt@free.fr",
        "time": "Fri Sep 29 02:01:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:19 2006 -0700"
      },
      "message": "[PATCH] fix mem_write() return value\n\nAt the beginning of the routine, \"copied\" is set to 0, but it is no good\nbecause in lines 805 and 812 it is set to other values.  Finally, the\nroutine returns as if it copied 12 (\u003dENOMEM) bytes less than it actually\ndid.\n\nSigned-off-by: Frederik Deweerdt \u003cfrederik.deweerdt@gmail.com\u003e\nAcked-by: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3cfd0885fac78c130a119ed576d18b5948fa2a5a",
      "tree": "9a49ab330a39fc32cff3208038f1cef7763780aa",
      "parents": [
        "808a0d389ff8d85017ec811085a6083394c02caf"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Sep 29 02:00:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:16 2006 -0700"
      },
      "message": "[PATCH] tty: stop the tty vanishing under procfs access\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f269fdd1829acc5e53bf57b145003e5733133f2b",
      "tree": "494fef02f26f089f14c719e9a4394a41f7b686ec",
      "parents": [
        "930e652a21a08986b03d1f370f933057dc0db2dc"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 27 01:50:23 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:15 2006 -0700"
      },
      "message": "[PATCH] NOMMU: move the fallback arch_vma_name() to a sensible place\n\nMove the fallback arch_vma_name() to a sensible place (kernel/signal.c).\n\nCurrently it\u0027s in fs/proc/task_mmu.c, a file that is dependent on both\nCONFIG_PROC_FS and CONFIG_MMU being enabled, but it\u0027s used from\nkernel/signal.c from where it is called unconditionally.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dbf8685c8e21404e3a8ed244bd0219d3c4b89101",
      "tree": "716b83de856049b51abf9770840ea122b7ca3285",
      "parents": [
        "d00c7b993712e4bb16d0012b35b654e40159b327"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 27 01:50:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:14 2006 -0700"
      },
      "message": "[PATCH] NOMMU: Implement /proc/pid/maps for NOMMU\n\nImplement /proc/pid/maps for NOMMU by reading the vm_area_list attached to\ncurrent-\u003emm-\u003econtext.vmlist.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f8314dc60ccba7e41f425048c4160dc7f63377d5",
      "tree": "4e361a6e93dc7f64da0244e5a0dfef1fface0ddb",
      "parents": [
        "32c2d2bc4bed61323f14f2a7d69ccbd567253d8a"
      ],
      "author": {
        "name": "Panagiotis Issaris",
        "email": "takis@issaris.org",
        "time": "Wed Sep 27 01:49:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] fs: Conversions from kmalloc+memset to k(z|c)alloc\n\nConversions from kmalloc+memset to kzalloc.\n\nSigned-off-by: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nJffs2-bit-acked-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "972d1a7b140569084439a81265a0f15b74e924e0",
      "tree": "e86e676e407503ef3d98020a88bb925235f11434",
      "parents": [
        "8417bba4b151346ed475fcc923693c9e3be89063"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Sep 25 23:31:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:51 2006 -0700"
      },
      "message": "[PATCH] ZVC: Support NR_SLAB_RECLAIMABLE / NR_SLAB_UNRECLAIMABLE\n\nRemove the atomic counter for slab_reclaim_pages and replace the counter\nand NR_SLAB with two ZVC counter that account for unreclaimable and\nreclaimable slab pages: NR_SLAB_RECLAIMABLE and NR_SLAB_UNRECLAIMABLE.\n\nChange the check in vmscan.c to refer to to NR_SLAB_RECLAIMABLE.  The\nintend seems to be to check for slab pages that could be freed.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "182e8e237349e7b6354f45aee4780b6423fd6a50",
      "tree": "a1b9fc186a514e547eb257803616d67ba7b69976",
      "parents": [
        "f06a96844a577c43249fce25809a4fae07407f46"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Sep 25 23:31:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:46 2006 -0700"
      },
      "message": "[PATCH] reduce MAX_NR_ZONES: make display of highmem counters conditional on CONFIG_HIGHMEM\n\nDo not display HIGHMEM memory sizes if CONFIG_HIGHMEM is not set.\n\nMake HIGHMEM dependent texts and make display of highmem counters optional\n\nSome texts are depending on CONFIG_HIGHMEM.\n\nRemove those strings and remove the display of highmem counter values if\nCONFIG_HIGHMEM is not set.\n\n[akpm@osdl.org: remove some ifdefs]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f5ef68da5fda5e095b585ea5ecdd42af3c8695f7",
      "tree": "6ceabca67d61c1419daa1a407b45bdf1268bac09",
      "parents": [
        "513627d7fec6fcb7b3d56ce355cb4d192c76b530"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Aug 27 01:23:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:33 2006 -0700"
      },
      "message": "[PATCH] /proc/meminfo: don\u0027t put spaces in names\n\nNone of the other /proc/meminfo lines have a space in the identifier.  This\npost-2.6.17 addition has the potential to break existing parsers, so use an\nunderscore instead (like Committed_AS).\n\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6d76fa58b050044994fe25f8753b8023f2b36737",
      "tree": "86964d8aeb297fe4346f73d812519646c7fdca20",
      "parents": [
        "92d032855e64834283de5acfb0463232e0ab128e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Sat Jul 15 12:26:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Sat Jul 15 12:26:45 2006 -0700"
      },
      "message": "Don\u0027t allow chmod() on the /proc/\u003cpid\u003e/ files\n\nThis just turns off chmod() on the /proc/\u003cpid\u003e/ files, since there is no\ngood reason to allow it, and had we disallowed it originally, the nasty\n/proc race exploit wouldn\u0027t have been possible.\n\nThe other patches already fixed the problem chmod() could cause, so this\nis really just some final mop-up..\n\nThis particular version is based off a patch by Eugene and Marcel which\nhad much better naming than my original equivalent one.\n\nSigned-off-by: Eugene Teo \u003ceteo@redhat.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92d032855e64834283de5acfb0463232e0ab128e",
      "tree": "db0d8c49b821c8ed9f31691dca54f0297c16ce02",
      "parents": [
        "2724a1a55f847e2b5007cf294e03cfa09d0d22f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Sat Jul 15 12:20:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Sat Jul 15 12:20:05 2006 -0700"
      },
      "message": "Mark /proc MS_NOSUID and MS_NOEXEC\n\nNot that we really need this any more, but at the same time there\u0027s no\nreason not to do this.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "25890454667b3295f67b3372352be90705f8667c",
      "tree": "f66e24be59ced75853eb82709e3036e735aac21e",
      "parents": [
        "a3baf649ca9ca0a96fba538f03b0f17c043b755c"
      ],
      "author": {
        "name": "Shailabh Nagar",
        "email": "nagar@watson.ibm.com",
        "time": "Fri Jul 14 00:24:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:57 2006 -0700"
      },
      "message": "[PATCH] per-task-delay-accounting: /proc export of aggregated block I/O delays\n\nExport I/O delays seen by a task through /proc/\u003ctgid\u003e/stats for use in top\netc.\n\nNote that delays for I/O done for swapping in pages (swapin I/O) is clubbed\ntogether with all other I/O here (this is not the case in the netlink\ninterface where the swapin I/O is kept distinct)\n\n[akpm@osdl.org: printk warning fix]\nSigned-off-by: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Peter Chubb \u003cpeterc@gelato.unsw.edu.au\u003e\nCc: Erich Focht \u003cefocht@ess.nec.de\u003e\nCc: Levent Serinol \u003clserinol@gmail.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ee8ab9fbf21e6b87ad227cd46c0a4be41ab749b",
      "tree": "148cf933d20fdf79096b71d03552c1c511c2db13",
      "parents": [
        "18b0bbd8ca6d3cb90425aa0d77b99a762c6d6de3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:48:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:48:03 2006 -0700"
      },
      "message": "Relax /proc fix a bit\n\nClearign all of i_mode was a bit draconian. We only really care about\nS_ISUID/ISGID, after all.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "18b0bbd8ca6d3cb90425aa0d77b99a762c6d6de3",
      "tree": "b1a9c89bc546a71924ed7253f2f27afdeb82d297",
      "parents": [
        "ab6cf0d0cb96417ef65cc2c2120c0e879edf7a4a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 16:51:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 16:51:34 2006 -0700"
      },
      "message": "Fix nasty /proc vulnerability\n\nWe have a bad interaction with both the kernel and user space being able\nto change some of the /proc file status.  This fixes the most obvious\npart of it, but I expect we\u0027ll also make it harder for users to modify\neven their \"own\" files in /proc.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0635170b544b01b46a81b4ac5cff5020ab59d1fc",
      "tree": "743144ec50b98b1b16df6dfe1448584b946aae2e",
      "parents": [
        "232ba9dbd68bb084d5d90c511f207d18eae614da"
      ],
      "author": {
        "name": "Adam B. Jerome",
        "email": "abj@novell.com",
        "time": "Wed Jul 12 09:03:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 12 12:52:55 2006 -0700"
      },
      "message": "[PATCH] /fs/proc/: \u0027larger than buffer size\u0027 memory accessed by clear_user()\n\nAddress a potential \u0027larger than buffer size\u0027 memory access by\nclear_user().  Without this patch, this call to clear_user() can attempt to\nclear too many (tsz) bytes resulting in a wrong (-EFAULT) return code by\nread_kcore().\n\nSigned-off-by: Adam B. Jerome \u003cabj@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4cac1a0227a6f84be0381cd350a3c8730a4a671",
      "tree": "24bf1aa95d1977161774210bbb9bf697ad0fe5e9",
      "parents": [
        "01bf466e1866feeb7fce0319cbafe0166e29f5e4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Jul 10 04:44:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:22 2006 -0700"
      },
      "message": "[PATCH] FDPIC: Move roundup() into linux/kernel.h\n\nMove the roundup() macro from binfmt_elf.c into linux/kernel.h as it\u0027s\ngenerally useful.\n\n[akpm@osdl.org: nuke all the other implementations]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "31304c909e6945b005af62cd55a582e9c010a0b4",
      "tree": "18cc603ac965319699d30dfea05289be9699a1d8",
      "parents": [
        "e82ca04387dd6c98722f5f48235089839fd04268"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Tue Jul 04 15:04:39 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 22:37:13 2006 -0700"
      },
      "message": "[PATCH] uclinux: fix proc_task()/get_proc-task() naming\n\nFix changed name of proc_task() to get_proc_task().\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22a3e233ca08a2ddc949ba1ae8f6e16ec7ef1a13",
      "tree": "7ef158ba2c30e0dde2dc103d1904fae243759a6b",
      "parents": [
        "39302175c26d74be35715c05a0f342c9e64c21bf",
        "6ab3d5624e172c553004ecc862bfeac16d9d68b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 15:39:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 15:39:30 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:\n  Remove obsolete #include \u003clinux/config.h\u003e\n  remove obsolete swsusp_encrypt\n  arch/arm26/Kconfig typos\n  Documentation/IPMI typos\n  Kconfig: Typos in net/sched/Kconfig\n  v9fs: do not include linux/version.h\n  Documentation/DocBook/mtdnand.tmpl: typo fixes\n  typo fixes: specfic -\u003e specific\n  typo fixes in Documentation/networking/pktgen.txt\n  typo fixes: occuring -\u003e occurring\n  typo fixes: infomation -\u003e information\n  typo fixes: disadvantadge -\u003e disadvantage\n  typo fixes: aquire -\u003e acquire\n  typo fixes: mecanism -\u003e mechanism\n  typo fixes: bandwith -\u003e bandwidth\n  fix a typo in the RTC_CLASS help text\n  smb is no longer maintained\n\nManually merged trivial conflict in arch/um/kernel/vmlinux.lds.S\n"
    },
    {
      "commit": "d2c5e30c9a1420902262aa923794d2ae4e0bc391",
      "tree": "b8c42c189c2bc8dd4b6d808ee8ed2b28dbd70ddd",
      "parents": [
        "fd39fc8561be33065306bdac0e30414e1e8ac8e1"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:36 2006 -0700"
      },
      "message": "[PATCH] zoned vm counters: conversion of nr_bounce to per zone counter\n\nConversion of nr_bounce to a per zone counter\n\nnr_bounce is only used for proc output.  So it could be left as an event\ncounter.  However, the event counters may not be accurate and nr_bounce is\ncategorizing types of pages in a zone.  So we really need this to also be a\nper zone counter.\n\n[akpm@osdl.org: bugfix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd39fc8561be33065306bdac0e30414e1e8ac8e1",
      "tree": "ae0740716eed3f850a8f7232c61caebe360bb5ae",
      "parents": [
        "ce866b34ae1b7f1ce60234cf65855886ac7e7d30"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:36 2006 -0700"
      },
      "message": "[PATCH] zoned vm counters: conversion of nr_unstable to per zone counter\n\nConversion of nr_unstable to a per zone counter\n\nWe need to do some special modifications to the nfs code since there are\nmultiple cases of disposition and we need to have a page ref for proper\naccounting.\n\nThis converts the last critical page state of the VM and therefore we need to\nremove several functions that were depending on GET_PAGE_STATE_LAST in order\nto make the kernel compile again.  We are only left with event type counters\nin page state.\n\n[akpm@osdl.org: bugfixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ce866b34ae1b7f1ce60234cf65855886ac7e7d30",
      "tree": "e9a2664f0abc5221b9a92e1417d8e02b94a634c4",
      "parents": [
        "b1e7a8fd854d2f895730e82137400012b509650e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:35 2006 -0700"
      },
      "message": "[PATCH] zoned vm counters: conversion of nr_writeback to per zone counter\n\nConversion of nr_writeback to per zone counter.\n\nThis removes the last page_state counter from arch/i386/mm/pgtable.c so we\ndrop the page_state from there.\n\n[akpm@osdl.org: bugfix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b1e7a8fd854d2f895730e82137400012b509650e",
      "tree": "9fba87ff6b0146ebd4ee5bc7d5f0c8b037dbb3ad",
      "parents": [
        "df849a1529c106f7460e51479ca78fe07b07dc8c"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:35 2006 -0700"
      },
      "message": "[PATCH] zoned vm counters: conversion of nr_dirty to per zone counter\n\nThis makes nr_dirty a per zone counter.  Looping over all processors is\navoided during writeback state determination.\n\nThe counter aggregation for nr_dirty had to be undone in the NFS layer since\nwe summed up the page counts from multiple zones.  Someone more familiar with\nNFS should probably review what I have done.\n\n[akpm@osdl.org: bugfix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "df849a1529c106f7460e51479ca78fe07b07dc8c",
      "tree": "f0e52e4720160aa7540a57715c247dce44584cbc",
      "parents": [
        "9a865ffa34b6117a5e0b67640a084d8c2e198c93"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:35 2006 -0700"
      },
      "message": "[PATCH] zoned vm counters: conversion of nr_pagetables to per zone counter\n\nConversion of nr_page_table_pages to a per zone counter\n\n[akpm@osdl.org: bugfix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a865ffa34b6117a5e0b67640a084d8c2e198c93",
      "tree": "c295d5a0831df81eeeded3834f32f513b9ae05c7",
      "parents": [
        "34aa1330f9b3c5783d269851d467326525207422"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:35 2006 -0700"
      },
      "message": "[PATCH] zoned vm counters: conversion of nr_slab to per zone counter\n\n- Allows reclaim to access counter without looping over processor counts.\n\n- Allows accurate statistics on how many pages are used in a zone by\n  the slab. This may become useful to balance slab allocations over\n  various zones.\n\n[akpm@osdl.org: bugfix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f3dbd34460ff54962d3e3244b6bcb7f5295356e6",
      "tree": "91caae2b90d684a7640b5da451a9a2ff8a5c8fb8",
      "parents": [
        "bf02cf4b6cf931d060ad5c6ce9b960af6faefd2d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:35 2006 -0700"
      },
      "message": "[PATCH] zoned vm counters: split NR_ANON_PAGES off from NR_FILE_MAPPED\n\nThe current NR_FILE_MAPPED is used by zone reclaim and the dirty load\ncalculation as the number of mapped pagecache pages.  However, that is not\ntrue.  NR_FILE_MAPPED includes the mapped anonymous pages.  This patch\nseparates those and therefore allows an accurate tracking of the anonymous\npages per zone.\n\nIt then becomes possible to determine the number of unmapped pages per zone\nand we can avoid scanning for unmapped pages if there are none.\n\nAlso it may now be possible to determine the mapped/unmapped ratio in\nget_dirty_limit.  Isnt the number of anonymous pages irrelevant in that\ncalculation?\n\nNote that this will change the meaning of the number of mapped pages reported\nin /proc/vmstat /proc/meminfo and in the per node statistics.  This may affect\nuser space tools that monitor these counters!  NR_FILE_MAPPED works like\nNR_FILE_DIRTY.  It is only valid for pagecache pages.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "347ce434d57da80fd5809c0c836f206a50999c26",
      "tree": "f730d151be77977f594e5cc083a93bbeb4c602cc",
      "parents": [
        "65ba55f500a37272985d071c9bbb35256a2f7c14"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:34 2006 -0700"
      },
      "message": "[PATCH] zoned vm counters: conversion of nr_pagecache to per zone counter\n\nCurrently a single atomic variable is used to establish the size of the page\ncache in the whole machine.  The zoned VM counters have the same method of\nimplementation as the nr_pagecache code but also allow the determination of\nthe pagecache size per zone.\n\nRemove the special implementation for nr_pagecache and make it a zoned counter\nnamed NR_FILE_PAGES.\n\nUpdates of the page cache counters are always performed with interrupts off.\nWe can therefore use the __ variant here.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "65ba55f500a37272985d071c9bbb35256a2f7c14",
      "tree": "e7735326ef2d2dca9d00a6c5ae47e9eb03c7834f",
      "parents": [
        "2244b95a7bcf8d24196f8a3a44187ba5dfff754c"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:34 2006 -0700"
      },
      "message": "[PATCH] zoned vm counters: convert nr_mapped to per zone counter\n\nnr_mapped is important because it allows a determination of how many pages of\na zone are not mapped, which would allow a more efficient means of determining\nwhen we need to reclaim memory in a zone.\n\nWe take the nr_mapped field out of the page state structure and define a new\nper zone counter named NR_FILE_MAPPED (the anonymous pages will be split off\nfrom NR_MAPPED in the next patch).\n\nWe replace the use of nr_mapped in various kernel locations.  This avoids the\nlooping over all processors in try_to_free_pages(), writeback, reclaim (swap +\nzone reclaim).\n\n[akpm@osdl.org: bugfix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "e6e5494cb23d1933735ee47cc674ffe1c4afed6f",
      "tree": "c8945bb3ae5bec38693d801fb589d22d48d6f8eb",
      "parents": [
        "d5fb34261dcd32c9cb3b28121fdc46308db513a1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:53:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:38 2006 -0700"
      },
      "message": "[PATCH] vdso: randomize the i386 vDSO by moving it into a vma\n\nMove the i386 VDSO down into a vma and thus randomize it.\n\nBesides the security implications, this feature also helps debuggers, which\ncan COW a vma-backed VDSO just like a normal DSO and can thus do\nsingle-stepping and other debugging features.\n\nIt\u0027s good for hypervisors (Xen, VMWare) too, which typically live in the same\nhigh-mapped address space as the VDSO, hence whenever the VDSO is used, they\nget lots of guest pagefaults and have to fix such guest accesses up - which\nslows things down instead of speeding things up (the primary purpose of the\nVDSO).\n\nThere\u0027s a new CONFIG_COMPAT_VDSO (default\u003dy) option, which provides support\nfor older glibcs that still rely on a prelinked high-mapped VDSO.  Newer\ndistributions (using glibc 2.3.3 or later) can turn this option off.  Turning\nit off is also recommended for security reasons: attackers cannot use the\npredictable high-mapped VDSO page as syscall trampoline anymore.\n\nThere is a new vdso\u003d[0|1] boot option as well, and a runtime\n/proc/sys/vm/vdso_enabled sysctl switch, that allows the VDSO to be turned\non/off.\n\n(This version of the VDSO-randomization patch also has working ELF\ncoredumping, the previous patch crashed in the coredumping code.)\n\nThis code is a combined work of the exec-shield VDSO randomization\ncode and Gerd Hoffmann\u0027s hypervisor-centric VDSO patch. Rusty Russell\nstarted this patch and i completed it.\n\n[akpm@osdl.org: cleanups]\n[akpm@osdl.org: compile fix]\n[akpm@osdl.org: compile fix 2]\n[akpm@osdl.org: compile fix 3]\n[akpm@osdl.org: revernt MAXMEM change]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Gerd Hoffmann \u003ckraxel@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "42c3e03ef6b298813557cdb997bd6db619cd65a2",
      "tree": "c2fba776ccf7015d45651ff7d2aee89f06da6f42",
      "parents": [
        "c1df7fb88a011b39ea722ac00975c5b8a803261b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jun 26 00:26:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] SELinux: Add sockcreate node to procattr API\n\nBelow is a patch to add a new /proc/self/attr/sockcreate A process may write a\ncontext into this interface and all subsequent sockets created will be labeled\nwith that context.  This is the same idea as the fscreate interface where a\nprocess can specify the label of a file about to be created.  At this time one\nenvisioned user of this will be xinetd.  It will be able to better label\nsockets for the actual services.  At this time all sockets take the label of\nthe creating process, so all xinitd sockets would just be labeled the same.\n\nI tested this by creating a tcp sender and listener.  The sender was able to\nwrite to this new proc file and then create sockets with the specified label.\nI am able to be sure the new label was used since the avc denial messages\nkicked out by the kernel included both the new security permission\nsetsockcreate and all the socket denials were for the new label, not the label\nof the running process.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c1df7fb88a011b39ea722ac00975c5b8a803261b",
      "tree": "d3cbbe5bde859897993ceb8969a080ae71166a67",
      "parents": [
        "a872ff0cb2218dc9688b990c5ccda064dc40946b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Jun 26 00:26:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] cleanup next_tid()\n\nTry to make next_tid() a bit more readable and deletes unnecessary\n\"pid_alive(pos)\" check.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a872ff0cb2218dc9688b990c5ccda064dc40946b",
      "tree": "ff94ae63e668f0229fc7aeed220def7e9708db3a",
      "parents": [
        "cc288738c9ae3c64d3c50b86604044d1f6d22941"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Jun 26 00:26:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] simplify/fix first_tid()\n\nfirst_tid:\n\n\t/* If nr exceeds the number of threads there is nothing todo */\n\tif (nr) {\n\t\tif (nr \u003e\u003d get_nr_threads(leader))\n\t\t\tgoto done;\n\t}\n\nThis is not reliable: sub-threads can exit after this check, so the\n\u0027for\u0027 loop below can overlap and proc_task_readdir() can return an\nalready filldir\u0027ed dirents.\n\n\tfor (; pos \u0026\u0026 pid_alive(pos); pos \u003d next_thread(pos)) {\n\t\tif (--nr \u003e 0)\n\t\t\tcontinue;\n\nOff-by-one error, will return \u0027leader\u0027 when nr \u003d\u003d 1.\n\nThis patch tries to fix these problems and simplify the code.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc288738c9ae3c64d3c50b86604044d1f6d22941",
      "tree": "87058616bfa84572647fbe574fe733e81c1d17b6",
      "parents": [
        "df26c40e567356caeefe2861311e19c54444d917"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:26:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: Remove tasklist_lock from proc_task_readdir.\n\nThis is just like my previous removal of tasklist_lock from first_tgid, and\nnext_tgid.  It simply had to wait until it was rcu safe to walk the thread\nlist.\n\nThis should be the last instance of the tasklist_lock in proc.  So user\nprocesses should not be able to influence the tasklist lock hold times.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "df26c40e567356caeefe2861311e19c54444d917",
      "tree": "415527677e85e8b612b916f6fda1645a6207d8e2",
      "parents": [
        "778c1144771f0064b6f51bee865cceb0d996f2f9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: Cleanup proc_fd_access_allowed\n\nIn process of getting proc_fd_access_allowed to work it has developed a few\nwarts.  In particular the special case that always allows introspection and\nthe special case to allow inspection of kernel threads.\n\nThe special case for introspection is needed for /proc/self/mem.\n\nThe special case for kernel threads really should be overridable\nby security modules.\n\nSo consolidate these checks into ptrace.c:may_attach().\n\nThe check to always allow introspection is trivial.\n\nThe check to allow access to kernel threads, and zombies is a little\ntrickier.  mem_read and mem_write already verify an mm exists so it isn\u0027t\nneeded twice.  proc_fd_access_allowed only doesn\u0027t want a check to verify\ntask-\u003emm exits, s it prevents all access to kernel threads.  So just move\nthe task-\u003emm check into ptrace_attach where it is needed for practical\nreasons.\n\nI did a quick audit and none of the security modules in the kernel seem to\ncare if they are passed a task without an mm into security_ptrace.  So the\nabove move should be safe and it allows security modules to come up with\nmore restrictive policy.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "778c1144771f0064b6f51bee865cceb0d996f2f9",
      "tree": "1204e6d84cc5e7e75374544102839e85cfb9eba0",
      "parents": [
        "5b0c1dd38b66e2dd0cf655aa845e341b50b93ddd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: Use sane permission checks on the /proc/\u003cpid\u003e/fd/ symlinks\n\nSince 2.2 we have been doing a chroot check to see if it is appropriate to\nreturn a read or follow one of these magic symlinks.  The chroot check was\nasking a question about the visibility of files to the calling process and\nit was actually checking the destination process, and not the files\nthemselves.  That test was clearly bogus.\n\nIn my first pass through I simply fixed the test to check the visibility of\nthe files themselves.  That naive approach to fixing the permissions was\ntoo strict and resulted in cases where a task could not even see all of\nit\u0027s file descriptors.\n\nWhat has disturbed me about relaxing this check is that file descriptors\nare per-process private things, and they are occasionaly used a user space\ncapability tokens.  Looking a little farther into the symlink path on /proc\nI did find userid checks and a check for capability (CAP_DAC_OVERRIDE) so\nthere were permissions checking this.\n\nBut I was still concerned about privacy.  Besides /proc there is only one\nother way to find out this kind of information, and that is ptrace.  ptrace\nhas been around for a long time and it has a well established security\nmodel.\n\nSo after thinking about it I finally realized that the permission checks\nthat make sense are the permission checks applied to ptrace_attach.  The\nchecks are simple per process, and won\u0027t cause nasty surprises for people\ncoming from less capable unices.\n\nUnfortunately there is one case that the current ptrace_attach test does\nnot cover: Zombies and kernel threads.  Single stepping those kinds of\nprocesses is impossible.  Being able to see which file descriptors are open\non these tasks is important to lsof, fuser and friends.  So for these\nspecial processes I made the rule you can\u0027t find out unless you have\nCAP_SYS_PTRACE.\n\nThese proc permission checks should now conform to the principle of least\nsurprise.  As well as using much less code to implement :)\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5b0c1dd38b66e2dd0cf655aa845e341b50b93ddd",
      "tree": "e8d3341591958d9c3e11400a2f16287a6dd00c46",
      "parents": [
        "13b41b09491e5d75e8027dca1ee78f5e073bc4c0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: optimize proc_check_dentry_visible\n\nThe code doesn\u0027t need to sleep to when making this check so I can just do the\ncomparison and not worry about the reference counts.\n\nTODO: While looking at this I realized that my original cleanup did not push\nthe permission check far enough down into the stack.  The call of\nproc_check_dentry_visible needs to move out of the generic proc\nreadlink/follow link code and into the individual get_link instances.\nOtherwise the shared resources checks are not quite correct (shared\nfiles_struct does not require a shared fs_struct), and there are races with\nunshare.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "13b41b09491e5d75e8027dca1ee78f5e073bc4c0",
      "tree": "3f08183a4f59075fc3015165183b8ef17cb562a6",
      "parents": [
        "99f895518368252ba862cc15ce4eb98ebbe1bec6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: Use struct pid not struct task_ref\n\nIncrementally update my proc-dont-lock-task_structs-indefinitely patches so\nthat they work with struct pid instead of struct task_ref.\n\nMostly this is a straight 1-1 substitution.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "99f895518368252ba862cc15ce4eb98ebbe1bec6",
      "tree": "a9dcc01963221d1fd6a7e357b95d361ebfe91c6d",
      "parents": [
        "8578cea7509cbdec25b31d08b48a92fcc3b1a9e3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: don\u0027t lock task_structs indefinitely\n\nEvery inode in /proc holds a reference to a struct task_struct.  If a\ndirectory or file is opened and remains open after the the task exits this\npinning continues.  With 8K stacks on a 32bit machine the amount pinned per\nfile descriptor is about 10K.\n\nNormally I would figure a reasonable per user process limit is about 100\nprocesses.  With 80 processes, with a 1000 file descriptors each I can trigger\nthe 00M killer on a 32bit kernel, because I have pinned about 800MB of useless\ndata.\n\nThis patch replaces the struct task_struct pointer with a pointer to a struct\ntask_ref which has a struct task_struct pointer.  The so the pinning of dead\ntasks does not happen.\n\nThe code now has to contend with the fact that the task may now exit at any\ntime.  Which is a little but not muh more complicated.\n\nWith this change it takes about 1000 processes each opening up 1000 file\ndescriptors before I can trigger the OOM killer.  Much better.\n\n[mlp@google.com: task_mmu small fixes]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Albert Cahalan \u003cacahalan@gmail.com\u003e\nSigned-off-by: Prasanna Meda \u003cmlp@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8578cea7509cbdec25b31d08b48a92fcc3b1a9e3",
      "tree": "8de6c9bcd4108c3311fab9e66c3be5132e6f854d",
      "parents": [
        "9cc8cbc7f8b7bc3db48bf6d59a731af728e786ce"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: make PROC_NUMBUF the buffer size for holding integers as strings\n\nCurrently in /proc at several different places we define buffers to hold a\nprocess id, or a file descriptor .  In most of them we use either a hard coded\nnumber or a different define.  Modify them all to use PROC_NUMBUF, so the code\nhas a chance of being maintained.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9cc8cbc7f8b7bc3db48bf6d59a731af728e786ce",
      "tree": "fb94d7ee120c14d7a1b56005e8cd67bcba4083e6",
      "parents": [
        "de7587343bfebc186995ad294e3de0da382eb9bc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] simply fix first_tgid\n\nLike the bug Oleg spotted in first_tid there was also a small off by one\nerror in first_tgid, when a seek was done on the /proc directory.  This\nfixes that and changes the code structure to make it a little more obvious\nwhat is going on.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "de7587343bfebc186995ad294e3de0da382eb9bc",
      "tree": "db5d696d19c8255bd58929516be79409743c6081",
      "parents": [
        "454cc105ef690f2a0ba7c6b194d55666b4e918ce"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: Remove tasklist_lock from proc_pid_lookup() and proc_task_lookup()\n\nSince we no longer need the tasklist_lock for get_task_struct the lookup\nmethods no longer need the tasklist_lock.\n\nThis just depends on my previous patch that makes get_task_struct() rcu\nsafe.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "454cc105ef690f2a0ba7c6b194d55666b4e918ce",
      "tree": "b3e4fef90f42ddd16afc324fcff6371e44f63255",
      "parents": [
        "0bc58a910220be3446eedc8e77fd45c0a16d8f25"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: Remove tasklist_lock from proc_pid_readdir\n\nWe don\u0027t need the tasklist_lock to safely iterate through processes\nanymore.\n\nThis depends on my previous to task patches that make get_task_struct rcu\nsafe, and that make next_task() rcu safe.  I haven\u0027t gotten\nfirst_tid/next_tid yet only because next_thread is missing an\nrcu_dereference.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0bc58a910220be3446eedc8e77fd45c0a16d8f25",
      "tree": "70ffacd6e2e22471034b053e441f305a9507a052",
      "parents": [
        "cd6a3ce9ec040c0b56ea92a81ff710417798c559"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: refactor reading directories of tasks\n\nThere are a couple of problems this patch addresses.\n- /proc/\u003ctgid\u003e/task currently does not work correctly if you stop reading\n  in the middle of a directory.\n\n- /proc/ currently requires a full pass through the task list with\n  the tasklist lock held, to determine there are no more processes to read.\n\n- The hand rolled integer to string conversion does not properly running\n  out of buffer space.\n\n- We seem to be batching reading of pids from the tasklist without reason,\n  and complicating the logic of the code.\n\nThis patch addresses that by changing how tasks are processed.  A\nfirst_\u003ctask_type\u003e function is built that handles restarts, and a\nnext_\u003ctask_type\u003e function is built that just advances to the next task.\n\nfirst_\u003ctask_type\u003e when it detects a restart usually uses find_task_by_pid.  If\nthat doesn\u0027t work because there has been a seek on the directory, or we have\nalready given a complete directory listing, it first checks the number tasks\nof that type, and only if we are under that count does it walk through all of\nthe tasks to find the one we are interested in.\n\nThe code that fills in the directory is simpler because there is only a single\nfor loop.\n\nThe hand rolled integer to string conversion is replaced by snprintf which\nshould handle the the out of buffer case correctly.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cd6a3ce9ec040c0b56ea92a81ff710417798c559",
      "tree": "350c0b4bb63a971c9409be8459a45b690ef4ac67",
      "parents": [
        "48e6484d49020dba3578ad117b461e8a391e8f0f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: Close the race of a process dying durning lookup\n\nproc_lookup and task exiting are not synchronized, although some of the\nprevious code may have suggested that.  Every time before we reuse a dentry\nnamei.c calls d_op-\u003ederevalidate which prevents us from reusing a stale dcache\nentry.  Unfortunately it does not prevent us from returning a stale dcache\nentry.  This race has been explicitly plugged in proc_pid_lookup but there is\nnothing to confine it to just that proc lookup function.\n\nSo to prevent the race I call revalidate explictily in all of the proc lookup\nfunctions after I call d_add, and report an error if the revalidate does not\nsucceed.\n\nYears ago Al Viro did something similar but those changes got lost in the\nchurn.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "48e6484d49020dba3578ad117b461e8a391e8f0f",
      "tree": "7824ca84bfe71c3fe2c09a1fedc31106fec4f500",
      "parents": [
        "662795deb854b31501e0ffb42b7f0cce802c134a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Rewrite the proc dentry flush on exit optimization\n\nTo keep the dcache from filling up with dead /proc entries we flush them on\nprocess exit.  However over the years that code has gotten hairy with a\ndentry_pointer and a lock in task_struct and misdocumented as a correctness\nfeature.\n\nI have rewritten this code to look and see if we have a corresponding entry in\nthe dcache and if so flush it on process exit.  This removes the extra fields\nin the task_struct and allows me to trivially handle the case of a\n/proc/\u003ctgid\u003e/task/\u003cpid\u003e entry as well as the current /proc/\u003cpid\u003e entries.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "662795deb854b31501e0ffb42b7f0cce802c134a",
      "tree": "d4849ad5ca7383ca9d0c9b6d46db83097d5dba85",
      "parents": [
        "6e66b52bf587f0dd9a8e0a581b9570e5c1969e33"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Move proc_maps_operations into task_mmu.c\n\nAll of the functions for proc_maps_operations are already defined in\ntask_mmu.c so move the operations structure to keep the functionality\ntogether.\n\nSince task_nommu.c implements a dummy version of /proc/\u003cpid\u003e/maps give it a\nsimplified version of proc_maps_operations that it can modify to best suit its\nneeds.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e66b52bf587f0dd9a8e0a581b9570e5c1969e33",
      "tree": "18b630e89490f7e01ee45f07a427fded50a1c6cf",
      "parents": [
        "0f2fe20f55c85f26efaf14feeb69c7c2eb3f7a75"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Fix the link count for /proc/\u003cpid\u003e/task\n\nUse getattr to get an accurate link count when needed.  This is cheaper and\nmore accurate than trying to derive it by walking the thread list of a\nprocess.\n\nEspecially as it happens when needed stat instead of at readdir time.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0f2fe20f55c85f26efaf14feeb69c7c2eb3f7a75",
      "tree": "93649d0579bed2ed43e69f03c06b325bdb0c312e",
      "parents": [
        "22c2c5d75e6ad4b9ac41269476b32ba8c9fe263f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Properly filter out files that are not visible to a process\n\nLong ago and far away in 2.2 we started checking to ensure the files we\ndisplayed in /proc were visible to the current process.  It was an\nunsophisticated time and no one was worried about functions full of FIXMES in\na stable kernel.  As time passed the function became sacred and was enshrined\nin the shrine of how things have always been.  The fixes came in but only to\nkeep the function working no one really remembering or documenting why we did\nthings that way.\n\nThe intent and the functionality make a lot of sense.  Don\u0027t let /proc be an\naccess point for files a process can see no other way.  The implementation\nhowever is completely wrong.\n\nWe are currently checking the root directories of the two processes, we are\nnot checking the actual file descriptors themselves.\n\nWe are strangely checking with a permission method instead of just when we use\nthe data.\n\nThis patch fixes the logic to actually check the file descriptors and make a\nnote that implementing a permission method for this part of /proc almost\ncertainly indicates a bug in the reasoning.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22c2c5d75e6ad4b9ac41269476b32ba8c9fe263f",
      "tree": "568754afe4d00da3ecaee4a960021e596d0e4beb",
      "parents": [
        "68602066c3327fa340899609d715781eda423751"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Kill proc_mem_inode_operations\n\nThe inode operations only exist to support the proc_permission function.\nCurrently mem_read and mem_write have all the same permission checks as\nptrace.  The fs check makes no sense in this context, and we can trivially get\naround it by calling ptrace.\n\nSo simply the code by killing the strange weird case.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68602066c3327fa340899609d715781eda423751",
      "tree": "fdd1db5b08755bf2c353364b56a778f62e5009f4",
      "parents": [
        "aed7a6c476d90660ac5af860158407ae9fe61c68"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Remove bogus proc_task_permission\n\nFirst we can access every /proc/\u003ctgid\u003e/task/\u003cpid\u003e directory as /proc/\u003cpid\u003e so\nproc_task_permission is not usefully limiting visibility.\n\nSecond having related filesystems information should have nothing to do with\nprocess visibility.  kill does not implement any checks like that.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aed7a6c476d90660ac5af860158407ae9fe61c68",
      "tree": "b8b92412f457598a2348de0eb304b9b4ec204157",
      "parents": [
        "87bfbf679ffb1e95dd9ada694f66aafc4bfa5959"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Replace proc_inode.type with proc_inode.fd\n\nThe sole renaming use of proc_inode.type is to discover the file descriptor\nnumber, so just store the file descriptor number and don\u0027t wory about\nprocessing this field.  This removes any /proc limits on the maximum number of\nfile descriptors, and clears the path to make the hard coded /proc inode\nnumbers go away.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "87bfbf679ffb1e95dd9ada694f66aafc4bfa5959",
      "tree": "f4f549435f64bd1c42594dcb4d27d9de92e379f6",
      "parents": [
        "167965495153ba9829d0a34b6800dbf5d94de8c8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:23 2006 -0700"
      },
      "message": "[PATCH] proc: Simplify the ownership rules for /proc\n\nCurrently in /proc if the task is dumpable all of files are owned by the tasks\neffective users.  Otherwise the files are owned by root.  Unless it is the\n/proc/\u003ctgid\u003e/ or /proc/\u003ctgid\u003e/task/\u003cpid\u003e directory in that case we always make\nthe directory owned by the effective user.\n\nHowever the special case for directories is pointless except as a way to read\nthe effective user, because the permissions on both of those directories are\nworld readable, and executable.\n\n/proc/\u003ctgid\u003e/status provides a much better way to read a processes effecitve\nuserid, so it is silly to try to provide that on the directory.\n\nSo this patch simplifies the code by removing a pointless special case and\ngets us one step closer to being able to remove the hard coded /proc inode\nnumbers.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "167965495153ba9829d0a34b6800dbf5d94de8c8",
      "tree": "ee923581fc2fb1a9bcae7920a8a362fed7b55705",
      "parents": [
        "ff9724a3f7a69f7b443c05981f84e28017c2fc5a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:23 2006 -0700"
      },
      "message": "[PATCH] proc: Remove unnecessary and misleading assignments from proc_pid_make_inode\n\nThe removed fields are already set by proc_alloc_inode.  Initializing them in\nproc_alloc_inode implies they need it for proper cleanup.  At least ei-\u003epde\nwas not set on all paths making it look like proc_alloc_inode was buggy.  So\njust remove the redundant assignments.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ff9724a3f7a69f7b443c05981f84e28017c2fc5a",
      "tree": "2c3fae763eb68d18645b4820e2189dc5d0ceabf5",
      "parents": [
        "5634708b5fce807bdf2091cfafc2fb24d791f0c8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:23 2006 -0700"
      },
      "message": "[PATCH] proc: Remove useless BKL in proc_pid_readlink\n\nWe already call everything except do_proc_readlink outside of the BKL in\nproc_pid_followlink, and there appears to be nothing in do_proc_readlink that\nneeds any special protection.\n\nSo remove this leftover from one of the BKL cleanup efforts.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5634708b5fce807bdf2091cfafc2fb24d791f0c8",
      "tree": "dc383be7cd284c9364d90147bdea981b3d9cb5d4",
      "parents": [
        "f05e15b59467d97c30fbffed80db9e00b73d640b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:23 2006 -0700"
      },
      "message": "[PATCH] proc: Fix the .. inode number on /proc/\u003cpid\u003e/fd\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4eb582cf1fbd7b9e5f466e3718a59c957e75254e",
      "tree": "4387e460a50efa8d46a54526d0cf0959c0e3b428",
      "parents": [
        "06ec7be557a1259611d6093a00463c42650dc71a"
      ],
      "author": {
        "name": "Michael LeMay",
        "email": "mdlemay@epoch.ncsc.mil",
        "time": "Mon Jun 26 00:24:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:18 2006 -0700"
      },
      "message": "[PATCH] keys: add a way to store the appropriate context for newly-created keys\n\nAdd a /proc/\u003cpid\u003e/attr/keycreate entry that stores the appropriate context for\nnewly-created keys.  Modify the selinux_key_alloc hook to make use of the new\nentry.  Update the flask headers to include a new \"setkeycreate\" permission\nfor processes.  Update the flask headers to include a new \"create\" permission\nfor keys.  Use the create permission to restrict which SIDs each task can\nassign to newly-created keys.  Add a new parameter to the security hook\n\"security_key_alloc\" to indicate whether it is being invoked by the kernel, or\nfrom userspace.  If it is being invoked by the kernel, the security hook\nshould never fail.  Update the documentation to reflect these changes.\n\nSigned-off-by: Michael LeMay \u003cmdlemay@epoch.ncsc.mil\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "454e2398be9b9fa30433fccc548db34d19aa9958",
      "tree": "1f61cb0c3716a33b661cfc8977e9beeb480a322c",
      "parents": [
        "1ad5544098a69d7dc1fa508cbb17e13a7a952fd8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to override root dentry on mount\n\nExtend the get_sb() filesystem operation to take an extra argument that\npermits the VFS to pass in the target vfsmount that defines the mountpoint.\n\nThe filesystem is then required to manually set the superblock and root dentry\npointers.  For most filesystems, this should be done with simple_set_mnt()\nwhich will set the superblock pointer and then set the root dentry to the\nsuperblock\u0027s s_root (as per the old default behaviour).\n\nThe get_sb() op now returns an integer as there\u0027s now no need to return the\nsuperblock pointer.\n\nThis patch permits a superblock to be implicitly shared amongst several mount\npoints, such as can be done with NFS to avoid potential inode aliasing.  In\nsuch a case, simple_set_mnt() would not be called, and instead the mnt_root\nand mnt_sb would be set directly.\n\nThe patch also makes the following changes:\n\n (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount\n     pointer argument and return an integer, so most filesystems have to change\n     very little.\n\n (*) If one of the convenience function is not used, then get_sb() should\n     normally call simple_set_mnt() to instantiate the vfsmount. This will\n     always return 0, and so can be tail-called from get_sb().\n\n (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the\n     dcache upon superblock destruction rather than shrink_dcache_anon().\n\n     This is required because the superblock may now have multiple trees that\n     aren\u0027t actually bound to s_root, but that still need to be cleaned up. The\n     currently called functions assume that the whole tree is rooted at s_root,\n     and that anonymous dentries are not the roots of trees which results in\n     dentries being left unculled.\n\n     However, with the way NFS superblock sharing are currently set to be\n     implemented, these assumptions are violated: the root of the filesystem is\n     simply a dummy dentry and inode (the real inode for \u0027/\u0027 may well be\n     inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries\n     with child trees.\n\n     [*] Anonymous until discovered from another tree.\n\n (*) The documentation has been adjusted, including the additional bit of\n     changing ext2_* into foo_* in the documentation.\n\n[akpm@osdl.org: convert ipath_fs, do other stuff]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e0182909297da8d38a5d473ae7bee3d0324632a1",
      "tree": "0c5c06bac1d626ba66aba1142f439b0f34c75282",
      "parents": [
        "ac03221a4fdda9bfdabf99bcd129847f20fc1d80"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 18 08:28:02 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:24 2006 -0400"
      },
      "message": "[PATCH] proc_loginuid_write() uses simple_strtoul() on non-terminated array\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ca99c1da080345e227cfb083c330a184d42e27f3",
      "tree": "e417b4c456ae31dc1dde8027b6be44a1a9f19395",
      "parents": [
        "fb30d64568fd8f6a21afef987f11852a109723da"
      ],
      "author": {
        "name": "Dipankar Sarma",
        "email": "dipankar@in.ibm.com",
        "time": "Tue Apr 18 22:21:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 19 09:13:51 2006 -0700"
      },
      "message": "[PATCH] Fix file lookup without ref\n\nThere are places in the kernel where we look up files in fd tables and\naccess the file structure without holding refereces to the file.  So, we\nneed special care to avoid the race between looking up files in the fd\ntable and tearing down of the file in another CPU.  Otherwise, one might\nsee a NULL f_dentry or such torn down version of the file.  This patch\nfixes those special places where such a race may happen.\n\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "80e8ff634169be3fc2ac48f258cc7638e898cd46",
      "tree": "481b805fedc77b28183ae2be0f114d50d4163bdb",
      "parents": [
        "4c416ab71164dc8d3f800a942fb18c4e67f67897"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Mon Apr 10 22:54:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:42 2006 -0700"
      },
      "message": "[PATCH] kdump proc vmcore size oveflow fix\n\nA couple of /proc/vmcore data structures overflow with 32bit systems having\nmemory more than 4G.  This patch fixes those.\n\nSigned-off-by: Ken\u0027ichi Ohmichi \u003coomichi@mxs.nes.nec.co.jp\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e4e5d3fc80d26ed26ebe42907b224f08d7eccfbf",
      "tree": "081fc0bb38f91caa3b546ae030c03b87e3807b04",
      "parents": [
        "158d9ebd19280582da172626ad3edda1a626dace"
      ],
      "author": {
        "name": "Herbert Poetzl",
        "email": "herbert@13thfloor.at",
        "time": "Fri Mar 31 02:31:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:59 2006 -0800"
      },
      "message": "[PATCH] cleanup in proc_check_chroot()\n\nproc_check_chroot() does the check in a very unintuitive way (keeping a\ncopy of the argument, then modifying the argument), and has uncommented\nsideeffects.\n\nSigned-off-by: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68eef3b4791572ecb70249c7fb145bb3742dd899",
      "tree": "1f61fce839cec8d672ae06a423d46f0a6fcd924d",
      "parents": [
        "a2c348fe0117adced11e374329a5ea3f7c43cb41"
      ],
      "author": {
        "name": "Joe Korty",
        "email": "joe.korty@ccur.com",
        "time": "Fri Mar 31 02:30:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:53 2006 -0800"
      },
      "message": "[PATCH] Simplify proc/devices and fix early termination regression\n\nMake baby-simple the code for /proc/devices.  Based on the proven design\nfor /proc/interrupts.\n\nThis also fixes the early-termination regression 2.6.16 introduced, as\ndemonstrated by:\n\n    # dd if\u003d/proc/devices bs\u003d1\n    Character devices:\n      1 mem\n    27+0 records in\n    27+0 records out\n\nThis should also work (but is untested) when /proc/devices \u003e4096 bytes,\nwhich I believe is what the original 2.6.16 rewrite fixed.\n\n[akpm@osdl.org: cleanups, simplifications]\nSigned-off-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bac30d1a78d0f11c613968fc8b351a91ed465386",
      "tree": "e52f3c876522a2f6047a6ec1c27df2e8a79486b8",
      "parents": [
        "e8222502ee6157e2713da9e0792c21f4ad458d50",
        "ca9ba4471c1203bb6e759b76e83167fec54fe590"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 29 13:24:50 2006 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 29 13:24:50 2006 +1100"
      },
      "message": "Merge ../linux-2.6\n"
    },
    {
      "commit": "4b6f5d20b04dcbc3d888555522b90ba6d36c4106",
      "tree": "420f271eaef7d3def7d4433b151c3cb6d7a54770",
      "parents": [
        "99ac48f54a91d02140c497edc31dc57d4bc5c85d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Mar 28 01:56:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:06 2006 -0800"
      },
      "message": "[PATCH] Make most file operations structs in fs/ const\n\nThis is a conversion to make the various file_operations structs in fs/\nconst.  Basically a regexp job, with a few manual fixups\n\nThe goal is both to increase correctness (harder to accidentally write to\nshared datastructures) and reducing the false sharing of cachelines with\nthings that get dirty in .data (while .rodata is nicely read only and thus\ncache clean)\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "99ac48f54a91d02140c497edc31dc57d4bc5c85d",
      "tree": "68719391694a6914191bdf73d2071875f7653f6f",
      "parents": [
        "ec1b9466cb4f6ae6d950bd67055d9410d1056d2a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Mar 28 01:56:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:05 2006 -0800"
      },
      "message": "[PATCH] mark f_ops const in the inode\n\nMark the f_ops members of inodes as const, as well as fix the\nripple-through this causes by places that copy this f_ops and then \"do\nstuff\" with it.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0a945022778f100115d0cb6234eb28fc1b15ccaf",
      "tree": "85df4b5f7dd8bf59557091379c59b23b09115bf6",
      "parents": [
        "631d6747e1d877a4baa924cb373b8b9511a53e5e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Mar 28 01:56:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:05 2006 -0800"
      },
      "message": "[PATCH] for_each_possible_cpu: fixes for generic part\n\nreplaces for_each_cpu with for_each_possible_cpu().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5149fa47ec90eb5e79e28f3a7fbcf29421524817",
      "tree": "c22023d68bbe23d273311185e284ead4c45d5edc",
      "parents": [
        "d0160bf0b3e87032be8e85f80ddd2f18e107b86f"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Mon Mar 27 14:26:26 2006 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Mar 28 16:45:23 2006 +1100"
      },
      "message": "[PATCH] powerpc: Cope with duplicate node \u0026 property names in /proc/device-tree\n\nVarious dodgy firmware might give us nodes and/or properties in the device\ntree with conflicting names. That\u0027s generally ok, except for when we export\nthe device tree via /proc, so check when we\u0027re creating the proc device tree\nand munge names accordingly.\n\nTested on a faked device tree with kexec, would be good if someone with\nactual bogus firmware could try it, but just for completeness.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "4dee26b7e26eb3c78da8bf6c1c52ee5419145b28",
      "tree": "fbea634975b43d58ce50319c2ff703a20fbd133f",
      "parents": [
        "b75f7a51ca75c977d7d77f735d7a7859194eb39e"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sun Mar 26 01:38:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:02 2006 -0800"
      },
      "message": "[PATCH] hrtimers: remove it_real_value calculation from proc/*/stat\n\nRemove the it_real_value from /proc/*/stat, during 1.2.x was the last time it\nreturned useful data (as it was directly maintained by the scheduler), now\nit\u0027s only a waste of time to calculate it.  Return 0 instead.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "64a07bd82ed526d813b64b0957543eef55bdf9c0",
      "tree": "451586526696bc4a80d8a9f4c50460ae2d4e92eb",
      "parents": [
        "cd7b24bb1891a10ee25168a912ff2304a9571d23"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sun Mar 26 01:36:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:53 2006 -0800"
      },
      "message": "[PATCH] protect remove_proc_entry\n\nIt has been discovered that the remove_proc_entry has a race in the removing\nof entries in the proc file system that are siblings.  There\u0027s no protection\naround the traversing and removing of elements that belong in the same\nsubdirectory.\n\nThis subdirectory list is protected in other areas by the BKL.  So the BKL was\nat first used to protect this area too, but unfortunately, remove_proc_entry\nmay be called with spinlocks held.  The BKL may schedule, so this was not a\nsolution.\n\nThe final solution was to add a new global spin lock to protect this list,\ncalled proc_subdir_lock.  This lock now protects the list in\nremove_proc_entry, and I also went around looking for other areas that this\nlist is modified and added this protection there too.  Care must be taken\nsince these locations call several functions that may also schedule.\n\nSince I don\u0027t see any location that these functions that modify the\nsubdirectory list are called by interrupts, the irqsave/restore versions of\nthe spin lock was _not_ used.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "53846a21c1766326bb14ce8ab6e997a0c120675d",
      "tree": "37b04485e29844b4e734479181276a2f4d2447e4",
      "parents": [
        "2e9abdd9bad485970b37cd53a82f92702054984c",
        "1ebbe2b20091d306453a5cf480a87e6cd28ae76f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:18:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:18:27 2006 -0800"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6: (103 commits)\n  SUNRPC,RPCSEC_GSS: spkm3--fix config dependencies\n  SUNRPC,RPCSEC_GSS: spkm3: import contexts using NID_cast5_cbc\n  LOCKD: Make nlmsvc_traverse_shares return void\n  LOCKD: nlmsvc_traverse_blocks return is unused\n  SUNRPC,RPCSEC_GSS: fix krb5 sequence numbers.\n  NFSv4: Dont list system.nfs4_acl for filesystems that don\u0027t support it.\n  SUNRPC,RPCSEC_GSS: remove unnecessary kmalloc of a checksum\n  SUNRPC: Ensure rpc_call_async() always calls tk_ops-\u003erpc_release()\n  SUNRPC: Fix memory barriers for req-\u003erq_received\n  NFS: Fix a race in nfs_sync_inode()\n  NFS: Clean up nfs_flush_list()\n  NFS: Fix a race with PG_private and nfs_release_page()\n  NFSv4: Ensure the callback daemon flushes signals\n  SUNRPC: Fix a \u0027Busy inodes\u0027 error in rpc_pipefs\n  NFS, NLM: Allow blocking locks to respect signals\n  NFS: Make nfs_fhget() return appropriate error values\n  NFSv4: Fix an oops in nfs4_fill_super\n  lockd: blocks should hold a reference to the nlm_file\n  NFSv4: SETCLIENTID_CONFIRM should handle NFS4ERR_DELAY/NFS4ERR_RESOURCE\n  NFSv4: Send the delegation stateid for SETATTR calls\n  ...\n"
    },
    {
      "commit": "871751e25d956ad24f129ca972b7851feaa61d53",
      "tree": "c3213a17481f601339ce0c81a22eebca0946c2c7",
      "parents": [
        "f52ac8fec8a13e207f675b0c16e0d5f800c1c204"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 25 03:06:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: implement /proc/slab_allocators\n\nImplement /proc/slab_allocators.   It produces output like:\n\nidr_layer_cache: 80 idr_pre_get+0x33/0x4e\nbuffer_head: 2555 alloc_buffer_head+0x20/0x75\nmm_struct: 9 mm_alloc+0x1e/0x42\nmm_struct: 20 dup_mm+0x36/0x370\nvm_area_struct: 384 dup_mm+0x18f/0x370\nvm_area_struct: 151 do_mmap_pgoff+0x2e0/0x7c3\nvm_area_struct: 1 split_vma+0x5a/0x10e\nvm_area_struct: 11 do_brk+0x206/0x2e2\nvm_area_struct: 2 copy_vma+0xda/0x142\nvm_area_struct: 9 setup_arg_pages+0x99/0x214\nfs_cache: 8 copy_fs_struct+0x21/0x133\nfs_cache: 29 copy_process+0xf38/0x10e3\nfiles_cache: 30 alloc_files+0x1b/0xcf\nsignal_cache: 81 copy_process+0xbaa/0x10e3\nsighand_cache: 77 copy_process+0xe65/0x10e3\nsighand_cache: 1 de_thread+0x4d/0x5f8\nanon_vma: 241 anon_vma_prepare+0xd9/0xf3\nsize-2048: 1 add_sect_attrs+0x5f/0x145\nsize-2048: 2 journal_init_revoke+0x99/0x302\nsize-2048: 2 journal_init_revoke+0x137/0x302\nsize-2048: 2 journal_init_inode+0xf9/0x1c4\n\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Alexander Nyberg \u003calexn@telia.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nDESC\nslab-leaks3-locking-fix\nEDESC\nFrom: Andrew Morton \u003cakpm@osdl.org\u003e\n\nUpdate for slab-remove-cachep-spinlock.patch\n\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Alexander Nyberg \u003calexn@telia.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fffb60f93ce5880aade88e01d7133b52a4879710",
      "tree": "7882f0550af8580c0646306f6d391fe610f7ef8c",
      "parents": [
        "4b6a9316fab51af611dc8671f296734089f6a22a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread: slab cache format\n\nRewrap the overly long source code lines resulting from the previous\npatch\u0027s addition of the slab cache flag SLAB_MEM_SPREAD.  This patch\ncontains only formatting changes, and no function change.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b6a9316fab51af611dc8671f296734089f6a22a",
      "tree": "078f8f0f01a206af529bef137d5b71515c39053d",
      "parents": [
        "44110fe385af23ca5eee8a6ad4ff55d50339097a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread: slab cache filesystems\n\nMark file system inode and similar slab caches subject to SLAB_MEM_SPREAD\nmemory spreading.\n\nIf a slab cache is marked SLAB_MEM_SPREAD, then anytime that a task that\u0027s\nin a cpuset with the \u0027memory_spread_slab\u0027 option enabled goes to allocate\nfrom such a slab cache, the allocations are spread evenly over all the\nmemory nodes (task-\u003emems_allowed) allowed to that task, instead of favoring\nallocation on the node local to the current cpu.\n\nThe following inode and similar caches are marked SLAB_MEM_SPREAD:\n\n    file                               cache\n    \u003d\u003d\u003d\u003d                               \u003d\u003d\u003d\u003d\u003d\n    fs/adfs/super.c                    adfs_inode_cache\n    fs/affs/super.c                    affs_inode_cache\n    fs/befs/linuxvfs.c                 befs_inode_cache\n    fs/bfs/inode.c                     bfs_inode_cache\n    fs/block_dev.c                     bdev_cache\n    fs/cifs/cifsfs.c                   cifs_inode_cache\n    fs/coda/inode.c                    coda_inode_cache\n    fs/dquot.c                         dquot\n    fs/efs/super.c                     efs_inode_cache\n    fs/ext2/super.c                    ext2_inode_cache\n    fs/ext2/xattr.c (fs/mbcache.c)     ext2_xattr\n    fs/ext3/super.c                    ext3_inode_cache\n    fs/ext3/xattr.c (fs/mbcache.c)     ext3_xattr\n    fs/fat/cache.c                     fat_cache\n    fs/fat/inode.c                     fat_inode_cache\n    fs/freevxfs/vxfs_super.c           vxfs_inode\n    fs/hpfs/super.c                    hpfs_inode_cache\n    fs/isofs/inode.c                   isofs_inode_cache\n    fs/jffs/inode-v23.c                jffs_fm\n    fs/jffs2/super.c                   jffs2_i\n    fs/jfs/super.c                     jfs_ip\n    fs/minix/inode.c                   minix_inode_cache\n    fs/ncpfs/inode.c                   ncp_inode_cache\n    fs/nfs/direct.c                    nfs_direct_cache\n    fs/nfs/inode.c                     nfs_inode_cache\n    fs/ntfs/super.c                    ntfs_big_inode_cache_name\n    fs/ntfs/super.c                    ntfs_inode_cache\n    fs/ocfs2/dlm/dlmfs.c               dlmfs_inode_cache\n    fs/ocfs2/super.c                   ocfs2_inode_cache\n    fs/proc/inode.c                    proc_inode_cache\n    fs/qnx4/inode.c                    qnx4_inode_cache\n    fs/reiserfs/super.c                reiser_inode_cache\n    fs/romfs/inode.c                   romfs_inode_cache\n    fs/smbfs/inode.c                   smb_inode_cache\n    fs/sysv/inode.c                    sysv_inode_cache\n    fs/udf/super.c                     udf_inode_cache\n    fs/ufs/super.c                     ufs_inode_cache\n    net/socket.c                       sock_inode_cache\n    net/sunrpc/rpc_pipe.c              rpc_inode_cache\n\nThe choice of which slab caches to so mark was quite simple.  I marked\nthose already marked SLAB_RECLAIM_ACCOUNT, except for fs/xfs, dentry_cache,\ninode_cache, and buffer_head, which were marked in a previous patch.  Even\nthough SLAB_RECLAIM_ACCOUNT is for a different purpose, it marks the same\npotentially large file system i/o related slab caches as we need for memory\nspreading.\n\nGiven that the rule now becomes \"wherever you would have used a\nSLAB_RECLAIM_ACCOUNT slab cache flag before (usually the inode cache), use\nthe SLAB_MEM_SPREAD flag too\", this should be easy enough to maintain.\nFuture file system writers will just copy one of the existing file system\nslab cache setups and tend to get it right without thinking.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1ebbe2b20091d306453a5cf480a87e6cd28ae76f",
      "tree": "f5cd7a0fa69b8b1938cb5a0faed2e7b0628072a5",
      "parents": [
        "ac58c9059da8886b5e8cde012a80266b18ca146e",
        "674a396c6d2ba0341ebdd7c1c9950f32f018e2dd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 23 23:44:19 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 23 23:44:19 2006 -0500"
      },
      "message": "Merge branch \u0027linus\u0027\n"
    },
    {
      "commit": "5be0e9511990dc307670dc66a42073db96b20f26",
      "tree": "2d0ce6f2c750ba4aac1560a502583d7274f519d7",
      "parents": [
        "fcab1e51796d8bcd1a7969ff52bd904d38748e00"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu Mar 23 02:59:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:02 2006 -0800"
      },
      "message": "[PATCH] proc: fix duplicate line in /proc/devices\n\nFix a duplicate block device line printed after the \"Block device\" header\nin /proc/devices.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4629fe2f094b719847f31be1ee5ab38300038b2",
      "tree": "158b3aabf291ef9462e3e02493fb4c45265f9e8e",
      "parents": [
        "1356b8c28d67cafd74f7e7dcfb39bf53681790a5"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:12 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:12 2006 -0500"
      },
      "message": "VFS: New /proc file /proc/self/mountstats\n\nCreate a new file under /proc/self, called mountstats, where mounted file\nsystems can export information (configuration options, performance counters,\nand so on).  Use a mechanism similar to /proc/mounts and s_ops-\u003eshow_options.\n\nThis mechanism does not violate namespace security, and is safe to use while\nother processes are unmounting file systems.\n\nThanks to Mike Waychison for his review and comments.\n\nTest-plan:\nTest concurrent mount/unmount operations while cat\u0027ing /proc/self/mountstats.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "ad820c5dd47dff9397ef1e94388bc6577983f68b"
}
