)]}'
{
  "log": [
    {
      "commit": "42f8faecf7a88371de0f30aebb052d1ae51762c0",
      "tree": "d8800a1ea5f697f6870abc51d0a626c6440e4e51",
      "parents": [
        "58105ef1857112a186696c9b8957020090226a28"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Feb 17 11:46:42 2009 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Feb 20 16:26:10 2009 +0900"
      },
      "message": "x86: use percpu data for 4k hardirq and softirq stacks\n\nImpact: economize memory for large NR_CPUS\n\npercpu data is setup earlier than irq, we can use percpu data\nto economize memory.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "58105ef1857112a186696c9b8957020090226a28",
      "tree": "1964914331d4846d5af8b0cc9160956210ac56d4",
      "parents": [
        "744525092727827a9cf0044074db3e22dcf354fd"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat Jan 31 12:32:26 2009 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Feb 11 17:17:29 2009 -0800"
      },
      "message": "x86: UV: fix header struct usage\n\nImpact: Fixes warning\n\nFix uv.h struct usage:\n\narch/x86/include/asm/uv/uv.h:16: warning: \u0027struct mm_struct\u0027 declared inside parameter list\narch/x86/include/asm/uv/uv.h:16: warning: its scope is only this definition or declaration, which is probably not what you want\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "744525092727827a9cf0044074db3e22dcf354fd",
      "tree": "5079407a2fd7ad3cc5ab79976404916bd88808ea",
      "parents": [
        "b12bdaf11f935d7be030207e3c77faeaeab8ded3"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Feb 11 16:31:40 2009 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Feb 11 16:31:40 2009 -0800"
      },
      "message": "x86: merge sys_rt_sigreturn between 32 and 64 bits\n\nImpact: cleanup\n\nWith the recent changes in the 32-bit code to make system calls which\nuse struct pt_regs take a pointer, sys_rt_sigreturn() have become\nidentical between 32 and 64 bits, and both are empty wrappers around\ndo_rt_sigreturn().  Remove both wrappers and rename both to\nsys_rt_sigreturn().\n\nCc: Brian Gerst \u003cbrgerst@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "b12bdaf11f935d7be030207e3c77faeaeab8ded3",
      "tree": "e41f325f01614f7cf2eb78350fbd7440afe39cf8",
      "parents": [
        "1c0040047d5499599cc231ca3f105be3ceff8562"
      ],
      "author": {
        "name": "Brian Gerst",
        "email": "brgerst@gmail.com",
        "time": "Wed Feb 11 16:43:58 2009 -0500"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Feb 11 14:00:56 2009 -0800"
      },
      "message": "x86: use regparm(3) for passed-in pt_regs pointer\n\nSome syscalls need to access the pt_regs structure, either to copy\nuser register state or to modifiy it.  This patch adds stubs to load\nthe address of the pt_regs struct into the %eax register, and changes\nthe syscalls to take the pointer as an argument instead of relying on\nthe assumption that the pt_regs structure overlaps the function\narguments.\n\nDrop the use of regparm(1) due to concern about gcc bugs, and to move\nin the direction of the eventual removal of regparm(0) for asmlinkage.\n\nSigned-off-by: Brian Gerst \u003cbrgerst@gmail.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "1c0040047d5499599cc231ca3f105be3ceff8562",
      "tree": "4c1266a5763de66a2f3d3ebff8a5a87249baa88d",
      "parents": [
        "9c8bb6b534d1c89a20bf9bb45e1471cf8f4747c0"
      ],
      "author": {
        "name": "Dean Nelson",
        "email": "dcn@sgi.com",
        "time": "Mon Feb 09 10:25:20 2009 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 13:31:47 2009 +0100"
      },
      "message": "SGI IA64 UV: fix ia64 build error in the linux-next tree\n\nFix the ia64 build error that occurs in the linux-next tree by introducing\nan ia64 version of uv.h.\n\nAdditionally, clean up the usage of is_uv_system().\n\nSigned-off-by: Dean Nelson \u003cdcn@sgi.com\u003e\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c8bb6b534d1c89a20bf9bb45e1471cf8f4747c0",
      "tree": "7584daacae9325b1694468467f607ada11573186",
      "parents": [
        "253f29a4ae9cc6cdc7b94f96517f27a93885a6ce"
      ],
      "author": {
        "name": "Brian Gerst",
        "email": "brgerst@gmail.com",
        "time": "Tue Feb 10 09:51:47 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 12:40:45 2009 +0100"
      },
      "message": "x86: drop -fno-stack-protector annotations after pt_regs fixes\n\nNow that no functions rely on struct pt_regs being passed by value,\nvarious \"no stack protector\" annotations can be dropped.\n\nSigned-off-by: Brian Gerst \u003cbrgerst@gmail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "253f29a4ae9cc6cdc7b94f96517f27a93885a6ce",
      "tree": "09942e565938a6bac216b1725ccf607e01d09b20",
      "parents": [
        "aa78bcfa01dec3cdbde3cda098ce32abbd9c3bf6"
      ],
      "author": {
        "name": "Brian Gerst",
        "email": "brgerst@gmail.com",
        "time": "Tue Feb 10 09:51:46 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 12:40:45 2009 +0100"
      },
      "message": "x86: pass in pt_regs pointer for syscalls that need it\n\nSome syscalls need to access the pt_regs structure, either to copy\nuser register state or to modifiy it.  This patch adds stubs to load\nthe address of the pt_regs struct into the %eax register, and changes\nthe syscalls to regparm(1) to receive the pt_regs pointer as the\nfirst argument.\n\nSigned-off-by: Brian Gerst \u003cbrgerst@gmail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa78bcfa01dec3cdbde3cda098ce32abbd9c3bf6",
      "tree": "5d2e32593345401ffc875060a5368fea63aea6de",
      "parents": [
        "ebd9026d9f8499abc60d82d949bd37f88fe34a41"
      ],
      "author": {
        "name": "Brian Gerst",
        "email": "brgerst@gmail.com",
        "time": "Tue Feb 10 09:51:45 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 12:40:44 2009 +0100"
      },
      "message": "x86: use pt_regs pointer in do_device_not_available()\n\nThe generic exception handler (error_code) passes in the pt_regs\npointer and the error code (unused in this case).  The commit\n\"x86: fix math_emu register frame access\" changed this to pass by\nvalue, which doesn\u0027t work correctly with stack protector enabled.\nChange it back to use the pt_regs pointer.\n\nSigned-off-by: Brian Gerst \u003cbrgerst@gmail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ebd9026d9f8499abc60d82d949bd37f88fe34a41",
      "tree": "2cc86e29b367e229fb3452506578d8eed67532a9",
      "parents": [
        "5c79d2a517a9905599d192db8ce77ab5f1a2faca"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 12:17:29 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 12:17:29 2009 +0100"
      },
      "message": "stackprotector: fix multi-word cross-builds\n\nStackprotector builds were failing if CROSS_COMPILER was more than\na single world (such as when distcc was used) - because the check\nscripts used $1 instead of $*.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5c79d2a517a9905599d192db8ce77ab5f1a2faca",
      "tree": "11f550a59b9b653fbd6c54b37effbf2d4a750fb5",
      "parents": [
        "60a5317ff0f42dd313094b88f809f63041568b08"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 11 16:31:00 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 11:33:49 2009 +0100"
      },
      "message": "x86: fix x86_32 stack protector bugs\n\nImpact: fix x86_32 stack protector\n\nBrian Gerst found out that %gs was being initialized to stack_canary\ninstead of stack_canary - 20, which basically gave the same canary\nvalue for all threads.  Fixing this also exposed the following bugs.\n\n* cpu_idle() didn\u0027t call boot_init_stack_canary()\n\n* stack canary switching in switch_to() was being done too late making\n  the initial run of a new thread use the old stack canary value.\n\nFix all of them and while at it update comment in cpu_idle() about\ncalling boot_init_stack_canary().\n\nReported-by: Brian Gerst \u003cbrgerst@gmail.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60a5317ff0f42dd313094b88f809f63041568b08",
      "tree": "307dfd9715fbc9ff83c3c3ae3b0e8f03888083f2",
      "parents": [
        "ccbeed3a05908d201b47b6c3dd1a373138bba566"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 09 22:17:40 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:42:01 2009 +0100"
      },
      "message": "x86: implement x86_32 stack protector\n\nImpact: stack protector for x86_32\n\nImplement stack protector for x86_32.  GDT entry 28 is used for it.\nIt\u0027s set to point to stack_canary-20 and have the length of 24 bytes.\nCONFIG_CC_STACKPROTECTOR turns off CONFIG_X86_32_LAZY_GS and sets %gs\nto the stack canary segment on entry.  As %gs is otherwise unused by\nthe kernel, the canary can be anywhere.  It\u0027s defined as a percpu\nvariable.\n\nx86_32 exception handlers take register frame on stack directly as\nstruct pt_regs.  With -fstack-protector turned on, gcc copies the\nwhole structure after the stack canary and (of course) doesn\u0027t copy\nback on return thus losing all changed.  For now, -fno-stack-protector\nis added to all files which contain those functions.  We definitely\nneed something better.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ccbeed3a05908d201b47b6c3dd1a373138bba566",
      "tree": "e834d548c70426aa3885dd2169be1a79be4a617b",
      "parents": [
        "d9a89a26e02ef9ed03f74a755a8b4d8f3a066622"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 09 22:17:40 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:42:00 2009 +0100"
      },
      "message": "x86: make lazy %gs optional on x86_32\n\nImpact: pt_regs changed, lazy gs handling made optional, add slight\n        overhead to SAVE_ALL, simplifies error_code path a bit\n\nOn x86_32, %gs hasn\u0027t been used by kernel and handled lazily.  pt_regs\ndoesn\u0027t have place for it and gs is saved/loaded only when necessary.\nIn preparation for stack protector support, this patch makes lazy %gs\nhandling optional by doing the followings.\n\n* Add CONFIG_X86_32_LAZY_GS and place for gs in pt_regs.\n\n* Save and restore %gs along with other registers in entry_32.S unless\n  LAZY_GS.  Note that this unfortunately adds \"pushl $0\" on SAVE_ALL\n  even when LAZY_GS.  However, it adds no overhead to common exit path\n  and simplifies entry path with error code.\n\n* Define different user_gs accessors depending on LAZY_GS and add\n  lazy_save_gs() and lazy_load_gs() which are noop if !LAZY_GS.  The\n  lazy_*_gs() ops are used to save, load and clear %gs lazily.\n\n* Define ELF_CORE_COPY_KERNEL_REGS() which always read %gs directly.\n\nxen and lguest changes need to be verified.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d9a89a26e02ef9ed03f74a755a8b4d8f3a066622",
      "tree": "35f3713bca4e6b815f6b9db92dc9d812ec7213ff",
      "parents": [
        "f0d96110f9fd98a1a22e03b8adba69508843d910"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 09 22:17:40 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:41:58 2009 +0100"
      },
      "message": "x86: add %gs accessors for x86_32\n\nImpact: cleanup\n\nOn x86_32, %gs is handled lazily.  It\u0027s not saved and restored on\nkernel entry/exit but only when necessary which usually is during task\nswitch but there are few other places.  Currently, it\u0027s done by\ncalling savesegment() and loadsegment() explicitly.  Define\nget_user_gs(), set_user_gs() and task_user_gs() and use them instead.\n\nWhile at it, clean up register access macros in signal.c.\n\nThis cleans up code a bit and will help future changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f0d96110f9fd98a1a22e03b8adba69508843d910",
      "tree": "fd5844a4b425dcccbc51330614d81ee90e9b334f",
      "parents": [
        "d627ded5ab2f7818154d57369e3a8cdb40db2569"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 09 22:17:40 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:41:57 2009 +0100"
      },
      "message": "x86: use asm .macro instead of cpp #define in entry_32.S\n\nImpact: cleanup\n\nUse .macro instead of cpp #define where approriate.  This cleans up\ncode and will ease future changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d627ded5ab2f7818154d57369e3a8cdb40db2569",
      "tree": "bbc23fea7d8c0438becf217a0f31569e2937e78f",
      "parents": [
        "5d707e9c8ef2a3596ed5c975c6ff05cec890c2b4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 09 22:17:40 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:41:56 2009 +0100"
      },
      "message": "x86: no stack protector for vdso\n\nImpact: avoid crash on vsyscall\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5d707e9c8ef2a3596ed5c975c6ff05cec890c2b4",
      "tree": "d0088b317ee562f6655d58f5d561e2bb6aa5332c",
      "parents": [
        "76397f72fb9f4c9a96dfe05462887811c81b0e17"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 09 22:17:39 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:41:54 2009 +0100"
      },
      "message": "stackprotector: update make rules\n\nImpact: no default -fno-stack-protector if stackp is enabled, cleanup\n\nStackprotector make rules had the following problems.\n\n* cc support test and warning are scattered across makefile and\n  kernel/panic.c.\n\n* -fno-stack-protector was always added regardless of configuration.\n\nUpdate such that cc support test and warning are contained in makefile\nand -fno-stack-protector is added iff stackp is turned off.  While at\nit, prepare for 32bit support.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "76397f72fb9f4c9a96dfe05462887811c81b0e17",
      "tree": "764a20005ed1efeb7b459ae030495c7e709bc3da",
      "parents": [
        "6cd61c0baa8bce32271226198b46c67a7a05d108"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 09 22:17:39 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:41:29 2009 +0100"
      },
      "message": "x86: stackprotector.h misc update\n\nImpact: misc udpate\n\n* wrap content with CONFIG_CC_STACK_PROTECTOR so that other arch files\n  can include it directly\n\n* add missing includes\n\nThis will help future changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6cd61c0baa8bce32271226198b46c67a7a05d108",
      "tree": "f4584e1f105c0252f3f5f5cbf7e2e4be1eb5e2ce",
      "parents": [
        "92e2d508464b6293ad274fb606f766a458894142"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 09 22:17:39 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:41:26 2009 +0100"
      },
      "message": "elf: add ELF_CORE_COPY_KERNEL_REGS()\n\nELF core dump is used for both user land core dump and kernel crash\ndump.  Depending on architecture, register might need to be accessed\ndifferently for userland and kernel.  Allow architectures to define\nELF_CORE_COPY_KERNEL_REGS() and use different operation for kernel\nregister dump.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "92e2d508464b6293ad274fb606f766a458894142",
      "tree": "39bf383364530e5cdeacb205d32d69a4b78e253d",
      "parents": [
        "5d96218b4a5ee0c5ff0ac87f3ba90cfa86ca0ca1",
        "d315760ffa261c15ff92699ac6f514112543d7ca"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:41:02 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:41:02 2009 +0100"
      },
      "message": "Merge branch \u0027x86/urgent\u0027 into core/percpu\n\nConflicts:\n\tarch/x86/kernel/acpi/boot.c\n"
    },
    {
      "commit": "5d96218b4a5ee0c5ff0ac87f3ba90cfa86ca0ca1",
      "tree": "a67a6a4499a235a2aab53a61bf1badff484bc345",
      "parents": [
        "249d51b53aea1b7cdb1be65a1a9a0c59d9e06f3e",
        "18114f61359ac05e3aa797d53d63f40db41f798d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:40:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:40:48 2009 +0100"
      },
      "message": "Merge branch \u0027x86/uaccess\u0027 into core/percpu\n"
    },
    {
      "commit": "d315760ffa261c15ff92699ac6f514112543d7ca",
      "tree": "3f7d185cf97a06e6686521a23a1c78d1809a51c4",
      "parents": [
        "ae6af41f5a4841f06eb92bc86ad020ad44ae2a30"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 09 22:17:39 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:39:14 2009 +0100"
      },
      "message": "x86: fix math_emu register frame access\n\ndo_device_not_available() is the handler for #NM and it declares that\nit takes a unsigned long and calls math_emu(), which takes a long\nargument and surprisingly expects the stack frame starting at the zero\nargument would match struct math_emu_info, which isn\u0027t true regardless\nof configuration in the current code.\n\nThis patch makes do_device_not_available() take struct pt_regs like\nother exception handlers and initialize struct math_emu_info with\npointer to it and pass pointer to the math_emu_info to math_emulate()\nlike normal C functions do.  This way, unless gcc makes a copy of\nstruct pt_regs in do_device_not_available(), the register frame is\ncorrectly accessed regardless of kernel configuration or compiler\nused.\n\nThis doesn\u0027t fix all math_emu problems but it at least gets it\nsomewhat working.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "249d51b53aea1b7cdb1be65a1a9a0c59d9e06f3e",
      "tree": "7fc06930e46ee13d394f5b031166c40206af3189",
      "parents": [
        "44581a28e805a31661469c4b466b9cd14b36e7b6",
        "8e4921515c1a379539607eb443d51c30f4f7f338"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 14:58:11 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 14:58:11 2009 +0100"
      },
      "message": "Merge commit \u0027v2.6.29-rc4\u0027 into core/percpu\n\nConflicts:\n\tarch/x86/mach-voyager/voyager_smp.c\n\tarch/x86/mm/fault.c\n"
    },
    {
      "commit": "ae6af41f5a4841f06eb92bc86ad020ad44ae2a30",
      "tree": "767d325dba40e954b277fd23db5842d6090ac540",
      "parents": [
        "914c3d630b29b07d04908eab1b246812dadd5bd6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 09 22:17:39 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 14:56:39 2009 +0100"
      },
      "message": "x86: math_emu info cleanup\n\nImpact: cleanup\n\n* Come on, struct info?  s/struct info/struct math_emu_info/\n\n* Use struct pt_regs and kernel_vm86_regs instead of defining its own\n  register frame structure.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "914c3d630b29b07d04908eab1b246812dadd5bd6",
      "tree": "727dcb881b514ba9bfbfce5604aaf5e06abccf80",
      "parents": [
        "55a8ba4b7f76bebd7e8ce3f74c04b140627a1bad"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 09 22:17:39 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 14:56:37 2009 +0100"
      },
      "message": "x86: include correct %gs in a.out core dump\n\nImpact: dump the correct %gs into a.out core dump\n\naout_dump_thread() read %gs but didn\u0027t include it in core dump.  Fix\nit.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "55a8ba4b7f76bebd7e8ce3f74c04b140627a1bad",
      "tree": "8ad418c8d5991eb9c7a3ef25fe8df3d50c3f40ad",
      "parents": [
        "3f4a739c6accd651a11fcf3c7a20ec8147c42660"
      ],
      "author": {
        "name": "Alok Kataria",
        "email": "akataria@vmware.com",
        "time": "Fri Feb 06 10:29:35 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 13:10:13 2009 +0100"
      },
      "message": "x86, vmi: put a missing paravirt_release_pmd in pgd_dtor\n\nCommit 6194ba6ff6ccf8d5c54c857600843c67aa82c407 (\"x86: don\u0027t special-case\npmd allocations as much\") made changes to the way we handle pmd allocations,\nand while doing that it dropped a call to  paravirt_release_pd on the\npgd page from the pgd_dtor code path.\n\nAs a result of this missing release, the hypervisor is now unaware of the\npgd page being freed, and as a result it ends up tracking this page as a\npage table page.\n\nAfter this the guest may start using the same page for other purposes, and\ndepending on what use the page is put to, it may result in various performance\nand/or functional issues ( hangs, reboots).\n\nSince this release is only required for VMI, I now release the pgd page from\nthe (vmi)_pgd_free hook.\n\nSigned-off-by: Alok N Kataria \u003cakataria@vmware.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "3f4a739c6accd651a11fcf3c7a20ec8147c42660",
      "tree": "a96659b8ad16ffc9c96846413128e1b7413918d8",
      "parents": [
        "e736ad548db152776de61d7a26805cfae77ce5ce"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sun Feb 08 16:18:03 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 12:42:59 2009 +0100"
      },
      "message": "x86: find nr_irqs_gsi with mp_ioapic_routing\n\nImpact: find right nr_irqs_gsi on some systems.\n\nOne test-system has gap between gsi\u0027s:\n\n[    0.000000] ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0])\n[    0.000000] IOAPIC[0]: apic_id 4, version 0, address 0xfec00000, GSI 0-23\n[    0.000000] ACPI: IOAPIC (id[0x05] address[0xfeafd000] gsi_base[48])\n[    0.000000] IOAPIC[1]: apic_id 5, version 0, address 0xfeafd000, GSI 48-54\n[    0.000000] ACPI: IOAPIC (id[0x06] address[0xfeafc000] gsi_base[56])\n[    0.000000] IOAPIC[2]: apic_id 6, version 0, address 0xfeafc000, GSI 56-62\n...\n[    0.000000] nr_irqs_gsi: 38\n\nSo nr_irqs_gsi is not right. some irq for MSI will overwrite with io_apic.\n\nneed to get that with acpi_probe_gsi when acpi io_apic is used\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e736ad548db152776de61d7a26805cfae77ce5ce",
      "tree": "bab2cb6560f2e038ccebf891cd847f37fd61a1b8",
      "parents": [
        "0cd5c3c80a0ebd68c08312fa7d8c13149cc61c4c"
      ],
      "author": {
        "name": "Pallipadi, Venkatesh",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Fri Feb 06 16:52:05 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 11:15:15 2009 +0100"
      },
      "message": "x86: add clflush before monitor for Intel 7400 series\n\nFor Intel 7400 series CPUs, the recommendation is to use a clflush on the\nmonitored address just before monitor and mwait pair [1].\n\nThis clflush makes sure that there are no false wakeups from mwait when the\nmonitored address was recently written to.\n\n[1] \"MONITOR/MWAIT Recommendations for Intel Xeon Processor 7400 series\"\n    section in specification update document of 7400 series\n    http://download.intel.com/design/xeon/specupdt/32033601.pdf\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44581a28e805a31661469c4b466b9cd14b36e7b6",
      "tree": "090a4259cf5812a234b3dafcb626d20dae078558",
      "parents": [
        "2add8e235cbe0dcd672c33fc322754e15500238c"
      ],
      "author": {
        "name": "Brian Gerst",
        "email": "brgerst@gmail.com",
        "time": "Sun Feb 08 09:58:40 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 10:30:30 2009 +0100"
      },
      "message": "x86: fix abuse of per_cpu_offset\n\nImpact: bug fix\n\nDon\u0027t use per_cpu_offset() to determine if it valid to access a\nper-cpu variable for a given cpu number.  It is not a valid assumption\non x86-64 anymore. Use cpu_possible() instead.\n\nSigned-off-by: Brian Gerst \u003cbrgerst@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2add8e235cbe0dcd672c33fc322754e15500238c",
      "tree": "3cf9abe886432ac82fc08e99241ec7254dc20193",
      "parents": [
        "d3770449d3cb058b94ca1d050d5ced4a66c75ce4"
      ],
      "author": {
        "name": "Brian Gerst",
        "email": "brgerst@gmail.com",
        "time": "Sun Feb 08 09:58:39 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 10:30:30 2009 +0100"
      },
      "message": "x86: use linker to offset symbols by __per_cpu_load\n\nImpact: cleanup and bug fix\n\nUse the linker to create symbols for certain per-cpu variables\nthat are offset by __per_cpu_load.  This allows the removal of\nthe runtime fixup of the GDT pointer, which fixes a bug with\nresume reported by Jiri Slaby.\n\nReported-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Brian Gerst \u003cbrgerst@gmail.com\u003e\nAcked-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3770449d3cb058b94ca1d050d5ced4a66c75ce4",
      "tree": "5e546795ca8bf8431f9a176d20a3c4691a60ac9a",
      "parents": [
        "56fc82c5360cdf0b250b5eb74f38657b0402faa5"
      ],
      "author": {
        "name": "Brian Gerst",
        "email": "brgerst@gmail.com",
        "time": "Sun Feb 08 09:58:38 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 10:30:29 2009 +0100"
      },
      "message": "percpu: make PER_CPU_BASE_SECTION overridable by arches\n\nImpact: bug fix\n\nIA-64 needs to put percpu data in the seperate section even on UP.\nFixes regression caused by \"percpu: refactor percpu.h\"\n\nSigned-off-by: Brian Gerst \u003cbrgerst@gmail.com\u003e\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e4921515c1a379539607eb443d51c30f4f7f338",
      "tree": "73f5bf92c9aa40ae1aba4bf3769245b82f8b946f",
      "parents": [
        "58edf8ee5e3319373dae9d9038e1a8469a83bb76"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 08 12:37:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 08 12:37:27 2009 -0800"
      },
      "message": "Linux 2.6.29-rc4\n"
    },
    {
      "commit": "58edf8ee5e3319373dae9d9038e1a8469a83bb76",
      "tree": "68d03381fb822e6a931b0113b27c4cf133c6eb4e",
      "parents": [
        "1fb25cb8b83e85f5bf1a4adb3c9a254c4ce92405",
        "f7de7621f07495ad14fb23a812003bcf8f6af65a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 08 12:35:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 08 12:35:26 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-update\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-update:\n  async: use list_move_tail\n  async: Rename _special -\u003e _domain for clarity.\n  async: Add some documentation.\n  async: Handle kthread_run() return codes.\n  async: Fix running list handling.\n"
    },
    {
      "commit": "1fb25cb8b83e85f5bf1a4adb3c9a254c4ce92405",
      "tree": "e591b556e43577f34eb90e9a4d8342ff97bef4ef",
      "parents": [
        "b746bb77627cba62765ff2afeec9cc9a8cbb926c"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 05 12:06:52 2009 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 08 10:48:57 2009 -0800"
      },
      "message": "radeonfb: Fix resume from D3Cold on some platforms\n\nFor historical reason, this driver used its own saving/restoring\nof the PCI config space, and used the state of it on resume as\nan indication as to whether it needed to re-POST the chip or not.\n\nThis methods breaks with the later core changes since the core will\nhave restored things for us.\n\nThis patch fixes it by removing that custom code, using standard\ncore methods to save/restore state, and testing for the need to\nre-POST by comparing the content of a few key PLL registers.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b746bb77627cba62765ff2afeec9cc9a8cbb926c",
      "tree": "d6a1b84104e0891d1d39d2968db3194e26b392d0",
      "parents": [
        "b7468168631e03c70105491a0236137868613436"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 05 12:06:51 2009 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 08 10:48:56 2009 -0800"
      },
      "message": "aty128fb: Properly save PCI state before changing PCI PM level\n\nThis fixes aty128fb to properly save the PCI config space -before- it\npotentially switches the PM state of the chip. This avoids a\nwarning with the new PM core and is the right thing to do anyway.\n\nI also replaced the hand-coded switch to D2 with a call to the\ngenericc pci_set_power_state() and removed the code that switches it\nback to D0 since the generic code is doing that for us nowadays.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b7468168631e03c70105491a0236137868613436",
      "tree": "a258e2049a245c4d652faa016dd438b2faba5e1e",
      "parents": [
        "e83102cab0fd95d4508361b061146c978b3abd60"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 05 12:06:50 2009 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 08 10:48:56 2009 -0800"
      },
      "message": "atyfb: Properly save PCI state before changing PCI PM level\n\nThis fixes atyfb to properly save the PCI config space -before- it\npotentially switches the PM state of the chip. This avoids a\nwarning with the new PM core and is the right thing to do anyway.\n\nI also slightly cleaned up the code that checks whether we are\nrunning on a PowerMac to do a runtime check instead of a compile\ncheck only, and replaced a deprecated number with the proper\nsymbolic constant.\n\nFinally, I removed the useless switch to D0 from resume since\nthe core does it for us.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7de7621f07495ad14fb23a812003bcf8f6af65a",
      "tree": "56eee689f5bbc2cac09c08fcdf897e9366dafbf8",
      "parents": [
        "766ccb9ed406c230d13c145def08ebea1b932982"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Feb 02 13:24:34 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 10:00:26 2009 -0800"
      },
      "message": "async: use list_move_tail\n\nlist.h provides a dedicated primitive for\n\"list_del followed by list_add_tail\"... list_move_tail.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "766ccb9ed406c230d13c145def08ebea1b932982",
      "tree": "952f74260d8baa66063fd8efa1b29d2dddb45c2b",
      "parents": [
        "f30d5b307c694e03368ab55f2f96b0ca4131e775"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Tue Jan 20 15:31:31 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 09:56:11 2009 -0800"
      },
      "message": "async: Rename _special -\u003e _domain for clarity.\n\nRename the async_*_special() functions to async_*_domain(), which\ndescribes the purpose of these functions much better.\n[Broke up long lines to silence checkpatch]\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "f30d5b307c694e03368ab55f2f96b0ca4131e775",
      "tree": "86f1ceb849bc186e4fa9b64fd8459668f4133390",
      "parents": [
        "86532d8b167e71e24da8b564348b52977b76d15f"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Jan 19 13:45:33 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 09:56:11 2009 -0800"
      },
      "message": "async: Add some documentation.\n\nAdd some kerneldoc to the async interface.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "86532d8b167e71e24da8b564348b52977b76d15f",
      "tree": "86cfa88409db2867ddfc45322f7cd3175b6accad",
      "parents": [
        "7a89bbc74937cd74a6bcf109cfc7c032109639be"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Jan 19 13:45:31 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 09:56:10 2009 -0800"
      },
      "message": "async: Handle kthread_run() return codes.\n\nIf we fail to create the manager thread, fall back to non-fastboot.\nIf we fail to create an async thread, try again after waiting for\na bit.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "7a89bbc74937cd74a6bcf109cfc7c032109639be",
      "tree": "2b542e7f48c53cf1ef462524ecdf93b4d8a03f58",
      "parents": [
        "e83102cab0fd95d4508361b061146c978b3abd60"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Jan 19 13:45:28 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 09:56:10 2009 -0800"
      },
      "message": "async: Fix running list handling.\n\nasync_schedule() should pass in async_running as the running\nlist, and run_one_entry() should put the entry to be run on\nthe provided running list instead of always on the generic one.\n\nReported-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "e83102cab0fd95d4508361b061146c978b3abd60",
      "tree": "d1452292bf5d55da6a072d36d507d2e918ee2180",
      "parents": [
        "7f9a50a5b89b87f8e754f59ae9968da28be618a5",
        "5294e256717923f4a3297bb8b802f5e0625763f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 07 10:46:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 07 10:46:30 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI PM: make the PM core more careful with drivers using the new PM framework\n  PCI PM: Read power state from device after trying to change it on resume\n  PCI PM: Do not disable and enable bridges during suspend-resume\n  PCI: PCIe portdrv: Simplify suspend and resume\n  PCI PM: Fix saving of device state in pci_legacy_suspend\n  PCI PM: Check if the state has been saved before trying to restore it\n  PCI PM: Fix handling of devices without drivers\n  PCI: return error on failure to read PCI ROMs\n  PCI: properly clean up ASPM link state on device remove\n"
    },
    {
      "commit": "7f9a50a5b89b87f8e754f59ae9968da28be618a5",
      "tree": "fd3baa0d66b14a6d5adc4f09088fa15dfcb5b7ab",
      "parents": [
        "f12b12a8aecfcafcf2f9df1c1658d2484959dfda"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Feb 07 18:15:56 2009 +1030"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 07 08:33:01 2009 -0800"
      },
      "message": "module: remove over-zealous check in __module_get()\n\nImpact: fix spurious BUG_ON() triggered under load\n\nmodule_refcount() isn\u0027t reliable outside stop_machine(), as demonstrated\nby Karsten Keil \u003ckkeil@suse.de\u003e, networking can trigger it under load\n(an inc on one cpu and dec on another while module_refcount() is tallying\n can give false results, for example).\n\nAlmost noone should be using __module_get, but that\u0027s another issue.\n\nCc: Karsten Keil \u003ckkeil@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f12b12a8aecfcafcf2f9df1c1658d2484959dfda",
      "tree": "bcd252d28a48a6848c2d5c4f6d59010da7b4c76f",
      "parents": [
        "ccfef64621ef1e8c7726581b38eb8b98fd2a8afb",
        "2d29c6a075787f2c1bc49b86a084d2b878f72fc4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 07 08:30:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 07 08:30:20 2009 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (30 commits)\n  ACPI: Kconfig text - Fix the ACPI_CONTAINER module name according to the real module name.\n  eeepc-laptop: fix oops when changing backlight brightness during eeepc-laptop init\n  ACPICA: Fix table entry truncation calculation\n  ACPI: Enable bit 11 in _PDC to advertise hw coord\n  ACPI: struct device - replace bus_id with dev_name(), dev_set_name()\n  ACPI: add missing KERN_* constants to printks\n  ACPI: dock: Don\u0027t eval _STA on every show_docked sysfs read\n  ACPI: disable ACPI cleanly when bad RSDP found\n  ACPI: delete CPU_IDLE\u003dn code\n  ACPI: cpufreq: Remove deprecated /proc/acpi/processor/../performance proc entries\n  ACPI: make some IO ports off-limits to AML\n  ACPICA: add debug dump of BIOS _OSI strings\n  ACPI: proc_dir_entry \u0027video/VGA\u0027 already registered\n  ACPI: Skip the first two elements in the _BCL package\n  ACPI: remove BM_RLD access from idle entry path\n  ACPI: remove locking from PM1x_STS register reads\n  eeepc-laptop: use netlink interface\n  eeepc-laptop: Implement rfkill hotplugging in eeepc-laptop\n  eeepc-laptop: Check return values from rfkill_register\n  eeepc-laptop: Add support for extended hotkeys\n  ...\n"
    },
    {
      "commit": "2d29c6a075787f2c1bc49b86a084d2b878f72fc4",
      "tree": "d5256827f6099e4358e360940684b40e7fc29b1b",
      "parents": [
        "2b25c9f01aa58d48129b2f93748dfb5d1f7ab0a2",
        "0a3db1cec5d476804185114ff5d1845aed3936b3",
        "9fdd54f206722ecee7fd7ba9dba26140450e7c32",
        "5ec5d38a1c8af255ffc481c81eef13e9155524b3",
        "4312495f7db63d27ef52ec83dab55f14a8c43827",
        "370154bbefb627cb5f987f5646284755c7684bc8",
        "4d9391557b68475b118ec7626607c37b14ae8c16",
        "62663ea8220366472fe20462831f2d69d7987439"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 01:34:56 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 01:34:56 2009 -0500"
      },
      "message": "Merge branches \u0027release\u0027, \u0027asus\u0027, \u0027bugzilla-12450\u0027, \u0027cpuidle\u0027, \u0027debug\u0027, \u0027ec\u0027, \u0027misc\u0027, \u0027printk\u0027 and \u0027processor\u0027 into release\n"
    },
    {
      "commit": "370154bbefb627cb5f987f5646284755c7684bc8",
      "tree": "db487314dddf545d3dfb997f4185dd87d98d9269",
      "parents": [
        "7695fb04aca62e2d8a7ca6ede50f6211e1d71e53"
      ],
      "author": {
        "name": "Thierry Vignaud",
        "email": "tvignaud@mandriva.com",
        "time": "Sat Feb 07 01:12:19 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 01:12:19 2009 -0500"
      },
      "message": "ACPI: Kconfig text - Fix the ACPI_CONTAINER module name according to the real module name.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "7695fb04aca62e2d8a7ca6ede50f6211e1d71e53",
      "tree": "2d74746e17eb9ecbb0d7f4f1ef6029ad328789e7",
      "parents": [
        "386e4a8358239f90275e1f93d5ad11cdc93c6453"
      ],
      "author": {
        "name": "Darren Salt",
        "email": "linux@youmustbejoking.demon.co.uk",
        "time": "Sat Feb 07 01:02:07 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 01:02:07 2009 -0500"
      },
      "message": "eeepc-laptop: fix oops when changing backlight brightness during eeepc-laptop init\n\nI got the following oops while changing the backlight brightness during\nstartup.  When it happens, it prevents use of the hotkeys, Fn-Fx, and the\nlid button.\n\nIt\u0027s a clear use-before-init, as I verified by testing with an\nappropriately-placed \"else printk\".\n\nBUG: unable to handle kernel NULL pointer dereference at 00000000\n*pde \u003d 00000000\nOops: 0002 [#1] PREEMPT SMP\nPid: 160, comm: kacpi_notify Not tainted (2.6.28.1-eee901 #4) 901\nEIP: 0060:[\u003cc0264e68\u003e]  [\u003cc0264e68\u003e] eeepc_hotk_notify+26/da\nEFLAGS: 00010246 CPU: 1\nUsing defaults from ksymoops -t elf32-i386 -a i386\nEAX: 00000009 EBX: 00000000 ECX: 00000009 EDX: f70dbf64\nESI: 00000029 EDI: f7335188 EBP: c02112c9 ESP: f70dbf80\n DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068\n f70731e0 f73acd50 c02164ac f7335180 f70aa040 c02112e6 f733518c c012b62f\n f70aa044 f70aa040 c012bdba f70aa04c 00000000 c012be6e 00000000 f70bdf80\n c012e198 f70dbfc4 f70dbfc4 f70aa040 c012bdba 00000000 c012e0c9 c012e091\nCall Trace:\n [\u003cc02164ac\u003e] ? acpi_ev_notify_dispatch+4c/55\n [\u003cc02112e6\u003e] ? acpi_os_execute_deferred+1d/25\n [\u003cc012b62f\u003e] ? run_workqueue+71/f1\n [\u003cc012bdba\u003e] ? worker_thread+0/bf\n [\u003cc012be6e\u003e] ? worker_thread+b4/bf\n [\u003cc012e198\u003e] ? autoremove_wake_function+0/2b\n [\u003cc012bdba\u003e] ? worker_thread+0/bf\n [\u003cc012e0c9\u003e] ? kthread+38/5f\n [\u003cc012e091\u003e] ? kthread+0/5f\n [\u003cc0103abf\u003e] ? kernel_thread_helper+7/10\nCode: 00 00 00 00 c3 83 3d 60 5c 50 c0 00 56 89 d6 53 0f 84 c4 00 00 00 8d 42\ne0 83 f8 0f 77 0f 8b 1d 68 5c 50 c0 89 d8 e8 a9 fa ff ff \u003c89\u003e 03 8b 1d 60 5c\n50 c0 89 f2 83 e2 7f 0f b7 4c 53 10 8d 41 01\n\nSigned-off-by: Darren Salt \u003clinux@youmustbejoking.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "386e4a8358239f90275e1f93d5ad11cdc93c6453",
      "tree": "b6affdf41cc0ca99e5e61256f2372f240f6fd23f",
      "parents": [
        "d96f94c604453f87fe24154b87e1e9a3a72511f8"
      ],
      "author": {
        "name": "Myron Stowe",
        "email": "myron.stowe@hp.com",
        "time": "Fri Jan 30 15:44:53 2009 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 00:51:23 2009 -0500"
      },
      "message": "ACPICA: Fix table entry truncation calculation\n\nDuring early boot, ACPI RSDT/XSDT table entries are gathered into the\n\u0027initial_tables[]\u0027 array.  This array is currently statically defined (see\n./drivers/acpi/tables.c).  When there are more table entries than can be\nheld in the \u0027initial_tables[]\u0027 array, the message \"Truncating N table\nentries!\" is output.  As currently implemented, this message will always\nerroneously calculate N as 0.\n\nThis patch fixes the calculation that determines how many table entries\nwill be missing (truncated).\n\nThis modification may be used under either the GPL or the BSD-style\nlicense used for Intel ACPI CA code.\n\nSigned-off-by: Myron Stowe \u003cmyron.stowe@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "d96f94c604453f87fe24154b87e1e9a3a72511f8",
      "tree": "35147bdc37eefdd7b0c8e9185ecc0ded219ff532",
      "parents": [
        "db1461ad431f0fd21afcd8ea6594ae38fdc57759"
      ],
      "author": {
        "name": "Pallipadi, Venkatesh",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Mon Feb 02 11:57:18 2009 -0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 00:41:14 2009 -0500"
      },
      "message": "ACPI: Enable bit 11 in _PDC to advertise hw coord\n\nBit 11 in intel PDC definitions is meant for OS capability to handle\nhardware coordination of P-states. In Linux we have always supported\nhwardware coordination of P-states. Just let the BIOSes know that we\nsupport it, by setting this bit.\n\nSome BIOSes use this bit to choose between hardware or software coordination\nand without this change below, BIOSes switch to software coordination, which\nis not very optimal in terms of power consumption and extra wakeups from idle.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "db1461ad431f0fd21afcd8ea6594ae38fdc57759",
      "tree": "38c6f047fad81fc7bcac13efa01cf35840194cad",
      "parents": [
        "fc5a9f8841ee87d93376ada5d73117d4d6a373ea"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Jan 25 23:40:56 2009 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 00:41:13 2009 -0500"
      },
      "message": "ACPI: struct device - replace bus_id with dev_name(), dev_set_name()\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "4d9391557b68475b118ec7626607c37b14ae8c16",
      "tree": "92176ea365b9c3027c0779f741da6d83154cd9c9",
      "parents": [
        "ae1a25da8448271a99745da03100d5299575a269"
      ],
      "author": {
        "name": "Frank Seidel",
        "email": "frank@f-seidel.de",
        "time": "Wed Feb 04 17:03:07 2009 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 00:29:32 2009 -0500"
      },
      "message": "ACPI: add missing KERN_* constants to printks\n\nAccording to kerneljanitors todo list all printk calls (beginning\na new line) should have an according KERN_* constant.\nThose are the missing peaces here for the acpi subsystem.\n\nSigned-off-by: Frank Seidel \u003cfrank@f-seidel.de\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "fc5a9f8841ee87d93376ada5d73117d4d6a373ea",
      "tree": "ca1098636b4918c00a49faf34c4e0d6e99852296",
      "parents": [
        "9e3a9d1ed8cc8db93e5c53e9a5b09065bd95de8b"
      ],
      "author": {
        "name": "Holger Macht",
        "email": "hmacht@suse.de",
        "time": "Tue Jan 20 12:18:24 2009 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 06 22:08:15 2009 -0500"
      },
      "message": "ACPI: dock: Don\u0027t eval _STA on every show_docked sysfs read\n\nSome devices trigger a DEVICE_CHECK on every evalutation of _STA. This\ncan also be seen in commit 8b59560a3baf2e7c24e0fb92ea5d09eca92805db\n(ACPI: dock: avoid check _STA method).  If an undock is processed, the\ndock driver sends a uevent and userspace might read the show_docked\nproperty in sysfs. This causes an evaluation of _STA of the particular\ndevice which causes the dock driver to immediately dock again.\n\nIn any case, evaluation of _STA (show_docked) does not necessarily mean\nthat we are docked, so check with the internal device structure.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12360\n\nSigned-off-by: Holger Macht \u003chmacht@suse.de\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "ccfef64621ef1e8c7726581b38eb8b98fd2a8afb",
      "tree": "74d99dcecbd7adad1dcd5d61fac408855b43a267",
      "parents": [
        "ae1a25da8448271a99745da03100d5299575a269",
        "0bf2f3aec5474da80a60e1baca629af87ecb67b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 18:52:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 18:52:55 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  CRED: Fix SUID exec regression\n"
    },
    {
      "commit": "ae1a25da8448271a99745da03100d5299575a269",
      "tree": "841c931e9eed1003d7d1c8157e9c6214939384c4",
      "parents": [
        "fd9fc842bbab0cb5560b0d52ce4598c898707863",
        "42f15d77df8a7e8a2feb15041d5d30710ee7f951"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 18:37:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 18:37:22 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (37 commits)\n  Btrfs: Make sure dir is non-null before doing S_ISGID checks\n  Btrfs: Fix memory leak in cache_drop_leaf_ref\n  Btrfs: don\u0027t return congestion in write_cache_pages as often\n  Btrfs: Only prep for btree deletion balances when nodes are mostly empty\n  Btrfs: fix btrfs_unlock_up_safe to walk the entire path\n  Btrfs: change btrfs_del_leaf to drop locks earlier\n  Btrfs: Change btrfs_truncate_inode_items to stop when it hits the inode\n  Btrfs: Don\u0027t try to compress pages past i_size\n  Btrfs: join the transaction in __btrfs_setxattr\n  Btrfs: Handle SGID bit when creating inodes\n  Btrfs: Make btrfs_drop_snapshot work in larger and more efficient chunks\n  Btrfs: Change btree locking to use explicit blocking points\n  Btrfs: hash_lock is no longer needed\n  Btrfs: disable leak debugging checks in extent_io.c\n  Btrfs: sort references by byte number during btrfs_inc_ref\n  Btrfs: async threads should try harder to find work\n  Btrfs: selinux support\n  Btrfs: make btrfs acls selectable\n  Btrfs: Catch missed bios in the async bio submission thread\n  Btrfs: fix readdir on 32 bit machines\n  ...\n"
    },
    {
      "commit": "fd9fc842bbab0cb5560b0d52ce4598c898707863",
      "tree": "ff8fc9b1c964debf18ba662558b26bf7bb7513cc",
      "parents": [
        "eeb94855beeb7fde5f9e2ed72fe6a8b24cd5a3c7"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Feb 06 18:06:51 2009 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 18:36:40 2009 -0800"
      },
      "message": "eCryptfs: Regression in unencrypted filename symlinks\n\nThe addition of filename encryption caused a regression in unencrypted\nfilename symlink support.  ecryptfs_copy_filename() is used when dealing\nwith unencrypted filenames and it reported that the new, copied filename\nwas a character longer than it should have been.\n\nThis caused the return value of readlink() to count the NULL byte of the\nsymlink target.  Most applications don\u0027t care about the extra NULL byte,\nbut a version control system (bzr) helped in discovering the bug.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eeb94855beeb7fde5f9e2ed72fe6a8b24cd5a3c7",
      "tree": "e48957c0f86c11c43689f632ea2353a497d7cac2",
      "parents": [
        "1d87b0d388c65feb890f1e0aa832338a33d0760f",
        "c09249f8d1b84344eca882547afdbffee8c09d14"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 18:36:02 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 18:36:02 2009 -0800"
      },
      "message": "Merge branch \u0027x86/fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland\n\n* \u0027x86/fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland:\n  x86-64: fix int $0x80 -ENOSYS return\n"
    },
    {
      "commit": "c09249f8d1b84344eca882547afdbffee8c09d14",
      "tree": "9c652c6aaec01f25f15d451b0f0e8009a8a8d530",
      "parents": [
        "6cec50838ed04a9833fb5549f698d3756bbe7e72"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Feb 06 18:15:18 2009 -0800"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Feb 06 18:22:29 2009 -0800"
      },
      "message": "x86-64: fix int $0x80 -ENOSYS return\n\nOne of my past fixes to this code introduced a different new bug.\nWhen using 32-bit \"int $0x80\" entry for a bogus syscall number,\nthe return value is not correctly set to -ENOSYS.  This only happens\nwhen neither syscall-audit nor syscall tracing is enabled (i.e., never\nseen if auditd ever started).  Test program:\n\n\t/* gcc -o int80-badsys -m32 -g int80-badsys.c\n\t   Run on x86-64 kernel.\n\t   Note to reproduce the bug you need auditd never to have started.  */\n\n\t#include \u003cerrno.h\u003e\n\t#include \u003cstdio.h\u003e\n\n\tint\n\tmain (void)\n\t{\n\t  long res;\n\t  asm (\"int $0x80\" : \"\u003da\" (res) : \"0\" (99999));\n\t  printf (\"bad syscall returns %ld\\n\", res);\n\t  return res !\u003d -ENOSYS;\n\t}\n\nThe fix makes the int $0x80 path match the sysenter and syscall paths.\n\nReported-by: Dmitry V. Levin \u003cldv@altlinux.org\u003e\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\n"
    },
    {
      "commit": "1d87b0d388c65feb890f1e0aa832338a33d0760f",
      "tree": "ca1980ce84f2fb1bc7952738e32f9657dc4d0154",
      "parents": [
        "d4cf109f05ff04c6f5065c3e14165ef01a57dd53",
        "92dc07b1f988e8c237a38e23be660b9b8533e6fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 18:10:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 18:10:04 2009 -0800"
      },
      "message": "Merge branch \u0027to-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland\n\n* \u0027to-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland:\n  elf core dump: fix get_user use\n"
    },
    {
      "commit": "92dc07b1f988e8c237a38e23be660b9b8533e6fd",
      "tree": "4a689fbb465d7302b105678152170d8665f56ae7",
      "parents": [
        "6cec50838ed04a9833fb5549f698d3756bbe7e72"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Feb 06 17:34:07 2009 -0800"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Feb 06 17:34:07 2009 -0800"
      },
      "message": "elf core dump: fix get_user use\n\nThe elf_core_dump() code does its work with set_fs(KERNEL_DS) in force,\nso vma_dump_size() needs to switch back with set_fs(USER_DS) to safely\nuse get_user() for a normal user-space address.\n\nChecking for VM_READ optimizes out the case where get_user() would fail\nanyway.  The vm_file check here was already superfluous given the control\nflow earlier in the function, so that is a cleanup/optimization unrelated\nto other changes but an obvious and trivial one.\n\nReported-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\n"
    },
    {
      "commit": "0bf2f3aec5474da80a60e1baca629af87ecb67b6",
      "tree": "5c1a7733e24aaacbcf46e0434a11f033cfde43ca",
      "parents": [
        "6cec50838ed04a9833fb5549f698d3756bbe7e72"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 06 11:45:46 2009 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Feb 07 08:46:18 2009 +1100"
      },
      "message": "CRED: Fix SUID exec regression\n\nThe patch:\n\n\tcommit a6f76f23d297f70e2a6b3ec607f7aeeea9e37e8d\n\tCRED: Make execve() take advantage of copy-on-write credentials\n\nmoved the place in which the \u0027safeness\u0027 of a SUID/SGID exec was performed to\nbefore de_thread() was called.  This means that LSM_UNSAFE_SHARE is now\ncalculated incorrectly.  This flag is set if any of the usage counts for\nfs_struct, files_struct and sighand_struct are greater than 1 at the time the\ndetermination is made.  All of which are true for threads created by the\npthread library.\n\nHowever, since we wish to make the security calculation before irrevocably\ndamaging the process so that we can return it an error code in the case where\nwe decide we want to reject the exec request on this basis, we have to make the\ndetermination before calling de_thread().\n\nSo, instead, we count up the number of threads (CLONE_THREAD) that are sharing\nour fs_struct (CLONE_FS), files_struct (CLONE_FILES) and sighand_structs\n(CLONE_SIGHAND/CLONE_THREAD) with us.  These will be killed by de_thread() and\nso can be discounted by check_unsafe_exec().\n\nWe do have to be careful because CLONE_THREAD does not imply FS or FILES.\n\nWe _assume_ that there will be no extra references to these structs held by the\nthreads we\u0027re going to kill.\n\nThis can be tested with the attached pair of programs.  Build the two programs\nusing the Makefile supplied, and run ./test1 as a non-root user.  If\nsuccessful, you should see something like:\n\n\t[dhowells@andromeda tmp]$ ./test1\n\t--TEST1--\n\tuid\u003d4043, euid\u003d4043 suid\u003d4043\n\texec ./test2\n\t--TEST2--\n\tuid\u003d4043, euid\u003d0 suid\u003d0\n\tSUCCESS - Correct effective user ID\n\nand if unsuccessful, something like:\n\n\t[dhowells@andromeda tmp]$ ./test1\n\t--TEST1--\n\tuid\u003d4043, euid\u003d4043 suid\u003d4043\n\texec ./test2\n\t--TEST2--\n\tuid\u003d4043, euid\u003d4043 suid\u003d4043\n\tERROR - Incorrect effective user ID!\n\nThe non-root user ID you see will depend on the user you run as.\n\n[test1.c]\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cpthread.h\u003e\n\nstatic void *thread_func(void *arg)\n{\n\twhile (1) {}\n}\n\nint main(int argc, char **argv)\n{\n\tpthread_t tid;\n\tuid_t uid, euid, suid;\n\n\tprintf(\"--TEST1--\\n\");\n\tgetresuid(\u0026uid, \u0026euid, \u0026suid);\n\tprintf(\"uid\u003d%d, euid\u003d%d suid\u003d%d\\n\", uid, euid, suid);\n\n\tif (pthread_create(\u0026tid, NULL, thread_func, NULL) \u003c 0) {\n\t\tperror(\"pthread_create\");\n\t\texit(1);\n\t}\n\n\tprintf(\"exec ./test2\\n\");\n\texeclp(\"./test2\", \"test2\", NULL);\n\tperror(\"./test2\");\n\t_exit(1);\n}\n\n[test2.c]\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cunistd.h\u003e\n\nint main(int argc, char **argv)\n{\n\tuid_t uid, euid, suid;\n\n\tgetresuid(\u0026uid, \u0026euid, \u0026suid);\n\tprintf(\"--TEST2--\\n\");\n\tprintf(\"uid\u003d%d, euid\u003d%d suid\u003d%d\\n\", uid, euid, suid);\n\n\tif (euid !\u003d 0) {\n\t\tfprintf(stderr, \"ERROR - Incorrect effective user ID!\\n\");\n\t\texit(1);\n\t}\n\tprintf(\"SUCCESS - Correct effective user ID\\n\");\n\texit(0);\n}\n\n[Makefile]\nCFLAGS \u003d -D_GNU_SOURCE -Wall -Werror -Wunused\nall: test1 test2\n\ntest1: test1.c\n\tgcc $(CFLAGS) -o test1 test1.c -lpthread\n\ntest2: test2.c\n\tgcc $(CFLAGS) -o test2 test2.c\n\tsudo chown root.root test2\n\tsudo chmod +s test2\n\nReported-by: David Smith \u003cdsmith@redhat.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: David Smith \u003cdsmith@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d4cf109f05ff04c6f5065c3e14165ef01a57dd53",
      "tree": "898a0d6b4d8934ec4939a8572e1b78dbb9689d93",
      "parents": [
        "6cec50838ed04a9833fb5549f698d3756bbe7e72"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Fri Feb 06 14:59:26 2009 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 13:34:22 2009 -0800"
      },
      "message": "vfs: Don\u0027t call attach_nobh_buffers() with an empty list\n\nThis is a modification of a patch by Bill Pemberton \u003cwfp5p@virginia.edu\u003e\n\nnobh_write_end() could call attach_nobh_buffers() with head \u003d\u003d NULL.\nThis would result in a trap when attach_nobh_buffers() attempted to\naccess bh-\u003eb_this_page.\n\nThis can be illustrated by running the writev01 testcase from LTP on jfs.\n\nThis error was introduced by commit 5b41e74a \"vfs: fix data leak in\nnobh_write_end()\".  That patch did not take into account that if\nPageMappedToDisk() is true upon entry to nobh_write_begin(), then no\nbuffers will be allocated for the page.  In that case, we won\u0027t have to\nworry about a failed write leaving unitialized data in the page.\n\nOf course, head !\u003d NULL implies !page_has_buffers(page), so no need to\ntest both.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nCc: Dmitri Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6cec50838ed04a9833fb5549f698d3756bbe7e72",
      "tree": "6f3fc6c91b72ef5cc3c0a8344982e2fdef5b6f5b",
      "parents": [
        "5e3bd4e4b1082e406351083784e3de4cdaa50d7a",
        "b0050cae2ba48cb79fa22b0edd97e611abbd6a33"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 11:14:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 11:14:23 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: hda - Add missing COEF initialization for ALC887\n  ALSA: hda - Add missing initialization for ALC272\n  sound: usb-audio: handle wMaxPacketSize for FIXED_ENDPOINT devices\n  ALSA: hda - Fix misc workqueue issues\n  ALSA: hda - Add quirk for FSC Amilo Xi2550\n"
    },
    {
      "commit": "9e3a9d1ed8cc8db93e5c53e9a5b09065bd95de8b",
      "tree": "f181c88fd7bae4c3088833e2587d8e60047e0774",
      "parents": [
        "f3b39f1393d5cebe56f43a584ef47efbebd2702c"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 06 14:00:56 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 06 14:00:56 2009 -0500"
      },
      "message": "ACPI: disable ACPI cleanly when bad RSDP found\n\nWhen ACPI is disabled in the BIOS of this VIA C3 box,\nit invalidates the RSDP, which Linux notices:\n\nACPI Error (tbxfroot-0218): A valid RSDP was not found [20080926]\n\nBug Linux neglected to disable ACPI at that stage,\nand later scribbled on smp_found_config:\n\nACPI: No APIC-table, disabling MPS\n\nBut this box doesn\u0027t run well in legacy PIC mode,\nit needed IOAPIC mode to perform correctly:\n\nhttp://lkml.org/lkml/2009/2/5/39\n\nSo exit ACPI mode cleanly when we first detect\nthat it is hopeless.\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "9fdd54f206722ecee7fd7ba9dba26140450e7c32",
      "tree": "83f6b6106d5ade8301327488fe6f45a6eaaa3476",
      "parents": [
        "31878dd86b7df9a147f5e6cc6e07092b4308782b"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 06 12:24:17 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 06 12:34:39 2009 -0500"
      },
      "message": "ACPI: delete CPU_IDLE\u003dn code\n\nCPU_IDLE\u003dy has been default for ACPI\u003dy since Nov-2007,\nand has shipped in many distributions since then.\n\nHere we delete the CPU_IDLE\u003dn ACPI idle code, since\nnobody should be using it, and we don\u0027t want to\nmaintain two versions.\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "5e3bd4e4b1082e406351083784e3de4cdaa50d7a",
      "tree": "9fdc50af3999e9e978f7df05088a0b8bc8421706",
      "parents": [
        "bcee402e764ccbdb507fe56936230af7cb57c813",
        "86431532ec4311dccd0d7513cebae6ffc762756b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 08:48:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 08:48:16 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: dv1394: move deprecation message from module init to file open\n  firewire: core: Remove card from list of cards when enable fails\n"
    },
    {
      "commit": "bcee402e764ccbdb507fe56936230af7cb57c813",
      "tree": "db14a268c1ba2f003211cec3ddfe2815e32336bc",
      "parents": [
        "6d7f2caa77994e9c2d3cb648aa16f1e0c25b2af4"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Feb 06 14:53:18 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 08:47:25 2009 -0800"
      },
      "message": "Add Sascha Hauer to .mailmap\n\nThis fixes the shortlog attribution e.g. for 106757b38fff\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nAcked-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d7f2caa77994e9c2d3cb648aa16f1e0c25b2af4",
      "tree": "ff677eb2c685181fe8f18e0ef3dbb07a00b7ad2a",
      "parents": [
        "04ec93fe9bc98e3bd8560f79f56fed66dfae40d5"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Feb 06 14:53:19 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 08:47:25 2009 -0800"
      },
      "message": "add another mailmap entry for Uwe Kleine-König\n\nI created commit 7971db5a4b4176ad5df590fce07a962c643a2740 on a machine\nwhere I forgot to set user.name and user.email before.  The default\nvalues were not optimal.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04ec93fe9bc98e3bd8560f79f56fed66dfae40d5",
      "tree": "ba7d1ca513641167f61d8d8bb56b832f63d98bca",
      "parents": [
        "b2a740aab8f3bc2fd9f01528e39607bd9a1f0da6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Feb 06 08:17:19 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 08:43:11 2009 -0800"
      },
      "message": "fork.c: fix NULL pointer dereference when nr_threads \u003d\u003d threads-max\n\nI happened to forked lots of processes, and hit NULL pointer dereference.\nIt is because in copy_process() after checking max_threads, 0 is returned\nbut not -EAGAIN.\n\nThe bug is introduced by \"CRED: Detach the credentials from task_struct\"\n(commit f1752eec6145c97163dbce62d17cf5d928e28a27).\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42f15d77df8a7e8a2feb15041d5d30710ee7f951",
      "tree": "5b6a3cdaab135c41848952874a6fab086b8b9f72",
      "parents": [
        "806638bce99f51deccbfedbe86ab3c5cf55a1d35"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Feb 06 11:35:57 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Feb 06 11:35:57 2009 -0500"
      },
      "message": "Btrfs: Make sure dir is non-null before doing S_ISGID checks\n\nThe S_ISGID check in btrfs_new_inode caused an oops during subvol creation\nbecause sometimes the dir is null.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b2a740aab8f3bc2fd9f01528e39607bd9a1f0da6",
      "tree": "bf864e71484732b0fa1f0bfa279242ae4d89bc00",
      "parents": [
        "9be260a646bf76fa418ee519afa10196b3164681",
        "de01dfadf25bf83cfe3d85c163005c4320532658"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 07:41:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 07:41:10 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://neil.brown.name/md\n\n* \u0027for-linus\u0027 of git://neil.brown.name/md:\n  md: Ensure an md array never has too many devices.\n  md: Fix a bug in linear.c causing which_dev() to return the wrong device.\n  md: Allow read error in a single drive raid1 to be passed up.\n"
    },
    {
      "commit": "86431532ec4311dccd0d7513cebae6ffc762756b",
      "tree": "d9d0fe17a224f2139ddc331d1b7383121ccaf245",
      "parents": [
        "b7479febdecf8e12951aecb0b405e4655aa3dae6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 03 17:54:31 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Feb 06 15:52:28 2009 +0100"
      },
      "message": "ieee1394: dv1394: move deprecation message from module init to file open\n\nOn many Linux installations, the dv1394 driver will be auto-loaded\nwhenever an AV/C device (e.g. camcorder or audio device) is plugged in.\nAn irritating message would then appear in the kernel log.\n\nDefer this message to until a dv1394 character device file is actually\nused by a program.  Also include the program name in the message and\nupdate the message slightly.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b0050cae2ba48cb79fa22b0edd97e611abbd6a33",
      "tree": "6a85edcdd2332a14eb0314d7a4d1a7da95b552fe",
      "parents": [
        "b2573eb586169dfb02772856a4e7cb760f21ec12",
        "894dcd78782842924527598b0b764c9b4e679e21"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Feb 06 14:25:13 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Feb 06 14:25:13 2009 +0100"
      },
      "message": "Merge branch \u0027fix/usb-audio\u0027 into for-linus\n"
    },
    {
      "commit": "b2573eb586169dfb02772856a4e7cb760f21ec12",
      "tree": "d15ffe58c5290e33c7204e80cb0da9ea5262c1a8",
      "parents": [
        "9be260a646bf76fa418ee519afa10196b3164681",
        "4a5a4c56b443a213fa9c2ad27984a8681a3d7087"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Feb 06 14:25:04 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Feb 06 14:25:04 2009 +0100"
      },
      "message": "Merge branch \u0027fix/hda\u0027 into for-linus\n"
    },
    {
      "commit": "4a5a4c56b443a213fa9c2ad27984a8681a3d7087",
      "tree": "d3fd5e29c7a16d464d6260db8ecedc67c78dfa97",
      "parents": [
        "c6e8f2daadc6d61a32b7486a1058c8f1f9baa499"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Feb 06 12:46:59 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Feb 06 12:46:59 2009 +0100"
      },
      "message": "ALSA: hda - Add missing COEF initialization for ALC887\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "c6e8f2daadc6d61a32b7486a1058c8f1f9baa499",
      "tree": "f1242c3d12f35dd17739b71da01a0c9236b74a25",
      "parents": [
        "e8c0ee5d77ec0f144c753a622c67dd96fa195d50"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Feb 06 12:45:52 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Feb 06 12:45:52 2009 +0100"
      },
      "message": "ALSA: hda - Add missing initialization for ALC272\n\nALC272 needs EAPD for speaker outputs as well as other similar ALC\ncodecs.\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "894dcd78782842924527598b0b764c9b4e679e21",
      "tree": "f0522de45c1d10a2e3da460b2359b9ef198a061f",
      "parents": [
        "18e352e4a73465349711a9324767e1b2453383e2"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Fri Feb 06 08:13:07 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Feb 06 09:47:12 2009 +0100"
      },
      "message": "sound: usb-audio: handle wMaxPacketSize for FIXED_ENDPOINT devices\n\nFor audio devices that do not have proper audio descriptors (e.g.,\nEdirol UA-20), we use hardcoded parameters from our quirks list.\nHowever, we must still read the maximum packet size from the standard\nendpoint descriptor; otherwise, we might use packets that are too big\nand therefore rejected by the USB core.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "de01dfadf25bf83cfe3d85c163005c4320532658",
      "tree": "dc1cca5a6aa10ecc0fea2fb9f13534685ba8ff61",
      "parents": [
        "852c8bf484a0e17ee27f413ef26e87f522af5607"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Feb 06 18:02:46 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Feb 06 18:02:46 2009 +1100"
      },
      "message": "md: Ensure an md array never has too many devices.\n\nEach different metadata format supported by md supports a\ndifferent maximum number of devices.\nWe really should be enforcing this maximum in the kernel, but\nwe aren\u0027t quite doing that properly.\n\nWe currently only enforce it at the \u0027hot_add\u0027 point, which is an\nolder interface which is not used by current userspace.\n\nWe need to also enforce it at \u0027add_new_disk\u0027 time for active arrays\nand at \u0027do_md_run\u0027 time when starting a new array.\n\nSo move the test from \u0027hot_add\u0027 into \u0027bind_rdev_to_array\u0027 which is\ncalled from both \u0027hot_add\u0027 and \u0027add_new_disk, and add a new\ntest in \u0027analyse_sbs\u0027 which is called from \u0027do_md_run\u0027.\n\nThis bug (or missing feature) has been around \"forever\" and so\nthe patch is suitable for any -stable that is currently maintained.\n\nCc: stable@kernel.org\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "852c8bf484a0e17ee27f413ef26e87f522af5607",
      "tree": "a2bf0b7c3a277c65cdad307a3d48ee358868769c",
      "parents": [
        "4706b349f4a8312d31b3d0cf61fe721699356920"
      ],
      "author": {
        "name": "Andre Noll",
        "email": "maan@systemlinux.org",
        "time": "Fri Feb 06 15:10:52 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Feb 06 15:10:52 2009 +1100"
      },
      "message": "md: Fix a bug in linear.c causing which_dev() to return the wrong device.\n\nab5bd5cbc8d4b868378d062eed3d4240930fbb86 introduced the following\nbug in linear software raid for large arrays on 32 bit machines:\n\nwhich_dev() computes the device holding a given sector by shifting\ndown the sector number to a 32 bit range, dividing by the array\nspacing and looking up the resulting index in the hash table of\nthe array.\n\nBecause the computed index might be slightly too small, a loop at\nthe end of which_dev() increases the index until the given sector\nactually falls into the range of the device associated with that index.\n\nThe changes of the above mentioned commit caused this loop to check\nwhether the _index_ rather than the sector number is small enough,\neffectively bypassing the loop and thus possibly returning the wrong\ndevice.\n\nAs reported by Simon Kirby, this leads to errors such as\n\n\tlinear_make_request: Sector 2340486136 out of bounds on dev sdi: 156301312 sectors, offset 2109870464\n\nFix this bug by introducing a local variable for the index so that\nthe variable containing the passed sector is left unchanged.\n\nCc: stable@kernel.org\nSigned-off-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "4706b349f4a8312d31b3d0cf61fe721699356920",
      "tree": "86c0ee896722e45e324a97b704c0419fbb968d4a",
      "parents": [
        "eda58a85ec3fc05855a26654d97a2b53f0e715b9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Feb 06 15:06:47 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Feb 06 15:06:47 2009 +1100"
      },
      "message": "md: Allow read error in a single drive raid1 to be passed up.\n\nIf a raid1 only has a single working device and gets a read error, \nwe choose to simply return that error up to the filesystem (or whatever)\nrather than failing the whole array.\n\nHowever the codes doesn\u0027t quite do that.  We attempt a readbalance\nwhich allocates the same drive, so we retry the read - indefinitely. \n\nInstead:  If read_balance in the error case chooses the same drive that just\nfailed, treat it as a failure and don\u0027t retry.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "9be260a646bf76fa418ee519afa10196b3164681",
      "tree": "8d829aa2c36cc81b62f9fbe36da83a3f89626db5",
      "parents": [
        "767b5828ad9a1b435488b5d39b5a66aeef4d25e4"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu Feb 05 17:12:39 2009 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 17:01:50 2009 -0800"
      },
      "message": "prevent kprobes from catching spurious page faults\n\nPrevent kprobes from catching spurious faults which will cause infinite\nrecursive page-fault and memory corruption by stack overflow.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "767b5828ad9a1b435488b5d39b5a66aeef4d25e4",
      "tree": "40dc54bb63899ff8fd2de31dfeb83230bddad935",
      "parents": [
        "082256333f4e879bc4b56e294921aaff6d035da0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Fri Feb 06 00:32:27 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 16:35:52 2009 -0800"
      },
      "message": "braino in sg_ioctl_trans()\n\n... and yes, gcc is insane enough to eat that without complaint.\nWe probably want sparse to scream on those...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "082256333f4e879bc4b56e294921aaff6d035da0",
      "tree": "ddc5ea679909d19b1c7279907c6ff762bc8ac598",
      "parents": [
        "09cd5b8f9dbdc161aec404eea572fbca7d162920",
        "436443f0f77f730f9f700095799c485356695c08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 16:12:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 16:12:38 2009 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:\n  Revert \"configfs: Silence lockdep on mkdir(), rmdir() and configfs_depend_item()\"\n"
    },
    {
      "commit": "09cd5b8f9dbdc161aec404eea572fbca7d162920",
      "tree": "a5e8beeaefd7bbf05d7fe302bf9e6cad5b041445",
      "parents": [
        "cc5724ce10c21cb44f9413266bb100ab89b18e2a",
        "c20f326a62c046ee958c3aa584f183201adb229f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 16:11:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 16:11:54 2009 -0800"
      },
      "message": "Merge branch \u0027sh/for-2.6.29\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027sh/for-2.6.29\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:\n  sh: Fix up T-bit error handling in SH-4A mutex fastpath.\n  sh: Fix up spurious syscall restarting.\n  sh: fcnvds fix with denormalized numbers on SH-4 FPU.\n  sh: Only reserve memory under CONFIG_ZERO_PAGE_OFFSET when it !\u003d 0.\n  sh: Handle calling csum_partial with misaligned data\n  sh: ap325rxa: Enable ov772x in defconfig.\n  sh: ap325rxa: Add ov772x support.\n  sh: ap325rxa: control camera power toggling.\n  sh: mach-migor: Enable ov772x and tw9910 in defconfig.\n"
    },
    {
      "commit": "cc5724ce10c21cb44f9413266bb100ab89b18e2a",
      "tree": "513882a835d54c39a4bed8bc6e405ba55da20ada",
      "parents": [
        "f01d1d546abb2f4028b5299092f529eefb01253a",
        "a23f4bbd8d27ac8ddc5d71ace1f91bb503f0469a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 16:11:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 16:11:32 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  Revert \"tcp: Always set urgent pointer if it\u0027s beyond snd_nxt\"\n  ipv6: Copy cork options in ip6_append_data\n  udp: Fix UDP short packet false positive\n  gianfar: Fix potential soft reset race\n  gianfar: Fix BD_LENGTH_MASK definition\n  cxgb3: Fix lro switch\n  iwlwifi: save PCI state before suspend, restore after resume\n  iwlwifi: clean key table in iwl_clear_stations_table\n"
    },
    {
      "commit": "a23f4bbd8d27ac8ddc5d71ace1f91bb503f0469a",
      "tree": "44b7cef00fb9d1ed7941af95d62f87984c363b3c",
      "parents": [
        "0178b695fd6b40a62a215cbeb03dd51ada3bb5e0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 05 15:38:31 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 05 15:38:31 2009 -0800"
      },
      "message": "Revert \"tcp: Always set urgent pointer if it\u0027s beyond snd_nxt\"\n\nThis reverts commit 64ff3b938ec6782e6585a83d5459b98b0c3f6eb8.\n\nJeff Chua reports that it breaks rlogin for him.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0178b695fd6b40a62a215cbeb03dd51ada3bb5e0",
      "tree": "122ac633fa8ad71ac58e7228efc51a639f44466a",
      "parents": [
        "12402b5b7a2aa7ebed246db4570a5eb905fe79ea"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Feb 05 15:15:50 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 05 15:15:50 2009 -0800"
      },
      "message": "ipv6: Copy cork options in ip6_append_data\n\nAs the options passed to ip6_append_data may be ephemeral, we need\nto duplicate it for corking.  This patch applies the simplest fix\nwhich is to memdup all the relevant bits.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12402b5b7a2aa7ebed246db4570a5eb905fe79ea",
      "tree": "1751dcf3e63841d8cce4ddb575e3d25a0b6a825b",
      "parents": [
        "7b5e56f9d635643ad54f2f42e69ad16b80a2cff1",
        "c4e061ace75513aee227090486cc46dec7810c00"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 05 15:08:11 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 05 15:08:11 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "7b5e56f9d635643ad54f2f42e69ad16b80a2cff1",
      "tree": "f0e3d35d01047375ea2eef5f8c99d9b96bc919ab",
      "parents": [
        "b98ac702f49042ab0c382b839465b95a2bd0cd65"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Thu Feb 05 15:05:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 05 15:05:45 2009 -0800"
      },
      "message": "udp: Fix UDP short packet false positive\n\nThe UDP header pointer assignment must happen after calling\npskb_may_pull().  As pskb_may_pull() can potentially alter the SKB\nbuffer.\n\nThis was exposted by running multicast traffic through the NIU driver,\nas it won\u0027t prepull the protocol headers into the linear area on\nreceive.\n\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f01d1d546abb2f4028b5299092f529eefb01253a",
      "tree": "625a9f9923ae53cc9bf75cf46fcebbbeb8ac84a8",
      "parents": [
        "33da8892a2f9e7d4b2d9a35fc80833ba2d2b1aa6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Feb 06 00:30:05 2009 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 14:18:14 2009 -0800"
      },
      "message": "seq_file: fix big-enough lseek() + read()\n\nlseek() further than length of the file will leave stale -\u003eindex\n(second-to-last during iteration). Next seq_read() will not notice\nthat -\u003ef_pos is big enough to return 0, but will print last item\nas if -\u003ef_pos is pointing to it.\n\nIntroduced in commit cb510b8172602a66467f3551b4be1911f5a7c8c2\naka \"seq_file: more atomicity in traverse()\".\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33da8892a2f9e7d4b2d9a35fc80833ba2d2b1aa6",
      "tree": "4261b553653438775461fd408669f1942a383d2e",
      "parents": [
        "361916a943cd9dbda1c0b00879d0225cc919d868"
      ],
      "author": {
        "name": "Eric Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 04 15:12:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:49 2009 -0800"
      },
      "message": "seq_file: move traverse so it can be used from seq_read\n\nIn 2.6.25 some /proc files were converted to use the seq_file\ninfrastructure.  But seq_files do not correctly support pread(), which\nbroke some usersapce applications.\n\nTo handle pread correctly we can\u0027t assume that f_pos is where we left it\nin seq_read.  So move traverse() so that we can eventually use it in\nseq_read and do thus some day support pread().\n\nSigned-off-by: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "361916a943cd9dbda1c0b00879d0225cc919d868",
      "tree": "e9b30d230248baa4dd3e9718b683e4aa74830f43",
      "parents": [
        "fb9a68001175cc04bbbe711e6e29e1c6c353107b"
      ],
      "author": {
        "name": "Dean Nelson",
        "email": "dcn@sgi.com",
        "time": "Wed Feb 04 15:12:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:49 2009 -0800"
      },
      "message": "sgi-xp: fix writing past the end of kzalloc()\u0027d space\n\nA missing type cast results in writing way beyond the end of a kzalloc()\u0027d\nmemory segment resulting in slab corruption. But it seems like the better\nsolution is to define -\u003erecv_msg_slots as a \u0027void *\u0027 rather than a\n\u0027struct xpc_notify_mq_msg_uv *\u0027 and add the type cast.\n\nSigned-off-by: Dean Nelson \u003cdcn@sgi.com\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": "fb9a68001175cc04bbbe711e6e29e1c6c353107b",
      "tree": "cb9d4fd37894b21573dd59ab85f3a21a7d59e83b",
      "parents": [
        "736d54533aedbcbde8cfb2f9ccd542595db4d78d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Feb 04 15:12:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:49 2009 -0800"
      },
      "message": "alpha: fixup BUG macro\n\nDo usual do {} while (0) dance, otherwise\n\nfs/gfs2/util.c:99: error: expected expression before \u0027else\u0027\ndrivers/scsi/lpfc/lpfc_sli.c:363: error: expected expression before \u0027else\u0027\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "736d54533aedbcbde8cfb2f9ccd542595db4d78d",
      "tree": "83fbdc15a5ad032e47c9d237617a67866303767b",
      "parents": [
        "fe86175bce50bc3d65ff09c287fed955c4da1eb3"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Feb 04 15:12:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:48 2009 -0800"
      },
      "message": "sx.c: fix missed unlock_kernel() on error path in sx_fw_ioctl()\n\nIf we return directly with -EPERM then lock_kernel() is still held.\n\nThis was found with a code checker (http://repo.or.cz/w/smatch.git/).\n\n[akpm@linux-foundation.org: fix another such path - missed func_exit()]\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: \u003cR.E.Wolff@BitWizard.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe86175bce50bc3d65ff09c287fed955c4da1eb3",
      "tree": "00cdc9fffe9b539dfbf901d2338c0f337d2faf2f",
      "parents": [
        "cd29cf7d112aa022cfcfb257ffe3d89ffbd1d820"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Feb 04 15:12:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:48 2009 -0800"
      },
      "message": "atyfb: fix CONFIG_ namespace violations\n\nFix namespace violations by changing non-kconfig CONFIG_ names to CNFG_*.\n\nFixes breakage in staging/, which adds a real CONFIG_PANEL.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd29cf7d112aa022cfcfb257ffe3d89ffbd1d820",
      "tree": "7101504f35d76774355dfb73be12bee3e682e8a5",
      "parents": [
        "ce43ae538b540cf3e9f5036d8023b88bf9f8fa40"
      ],
      "author": {
        "name": "Manish Katiyar",
        "email": "mkatiyar@gmail.com",
        "time": "Wed Feb 04 15:12:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:48 2009 -0800"
      },
      "message": "rtc-ds1390: fix compilation warnings in drivers/rtc/rtc-ds1390.c\n\ndrivers/rtc/rtc-ds1390.c:125: warning: unused variable \u0027rtc\u0027\n\nSigned-off-by: Manish Katiyar \u003cmkatiyar@gmail.com\u003e\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce43ae538b540cf3e9f5036d8023b88bf9f8fa40",
      "tree": "487994e6b1e1295befbc1ff729d55aa263bc9015",
      "parents": [
        "dfecb7164eb81fbfae93fee1ad1da2ac58bb224d"
      ],
      "author": {
        "name": "Mike Rapoport",
        "email": "mike@compulab.co.il",
        "time": "Wed Feb 04 15:12:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:48 2009 -0800"
      },
      "message": "drivers/video/backlight: rename da903x to da903x_bl\n\nCurrently both da903x backlight and voltage reulator drivers have the\nsame name. Rename the backlight driver to allow use of both drivers as\nmodules.\n\nSigned-off-by: Mike Rapoport \u003cmike@compulab.co.il\u003e\nAcked-by: Eric Miao \u003ceric.miao@marvell.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dfecb7164eb81fbfae93fee1ad1da2ac58bb224d",
      "tree": "44dc3ffe7d75ab73417f561f12914137bef8c1aa",
      "parents": [
        "ab92661d5d9514647346047f30f67a7f35ffea67"
      ],
      "author": {
        "name": "Hans-Christian Egtvedt",
        "email": "hans-christian.egtvedt@atmel.com",
        "time": "Wed Feb 04 15:12:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:48 2009 -0800"
      },
      "message": "atmel-ssc: fix misuse of dev_dbg when requested ssc instance is not found\n\nThe ssc pointer is not valid when the id is not found in the list.\nConvert the message from a debug one into an error message and avoid\ndereferencing the bad pointer.\n\nSigned-off-by: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nAcked-by: Haavard Skinnemoen \u003chaavard.skinnemoen@atmel.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab92661d5d9514647346047f30f67a7f35ffea67",
      "tree": "3ed67a71d7cce6dbd5b6bd559966f7fc137c8f00",
      "parents": [
        "777c6c5f1f6e757ae49ecca2ed72d6b1f523c007"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Feb 04 15:12:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:48 2009 -0800"
      },
      "message": "do_wp_page: fix regression with execute in place\n\nFix do_wp_page for VM_MIXEDMAP mappings.\n\nIn the case where pfn_valid returns 0 for a pfn at the beginning of\ndo_wp_page and the mapping is not shared writable, the code branches to\nlabel `gotten:\u0027 with old_page \u003d\u003d NULL.\n\nIn case the vma is locked (vma-\u003evm_flags \u0026 VM_LOCKED), lock_page,\nclear_page_mlock, and unlock_page try to access the old_page.\n\nThis patch checks whether old_page is valid before it is dereferenced.\n\nThe regression was introduced by \"mlock: mlocked pages are unevictable\"\n(commit b291f000393f5a0b679012b39d79fbc85c018233).\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "777c6c5f1f6e757ae49ecca2ed72d6b1f523c007",
      "tree": "342b79faee43af9705b5a8ca406565fda0ad08fd",
      "parents": [
        "40b0bb1e734700b81d2ec69367c035cd1537f4fa"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Feb 04 15:12:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:48 2009 -0800"
      },
      "message": "wait: prevent exclusive waiter starvation\n\nWith exclusive waiters, every process woken up through the wait queue must\nensure that the next waiter down the line is woken when it has finished.\n\nInterruptible waiters don\u0027t do that when aborting due to a signal.  And if\nan aborting waiter is concurrently woken up through the waitqueue, noone\nwill ever wake up the next waiter.\n\nThis has been observed with __wait_on_bit_lock() used by\nlock_page_killable(): the first contender on the queue was aborting when\nthe actual lock holder woke it up concurrently.  The aborted contender\ndidn\u0027t acquire the lock and therefor never did an unlock followed by\nwaking up the next waiter.\n\nAdd abort_exclusive_wait() which removes the process\u0027 wait descriptor from\nthe waitqueue, iff still queued, or wakes up the next waiter otherwise.\nIt does so under the waitqueue lock.  Racing with a wake up means the\naborting process is either already woken (removed from the queue) and will\nwake up the next waiter, or it will remove itself from the queue and the\nconcurrent wake up will apply to the next waiter after it.\n\nUse abort_exclusive_wait() in __wait_event_interruptible_exclusive() and\n__wait_on_bit_lock() when they were interrupted by other means than a wake\nup through the queue.\n\n[akpm@linux-foundation.org: coding-style fixes]\nReported-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nMentored-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Chuck Lever \u003ccel@citi.umich.edu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[\"after some testing\"]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "40b0bb1e734700b81d2ec69367c035cd1537f4fa",
      "tree": "703b5ccabdcd820e01ce7e61421f73caa9a71a13",
      "parents": [
        "87357d277a024934389ddc37808290c53c74339e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Feb 04 15:12:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:47 2009 -0800"
      },
      "message": "maintainers: general@lists.openfabrics.org is moderated\n\nI got the \"list is moderated message,\" so add it here.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87357d277a024934389ddc37808290c53c74339e",
      "tree": "2ac98eea38e6f1c746f22088db8245c5ab570f39",
      "parents": [
        "c77a022d2994b0ccfb583c7dfd6392e3cd0391fe"
      ],
      "author": {
        "name": "Martin Kebert",
        "email": "gkmarty@gmail.com",
        "time": "Wed Feb 04 15:12:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:47 2009 -0800"
      },
      "message": "lis3lv02d: add axes knowledge for HP 6710\n\nAdd support for the HP laptops of model 6710x for having correctly setup\naxes.\n\nSigned-off-by: Martin Kebert \u003cgkmarty@gmail.com\u003e\nSigned-off-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "c77a022d2994b0ccfb583c7dfd6392e3cd0391fe"
}
