)]}'
{
  "log": [
    {
      "commit": "0abbb609ac511fc226b8b1082613193c8ecf8324",
      "tree": "dc70af8cdfae534b4538fae571525fc5282f224f",
      "parents": [
        "b8a3c6091a2337391ed878693604d712d6420241"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 28 19:06:15 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 04 17:16:27 2010 -0400"
      },
      "message": "mqueue doesn\u0027t need make_bad_inode()\n\nIt never hashes them anyway and does final iput() immediately\nafterwards.  With -\u003edrop_inode() being generic_delete_inode()...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "164d44fd92e79d5bce54d0d62df9f856f7b23925",
      "tree": "9f21607849b7e684b255578ffdf41951bc31787e",
      "parents": [
        "5bfec46baa3a752393433b8d89d3b2c70820f61d",
        "d7e81c269db899b800e0963dc4aceece1f82a680"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 19 17:11:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 19 17:11:10 2010 -0700"
      },
      "message": "Merge branch \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clocksource: Add clocksource_register_hz/khz interface\n  posix-cpu-timers: Optimize run_posix_cpu_timers()\n  time: Remove xtime_cache\n  mqueue: Convert message queue timeout to use hrtimers\n  hrtimers: Provide schedule_hrtimeout for CLOCK_REALTIME\n  timers: Introduce the concept of timer slack for legacy timers\n  ntp: Remove tickadj\n  ntp: Make time_adjust static\n  time: Add xtime, wall_to_monotonic to feature-removal-schedule\n  timer: Try to survive timer callback preempt_count leak\n  timer: Split out timer function call\n  timer: Print function name for timer callbacks modifying preemption count\n  time: Clean up warp_clock()\n  cpu-timers: Avoid iterating over all threads in fastpath_timer_check()\n  cpu-timers: Change SIGEV_NONE timer implementation\n  cpu-timers: Return correct previous timer reload value\n  cpu-timers: Cleanup arm_timer()\n  cpu-timers: Simplify RLIMIT_CPU handling\n"
    },
    {
      "commit": "a3ed2a15719219769bb095b28009c1d654a419e8",
      "tree": "22039574b16ad79f9eba06317e8f1ad7cd9d53c3",
      "parents": [
        "de145b44b95b9d3212a82d1c0f29b09778ef33c5"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Tue May 11 14:07:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "mqueue: fix kernel BUG caused by double free() on mq_open()\n\nIn case of aborting because we reach the maximum amount of memory which\ncan be allocated to message queues per user (RLIMIT_MSGQUEUE), we would\ntry to free the message area twice when bailing out: first by the error\nhandling code itself, and then later when cleaning up the inode through\ndelete_inode().\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@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": "dbb6be6d5e974c42bbecd183effaa0df69e1dd8b",
      "tree": "5735cb47e70853d057a9881dd0ce44b83e88fa63",
      "parents": [
        "6a867a395558a7f882d041783e4cdea6744ca2bf",
        "b57f95a38233a2e73b679bea4a5453a1cc2a1cc9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 10 11:59:37 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 10 14:20:42 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/core\n\nReason: Further posix_cpu_timer patches depend on mainline changes\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9ca7d8e6834c40a99622bbe4a88aaf64313ae43c",
      "tree": "27c0e93e23c25a30aec38c1f79cfa3d194681d24",
      "parents": [
        "351b3f7a21e413a9b14d0393171497d2373bd702"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "C.Emde@osadl.org",
        "time": "Fri Apr 02 22:40:20 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 06 21:50:03 2010 +0200"
      },
      "message": "mqueue: Convert message queue timeout to use hrtimers\n\nThe message queue functions mq_timedsend() and mq_timedreceive()\nhave not yet been converted to use the hrtimer interface.\n\nThis patch replaces the call to schedule_timeout() by a call to\nschedule_hrtimeout() and transforms the expiration time from\ntimespec to ktime as required.\n\n[ tglx: Fixed whitespace wreckage ]\n\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nTested-by: Pradyumna Sampath \u003cpradysam@gmail.com\u003e\nCc: Arjan van de Veen \u003carjan@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c20100402204331.715783034@osadl.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "f1eb1332b8f07e937add24c6fd2ac40b8737a2f4",
      "tree": "43bfaac596ae20dcab088b870406e58a2bb4b78a",
      "parents": [
        "d6db2ade10852b7c665b361239c3411abaa880b5"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Mar 10 15:23:05 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:39 2010 -0800"
      },
      "message": "ipc: use rlimit helpers\n\nMake sure compiler won\u0027t do weird things with limits.  E.g.  fetching them\ntwice may return 2 different values after writable limits are implemented.\n\nI.e.  either use rlimit helpers added in\n3e10e716abf3c71bdb5d86b8f507f9e72236c9cd (\"resource: add helpers for\nfetching rlimits\") or ACCESS_ONCE if not applicable.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2329e392accdb1b277927e8d9cbf568ba3f3856d",
      "tree": "f2484c1e6858e1fb8c4f6a4d0549782c7b8b8d05",
      "parents": [
        "8d8ffefaaf63f0468f17fbd1270165e739cf335e"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Tue Feb 23 04:04:27 2010 -0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 14:48:00 2010 -0500"
      },
      "message": "mqueue: fix typo \"failues\" -\u003e \"failures\"\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8d8ffefaaf63f0468f17fbd1270165e739cf335e",
      "tree": "8e6c8c356c98b94775076c93598e485c9a125cf2",
      "parents": [
        "04db0dde0ee1c29110642dff57fba9e438eb805c"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Tue Feb 23 04:04:26 2010 -0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 14:48:00 2010 -0500"
      },
      "message": "mqueue: only set error codes if they are really necessary\n\n... postponing assignments until they\u0027re needed. Doesn\u0027t change code size.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "04db0dde0ee1c29110642dff57fba9e438eb805c",
      "tree": "ca80ec3e48470f70d233fcabf4c8d79c4b3c4bc7",
      "parents": [
        "8834cf796a4320be2d3a70b1e4f9aba732a0f4ee"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Tue Feb 23 04:04:25 2010 -0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 14:48:00 2010 -0500"
      },
      "message": "mqueue: simplify do_open() error handling\n\nIt reduces code size:\ntext    data     bss     dec     hex filename\n9925      72      16   10013    271d ipc/mqueue-BEFORE.o\n9885      72      16    9973    26f5 ipc/mqueue-AFTER.o\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8834cf796a4320be2d3a70b1e4f9aba732a0f4ee",
      "tree": "b8bde5dde82715a3e69cf5fc0e01430c848588f5",
      "parents": [
        "c8308b1c91056b09e96d40dbde4880ea685c377e"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Tue Feb 23 04:04:24 2010 -0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 14:48:00 2010 -0500"
      },
      "message": "mqueue: apply mathematics distributivity on mq_bytes calculation\n\nCode size reduction:\n   text    data     bss     dec     hex filename\n   9941      72      16   10029    272d ipc/mqueue-BEFORE.o\n   9925      72      16   10013    271d ipc/mqueue-AFTER.o\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c8308b1c91056b09e96d40dbde4880ea685c377e",
      "tree": "bfaf1f636ef161f5410cd8ba8a1e3b023fd0c33b",
      "parents": [
        "4294a8eedb17bbc45e1e7447c2a4d05332943248"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Tue Feb 23 04:04:23 2010 -0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 14:47:59 2010 -0500"
      },
      "message": "mqueue: remove unneeded info-\u003emessages initialization\n\n... and abort earlier if we couldn\u0027t allocate the message pointers array,\navoiding the u-\u003emq_bytes accounting logic.\n\nIt reduces code size:\n   text    data     bss     dec     hex filename\n   9949      72      16   10037    2735 ipc/mqueue-BEFORE.o\n   9941      72      16   10029    272d ipc/mqueue-AFTER.o\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4294a8eedb17bbc45e1e7447c2a4d05332943248",
      "tree": "db83b372de61b43208e08a97dd5f0280552d7ffa",
      "parents": [
        "4919c5e45a91b5db5a41695fe0357fbdff0d5767"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Tue Feb 23 04:04:28 2010 -0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 14:46:05 2010 -0500"
      },
      "message": "mqueue: fix mq_open() file descriptor leak on user-space processes\n\nWe leak fd on lookup_one_len() failure\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b65a9cfc2c38eebc33533280b8ad5841caee8b6e",
      "tree": "d6e5b713615cc5e65c900162ab09235ae4847909",
      "parents": [
        "0552f879d45cecc35d8e372a591fc5ed863bca58"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 16 06:27:40 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 16 12:16:47 2009 -0500"
      },
      "message": "Untangling ima mess, part 2: deal with counters\n\n* do ima_get_count() in __dentry_open()\n* stop doing that in followups\n* move ima_path_check() to right after nameidata_to_filp()\n* don\u0027t bump counters on it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b87221de6a4934eda856475a0065688d12973a04",
      "tree": "6bcf0628e106c4833538f4c23d710fbbe3d7609a",
      "parents": [
        "0d54b217a247f39605361f867fefbb9e099a5432"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:24 2009 -0700"
      },
      "message": "const: mark remaining super_operations const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "46690f3718d95e9bb712b6f2b5c869f8494521de",
      "tree": "3720022762b6df7c635b6a07e5c779e9b01ead63",
      "parents": [
        "4142ac678a864972ce1dfad6d9cb22f075fee5de"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Fri Jun 26 11:24:05 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jun 29 08:56:46 2009 +1000"
      },
      "message": "integrity: ima mq_open imbalance msg fix\n\nThis patch fixes an imbalance message as reported by Sanchin Sant.\nAs we don\u0027t need to measure the message queue, just increment the\ncounters.\n\nReported-by: Sanchin Sant \u003csanchinp@in.ibm.com\u003e\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "bdc8e5f85f9abe2e7c78dcf39d81f9a97178788b",
      "tree": "a25a9d10f3686c4cb309d2477376ee585322ef43",
      "parents": [
        "7eafd7c74c3f2e67c27621b987b28397110d643f"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Apr 06 19:01:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:09 2009 -0700"
      },
      "message": "namespaces: mqueue namespace: adapt sysctl\n\nLargely inspired from ipc/ipc_sysctl.c.  This patch isolates the mqueue\nsysctl stuff in its own file.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "7eafd7c74c3f2e67c27621b987b28397110d643f",
      "tree": "b4621aab78b6303f20386096c230b993044a4db7",
      "parents": [
        "614b84cf4e4a920d2af32b8f147ea1e3b8c27ea6"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Apr 06 19:01:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:09 2009 -0700"
      },
      "message": "namespaces: ipc namespaces: implement support for posix msqueues\n\nImplement multiple mounts of the mqueue file system, and link it to usage\nof CLONE_NEWIPC.\n\nEach ipc ns has a corresponding mqueuefs superblock.  When a user does\nclone(CLONE_NEWIPC) or unshare(CLONE_NEWIPC), the unshare will cause an\ninternal mount of a new mqueuefs sb linked to the new ipc ns.\n\nWhen a user does \u0027mount -t mqueue mqueue /dev/mqueue\u0027, he mounts the\nmqueuefs superblock.\n\nPosix message queues can be worked with both through the mq_* system calls\n(see mq_overview(7)), and through the VFS through the mqueue mount.  Any\nusage of mq_open() and friends will work with the acting task\u0027s ipc\nnamespace.  Any actions through the VFS will work with the mqueuefs in\nwhich the file was created.  So if a user doesn\u0027t remount mqueuefs after\nunshare(CLONE_NEWIPC), mq_open(\"/ab\") will not be reflected in \"ls\n/dev/mqueue\".\n\nIf task a mounts mqueue for ipc_ns:1, then clones task b with a new ipcns,\nipcns:2, and then task a is the last task in ipc_ns:1 to exit, then (1)\nipc_ns:1 will be freed, (2) it\u0027s superblock will live on until task b\numounts the corresponding mqueuefs, and vfs actions will continue to\nsucceed, but (3) sb-\u003es_fs_info will be NULL for the sb corresponding to\nthe deceased ipc_ns:1.\n\nTo make this happen, we must protect the ipc reference count when\n\na) a task exits and drops its ipcns-\u003ecount, since it might be dropping\n   it to 0 and freeing the ipcns\n\nb) a task accesses the ipcns through its mqueuefs interface, since it\n   bumps the ipcns refcount and might race with the last task in the ipcns\n   exiting.\n\nSo the kref is changed to an atomic_t so we can use\natomic_dec_and_lock(\u0026ns-\u003ecount,mq_lock), and every access to the ipcns\nthrough ns \u003d mqueuefs_sb-\u003es_fs_info is protected by the same lock.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "614b84cf4e4a920d2af32b8f147ea1e3b8c27ea6",
      "tree": "52478e38cd400042bd89f123c4101c95943ae492",
      "parents": [
        "909e6d94795654040ed416ac69858d5d2ce66dd3"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Apr 06 19:01:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:09 2009 -0700"
      },
      "message": "namespaces: mqueue ns: move mqueue_mnt into struct ipc_namespace\n\nMove mqueue vfsmount plus a few tunables into the ipc_namespace struct.\nThe CONFIG_IPC_NS boolean and the ipc_namespace struct will serve both the\nposix message queue namespaces and the SYSV ipc namespaces.\n\nThe sysctl code will be fixed separately in patch 3.  After just this\npatch, making a change to posix mqueue tunables always changes the values\nin the initial ipc namespace.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "ce3b0f8d5c2203301fc87f3aaaed73e5819e2a48",
      "tree": "ab952affafe18e604f6aaf6b13315b9435588e60",
      "parents": [
        "f1191b50ec11c8e2ca766d6d99eb5bb9d2c084a3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 29 19:08:22 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 31 23:00:26 2009 -0400"
      },
      "message": "New helper - current_umask()\n\ncurrent-\u003efs-\u003eumask is what most of fs_struct users are doing.\nPut that into a helper function.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "db1dd4d376134eba0e08af523b61cc566a4ea1cd",
      "tree": "8882c673abbaa5713511b7046493fa862b9140d1",
      "parents": [
        "684999149002dd046269666a390458e0acb38280"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Feb 06 15:25:24 2009 -0700"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Mar 16 08:32:27 2009 -0600"
      },
      "message": "Use f_lock to protect f_flags\n\nTraditionally, changes to struct file-\u003ef_flags have been done under BKL\nprotection, or with no protection at all.  This patch causes all f_flags\nchanges after file open/creation time to be done under protection of\nf_lock.  This allows the removal of some BKL usage and fixes a number of\nlongstanding (if microscopic) races.\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "c4ea37c26a691ad0b7e86aa5884aab27830e95c9",
      "tree": "4a3bd25e61cd3782f535ad2140a01bf3835dca4f",
      "parents": [
        "d5460c9974a321a194aded4a8c4daaac68ea8171"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:28 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:29 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 26\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "d5460c9974a321a194aded4a8c4daaac68ea8171",
      "tree": "26c70e33e9c8ca61a8d2d88422a9672200501754",
      "parents": [
        "e48fbb699f82ef1e80bd7126046394d2dc9ca7e6"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:27 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:28 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 25\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "2ed7c03ec17779afb4fcfa3b8c61df61bd4879ba",
      "tree": "4e0fefd574bab5470a02edf439727f472a9663c6",
      "parents": [
        "4c696ba7982501d43dea11dbbaabd2aa8a19cc42"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:13:54 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:14 2009 +0100"
      },
      "message": "[CVE-2009-0029] Convert all system calls to return a long\n\nConvert all system calls to return a long. This should be a NOP since all\nconverted types should have the same size anyway.\nWith the exception of sys_exit_group which returned void. But that doesn\u0027t\nmatter since the system call doesn\u0027t return.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "a6684999f7c6bddd75cf9755ad7ff44435f72fff",
      "tree": "4275daa54c1868ab289e361fec0ced01c891ec33",
      "parents": [
        "61bce0f1371cfff497fe85594fd39d1a0b15ebe1"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Wed Jan 07 18:08:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:12 2009 -0800"
      },
      "message": "mqueue: fix si_pid value in mqueue do_notify()\n\nIf a process registers for asynchronous notification on a POSIX message\nqueue, it gets a signal and a siginfo_t structure when a message arrives\non the message queue.  The si_pid in the siginfo_t structure is set to the\nPID of the process that sent the message to the message queue.\n\nThe principle is the following:\n. when mq_notify(SIGEV_SIGNAL) is called, the caller registers for\n  notification when a msg arrives. The associated pid structure is stroed into\n  inode_info-\u003enotify_owner. Let\u0027s call this process P1.\n. when mq_send() is called by say P2, P2 sends a signal to P1 to notify\n  him about msg arrival.\n\nThe way .si_pid is set today is not correct, since it doesn\u0027t take into account\nthe fact that the process that is sending the message might not be in the\nsame namespace as the notified one.\n\nThis patch proposes to set si_pid to the sender\u0027s pid into the notify_owner\nnamespace.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Bastian Blank \u003cbastian@waldi.eu.org\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Serge Hallyn \u003cserue@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": "520c85346666d4d9a6fcaaa8450542302dc28b91",
      "tree": "9c9cc9e2493b606104dd8602302ae28258ebeac0",
      "parents": [
        "e8c82c2e23e3527e0c9dc195e432c16784d270fa",
        "4ae8978cf92a96257cd8998a49e781be83571d64"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:06 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  inotify: fix type errors in interfaces\n  fix breakage in reiserfs_new_inode()\n  fix the treatment of jfs special inodes\n  vfs: remove duplicate code in get_fs_type()\n  add a vfs_fsync helper\n  sys_execve and sys_uselib do not call into fsnotify\n  zero i_uid/i_gid on inode allocation\n  inode-\u003ei_op is never NULL\n  ntfs: don\u0027t NULL i_op\n  isofs check for NULL -\u003ei_op in root directory is dead code\n  affs: do not zero -\u003ei_op\n  kill suid bit only for regular files\n  vfs: lseek(fd, 0, SEEK_CUR) race condition\n"
    },
    {
      "commit": "56ff5efad96182f4d3cb3dc6b07396762c658f16",
      "tree": "cb91f93aa2324573527165d56d230b606a3111ed",
      "parents": [
        "acfa4380efe77e290d3a96b11cd4c9f24f4fbb18"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 09 09:34:39 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 05 11:54:28 2009 -0500"
      },
      "message": "zero i_uid/i_gid on inode allocation\n\n... and don\u0027t bother in callers.  Don\u0027t bother with zeroing i_blocks,\nwhile we are at it - it\u0027s already been zeroed.\n\ni_mode is not worth the effort; it has no common default value.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "564f6993ffef656aebaf46cf2f1f6cb4f5c97207",
      "tree": "0bf1ee553ab1241338fe522ffbaed8cd48e10c99",
      "parents": [
        "c32c8af43b9adde8d6f938d8e6328c13b8de79ac"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 14 04:02:26 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:41 2009 -0500"
      },
      "message": "sanitize audit_mq_open()\n\n* don\u0027t bother with allocations\n* don\u0027t do double copy_from_user()\n* don\u0027t duplicate parts of check for audit_dummy_context()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c32c8af43b9adde8d6f938d8e6328c13b8de79ac",
      "tree": "6377079bba7530d2aa8a688ebf9ba3e09ae085a7",
      "parents": [
        "20114f71b27cafeb7c7e41d2b0f0b68c3fbb022b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 14 03:46:48 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:40 2009 -0500"
      },
      "message": "sanitize AUDIT_MQ_SENDRECV\n\n* logging the original value of *msg_prio in mq_timedreceive(2)\n  is insane - the argument is write-only (i.e. syscall always\n  ignores the original value and only overwrites it).\n* merge __audit_mq_timed{send,receive}\n* don\u0027t do copy_from_user() twice\n* don\u0027t mess with allocations in auditsc part\n* ... and don\u0027t bother checking !audit_enabled and !context in there -\n  we\u0027d already checked for audit_dummy_context().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "20114f71b27cafeb7c7e41d2b0f0b68c3fbb022b",
      "tree": "fcbb481cfec8c11f103ba07dbb08819de3822d80",
      "parents": [
        "7392906ea915b9a2c14dea32b3604b4e178f82f7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 10 07:16:12 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:40 2009 -0500"
      },
      "message": "sanitize audit_mq_notify()\n\n* don\u0027t copy_from_user() twice\n* don\u0027t bother with allocations\n* don\u0027t duplicate parts of audit_dummy_context()\n* make it return void\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7392906ea915b9a2c14dea32b3604b4e178f82f7",
      "tree": "1e4fbe56e3738fade213ef805ec274ea74ac6a1b",
      "parents": [
        "e816f370cbadd2afea9f1a42f232d0636137d563"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 10 06:58:59 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:40 2009 -0500"
      },
      "message": "sanitize audit_mq_getsetattr()\n\n* get rid of allocations\n* make it return void\n* don\u0027t duplicate parts of audit_dummy_context()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "745ca2475a6ac596e3d8d37c2759c0fbe2586227",
      "tree": "f87c34bdfbc8542477b16a014bbb4e3b415b286a",
      "parents": [
        "88e67f3b8898c5ea81d2916dd5b8bc9c0c35ba13"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:22 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:22 2008 +1100"
      },
      "message": "CRED: Pass credentials through dentry_open()\n\nPass credentials through dentry_open() so that the COW creds patch can have\nSELinux\u0027s flush_unauthorized_files() pass the appropriate creds back to itself\nwhen it opens its null chardev.\n\nThe security_dentry_open() call also now takes a creds pointer, as does the\ndentry_open hook in struct security_operations.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "86a264abe542cfececb4df129bc45a0338d8cdb9",
      "tree": "30152f04ba847f311028d5ca697f864c16c7ebb3",
      "parents": [
        "f1752eec6145c97163dbce62d17cf5d928e28a27"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:18 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:18 2008 +1100"
      },
      "message": "CRED: Wrap current-\u003ecred and a few other accessors\n\nWrap current-\u003ecred and a few other accessors to hide their actual\nimplementation.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b6dff3ec5e116e3af6f537d4caedcad6b9e5082a",
      "tree": "9e76f972eb7ce9b84e0146c8e4126a3f86acb428",
      "parents": [
        "15a2460ed0af7538ca8e6c610fe607a2cd9da142"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "message": "CRED: Separate task security context from task_struct\n\nSeparate the task security context from task_struct.  At this point, the\nsecurity data is temporarily embedded in the task_struct with two pointers\npointing to it.\n\nNote that the Alpha arch is altered as it refers to (E)UID and (E)GID in\nentry.S via asm-offsets.\n\nWith comment fixes Signed-off-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "414c0708d0d60eccf8345c405ac81cf32c43e901",
      "tree": "5c3a5bd4c421176164475f87dc2f3cdb0de905e0",
      "parents": [
        "da9592edebceeba1b9301beafe80ec8b9c2db0ce"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:06 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:06 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the SYSV IPC subsystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b231cca4381ee15ec99afbfb244fbc0324869927",
      "tree": "1539fb250a15e6098c1e2ff4c98b166e5f6f1e3a",
      "parents": [
        "acd99dbf54020f5c80b9aa2f2ea86f43cb285b02"
      ],
      "author": {
        "name": "Joe Korty",
        "email": "joe.korty@ccur.com",
        "time": "Sat Oct 18 20:28:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:40 2008 -0700"
      },
      "message": "message queues: increase range limits\n\nIncrease the range of various posix message queue limits.\n\nPosix gives the message queue user the ability to \u0027trade off\u0027 the maximum\nsize of messages with the number of possible messages that can be \u0027in\nflight\u0027.  Linux currently makes this trade off more restrictive than it\nneeds to be.\n\nIn particular, the maximum message size today can be made no smaller than\n8192.  This greatly restricts those applications that would like to have\nthe ability to post large numbers of very small messages.\n\nSo this task lowers the limit that the maximum message size can be set to,\nfrom 8192 to 128.  It also lowers the limit that the maximum #number of\nmessages in flight can be set to, from 10 to 1.\n\nWith these changes the message queue user can make better trade offs\nbetween #messages and message size, in order to get everything to fit\nwithin the setrlimit(RLIMIT_MSGQUEUE) limit for that particular user.\n\nThis patch also applies the values in\n\n\t/proc/sys/fs/mqueue/msg_max\n\t/proc/sys/fs/mqueue/msgsize_max\n\nas the defaults for the max #messages allowed and the max message size\nallowed, respectively, for those applications that do not supply these.\nPreviously, the defaults were hardwired to 10 and 8192, respectively.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f419a2e3b64def707e1384ee38abb77f99af5f6d",
      "tree": "adbe12c510f04cf25ca6f822ee8004c8679a3a63",
      "parents": [
        "30524472c2f728c20d6bf35191042a5d455c0a64"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 22 00:07:17 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:31 2008 -0400"
      },
      "message": "[PATCH] kill nameidata passing to permission(), rename to inode_permission()\n\nIncidentally, the name that gives hundreds of false positives on grep\nis not a good idea...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1a43f93f0f3bab418800eaccb9e2e3b5427e173",
      "tree": "d39b73f1de7f16c74f5c304646dbadc728689fa8",
      "parents": [
        "380af1b33b3ff92df5cda96329b58f5d1b6b5a53"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Jul 25 01:48:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc: use simple_read_from_buffer()\n\nAlso this patch kills unneccesary trailing NULL character.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Pierre Peiffer \u003cpeifferp@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": "9457afee85e0dfc2b5075a391d6f34463b4c2b90",
      "tree": "39cf1262030ef195876c916a6f64201d66c48312",
      "parents": [
        "40aecb1b13f50d96616abb612c17e59457f54263"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jun 05 11:23:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 05 11:23:39 2008 -0700"
      },
      "message": "netlink: Remove nonblock parameter from netlink_attachskb\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "269f21344b23e552c21c9e2d7ca258479dcd7a0a",
      "tree": "cca8c73bba632a716c901c9843cc865cd40ad9ee",
      "parents": [
        "d35c7b0e54a596c5a8134d75999b7f391a9c6550"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Sat May 03 15:28:45 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 03 13:50:33 2008 -0700"
      },
      "message": "tiny mq_open optimization\n\nA very small cleanup for mq_open.\n\nWe do not have to call set_close_on_exit if we create the file\ndescriptor right away with the flag set.  We have a function for this\nnow.  The resulting code is smaller and a tiny bit faster.\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a3fd211ccfc08a88edc824300e25a87785c6a5f",
      "tree": "99f1a76a99fa78464b8de731f7fdb5bcc9667a5e",
      "parents": [
        "42a74f206b914db13ee1f5ae932dcd91a77c8579"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:48 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:25 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for open()s\n\nThis is the first really tricky patch in the series.  It elevates the writer\ncount on a mount each time a non-special file is opened for write.\n\nWe used to do this in may_open(), but Miklos pointed out that __dentry_open()\nis used as well to create filps.  This will cover even those cases, while a\ncall in may_open() would not have.\n\nThere is also an elevated count around the vfs_create() call in open_namei().\nSee the comments for more details, but we need this to fix a \u0027create, remount,\nfail r/w open()\u0027 race.\n\nSome filesystems forego the use of normal vfs calls to create\nstruct files.   Make sure that these users elevate the mnt\nwriter count because they will get __fput(), and we need\nto make sure they\u0027re balanced.\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0622753b800e4cc6cb9319b36b27658c72dd7cdc",
      "tree": "5a32b65a087ff7fd5effa8d3f6f1f9717d4391aa",
      "parents": [
        "49e0d02cf018d4edf24bfc8531a816a26367e4ce"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:34 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:33 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for rmdir and unlink.\n\nElevate the write count during the vfs_rmdir() and vfs_unlink().\n\n[AV: merged rmdir and unlink parts, added missing pieces in nfsd]\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "56496c1d83dfae0c74e2f43adb45d2d95e16c0d5",
      "tree": "36cdf6421d0b26e8372dd1167a1ecd18f73fc3a5",
      "parents": [
        "6c5f3e7b43300508fe3947ff3cfff0f86043bb57"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:19:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "Pidns: fix badly converted mqueues pid handling\n\nWhen sending the pid namespaces patches I wrongly converted the tsk-\u003etgid into\ntask_pid_vnr(tsk) in mqueue-s (the git id of this patch is\nb488893a390edfe027bae7a46e9af8083e740668).\n\nThe proper behavior is to get the task_tgid_vnr(tsk).\n\nThis seem to be the only mistake of that kind.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "6c5f3e7b43300508fe3947ff3cfff0f86043bb57",
      "tree": "9843b8897ec3357b09f62bb6423cd4753e1d4516",
      "parents": [
        "fea9d175545b38cb3e84569400419eb81bc90fa3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:19:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "Pidns: make full use of xxx_vnr() calls\n\nSome time ago the xxx_vnr() calls (e.g.  pid_vnr or find_task_by_vpid) were\n_all_ converted to operate on the current pid namespace.  After this each call\nlike xxx_nr_ns(foo, current-\u003ensproxy-\u003epid_ns) is nothing but a xxx_vnr(foo)\none.\n\nSwitch all the xxx_nr_ns() callers to use the xxx_vnr() calls where\nappropriate.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "fd79b77117f16264206ed2618199d42e93cc8f09",
      "tree": "5441a9bea8e58106a419e910eb547fe731539ac4",
      "parents": [
        "75d427982fef672b3608ae809b8819ec6358edfe"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Nov 28 16:21:31 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:52 2007 -0800"
      },
      "message": "ipc: lost unlock and fput in mqueue.c on error path\n\nThe error path in sys_mq_getsetattr() after the call to\naudit_mq_getsetattr() is wrong - the info-\u003elock is not unlocked and the\nstruct file *filp is not put.\n\nFix them both.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c3d8d1e30cace31fed6186a4b8c6b1401836d89c",
      "tree": "7122fccf27aa337438123071f3cb07999429de9e",
      "parents": [
        "230140cffa7feae90ad50bf259db1fa07674f3a7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Nov 07 02:42:09 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:15:12 2007 -0800"
      },
      "message": "[NETLINK]: Fix unicast timeouts\n\nCommit ed6dcf4a in the history.git tree broke netlink_unicast timeouts\nby moving the schedule_timeout() call to a new function that doesn\u0027t\npropagate the remaining timeout back to the caller. This means on each\nretry we start with the full timeout again.\n\nipc/mqueue.c seems to actually want to wait indefinitely so this\nbehaviour is retained.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a190ae69766da9a34bf31200c5cea4c0667cf94",
      "tree": "340c500fe42518abe6d1159a00619b1bd02f07fc",
      "parents": [
        "cfa76f024f7c9e65169425804e5b32e71f66d0ee"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 07 12:19:32 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Oct 21 02:37:18 2007 -0400"
      },
      "message": "[PATCH] pass dentry to audit_inode()/audit_inode_child()\n\nmakes caller simpler *and* allows to scan ancestors\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b488893a390edfe027bae7a46e9af8083e740668",
      "tree": "c469a7f99ad01005a73011c029eb5e5d15454559",
      "parents": [
        "3eb07c8c8adb6f0572baba844ba2d9e501654316"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "pid namespaces: changes to show virtual ids to user\n\nThis is the largest patch in the set. Make all (I hope) the places where\nthe pid is shown to or get from user operate on the virtual pids.\n\nThe idea is:\n - all in-kernel data structures must store either struct pid itself\n   or the pid\u0027s global nr, obtained with pid_nr() call;\n - when seeking the task from kernel code with the stored id one\n   should use find_task_by_pid() call that works with global pids;\n - when showing pid\u0027s numerical value to the user the virtual one\n   should be used, but however when one shows task\u0027s pid outside this\n   task\u0027s namespace the global one is to be used;\n - when getting the pid from userspace one need to consider this as\n   the virtual one and use appropriate task/pid-searching functions.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: nuther build fix]\n[akpm@linux-foundation.org: yet nuther build fix]\n[akpm@linux-foundation.org: remove unneeded casts]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97aeacf49239d7f829b8cbfaca05530c97ccb903",
      "tree": "2a13ee8cdebc8c0bdf66459213cbc431eef78216",
      "parents": [
        "49a0c45833c9aa9852ba02c9df0f18029509d0a9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:22 2007 -0700"
      },
      "message": "sysctl mqueue: remove the binary sysctl numbers\n\nBecause of a conflict with FS_INODE_NR none of the binary sysctl numbers use\nby mqueue, were available to user space.  So just remove them.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957",
      "tree": "191b4f45f926e44b882b1e87a9a85dc12230b892",
      "parents": [
        "b811c202a0edadaac7242ab834fe7ba409978ae7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 23:25:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "Slab API: remove useless ctor parameter and reorder parameters\n\nSlab constructors currently have a flags parameter that is never used.  And\nthe order of the arguments is opposite to other slab functions.  The object\npointer is placed before the kmem_cache pointer.\n\nConvert\n\n        ctor(void *object, struct kmem_cache *s, unsigned long flags)\n\nto\n\n        ctor(struct kmem_cache *s, void *object)\n\nthroughout the kernel\n\n[akpm@linux-foundation.org: coupla fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ee015e0fa3c856416e9477aac4b850ec6f09017",
      "tree": "b91741163f47515d00faba9d36d37fcf03ded29f",
      "parents": [
        "3b71535f357a2e5d013a44a06b0c26a6a8d8fb5b"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:14:03 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:14:03 2007 -0700"
      },
      "message": "[NET]: cleanup 3rd argument in netlink_sendskb\n\nnetlink_sendskb does not use third argument. Clean it and save a couple of\nbytes.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.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": "4fc03b9beb2314f3adb9e72b7935a80c577954d1",
      "tree": "81e04534c582923fcdc8212497d1487ddae412a8",
      "parents": [
        "510f4006e7a82b37b53c17bbe64ec20f3a59302b"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Tue Feb 13 14:15:01 2007 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 11 05:38:26 2007 -0400"
      },
      "message": "[PATCH] complete message queue auditing\n\nHandle the edge cases for POSIX message queue auditing. Collect inode\ninfo when opening an existing mq, and for send/receive operations. Remove\naudit_inode_update() as it has really evolved into the equivalent of\naudit_inode().\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a434814c7a6500b08bf4419ba8712b152d08d08",
      "tree": "0d97d3d1d1239b3a58a2b5097f63578efc7a0f6d",
      "parents": [
        "4a6753ca08541437f4c243708d2011b4758e17e8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Mar 06 01:42:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:25 2007 -0800"
      },
      "message": "[PATCH] mqueue: nested locking annotation\n\nFix http://bugzilla.kernel.org/show_bug.cgi?id\u003d8130\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b4d414714f0d2f922d39424b0c5c82ad900a381",
      "tree": "5079ec59a5622c9cacfe0fce484ba2c4626c406f",
      "parents": [
        "ae836810263509ff7a3c2c021754ce6f66b3fab6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:34:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:59 2007 -0800"
      },
      "message": "[PATCH] sysctl: remove insert_at_head from register_sysctl\n\nThe semantic effect of insert_at_head is that it would allow new registered\nsysctl entries to override existing sysctl entries of the same name.  Which is\npain for caching and the proc interface never implemented.\n\nI have done an audit and discovered that none of the current users of\nregister_sysctl care as (excpet for directories) they do not register\nduplicate sysctl entries.\n\nSo this patch simply removes the support for overriding existing entries in\nthe sys_sysctl interface since no one uses it or cares and it makes future\nenhancments harder.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92e1d5be91a0e3ffa5c4697eeb09b2aa22792122",
      "tree": "4eb22a9f6c38e9f4cc2a5100cd6659b0af08b7ae",
      "parents": [
        "754661f143e70d66eae6c48532ca245aa05dec0e"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:39 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 2\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.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": "9a32144e9d7b4e21341174b1a83b82a82353be86",
      "tree": "6f08560b341418fc9934f56f6162a95f5b5d8aec",
      "parents": [
        "00977a59b951207d38380c75f03a36829950265c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 7\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.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": "6d63079adde80bb549528371e6407f88e9d27bc3",
      "tree": "0c3c5c01ca40b685cb2d33add2cb8dfcfd054051",
      "parents": [
        "1cfd6e648b5ea21b0d48bf6f18b129e4576557d5"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:37:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:46 2006 -0800"
      },
      "message": "[PATCH] struct path: convert ipc\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e94b1766097d53e6f3ccfb36c8baa562ffeda3fc",
      "tree": "93fa0a8ab84976d4e89c50768ca8b8878d642a0d",
      "parents": [
        "54e6ecb23951b195d02433a741c7f7cb0b796c78"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_KERNEL\n\nSLAB_KERNEL is an alias of GFP_KERNEL.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f66e928b96b717c6bb0cefba338d687dd86e6a9b",
      "tree": "99718bef35cee97cb0004c452e6bc4be9780439b",
      "parents": [
        "c1c8897f830c66649b6866a0cbe21c263466295e"
      ],
      "author": {
        "name": "Michal Wronski",
        "email": "michal.wronski@gmail.com",
        "time": "Tue Oct 03 23:23:27 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 23:23:27 2006 +0200"
      },
      "message": "Michal Wronski: update contact info\n\nMy email has changed.\n\nSigned-Off-By: Michal Wronski \u003cmichal.wronski@gmail.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "a03fcb730b4fe7da14ca4405f23dbde717b1d2b9",
      "tree": "0a24b625def867ddfa7e04a82b15905b77284743",
      "parents": [
        "f40f50d3bb33b52dfd550ca80be7daaddad21883"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Mon Oct 02 02:17:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:15 2006 -0700"
      },
      "message": "[PATCH] update mq_notify to use a struct pid\n\nMessage queues can signal a process waiting for a message.\n\nThis patch replaces the pid_t value with a struct pid to avoid pid wrap\naround problems.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nAcked-by: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8c76e6f45c111c32a4b3e50a2adc9210737b0d8",
      "tree": "25521b59d48c6d8c9aec1af54dbe5008ad4b215b",
      "parents": [
        "9a53c3a783c2fa9b969628e65695c11c3e51e673"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mount prepwork: inc_nlink() helper\n\nThis is mostly included for parity with dec_nlink(), where we will have some\nmore hooks.  This one should stay pretty darn straightforward for now.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\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": "9a53c3a783c2fa9b969628e65695c11c3e51e673",
      "tree": "5a6115e18ee105246d46e3db3d5b07749d232f5b",
      "parents": [
        "aab520e2f6c80160cabd187a8d0292d1cec8ff68"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mounts: unlink: monitor i_nlink\n\nWhen a filesystem decrements i_nlink to zero, it means that a write must be\nperformed in order to drop the inode from the filesystem.\n\nWe\u0027re shortly going to have keep filesystems from being remounted r/o between\nthe time that this i_nlink decrement and that write occurs.\n\nSo, add a little helper function to do the decrements.  We\u0027ll tie into it in a\nbit to note when i_nlink hits zero.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\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": "ba52de123d454b57369f291348266d86f4b35070",
      "tree": "3973f3f3c853b5857b6b64a027cadd4fe954e3b9",
      "parents": [
        "577c4eb09d1034d0739e3135fd2cff50588024be"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:18 2006 -0700"
      },
      "message": "[PATCH] inode-diet: Eliminate i_blksize from the inode structure\n\nThis eliminates the i_blksize field from struct inode.  Filesystems that want\nto provide a per-inode st_blksize can do so by providing their own getattr\nroutine instead of using the generic_fillattr() function.\n\nNote that some filesystems were providing pretty much random (and incorrect)\nvalues for i_blksize.\n\n[bunk@stusta.de: cleanup]\n[akpm@osdl.org: generic_fillattr() fix]\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\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": "1a1d92c10dd24bbdc28b3d6e2d03ec199dd3a65b",
      "tree": "fade83955f75e718e39153d6f81d221403338bed",
      "parents": [
        "f52720ca5f48574e347dff35ffe6b389ace61537"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 27 01:49:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] Really ignore kmem_cache_destroy return value\n\n* Rougly half of callers already do it by not checking return value\n* Code in drivers/acpi/osl.c does the following to be sure:\n\n\t(void)kmem_cache_destroy(cache);\n\n* Those who check it printk something, however, slab_error already printed\n  the name of failed cache.\n* XFS BUGs on failed kmem_cache_destroy which is not the decision\n  low-level filesystem driver should make. Converted to ignore.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "75e1fcc0b18df0a65ab113198e9dc0e98999a08c",
      "tree": "3ac0d0d3120cbca4ee9734494e2c9a4e0775ac4f",
      "parents": [
        "ff7b86b82083f24b8637dff1528c7101c18c7f39"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Jun 23 02:05:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:02 2006 -0700"
      },
      "message": "[PATCH] vfs: add lock owner argument to flush operation\n\nPass the POSIX lock owner ID to the flush operation.\n\nThis is useful for filesystems which don\u0027t want to store any locking state\nin inode-\u003ei_flock but want to handle locking/unlocking POSIX locks\ninternally.  FUSE is one such filesystem but I think it possible that some\nnetwork filesystems would need this also.\n\nAlso add a flag to indicate that a POSIX locking request was generated by\nclose(), so filesystems using the above feature won\u0027t send an extra locking\nrequest in this case.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\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": "454e2398be9b9fa30433fccc548db34d19aa9958",
      "tree": "1f61cb0c3716a33b661cfc8977e9beeb480a322c",
      "parents": [
        "1ad5544098a69d7dc1fa508cbb17e13a7a952fd8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:57 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 override root dentry on mount\n\nExtend the get_sb() filesystem operation to take an extra argument that\npermits the VFS to pass in the target vfsmount that defines the mountpoint.\n\nThe filesystem is then required to manually set the superblock and root dentry\npointers.  For most filesystems, this should be done with simple_set_mnt()\nwhich will set the superblock pointer and then set the root dentry to the\nsuperblock\u0027s s_root (as per the old default behaviour).\n\nThe get_sb() op now returns an integer as there\u0027s now no need to return the\nsuperblock pointer.\n\nThis patch permits a superblock to be implicitly shared amongst several mount\npoints, such as can be done with NFS to avoid potential inode aliasing.  In\nsuch a case, simple_set_mnt() would not be called, and instead the mnt_root\nand mnt_sb would be set directly.\n\nThe patch also makes the following changes:\n\n (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount\n     pointer argument and return an integer, so most filesystems have to change\n     very little.\n\n (*) If one of the convenience function is not used, then get_sb() should\n     normally call simple_set_mnt() to instantiate the vfsmount. This will\n     always return 0, and so can be tail-called from get_sb().\n\n (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the\n     dcache upon superblock destruction rather than shrink_dcache_anon().\n\n     This is required because the superblock may now have multiple trees that\n     aren\u0027t actually bound to s_root, but that still need to be cleaned up. The\n     currently called functions assume that the whole tree is rooted at s_root,\n     and that anonymous dentries are not the roots of trees which results in\n     dentries being left unculled.\n\n     However, with the way NFS superblock sharing are currently set to be\n     implemented, these assumptions are violated: the root of the filesystem is\n     simply a dummy dentry and inode (the real inode for \u0027/\u0027 may well be\n     inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries\n     with child trees.\n\n     [*] Anonymous until discovered from another tree.\n\n (*) The documentation has been adjusted, including the additional bit of\n     changing ext2_* into foo_* in the documentation.\n\n[akpm@osdl.org: convert ipath_fs, do other stuff]\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\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "20ca73bc792be9625af184cbec36e1372611d1c3",
      "tree": "98a1232ad3c9baa14676b2b48fab79a3df4a20b0",
      "parents": [
        "8ba8e0fbe6321961f6ba04e2fd7215b37d935c83"
      ],
      "author": {
        "name": "George C. Wilson",
        "email": "ltcgcw@us.ibm.com",
        "time": "Wed May 24 16:09:55 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:26 2006 -0400"
      },
      "message": "[PATCH] Audit of POSIX Message Queue Syscalls v.2\n\nThis patch adds audit support to POSIX message queues.  It applies cleanly to\nthe lspp.b15 branch of Al Viro\u0027s git tree.  There are new auxiliary data\nstructures, and collection and emission routines in kernel/auditsc.c.  New hooks\nin ipc/mqueue.c collect arguments from the syscalls.\n\nI tested the patch by building the examples from the POSIX MQ library tarball.\nBuild them -lrt, not against the old MQ library in the tarball.  Here\u0027s the URL:\nhttp://www.geocities.com/wronski12/posix_ipc/libmqueue-4.41.tar.gz\nDo auditctl -a exit,always -S for mq_open, mq_timedsend, mq_timedreceive,\nmq_notify, mq_getsetattr.  mq_unlink has no new hooks.  Please see the\ncorresponding userspace patch to get correct output from auditd for the new\nrecord types.\n\n[fixes folded]\n\nSigned-off-by: George Wilson \u003cltcgcw@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7b7a317cf863559b49b548a8b97b2f4bdf1e149e",
      "tree": "2cacc386c324894b0997d846830f5324bcf89a19",
      "parents": [
        "7a1e524a5fe6c5bf9dd4488e946fa835fda8c3d9"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Tue Mar 28 01:56:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:03 2006 -0800"
      },
      "message": "[PATCH] mqueue comment typo fix\n\n(akpm: I don\u0027t do comment typos patches.  This one snuck through by accident)\n\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "64bc0430ee78c03c5c4ce549e217bb74bff7ea5d",
      "tree": "fdeb7f4caac07183c0f603579adb91288c024820",
      "parents": [
        "9ae21d1bb376436285cd5346d3e4b3655d6dd1b9"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@dbl.q-ag.de",
        "time": "Sun Mar 26 12:19:42 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 09:46:36 2006 -0800"
      },
      "message": "[PATCH] one ipc/sem.c-\u003emutex.c converstion too many..\n\nIngo\u0027s sem2mutex patch incorrectly replaced one reference to ipc/sem.c\nwith ipc/mutex.c in a comment.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5f921ae96f1529a55966f25cd5c70fab11d38be7",
      "tree": "d8b3fecae1b36a99c0dbf544b30933a727bc7178",
      "parents": [
        "14cc3e2b633bb64063698980974df4535368e98f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 26 01:37:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:55 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: ipc, id.sem\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a609164f7c4eb82b97444871cb47f2f261696dd9",
      "tree": "7071898aab6e72d30ecea33653af20d4d03e2597",
      "parents": [
        "d92bf25fb088b1f12ad7fb3f9a4f9a3e1bf28959"
      ],
      "author": {
        "name": "Michal Wronski",
        "email": "Michal.Wronski@motorola.com",
        "time": "Wed Mar 22 00:34:37 2006 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Mar 22 00:34:37 2006 +0100"
      },
      "message": "Remove superfluous NOTIFY_COOKIE_LEN define\n\nNOTIFY_COOKIE_LEN is defined in mqueue.h as well as mqueue.c\nThis patch removes redundant definition from mqueue.c\n\nSigned-off-by: Michal Wronski \u003cMichal.Wronski@motorola.com\u003e\nSigned-Off-By: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "a70ea994a0d83fd0151a070be72b87d014ef0a7e",
      "tree": "40e3bf28a3fa36f20b4625c241ca14abb0c1a00d",
      "parents": [
        "ad91e6fa0d331e419e4692d146cdc04e594a5bea"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Thu Feb 09 16:40:11 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 09 16:43:38 2006 -0800"
      },
      "message": "[NETLINK]: Fix a severe bug\n\nnetlink overrun was broken while improvement of netlink.\nDestination socket is used in the place where it was meant to be source socket,\nso that now overrun is never sent to user netlink sockets, when it should be,\nand it even can be set on kernel socket, which results in complete deadlock\nof rtnetlink.\n\nSuggested fix is to restore status quo passing source socket as additional\nargument to netlink_attachskb().\n\nA little explanation: overrun is set on a socket, when it failed\nto receive some message and sender of this messages does not or even\nhave no way to handle this error. This happens in two cases:\n1. when kernel sends something. Kernel never retransmits and cannot\n   wait for buffer space.\n2. when user sends a broadcast and the message was not delivered\n   to some recipients.\n\nSigned-off-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c7dce9209161eb260cdf9e9172f72c3a02379e6",
      "tree": "81135190b6aadfc9126dcbff63710cd97fe5b6a1",
      "parents": [
        "12dbf3fc4d06d2c0c4c44dc0612df04248b3cfd3"
      ],
      "author": {
        "name": "Alexander Viro",
        "email": "aviro@redhat.com",
        "time": "Sat Jan 14 15:29:55 2006 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 12:38:17 2006 -0800"
      },
      "message": "[PATCH] Fix double decrement of mqueue_mnt-\u003emnt_count in sys_mq_open\n\nFixed the refcounting on failure exits in sys_mq_open() and\ncleaned the logics up.  Rules are actually pretty simple - dentry_open()\nexpects vfsmount and dentry to be pinned down and it either transfers\nthem into created struct file or drops them.  Old code had been very\nconfused in that area - if dentry_open() had failed either in do_open()\nor do_create(), we ended up dentry and mqueue_mnt dropped twice, once\nby dentry_open() cleanup and then by sys_mq_open().\n\nFix consists of making the rules for do_create() and do_open()\nsame as for dentry_open() and updating the sys_mq_open() accordingly;\nthat actually leads to more straightforward code and less work on\nnormal path.\n\nSigned-off-by: Al Viro \u003caviro@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c59ede7b78db329949d9cdcd7064e22d357560ef",
      "tree": "f9dc9d464fdad5bfd464d983e77c1af031389dda",
      "parents": [
        "e16885c5ad624a6efe1b1bf764e075d75f65a788"
      ],
      "author": {
        "name": "Randy.Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:13 2006 -0800"
      },
      "message": "[PATCH] move capable() to capability.h\n\n- Move capable() from sched.h to capability.h;\n\n- Use \u003clinux/capability.h\u003e where capable() is used\n\t(in include/, block/, ipc/, kernel/, a few drivers/,\n\tmm/, security/, \u0026 sound/;\n\tmany more drivers/ to go)\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b1dcc1b57a49136f118a0f16367256ff9994a69",
      "tree": "b0b36d4f41d28c9d6514fb309d33c1a084d6309b",
      "parents": [
        "794ee1baee1c26be40410233e6c20bceb2b03c08"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@hera.kernel.org",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "message": "[PATCH] mutex subsystem, semaphore to mutex: VFS, -\u003ei_sem\n\nThis patch converts the inode semaphore to a mutex. I have tested it on\nXFS and compiled as much as one can consider on an ia64. Anyway your\nluck with it might be different.\n\nModified-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n(finished the conversion)\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "65163fd73c65e4c61437c28ac4ef9f3c5ba16a80",
      "tree": "555d7ff97b4c602703ae89ef836128bc59a5132d",
      "parents": [
        "6dfca87806eb94c1033b01e4f7a48363b890ec79"
      ],
      "author": {
        "name": "Michal Wronski",
        "email": "Michal.Wronski@motorola.com",
        "time": "Sun Nov 06 21:31:54 2005 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@r063144.stusta.swh.mhn.de",
        "time": "Sun Nov 06 21:31:54 2005 +0100"
      },
      "message": "Update Michal Wronski contact info\n"
    },
    {
      "commit": "59175839783287d3b03f18460bb3539c69300837",
      "tree": "8abf324e8c8621d82774bb92a981a0629ae77944",
      "parents": [
        "5c1f4cac6ff75a4a602bae960a054ed3df7e9765"
      ],
      "author": {
        "name": "Krzysztof Benedyczak",
        "email": "golbi@mat.uni.torun.pl",
        "time": "Tue Sep 27 22:21:36 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 27 13:30:45 2005 -0700"
      },
      "message": "[PATCH] Make POSIX message queue sys_mq_open() honor umask\n\nWe ignored umask when creating new queues via mq_open (when creating\nwith open() on mqueue fs it is ok of course).  According to the\nspecification this a bug.  This trivial patch fixes this.\n\nSigned-off-by: Krzysztof Benedyczak \u003cgolbi@mat.uni.torun.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "338cec3253a6d43d02e5e96abc327197565efcc8",
      "tree": "e56af7e1117f7ec47a4e854476103c22aa9fc1bc",
      "parents": [
        "f9101210e7aa72daf92722d451a2f7e3af5f781f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Sep 10 00:26:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:30 2005 -0700"
      },
      "message": "[PATCH] merge some from Rusty\u0027s trivial patches\n\nThis patch contains the most trivial from Rusty\u0027s trivial patches:\n- spelling fixes\n- remove duplicate includes\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7ed20e1ad521b5f5df61bf6559ae60738e393741",
      "tree": "90931724e45eaedb3445314e8b94e78253642395",
      "parents": [
        "e5bdd883a189243541e7a132385580703b049102"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Sun May 01 08:59:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:14 2005 -0700"
      },
      "message": "[PATCH] convert that currently tests _NSIG directly to use valid_signal()\n\nConvert most of the current code that uses _NSIG directly to instead use\nvalid_signal().  This avoids gcc -W warnings and off-by-one errors.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d59dd4620fb8d6422555a9e2b82a707718e68327",
      "tree": "78205657d24efcaa3f8314064951ac3814ed95a7",
      "parents": [
        "0d8d4d42f2d00eb65262b49f4edd4cf7ef4eb6fc"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sun May 01 08:58:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:47 2005 -0700"
      },
      "message": "[PATCH] use smp_mb/wmb/rmb where possible\n\nReplace a number of memory barriers with smp_ variants.  This means we won\u0027t\ntake the unnecessary hit on UP machines.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
