)]}'
{
  "log": [
    {
      "commit": "39082f7e5912cdc70f9ab0767e7342711f34b9f8",
      "tree": "e423ae99ef82b949e52ef4b600c2fc90994fec4d",
      "parents": [
        "e562966dbaf49e7804097cd991e5d3a8934fc148"
      ],
      "author": {
        "name": "Jacek Galowicz",
        "email": "jacek@galowicz.de",
        "time": "Thu Jan 12 15:44:47 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:47 2012 +1030"
      },
      "message": "lguest: switch segment-voodoo-numbers to readable symbols\n\nWhen studying lguest\u0027s x86 segment descriptor code, it is not longer\nnecessary to have the Intel x86 architecture manual open on the page\nwith the segment descriptor illustration to understand the crazy\nnumbers assigned to both descriptor structure halves a/b.\nNow the struct desc_struct\u0027s fields, like suggested by\nGlauber de Oliveira Costa in 2008, are used.\n\nSigned-off-by: Jacek Galowicz \u003cjacek@galowicz.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3e27249c84beed1c79d767b350e52ad038db9053",
      "tree": "56fbbd5e952c4b01649c5b4f84dc7ce135cdc6ee",
      "parents": [
        "741f21e811752b440c505bf0149c4d16e9f3160d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 04 19:26:14 2010 +1030"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 04 12:33:33 2010 -0800"
      },
      "message": "lguest: fix bug in setting guest GDT entry\n\nWe kill the guest, but then we blatt random stuff.\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e04ef76916d1e29a077ea9d0f2003c8fd86724d",
      "tree": "2ff8d625d6e467be9f9f1b67a3674cb6e125e970",
      "parents": [
        "e969fed542cae08cb11d666efac4f7c5d624d09f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 30 16:03:45 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 30 16:03:45 2009 +0930"
      },
      "message": "lguest: fix comment style\n\nI don\u0027t really notice it (except to begrudge the extra vertical\nspace), but Ingo does.  And he pointed out that one excuse of lguest\nis as a teaching tool, it should set a good example.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "81b79b01d057f8c5a378c38d2f738775b972934a",
      "tree": "0e2c295109568916e187a65e6d93a3319bbb51a9",
      "parents": [
        "2644f17d6c932929fd68cfec95691490947e0fd1"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed May 20 01:45:45 2009 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:04 2009 +0930"
      },
      "message": "lguest: beyond ARRAY_SIZE of cpu-\u003earch.gdt\n\nDo not go beyond ARRAY_SIZE of cpu-\u003earch.gdt\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a489f0b555b753f9df8ddc24c7e74f657ef7ee7b",
      "tree": "560bd8c56524b658eb0b46e03ef42e262eb5f9b7",
      "parents": [
        "88df781afb788fa588dbf2e77f205214022a8893"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Apr 19 23:14:00 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Apr 19 23:14:01 2009 +0930"
      },
      "message": "lguest: fix guest crash on non-linear addresses in gdt pvops\n\nFixes guest crash \u0027lguest: bad read address 0x4800000 len 256\u0027\n\nThe new per-cpu allocator ends up handing a non-linear address to\nwrite_gdt_entry.  We do __pa() on it, and hand it to the host, which\nkills us.\n\nI\u0027ve long wanted to make the hypercall \"LOAD_GDT_ENTRY\" to match the IDT\ncode, but had no pressing reason until now.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: lguest@ozlabs.org\n"
    },
    {
      "commit": "df1693abc42e34bbc4351e179dbe66c28a94efb8",
      "tree": "b0cec44a3ace1fbc8377c73428daf64848b48907",
      "parents": [
        "4cd8b5e2a159f18a1507f1187b44a1acbfa6341b"
      ],
      "author": {
        "name": "Matias Zabaljauregui",
        "email": "zabaljauregui@gmail.com",
        "time": "Wed Mar 18 13:38:35 2009 -0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 30 21:55:25 2009 +1030"
      },
      "message": "lguest: use bool instead of int\n\nImpact: clean up\n\nRusty told me, some time ago, that he had become a fan of \"bool\".\nSo, here are some replacements.\n\nSigned-off-by: Matias Zabaljauregui \u003czabaljauregui at gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "382ac6b3fbc0ea6a5697fc6caaf7e7de12fa8b96",
      "tree": "bdda012251f29775b2e1201f3b2b3e38c4680f42",
      "parents": [
        "934faab464c6a26ed1a226b6cf7111b35405dde1"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Thu Jan 17 19:19:42 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:18 2008 +1100"
      },
      "message": "lguest: get rid of lg variable assignments\n\nWe can save some lines of code by getting rid of\n*lg \u003d cpu... lines of code spread everywhere by now.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ae3749dcd8c31dcfbab14ea28c68a944c93f418f",
      "tree": "bdbbe9207bb7c50e9aeb7afc5b5653b79501c03f",
      "parents": [
        "f34f8c5fea079065671163c37d98328cff31980b"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Thu Jan 17 19:14:46 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:17 2008 +1100"
      },
      "message": "lguest: move changed bitmap to lg_cpu\n\nevents represented in the \u0027changed\u0027 bitmap are per-cpu, not per-guest.\nmove it to the lg_cpu structure\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "fc708b3e407dfd2e12ba9a6cf35bd0bffad1796d",
      "tree": "e9a6df9c9b8cf4077c98198c3f5d3bc6dc991c0f",
      "parents": [
        "a53a35a8b485b9c16b73e5177bddaa4321971199"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:33 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:11 2008 +1100"
      },
      "message": "lguest: replace lguest_arch with lg_cpu_arch.\n\nThe fields found in lguest_arch are not really per-guest,\nbut per-cpu (gdt, idt, etc). So this patch turns lguest_arch\ninto lg_cpu_arch.\n\nIt makes sense to have a per-guest per-arch struct, but this\ncan be addressed later, when the need arrives.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e1e72965ec2c02db99b415cd06c17ea90767e3a4",
      "tree": "94e43aac35bdc33220e64f285b72b3b2b787fd57",
      "parents": [
        "568a17ffce2eeceae0cd9fc37e97cbad12f70278"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 15:02:50 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 15:02:50 2007 +1000"
      },
      "message": "lguest: documentation update\n\nWent through the documentation doing typo and content fixes.  This\npatch contains only comment and whitespace changes.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n\n"
    },
    {
      "commit": "2d37f94a28170ca656438758fca577acb49a7932",
      "tree": "21049219a98d314a2c442293e512b74d879e6270",
      "parents": [
        "56ae43dfe233323683248a5c553bad7160db2fa5"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:24:24 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:56 2007 +1000"
      },
      "message": "generalize lgread_u32/lgwrite_u32.\n\nJes complains that page table code still uses lgread_u32 even though\nit now uses general kernel pte types.  The best thing to do is to\ngeneralize lgread_u32 and lgwrite_u32.\n\nThis means we lose the efficiency of getuser().  We could potentially\nregain it if we used __copy_from_user instead of copy_from_user, but\nI\u0027m not certain that our range check is equivalent to access_ok() on\nall platforms.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Jes Sorensen \u003cjes@sgi.com\u003e\n"
    },
    {
      "commit": "625efab1cd3d4da4634dfe26df6b4005385397e2",
      "tree": "e08cd714edece430ae8a8aef894adfadbccc064a",
      "parents": [
        "56adbe9ddc935600c64635d6a55c260a63c67e4a"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Oct 22 11:03:28 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:51 2007 +1000"
      },
      "message": "Move i386 part of core.c to x86/core.c.\n\nSeparate i386 architecture specific from core.c and move it to\nx86/core.c and add x86/lguest.h header file to match.\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0d027c01cd36b8cff727c78d2e40d334ba9895a8",
      "tree": "21dde51409ab83cbb3ce7200393b3a0acb76388d",
      "parents": [
        "37250097e1b730c30da1790e354c0da65e617043"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Aug 09 20:57:13 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Aug 09 08:14:56 2007 -0700"
      },
      "message": "lguest: Fix Malicious Guest GDT Host Crash\n\nIf a Guest makes hypercall which sets a GDT entry to not present, we\ncurrently set any segment registers using that GDT entry to 0.\nUnfortunately, this is not sufficient: there are other ways of\naltering GDT entries which will cause a fault.\n\nThe correct solution to do what Linux does: let them set any GDT value\nthey want and handle the #GP when popping causes a fault.  This has\nthe added benefit of making our Switcher slightly more robust in the\ncase of any other bugs which cause it to fault.\n\nWe kill the Guest if it causes a fault in the Switcher: it\u0027s the\nGuest\u0027s responsibility to make sure it\u0027s not using segments when it\nchanges them.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f56a384e98aa81065038c4e16f39ed989ccae687",
      "tree": "923bcaabd76a88351fe5e61370143350747a90c4",
      "parents": [
        "f8f0fdcd40449d318f8dc30c1b361b0b7f54134a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 26 10:41:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:35:17 2007 -0700"
      },
      "message": "lguest: documentation VII: FIXMEs\n\nDocumentation: The FIXMEs\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bff672e630a015d5b54c8bfb16160b7edc39a57c",
      "tree": "3af06baacb76809234a3e71033d14b7ed769dbd8",
      "parents": [
        "dde797899ac17ebb812b7566044124d785e98dc7"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 26 10:41:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:35:17 2007 -0700"
      },
      "message": "lguest: documentation V: Host\n\nDocumentation: The Host\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f938d2c892db0d80d144253d4a7b7083efdbedeb",
      "tree": "1fbc946a9fb59827001a5d4d5224abe5e624e605",
      "parents": [
        "dfb68689bf3e3d31dc9fb5c2bde5379a4ca9b0ec"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 26 10:41:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:35:16 2007 -0700"
      },
      "message": "lguest: documentation I: Preparation\n\nThe netfilter code had very good documentation: the Netfilter Hacking HOWTO.\nNoone ever read it.\n\nSo this time I\u0027m trying something different, using a bit of Knuthiness.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7e28ffe6c74416b54345d6004fd0964c115b12c",
      "tree": "844beb4f400d5400098538e0c1e5f12d20a9504a",
      "parents": [
        "07ad157f6e5d228be78acd5cea0291e5d0360398"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 19 01:49:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "lguest: the host code\n\nThis is the code for the \"lg.ko\" module, which allows lguest guests to\nbe launched.\n\n[akpm@linux-foundation.org: update for futex-new-private-futexes]\n[akpm@linux-foundation.org: build fix]\n[jmorris@namei.org: lguest: use hrtimers]\n[akpm@linux-foundation.org: x86_64 build fix]\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
