)]}'
{
  "log": [
    {
      "commit": "c1821c2e9711adc3cd298a16b7237c92a2cee78d",
      "tree": "9155b089db35a37d95863125ea4c5f918bd7801b",
      "parents": [
        "86aa9fc2456d8a662f299a70bdb70987209170f0"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "geraldsc@de.ibm.com",
        "time": "Mon Feb 05 21:18:17 2007 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Feb 05 21:18:17 2007 +0100"
      },
      "message": "[S390] noexec protection\n\nThis provides a noexec protection on s390 hardware. Our hardware does\nnot have any bits left in the pte for a hw noexec bit, so this is a\ndifferent approach using shadow page tables and a special addressing\nmode that allows separate address spaces for code and data.\n\nAs a special feature of our \"secondary-space\" addressing mode, separate\npage tables can be specified for the translation of data addresses\n(storage operands) and instruction addresses. The shadow page table is\nused for the instruction addresses and the standard page table for the\ndata addresses.\nThe shadow page table is linked to the standard page table by a pointer\nin page-\u003elru.next of the struct page corresponding to the page that\ncontains the standard page table (since page-\u003eprivate is not really\nprivate with the pte_lock and the page table pages are not in the LRU\nlist).\nDepending on the software bits of a pte, it is either inserted into\nboth page tables or just into the standard (data) page table. Pages of\na vma that does not have the VM_EXEC bit set get mapped only in the\ndata address space. Any try to execute code on such a page will cause a\npage translation exception. The standard reaction to this is a SIGSEGV\nwith two exceptions: the two system call opcodes 0x0a77 (sys_sigreturn)\nand 0x0aad (sys_rt_sigreturn) are allowed. They are stored by the\nkernel to the signal stack frame. Unfortunately, the signal return\nmechanism cannot be modified to use an SA_RESTORER because the\nexception unwinding code depends on the system call opcode stored\nbehind the signal stack frame.\n\nThis feature requires that user space is executed in secondary-space\nmode and the kernel in home-space mode, which means that the addressing\nmodes need to be switched and that the noexec protection only works\nfor user space.\nAfter switching the addressing modes, we cannot use the mvcp/mvcs\ninstructions anymore to copy between kernel and user space. A new\nmvcos instruction has been added to the z9 EC/BC hardware which allows\nto copy between arbitrary address spaces, but on older hardware the\npage tables need to be walked manually.\n\nSigned-off-by: Gerald Schaefer \u003cgeraldsc@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "f7675ad791df4bec2b9d21bcc0f846320f0a921b",
      "tree": "cff815937b3f0d50845eddb697bcffcf13b5bb5d",
      "parents": [
        "feb5babead7f8058f0108ec59c3e7c2df666bd67"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Dec 04 15:39:55 2006 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Dec 04 15:39:55 2006 +0100"
      },
      "message": "[S390] Add __must_check to uaccess functions.\n\nFollow other architectures and add __must_check to uaccess functions.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "94c12cc7d196bab34aaa98d38521549fa1e5ef76",
      "tree": "8e0cec0ed44445d74a2cb5160303d6b4dfb1bc31",
      "parents": [
        "25d83cbfaa44e1b9170c0941c3ef52ca39f54ccc"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Sep 28 16:56:43 2006 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Sep 28 16:56:43 2006 +0200"
      },
      "message": "[S390] Inline assembly cleanup.\n\nMajor cleanup of all s390 inline assemblies. They now have a common\ncoding style. Quite a few have been shortened, mainly by using register\nasm variables. Use of the EX_TABLE macro helps  as well. The atomic ops,\nbit ops and locking inlines new use the Q-constraint if a newer gcc\nis used.  That results in slightly better code.\n\nThanks to Christian Borntraeger for proof reading the changes.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "6c2a9e6df60478e712f3c3d98b5047778a82a3d7",
      "tree": "6768eb3991f4f1616b211a21ccf1b8e27820ae79",
      "parents": [
        "d02765d1af743567398eb6d523dea0ba5e5e7e8e"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "geraldsc@de.ibm.com",
        "time": "Wed Sep 20 15:59:44 2006 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Sep 20 15:59:44 2006 +0200"
      },
      "message": "[S390] Use alternative user-copy operations for new hardware.\n\nThis introduces new user-copy operations which are optimized for\ncopying more than 256 Bytes on new hardware.\n\nSigned-off-by: Gerald Schaefer \u003cgeraldsc@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d02765d1af743567398eb6d523dea0ba5e5e7e8e",
      "tree": "9a39c21d9924a8d81ce85254cd3d013dbe50d23e",
      "parents": [
        "6837a8c352efcc5efc70424e9bfd94ff9bfa9a47"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "geraldsc@de.ibm.com",
        "time": "Wed Sep 20 15:59:42 2006 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Sep 20 15:59:42 2006 +0200"
      },
      "message": "[S390] Make user-copy operations run-time configurable.\n\nIntroduces a struct uaccess_ops which allows setting user-copy\noperations at run-time.\n\nSigned-off-by: Gerald Schaefer \u003cgeraldsc@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "97fa5a664e69f2fcdd2120e7f4765f8c1df56282",
      "tree": "8b8a2eb0be8e2a114d257476922915cca49558ca",
      "parents": [
        "8ef9cf318152d864d6694b19e655cbefa1e85256"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 03 20:11:52 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Feb 08 01:04:59 2006 -0500"
      },
      "message": "[PATCH] s390 __get_user() bogus warnings removal\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "793af244090ccb5f99091c5a999ce97e4d017834",
      "tree": "070649219443dde1e484718114515e425cb26628",
      "parents": [
        "6b2b4e5a26fe3795b1c6711cee0eae057844491d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Feb 01 06:55:59 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Feb 08 01:04:23 2006 -0500"
      },
      "message": "[PATCH] s390 misc __user annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a63a4931c301a14ca79c41fec0b99d898dbba1fb",
      "tree": "8d543006aadc1518c8bdb195f357d321b62b15da",
      "parents": [
        "56dc6a88ec76019e0d0729165cb5b98536270e1d"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Jan 06 00:19:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:49 2006 -0800"
      },
      "message": "[PATCH] s390: uaccess warnings\n\nConvert __access_ok to an inline C function and change __get_user primitive to\navoid uaccess compiler warnings.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1047aa7723997620ba03a21429d2c5d923ebf48f",
      "tree": "a0c5f4cf585833262e959d5d0c8be91ebb3932e0",
      "parents": [
        "cdb32dc90bd38503befd1f4d0b762a1ace09bb28"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Nov 07 00:59:11 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:34 2005 -0800"
      },
      "message": "[PATCH] s390: const pointer uaccess\n\nUsing __typeof__(*ptr) on a pointer to const makes the __x variable in\n__get_user const as well.  The latest gcc will refuse to write to it.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97de50c0add1e8f3b4e764c66a13c07235fee631",
      "tree": "161be1faee50800677bd01e1ca907cd135ffe0a0",
      "parents": [
        "5e5d7a22292613e55da8e91d75bcc062fd861f41"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Sep 06 15:17:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:35 2005 -0700"
      },
      "message": "[PATCH] remove verify_area(): remove verify_area() from various uaccess.h headers\n\nRemove the deprecated (and unused) verify_area() from various uaccess.h\nheaders.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "17566c3c5ed3ea8f941a135cf960387214c4f6ac",
      "tree": "6c00d5dbe93288439c54c4635326c13723588943",
      "parents": [
        "8032230694ec56c168a1404c67a54d281536cbed"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Tue Aug 23 22:48:22 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Aug 23 18:43:46 2005 -0700"
      },
      "message": "[PATCH] s390 __CHECKER__ ifdefs\n\nremove the bogus games with explicit ifdefs on __CHECKER__\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
