)]}'
{
  "log": [
    {
      "commit": "42908c69f61f75dd70e424263ab89ee52040382b",
      "tree": "7c4333d2159d19cb33ae18f718259df258d7d137",
      "parents": [
        "be666e0a1345ed80f29cb30c73da0ec2ea5c5863"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Tue Apr 29 03:23:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 29 03:23:22 2008 -0700"
      },
      "message": "net: Add compat support for getsockopt (MCAST_MSFILTER)\n\nThis patch adds support for getsockopt for MCAST_MSFILTER for\nboth IPv4 and IPv6. It depends on the previous setsockopt patch,\nand uses the same method.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be666e0a1345ed80f29cb30c73da0ec2ea5c5863",
      "tree": "46a29aa49e2357a3c1c69a39d9789a16c568fe9d",
      "parents": [
        "2ad17defd596ca7e8ba782d5fc6950ee0e99513c"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Tue Apr 29 03:23:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 29 03:23:00 2008 -0700"
      },
      "message": "net: Several cleanups for the setsockopt compat support.\n\n1) added missing \"__user\" for kgsr and kgf pointers\n2) verify read for only GROUP_FILTER_SIZE(0). The group_filter\n        structure definition (via RFC) includes space for one source\n        in the source list array, but that source need not be present.\n        So, sizeof(group_filter) \u003e GROUP_FILTER_SIZE(0). Fixed\n        the user read-check for minimum length to use the smaller size.\n3) remove unneeded \"\u0026\" for gf_slist addresses\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dae50295488f35d2d617b08a5fae43154c947eec",
      "tree": "afee67a0e85f4a168e0bb75423f1b703f48baad3",
      "parents": [
        "01a2202c95989a4df48e9a5b5e013cb80c6b2d66"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Sun Apr 27 01:06:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 27 14:26:53 2008 -0700"
      },
      "message": "ipv4/ipv6 compat: Fix SSM applications on 64bit kernels.\n\nAdd support on 64-bit kernels for seting 32-bit compatible MCAST*\nsocket options.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3bc3fe5eed5e866c0871db6d745f3bf58af004ef",
      "tree": "01c1906660209aeebd21307d61b5078d37e5baed",
      "parents": [
        "d924357c50d83e76d30dd5b81b5804815a2ae31c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Dec 17 21:50:37 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:36 2008 -0800"
      },
      "message": "[NETFILTER]: ip6_tables: add compat support\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6e23ae2a48750bda407a4a58f52a4865d7308bf5",
      "tree": "633fd60b2a42bf6fdb86564f0c05a6d52d8dc92b",
      "parents": [
        "1bf06cd2e338fd6fc29169d30eaf0df982338285"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Nov 19 18:53:30 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:55 2008 -0800"
      },
      "message": "[NETFILTER]: Introduce NF_INET_ hook values\n\nThe IPv4 and IPv6 hook values are identical, yet some code tries to figure\nout the \"correct\" value by looking at the address family. Introduce NF_INET_*\nvalues for both IPv4 and IPv6. The old values are kept in a #ifndef __KERNEL__\nsection for userspace compatibility.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ac70e7ad24a88710cf9b6d7ababaefa2b575df0",
      "tree": "175202f238aca605bf916f4871bc7ce04eebddc7",
      "parents": [
        "c5c0f33d8e5b1219c86757e6afffd6f96823e521"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Dec 20 14:36:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 20 14:36:44 2007 -0800"
      },
      "message": "[NET]: Fix function put_cmsg() which may cause usr application memory overflow\n\nWhen used function put_cmsg() to copy kernel information to user \napplication memory, if the memory length given by user application is \nnot enough, by the bad length calculate of msg.msg_controllen, \nput_cmsg() function may cause the msg.msg_controllen to be a large \nvalue, such as 0xFFFFFFF0, so the following put_cmsg() can also write \ndata to usr application memory even usr has no valid memory to store \nthis. This may cause usr application memory overflow.\n\nint put_cmsg(struct msghdr * msg, int level, int type, int len, void *data)\n{\n    struct cmsghdr __user *cm\n        \u003d (__force struct cmsghdr __user *)msg-\u003emsg_control;\n    struct cmsghdr cmhdr;\n    int cmlen \u003d CMSG_LEN(len);\n    ~~~~~~~~~~~~~~~~~~~~~\n    int err;\n\n    if (MSG_CMSG_COMPAT \u0026 msg-\u003emsg_flags)\n        return put_cmsg_compat(msg, level, type, len, data);\n\n    if (cm\u003d\u003dNULL || msg-\u003emsg_controllen \u003c sizeof(*cm)) {\n        msg-\u003emsg_flags |\u003d MSG_CTRUNC;\n        return 0; /* XXX: return error? check spec. */\n    }\n    if (msg-\u003emsg_controllen \u003c cmlen) {\n    ~~~~~~~~~~~~~~~~~~~~~~~~\n        msg-\u003emsg_flags |\u003d MSG_CTRUNC;\n        cmlen \u003d msg-\u003emsg_controllen;\n    }\n    cmhdr.cmsg_level \u003d level;\n    cmhdr.cmsg_type \u003d type;\n    cmhdr.cmsg_len \u003d cmlen;\n\n    err \u003d -EFAULT;\n    if (copy_to_user(cm, \u0026cmhdr, sizeof cmhdr))\n        goto out;\n    if (copy_to_user(CMSG_DATA(cm), data, cmlen - sizeof(struct cmsghdr)))\n        goto out;\n    cmlen \u003d CMSG_SPACE(len);\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n    If MSG_CTRUNC flags is set, msg-\u003emsg_controllen is less than \nCMSG_SPACE(len), \"msg-\u003emsg_controllen -\u003d cmlen\" will cause unsinged int \ntype msg-\u003emsg_controllen to be a large value.\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n    msg-\u003emsg_control +\u003d cmlen;\n    msg-\u003emsg_controllen -\u003d cmlen;\n    ~~~~~~~~~~~~~~~~~~~~~\n    err \u003d 0;\nout:\n    return err;\n}\n\nThe same promble exists in put_cmsg_compat(). This patch can fix this \nproblem.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a19542e5f694cd408a32c3d9dc593ba9366e2d7",
      "tree": "12f5fd603b516b4e24ec4850d5589273d24be569",
      "parents": [
        "f23513e8d96cf5e6cf8d2ff0cb5dd6bbc33995e4"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Sun Jul 15 23:40:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "O_CLOEXEC for SCM_RIGHTS\n\nPart two in the O_CLOEXEC saga: adding support for file descriptors received\nthrough Unix domain sockets.\n\nThe patch is once again pretty minimal, it introduces a new flag for recvmsg\nand passes it just like the existing MSG_CMSG_COMPAT flag.  I think this bit\nis not used otherwise but the networking people will know better.\n\nThis new flag is not recognized by recvfrom and recv.  These functions cannot\nbe used for that purpose and the asymmetry this introduces is not worse than\nthe already existing MSG_CMSG_COMPAT situations.\n\nThe patch must be applied on the patch which introduced O_CLOEXEC.  It has to\nremove static from the new get_unused_fd_flags function but since scm.c cannot\nlive in a module the function still hasn\u0027t to be exported.\n\nHere\u0027s a test program to make sure the code works.  It\u0027s so much longer than\nthe actual patch...\n\n#include \u003cerrno.h\u003e\n#include \u003cerror.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstring.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003csys/un.h\u003e\n\n#ifndef O_CLOEXEC\n# define O_CLOEXEC 02000000\n#endif\n#ifndef MSG_CMSG_CLOEXEC\n# define MSG_CMSG_CLOEXEC 0x40000000\n#endif\n\nint\nmain (int argc, char *argv[])\n{\n  if (argc \u003e 1)\n    {\n      int fd \u003d atol (argv[1]);\n      printf (\"child: fd \u003d %d\\n\", fd);\n      if (fcntl (fd, F_GETFD) \u003d\u003d 0 || errno !\u003d EBADF)\n        {\n          puts (\"file descriptor valid in child\");\n          return 1;\n        }\n      return 0;\n\n    }\n\n  struct sockaddr_un sun;\n  strcpy (sun.sun_path, \"./testsocket\");\n  sun.sun_family \u003d AF_UNIX;\n\n  char databuf[] \u003d \"hello\";\n  struct iovec iov[1];\n  iov[0].iov_base \u003d databuf;\n  iov[0].iov_len \u003d sizeof (databuf);\n\n  union\n  {\n    struct cmsghdr hdr;\n    char bytes[CMSG_SPACE (sizeof (int))];\n  } buf;\n  struct msghdr msg \u003d { .msg_iov \u003d iov, .msg_iovlen \u003d 1,\n                        .msg_control \u003d buf.bytes,\n                        .msg_controllen \u003d sizeof (buf) };\n  struct cmsghdr *cmsg \u003d CMSG_FIRSTHDR (\u0026msg);\n\n  cmsg-\u003ecmsg_level \u003d SOL_SOCKET;\n  cmsg-\u003ecmsg_type \u003d SCM_RIGHTS;\n  cmsg-\u003ecmsg_len \u003d CMSG_LEN (sizeof (int));\n\n  msg.msg_controllen \u003d cmsg-\u003ecmsg_len;\n\n  pid_t child \u003d fork ();\n  if (child \u003d\u003d -1)\n    error (1, errno, \"fork\");\n  if (child \u003d\u003d 0)\n    {\n      int sock \u003d socket (PF_UNIX, SOCK_STREAM, 0);\n      if (sock \u003c 0)\n        error (1, errno, \"socket\");\n\n      if (bind (sock, (struct sockaddr *) \u0026sun, sizeof (sun)) \u003c 0)\n        error (1, errno, \"bind\");\n      if (listen (sock, SOMAXCONN) \u003c 0)\n        error (1, errno, \"listen\");\n\n      int conn \u003d accept (sock, NULL, NULL);\n      if (conn \u003d\u003d -1)\n        error (1, errno, \"accept\");\n\n      *(int *) CMSG_DATA (cmsg) \u003d sock;\n      if (sendmsg (conn, \u0026msg, MSG_NOSIGNAL) \u003c 0)\n        error (1, errno, \"sendmsg\");\n\n      return 0;\n    }\n\n  /* For a test suite this should be more robust like a\n     barrier in shared memory.  */\n  sleep (1);\n\n  int sock \u003d socket (PF_UNIX, SOCK_STREAM, 0);\n  if (sock \u003c 0)\n    error (1, errno, \"socket\");\n\n  if (connect (sock, (struct sockaddr *) \u0026sun, sizeof (sun)) \u003c 0)\n    error (1, errno, \"connect\");\n  unlink (sun.sun_path);\n\n  *(int *) CMSG_DATA (cmsg) \u003d -1;\n\n  if (recvmsg (sock, \u0026msg, MSG_CMSG_CLOEXEC) \u003c 0)\n    error (1, errno, \"recvmsg\");\n\n  int fd \u003d *(int *) CMSG_DATA (cmsg);\n  if (fd \u003d\u003d -1)\n    error (1, 0, \"no descriptor received\");\n\n  char fdname[20];\n  snprintf (fdname, sizeof (fdname), \"%d\", fd);\n  execl (\"/proc/self/exe\", argv[0], fdname, NULL);\n  puts (\"execl failed\");\n  return 1;\n}\n\n[akpm@linux-foundation.org: Fix fastcall inconsistency noted by Michael Buesch]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92f37fd2ee805aa77925c1e64fd56088b46094fc",
      "tree": "8251c38b83ab362116dac89d94412ce229b42831",
      "parents": [
        "c7a3c5da35055e2fa97ed4f0da3eec4bd0ef4c38"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 25 22:14:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:21 2007 -0700"
      },
      "message": "[NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support\n\nNow that network timestamps use ktime_t infrastructure, we can add a new\nSOL_SOCKET sockopt  SO_TIMESTAMPNS.\n\nThis command is similar to SO_TIMESTAMP, but permits transmission of\na \u0027timespec struct\u0027 instead of a \u0027timeval struct\u0027 control message.\n(nanosecond resolution instead of microsecond)\n\nControl message is labelled SCM_TIMESTAMPNS instead of SCM_TIMESTAMP\n\nA socket cannot mix SO_TIMESTAMP and SO_TIMESTAMPNS : the two modes are\nmutually exclusive.\n\nsock_recv_timestamp() became too big to be fully inlined so I added a\n__sock_recv_timestamp() helper function.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: linux-arch@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e71a4783aae059931f63b2d4e7013e36529badef",
      "tree": "d9c2bad69b8d0512e12c8ff786237319990fbd00",
      "parents": [
        "add459aa1afe05472abc96f6a29aefd0c84e73d6"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Apr 10 20:10:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:09 2007 -0700"
      },
      "message": "[NET] core: whitespace cleanup\n\nFix whitespace around keywords. Fix indentation especially of switch\nstatements.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23",
      "tree": "b5ae288b3c27d13bde9648c41d7db3cfe1884bc2",
      "parents": [
        "cb69cc52364690d7789940c480b3a9490784b680"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 18 17:33:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:04 2007 -0700"
      },
      "message": "[NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution\n\nNow network timestamps use ktime_t infrastructure, we can add a new\nioctl() SIOCGSTAMPNS command to get timestamps in \u0027struct timespec\u0027.\nUser programs can thus access to nanosecond resolution.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7aa0bf70c4afb9e38be25f5c0922498d0f8684c",
      "tree": "4bc9d61031f4eb40d73887d6bde09e7d6bf2b259",
      "parents": [
        "3927f2e8f9afa3424bb51ca81f7abac01ffd0005"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Apr 19 16:16:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:34 2007 -0700"
      },
      "message": "[NET]: convert network timestamps to ktime_t\n\nWe currently use a special structure (struct skb_timeval) and plain\n\u0027struct timeval\u0027 to store packet timestamps in sk_buffs and struct\nsock.\n\nThis has some drawbacks :\n- Fixed resolution of micro second.\n- Waste of space on 64bit platforms where sizeof(struct timeval)\u003d16\n\nI suggest using ktime_t that is a nice abstraction of high resolution\ntime services, currently capable of nanosecond resolution.\n\nAs sizeof(ktime_t) is 8 bytes, using ktime_t in \u0027struct sock\u0027 permits\na 8 byte shrink of this structure on 64bit architectures. Some other\nstructures also benefit from this size reduction (struct ipq in\nipv4/ip_fragment.c, struct frag_queue in ipv6/reassembly.c, ...)\n\nOnce this ktime infrastructure adopted, we can more easily provide\nnanosecond resolution on top of it. (ioctl SIOCGSTAMPNS and/or\nSO_TIMESTAMPNS/SCM_TIMESTAMPNS)\n\nNote : this patch includes a bug correction in\ncompat_sock_get_timestamp() where a \"err \u003d 0;\" was missing (so this\nsyscall returned -ENOENT instead of 0)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nCC: John find \u003clinux.kernel@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4768fbcbcfbbcacb785ae08eef33767a0b4fdcdd",
      "tree": "600169e3a11494ee4ab1bb9cf1ee3348097b1247",
      "parents": [
        "a716c1197d608c55adfba45692a890ca64e10df0"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:25:31 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:20:27 2007 -0800"
      },
      "message": "[NET]: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "effee6a00034a8d83a6dea6d221820d87364ac21",
      "tree": "7008bcfd7f2c2ece8e58365ff970a90292b6af08",
      "parents": [
        "6aa2551cf135f1d246d31482adc8c679eeea3a83"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Oct 09 21:42:14 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 11 23:59:48 2006 -0700"
      },
      "message": "[NET]: File descriptor loss while receiving SCM_RIGHTS\n\nIf more than one file descriptor was sent with an SCM_RIGHTS message,\nand on the receiving end, after installing a nonzero (but not all)\nfile descritpors the process runs out of fds, then the already\ninstalled fds will be lost (userspace will have no way of knowing\nabout them).\n\nThe following patch makes sure, that at least the already installed\nfds are sent to userspace.  It doesn\u0027t solve the issue of losing file\ndescriptors in case of an EFAULT on the userspace buffer.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2722971cbe831117686039d5c334f2c0f560be13",
      "tree": "b810ea96778e4f5de2a7713685c0551aa34c8f97",
      "parents": [
        "e64a70be5175ac2c209fa742123a6ce845852e0e"
      ],
      "author": {
        "name": "Dmitry Mishin",
        "email": "dim@openvz.org",
        "time": "Sat Apr 01 02:25:19 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 01 02:25:19 2006 -0800"
      },
      "message": "[NETFILTER]: iptables 32bit compat layer\n\nThis patch extends current iptables compatibility layer in order to get\n32bit iptables to work on 64bit kernel. Current layer is insufficient due\nto alignment checks both in kernel and user space tools.\n\nPatch is for current net-2.6.17 with addition of move of ipt_entry_{match|\ntarget} definitions to xt_entry_{match|target}.\n\nSigned-off-by: Dmitry Mishin \u003cdim@openvz.org\u003e\nAcked-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0ac2614412e2b597e2d5bfbd3960b4f73718b41",
      "tree": "b1d6c3fabc0f143eec1dcb1ce7c5f6d2bcb64ee1",
      "parents": [
        "89bbfc95d65839d6ae23ddab8a3cc5af4ae88383"
      ],
      "author": {
        "name": "Shaun Pereira",
        "email": "spereira@tusc.com.au",
        "time": "Tue Mar 21 23:59:39 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 21 23:59:39 2006 -0800"
      },
      "message": "[NET]: socket timestamp 32 bit handler for 64 bit kernel\n\nGet socket timestamp handler function that does not use the\nioctl32_hash_table.\n\nSigned-off-by: Shaun Pereira \u003cspereira@tusc.com.au\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3fdadf7d27e3fbcf72930941884387d1f4936f04",
      "tree": "167072cf1e60b6b307610563614b435ff0caa52d",
      "parents": [
        "c750360938b403e6cc193d293cfbcb099dd6c60e"
      ],
      "author": {
        "name": "Dmitry Mishin",
        "email": "dim@openvz.org",
        "time": "Mon Mar 20 22:45:21 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:45:21 2006 -0800"
      },
      "message": "[NET]: {get|set}sockopt compatibility layer\n\nThis patch extends {get|set}sockopt compatibility layer in order to\nmove protocol specific parts to their place and avoid huge universal\nnet/compat.c file in the future.\n\nSigned-off-by: Dmitry Mishin \u003cdim@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8920e8f94c44e31a73bdf923b04721e26e88cadd",
      "tree": "7a0195643c37c63335224358256fab8cd445a671",
      "parents": [
        "5aa3b610a7330c3cd6f0cb264d2189a3a1dcf534"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 07 18:28:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Sep 08 08:14:11 2005 -0700"
      },
      "message": "[PATCH] Fix 32bit sendmsg() flaw\n\nWhen we copy 32bit -\u003emsg_control contents to kernel, we walk the same\nuserland data twice without sanity checks on the second pass.\n\nSecond version of this patch: the original broke with 64-bit arches\nrunning 32-bit-compat-mode executables doing sendmsg() syscalls with\nunaligned CMSG data areas\n\nAnother thing is that we use kmalloc() to allocate and sock_kfree_s()\nto free afterwards; less serious, but also needs fixing.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d64d3873721cfe870d49d73c3744f06260779ce7",
      "tree": "b49a930e65ed4f30b4f8f2aac4ddb08c41bc4b79",
      "parents": [
        "3501466941347f0e1992b2672affb3feb92925fd"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Aug 09 15:29:19 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 09 15:29:19 2005 -0700"
      },
      "message": "[NET]: Fix memory leak in sys_{send,recv}msg() w/compat\n\nFrom: Dave Johnson \u003cdjohnson+linux-kernel@sw.starentnetworks.com\u003e\n\nsendmsg()/recvmsg() syscalls from o32/n32 apps to a 64bit kernel will\ncause a kernel memory leak if iov_len \u003e UIO_FASTIOV for each syscall!\n\nThis is because both sys_sendmsg() and verify_compat_iovec() kmalloc a\nnew iovec structure.  Only the one from sys_sendmsg() is free\u0027ed.\n\nI wrote a simple test program to confirm this after identifying the\nproblem:\n\nhttp://davej.org/programs/testsendmsg.c\n\nNote that the below fix will break solaris_sendmsg()/solaris_recvmsg() as\nit also calls verify_compat_iovec() but expects it to malloc internally.\n\n[ I fixed that. -DaveM ]\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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"
    }
  ]
}
