)]}'
{
  "log": [
    {
      "commit": "27ac792ca0b0a1e7e65f20342260650516c95864",
      "tree": "8e0bc93612da0803fe12303ccb75c837cd633c83",
      "parents": [
        "d92bc318547507a944a22e7ef936793dc0fe167f"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Wed Jul 23 21:28:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures\n\nOn 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit\nboundary. For example:\n\n\tu64 val \u003d PAGE_ALIGN(size);\n\nalways returns a value \u003c 4GB even if size is greater than 4GB.\n\nThe problem resides in PAGE_MASK definition (from include/asm-x86/page.h for\nexample):\n\n#define PAGE_SHIFT      12\n#define PAGE_SIZE       (_AC(1,UL) \u003c\u003c PAGE_SHIFT)\n#define PAGE_MASK       (~(PAGE_SIZE-1))\n...\n#define PAGE_ALIGN(addr)       (((addr)+PAGE_SIZE-1)\u0026PAGE_MASK)\n\nThe \"~\" is performed on a 32-bit value, so everything in \"and\" with\nPAGE_MASK greater than 4GB will be truncated to the 32-bit boundary.\nUsing the ALIGN() macro seems to be the right way, because it uses\ntypeof(addr) for the mask.\n\nAlso move the PAGE_ALIGN() definitions out of include/asm-*/page.h in\ninclude/linux/mm.h.\n\nSee also lkml discussion: http://lkml.org/lkml/2008/6/11/237\n\n[akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c]\n[akpm@linux-foundation.org: fix v850]\n[akpm@linux-foundation.org: fix powerpc]\n[akpm@linux-foundation.org: fix arm]\n[akpm@linux-foundation.org: fix mips]\n[akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c]\n[akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c]\n[akpm@linux-foundation.org: fix powerpc]\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4",
      "tree": "23a31763887d9505e62e9d7cc8ec2fa4b86bd380",
      "parents": [
        "13214adf738abc92b0a00c0763fd3be79eebaa7c"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Feb 08 04:22:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:42 2008 -0800"
      },
      "message": "CONFIG_HIGHPTE vs. sub-page page tables.\n\nBackground: I\u0027ve implemented 1K/2K page tables for s390.  These sub-page\npage tables are required to properly support the s390 virtualization\ninstruction with KVM.  The SIE instruction requires that the page tables\nhave 256 page table entries (pte) followed by 256 page status table entries\n(pgste).  The pgstes are only required if the process is using the SIE\ninstruction.  The pgstes are updated by the hardware and by the hypervisor\nfor a number of reasons, one of them is dirty and reference bit tracking.\nTo avoid wasting memory the standard pte table allocation should return\n1K/2K (31/64 bit) and 2K/4K if the process is using SIE.\n\nProblem: Page size on s390 is 4K, page table size is 1K or 2K.  That means\nthe s390 version for pte_alloc_one cannot return a pointer to a struct\npage.  Trouble is that with the CONFIG_HIGHPTE feature on x86 pte_alloc_one\ncannot return a pointer to a pte either, since that would require more than\n32 bit for the return value of pte_alloc_one (and the pte * would not be\naccessible since its not kmapped).\n\nSolution: The only solution I found to this dilemma is a new typedef: a\npgtable_t.  For s390 pgtable_t will be a (pte *) - to be introduced with a\nlater patch.  For everybody else it will be a (struct page *).  The\nadditional problem with the initialization of the ptl lock and the\nNR_PAGETABLE accounting is solved with a constructor pgtable_page_ctor and\na destructor pgtable_page_dtor.  The page table allocation and free\nfunctions need to call these two whenever a page table page is allocated or\nfreed.  pmd_populate will get a pgtable_t instead of a struct page pointer.\n To get the pgtable_t back from a pmd entry that has been installed with\npmd_populate a new function pmd_pgtable is added.  It replaces the pmd_page\ncall in free_pte_range and apply_to_pte_range.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "516c25a86f6bdad77ded01a43c52c5569c8d690c",
      "tree": "e7404e73fd103f70958ccb1bc1c74ff1c7ff48bf",
      "parents": [
        "c1445db9f72db0537c43a2eab6e1b0f6741162f5"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Cleanup asm/{elf,page,user}.h: #ifdef __KERNEL__ is no longer needed\n\nasm/elf.h, asm/page.h and asm/user.h don\u0027t export to userspace now, so we can\ndrop #ifdef __KERNEL__ for them.\n\n[k.shutemov@gmail.com: remove #ifdef __KERNEL_]\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c5900b2d669c7aac1e5b3e8bb8e331a0e6cff61",
      "tree": "a274e1869e45286f9af45ff631375ca05416cbd6",
      "parents": [
        "82b12e232d2a71f566dca48df4ae4548e6d8d53d"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "olsajiri@gmail.com",
        "time": "Mon Feb 04 22:29:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "frv: remove dead config symbol from FRV code\n\nRemove dead config symbol from FRV code.\n\nSigned-off-by: Jiri Olsa \u003colsajiri@gmail.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7bc537db9e13adee1f294aa370f16d80f40b73d",
      "tree": "23d7c8f6c66c197faa869055a6fc5e4edb3fa6ee",
      "parents": [
        "190ff5b3a168b666925897558998b5d97fec8731"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Feb 01 13:08:45 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 01 16:17:05 2007 -0800"
      },
      "message": "[PATCH] fix frv headers_check\n\na) registers.h is really needed there\nb) include of asm-generic/termios should be under __KERNEL__\nc) includes of asm-generic/{memory_model,page} should be under\n   __KERNEL (nothing in there that would work in userland)\nd) a lot of stuff in ptrace.h should be under __KERNEL__.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "5cdac7ca1b727184b1af21effaffcb9e2cd535c2",
      "tree": "4b148f7b09809f377cb896b24648f978cddf63bb",
      "parents": [
        "bb872f787a9b6a40a4aa206175e768137f595d9c"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:45 2006 -0800"
      },
      "message": "[PATCH] unify pfn_to_page: FRV pfn_to_page\n\nFRV can use generic funcs.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8080f231224ccd3169f39e73fd750ba98d5b98a7",
      "tree": "e86762b01f248dbf735e786783d3d9eb0e7c9950",
      "parents": [
        "c13cf856cbe16aec3007604dc013cbf3a16c6686"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Nov 28 13:43:51 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:42:23 2005 -0800"
      },
      "message": "[PATCH] FRV: Make the FRV arch work again\n\nThe attached patch implements a bunch of small changes to the FRV arch to\nmake it work again.\n\nIt deals with the following problems:\n\n (1) SEM_DEBUG should be SEMAPHORE_DEBUG.\n\n (2) The argument list to pcibios_penalize_isa_irq() has changed.\n\n (3) CONFIG_HIGHMEM can\u0027t be used directly in #if as it may not be defined.\n\n (4) page-\u003eprivate is no longer directly accessible.\n\n (5) linux/hardirq.h assumes asm/hardirq.h will include linux/irq.h\n\n (6) The IDE MMIO access functions are given pointers, not integers, and so\n     get type casting errors.\n\n (7) __pa() is passed an explicit u64 type in drivers/char/mem.c, but that\n     can\u0027t be cast directly to a pointer on a 32-bit platform.\n\n (8) SEMAPHORE_DEBUG should not be contingent on WAITQUEUE_DEBUG as that no\n     longer exists.\n\n (9) PREEMPT_ACTIVE is too low a value.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd4fd5aac1282825195c6816ed40a2a6d42db5bf",
      "tree": "5908cf4c88a7c9d69ea7bdc1c354d51b6ff47f86",
      "parents": [
        "28ae55c98e4d16eac9a05a8a259d7763ef3aeb18"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sat Sep 03 15:54:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:39 2005 -0700"
      },
      "message": "[PATCH] mm: consolidate get_order\n\nSomeone mentioned that almost all the architectures used basically the same\nimplementation of get_order.  This patch consolidates them into\nasm-generic/page.h and includes that in the appropriate places.  The\nexceptions are ia64 and ppc which have their own (presumably optimised)\nversions.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "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"
    }
  ]
}
