)]}'
{
  "log": [
    {
      "commit": "8f3f655da7288504c1013621090ecc940173ae1c",
      "tree": "add84c360aaf940d721166ff2685a27c094cf799",
      "parents": [
        "da574983de9f9283ba35662c8723627096e160de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Aug 12 00:28:24 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 25 01:18:08 2008 -0400"
      },
      "message": "[PATCH] fix regular readdir() and friends\n\nHandling of -EOVERFLOW.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2d8f30380ab8c706f4e0a8f1aaa22b5886e9ac8a",
      "tree": "b798097fd831eab39f35c8c2e5a8ccfd7a850ef5",
      "parents": [
        "256984a83880ff7ac78055cb87baea48137f0b77"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 22 09:59:21 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:34 2008 -0400"
      },
      "message": "[PATCH] sanitize __user_walk_fd() et.al.\n\n* do not pass nameidata; struct path is all the callers want.\n* switch to new helpers:\n\tuser_path_at(dfd, pathname, flags, \u0026path)\n\tuser_path(pathname, \u0026path)\n\tuser_lpath(pathname, \u0026path)\n\tuser_path_dir(pathname, \u0026path)  (fail if not a directory)\n  The last 3 are trivial macro wrappers for the first one.\n* remove nameidata in callers.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9deb27baedb79759c3ab9435a7d8b841842d56e9",
      "tree": "1c88393ba30db851ca0bb93c4e656d4e5dbb22b9",
      "parents": [
        "7d9dbca34240ebb6ff88d8a29c6c7bffd098f0c1"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: signalfd\n\nThis patch adds the new signalfd4 syscall.  It extends the old signalfd\nsyscall by one parameter which is meant to hold a flag value.  In this\npatch the only flag support is SFD_CLOEXEC which causes the close-on-exec\nflag for the returned file descriptor to be set.\n\nA new name SFD_CLOEXEC is introduced which in this implementation must\nhave the same value as O_CLOEXEC.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003csignal.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_signalfd4\n# ifdef __x86_64__\n#  define __NR_signalfd4 289\n# elif defined __i386__\n#  define __NR_signalfd4 327\n# else\n#  error \"need __NR_signalfd4\"\n# endif\n#endif\n\n#define SFD_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  sigset_t ss;\n  sigemptyset (\u0026ss);\n  sigaddset (\u0026ss, SIGUSR1);\n  int fd \u003d syscall (__NR_signalfd4, -1, \u0026ss, 8, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"signalfd4(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"signalfd4(0) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_signalfd4, -1, \u0026ss, 8, SFD_CLOEXEC);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"signalfd4(SFD_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"signalfd4(SFD_CLOEXEC) does not set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n[akpm@linux-foundation.org: add sys_ni stub]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4a67cceee4a6f5ed38011a698c9e34747270ae5",
      "tree": "6da3eed51a938e1680a6212c56f9383bcf5670e0",
      "parents": [
        "91224346aa8c1cdaa660300a98e0b074a3a95030"
      ],
      "author": {
        "name": "Jon Tollefson",
        "email": "kniht@linux.vnet.ibm.com",
        "time": "Wed Jul 23 21:27:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "fs: check for statfs overflow\n\nAdds a check for an overflow in the filesystem size so if someone is\nchecking with statfs() on a 16G blocksize hugetlbfs in a 32bit binary that\nit will report back EOVERFLOW instead of a size of 0.\n\nAcked-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08a6fac1c63233c87eec129938022f1a9a4d51f6",
      "tree": "4fd7a2a906cf5ca0a42b3b8cb30351465f0f6cee",
      "parents": [
        "5f719558edf9c84bfbb1f7ad37e84c483282d09f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 10 16:38:25 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 16 17:23:05 2008 -0400"
      },
      "message": "[PATCH] get rid of leak in compat_execve()\n\nEven though copy_compat_strings() doesn\u0027t cache the pages,\ncopy_strings_kernel() and stuff indirectly called by e.g.\n-\u003eload_binary() is doing that, so we need to drop the\ncache contents in the end.\n\n[found by WANG Cong \u003cwangcong@zeuux.org\u003e]\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9f3acc3140444a900ab280de942291959f0f615d",
      "tree": "0d7f3f9698071ff90fb9a127a4c6e86e1c37c945",
      "parents": [
        "a2dcb44c3c5a8151d2d9f6ac8ad0789efcdbe184"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 24 07:44:08 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 01 13:08:16 2008 -0400"
      },
      "message": "[PATCH] split linux/file.h\n\nInitial splitoff of the low-level stuff; taken to fdtable.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f3de272b821accbc8387211977c2de4f38468d05",
      "tree": "775b5b3db5a09176447d4e62e04077b63640a4d7",
      "parents": [
        "49eaeb4bc4c901c327ee259c7768be20fd020a30"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: use HAVE_SET_RESTORE_SIGMASK\n\nChange all the #ifdef TIF_RESTORE_SIGMASK conditionals in non-arch code to\n#ifdef HAVE_SET_RESTORE_SIGMASK.  If arch code defines it first, the generic\nset_restore_sigmask() using TIF_RESTORE_SIGMASK is not defined.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e4c22c71144c1b2e22c257ec6cf08ccb5be1165",
      "tree": "0a41fb405ab60654f70ead9698d5ce414a066c37",
      "parents": [
        "80fe728d593e3a048a56610de932919f7d6d968a"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: add set_restore_sigmask\n\nThis adds the set_restore_sigmask() inline in \u003clinux/thread_info.h\u003e and\nreplaces every set_thread_flag(TIF_RESTORE_SIGMASK) with a call to it.  No\nchange, but abstracts the details of the flag protocol from all the calls.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52833e897fd8c6f62b3e5e27291fa9bc803f7460",
      "tree": "cfe90047ee6c7402674a29ec7258319142b96ff1",
      "parents": [
        "8d042218b075de3cdbe066198515b3521553746e",
        "4ee29f6a52158cea526b16a44ae38643946103ec"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 15 13:36:30 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 15 13:36:30 2008 -0500"
      },
      "message": "Merge branch \u0027linus_origin\u0027 into hotfixes\n"
    },
    {
      "commit": "1d957f9bf87da74f420424d16ece005202bbebd3",
      "tree": "363d4770c0c74a536524c99ccd2762ce96ee9bbe",
      "parents": [
        "4ac9137858e08a19f29feac4e1f4df7c268b0ba5"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Introduce path_put()\n\n* Add path_put() functions for releasing a reference to the dentry and\n  vfsmount of a struct path in the right order\n\n* Switch from path_release(nd) to path_put(\u0026nd-\u003epath)\n\n* Rename dput_path() to path_put_conditional()\n\n[akpm@linux-foundation.org: fix cifs]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003clinux-fsdevel@vger.kernel.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ac9137858e08a19f29feac4e1f4df7c268b0ba5",
      "tree": "f5b5d84fd12fcc2b0ba0e7ce1a79ff381ad8f5dd",
      "parents": [
        "c5e725f33b733a77de622e91b6ba5645fcf070be"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Embed a struct path into struct nameidata instead of nd-\u003e{dentry,mnt}\n\nThis is the central patch of a cleanup series. In most cases there is no good\nreason why someone would want to use a dentry for itself. This series reflects\nthat fact and embeds a struct path into nameidata.\n\nTogether with the other patches of this series\n- it enforced the correct order of getting/releasing the reference count on\n  \u003cdentry,vfsmount\u003e pairs\n- it prepares the VFS for stacking support since it is essential to have a\n  struct path in every place where the stack can be traversed\n- it reduces the overall code size:\n\nwithout patch series:\n   text    data     bss     dec     hex filename\n5321639  858418  715768 6895825  6938d1 vmlinux\n\nwith patch series:\n   text    data     bss     dec     hex filename\n5320026  858418  715768 6894212  693284 vmlinux\n\nThis patch:\n\nSwitch from nd-\u003e{dentry,mnt} to nd-\u003epath.{dentry,mnt} everywhere.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix cifs]\n[akpm@linux-foundation.org: fix smack]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4267c9561d9c3bb2abf45abed9c75a1c892d7d15",
      "tree": "cc2d15122ac06bebb25c87b53dc61e387c70f350",
      "parents": [
        "8e60029f403781b8a63b7ffdb7dc1faff6ca651e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Feb 13 14:55:17 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 13 23:24:05 2008 -0500"
      },
      "message": "NFS: Allow text-based mounts via compat_sys_mount\n\nThe compat_sys_mount() system call throws EINVAL for text-based NFSv4\nmounts.\n\nThe text-based mount interface assumes that any mount option blob that\ndoesn\u0027t set the version field to \"1\" is a C string (ie not a legacy\nmount request).  The compat_sys_mount() call treats blobs that don\u0027t\nset the version field to \"1\" as an error.  We just relax the check in\ncompat_sys_mount() a bit to allow C strings to be passed down to the NFSv4\nclient.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0321155926b32cbc46f6603c6cc455e046b4d9b2",
      "tree": "01ca7e2709582dfd754bee427cf1959adbff52b2",
      "parents": [
        "de9330d13eac1f331e63ab1d18c506365b0151f3"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "olsajiri@gmail.com",
        "time": "Wed Feb 06 01:36:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:03 2008 -0800"
      },
      "message": "fs: remove dead config CONFIG_HAS_COMPAT_EPOLL_EVENT symbol\n\nRemove dead config CONFIG_HAS_COMPAT_EPOLL_EVENT symbol.\n\nSigned-off-by: Jiri Olsa \u003colsajiri@gmail.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d672e7ac79b5ec5cdc90e450823441e20464691",
      "tree": "66da3aa0bf7f7ac80376a93f17edbb2246b2df06",
      "parents": [
        "5e05ad7d4e3b11f935998882b5d9c3b257137f1b"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Mon Feb 04 22:27:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "timerfd: new timerfd API\n\nThis is the new timerfd API as it is implemented by the following patch:\n\nint timerfd_create(int clockid, int flags);\nint timerfd_settime(int ufd, int flags,\n\t\t    const struct itimerspec *utmr,\n\t\t    struct itimerspec *otmr);\nint timerfd_gettime(int ufd, struct itimerspec *otmr);\n\nThe timerfd_create() API creates an un-programmed timerfd fd.  The \"clockid\"\nparameter can be either CLOCK_MONOTONIC or CLOCK_REALTIME.\n\nThe timerfd_settime() API give new settings by the timerfd fd, by optionally\nretrieving the previous expiration time (in case the \"otmr\" parameter is not\nNULL).\n\nThe time value specified in \"utmr\" is absolute, if the TFD_TIMER_ABSTIME bit\nis set in the \"flags\" parameter.  Otherwise it\u0027s a relative time.\n\nThe timerfd_gettime() API returns the next expiration time of the timer, or\n{0, 0} if the timerfd has not been set yet.\n\nLike the previous timerfd API implementation, read(2) and poll(2) are\nsupported (with the same interface).  Here\u0027s a simple test program I used to\nexercise the new timerfd APIs:\n\nhttp://www.xmailserver.org/timerfd-test2.c\n\n[akpm@linux-foundation.org: coding-style cleanups]\n[akpm@linux-foundation.org: fix ia64 build]\n[akpm@linux-foundation.org: fix m68k build]\n[akpm@linux-foundation.org: fix mips build]\n[akpm@linux-foundation.org: fix alpha, arm, blackfin, cris, m68k, s390, sparc and sparc64 builds]\n[heiko.carstens@de.ibm.com: fix s390]\n[akpm@linux-foundation.org: fix powerpc build]\n[akpm@linux-foundation.org: fix sparc64 more]\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c43e259cc756ece387faae849af0058b56d78466",
      "tree": "1f1541560256b9fe2eeda5b07100baa14f39df59",
      "parents": [
        "bced95283e9434611cbad8f2ff903cd396eaea72"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Jan 12 22:05:48 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 25 11:29:52 2008 +1100"
      },
      "message": "security: call security_file_permission from rw_verify_area\n\nAll instances of rw_verify_area() are followed by a call to\nsecurity_file_permission(), so just call the latter from the former.\n\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b6a2fea39318e43fee84fa7b0b90d68bed92d2ba",
      "tree": "c9c3619cb2730b5c10c7427b837146bce3d69156",
      "parents": [
        "bdf4c48af20a3b0f01671799ace345e3d49576da"
      ],
      "author": {
        "name": "Ollie Wild",
        "email": "aaw@google.com",
        "time": "Thu Jul 19 01:48:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:45 2007 -0700"
      },
      "message": "mm: variable length argument support\n\nRemove the arg+env limit of MAX_ARG_PAGES by copying the strings directly from\nthe old mm into the new mm.\n\nWe create the new mm before the binfmt code runs, and place the new stack at\nthe very top of the address space.  Once the binfmt code runs and figures out\nwhere the stack should be, we move it downwards.\n\nIt is a bit peculiar in that we have one task with two mm\u0027s, one of which is\ninactive.\n\n[a.p.zijlstra@chello.nl: limit stack size]\nSigned-off-by: Ollie Wild \u003caaw@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\n[bunk@stusta.de: unexport bprm_mm_init]\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6087b2dab2c914268b1a50882edbbad82bfefd29",
      "tree": "3f286422a61e7e3206b4a0dba6cb7c18a09e6463",
      "parents": [
        "7bb44adef39ad3bda2be40bb34686bc56bd563a5"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Wed May 23 13:57:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:12 2007 -0700"
      },
      "message": "optimize compat_core_sys_select() by a using stack space for small fd sets\n\nOptimize select by a using stack space for small fd sets.\ncore_sys_select() already has this optimization.  This is for compat\nversion.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8317f14b60c02c69cf7f594e2aabc8a3fdc9618d",
      "tree": "6888b4a803316916c2e4be3ff6c6228d45066831",
      "parents": [
        "d55e2ca87321b65387d3c52dd38128b3fe6723b0"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed May 16 22:11:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "simplify compat_sys_timerfd\n\nJust thought this is easier to read.\n\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83f5d1266926c75890f1bc4678e49d79483cb573",
      "tree": "ae97719503b7fe3688413655d89772bb8b644312",
      "parents": [
        "57ac8898508638ca6d15ecd8b911a431d673ff30"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu May 10 22:23:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:36 2007 -0700"
      },
      "message": "signal/timer/event: timerfd compat code\n\nThis patch implements the necessary compat code for the timerfd system call.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d18c9220965b437287c3a7e803725c24992ceac",
      "tree": "95b87523f134f10a25487b6fdc702a338fb0e911",
      "parents": [
        "2121e24bd8dd16b4e3f8d995428e2a748d5180cc"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu May 10 22:23:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:36 2007 -0700"
      },
      "message": "signal/timer/event: signalfd compat code\n\nThis patch implements the necessary compat code for the signalfd system call.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1c710c896eb461895d3c399e15bb5f20b39c9073",
      "tree": "862e210cc6dad50abffd7640f01d50c3e9f3d375",
      "parents": [
        "ade5fb818fb1861fd5f84619c761920ade762b5d"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Tue May 08 00:33:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:18 2007 -0700"
      },
      "message": "utimensat implementation\n\nImplement utimensat(2) which is an extension to futimesat(2) in that it\n\na) supports nano-second resolution for the timestamps\nb) allows to selectively ignore the atime/mtime value\nc) allows to selectively use the current time for either atime or mtime\nd) supports changing the atime/mtime of a symlink itself along the lines\n   of the BSD lutimes(3) functions\n\nFor this change the internally used do_utimes() functions was changed to\naccept a timespec time value and an additional flags parameter.\n\nAdditionally the sys_utime function was changed to match compat_sys_utime\nwhich already use do_utimes instead of duplicating the work.\n\nAlso, the completely missing futimensat() functionality is added.  We have\nsuch a function in glibc but we have to resort to using /proc/self/fd/* which\nnot everybody likes (chroot etc).\n\nTest application (the syscall number will need per-arch editing):\n\n#include \u003cerrno.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003ctime.h\u003e\n#include \u003csys/time.h\u003e\n#include \u003cstddef.h\u003e\n#include \u003csyscall.h\u003e\n\n#define __NR_utimensat 280\n\n#define UTIME_NOW       ((1l \u003c\u003c 30) - 1l)\n#define UTIME_OMIT      ((1l \u003c\u003c 30) - 2l)\n\nint\nmain(void)\n{\n  int status \u003d 0;\n\n  int fd \u003d open(\"ttt\", O_RDWR|O_CREAT|O_EXCL, 0666);\n  if (fd \u003d\u003d -1)\n    error (1, errno, \"failed to create test file \\\"ttt\\\"\");\n\n  struct stat64 st1;\n  if (fstat64 (fd, \u0026st1) !\u003d 0)\n    error (1, errno, \"fstat failed\");\n\n  struct timespec t[2];\n  t[0].tv_sec \u003d 0;\n  t[0].tv_nsec \u003d 0;\n  t[1].tv_sec \u003d 0;\n  t[1].tv_nsec \u003d 0;\n  if (syscall(__NR_utimensat, AT_FDCWD, \"ttt\", t, 0) !\u003d 0)\n    error (1, errno, \"utimensat failed\");\n\n  struct stat64 st2;\n  if (fstat64 (fd, \u0026st2) !\u003d 0)\n    error (1, errno, \"fstat failed\");\n\n  if (st2.st_atim.tv_sec !\u003d 0 || st2.st_atim.tv_nsec !\u003d 0)\n    {\n      puts (\"atim not reset to zero\");\n      status \u003d 1;\n    }\n  if (st2.st_mtim.tv_sec !\u003d 0 || st2.st_mtim.tv_nsec !\u003d 0)\n    {\n      puts (\"mtim not reset to zero\");\n      status \u003d 1;\n    }\n  if (status !\u003d 0)\n    goto out;\n\n  t[0] \u003d st1.st_atim;\n  t[1].tv_sec \u003d 0;\n  t[1].tv_nsec \u003d UTIME_OMIT;\n  if (syscall(__NR_utimensat, AT_FDCWD, \"ttt\", t, 0) !\u003d 0)\n    error (1, errno, \"utimensat failed\");\n\n  if (fstat64 (fd, \u0026st2) !\u003d 0)\n    error (1, errno, \"fstat failed\");\n\n  if (st2.st_atim.tv_sec !\u003d st1.st_atim.tv_sec\n      || st2.st_atim.tv_nsec !\u003d st1.st_atim.tv_nsec)\n    {\n      puts (\"atim not set\");\n      status \u003d 1;\n    }\n  if (st2.st_mtim.tv_sec !\u003d 0 || st2.st_mtim.tv_nsec !\u003d 0)\n    {\n      puts (\"mtim changed from zero\");\n      status \u003d 1;\n    }\n  if (status !\u003d 0)\n    goto out;\n\n  t[0].tv_sec \u003d 0;\n  t[0].tv_nsec \u003d UTIME_OMIT;\n  t[1] \u003d st1.st_mtim;\n  if (syscall(__NR_utimensat, AT_FDCWD, \"ttt\", t, 0) !\u003d 0)\n    error (1, errno, \"utimensat failed\");\n\n  if (fstat64 (fd, \u0026st2) !\u003d 0)\n    error (1, errno, \"fstat failed\");\n\n  if (st2.st_atim.tv_sec !\u003d st1.st_atim.tv_sec\n      || st2.st_atim.tv_nsec !\u003d st1.st_atim.tv_nsec)\n    {\n      puts (\"mtim changed from original time\");\n      status \u003d 1;\n    }\n  if (st2.st_mtim.tv_sec !\u003d st1.st_mtim.tv_sec\n      || st2.st_mtim.tv_nsec !\u003d st1.st_mtim.tv_nsec)\n    {\n      puts (\"mtim not set\");\n      status \u003d 1;\n    }\n  if (status !\u003d 0)\n    goto out;\n\n  sleep (2);\n\n  t[0].tv_sec \u003d 0;\n  t[0].tv_nsec \u003d UTIME_NOW;\n  t[1].tv_sec \u003d 0;\n  t[1].tv_nsec \u003d UTIME_NOW;\n  if (syscall(__NR_utimensat, AT_FDCWD, \"ttt\", t, 0) !\u003d 0)\n    error (1, errno, \"utimensat failed\");\n\n  if (fstat64 (fd, \u0026st2) !\u003d 0)\n    error (1, errno, \"fstat failed\");\n\n  struct timeval tv;\n  gettimeofday(\u0026tv,NULL);\n\n  if (st2.st_atim.tv_sec \u003c\u003d st1.st_atim.tv_sec\n      || st2.st_atim.tv_sec \u003e tv.tv_sec)\n    {\n      puts (\"atim not set to NOW\");\n      status \u003d 1;\n    }\n  if (st2.st_mtim.tv_sec \u003c\u003d st1.st_mtim.tv_sec\n      || st2.st_mtim.tv_sec \u003e tv.tv_sec)\n    {\n      puts (\"mtim not set to NOW\");\n      status \u003d 1;\n    }\n\n  if (symlink (\"ttt\", \"tttsym\") !\u003d 0)\n    error (1, errno, \"cannot create symlink\");\n\n  t[0].tv_sec \u003d 0;\n  t[0].tv_nsec \u003d 0;\n  t[1].tv_sec \u003d 0;\n  t[1].tv_nsec \u003d 0;\n  if (syscall(__NR_utimensat, AT_FDCWD, \"tttsym\", t, AT_SYMLINK_NOFOLLOW) !\u003d 0)\n    error (1, errno, \"utimensat failed\");\n\n  if (lstat64 (\"tttsym\", \u0026st2) !\u003d 0)\n    error (1, errno, \"lstat failed\");\n\n  if (st2.st_atim.tv_sec !\u003d 0 || st2.st_atim.tv_nsec !\u003d 0)\n    {\n      puts (\"symlink atim not reset to zero\");\n      status \u003d 1;\n    }\n  if (st2.st_mtim.tv_sec !\u003d 0 || st2.st_mtim.tv_nsec !\u003d 0)\n    {\n      puts (\"symlink mtim not reset to zero\");\n      status \u003d 1;\n    }\n  if (status !\u003d 0)\n    goto out;\n\n  t[0].tv_sec \u003d 1;\n  t[0].tv_nsec \u003d 0;\n  t[1].tv_sec \u003d 1;\n  t[1].tv_nsec \u003d 0;\n  if (syscall(__NR_utimensat, fd, NULL, t, 0) !\u003d 0)\n    error (1, errno, \"utimensat failed\");\n\n  if (fstat64 (fd, \u0026st2) !\u003d 0)\n    error (1, errno, \"fstat failed\");\n\n  if (st2.st_atim.tv_sec !\u003d 1 || st2.st_atim.tv_nsec !\u003d 0)\n    {\n      puts (\"atim not reset to one\");\n      status \u003d 1;\n    }\n  if (st2.st_mtim.tv_sec !\u003d 1 || st2.st_mtim.tv_nsec !\u003d 0)\n    {\n      puts (\"mtim not reset to one\");\n      status \u003d 1;\n    }\n\n  if (status \u003d\u003d 0)\n     puts (\"all OK\");\n\n out:\n  close (fd);\n  unlink (\"ttt\");\n  unlink (\"tttsym\");\n\n  return status;\n}\n\n[akpm@linux-foundation.org: add missing i386 syscall table entry]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6272e2667965dfb5b59199f462cd0f001fb304a6",
      "tree": "a14a4537dcd7af09863cc3a1c19a3efe386d67ab",
      "parents": [
        "039b6b3ed84e45a6f8316358dd2bfdc83d59fc45"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:29:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:09 2007 -0700"
      },
      "message": "cleanup compat ioctl handling\n\nMerge all compat ioctl handling into compat_ioctl.c instead of splitting it\nover compat.c and compat_ioctl.c.  This also allows to get rid of ioctl32.h\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nLooks-good-to: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "022a1692444cd683ef42f637cc717db4d8fd9378",
      "tree": "82d8c1360921310f90b81c147b345afad98317f7",
      "parents": [
        "10f8a59813ee8bb41fb1d72ed2ec12a1c9f66da2"
      ],
      "author": {
        "name": "Milind Arun Choudhary",
        "email": "milindchoudhary@gmail.com",
        "time": "Tue May 08 00:29:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:09 2007 -0700"
      },
      "message": "ROUND_UP macro cleanup in fs/(select|compat|readdir).c\n\nROUND_UP macro cleanup use,ALIGN or DIV_ROUND_UP where ever appropriate.\n\nSigned-off-by: Milind Arun Choudhary \u003cmilindchoudhary@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": "a106009bdfa12b6452b724cc0718ca8e1334745d",
      "tree": "f42d70dff689aec8d3c2494deb4dd3a438b7f03d",
      "parents": [
        "c812d6c198c5f39a6ea22a9a12d518cd3714af16"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "message": "[PATCH] x86-64: Print type and size correctly for unknown compat ioctls\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "f6dfb4fd7dd94429ef1d5233688aaed2a63f856b",
      "tree": "81c29bfad51e187830ca059855aa285e350c9481",
      "parents": [
        "b40df5743ee8aed8674edbbb77b8fd3c8c7a747f"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Wed Mar 07 20:41:21 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 08 07:38:22 2007 -0800"
      },
      "message": "[PATCH] Add epoll compat_ code to fs/compat.c\n\nIA64 and ARM-OABI are currently using their own version of epoll compat_\ncode.\n\nAn architecture needs epoll_event translation if alignof(u64) in 32 bit\nmode is different from alignof(u64) in 64 bit mode.  If an architecture\nneeds epoll_event translation, it must define struct compat_epoll_event in\nasm/compat.h and set CONFIG_HAVE_COMPAT_EPOLL_EVENT and use\ncompat_sys_epoll_ctl and compat_sys_epoll_wait.\n\nAll 64 bit architecture should use compat_sys_epoll_pwait.\n\n[sfr: restructure and move to fs/compat.c, remove MIPS version\nof compat_sys_epoll_pwait, use __put_user_unaligned]\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: \"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": "bbea9f69668a3d0cf9feba15a724cd02896f8675",
      "tree": "bc58506e4daba4a04309181a5501ae4eb5424783",
      "parents": [
        "f3d19c90fb117a5f080310a4592929aa8e1ad8e9"
      ],
      "author": {
        "name": "Vadim Lobanov",
        "email": "vlobanov@speakeasy.net",
        "time": "Sun Dec 10 02:21:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:57:22 2006 -0800"
      },
      "message": "[PATCH] fdtable: Make fdarray and fdsets equal in size\n\nCurrently, each fdtable supports three dynamically-sized arrays of data: the\nfdarray and two fdsets.  The code allows the number of fds supported by the\nfdarray (fdtable-\u003emax_fds) to differ from the number of fds supported by each\nof the fdsets (fdtable-\u003emax_fdset).\n\nIn practice, it is wasteful for these two sizes to differ: whenever we hit a\nlimit on the smaller-capacity structure, we will reallocate the entire fdtable\nand all the dynamic arrays within it, so any delta in the memory used by the\nlarger-capacity structure will never be touched at all.\n\nRather than hogging this excess, we shouldn\u0027t even allocate it in the first\nplace, and keep the capacities of the fdarray and the fdsets equal.  This\npatch removes fdtable-\u003emax_fdset.  As an added bonus, most of the supporting\ncode becomes simpler.\n\nSigned-off-by: Vadim Lobanov \u003cvlobanov@speakeasy.net\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0f7fc9e4d03987fe29f6dd4aa67e4c56eb7ecb05",
      "tree": "51763269e44eb9bf4d0f8c529577489902850cf9",
      "parents": [
        "b65d34fd465f19fbe2f32f2205a9a06ca7c2bdeb"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:41 2006 -0800"
      },
      "message": "[PATCH] VFS: change struct file to use struct path\n\nThis patch changes struct file to use struct path instead of having\nindependent pointers to struct dentry and struct vfsmount, and converts all\nusers of f_{dentry,vfsmnt} in fs/ to use f_path.{dentry,mnt}.\n\nAdditionally, it adds two #define\u0027s to make the transition easier for users of\nthe f_dentry and f_vfsmnt.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7116e994b47f3988389be4ceee67dac64b56e0d0",
      "tree": "f6b722a14cba117898456c3a9edbe7538310db2f",
      "parents": [
        "841d5fb7c75260f76ae682648b28a3dca724940d"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Dec 06 20:36:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:33 2006 -0800"
      },
      "message": "[PATCH] compat: fix uaccess handling\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\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": "822191a2fa1584a29c3224ab328507adcaeac1ab",
      "tree": "833b6e7d88fc49bf430826db26f75b4877593a15",
      "parents": [
        "a1e85378ba50694cf8f27b190c7e16d7c8dad276"
      ],
      "author": {
        "name": "Andrey Mirkin",
        "email": "amirkin@openvz.org",
        "time": "Wed Dec 06 20:31:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] skip data conversion in compat_sys_mount when data_page is NULL\n\nOpenVZ Linux kernel team has found a problem with mounting in compat mode.\n\nSimple command \"mount -t smbfs ...\" on Fedora Core 5 distro in 32-bit mode\nleads to oops:\n\n  Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP: compat_sys_mount+0xd6/0x290\n  Process mount (pid: 14656, veid\u003d300, threadinfo ffff810034d30000, task ffff810034c86bc0)\n  Call Trace: ia32_sysret+0x0/0xa\n\nThe problem is that data_page pointer can be NULL, so we should skip data\nconversion in this case.\n\nSigned-off-by: Andrey Mirkin \u003camirkin@openvz.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bd01f843c3368dcee735c19603251669f23f4477",
      "tree": "3cb848f5577ff7c7cbb21982d81fa4baabc6a7b5",
      "parents": [
        "a1f8e7f7fb9d7e2cbcb53170edca7c0ac4680697"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 19 17:23:57 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 04 02:00:31 2006 -0500"
      },
      "message": "[PATCH] severing skbuff.h -\u003e poll.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a1f8e7f7fb9d7e2cbcb53170edca7c0ac4680697",
      "tree": "2d1190c0099291d56a9c986f16bec17df2f6768b",
      "parents": [
        "b07e4ecd4d380ad697c54d729cb653d027077c99"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 19 16:08:53 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 04 02:00:29 2006 -0500"
      },
      "message": "[PATCH] severing skbuff.h -\u003e highmem.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "87c2b7c045a44f6c1c7af23e64f2b286e6f7130a",
      "tree": "42c59705e0b04b8cd4770556f59f65228b62feaa",
      "parents": [
        "7870db4c7fa1b03fec133c4f4e67fdaa04c5ac15"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Nov 02 22:06:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 03 12:27:55 2006 -0800"
      },
      "message": "[PATCH] sys_pselect7 vs compat_sys_pselect7 uaccess error handling\n\n758333458aa719bfc26ec16eafd4ad3a9e96014d fixes the not checked copy_to_user\nreturn value of compat_sys_pselect7.  I ran into this too because of an old\nsource tree, but my fix would look quite a bit different to Andi\u0027s fix.\n\nThe reason is that the compat function IMHO should behave the very same as\nthe non-compat function if possible.  Since sys_pselect7 does not return\n-EFAULT in this specific case, change the compat code so it behaves like\nsys_pselect7.\n\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "90cbad65911b5952a03111423347a6ab38236e0b",
      "tree": "e4f554ef5370694ae0a1ae4d88327ad4df5d0e62",
      "parents": [
        "1e0dbafd30b2e1cd17fd141f4cfd633078524e8c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Tue Oct 10 22:44:17 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 10 15:37:20 2006 -0700"
      },
      "message": "[PATCH] more fs/compat.c __user annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "afefdbb28a0a2af689926c30b94a14aea6036719",
      "tree": "6ee500575cac928cd90045bcf5b691cf2b8daa09",
      "parents": [
        "1d32849b14bc8792e6f35ab27dd990d74b16126c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 03 01:13:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:03:40 2006 -0700"
      },
      "message": "[PATCH] VFS: Make filldir_t and struct kstat deal in 64-bit inode numbers\n\nThese patches make the kernel pass 64-bit inode numbers internally when\ncommunicating to userspace, even on a 32-bit system.  They are required\nbecause some filesystems have intrinsic 64-bit inode numbers: NFS3+ and XFS\nfor example.  The 64-bit inode numbers are then propagated to userspace\nautomatically where the arch supports it.\n\nProblems have been seen with userspace (eg: ld.so) using the 64-bit inode\nnumber returned by stat64() or getdents64() to differentiate files, and\nfailing because the 64-bit inode number space was compressed to 32-bits, and\nso overlaps occur.\n\nThis patch:\n\nMake filldir_t take a 64-bit inode number and struct kstat carry a 64-bit\ninode number so that 64-bit inode numbers can be passed back to userspace.\n\nThe stat functions then returns the full 64-bit inode number where\navailable and where possible.  If it is not possible to represent the inode\nnumber supplied by the filesystem in the field provided by userspace, then\nerror EOVERFLOW will be issued.\n\nSimilarly, the getdents/readdir functions now pass the full 64-bit inode\nnumber to userspace where possible, returning EOVERFLOW instead when a\ndirectory entry is encountered that can\u0027t be properly represented.\n\nNote that this means that some inodes will not be stat\u0027able on a 32-bit\nsystem with old libraries where they were before - but it does mean that\nthere will be no ambiguity over what a 32-bit inode number refers to.\n\nNote similarly that directory scans may be cut short with an error on a\n32-bit system with old libraries where the scan would work before for the\nsame reasons.\n\nIt is judged unlikely that this situation will occur because modern glibc\nuses 64-bit capable versions of stat and getdents class functions\nexclusively, and that older systems are unlikely to encounter\nunrepresentable inode numbers anyway.\n\n[akpm: alpha build fix]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3f2e05e90e0846c42626e3d272454f26be34a1bc",
      "tree": "8a1701fcb7cde32373b6d7ceca09376416bf94eb",
      "parents": [
        "9ec52099e4b8678a60e9f93e41ad87885d64f3e6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Oct 02 14:12:31 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 08:03:31 2006 -0700"
      },
      "message": "[PATCH] BLOCK: Revert patch to hack around undeclared sigset_t in linux/compat.h\n\nRevert Andrew Morton\u0027s patch to temporarily hack around the lack of a\ndeclaration of sigset_t in linux/compat.h to make the block-disablement\npatches build on IA64.  This got accidentally pushed to Linus and should\nbe fixed in a different manner.\n\nAlso make linux/compat.h #include asm/signal.h to gain a definition of\nsigset_t so that it can externally declare sigset_from_compat().\n\nThis has been compile-tested for i386, x86_64, ia64, mips, mips64, frv, ppc and\nppc64 and run-tested on frv.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f0ab5147951267134612570604cf8341901a80c",
      "tree": "d394edb3ab69396128e7971136f05fd71d863ece",
      "parents": [
        "9acc1853519a0473620d424105f9d49ea5b4e62e"
      ],
      "author": {
        "name": "Jay Lan",
        "email": "jlan@engr.sgi.com",
        "time": "Sat Sep 30 23:28:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:29 2006 -0700"
      },
      "message": "[PATCH] csa: convert CONFIG tag for extended accounting routines\n\nThere were a few accounting data/macros that are used in CSA but are #ifdef\u0027ed\ninside CONFIG_BSD_PROCESS_ACCT.  This patch is to change those ifdef\u0027s from\nCONFIG_BSD_PROCESS_ACCT to CONFIG_TASK_XACCT.  A few defines are moved from\nkernel/acct.c and include/linux/acct.h to kernel/tsacct.c and\ninclude/linux/tsacct_kern.h.\n\nSigned-off-by: Jay Lan \u003cjlan@sgi.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Chris Sturtivant \u003ccsturtiv@sgi.com\u003e\nCc: Tony Ernst \u003ctee@sgi.com\u003e\nCc: Guillaume Thouvenin \u003cguillaume.thouvenin@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ee0b3e671baff681d69fbf0db33b47603c0a8280",
      "tree": "3202ff815b2196c6c353bc5b28d7a2800df273ec",
      "parents": [
        "027445c37282bc1ed26add45e573ad2d3e4860a5"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Remove readv/writev methods and use aio_read/aio_write instead\n\nThis patch removes readv() and writev() methods and replaces them with\naio_read()/aio_write() methods.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "07f3f05c1e3052b8656129b2a5aca9f888241a34",
      "tree": "3338b004d518a0d2189efdc3fb88e94e1c02c0ce",
      "parents": [
        "65e6f5bc8149165efb9d7bdbd142bb837d5edfeb"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Sep 30 20:52:18 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Sep 30 20:52:18 2006 +0200"
      },
      "message": "[PATCH] BLOCK: Move extern declarations out of fs/*.c into header files [try #6]\n\nCreate a new header file, fs/internal.h, for common definitions local to the\nsources in the fs/ directory.\n\nMove extern definitions that should be in header files from fs/*.c to\nfs/internal.h or other main header files where they span directories.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "758333458aa719bfc26ec16eafd4ad3a9e96014d",
      "tree": "84e4995b4e61b73ac1e235ea1554c75907ab08c4",
      "parents": [
        "95912008ba1fb9d0677c1ce5930aeb0e85ba5710"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Sep 26 10:52:39 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:39 2006 +0200"
      },
      "message": "[PATCH] Check return value of copy_to_user in compat_sys_pselect7\n\nFix\n\nlinux/fs/compat.c: In function compat_sys_pselect7\nlinux/fs/compat.c:1869: warning: ignoring return value of copy_to_user, declared with attribute warn_unused_result\n\nTo make it easier to handle I changed to semantics to not try to\nwrite out a timespec if an error occurred. I hope that\u0027s ok.\n\nCc: dwmw2@infradead.org\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "bebfa1013eee1d91b3242e5801cc8fbdfaf148ec",
      "tree": "d1abf916c29bbb5c312717f57798987268aff9a9",
      "parents": [
        "f201611fcecdfa825471dc425ee007997228fae4"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon Jun 26 13:56:52 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:48:16 2006 -0700"
      },
      "message": "[PATCH] x86_64: Add compat_printk and sysctl to turn off compat layer warnings\n\nSometimes e.g. with crashme the compat layer warnings can be noisy.\nAdd a way to turn them off by gating all output through compat_printk\nthat checks a global sysctl. The default is not changed.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "726c334223180e3c0197cc980a432681370d4baf",
      "tree": "8327b354bb3dc959a6606051ae6f8d4d035e38a2",
      "parents": [
        "454e2398be9b9fa30433fccc548db34d19aa9958"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to perform statfs with a known root dentry\n\nGive the statfs superblock operation a dentry pointer rather than a superblock\npointer.\n\nThis complements the get_sb() patch.  That reduced the significance of\nsb-\u003es_root, allowing NFS to place a fake root there.  However, NFS does\nrequire a dentry to use as a target for the statfs operation.  This permits\nthe root in the vfsmount to be used instead.\n\nlinux/mount.h has been added where necessary to make allyesconfig build\nsuccessfully.\n\nInterest has also been expressed for use with the FUSE and XFS filesystems.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d64b1c878fc1e384ae53d1d40034239bc33848f4",
      "tree": "fe31b26f2db18d021cf04181bd39e08b2beb17f1",
      "parents": [
        "84b3932bf0fd8cdc8c75a5be77e1dded1e6479c6"
      ],
      "author": {
        "name": "Lin Feng Shen",
        "email": "shenlinf@cn.ibm.com",
        "time": "Sat May 20 14:59:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 12:59:16 2006 -0700"
      },
      "message": "[PATCH] NFS: fix error handling on access_ok in compat_sys_nfsservctl\n\nFunctions compat_nfs_svc_trans, compat_nfs_clnt_trans,\ncompat_nfs_exp_trans, compat_nfs_getfd_trans and compat_nfs_getfs_trans,\nwhich are called by compat_sys_nfsservctl(fs/compat.c), don\u0027t handle the\nreturn value of access_ok properly.  access_ok return 1 when the addr is\nvalid, and 0 when it\u0027s not, but these functions have the reversed\nunderstanding.  When the address is valid, they always return -EFAULT to\ncompat_sys_nfsservctl.\n\nAn example is to run /usr/sbin/rpc.nfsd(32bit program on Power5).  It\ndoesn\u0027t function as expected.  strace showes that nfsservctl returns\n-EFAULT.\n\nThe patch fixes this by correcting the error handling on the return value\nof access_ok in the five functions.\n\nSigned-off-by: Lin Feng Shen \u003cshenlinf@cn.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3835a9bd07778d87dea37fbf190f70883515e8fc",
      "tree": "e094973e46552335bb1ecaa9eaee04788df45b16",
      "parents": [
        "bb53a76116a8af13ee2581c85c02fe40e0c1a599"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 15 09:44:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 15 11:20:57 2006 -0700"
      },
      "message": "[PATCH] fs/compat.c: fix \u0027if (a |\u003d b )\u0027 typo\n\nMentioned by Mark Armbrust somewhere on Usenet.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "98232d504db0a1f91ecaa93686ed3bf61963103b",
      "tree": "0034c6798c6463775da82e30561ef6a7e37c5a08",
      "parents": [
        "a0548871ed267ae12eb1c860c5aaebd9e466b34e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu May 04 09:13:49 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu May 04 09:13:49 2006 +0200"
      },
      "message": "[PATCH] compat_sys_vmsplice: one-off in UIO_MAXIOV check\n\nnr_segs may not be \u003e UIO_MAXIOV, however it may be equal to. This makes\nthe behaviour identical to the real sys_vmsplice(). The other foov\nsyscalls also agree that this is the way to go.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "d2610202290b4924b71747314a0f88f28807702e",
      "tree": "bdfde16e24caa597f66504d555b06ee2e480ef54",
      "parents": [
        "5e7dd2ab6b9bdfa60e19b8739e6b2a204fd4f477"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon May 01 12:15:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 01 18:17:43 2006 -0700"
      },
      "message": "[PATCH] x86_64: Add compat_sys_vmsplice and use it in x86-64\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7edf9cdeddc0cff125e8e658216efb2ff2b2219",
      "tree": "4a7c5c915a5d44a14f32261ada050021d91e3e56",
      "parents": [
        "a090d9132c1e53e3517111123680c15afb25c0a4"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Apr 26 02:45:03 2006 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 07:52:21 2006 -0700"
      },
      "message": "[PATCH] LSM: add missing hook to do_compat_readv_writev()\n\nThis patch addresses a flaw in LSM, where there is no mediation of readv()\nand writev() in for 32-bit compatible apps using a 64-bit kernel.\n\nThis bug was discovered and fixed initially in the native readv/writev\ncode [1], but was not fixed in the compat code.  Thanks to Al for spotting\nthis one.\n\n  [1] http://lwn.net/Articles/154282/\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68c3431ae22912be580c68d3955ef46515582943",
      "tree": "e65917db1f37eca94d6cc11221d9b99b01e27f80",
      "parents": [
        "e4a1f129f9e43a5e5d28fe6d1b214246a398cdce"
      ],
      "author": {
        "name": "Vadim Lobanov",
        "email": "vlobanov@speakeasy.net",
        "time": "Tue Mar 28 01:56:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:04 2006 -0800"
      },
      "message": "[PATCH] Fold select_bits_alloc/free into caller code.\n\nRemove an unnecessary level of indirection in allocating and freeing select\nbits, as per the select_bits_alloc() and select_bits_free() functions.\nBoth select.c and compat.c are updated.\n\nSigned-off-by: Vadim Lobanov \u003cvlobanov@speakeasy.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "11b0b5abb2097a63c1081d9b7e825b987b227972",
      "tree": "162c828c8d807a1b30869acbe11682dc9222dc16",
      "parents": [
        "656bde5728b824ca23fcab8bc5800b309ea48d64"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "neukum@fachschaft.cup.uni-muenchen.de",
        "time": "Sat Mar 25 03:08:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:23:00 2006 -0800"
      },
      "message": "[PATCH] use kzalloc and kcalloc in core fs code\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.name\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "57070d012cd425c3a71663528c56a436abd2d9da",
      "tree": "b5c4a356b9db70d59341695b8eca578d05f1972e",
      "parents": [
        "30087baf8810cd96b0ca2858993f29a89965ffff"
      ],
      "author": {
        "name": "Peter Staubach",
        "email": "staubach@redhat.com",
        "time": "Sat Mar 25 03:08:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:59 2006 -0800"
      },
      "message": "[PATCH] compat_sys_nfsservctl(): handle errors correctly\n\nCorrect some error handling on the compat version of the nfsservctl()\nsystem.  It was detecting errors while copying in the arguments from user\nspace, but then attempting to use the arguments anyway.  This didn\u0027t seem\nso good.\n\nSigned-off-by: Peter Staubach \u003cstaubach@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "82d821ddca8f5c990067cc37543010aa9346a172",
      "tree": "32e544f964f202d1ee7a135370ea0f6661098bcd",
      "parents": [
        "2ea1c5392cc8ce249fb661db4f4cdfbbae373a89"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@parisc-linux.org",
        "time": "Fri Mar 24 03:18:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:27 2006 -0800"
      },
      "message": "[PATCH] Conditionalize compat_sys_newfstatat\n\nIf we don\u0027t want sys_newfstatat because __ARCH_WANT_STAT64 is defined, then\nwe certainly don\u0027t want compat_sys_newfstatat either.\n\nSigned-off-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "74910e6c7dc7471b286a883c1a7af70483ffd2ba",
      "tree": "42314cf5882563b967284900a18e990b8a974a91",
      "parents": [
        "200a4552af34b9a32e1f68a881a9ed5c7ec699cc"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Feb 17 13:52:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 17 13:59:28 2006 -0800"
      },
      "message": "[PATCH] select: time comparison fixes\n\nI got all of these backwards.  We want to return\n\n\tmin(input timeout, new timeout)\n\nto userspace to prevent increasing the time-remaining value.\n\nThanks to Ernst Herzberg \u003cearny@net4u.de\u003e for reporting and diagnosing.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "643a654540579b0dcc7a206a4a7475276a41aff0",
      "tree": "e31d40e4362e4dc7823b7290c0de2a9353d3d117",
      "parents": [
        "33042a9ff4d126ba944b9dc3076665a2029e0a34"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Feb 11 17:55:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Feb 11 21:41:11 2006 -0800"
      },
      "message": "[PATCH] select: fix returned timeval\n\nWith David Woodhouse \u003cdwmw2@infradead.org\u003e\n\nselect() presently has a habit of increasing the value of the user\u0027s\n`timeout\u0027 argument on return.\n\nWe were writing back a timeout larger than the original.  We _deliberately_\nround up, since we know we must wait at _least_ as long as the caller asks\nus to.\n\nThe patch adds a couple of helper functions for magnitude comparison of\ntimespecs and of timevals, and uses them to prevent the various poll and\nselect functions from returning a timeout which is larger than the one which\nwas passed in.\n\nThe patch also fixes a bug in compat_sys_pselect7(): it was adding the new\ntimeout value to the old one and was returning that.  It should just return\nthe new timeout value.\n\n(We have various handy timespec/timeval-to-from-nsec conversion functions in\ntime.h.  But this code open-codes it all).\n\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: george anzinger \u003cgeorge@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ad11ab48b1ad618bf47076e9e579f267f5306c2",
      "tree": "b0b06f4455d9796fc5003add2067f2dbc225fc53",
      "parents": [
        "8aeba3c62a64e0f6527d1a0388b1a6a7060158ba"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu Feb 02 16:11:51 2006 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 22:04:33 2006 -0800"
      },
      "message": "[PATCH] compat: fix compat_sys_openat and friends\n\nMost of the 64 bit architectures will zero extend the first argument to\ncompat_sys_{openat,newfstatat,futimesat} which will fail if the 32 bit\nsyscall was passed AT_FDCWD (which is a small negative number).  Declare\nthe first argument to be an unsigned int which will force the correct\nsign extension when the internal functions are called in each case.\n\nAlso, do some small white space cleanups in fs/compat.c.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cb82a6cdf994d6656ad0a25ed28395af3416a27c",
      "tree": "4909677ccac581360f41722bb45c724b6fa01eee",
      "parents": [
        "4ff0c007b2854b9ca4dca3a104ee3e4c146c02d6"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Feb 01 03:04:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:10 2006 -0800"
      },
      "message": "[PATCH] compat_sys_pselect7() fix\n\nfs/compat.c: In function `compat_sys_pselect7\u0027:\nfs/compat.c:1820: warning: passing arg 5 of `compat_core_sys_select\u0027 from incompatible pointer type\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7e732bfc5570b8f9bb5f155cf36e94b2e7d6bf6a",
      "tree": "f1f15646c7a9488cf0cd0838d04b8bde1193ef21",
      "parents": [
        "0f36b018b2e314d45af86449f1a97facb1fbe300"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 19 16:40:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jan 19 22:11:31 2006 -0800"
      },
      "message": "[PATCH] Fix regression added by ppoll/pselect code.\n\nThe compat layer timeout handling changes in:\n\n9f72949f679df06021c9e43886c9191494fdb007\n\nare busted.  This is most easily seen with an X application\nthat uses sub-second select/poll timeout such as emacs.  You\nhit a key and it takes a second or so before the app responds.\n\nThe two ROUND_UP() calls upon entry are using {tv,ts}_sec where it\nshould instead be using {tv_usec,ts_nsec}, which perfectly explains\nthe observed incorrect behavior.\n\nAnother bug shot down with git bisect.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9f72949f679df06021c9e43886c9191494fdb007",
      "tree": "f4d76ed281b34e195db7741b69a7d095e168a864",
      "parents": [
        "36a7878a224c18aa4a5e098dc93d19cf5601462b"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Jan 18 17:44:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:30 2006 -0800"
      },
      "message": "[PATCH] Add pselect/ppoll system call implementation\n\nThe following implementation of ppoll() and pselect() system calls\ndepends on the architecture providing a TIF_RESTORE_SIGMASK flag in the\nthread_info.\n\nThese system calls have to change the signal mask during their\noperation, and signal handlers must be invoked using the new, temporary\nsignal mask. The old signal mask must be restored either upon successful\nexit from the system call, or upon returning from the invoked signal\nhandler if the system call is interrupted. We can\u0027t simply restore the\noriginal signal mask and return to userspace, since the restored signal\nmask may actually block the signal which interrupted the system call.\n\nThe TIF_RESTORE_SIGMASK flag deals with this by causing the syscall exit\npath to trap into do_signal() just as TIF_SIGPENDING does, and by\ncausing do_signal() to use the saved signal mask instead of the current\nsignal mask when setting up the stack frame for the signal handler -- or\nby causing do_signal() to simply restore the saved signal mask in the\ncase where there is no handler to be invoked.\n\nThe first patch implements the sys_pselect() and sys_ppoll() system\ncalls, which are present only if TIF_RESTORE_SIGMASK is defined. That\n#ifdef should go away in time when all architectures have implemented\nit. The second patch implements TIF_RESTORE_SIGMASK for the PowerPC\nkernel (in the -mm tree), and the third patch then removes the\narch-specific implementations of sys_rt_sigsuspend() and replaces them\nwith generic versions using the same trick.\n\nThe fourth and fifth patches, provided by David Howells, implement\nTIF_RESTORE_SIGMASK for FR-V and i386 respectively, and the sixth patch\nadds the syscalls to the i386 syscall table.\n\nThis patch:\n\nAdd the pselect() and ppoll() system calls, providing core routines usable by\nthe original select() and poll() system calls and also the new calls (with\ntheir semantics w.r.t timeouts).\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5590ff0d5528b60153c0b4e7b771472b5a95e297",
      "tree": "5fdccf2354269702f71beb8e0a2942e4167fd992",
      "parents": [
        "e2f99018eb7b29954747a2dd78e9fc0c36a60f0f"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jan 18 17:43:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:29 2006 -0800"
      },
      "message": "[PATCH] vfs: *at functions: core\n\nHere is a series of patches which introduce in total 13 new system calls\nwhich take a file descriptor/filename pair instead of a single file\nname.  These functions, openat etc, have been discussed on numerous\noccasions.  They are needed to implement race-free filesystem traversal,\nthey are necessary to implement a virtual per-thread current working\ndirectory (think multi-threaded backup software), etc.\n\nWe have in glibc today implementations of the interfaces which use the\n/proc/self/fd magic.  But this code is rather expensive.  Here are some\nresults (similar to what Jim Meyering posted before).\n\nThe test creates a deep directory hierarchy on a tmpfs filesystem.  Then\nrm -fr is used to remove all directories.  Without syscall support I get\nthis:\n\nreal    0m31.921s\nuser    0m0.688s\nsys     0m31.234s\n\nWith syscall support the results are much better:\n\nreal    0m20.699s\nuser    0m0.536s\nsys     0m20.149s\n\nThe interfaces are for obvious reasons currently not much used.  But they\u0027ll\nbe used.  coreutils (and Jeff\u0027s posixutils) are already using them.\nFurthermore, code like ftw/fts in libc (maybe even glob) will also start using\nthem.  I expect a patch to make follow soon.  Every program which is walking\nthe filesystem tree will benefit.\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "858119e159384308a5dde67776691a2ebf70df0f",
      "tree": "f360768f999d51edc0863917ce0bf79e88c0ec4c",
      "parents": [
        "b0a9499c3dd50d333e2aedb7e894873c58da3785"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sat Jan 14 13:20:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:27:06 2006 -0800"
      },
      "message": "[PATCH] Unlinline a bunch of other functions\n\nRemove the \"inline\" keyword from a bunch of big functions in the kernel with\nthe goal of shrinking it by 30kb to 40kb\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2520f14ca85e38f575eed6acc6e586df246abea6",
      "tree": "1e0a1f3b0b44dc3069323eb26106312618352156",
      "parents": [
        "4a30131e7dbb17e5fec6958bfac9da9aff1fa29b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sun Jan 08 01:02:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:52 2006 -0800"
      },
      "message": "[PATCH] Fix overflow tests for compat_sys_fcntl64 locking\n\nWhen making an fctl locking call through compat_sys_fcntl64 (i.e.  a 32bit\napp on a 64bit kernel), the syscall can return a locking range that is in\nconflict with the queried lock.\n\nIf some aspect of this range does not fit in the 32bit structure, something\nneeds to be done.\n\nThe current code is wrong in several respects:\n\n- It returns data to userspace even if no conflict was found\n   i.e. it should check l_type for F_UNLCK\n- It returns -EOVERFLOW too agressively.   A lock range covering\n  the last possible byte of the file (start \u003d COMPAT_OFF_T_MAX,\n  len \u003d 1) should be possible, but is rejected with the current test.\n- A extra-long \u0027len\u0027 should not be a problem.  If only that part\n  of the conflicting lock that would be visible to the 32bit\n  app needs to be reported to the 32bit app anyway.\n\nThis patch addresses those three issues and adds a comment to (hopefully)\nrecord it for posterity.\n\nNote: this patch mainly affects test-cases.  Real applications rarely is\never see the problems.\n\nThis patch has been tested (LSB test suite), and works.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e28cc71572da38a5a12c1cfe4d7032017adccf69",
      "tree": "bea9af22a98ea2988a38f5e9fc2467ccbbf3ae70",
      "parents": [
        "a020ff412f0ecbb1e4aae1681b287e5785dd77b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 04 16:20:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 04 16:20:40 2006 -0800"
      },
      "message": "Relax the rw_verify_area() error checking.\n\nIn particular, allow over-large read- or write-requests to be downgraded\nto a more reasonable range, rather than considering them outright errors.\n\nWe want to protect lower layers from (the sadly all too common) overflow\nconditions, but prefer to do so by chopping the requests up, rather than\njust refusing them outright.\n\nCc: Peter Anvin \u003chpa@zytor.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "86e07ce71a8aad5074f7316f9b297d2137630283",
      "tree": "ee1b37dd5bda4868fb3eb0dd34dd446fe73d8141",
      "parents": [
        "f3d48f0373c14a6203202f7b1dfc7b0d8aaf6ed2"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Mon Nov 21 21:32:23 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:13:43 2005 -0800"
      },
      "message": "[PATCH] Fix error handling with put_compat_statfs()\n\nIn fs/compat.c, whenever put_compat_statfs() returns an error, the\ncontaining syscall returns -EFAULT.  This is presumably by analogy with the\nnon-compat case, where any non-zero code from copy_to_user() should be\ntranslated into an EFAULT.  However, put_compat_statfs() is also return\n-EOVERFLOW.  The same applies for put_compat_statfs64().\n\nThis bug can be observed with a statfs() on a hugetlbfs directory.\nhugetlbfs, when mounted without limits reports available, free and total\nblocks as -1 (itself a bug, another patch coming).  statfs() will\nmysteriously return EFAULT although it\u0027s parameters are perfectly valid\naddresses.\n\nThis patch causes the compat versions of statfs() and statfs64() to\ncorrectly propogate the return values from put_compat_statfs() and\nput_compat_statfs64().\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9e18fcdd346c6befdac360c047327fb058f33628",
      "tree": "12d9413d14ebb8febe14096bf75c37ed7fc0bf3c",
      "parents": [
        "e6c667592e824c2871fe0ae3bc4b9bc7e81941f4"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sun Nov 20 18:49:08 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 20 11:52:59 2005 -0800"
      },
      "message": "[PATCH] Remove compat ioctl semaphore\n\nOriginally for 2.6.16, but the semaphore causes problems for some\npeople so get rid of it now.\n\nIt\u0027s not needed anymore because the ioctl hash table is never changed\nat run time now.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "365e9c87a982c03d0af3886e29d877f581b59611",
      "tree": "d06c1918ca9fe6677d7e4e869555e095004274f7",
      "parents": [
        "861f2fb8e796022b4928cab9c74fca6681a1c557"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:39 2005 -0700"
      },
      "message": "[PATCH] mm: update_hiwaters just in time\n\nupdate_mem_hiwater has attracted various criticisms, in particular from those\nconcerned with mm scalability.  Originally it was called whenever rss or\ntotal_vm got raised.  Then many of those callsites were replaced by a timer\ntick call from account_system_time.  Now Frank van Maarseveen reports that to\nbe found inadequate.  How about this?  Works for Frank.\n\nReplace update_mem_hiwater, a poor combination of two unrelated ops, by macros\nupdate_hiwater_rss and update_hiwater_vm.  Don\u0027t attempt to keep\nmm-\u003ehiwater_rss up to date at timer tick, nor every time we raise rss (usually\nby 1): those are hot paths.  Do the opposite, update only when about to lower\nrss (usually by many), or just before final accounting in do_exit.  Handle\nmm-\u003ehiwater_vm in the same way, though it\u0027s much less of an issue.  Demand\nthat whoever collects these hiwater statistics do the work of taking the\nmaximum with rss or total_vm.\n\nAnd there has been no collector of these hiwater statistics in the tree.  The\nnew convention needs an example, so match Frank\u0027s usage by adding a VmPeak\nline above VmSize to /proc/\u003cpid\u003e/status, and also a VmHWM line above VmRSS\n(High-Water-Mark or High-Water-Memory).\n\nThere was a particular anomaly during mremap move, that hiwater_vm might be\ncaptured too high.  A fleeting such anomaly remains, but it\u0027s quickly\ncorrected now, whereas before it would stick.\n\nWhat locking?  None: if the app is racy then these statistics will be racy,\nit\u0027s not worth any overhead to make them exact.  But whenever it suits,\nhiwater_vm is updated under exclusive mmap_sem, and hiwater_rss under\npage_table_lock (for now) or with preemption disabled (later on): without\ngoing to any trouble, minimize the time between reading current values and\nupdating, to minimize those occasions when a racing thread bumps a count up\nand back down in between.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4a805e863d6b9466baf7084e1d6fdbe6e0628d8e",
      "tree": "531d26f7f339f316da8d932538e4dcf9c580461d",
      "parents": [
        "1619cca2921f6927f4240e03f413d4165c7002fc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 14 21:40:00 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 14 21:40:00 2005 -0700"
      },
      "message": "[COMPAT]: Fixup compat_do_execve()\n\nMissing acct_update_integrals() and update_mem_hiwater() calls\ncompared to it\u0027s native counterpart.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac5b8b6f22118620cd1133d9943b1f31dc40a913",
      "tree": "f38aa7461c85861ae74f72c33d1556686e1909cb",
      "parents": [
        "f0eca9626c6becb6fc56106b2e4287c6c784af3d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 15:42:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 15:42:34 2005 -0700"
      },
      "message": "Preempt-safe RCU file usage\n\nFix up fs/compat.c fixes.\n"
    },
    {
      "commit": "a4531edd75522804dd2b268d8ccc5eaa70748011",
      "tree": "79d75a2f0e21c8f97e6a8ac25104bd726f48a9a8",
      "parents": [
        "1d8674edb534a3c5cb549bfde5a39fa5598cb3bc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 15:10:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 15:10:52 2005 -0700"
      },
      "message": "Fix up lost patch in compat_sys_select() for new RCU files world order\n\nAndrew lost this in patch reject resolution, and never noticed, since\nthe compat code isn\u0027t in use on x86.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e922efc342d565a38eed3af377ff403f52148864",
      "tree": "b9996a96ed1bbb6e387f7ba8216f8e43ca640398",
      "parents": [
        "ab8d11beb46f0bd0617e04205c01f5c1fe845b61"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Sep 06 15:18:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:43 2005 -0700"
      },
      "message": "[PATCH] remove duplicated sys_open32() code from 64bit archs\n\n64 bit architectures all implement their own compatibility sys_open(),\nwhen in fact the difference is simply not forcing the O_LARGEFILE\nflag.  So use the a common function instead.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5dd42c262bd742fa3602180bbe5550b4828de8f3",
      "tree": "71978aaaf162833e84027e8307fc5f28cbcd3b7a",
      "parents": [
        "3676347a5e216a7fec7f8eedbbcf8bed6b9c4e40"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Sep 06 15:16:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:20 2005 -0700"
      },
      "message": "[PATCH] remove register_ioctl32_conversion and unregister_ioctl32_conversion\n\nAll users have been converted.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.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": "0eeca28300df110bd6ed54b31193c83b87921443",
      "tree": "7db42d8a18d80eca538f5b7d25e0532b8fa38b85",
      "parents": [
        "bd4c625c061c2a38568d0add3478f59172455159"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rml@novell.com",
        "time": "Tue Jul 12 17:06:03 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 20:38:38 2005 -0700"
      },
      "message": "[PATCH] inotify\n\ninotify is intended to correct the deficiencies of dnotify, particularly\nits inability to scale and its terrible user interface:\n\n        * dnotify requires the opening of one fd per each directory\n          that you intend to watch. This quickly results in too many\n          open files and pins removable media, preventing unmount.\n        * dnotify is directory-based. You only learn about changes to\n          directories. Sure, a change to a file in a directory affects\n          the directory, but you are then forced to keep a cache of\n          stat structures.\n        * dnotify\u0027s interface to user-space is awful.  Signals?\n\ninotify provides a more usable, simple, powerful solution to file change\nnotification:\n\n        * inotify\u0027s interface is a system call that returns a fd, not SIGIO.\n\t  You get a single fd, which is select()-able.\n        * inotify has an event that says \"the filesystem that the item\n          you were watching is on was unmounted.\"\n        * inotify can watch directories or files.\n\nInotify is currently used by Beagle (a desktop search infrastructure),\nGamin (a FAM replacement), and other projects.\n\nSee Documentation/filesystems/inotify.txt.\n\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5fc3e624ad7278604628c598e92aa77c67064166",
      "tree": "7570fde464d579ce455c865f07a613e967e9396c",
      "parents": [
        "fc67b16ecaf6ebde04096030c268adddade023f1"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Apr 27 15:39:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Wed Apr 27 15:39:03 2005 -0700"
      },
      "message": "[PATCH] NFS4: Don\u0027t use __user with compat_uptr_t\n\nThe attached patch removes __user from compat_uptr_t types in the NFS4 mount\n32-bit-\u003e64-bit compatibility structures.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a9947bf7a3a14d2107cb9a27279fc8f463370a9",
      "tree": "7e90be835df68f4821ffa7264eec7a6c5b03f1d3",
      "parents": [
        "219f0817038cabc722968e914490adf6b686499e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Apr 18 10:54:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Apr 18 10:54:51 2005 -0700"
      },
      "message": "[PATCH] Add 32-bit compatibility for NFSv4 mount\n\nThis adds 32-bit compatibility for mounting an NFSv4 mount on a 64-bit\nkernel (such as happens with PPC64). \n\nThe problem is that the mount data for the NFS4 mount process includes\nauxilliary data pointers, probably because the NFS4 mount data may\nconceivably exceed PAGE_SIZE in size - thus breaking against the hard\nlimit imposed by sys_mount(). \n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\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"
    }
  ]
}
