)]}'
{
  "log": [
    {
      "commit": "838cd153a5250a79a302f6c5d68a4794b70c4ccb",
      "tree": "9122d37d7521c9345779aa84e2ca8d754d997475",
      "parents": [
        "92eeccd8badbfebe12383b6e5326b27dc707601d"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sun Jun 25 05:48:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:15 2006 -0700"
      },
      "message": "[PATCH] N32 sigset and __COMPAT_ENDIAN_SWAP__\n\nI\u0027m testing glibc on MIPS64, little-endian, N32, O32 and N64 multilibs.\n\nAmong the NPTL test failures seen are some arising from sigsuspend problems\nfor N32: it blocks the wrong signals, so SIGCANCEL (SIGRTMIN) is blocked\ndespite glibc\u0027s carefully excluding it from sets of signals to block.\nSpecifically, testing suggests it blocks signal N^32 instead of signal N,\nso (in the example tested) blocking SIGUSR1 (17) blocks signal 49 instead.\n\nglibc\u0027s sigset_t uses an array of unsigned long, as does the kernel.\nIn both cases, signal N+1 is represented as\n(1UL \u003c\u003c (N % (8 * sizeof (unsigned long)))) in word number\n(N / (8 * sizeof (unsigned long))).\n\nThus the N32 glibc uses an array of 32-bit words and the N64 kernel uses an\narray of 64-bit words.  For little-endian, the layout is the same, with\nsignals 1-32 in the first 4 bytes, signals 33-64 in the second, etc.; for\nbig-endian, userspace has that layout while in the kernel each 8 bytes have\nthe two halves swapped from the userspace layout.\n\nThe N32 sigsuspend syscall uses sigset_from_compat to convert the userspace\nsigset to kernel format.  If __COMPAT_ENDIAN_SWAP__ is *not* set, this uses\nlogic of the form\n\n  set-\u003esig[0] \u003d compat-\u003esig[0] | (((long)compat-\u003esig[1]) \u003c\u003c 32 )\n\nto convert the userspace sigset to a kernel one.  This looks correct to me\nfor both big and little endian, given that in userspace compat-\u003esig[1] will\nrepresent signals 33-64, and so will the high 32 bits of set-\u003esig[0] in the\nkernel.  If however __COMPAT_ENDIAN_SWAP__ *is* set, as it is for\n__MIPSEL__, it uses\n\n  set-\u003esig[0] \u003d compat-\u003esig[1] | (((long)compat-\u003esig[0]) \u003c\u003c 32 );\n\nwhich seems incorrect for both big and little endian, and would\nexplain the observed symptoms.\n\nThis code is the only use of __COMPAT_ENDIAN_SWAP__, so if incorrect\nthen that macro serves no purpose, in which case something like the\nfollowing patch would seem appropriate to remove it.\n\nSigned-off-by: Joseph Myers \u003cjoseph@codesourcery.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62ac285f3c701f0457a15fe01baa64a965c4f5f1",
      "tree": "e65539e7824ca902c42723216f5725711c9968ac",
      "parents": [
        "213b63b76a823e622d87df623aaec1119acaeaa0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 27 01:16:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:49 2006 -0800"
      },
      "message": "[PATCH] mips: add ptr_to_compat()\n\nAdd ptr_to_compat() - needed by the new robust futex code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: 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": "219ac73a7ad17a3ae3d5c07b4fc8c280645a073a",
      "tree": "debe814488e9e36ac0870f2c97af23d229a2570e",
      "parents": [
        "b1bcb362d921f5e46a3bec0c7a73c32abfe74db2"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Tue Feb 21 16:05:11 2006 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Mar 21 13:27:46 2006 +0000"
      },
      "message": "[MIPS] Further sparsification for 32-bit compat code.\n    \nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "4ee1303a787434d4994ae68d028ca025e339b434",
      "tree": "66257cd009cffbed390c89c24ecd550134ad713a",
      "parents": [
        "b4f8c4230708711c3b12c095cf6a59e6d06a183d"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Oct 29 19:32:40 2005 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Oct 29 19:32:40 2005 +0100"
      },
      "message": "2.6.14-rc1 updates for MIPS compat types.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "202e5979af4d91c7ca05892641131dee22653259",
      "tree": "ba8443571add62bc93d29c1f6a3575381cccd167",
      "parents": [
        "8dbfc5cfdcac04d656f6f6789eb8fcdcc3d2dfda"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Sep 06 15:16:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:19 2005 -0700"
      },
      "message": "[PATCH] compat: be more consistent about [ug]id_t\n\nWhen I first wrote the compat layer patches, I was somewhat cavalier about\nthe definition of compat_uid_t and compat_gid_t (or maybe I just\nmisunderstood :-)).  This patch makes the compat types much more consistent\nwith the types we are being compatible with and hopefully will fix a few\nbugs along the way.\n\n\tcompat type\t\ttype in compat arch\n\t__compat_[ug]id_t\t__kernel_[ug]id_t\n\t__compat_[ug]id32_t\t__kernel_[ug]id32_t\n\tcompat_[ug]id_t\t\t[ug]id_t\n\nThe difference is that compat_uid_t is always 32 bits (for the archs we\ncare about) but __compat_uid_t may be 16 bits on some.\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": "0d77e5a2c23da734f5a7925f64afa1c2ed92e0f9",
      "tree": "1696bd7881e36381b9cdaafe713c413202727228",
      "parents": [
        "fa912bcb06d5dc9525d8912a145db2bf4b7668c5"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu Jun 23 00:10:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:32 2005 -0700"
      },
      "message": "[PATCH] compat: introduce compat_time_t\n\nThis patch is based on work by Carlos O\u0027Donell and Matthew Wilcox.  It\nintroduces/updates the compat_time_t type and uses it for compat siginfo\nstructures.  I have built this on ppc64 and x86_64.\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"
    }
  ]
}
