)]}'
{
  "log": [
    {
      "commit": "b111757c50ee30dad162192df6168e270a90c252",
      "tree": "49a38ddb2fd5f53ceb4f76c802c2185c1be9a6c6",
      "parents": [
        "f34e3b61f2be9628bd41244f3ecc42009c5eced5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:45 2007 -0700"
      },
      "message": "arch: personality independent stack top\n\nNew arch macro STACK_TOP_MAX it gives the larges valid stack address for the\narchitecture in question.\n\nIt differs from STACK_TOP in that it will not distinguish between\npersonalities but will always return the largest possible address.\n\nThis is used to create the initial stack on execve, which we will move down to\nthe proper location once the binfmt code has figured out where that is.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ollie Wild \u003caaw@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e18eecb8b35703a5eea73ee2b45324262029e62c",
      "tree": "8c276ae6633b8116ca366274091b00491fd50bbe",
      "parents": [
        "84812217e395f5272eac36856c0a2415d61fe139"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun Jul 15 23:38:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:38 2007 -0700"
      },
      "message": "Add generic exit-time stack-depth checking to CONFIG_DEBUG_STACK_USAGE\n\nAdd generic exit-time stack-depth checking to CONFIG_DEBUG_STACK_USAGE.\n\nThis also adds UML support.\n\nTested on UML and i386.\n\n[akpm@linux-foundation.org: cleanups, speedups, tweaks]\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "84812217e395f5272eac36856c0a2415d61fe139",
      "tree": "703a67a6f81c51bc7455fe36565a34722e2f9e26",
      "parents": [
        "0a6d3a2a3813e7b25267366cfbf9a4a4698dd1c2"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun Jul 15 23:38:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:38 2007 -0700"
      },
      "message": "uml: use get_free_pages to allocate kernel stacks\n\nFor some reason, I was using kmalloc instead of get_free_pages for kernel\nstacks.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45e98cdb6d365b34b7a2d849e4d8bdc264d8e6e4",
      "tree": "172a959293a2c31691a162eca6af131e3ac89da2",
      "parents": [
        "98011f569e2ae1e4ae394f6e23faa16676d50de4"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sun Jul 15 23:38:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "page table handling cleanup\n\nKill pte_rdprotect(), pte_exprotect(), pte_mkread(), pte_mkexec(), pte_read(),\npte_exec(), and pte_user() except where arch-specific code is making use of\nthem.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c18a325645bf98850ca84037fff05de1836e785",
      "tree": "dad5853c40d22b0369355bdbddc28a3a246fce5b",
      "parents": [
        "08932a198345c80d20cfa055a45464cebb9ff93b"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Jun 23 17:16:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jun 24 08:59:11 2007 -0700"
      },
      "message": "uml: add asm/paravirt.h\n\nAdd asm-um/paravirt.h so that i386 headers that get pulled into UML\ndon\u0027t cause build failures when they want asm/paravirt.h.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08932a198345c80d20cfa055a45464cebb9ff93b",
      "tree": "49ba601ab9eb19eef107ea1e1d99361bca84bafd",
      "parents": [
        "b08b5ad9473a972fdd5d739080d24a84b23525ac"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Jun 23 17:16:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jun 24 08:59:11 2007 -0700"
      },
      "message": "uml: use generic BUG\n\nGet UML to use the generic bug support rather than arch specific one.\n\nIf I insert an artificial bug right before loading init, I get this:\n\n Kernel panic - not syncing: Kernel mode signal 4\n\n EIP: 0023:[\u003c0819d501\u003e] CPU: 0 Not tainted ESP: 002b:f7fd4fbc EFLAGS: 00000246\n    Not tainted\n    EAX: 00000000 EBX: 00007870 ECX: 00000013 EDX: 00007870\n    ESI: 0000786d EDI: 00000011 EBP: f7fd4fd8 DS: 002b ES: 002b\n    08273bec:  [\u003c0806e814\u003e] show_regs+0x104/0x106\n    08273c08:  [\u003c08058927\u003e] panic_exit+0x2c/0x4b\n    08273c18:  [\u003c08080ee7\u003e] notifier_call_chain+0x32/0x5b\n    08273c38:  [\u003c08080fbd\u003e] __atomic_notifier_call_chain+0x30/0x32\n    08273c54:  [\u003c08080fee\u003e] atomic_notifier_call_chain+0x2f/0x31\n    08273c70:  [\u003c08073b88\u003e] panic+0x75/0x131\n    08273c94:  [\u003c080586c7\u003e] relay_signal+0x87/0x95\n    08273cb0:  [\u003c0806b9ee\u003e] sig_handler_common_skas+0x9e/0x120\n    08273cd8:  [\u003c08067738\u003e] sig_handler+0x28/0x4f\n    08273cec:  [\u003c0806792e\u003e] handle_signal+0x53/0x89\n    08273d0c:  [\u003c08069f60\u003e] hard_handler+0x18/0x28\n    08273d1c:  [\u003cffffe500\u003e] transitions+0xf7d598b8/0xfffffff0\n\nWith this patch in place, this is how it looks:\n\n BUG: failure at init/main.c:779/init_post()!\n Kernel panic - not syncing: BUG!\n\n EIP: 0023:[\u003c081a65d1\u003e] CPU: 0 Not tainted ESP: 002b:f7f0dfbc EFLAGS: 00000246\n    Not tainted\n    EAX: 00000000 EBX: 000069db ECX: 00000013 EDX: 000069db\n    ESI: 000069d8 EDI: 00000011 EBP: f7f0dfd8 DS: 002b ES: 002b\n    098efedc:  [\u003c0806e9a4\u003e] show_regs+0x104/0x106\n    098efef8:  [\u003c080589c7\u003e] panic_exit+0x2c/0x4b\n    098eff08:  [\u003c080818d7\u003e] notifier_call_chain+0x32/0x5b\n    098eff28:  [\u003c080819ad\u003e] __atomic_notifier_call_chain+0x30/0x32\n    098eff44:  [\u003c080819de\u003e] atomic_notifier_call_chain+0x2f/0x31\n    098eff60:  [\u003c08073f28\u003e] panic+0x75/0x131\n    098eff84:  [\u003c080541d5\u003e] init_post+0xcd/0xe8\n    098eff9c:  [\u003c08048ad4\u003e] kernel_init+0x8e/0x9a\n    098effb4:  [\u003c08066dee\u003e] run_kernel_thread+0x41/0x53\n    098effe0:  [\u003c08058e75\u003e] new_thread_handler+0x62/0x8b\n    098efffc:  [\u003ca55a5a5a\u003e] 0xa55a5a5a\n\n[ jdike - added BUG_TABLE to linker script ]\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39a279026609c205d331ec39fea11b2fd470a054",
      "tree": "a5b5e0c261c7a8ffd429e8b19d5a27e659f04fda",
      "parents": [
        "c539ab73070b381f0452dae791f891ec2515098e"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Jun 16 10:16:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jun 16 13:16:16 2007 -0700"
      },
      "message": "uml: kill x86_64 STACK_TOP_MAX\n\nThe x86_64 a.out.h got a definition of STACK_TOP_MAX, which interferes with\nthe UML version.  So, just undef it like STACK_TOP.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c14b84949e127560084c7c56b365931c71c60768",
      "tree": "88bce4993779078856612b6a32f65f14ab379d85",
      "parents": [
        "2ea5bc5e5bb51492f189bba44045e0de7decf4a0"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu May 10 22:22:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:34 2007 -0700"
      },
      "message": "uml: iRQ stacks\n\nAdd a separate IRQ stack.  This differs from i386 in having the entire\ninterrupt run on a separate stack rather than starting on the normal kernel\nstack and switching over once some preparation has been done.  The underlying\nmechanism, is of course, sigaltstack.\n\nAnother difference is that interrupts that happen in userspace are handled on\nthe normal kernel stack.  These cause a wait wakeup instead of a signal\ndelivery so there is no point in trying to switch stacks for these.  There\u0027s\nno other stuff on the stack, so there is no extra stack consumption.\n\nThis quirk makes it possible to have the entire interrupt run on a separate\nstack - process preemption (and calls to schedule()) happens on a normal\nkernel stack.  If we enable CONFIG_PREEMPT, this will need to be rethought.\n\nThe IRQ stack for CPU 0 is declared in the same way as the initial kernel\nstack.  IRQ stacks for other CPUs will be allocated dynamically.\n\nAn extra field was added to the thread_info structure.  When the active\nthread_info is copied to the IRQ stack, the real_thread field points back to\nthe original stack.  This makes it easy to tell where to copy the thread_info\nstruct back to when the interrupt is finished.  It also serves as a marker of\na nested interrupt.  It is NULL for the first interrupt on the stack, and\nnon-NULL for any nested interrupts.\n\nCare is taken to behave correctly if a second interrupt comes in when the\nthread_info structure is being set up or taken down.  I could just disable\ninterrupts here, but I don\u0027t feel like giving up any of the performance gained\nby not flipping signals on and off.\n\nIf an interrupt comes in during these critical periods, the handler can\u0027t run\nbecause it has no idea what shape the stack is in.  So, it sets a bit for its\nsignal in a global mask and returns.  The outer handler will deal with this\nsignal itself.\n\nAtomicity is had with xchg.  A nested interrupt that needs to bail out will\nxchg its signal mask into pending_mask and repeat in case yet another\ninterrupt hit at the same time, until the mask stabilizes.\n\nThe outermost interrupt will set up the thread_info and xchg a zero into\npending_mask when it is done.  At this point, nested interrupts will look at\n-\u003ereal_thread and see that no setup needs to be done.  They can just continue\nnormally.\n\nSimilar care needs to be taken when exiting the outer handler.  If another\ninterrupt comes in while it is copying the thread_info, it will drop a bit\ninto pending_mask.  The outer handler will check this and if it is non-zero,\nwill loop, set up the stack again, and handle the interrupt.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f4dfe206a2fc07099dfad77a8ea2f4b4ae2140f",
      "tree": "b66a624ba68766282fa0ddb509ff641552703da4",
      "parents": [
        "dd2a345f8f002845636dbf5d2d768bb5cd8a5f59"
      ],
      "author": {
        "name": "Fernando Luis Vazquez Cao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Wed May 09 02:33:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:48 2007 -0700"
      },
      "message": "Remove hardcoding of hard_smp_processor_id on UP systems\n\nWith the advent of kdump, the assumption that the boot CPU when booting an UP\nkernel is always the CPU with a particular hardware ID (often 0) (usually\nreferred to as BSP on some architectures) is not valid anymore.  The reason\nbeing that the dump capture kernel boots on the crashed CPU (the CPU that\ninvoked crash_kexec), which may be or may not be that particular CPU.\n\nMove definition of hard_smp_processor_id for the UP case to\narchitecture-specific code (\"asm/smp.h\") where it belongs, so that each\narchitecture can provide its own implementation.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nAcked-by: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e0cb0c3bf04850fa6fb300293d9e85ba81b605f",
      "tree": "50cd7d2b57eefef7746f4200166cf90be119918d",
      "parents": [
        "a3d25c275d383975504dc53c25b691df59bd3c48"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed May 09 02:33:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:48 2007 -0700"
      },
      "message": "uml: fix build breakage\n\nUML now needs required-features.h to build - an empty one suffices.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a436ed9c5106b41606cbb55ab3b28389fe8ae04f",
      "tree": "b8df0bde6d7eb2808c37da815d8857396ee1eaf1",
      "parents": [
        "5dc12ddee93d63d7107cbbf70db23476d7b30e43"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue May 08 00:35:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "x86: create asm/cmpxchg.h\n\ni386:\n\n  Rearrange the cmpxchg code to allow atomic.h to get it without needing to\n  include system.h.  This kills warnings in the UML build from atomic.h about\n  implicit declarations of cmpxchg symbols.  The i386 build presumably isn\u0027t\n  seeing this because a separate inclusion of system.h is covering it over.\n\n  The cmpxchg stuff is moved to asm-i386/cmpxchg.h, with an include left in\n  system.h for the benefit of generic code which expects cmpxchg there.\n\n  Meanwhile, atomic.h includes cmpxchg.h.\n\n  This causes no noticable damage to the i386 build.\n\nx86_64:\n\n  Move cmpxchg into its own header.  atomic.h already included system.h, so\n  this is changed to include cmpxchg.h.\n\n  This is purely cleanup - it\u0027s not fixing any warnings - so if the x86_64\n  system.h isn\u0027t considered as cleanup-worthy as i386, then this can be\n  dropped.\n\n  It causes no noticable damage to the x86_64 build.\n\numl:\n\n  The i386 and x86_64 cmpxchg patches require an asm-um/cmpxchg.h for the\n  UML build.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1eeb66a1bb973534dc3d064920a5ca683823372e",
      "tree": "19c22d611e6adefb352dbc107b859e4d13ba38c1",
      "parents": [
        "e3869792990f708c97be5877499cada70d469bd3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:27:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "move die notifier handling to common code\n\nThis patch moves the die notifier handling to common code.  Previous\nvarious architectures had exactly the same code for it.  Note that the new\ncode is compiled unconditionally, this should be understood as an appel to\nthe other architecture maintainer to implement support for it aswell (aka\nsprinkling a notify_die or two in the proper place)\n\narm had a notifiy_die that did something totally different, I renamed it to\narm_notify_die as part of the patch and made it static to the file it\u0027s\ndeclared and used at.  avr32 used to pass slightly less information through\nthis interface and I brought it into line with the other architectures.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix vmalloc_sync_all bustage]\n[bryan.wu@analog.com: fix vmalloc_sync_all in nommu]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "16dd07bc6404c8da0bdfeb7a5cde4e4a63991c00",
      "tree": "de8401aeebfe1bbdaecaff3b81d92196c50c85d7",
      "parents": [
        "3ec704e6660aa58505110a50102e57cdb9daa044"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:04 2007 -0700"
      },
      "message": "uml: more page fault path trimming\n\nMore trimming of the page fault path.\n\nPermissions are passed around in a single int rather than one bit per\nint.  The permission values are copied from libc so that they can be\npassed to mmap and mprotect without any further conversion.\n\nThe register sets used by do_syscall_stub and copy_context_skas0 are\ninitialized once, at boot time, rather than once per call.\n\nwait_stub_done checks whether it is getting the signals it expects by\ncomparing the wait status to a mask containing bits for the signals of\ninterest rather than comparing individually to the signal numbers.  It\nalso has one check for a wait failure instead of two.  The caller is\nexpected to do the initial continue of the stub.  This gets rid of an\nargument and some logic.  The fname argument is gone, as that can be\nhad from a stack trace.\n\nuser_signal() is collapsed into userspace() as it is basically one or\ntwo lines of code afterwards.\n\nThe physical memory remapping stuff is gone, as it is unused.\n\nflush_tlb_page is inlined.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d6dd61c831226f9cd7750885da04d360d6455101",
      "tree": "30f84a429821d207f7de5dd6225d3d9515042c0a",
      "parents": [
        "5311ab62cdc7788784971ed816ce85e926f3e994"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "message": "[PATCH] x86: PARAVIRT: add hooks to intercept mm creation and destruction\n\nAdd hooks to allow a paravirt implementation to track the lifetime of\nan mm.  Paravirtualization requires three hooks, but only two are\nneeded in common code.  They are:\n\narch_dup_mmap, which is called when a new mmap is created at fork\n\narch_exit_mmap, which is called when the last process reference to an\n  mm is dropped, which typically happens on exit and exec.\n\nThe third hook is activate_mm, which is called from the arch-specific\nactivate_mm() macro/function, and so doesn\u0027t need stub versions for\nother architectures.  It\u0027s called when an mm is first used.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: linux-arch@vger.kernel.org\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3927f2e8f9afa3424bb51ca81f7abac01ffd0005",
      "tree": "da9e335169572e6c743c084edce6a802f9e667ee",
      "parents": [
        "9d729f72dca9406025bcfa9c1f660d71d9ef0ff5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Sun Mar 25 19:54:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:33 2007 -0700"
      },
      "message": "[NET]: div64_64 consolidate (rev3)\n\nHere is the current version of the 64 bit divide common code.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "10fa1155a2c3282f421a74fedfad1957e8bdc86c",
      "tree": "21ec69d27c0d5e239f9c0eed531dbcdc0f602af2",
      "parents": [
        "05565b65a5309e3e5c86db1975b57f75661bee8f"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sun Apr 01 23:49:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 02 10:06:08 2007 -0700"
      },
      "message": "[PATCH] uml: fix unreasonably long udelay\n\nCurrently we have a confused udelay implementation.\n\n* __const_udelay does not accept usecs but xloops in i386 and x86_64\n* our implementation requires usecs as arg\n* it gets a xloops count when called by asm/arch/delay.h\n\nBugs related to this (extremely long shutdown times) where reported by some\nx86_64 users, especially using Device Mapper.\n\nTo hit this bug, a compile-time constant time parameter must be passed -\nthat\u0027s why UML seems to work most times.  Fix this with a simple udelay\nimplementation.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c35e584c087381aaa5f1ed40a28b978535c18fb2",
      "tree": "3792eefee615bda5e97518c5769b2a1a5f3973ea",
      "parents": [
        "a5bd1786fb30abe663b904f6d79bba413e9ba883"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sat Mar 31 03:20:27 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 30 19:21:30 2007 -0700"
      },
      "message": "[PATCH] uml: fix static linking for real\n\nThere was a typo in commit 7632fc8f809a97f9d82ce125e8e3e579390ce2e5,\npreventing it from working - 32bit binaries crashed hopelessly before\nthe below fix and work perfectly now.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "602ed87ecd93a857dc687afb938d2c0f45552986",
      "tree": "e6c3b134ec527669419df297e2844b93dcfd5255",
      "parents": [
        "d40f6d71da81deb66c4fa54b46e22977cdb8b451"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Mar 29 01:20:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 29 08:22:24 2007 -0700"
      },
      "message": "[PATCH] uml: fix pte bit collision\n\n_PAGE_PROTNONE conflicts with the lowest bit of pgoff.  This causes all sorts\nof weirdness when nonlinear mappings are used.\n\nTook me a good half day to track this down.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nAcked-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7632fc8f809a97f9d82ce125e8e3e579390ce2e5",
      "tree": "e1ae1d587cc0726abd722f92ed5949409e7fdea3",
      "parents": [
        "e9d5a461157c1244475bc400fcac7f871608715e"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Mar 26 21:32:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 27 09:05:15 2007 -0700"
      },
      "message": "[PATCH] uml: fix static linking\n\nDuring a static link, ld has started putting a .note section in the\n.uml.setup.init section.  This has the result that the UML setups begin\nwith 32 bytes of garbage and UML crashes immediately on boot.\n\nThis patch creates a specific .note section for ld to drop this stuff\ninto.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1463fdbcc797dfcb8574ababbd39cf6205f6ed00",
      "tree": "d6039c743e89223ff553a2c8a64f59bc2c6cc5ca",
      "parents": [
        "14251809b1921b1216568700f1be2f91a1cbb5c7"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Feb 28 20:13:33 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:38 2007 -0800"
      },
      "message": "[PATCH] uml: pte_mkread fix\n\nFix the fact that pte_mkread set _PAGE_RW instead of _PAGE_USER (the logic is\ncopied from i386 in most place, so it is really as bad as you\u0027re thinking).\n\nThus currently page tables are more permissive than they should.\n\nSuch a change may trigger other latent bugs, so be careful with this.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e6d74cfac782a3a4cb5111bd9c25cd95d6b7c6c",
      "tree": "f63c0433740168f56916ece27793e9b69a40e072",
      "parents": [
        "f355559cf78455ed6be103b020e4b800230c64eb"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:30 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:24 2007 -0800"
      },
      "message": "[PATCH] uml: x86_64 ptrace fixes\n\nThis patch fixes some missing ptrace bits on x86_64.  PTRACE_ARCH_PRCTL is\nhooked up and implemented.  This required generalizing arch_prctl_skas\nslightly to take a task_struct to modify.  Previously, it always operated on\ncurrent.\n\nReading and writing the debug registers is also enabled by un-ifdefing the\ncode that implements that.  It turns out that x86_64 is identical to i386, so\nthe same code can be used.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f355559cf78455ed6be103b020e4b800230c64eb",
      "tree": "0de116766d38975f75178e299031d55967eaa9d7",
      "parents": [
        "3a150e1da8bc4e840d5a09fc089052011b5b6503"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:29 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:24 2007 -0800"
      },
      "message": "[PATCH] uml: x86_64 thread fixes\n\nx86_64 needs some TLS fixes.  What was missing was remembering the child\nthread id during clone and stuffing it into the child during each context\nswitch.\n\nThe %fs value is stored separately in the thread structure since the host\ncontrols what effect it has on the actual register file.  The host also needs\nto store it in its own thread struct, so we need the value kept outside the\nregister file.\n\narch_prctl_skas was fixed to call PTRACE_ARCH_PRCTL appropriately.  There is\nsome saving and restoring of registers in the ARCH_SET_* cases so that the\ncorrect set of registers are changed on the host and restored to the process\nwhen it runs again.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f688144b827749879279c3ad272b8d874fc17231",
      "tree": "5ca02d0b32d9611843712d56b81a0150136f90e1",
      "parents": [
        "81999a01c786e26c2058968d76b595df60d2f8da"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:44:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:23 2007 -0800"
      },
      "message": "[PATCH] uml: fix apparent \"CONFIG_64_BIT\" typo.\n\nFix apparent typo, where CONFIG_64_BIT should read CONFIG_64BIT.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04add672cf98a788e9e0d753b2ccfa4a3a0caf56",
      "tree": "c94f6d7f59d3e4e8f7a3659014eeb563bf8651f8",
      "parents": [
        "9d6ed92196f7acdd1052b0828bb1e2f1a7241815"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Feb 01 13:53:04 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 01 16:17:06 2007 -0800"
      },
      "message": "[PATCH] uml-i386: fix build breakage with CONFIG_HIGHMEM\n\nmissing helper used by arch/i386/mm/highmem.c, which is pulled\ninto build on that configuration.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e182c965b6ce0dffed0967a1be2173825a2ede2f",
      "tree": "287d3801dc660b4bc39da08400a68b6ea536e30e",
      "parents": [
        "c31a0bf3e1bc581676618db7492f18798fd0a73f"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Dec 08 02:36:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:39 2006 -0800"
      },
      "message": "[PATCH] UML: add generic BUG support\n\nThe BUG changes in -mm3 need some arch support.  This patch adds the UML\nsupport needed.  For the most part, it was stolen from the underlying\narchitecture.  The exception is the kernel eip \u003c PAGE_OFFSET test, which is\nwrong for skas mode UMLs.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d3fa72e4556ec1f04e46a0d561d9e785ecaa173d",
      "tree": "9c9b51dbecc27e977135b4e4793ea3dc99e8ba66",
      "parents": [
        "f67637ee4b5d90d41160d755b9a8cca18c394586"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 06 20:38:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:41 2006 -0800"
      },
      "message": "[PATCH] Pass struct dev pointer to dma_cache_sync()\n\nPass struct dev pointer to dma_cache_sync()\n\ndma_cache_sync() is ill-designed in that it does not have a struct device\npointer argument which makes proper support for systems that consist of a\nmix of coherent and non-coherent DMA devices hard.  Change dma_cache_sync\nto take a struct device pointer as first argument and fix all its callers\nto pass it.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f67637ee4b5d90d41160d755b9a8cca18c394586",
      "tree": "dffa1fa32f8e0462c8e46c4f8fefa058be349d6a",
      "parents": [
        "83b7b44e1c1e9e493ccd4146558481ab5af0116a"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 06 20:38:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:41 2006 -0800"
      },
      "message": "[PATCH] Add struct dev pointer to dma_is_consistent()\n\ndma_is_consistent() is ill-designed in that it does not have a struct\ndevice pointer argument which makes proper support for systems that consist\nof a mix of coherent and non-coherent DMA devices hard.  Change\ndma_is_consistent to take a struct device pointer as first argument and fix\nthe sole caller to pass it.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c6dbaef22a2f78700e242915a13218dd780c89ff",
      "tree": "57167ca04a79f0d0aecf82523c8d8f3918312d8d",
      "parents": [
        "d80f19fab89cba8a6d16193154c8ff3edab00942"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sat Nov 11 17:18:39 2006 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 01 14:52:01 2006 -0800"
      },
      "message": "Driver core: add dev_archdata to struct device\n\nAdd arch specific dev_archdata to struct device\n\nAdds an arch specific struct dev_arch to struct device. This enables\narchitecture to add specific fields to every device in the system, like\nDMA operation pointers, NUMA node ID, firmware specific data, etc...\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "525fdb6cc929b515ad7e0be40fd023cff8660ed8",
      "tree": "2236b591e15beefa752826c71c80fe6da1efd8d3",
      "parents": [
        "d1480c56feb2a894fd47fb399999a5b320c3e103"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Oct 30 22:07:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 31 08:07:00 2006 -0800"
      },
      "message": "[PATCH] uml: add INITCALLS\n\nThis is the UML piece of the INITCALLS tidying.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "02a5323d8060d7259277e9e2936fd02129dc0984",
      "tree": "74e5e66da5fc2d4c1cd2a02d49cd286f8ae5de9d",
      "parents": [
        "3fda982c501c6a8baa3fa79aaea1bfa7bb2a5def"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Thu Oct 19 23:28:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:36 2006 -0700"
      },
      "message": "[PATCH] uml: remove some leftover PPC code\n\nI happened to notice that this code is a leftover and it should be removed -\nsince there are sporadical efforts to revive the PPC port doing such cleanups\nis not useless.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "96e1a87392293cf895ea99ab70758453897c7bbf",
      "tree": "eedb25924e61a5aa0348b872505695c525172451",
      "parents": [
        "c6b0a9f87b82f25fa35206ec04b5160372eabab4"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Oct 06 00:44:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 06 08:53:42 2006 -0700"
      },
      "message": "[PATCH] um: irq changes break build\n\nFixup broken UML build due to 7d12e780e003f93433d49ce78cfedf4b4c52adc5\n\"IRQ: Maintain regs pointer globally rather than passing to IRQ handlers\".\n\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \"Blaisorblade\" Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3db03b4afb3ecd66a0399b8ba57742ca953b0ecd",
      "tree": "fe0bd5c3663c58583f0181e2673d569c2df664e7",
      "parents": [
        "6760856791c6e527da678021ee6a67896549d4da"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 02 02:18:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:23 2006 -0700"
      },
      "message": "[PATCH] rename the provided execve functions to kernel_execve\n\nSome architectures provide an execve function that does not set errno, but\ninstead returns the result code directly.  Rename these to kernel_execve to\nget the right semantics there.  Moreover, there is no reasone for any of these\narchitectures to still provide __KERNEL_SYSCALLS__ or _syscallN macros, so\nremove these right away.\n\n[akpm@osdl.org: build fix]\n[bunk@stusta.de: build fix]\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Hirokazu Takata \u003ctakata.hirokazu@renesas.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5906e4171ad61ce68de95e51b773146707671f80",
      "tree": "e8e2479c9fa361948d10740b7e65e4eb751ee8c0",
      "parents": [
        "fade5d5461b0379b27ca96faf560d855d7a0ea8b"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Sep 29 01:58:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:04 2006 -0700"
      },
      "message": "[PATCH] uml: remove pte_mkexec\n\nAndi is making pte_mkexec go away, and UML had one of the last uses.\n\nThis removes the use and the definition.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3c9173509985b957bea692ea887a8a0e5055cfe8",
      "tree": "9406fb650d6085f992b6d2a0a3fd8763b045cc35",
      "parents": [
        "0915ee38c7db57ff41a7a68bcc02d0dd3b7b849b"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Sep 27 01:50:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:16 2006 -0700"
      },
      "message": "[PATCH] uml: thread creation tidying\n\nfork on UML has always somewhat subtle.  The underlying cause has been the\nneed to initialize a stack for the new process.  The only portable way to\ninitialize a new stack is to set it as the alternate signal stack and take a\nsignal.  The signal handler does whatever initialization is needed and jumps\nback to the original stack, where the fork processing is finished.  The basic\ncontext switching mechanism is a jmp_buf for each process.  You switch to a\nnew process by longjmping to its jmp_buf.\n\nNow that UML has its own implementation of setjmp and longjmp, and I can poke\naround inside a jmp_buf without fear that libc will change the structure, a\nmuch simpler mechanism is possible.  The jmpbuf can simply be initialized by\nhand.\n\nThis eliminates -\n\tthe need to set up and remove the alternate signal stack\n\tsending and handling a signal\n\tthe signal blocking needed around the stack switching, since\nthere is no stack switching\n\tsetting up the jmp_buf needed to jump back to the original\nstack after the new one is set up\n\nIn addition, since jmp_buf is now defined by UML, and not by libc, it can be\nembedded in the thread struct.  This makes it unnecessary to have it exist on\nthe stack, where it used to be.  It also simplifies interfaces, since the\nswitch jmp_buf used to be a void * inside the thread struct, and functions\nwhich took it as an argument needed to define a jmp_buf variable and assign it\nfrom the void *.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8b4fc4d7c3ccf80d4fa1805cee85c06c2aa653e",
      "tree": "55cc6eed8fccc96d5a50b2e947cc85f8caba7242",
      "parents": [
        "0715501bf1d915002d92e34e8a78ea889e5a0049"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Sep 27 01:50:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:16 2006 -0700"
      },
      "message": "[PATCH] uml: fix missing x86_64 register definitions\n\nThe UML/x86_64 headers were missing ptrace support for some segment registers.\n The underlying problem was that the x86_64 kernel uses user_regs_struct\nrather than the ptrace register definitions in ptrace.  This patch switches\nUML/x86_64 to using user_regs_struct for its definitions of the host\u0027s\nregisters.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b278240839e20fa9384ea430df463b367b90e04e",
      "tree": "f99f0c8cdd4cc7f177cd75440e6bd181cded7fb3",
      "parents": [
        "dd77a4ee0f3981693d4229aa1d57cea9e526ff47",
        "3f75f42d7733e73aca5c78326489efd4189e0111"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 13:07:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 13:07:55 2006 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6\n\n* \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6: (225 commits)\n  [PATCH] Don\u0027t set calgary iommu as default y\n  [PATCH] i386/x86-64: New Intel feature flags\n  [PATCH] x86: Add a cumulative thermal throttle event counter.\n  [PATCH] i386: Make the jiffies compares use the 64bit safe macros.\n  [PATCH] x86: Refactor thermal throttle processing\n  [PATCH] Add 64bit jiffies compares (for use with get_jiffies_64)\n  [PATCH] Fix unwinder warning in traps.c\n  [PATCH] x86: Allow disabling early pci scans with pci\u003dnoearly or disallowing conf1\n  [PATCH] x86: Move direct PCI scanning functions out of line\n  [PATCH] i386/x86-64: Make all early PCI scans dependent on CONFIG_PCI\n  [PATCH] Don\u0027t leak NT bit into next task\n  [PATCH] i386/x86-64: Work around gcc bug with noreturn functions in unwinder\n  [PATCH] Fix some broken white space in ia32_signal.c\n  [PATCH] Initialize argument registers for 32bit signal handlers.\n  [PATCH] Remove all traces of signal number conversion\n  [PATCH] Don\u0027t synchronize time reading on single core AMD systems\n  [PATCH] Remove outdated comment in x86-64 mmconfig code\n  [PATCH] Use string instructions for Core2 copy/clear\n  [PATCH] x86: - restore i8259A eoi status on resume\n  [PATCH] i386: Split multi-line printk in oops output.\n  ...\n"
    },
    {
      "commit": "e8df8c3304cfc7d68e9a6a7b6df6c64783cd6991",
      "tree": "19430fa49f774ebeaa7cf8d5d40c58600ad79bf5",
      "parents": [
        "70e0eb8ef143f3729065c504177413ffe165af22"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Sep 25 23:33:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:10 2006 -0700"
      },
      "message": "[PATCH] Make UML use ptrace-abi.h\n\nInclude the host architecture\u0027s ptrace-abi.h instead of ptrace.h.\n\nThere was some cpp mangling of names around the ptrace.h include to avoid\nsymbol clashes between UML and the host architecture.  Most of these can go\naway.  The exception is struct pt_regs, which is convenient to have in\nuserspace, but must be renamed in order that UML can define its own.\n\nptrace-x86_64.h needed to have some now-obsolete cpp cruft and a declaration\nremoved.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: 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": "75e29b18d9a46bf3193278e92dc95609a8cca2ab",
      "tree": "413935160ac2f65c13ec5260a60cdd1d9259fd83",
      "parents": [
        "bf61f50d63b4d9e30d7a86a2d44bb300ae7c1dd4"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Sep 25 23:33:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:09 2006 -0700"
      },
      "message": "[PATCH] uml: stack usage reduction\n\nThe KSTK_* macros used an inordinate amount of stack.  In order to overcome\nan impedance mismatch between their interface, which just returns a single\nregister value, and the interface of get_thread_regs, which took a full\npt_regs, the implementation created an on-stack pt_regs, filled it in, and\nreturned one field.  do_task_stat calls KSTK_* twice, resulting in two\nlocal pt_regs, blowing out the stack.\n\nThis patch changes the interface (and name) of get_thread_regs to just\nreturn a single register from a jmp_buf.\n\nThe include of archsetjmp.h\" in registers.h to get the definition of\njmp_buf exposed a bogus include of \u003csetjmp.h\u003e in start_up.c.  \u003csetjmp.h\u003e\nshouldn\u0027t be used anywhere any more since UML uses the klibc\nsetjmp/longjmp.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "46a82b2d5591335277ed2930611f6acb4ce654ed",
      "tree": "e90bc1843701af2012bae92564f7109027a8244f",
      "parents": [
        "d2e7b7d0aa021847c59f882b066e7d3812902870"
      ],
      "author": {
        "name": "Dave McCracken",
        "email": "dmccr@us.ibm.com",
        "time": "Mon Sep 25 23:31:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:51 2006 -0700"
      },
      "message": "[PATCH] Standardize pxx_page macros\n\nOne of the changes necessary for shared page tables is to standardize the\npxx_page macros.  pte_page and pmd_page have always returned the struct\npage associated with their entry, while pte_page_kernel and pmd_page_kernel\nhave returned the kernel virtual address.  pud_page and pgd_page, on the\nother hand, return the kernel virtual address.\n\nShared page tables needs pud_page and pgd_page to return the actual page\nstructures.  There are very few actual users of these functions, so it is\nsimple to standardize their usage.\n\nSince this is basic cleanup, I am submitting these changes as a standalone\npatch.  Per Hugh Dickins\u0027 comments about it, I am also changing the\npxx_page_kernel macros to pxx_page_vaddr to clarify their meaning.\n\nSigned-off-by: Dave McCracken \u003cdmccr@us.ibm.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ecaf45ee5ce60afe7cc46e91d82c1b0cbda09387",
      "tree": "09ff150151dc6724f250da068c2653dc13b4e3c0",
      "parents": [
        "07c9819b31eda7954feddc83f2fae035f31c11e1"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Sep 26 10:52:29 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:29 2006 +0200"
      },
      "message": "[PATCH] i386: Redo semaphore and rwlock assembly helpers\n\n- Move them to a pure assembly file. Previously they were in\na C file that only consisted of inline assembly. Doing it in pure\nassembler is much nicer.\n- Add a frame.i include with FRAME/ENDFRAME macros to easily\nadd frame pointers to assembly functions\n- Add dwarf2 annotation to them so that the new dwarf2 unwinder\ndoesn\u0027t get stuck on them\n- Random cleanups\n\nIncludes feedback from Jan Beulich and a UML build fix from Andrew\nMorton.\n\nCc: jbeulich@novell.com\nCc: jdike@addtoit.com\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "d28d1f10f99f8ab2fe2bd06c3d22397d0ba08687",
      "tree": "3b657bed28ac3bf9f7a4a48b901390fb16b8c77e",
      "parents": [
        "cb16da6a71924772dc4580c16541dece2b9a8472"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Sep 21 08:55:28 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Sep 21 08:55:28 2006 +0100"
      },
      "message": "Remove UML header export\n\nNo need for UML to export headers for userspace to build against.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "6fa0cb1141da80eed4f86155fb51931bc1c31888",
      "tree": "df9b3c378ae4f44260eaae1a4b9d5c4ccf7bb641",
      "parents": [
        "c6482dde1c2811afba289b2344268f850595f350",
        "257a5bdeb0441789d8e34e1b3e92b26d0f51bbf0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 04 12:55:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 04 12:55:45 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/hdrinstall-2.6\n\n* git://git.infradead.org/hdrinstall-2.6:\n  Remove export of include/linux/isdn/tpam.h\n  Remove \u003clinux/i2c-id.h\u003e and \u003clinux/i2c-algo-ite.h\u003e from userspace export\n  Restrict headers exported to userspace for SPARC and SPARC64\n  Add empty Kbuild files for \u0027make headers_install\u0027 in remaining arches.\n  Add Kbuild file for Alpha \u0027make headers_install\u0027\n  Add Kbuild file for SPARC \u0027make headers_install\u0027\n  Add Kbuild file for IA64 \u0027make headers_install\u0027\n  Add Kbuild file for S390 \u0027make headers_install\u0027\n  Add Kbuild file for i386 \u0027make headers_install\u0027\n  Add Kbuild file for x86_64 \u0027make headers_install\u0027\n  Add Kbuild file for PowerPC \u0027make headers_install\u0027\n  Add generic Kbuild files for \u0027make headers_install\u0027\n  Basic implementation of \u0027make headers_check\u0027\n  Basic implementation of \u0027make headers_install\u0027\n"
    },
    {
      "commit": "47e5243afe0bd2a1aca1e1f05dfbcc214267fbc9",
      "tree": "4c71d9b03077f597bc627393ea24099b838a4db9",
      "parents": [
        "8ec4d41f88872e6a5980558e362c0174dce54e40"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sat Jul 01 04:36:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:56:03 2006 -0700"
      },
      "message": "[PATCH] uml: make copy_*_user atomic\n\nMake __copy_*_user_inatomic really atomic to avoid \"Sleeping function called in\natomic context\" warnings, especially from futex code.\n\nThis is made by adding another kmap_atomic slot and making copy_*_user_skas\nuse kmap_atomic; also copy_*_user() becomes atomic, but that\u0027s true and is not\na problem for i386 (and we can always add might_sleep there as done\nelsewhere).  For TT mode kmap is not used, so there\u0027s no need for this.\n\nI\u0027ve had to use another slot since both KM_USER0 and KM_USER1 are used\nelsewhere and could cause conflicts.  Till now we reused the kmap_atomic slot\nlist from the subarch, but that\u0027s not needed as that list must contain the\ncommon ones (used by generic code) + the ones used in architecture specific\ncode (and Uml till now used none); so I\u0027ve taken the i386 one after comparing\nit with ones from other archs, and added KM_UML_USERCOPY.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92fe15a3d24fa53e7e961c549c488d0bb642d895",
      "tree": "168020a6356ce53e52d1e22211c11c3262966c55",
      "parents": [
        "ff23db5373f66a818c296f4d58adaaa10f515fd3"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Jun 30 01:55:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:38 2006 -0700"
      },
      "message": "[PATCH] uml: add __raw_writeq definition\n\nThe x86_64 build requires a definition for __raw_writeq.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c0ad90a32fb60f4129d0e24dfd5fd7128e2e09f2",
      "tree": "260d99ab74d33a37cbcc3557e2f18a5e96879f4d",
      "parents": [
        "096c8131c573ed37939dc3f1440221c92c87e74b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:23 2006 -0700"
      },
      "message": "[PATCH] genirq: add -\u003eretrigger() irq op to consolidate hw_irq_resend()\n\nAdd -\u003eretrigger() irq op to consolidate hw_irq_resend() implementations.\n(Most architectures had it defined to NOP anyway.)\n\nNOTE: ia64 needs testing. i386 and x86_64 tested.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-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": "cee4cca740d209bcb4b9857baa2253d5ba4e3fbe",
      "tree": "88a23004393ea4a32cad79839479c8e653e401d6",
      "parents": [
        "2edc322d420a4cec8dbc184a1220ecd7fa9f8ae6",
        "9348f0de2d2b541b4ba64fb1f4efee9710a3d731"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 15:10:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 15:10:08 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/hdrcleanup-2.6\n\n* git://git.infradead.org/hdrcleanup-2.6: (63 commits)\n  [S390] __FD_foo definitions.\n  Switch to __s32 types in joystick.h instead of C99 types for consistency.\n  Add \u003csys/types.h\u003e to headers included for userspace in \u003clinux/input.h\u003e\n  Move inclusion of \u003clinux/compat.h\u003e out of user scope in asm-x86_64/mtrr.h\n  Remove struct fddi_statistics from user view in \u003clinux/if_fddi.h\u003e\n  Move user-visible parts of drivers/s390/crypto/z90crypt.h to include/asm-s390\n  Revert include/media changes: Mauro says those ioctls are only used in-kernel(!)\n  Include \u003clinux/types.h\u003e and use __uXX types in \u003clinux/cramfs_fs.h\u003e\n  Use __uXX types in \u003clinux/i2o_dev.h\u003e, include \u003clinux/ioctl.h\u003e too\n  Remove private struct dx_hash_info from public view in \u003clinux/ext3_fs.h\u003e\n  Include \u003clinux/types.h\u003e and use __uXX types in \u003clinux/affs_hardblocks.h\u003e\n  Use __uXX types in \u003clinux/divert.h\u003e for struct divert_blk et al.\n  Use __u32 for elf_addr_t in \u003casm-powerpc/elf.h\u003e, not u32. It\u0027s user-visible.\n  Remove PPP_FCS from user view in \u003clinux/ppp_defs.h\u003e, remove __P mess entirely\n  Use __uXX types in user-visible structures in \u003clinux/nbd.h\u003e\n  Don\u0027t use \u0027u32\u0027 in user-visible struct ip_conntrack_old_tuple.\n  Use __uXX types for S390 DASD volume label definitions which are user-visible\n  S390 BIODASDREADCMB ioctl should use __u64 not u64 type.\n  Remove unneeded inclusion of \u003clinux/time.h\u003e from \u003clinux/ufs_fs.h\u003e\n  Fix private integer types used in V4L2 ioctls.\n  ...\n\nManually resolve conflict in include/linux/mtd/physmap.h\n"
    },
    {
      "commit": "ef4d04b87d16839500a77aa1279f80be7ec4ef2e",
      "tree": "58cd5908c66f90810c75505ff555023d9be00073",
      "parents": [
        "57e580f885a62c21fe75e35e9e445fb6fb82509c"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun Jun 18 12:58:53 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun Jun 18 12:58:53 2006 +0100"
      },
      "message": "Add empty Kbuild files for \u0027make headers_install\u0027 in remaining arches.\n\nThese include nothing more than the basic set of files listed in\nasm-generic/Kbuild.asm. Any extra arch-specific files will need to be\nadded.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "b8719c31a30a4a1054d99fbd51a88c2f6444392a",
      "tree": "66eb22e5f57f874f8c1b1ec09bfb1b704a4284da",
      "parents": [
        "ca34fb1a8786af43457ec4f1bfc101a66d1160e0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 04 02:51:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 05 12:29:17 2006 -0700"
      },
      "message": "[PATCH] uml: more __user annotations\n\nFrom: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n\numl __user annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "65e62974a8a6157140259b26e7156e39f53031b6",
      "tree": "ed98649ecd8eb9485404acb0e6cdfab2edb94d83",
      "parents": [
        "2d7b20c1884777e66009be1a533641c19c4705f6"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun Jun 04 02:51:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 05 12:29:17 2006 -0700"
      },
      "message": "[PATCH] uml: add asm/irqflags.h\n\nFrom: Jeff Dike \u003cjdike@addtoit.com\u003e\n\nAdd an empty asm/irqflags.h, which seems to satisfy the lock validator enough\nthat UML builds.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "5b0e94787f1b8fdcd370fc6303579d171b941080",
      "tree": "037465ee69e0eb405982e04afe127bdcedfb90a6",
      "parents": [
        "7c45ad16f0b64f5fdc64cb0e86aa548d7f4d60c1"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Mon Apr 10 22:53:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:36 2006 -0700"
      },
      "message": "[PATCH] uml: fix \"extern-vs-static\" proto conflict in TLS code\n\nMove the prototype from arch-generic to arch-specific includes because on\nx86_64 these functions are two static inlines.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3feb88562d149f078319e5a1b2f7acaa10251a5c",
      "tree": "73fb00f0ecb9ed0c4cf8eec24c84253ce9620464",
      "parents": [
        "54d8d3b5a0ce1cdbad1d3154c9ea9732d394e9c7"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Fri Mar 31 02:30:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:52 2006 -0800"
      },
      "message": "[PATCH] uml: check for differences in host support\n\nIf running on a host not supporting TLS (for instance 2.4) we should report\nthat cleanly to the user, instead of printing not comprehensible \"error 5\" for\nthat.\n\nAdditionally, i386 and x86_64 support different ranges for\nuser_desc-\u003eentry_number, and we must account for that; we couldn\u0027t pass\nourselves -1 because we need to override previously existing TLS descriptors\nwhich glibc has possibly set, so test at startup the range to use.\n\nx86 and x86_64 existing ranges are hardcoded.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aa6758d4867cd07bd76105ade6177fe6148e559a",
      "tree": "0053f855c885a6dc322337468a2c45b6b2f8ddd0",
      "parents": [
        "972410b0232e97609fcefc8e408fe3037fcd607b"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Fri Mar 31 02:30:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:52 2006 -0800"
      },
      "message": "[PATCH] uml: implement {get,set}_thread_area for i386\n\nImplement sys_[gs]et_thread_area and the corresponding ptrace operations for\nUML.  This is the main chunk, additional parts follow.  This implementation is\nnow well tested and has run reliably for some time, and we\u0027ve understood all\nthe previously existing problems.\n\nTheir implementation saves the new GDT content and then forwards the call to\nthe host when appropriate, i.e.  immediately when the target process is\nrunning or on context switch otherwise (i.e.  on fork and on ptrace() calls).\n\nIn SKAS mode, we must switch registers on each context switch (because SKAS\ndoes not switches tls_array together with current-\u003emm).\n\nAlso, added get_cpu() locking; this has been done for SKAS mode, since TT does\nnot need it (it does not use smp_processor_id()).\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fbdf2161552a2065047e5df2dbf9ebf69d66a0e9",
      "tree": "67d1adf47db4d80b712e276e348f2d4ec6da251d",
      "parents": [
        "12523bdce1a6b5a3a2627b9901162bbd3eef33ed"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Fri Mar 31 02:30:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:51 2006 -0800"
      },
      "message": "[PATCH] uml: split ldt.h in arch-independent and arch-dependant code\n\nldt-{i386,x86_64}.h is made of two different parts - some code for parsing of\nLDT descriptors, which is arch-dependant, and the code to handle uml_ldt_t (an\nLDT block inside UML), which is mostly arch-independant (among x86 and x86_64,\nat least).\n\nJoin the common part in a single file (ldt.h) and split the rest away\n(host_ldt-{i386,x86_64}.h).\n\nThis is needed because processor.h, with next patches, will start including\nthe LDT descriptor parsing macros in host_ldt.h, but it can\u0027t include ldt.h\nbecause it uses semaphores (and to define semaphores one must first include\nprocessor.h!).\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4d338e1accfc3473f7e453427dfd4f1ebf4dbbe6",
      "tree": "ac6559e533cd4720b5c5b13119b3d10f0ab8b51d",
      "parents": [
        "694a464e19b9e3278dbaf6a09fa7c1efec3f8eb5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 31 02:30:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:51 2006 -0800"
      },
      "message": "[PATCH] uml: sparse cleanups\n\nmisc sparse annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9828c185db7ab41426c03c5539b1759ccf3c28ed",
      "tree": "a4652ddceed256c316fab5f05def7fe72e704d8a",
      "parents": [
        "064b2a0762ef7dca5f7068a90b260a309ffe2002"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:46 2006 -0800"
      },
      "message": "[PATCH] unify pfn_to_page: uml pfn_to_page\n\nUML can use generic funcs.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bb83da053319e81906473bec08e8f677d6ac615f",
      "tree": "b5ee3445db891baf71e4ce358baca740043c0672",
      "parents": [
        "dbffa471611d3fc4b401ebabf7bb63ac0e0272b1"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Mar 27 01:14:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:37 2006 -0800"
      },
      "message": "[PATCH] uml: fix build warnings in __get_user\n\nFix a gcc warning about losing qualifiers to the first argument of\ncopy_from_user.  The typeof change for correctness, and fixes a lot of the\nwarnings, but there are some cases where x has some extra qualifiers, like\nvolatile, which copy_from_user can\u0027t know about.  For these, the void * cast\nseems to be necessary.\n\nAlso cleaned up some of the whitespace and got rid of the emacs comment at the\nbottom.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a0b5817ad97bb718ab85322759d19a238712b47",
      "tree": "39bd21eb69c4001b99096d96a76a2e5d37904108",
      "parents": [
        "4d7d8c82c181711d28c8336108330a9121f5ef07"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@suse.de",
        "time": "Thu Mar 23 02:59:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:04 2006 -0800"
      },
      "message": "[PATCH] x86: SMP alternatives\n\nImplement SMP alternatives, i.e.  switching at runtime between different\ncode versions for UP and SMP.  The code can patch both SMP-\u003eUP and UP-\u003eSMP.\nThe UP-\u003eSMP case is useful for CPU hotplug.\n\nWith CONFIG_CPU_HOTPLUG enabled the code switches to UP at boot time and\nwhen the number of CPUs goes down to 1, and switches to SMP when the number\nof CPUs goes up to 2.\n\nWithout CONFIG_CPU_HOTPLUG or on non-SMP-capable systems the code is\npatched once at boot time (if needed) and the tables are released\nafterwards.\n\nThe changes in detail:\n\n  * The current alternatives bits are moved to a separate file,\n    the SMP alternatives code is added there.\n\n  * The patch adds some new elf sections to the kernel:\n    .smp_altinstructions\n\tlike .altinstructions, also contains a list\n\tof alt_instr structs.\n    .smp_altinstr_replacement\n\tlike .altinstr_replacement, but also has some space to\n\tsave original instruction before replaving it.\n    .smp_locks\n\tlist of pointers to lock prefixes which can be nop\u0027ed\n\tout on UP.\n    The first two are used to replace more complex instruction\n    sequences such as spinlocks and semaphores.  It would be possible\n    to deal with the lock prefixes with that as well, but by handling\n    them as special case the table sizes become much smaller.\n\n * The sections are page-aligned and padded up to page size, so they\n   can be free if they are not needed.\n\n * Splitted the code to release init pages to a separate function and\n   use it to release the elf sections if they are unused.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@suse.de\u003e\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "72e5525765ee01d72a9b92fab78ecea883ae7fdd",
      "tree": "cb532f02be0ced6f5ce73470d7ce762d76358730",
      "parents": [
        "42947cb98fd16bff21e0000a974ff6bd1e620cd4"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Wed Feb 01 03:06:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:23 2006 -0800"
      },
      "message": "[PATCH] uml: avoid \"CONFIG_NR_CPUS undeclared\" bogus error messages\n\n      Olaf Hering \u003colh@suse.de\u003e\n\nOlaf reported UML doesn\u0027t build for him with a clear analisys of what happened\n- we\u0027re using NR_CPUS in files linked against glibc headers.  Seems like it\ndefines CONFIG_SMP but not CONFIG_NR_CPUS, so we get CONFIG_NR_CPUS\nundeclared.\n\nThe fix is to move the declaration away from that header file and move it in\nasm-um headers, and to add that header where needed.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4cd7ed94428babb0cdbf08cc14c257e223186079",
      "tree": "fd0b8740cefb9d7d8606a82f11f9004484b47fd9",
      "parents": [
        "e5cf888631af95c8022d659d77fb595e0c3ac778"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Wed Feb 01 03:06:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:23 2006 -0800"
      },
      "message": "[PATCH] uml: skas0-hold-own-ldt fixups for x86-64\n\nIn a recent fixup i386 code was copied raw to x86_64 subarch to make it\ncompile again.\n\nHere there are some little fixups and resyncs needed for it (mainly for\ncleanliness sake) - I did an audit and found the rest of the code to be safe.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0c19585b0d2f6817dd9af607650d3f6cae2fd8bc",
      "tree": "155b3c411cb8677f257544be03d4c26c81f2b44c",
      "parents": [
        "db805812084ab03fbf6aac95c5f7ef2f50e3bd9a"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Wed Feb 01 03:06:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:22 2006 -0800"
      },
      "message": "[PATCH] uml: typo fixup\n\nTrivial innocent cosmetical fixup.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36a7878a224c18aa4a5e098dc93d19cf5601462b",
      "tree": "25b6339902dc1a517da33f631021e90b34456e99",
      "parents": [
        "2fc10620e741153329e2f1cbcde76e526f501410"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Jan 18 17:44:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:30 2006 -0800"
      },
      "message": "[PATCH] uml: use generic sys_rt_sigsuspend\n\nUse the generic sys_rt_sigsuspend.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2fc10620e741153329e2f1cbcde76e526f501410",
      "tree": "d93344bc160f4f2455d4a4947d6347c1ff9b6fd2",
      "parents": [
        "f27201da5c8f118cfe266f51447bdd108d5f081d"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Jan 18 17:44:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:30 2006 -0800"
      },
      "message": "[PATCH] uml: add TIF_RESTORE_SIGMASK support\n\nAdd support for TIF_RESTORE_SIGMASK.  I copy the i386 handling of the flag.\nsys_sigsuspend is also changed to follow i386.\nAlso a bit of cleanup -\n   turn an if into a switch\n   get rid of a couple more emacs formatting comments\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ea1eae75eb596e0628dc5e01d32c78b1f6b257fb",
      "tree": "ebd55d53c349548af8685f1705dc9c682eb8649b",
      "parents": [
        "86c562a9d6683063e071692fe14e0a18e64ee1be"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Jan 18 17:42:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:18 2006 -0800"
      },
      "message": "[PATCH] uml: add __raw_writel definition\n\nAdd implementations of the write* and __raw_write* functions.  __raw_writel is\nneeded by lib/iocopy.c, which shouldn\u0027t be used in UML, but which is\nunconditionally linked in anyway.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f5a61d0c13db3522a996075bc1b1884a8af2ed37",
      "tree": "e234cb428cb501206e48b654ca6dc82cb389447e",
      "parents": [
        "75bb07e788abb060cc93b6f4dc48a70a53c1406b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Jan 12 01:06:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jan 12 09:08:59 2006 -0800"
      },
      "message": "[PATCH] death of get_thread_info/put_thread_info\n\n{get,put}_thread_info() were introduced in 2.5.4 and never\nhad been called by anything in the tree.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "df2e71fb9115a8d4f721fb1464db09adc8332bc5",
      "tree": "460230de8257235dc57f9835582afb0875cbc057",
      "parents": [
        "be4f1bb2627c2d963d09be1cd69f8820995a9112"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Mon Jan 09 20:51:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:25 2006 -0800"
      },
      "message": "[PATCH] dump_thread() cleanup\n\n\r)\n\nFrom: Adrian Bunk \u003cbunk@stusta.de\u003e\n\n- create one common dump_thread() prototype in kernel.h\n\n- dump_thread() is only used in fs/binfmt_aout.c and can therefore be\n  removed on all architectures where CONFIG_BINFMT_AOUT is not\n  available\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2acbb8c657af86b2fa5b185f1d7048385e310585",
      "tree": "bc106bb2665a9c6267e6cc4eec9085deedd9e636",
      "parents": [
        "823d0f4f67252115212eb86caba14d5795bbe643"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Mon Jan 09 15:59:19 2006 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@hera.kernel.org",
        "time": "Mon Jan 09 15:59:19 2006 -0800"
      },
      "message": "[PATCH] mutex subsystem, add default include/asm-*/mutex.h files\n\nadd the per-arch mutex.h files for the remaining architectures.\n\nWe default to asm-generic/mutex-dec.h, because that performs\nquite well on most arches. Arches that do not have atomic\ndecrement/increment instructions should switch to mutex-xchg.h\ninstead. Arches can also provide their own implementation for\nthe mutex fastpath primitives.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a1365647022eb05a5993f270a78e9bef3bf554eb",
      "tree": "6dbcab4db80b7d07fdaec88c003743d1f6e1a289",
      "parents": [
        "fd285bb54d8a3e99810090ae88cfe8ed77d1da25"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jan 08 01:04:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:02 2006 -0800"
      },
      "message": "[PATCH] remove gcc-2 checks\n\nRemove various things which were checking for gcc-1.x and gcc-2.x compilers.\n\nFrom: Adrian Bunk \u003cbunk@stusta.de\u003e\n\n    Some documentation updates and removes some code paths for gcc \u003c 3.2.\n\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f8aaeacec159f2d9003872781fa4d49659e347fb",
      "tree": "f59dc7ae8fccc41e2ded098182a146086c6e2239",
      "parents": [
        "c66fdd5e324392584c6f11de65cfe24b0e2d9303"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun Jan 08 01:01:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:39 2006 -0800"
      },
      "message": "[PATCH] consolidate asm/futex.h\n\nMost of the architectures have the same asm/futex.h.  This consolidates them\ninto asm-generic, with the arches including it from their own asm/futex.h.\n\nIn the case of UML, this reverts the old broken futex.h and goes back to using\nthe same one as almost everyone else.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1fd73c6b6737b7e6eacac1b00dac16e7540c3cb1",
      "tree": "e66dbe34118b289c6f89a23764e355ea62fa2c62",
      "parents": [
        "22fc6eccbf4ce4eb6265e6ada7b50a7b9cc57d05"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Sun Jan 08 01:01:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:39 2006 -0800"
      },
      "message": "[PATCH] Kill L1_CACHE_SHIFT_MAX\n\nKill L1_CACHE_SHIFT from all arches.  Since L1_CACHE_SHIFT_MAX is not used\nanymore with the introduction of INTERNODE_CACHE, kill L1_CACHE_SHIFT_MAX.\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e23181deec0d2a8be576faf9d71211abb84d5ccc",
      "tree": "012a6ef362ae469e632d3490bf14b2b09ad4015e",
      "parents": [
        "39d730ab87f07592e3a3794353f097d5184cae7a"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Nov 21 21:32:08 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:13:41 2005 -0800"
      },
      "message": "[PATCH] uml: eliminate anonymous union and clean up symlink lossage\n\nThis gives a name to the anonymous union introduced in skas-hold-own-ldt,\nallowing to build on a wider range of gccs.\n\nIt also removes ldt.h, which somehow became real, and replaces it with a\nsymlink, and creates ldt-x86_64.h as a copy of ldt-i386.h for now.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "858259cf7d1c443c836a2022b78cb281f0a9b95e",
      "tree": "7d306450dd0dfa907bbee1d95f96191c67f74232",
      "parents": [
        "e763b793f7e5c09a859fc420eb0de385d80cf636"
      ],
      "author": {
        "name": "Bodo Stroesser",
        "email": "bstroesser@fujitsu-siemens.com",
        "time": "Mon Nov 07 00:58:55 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:31 2005 -0800"
      },
      "message": "[PATCH] uml: maintain own LDT entries\n\nPatch imlements full LDT handling in SKAS:\n * UML holds it\u0027s own LDT table, used to deliver data on\n   modify_ldt(READ)\n * UML disables the default_ldt, inherited from the host (SKAS3)\n   or resets LDT entries, set by host\u0027s clib and inherited in\n   SKAS0\n * A new global variable skas_needs_stub is inserted, that\n   can be used to decide, whether stub-pages must be supported\n   or not.\n * Uses the syscall-stub to replace missing PTRACE_LDT (therefore,\n   write_ldt_entry needs to be modified)\n\nSigned-off-by: Bodo Stroesser \u003cbstroesser@fujitsu-siemens.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e763b793f7e5c09a859fc420eb0de385d80cf636",
      "tree": "dd6a0fe2abe51339c7a3296c34d19efb3e928ff4",
      "parents": [
        "ff5c6ff54215fe284e515032878111de5d8a5ce1"
      ],
      "author": {
        "name": "Ben Lahaise",
        "email": "bcrl@linux.intel.com",
        "time": "Mon Nov 07 00:58:52 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:31 2005 -0800"
      },
      "message": "[PATCH] uml: switch_mm fix\n\nNot quite, something along the lines of the patch below works correctly (and\nmakes aio performance not suffer from multiple second delays), as skas0 mode\ncorrectly switches mm contexts, unlike TT (which should probably get nuked\nfrom the kernel now that skas0 seems to be working).\n\nSigned-off-by: Benjamin LaHaise \u003cbcrl@linux.intel.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6a351cfeadd4b56a2a0031020c0cfb07cc0337fb",
      "tree": "88b96f069f035a73cc6089a141a0167e4cb6afe8",
      "parents": [
        "b365157be3250a6b5948422ba65e05e5f964e150"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sun Oct 30 15:00:08 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:16 2005 -0800"
      },
      "message": "[PATCH] uml: remove old UM_FASTCALL, and make the thing work again\n\nThis was used in the old dark age of 2.4, ARCH_CFLAGS doesn\u0027t work any more\nsince some time, and UM_FASTCALL was never used in 2.6.\n\nInstead, reintroduce the thing more properly now, directly in\ninclude/asm-um/linkage.h.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "96d55b882b85b26711a06d8fb2c901df9d52a48b",
      "tree": "309b8993ad321c050411a8dd74729180488a5dcc",
      "parents": [
        "f3ac9fbf7a0b9493377ee88d9b5b2933ff3f7ade"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sun Oct 30 15:00:07 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:16 2005 -0800"
      },
      "message": "[PATCH] uml: reuse i386 cpu-specific tuning\n\nMake UML share the underlying cpu-specific tuning done on i386.\n\nActually, for now many config options aren\u0027t used a lot - but that can be done\nlater.  Also, UML relies on GCC optimization for things like memcpy and such\nmore than i386, so specifying the correct -march and -mtune should be enough.\nLater, we may want to correct some other stuff.\n\nFor instance, since FPU context switching, for us, is done (at least\npartially, i.e.  between our kernelspace and userspace) by the host, we may\nallow usage of FPU operations by GCC.  This doesn\u0027t hold for kernelspace vs.\nkernelspace, but we don\u0027t support preemption.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "705e87c0c3c38424f7f30556c85bc20e808d2f59",
      "tree": "7a237e6266f4801385e1226cc497b47e3a2458bd",
      "parents": [
        "8f4e2101fd7df9031a754eedb82e2060b51f8c45"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:40 2005 -0700"
      },
      "message": "[PATCH] mm: pte_offset_map_lock loops\n\nConvert those common loops using page_table_lock on the outside and\npte_offset_map within to use just pte_offset_map_lock within instead.\n\nThese all hold mmap_sem (some exclusively, some not), so at no level can a\npage table be whipped away from beneath them.  But whereas pte_alloc loops\ntested with the \"atomic\" pmd_present, these loops are testing with pmd_none,\nwhich on i386 PAE tests both lower and upper halves.\n\nThat\u0027s now unsafe, so add a cast into pmd_none to test only the vital lower\nhalf: we lose a little sensitivity to a corrupt middle directory, but not\nenough to worry about.  It appears that i386 and UML were the only\narchitectures vulnerable in this way, and pgd and pud no problem.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "53f9fc93f90a43701d6aaf3919be0614bb088b83",
      "tree": "b86e4ef9ef7ae1f54b64d19ca1e35c3607c36845",
      "parents": [
        "1ef64e670e3bc27e0c3c83810ca36e19924c35c6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 03:22:24 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:51 2005 -0700"
      },
      "message": "[PATCH] gfp_t: remaining bits of arch/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "970a9e73f9036ef89d46b8240f99463f6d244c1d",
      "tree": "0a55b5f311024661468a96fb01cb1063816f8d95",
      "parents": [
        "5fb5cbed6e5ba4cbaf7284a23d42eb878bb7da24"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 03:21:53 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:49 2005 -0700"
      },
      "message": "[PATCH] gfp_t: dma-mapping (simple cases)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fad1c45c939bb246a488be1fa06f539e85b80545",
      "tree": "2a368da0e73817083caed84f4fe8085fcb654554",
      "parents": [
        "71dc036247573e377703233af289019f4aa3176e"
      ],
      "author": {
        "name": "Allan Graves",
        "email": "allan.graves@oracle.com",
        "time": "Tue Oct 04 14:53:52 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 04 13:22:01 2005 -0700"
      },
      "message": "[PATCH] uml: Fix sysrq-r support for skas mode\n\nThe old code had the IP and SP coming from the registers in the thread\nstruct, which are completely wrong since those are the userspace\nregisters.  This fixes that by pulling the correct values from the\njmp_buf in which the kernel state of each thread is stored.\n\nSigned-off-by: Allan Graves \u003callan.graves@oracle.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4735885701d7c24ed54f35f5102d32b3aabee55e",
      "tree": "125702971689630aa0a8ff67f7433a6f8cefaf36",
      "parents": [
        "eacaa1f5aa4a41a48349f55abcd9258506943e76"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Sep 30 03:29:05 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 30 08:42:24 2005 -0700"
      },
      "message": "[PATCH] uml get_user() NULL noise removal\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "69e1e688f5698287b45fbff22a01de91b20804cd",
      "tree": "2570b75a608a3deddc69afc8b989dbb66557efea",
      "parents": [
        "a8bfb94c58238666df0d6856861d18f0f52fc752"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Thu Sep 22 21:44:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Sep 22 22:17:36 2005 -0700"
      },
      "message": "[PATCH] uml: don\u0027t redundantly mark pte as newpage in pte_modify\n\npte_modify marks a page as needing flush, which is redundant because the\nresulting PTE is still set with set_pte, which already handles that.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c51179fb0c77ad91df5825f8f7eb670da97e137e",
      "tree": "e1f4b8abef1caf0be32a6d777074fd84a80ef165",
      "parents": [
        "f62378fcfc9c13a57b0b69dbd43336a4df8155a5"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Wed Sep 21 18:37:14 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 21 16:16:29 2005 -0700"
      },
      "message": "[PATCH] uml: adapt asm/futex.h to our arch\n\nFollow up to 4732efbeb997189d9f9b04708dc26bf8613ed721 - uml must just reuse\nas-is the backing architecture support. There is a micro-fixup is needed for the\nincluded file, which won\u0027t affect i386 behaviour at all.\n\nI\u0027ve not tested compilation on x86_64, only on x86, but the code is almost the\nsame except the culprit test, so everything should be ok on x86_64 too.\n\nCc: Jakub Jelinek \u003cjakub@redhat.com\u003e\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3013449243adc3421b507696e5d247a3d292ee0c",
      "tree": "0cabbe21507b1136b84086452f56b5a095adfcf8",
      "parents": [
        "2030c0fd3db3332378f95f479c286181e3920644"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Sep 16 19:28:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 17 11:50:01 2005 -0700"
      },
      "message": "[PATCH] uml: UML/i386 cmpxchg fix\n\nUsing native cmpxchg offers a slight performance improvement in uml/i386.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3eddddcf239c89bbd3c50d1440001a3d384ed40a",
      "tree": "8f41380260d8de20c14315bc3684c37e26632fe3",
      "parents": [
        "f6e34c6af6f18bd6c66bfb1c6a7c57068412aa73"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Sep 16 19:27:46 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 17 11:49:59 2005 -0700"
      },
      "message": "[PATCH] uml: breakpoint an arbitrary thread\n\nThis patch implements a stack trace for a thread, not unlike sysrq-t does.\nThe advantage to this is that a break point can be placed on showreqs, so that\nupon showing the stack, you jump immediately into the debugger.  While sysrq-t\ndoes the same thing, sysrq-t shows *all* threads stacks.  It also doesn\u0027t work\nright now.  In the future, I thought it might be acceptable to make this show\nall pids stacks, but perhaps leaving well enough alone and just using sysrq-t\nwould be okay.  For now, upon receiving the stack command, UML switches\ncontext to that thread, dumps its registers, and then switches context back to\nthe original thread.  Since UML compacts all threads into one of 4 host\nthreads, this sort of mechanism could be expanded in the future to include\nother debugging helpers that sysrq does not cover.\n\nNote by jdike - The main benefit to this is that it brings an arbitrary thread\nback into context, where it can be examined by gdb.  The fact that it dumps it\nstack is secondary.  This provides the capability to examine a sleeping\nthread, which has existed in tt mode, but not in skas mode until now.\n\nAlso, the other threads, that sysrq doesn\u0027t cover, can be gdb-ed directly\nanyway.\n\nSigned-off-by: Allan Graves\u003callan.graves@gmail.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d3fd4c2d48ac4590a922f2a950a2d46386c97a8a",
      "tree": "cef6d404564d7bfa31435b305402aba646b3d3bb",
      "parents": [
        "7f93220b624de1b7d9fcff8a2cebd6fce7ed4665"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Sep 11 00:24:27 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 16:50:01 2005 -0700"
      },
      "message": "[PATCH] uml spinlock breakage\n\nmingo missed that one...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d99c4022f60a9aa3a8dc6b7d71f3d0998c696912",
      "tree": "d02de9d131b3d45a21ce60e4b5d3380497f86daf",
      "parents": [
        "4413a511f22ec771edc0b7c93e5b34e05511acb5"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sat Sep 10 19:44:56 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 12:00:18 2005 -0700"
      },
      "message": "[PATCH] uml: inline mk_pte and various friends\n\nTurns out that, for UML, a *lot* of VM-related trivial functions are not\ninlined but rather normal functions.\n\nIn other sections of UML code, this is justified by having files which\ninteract with the host and cannot therefore include kernel headers, but in\nthis case there\u0027s no such justification.\n\nI\u0027ve had to turn many of them to macros because of missing declarations. While\ndoing this, I\u0027ve decided to reuse some already existing macros.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c8d127418d78aaeeb1a417ef7453dc09c9118146",
      "tree": "6d227f4604b3f13566cd5e93d04773e1ee5e42da",
      "parents": [
        "96d0821cacd095e25a39dfff5232a45b63ed18dd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Sep 06 15:17:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:30 2005 -0700"
      },
      "message": "[PATCH] remove asm-*/hdreg.h\n\nunused and useless..\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36d57ac4a818cb4aa3edbdf63ad2ebc31106f925",
      "tree": "445eda00ee5974a65e21152cd240fb604c6d112d",
      "parents": [
        "32605a18152b246df483fadc1c23854addde8755"
      ],
      "author": {
        "name": "H. J. Lu",
        "email": "hjl@lucon.org",
        "time": "Tue Sep 06 15:16:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:21 2005 -0700"
      },
      "message": "[PATCH] auxiliary vector cleanups\n\nThe size of auxiliary vector is fixed at 42 in linux/sched.h.  But it isn\u0027t\nvery obvious when looking at linux/elf.h.  This patch adds AT_VECTOR_SIZE\nso that we can change it if necessary when a new vector is added.\n\nBecause of include file ordering problems, doing this necessitated the\nextraction of the AT_* symbols into a standalone header file.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4732efbeb997189d9f9b04708dc26bf8613ed721",
      "tree": "885308bb2b521e52e13aaa8a67c78b2ab3c18cd8",
      "parents": [
        "5b039e681b8c5f30aac9cc04385cc94be45d0823"
      ],
      "author": {
        "name": "Jakub Jelinek",
        "email": "jakub@redhat.com",
        "time": "Tue Sep 06 15:16:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:17 2005 -0700"
      },
      "message": "[PATCH] FUTEX_WAKE_OP: pthread_cond_signal() speedup\n\nATM pthread_cond_signal is unnecessarily slow, because it wakes one waiter\n(which at least on UP usually means an immediate context switch to one of\nthe waiter threads).  This waiter wakes up and after a few instructions it\nattempts to acquire the cv internal lock, but that lock is still held by\nthe thread calling pthread_cond_signal.  So it goes to sleep and eventually\nthe signalling thread is scheduled in, unlocks the internal lock and wakes\nthe waiter again.\n\nNow, before 2003-09-21 NPTL was using FUTEX_REQUEUE in pthread_cond_signal\nto avoid this performance issue, but it was removed when locks were\nredesigned to the 3 state scheme (unlocked, locked uncontended, locked\ncontended).\n\nFollowing scenario shows why simply using FUTEX_REQUEUE in\npthread_cond_signal together with using lll_mutex_unlock_force in place of\nlll_mutex_unlock is not enough and probably why it has been disabled at\nthat time:\n\nThe number is value in cv-\u003e__data.__lock.\n        thr1            thr2            thr3\n0       pthread_cond_wait\n1       lll_mutex_lock (cv-\u003e__data.__lock)\n0       lll_mutex_unlock (cv-\u003e__data.__lock)\n0       lll_futex_wait (\u0026cv-\u003e__data.__futex, futexval)\n0                       pthread_cond_signal\n1                       lll_mutex_lock (cv-\u003e__data.__lock)\n1                                       pthread_cond_signal\n2                                       lll_mutex_lock (cv-\u003e__data.__lock)\n2                                         lll_futex_wait (\u0026cv-\u003e__data.__lock, 2)\n2                       lll_futex_requeue (\u0026cv-\u003e__data.__futex, 0, 1, \u0026cv-\u003e__data.__lock)\n                          # FUTEX_REQUEUE, not FUTEX_CMP_REQUEUE\n2                       lll_mutex_unlock_force (cv-\u003e__data.__lock)\n0                         cv-\u003e__data.__lock \u003d 0\n0                         lll_futex_wake (\u0026cv-\u003e__data.__lock, 1)\n1       lll_mutex_lock (cv-\u003e__data.__lock)\n0       lll_mutex_unlock (cv-\u003e__data.__lock)\n          # Here, lll_mutex_unlock doesn\u0027t know there are threads waiting\n          # on the internal cv\u0027s lock\n\nNow, I believe it is possible to use FUTEX_REQUEUE in pthread_cond_signal,\nbut it will cost us not one, but 2 extra syscalls and, what\u0027s worse, one of\nthese extra syscalls will be done for every single waiting loop in\npthread_cond_*wait.\n\nWe would need to use lll_mutex_unlock_force in pthread_cond_signal after\nrequeue and lll_mutex_cond_lock in pthread_cond_*wait after lll_futex_wait.\n\nAnother alternative is to do the unlocking pthread_cond_signal needs to do\n(the lock can\u0027t be unlocked before lll_futex_wake, as that is racy) in the\nkernel.\n\nI have implemented both variants, futex-requeue-glibc.patch is the first\none and futex-wake_op{,-glibc}.patch is the unlocking inside of the kernel.\n The kernel interface allows userland to specify how exactly an unlocking\noperation should look like (some atomic arithmetic operation with optional\nconstant argument and comparison of the previous futex value with another\nconstant).\n\nIt has been implemented just for ppc*, x86_64 and i?86, for other\narchitectures I\u0027m including just a stub header which can be used as a\nstarting point by maintainers to write support for their arches and ATM\nwill just return -ENOSYS for FUTEX_WAKE_OP.  The requeue patch has been\n(lightly) tested just on x86_64, the wake_op patch on ppc64 kernel running\n32-bit and 64-bit NPTL and x86_64 kernel running 32-bit and 64-bit NPTL.\n\nWith the following benchmark on UP x86-64 I get:\n\nfor i in nptl-orig nptl-requeue nptl-wake_op; do echo time elf/ld.so --library-path .:$i /tmp/bench; \\\nfor j in 1 2; do echo ( time elf/ld.so --library-path .:$i /tmp/bench ) 2\u003e\u00261; done; done\ntime elf/ld.so --library-path .:nptl-orig /tmp/bench\nreal 0m0.655s user 0m0.253s sys 0m0.403s\nreal 0m0.657s user 0m0.269s sys 0m0.388s\ntime elf/ld.so --library-path .:nptl-requeue /tmp/bench\nreal 0m0.496s user 0m0.225s sys 0m0.271s\nreal 0m0.531s user 0m0.242s sys 0m0.288s\ntime elf/ld.so --library-path .:nptl-wake_op /tmp/bench\nreal 0m0.380s user 0m0.176s sys 0m0.204s\nreal 0m0.382s user 0m0.175s sys 0m0.207s\n\nThe benchmark is at:\nhttp://sourceware.org/ml/libc-alpha/2005-03/txt00001.txt\nOlder futex-requeue-glibc.patch version is at:\nhttp://sourceware.org/ml/libc-alpha/2005-03/txt00002.txt\nOlder futex-wake_op-glibc.patch version is at:\nhttp://sourceware.org/ml/libc-alpha/2005-03/txt00003.txt\nWill post a new version (just x86-64 fixes so that the patch\napplies against pthread_cond_signal.S) to libc-hacker ml soon.\n\nAttached is the kernel FUTEX_WAKE_OP patch as well as a simple-minded\ntestcase that will not test the atomicity of the operation, but at least\ncheck if the threads that should have been woken up are woken up and\nwhether the arithmetic operation in the kernel gave the expected results.\n\nAcked-by: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Jamie Lokier \u003cjamie@shareable.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Yoichi Yuasa \u003cyuasa@hh.iij4u.or.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7ef939054139ef857cebbec07cbd12d7cf7beedd",
      "tree": "c6e1c0722336b6155b0f7cf985b2ea4eb9c5d9e1",
      "parents": [
        "f9dfefe423a7633d81310c7b06c5566c74f9167b"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Sep 03 15:57:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:24 2005 -0700"
      },
      "message": "[PATCH] uml: fix x86_64 page leak\n\nWe were leaking pmd pages when 3_LEVEL_PGTABLES was enabled.  This fixes that.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "08964c565b2fe49e338ffbe4907adcc19647ef16",
      "tree": "dd37fefc7f654c8662154dd92efd0258e81a0ff4",
      "parents": [
        "c56004901fa5dcf55f92318f192ab3c0e87db2d1"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Sep 03 15:57:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:22 2005 -0700"
      },
      "message": "[PATCH] uml: merge duplicated page table code\n\nThere is a lot of code which is duplicated between the 2 and 3 level\nimplementation, with the only difference that the 3-level implementation is a\nbit more generalized (instead of accessing directly pte_t.pte, it uses the\nappropriate access macros).\n\nSo this code is joined together.\n\nAs obvious, a \"core code nice cleanup\" is not a \"stability-friendly patch\" so\nusual care applies.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e40cd383ccc7c9f8b338c56ce28c326e25eb2fe",
      "tree": "8dab0fb849ccc25febf6c8f8865094141a50b8d2",
      "parents": [
        "ed1b58d8b53519e10a35c6a2bb49cac35f439621"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sat Sep 03 15:57:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:21 2005 -0700"
      },
      "message": "[PATCH] uml: fixes performance regression in activate_mm and thus exec()\n\nNormally, activate_mm() is called from exec(), and thus it used to be a\nno-op because we use a completely new \"MM context\" on the host (for\ninstance, a new process), and so we didn\u0027t need to flush any \"TLB entries\"\n(which for us are the set of memory mappings for the host process from the\nvirtual \"RAM\" file).\n\nKernel threads, instead, are usually handled in a different way.  So, when\nfor AIO we call use_mm(), things used to break and so Benjamin implemented\nactivate_mm().  However, that is only needed for AIO, and could slow down\nexec() inside UML, so be smart: detect being called for AIO (via\nPF_BORROWED_MM) and do the full flush only in that situation.\n\nComment also the caller so that people won\u0027t go breaking UML without\nnoticing.  I also rely on the caller\u0027s locks for testing current-\u003eflags.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCC: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b4ee40ebbbaf3f8c775b023d89ceedda1167d79",
      "tree": "e227c96cf51beaa942fefa64277618e5cfc71217",
      "parents": [
        "4944e76d81801b8e60ed3e7789443f210c16ed65"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sat Sep 03 15:54:57 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:45 2005 -0700"
      },
      "message": "[PATCH] mm: correct _PAGE_FILE comment\n\n_PAGE_FILE does not indicate whether a file is in page / swap cache, it is\nset just for non-linear PTE\u0027s.  Correct the comment for i386, x86_64, UML.\nAlso clearify _PAGE_NONE.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd4fd5aac1282825195c6816ed40a2a6d42db5bf",
      "tree": "5908cf4c88a7c9d69ea7bdc1c354d51b6ff47f86",
      "parents": [
        "28ae55c98e4d16eac9a05a8a259d7763ef3aeb18"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sat Sep 03 15:54:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:39 2005 -0700"
      },
      "message": "[PATCH] mm: consolidate get_order\n\nSomeone mentioned that almost all the architectures used basically the same\nimplementation of get_order.  This patch consolidates them into\nasm-generic/page.h and includes that in the appropriate places.  The\nexceptions are ia64 and ppc which have their own (presumably optimised)\nversions.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "75cd968ab251ac84dd3a5dc252af7036dc4a64f4",
      "tree": "4c8114135ba89878af4cc0240e776fbd68c976c0",
      "parents": [
        "3edea4833a1efcd43e1dff082bc8001fdfe74b34"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 15 17:40:46 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 15 17:40:46 2005 -0700"
      },
      "message": "um: fix __pa/__va macro expansion problem\n\nProper parentheses around arguments needed, especially as the macros use\na high-precedence cast operator on the argument.\n"
    },
    {
      "commit": "6f313b12335abf010802751c45249e7a0007a232",
      "tree": "9cbee37b5b09ec12424e7324845f805ea6c7b404",
      "parents": [
        "8afe07ce0003d4c63b7d76b6f28264503cb80d71"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu Jul 28 21:16:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 28 21:46:03 2005 -0700"
      },
      "message": "[PATCH] uml: vm86 compile fix\n\nWe added an include of asm/vm86.h in include/asm-i386/ptrace.h.  Since UML\nincludes the underlying arch\u0027s ptrace.h, it needs an asm/vm86.h in order to\nbuild.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7c9034735eccbf82608a4602c59aaf6053ea9416",
      "tree": "219e8cd4b5cfffeb261f42a2bd8e512be19cba40",
      "parents": [
        "abcd9e51f5b832439b119d530db1353c12fd4073"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 26 11:29:55 2005 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 14:35:41 2005 -0700"
      },
      "message": "[PATCH] Add emergency_restart()\n\nWhen the kernel is working well and we want to restart cleanly\nkernel_restart is the function to use.   But in many instances\nthe kernel wants to reboot when thing are expected to be working\nvery badly such as from panic or a software watchdog handler.\n\nThis patch adds the function emergency_restart() so that\ncallers can be clear what semantics they expect when calling\nrestart.  emergency_restart() is expected to be callable\nfrom interrupt context and possibly reliable in even more\ntrying circumstances.\n\nThis is an initial generic implementation for all architectures.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2e5e55923e315e8198f46f24f7ca37e1fd9aa102",
      "tree": "251aa6211d8d822350bed40cc021c9bf710110a6",
      "parents": [
        "1feb8d2d7396748fb3bd6795d09bbfbdd4c03dff"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Thu Jul 14 00:33:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 14 09:00:24 2005 -0700"
      },
      "message": "[PATCH] uml: consolidate modify_ldt\n\n*) Reorganize the two cases of sys_modify_ldt to share all the reasonably\n   common code.\n\n*) Avoid memory allocation when unneeded (i.e.  when we are writing and the\n   passed buffer size is known), thus not returning ENOMEM (which isn\u0027t\n   allowed for this syscall, even if there is no strict \"specification\").\n\n*) Add copy_{from,to}_user to modify_ldt for TT mode.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c40504e87e28c52258458a53fefcd63f58e11a42",
      "tree": "6801c0867e480d80e4bd889662c7bd04f4075e8f",
      "parents": [
        "8b8a9da525c592f129ace454c4d82a80b122827a"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Jul 12 13:58:22 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 16:01:01 2005 -0700"
      },
      "message": "[PATCH] uml: tlb flushing fix\n\nThis patch fixes a fairly serious tlb flushing bug that makes aio use under\numl very unreliable -- SEGVs, Oops and panic()s occur as a result of stale\ntlb entires being used by uml when aio switches mms due to the fact that\numl does not implement the activate_mm() hook.  This patch introduces a\nsimple but correct approach (read: hammer) for implementing activate_mm()\nin uml by doing a force_flush_all() if the new mm is different from old.\nWith this patch in place, uml is able to succeed at the aio test case that\nwas randomly faulting for me before.\n\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d67b569f5f620c0fb95d5212642746b7ba9d29e4",
      "tree": "c7ef10c906dd83911e10988c6cea6d7d5644e072",
      "parents": [
        "1322ad41513f8f9196801f53cc0851df056f3478"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu Jul 07 17:56:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:44 2005 -0700"
      },
      "message": "[PATCH] uml: skas0 - separate kernel address space on stock hosts\n\nUML has had two modes of operation - an insecure, slow mode (tt mode) in\nwhich the kernel is mapped into every process address space which requires\nno host kernel modifications, and a secure, faster mode (skas mode) in\nwhich the UML kernel is in a separate host address space, which requires a\npatch to the host kernel.\n\nThis patch implements something very close to skas mode for hosts which\ndon\u0027t support skas - I\u0027m calling this skas0.  It provides the security of\nthe skas host patch, and some of the performance gains.\n\nThe two main things that are provided by the skas patch, /proc/mm and\nPTRACE_FAULTINFO, are implemented in a way that require no host patch.\n\nFor the remote address space changing stuff (mmap, munmap, and mprotect),\nwe set aside two pages in the process above its stack, one of which\ncontains a little bit of code which can call mmap et al.\n\nTo update the address space, the system call information (system call\nnumber and arguments) are written to the stub page above the code.  The\n%esp is set to the beginning of the data, the %eip is set the the start of\nthe stub, and it repeatedly pops the information into its registers and\nmakes the system call until it sees a system call number of zero.  This is\nto amortize the cost of the context switch across multiple address space\nupdates.\n\nWhen the updates are done, it SIGSTOPs itself, and the kernel process\ncontinues what it was doing.\n\nFor a PTRACE_FAULTINFO replacement, we set up a SIGSEGV handler in the\nchild, and let it handle segfaults rather than nullifying them.  The\nhandler is in the same page as the mmap stub.  The second page is used as\nthe stack.  The handler reads cr2 and err from the sigcontext, sticks them\nat the base of the stack in a faultinfo struct, and SIGSTOPs itself.  The\nkernel then reads the faultinfo and handles the fault.\n\nA complication on x86_64 is that this involves resetting the registers to\nthe segfault values when the process is inside the kill system call.  This\nbreaks on x86_64 because %rcx will contain %rip because you tell SYSRET\nwhere to return to by putting the value in %rcx.  So, this corrupts $rcx on\nreturn from the segfault.  To work around this, I added an\narch_finish_segv, which on x86 does nothing, but which on x86_64 ptraces\nthe child back through the sigreturn.  This causes %rcx to be restored by\nsigreturn and avoids the corruption.  Ultimately, I think I will replace\nthis with the trick of having it send itself a blocked signal which will be\nunblocked by the sigreturn.  This will allow it to be stopped just after\nthe sigreturn, and PTRACE_SYSCALLed without all the back-and-forth of\nPTRACE_SYSCALLing it through sigreturn.\n\nThis runs on a stock host, so theoretically (and hopefully), tt mode isn\u0027t\nneeded any more.  We need to make sure that this is better in every way\nthan tt mode, though.  I\u0027m concerned about the speed of address space\nupdates and page fault handling, since they involve extra round-trips to\nthe child.  We can amortize the round-trip cost for large address space\nupdates by writing all of the operations to the data page and having the\nchild execute them all at the same time.  This will help fork and exec, but\nnot page faults, since they involve only one page.\n\nI can\u0027t think of any way to help page faults, except to add something like\nPTRACE_FAULTINFO to the host.  There is PTRACE_SIGINFO, but UML doesn\u0027t use\nsiginfo for SIGSEGV (or anything else) because there isn\u0027t enough\ninformation in the siginfo struct to handle page faults (the faulting\noperation type is missing).  Adding that would make PTRACE_SIGINFO a usable\nequivalent to PTRACE_FAULTINFO.\n\nAs for the code itself:\n\n- The system call stub is in arch/um/kernel/sys-$(SUBARCH)/stub.S.  It is\n  put in its own section of the binary along with stub_segv_handler in\n  arch/um/kernel/skas/process.c.  This is manipulated with run_syscall_stub\n  in arch/um/kernel/skas/mem_user.c.  syscall_stub will execute any system\n  call at all, but it\u0027s only used for mmap, munmap, and mprotect.\n\n- The x86_64 stub calls sigreturn by hand rather than allowing the normal\n  sigreturn to happen, because the normal sigreturn is a SA_RESTORER in\n  UML\u0027s address space provided by libc.  Needless to say, this is not\n  available in the child\u0027s address space.  Also, it does a couple of odd\n  pops before that which restore the stack to the state it was in at the\n  time the signal handler was called.\n\n- There is a new field in the arch mmu_context, which is now a union.\n  This is the pid to be manipulated rather than the /proc/mm file\n  descriptor.  Code which deals with this now checks proc_mm to see whether\n  it should use the usual skas code or the new code.\n\n- userspace_tramp is now used to create a new host process for every UML\n  process, rather than one per UML processor.  It checks proc_mm and\n  ptrace_faultinfo to decide whether to map in the pages above its stack.\n\n- start_userspace now makes CLONE_VM conditional on proc_mm since we need\n  separate address spaces now.\n\n- switch_mm_skas now just sets userspace_pid[0] to the new pid rather\n  than PTRACE_SWITCH_MM.  There is an addition to userspace which updates\n  its idea of the pid being manipulated each time around the loop.  This is\n  important on exec, when the pid will change underneath userspace().\n\n- The stub page has a pte, but it can\u0027t be mapped in using tlb_flush\n  because it is part of tlb_flush.  This is why it\u0027s required for it to be\n  mapped in by userspace_tramp.\n\nOther random things:\n\n- The stub section in uml.lds.S is page aligned.  This page is written\n  out to the backing vm file in setup_physmem because it is mapped from\n  there into user processes.\n\n- There\u0027s some confusion with TASK_SIZE now that there are a couple of\n  extra pages that the process can\u0027t use.  TASK_SIZE is considered by the\n  elf code to be the usable process memory, which is reasonable, so it is\n  decreased by two pages.  This confuses the definition of\n  USER_PGDS_IN_LAST_PML4, making it too small because of the rounding down\n  of the uneven division.  So we round it to the nearest PGDIR_SIZE rather\n  than the lower one.\n\n- I added a missing PT_SYSCALL_ARG6_OFFSET macro.\n\n- um_mmu.h was made into a userspace-usable file.\n\n- proc_mm and ptrace_faultinfo are globals which say whether the host\n  supports these features.\n\n- There is a bad interaction between the mm.nr_ptes check at the end of\n  exit_mmap, stack randomization, and skas0.  exit_mmap will stop freeing\n  pages at the PGDIR_SIZE boundary after the last vma.  If the stack isn\u0027t\n  on the last page table page, the last pte page won\u0027t be freed, as it\n  should be since the stub ptes are there, and exit_mmap will BUG because\n  there is an unfreed page.  To get around this, TASK_SIZE is set to the\n  next lowest PGDIR_SIZE boundary and mm-\u003enr_ptes is decremented after the\n  calls to init_stub_pte.  This ensures that we know the process stack (and\n  all other process mappings) will be below the top page table page, and\n  thus we know that mm-\u003enr_ptes will be one too many, and can be\n  decremented.\n\nThings that need fixing:\n\n- We may need better assurrences that the stub code is PIC.\n\n- The stub pte is set up in init_new_context_skas.\n\n- alloc_pgdir is probably the right place.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "84dd8d7e9c080b4db66b00b8bc36ccf09a90f824"
}
