)]}'
{
  "log": [
    {
      "commit": "a8fc92778080c845eaadc369a0ecf5699a03bef0",
      "tree": "2d83a965c40765c52195e32a903bd8c7678f014d",
      "parents": [
        "96442e42429e5f268ab97a3586c7694a3acc55a7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Nov 01 02:01:48 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 11:17:15 2012 -0400"
      },
      "message": "sk-filter: Add ability to get socket filter program (v2)\n\nThe SO_ATTACH_FILTER option is set only. I propose to add the get\nability by using SO_ATTACH_FILTER in getsockopt. To be less\nirritating to eyes the SO_GET_FILTER alias to it is declared. This\nability is required by checkpoint-restore project to be able to\nsave full state of a socket.\n\nThere are two issues with getting filter back.\n\nFirst, kernel modifies the sock_filter-\u003ecode on filter load, thus in\norder to return the filter element back to user we have to decode it\ninto user-visible constants. Fortunately the modification in question\nis interconvertible.\n\nSecond, the BPF_S_ALU_DIV_K code modifies the command argument k to\nspeed up the run-time division by doing kernel_k \u003d reciprocal(user_k).\nBad news is that different user_k may result in same kernel_k, so we\ncan\u0027t get the original user_k back. Good news is that we don\u0027t have\nto do it. What we need to is calculate a user2_k so, that\n\n  reciprocal(user2_k) \u003d\u003d reciprocal(user_k) \u003d\u003d kernel_k\n\ni.e. if it\u0027s re-loaded back the compiled again value will be exactly\nthe same as it was. That said, the user2_k can be calculated like this\n\n  user2_k \u003d reciprocal(kernel_k)\n\nwith an exception, that if kernel_k \u003d\u003d 0, then user2_k \u003d\u003d 1.\n\nThe optlen argument is treated like this -- when zero, kernel returns\nthe amount of sock_fprog elements in filter, otherwise it should be\nlarge enough for the sock_fprog array.\n\nchanges since v1:\n* Declared SO_GET_FILTER in all arch headers\n* Added decode of vlan-tag codes\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0420c87e648a3b623ad925038a0bcff2ef5a4bc9",
      "tree": "795634046949ab11cd14215bf775c65f06cc3e2c",
      "parents": [
        "e4522fcb5a29ec55640082b445200e01d61e50ba"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Oct 17 12:32:07 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Oct 17 12:32:07 2012 +0100"
      },
      "message": "UAPI: Put a comment into uapi/asm-generic/kvm_para.h and use it from arches\n\nMake uapi/asm-generic/kvm_para.h non-empty by addition of a comment to stop\nthe patch program from deleting it when it creates it.\n\nThen delete empty arch-specific uapi/asm/kvm_para.h files and tell the Kbuild\nfiles to use the generic instead.\n\nShould this perhaps instead be a #warning or #error that the facility is\nunsupported on this arch?\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\ncc: Arnd Bergmann \u003carnd@arndb.de\u003e\ncc: Avi Kivity \u003cavi@redhat.com\u003e\ncc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\ncc: kvm@vger.kernel.org\n"
    },
    {
      "commit": "8a1ab3155c2ac7fbe5f2038d6e26efeb607a1498",
      "tree": "42ef93e164b8b2a01adab30db4b33f370f4280d7",
      "parents": [
        "f3dfd599af993385b40fc7a1c947afc12729bc4d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 04 18:20:15 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 04 18:20:15 2012 +0100"
      },
      "message": "UAPI: (Scripted) Disintegrate include/asm-generic\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "494b3e1c492c29f01eec69f5492aedba6c0ae577",
      "tree": "bfd0ed3bf52a226458eaa15d5f6da2c85492dc9c",
      "parents": [
        "c0522b6cc1237c935b2cead3fa7b45465df2f839"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 02 18:01:56 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 02 18:01:56 2012 +0100"
      },
      "message": "UAPI: Set up uapi/asm/Kbuild.asm\n\nSet up uapi/asm/Kbuild.asm.  This requires the mandatory headers to be\ndynamically detected.  The same goes for include/asm/Kbuild.asm.  The problem\nis that the header files will be split or moved one at a time, but each header\nfile in Kbuild.asm\u0027s list applies to all arch headers of that name\nsimultaneously.\n\nThe dynamic detection of mandatory files can be undone later.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "4413e16d9d21673bb5048a2e542f1aaa00015c2e",
      "tree": "603b591283d5d5025840832a2987cfa3167cb794",
      "parents": [
        "abbf1590de22a6d2240a59383477da50d1402f6a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 02 18:01:35 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 02 18:01:35 2012 +0100"
      },
      "message": "UAPI: (Scripted) Set up UAPI Kbuild files\n\nSet up empty UAPI Kbuild files to be populated by the header splitter.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    }
  ]
}
