)]}'
{
  "log": [
    {
      "commit": "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6",
      "tree": "3bab868d1db85521932b77897983e7c673f7a669",
      "parents": [
        "a137802ee839ace40079bebde24cfb416f73208a"
      ],
      "author": {
        "name": "Julien Tinnes",
        "email": "jt@cr0.org",
        "time": "Fri Jun 26 20:27:40 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:21:33 2009 -0700"
      },
      "message": "personality: fix PER_CLEAR_ON_SETID\n\nWe have found that the current PER_CLEAR_ON_SETID mask on Linux doesn\u0027t\ninclude neither ADDR_COMPAT_LAYOUT, nor MMAP_PAGE_ZERO.\n\nThe current mask is READ_IMPLIES_EXEC|ADDR_NO_RANDOMIZE.\n\nWe believe it is important to add MMAP_PAGE_ZERO, because by using this\npersonality it is possible to have the first page mapped inside a\nprocess running as setuid root.  This could be used in those scenarios:\n\n - Exploiting a NULL pointer dereference issue in a setuid root binary\n - Bypassing the mmap_min_addr restrictions of the Linux kernel: by\n   running a setuid binary that would drop privileges before giving us\n   control back (for instance by loading a user-supplied library), we\n   could get the first page mapped in a process we control.  By further\n   using mremap and mprotect on this mapping, we can then completely\n   bypass the mmap_min_addr restrictions.\n\nLess importantly, we believe ADDR_COMPAT_LAYOUT should also be added\nsince on x86 32bits it will in practice disable most of the address\nspace layout randomization (only the stack will remain randomized).\n\nSigned-off-by: Julien Tinnes \u003cjt@cr0.org\u003e\nSigned-off-by: Tavis Ormandy \u003ctaviso@sdf.lonestar.org\u003e\nCc: stable@kernel.org\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Kees Cook \u003ckees@ubuntu.com\u003e\nAcked-by: Eugene Teo \u003ceugene@redhat.com\u003e\n[ Shortened lines and fixed whitespace as per Christophs\u0027 suggestion ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ecd0fa9825a1270e31fb48bc9edcfb28918b6c51",
      "tree": "249577a09b7028f75264c31673ab4999e2a92cda",
      "parents": [
        "6e5e8c5085190b30b6fa42a4b75a88c10846b5f2"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Apr 29 00:59:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:02 2008 -0700"
      },
      "message": "Remove the macro get_personality\n\nRemove the macro get_personality, use -\u003epersonality instead.\n\nCc: Christoph Hellwig \u003chch@infradead.org\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@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": "d8b295f29091310d746509bb6d5828aaf4907a18",
      "tree": "db49c0b071d744e7687723c5ae45cf1b02640b97",
      "parents": [
        "e40c67597eac7a0b0e676867517b01a5a57f7b4b"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Fri Nov 10 12:27:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 13 07:40:42 2006 -0800"
      },
      "message": "[PATCH] Fix missing parens in set_personality()\n\nIf you call set_personality() with an expression such as:\n\n\tset_personality(foo ? PERS_FOO1 : PERS_FOO2);\n\nthen this evaluates to:\n\n\t((current-\u003epersonality \u003d\u003d foo ? PERS_FOO1 : PERS_FOO2) ? ...\n\nwhich is obviously not the intended result.  Add the missing parents\nto ensure this gets evaluated as expected:\n\n\t((current-\u003epersonality \u003d\u003d (foo ? PERS_FOO1 : PERS_FOO2)) ? ...\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "34e856e6a522a8fc0feba7497f5b05aeaa13d473",
      "tree": "a6b0199f4f7a2e36ca4a8ff851b93b633344eea1",
      "parents": [
        "3fcfab16c5b86eaa3db3a9a31adba550c5b67141"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Oct 19 23:28:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:35 2006 -0700"
      },
      "message": "[PATCH] Make \u003clinux/personality.h\u003e userspace proof\n\n\u003clinux/personality.h\u003e contains the constants for personality(2) but also\nsome defintions that are useless or even harmful in userspace such as the\npersonality() macro.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\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"
    }
  ]
}
