)]}'
{
  "log": [
    {
      "commit": "ce5afed937f0a823d3b00c9459409c3f5f2fbd5d",
      "tree": "e2c488ad8a634812459fd733f87b673ccf1977d6",
      "parents": [
        "ca81a62198e39ad9155f12725c269fcc2a9f1f8b",
        "ff4fa4a25a33f92b5653bb43add0c63bea98d464"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 20:34:44 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 20:34:44 2012 -0800"
      },
      "message": "Merge git://git.samba.org/sfrench/cifs-2.6\n\n* git://git.samba.org/sfrench/cifs-2.6:\n  cifs: don\u0027t return error from standard_receive3 after marking response malformed\n  cifs: request oplock when doing open on lookup\n  cifs: fix error handling when cifscreds key payload is an error\n"
    },
    {
      "commit": "19be13cfe37006bf90a61f6cb65ab8cb936099f3",
      "tree": "17b622ee141cb9fd6eda5417ec30f9ea21a29c14",
      "parents": [
        "b14a29982ad90853cd71370af41adfd0009d7aa0",
        "04da0c8196ac0b12fb6b84f4b7a51ad2fa56d869"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 14:19:45 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 14:19:45 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\nTwo bugfixes in XFS for 3.3: one fix passes KMEM_SLEEP to kmem_realloc\ninstead of 0, and the other resolves a possible deadlock in xfs quotas.\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: use a normal shrinker for the dquot freelist\n  xfs: pass KM_SLEEP flag to kmem_realloc() in xlog_recover_add_to_cnt_trans()\n"
    },
    {
      "commit": "3ec1e88b33a3bdd852ce8e014052acec7a9da8b5",
      "tree": "4270f8f0de4e28f090cba6d6e4047aae939d6463",
      "parents": [
        "8df54d622a120058ee8bec38743c9b8f091c8e58",
        "d8c66c5d59247e25a69428aced0b79d33b9c66d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 11 10:07:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 11 10:07:11 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\nSays Jens:\n\n \"Time to push off some of the pending items.  I really wanted to wait\n  until we had the regression nailed, but alas it\u0027s not quite there yet.\n  But I\u0027m very confident that it\u0027s \"just\" a missing expire on exit, so\n  fix from Tejun should be fairly trivial.  I\u0027m headed out for a week on\n  the slopes.\n\n  - Killing the barrier part of mtip32xx.  It doesn\u0027t really support\n    barriers, and it doesn\u0027t need them (writes are fully ordered).\n\n  - A few fixes from Dan Carpenter, preventing overflows of integer\n    multiplication.\n\n  - A fixup for loop, fixing a previous commit that didn\u0027t quite solve\n    the partial read problem from Dave Young.\n\n  - A bio integer overflow fix from Kent Overstreet.\n\n  - Improvement/fix of the door \"keep locked\" part of the cdrom shared\n    code from Paolo Benzini.\n\n  - A few cfq fixes from Shaohua Li.\n\n  - A fix for bsg sysfs warning when removing a file it did not create\n    from Stanislaw Gruszka.\n\n  - Two fixes for floppy from Vivek, preventing a crash.\n\n  - A few block core fixes from Tejun.  One killing the over-optimized\n    ioc exit path, cleaning that up nicely.  Two others fixing an oops\n    on elevator switch, due to calling into the scheduler merge check\n    code without holding the queue lock.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: fix lockdep warning on io_context release put_io_context()\n  relay: prevent integer overflow in relay_open()\n  loop: zero fill bio instead of return -EIO for partial read\n  bio: don\u0027t overflow in bio_get_nr_vecs()\n  floppy: Fix a crash during rmmod\n  floppy: Cleanup disk-\u003equeue before caling put_disk() if add_disk() was never called\n  cdrom: move shared static to cdrom_device_info\n  bsg: fix sysfs link remove warning\n  block: don\u0027t call elevator callbacks for plug merges\n  block: separate out blk_rq_merge_ok() and blk_try_merge() from elevator functions\n  mtip32xx: removed the irrelevant argument of mtip_hw_submit_io() and the unused member of struct driver_data\n  block: strip out locking optimization in put_io_context()\n  cdrom: use copy_to_user() without the underscores\n  block: fix ioc locking warning\n  block: fix NULL icq_cache reference\n  block,cfq: change code order\n"
    },
    {
      "commit": "04da0c8196ac0b12fb6b84f4b7a51ad2fa56d869",
      "tree": "1348207af6e7824a9baa268236768b857db00712",
      "parents": [
        "4505360376637832f79f84f352588b0a045ad113"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Feb 01 13:57:20 2012 +0000"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Fri Feb 10 12:02:05 2012 -0600"
      },
      "message": "xfs: use a normal shrinker for the dquot freelist\n\nStop reusing dquots from the freelist when allocating new ones directly, and\nimplement a shrinker that actually follows the specifications for the\ninterface.  The shrinker implementation is still highly suboptimal at this\npoint, but we can gradually work on it.\n\nThis also fixes an bug in the previous lock ordering, where we would take\nthe hash and dqlist locks inside of the freelist lock against the normal\nlock ordering.  This is only solvable by introducing the dispose list,\nand thus not when using direct reclaim of unused dquots for new allocations.\n\nAs a side-effect the quota upper bound and used to free ratio values in\n/proc/fs/xfs/xqm are set to 0 as these values don\u0027t make any sense in the\nnew world order.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "af5feae3d7e821d8c4d38103a7f53146f2590892",
      "tree": "9017bb0661fb617177534f0617c3771d89e31afc",
      "parents": [
        "ce2814f227d3adae8456f7cbd0bd5f922fd284f0",
        "977b7e3a52a7421ad33a393a38ece59f3d41c2fa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 10 09:05:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 10 09:05:52 2012 -0800"
      },
      "message": "Merge tag \u0027writeback-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\nfix 1 mysterious divide error\nfix 3 NULL dereference bugs in writeback tracing, on SD card removal w/o umount\n\n* tag \u0027writeback-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: fix dereferencing NULL bdi-\u003edev on trace_writeback_queue\n  lib: proportion: lower PROP_MAX_SHIFT to 32 on 64-bit kernel\n  writeback: fix NULL bdi-\u003edev in trace writeback_single_inode\n  backing-dev: fix wakeup timer races with bdi_unregister()\n"
    },
    {
      "commit": "1ecd3c7ea76488c63b4b0a2561fd7eaf96cc8028",
      "tree": "3bc88fd0b4fd61c86141c66e86cf5492753bcd22",
      "parents": [
        "98e96852480566333f6dacd3223f0be15df34d60"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Wed Feb 08 17:13:37 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 08 19:03:51 2012 -0800"
      },
      "message": "nilfs2: avoid overflowing segment numbers in nilfs_ioctl_clean_segments()\n\nnsegs is read from userspace.  Limit its value and avoid overflowing nsegs\n* sizeof(__u64) in the subsequent call to memdup_user().\n\nThis patch complements 481fe17e973fb9 (\"nilfs2: potential integer overflow\nin nilfs_ioctl_clean_segments()\").\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nCc: Haogang Chen \u003chaogangchen@gmail.com\u003e\nAcked-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5abebfdd02450fa1349daacf242e70b3736581e3",
      "tree": "6dc62283b65c71fc22c643635c773fef42d9a978",
      "parents": [
        "4609dff6b5d11e1ed5ff935e15f9f6022acb312b"
      ],
      "author": {
        "name": "Kent Overstreet",
        "email": "kent.overstreet@gmail.com",
        "time": "Wed Feb 08 22:07:18 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Feb 08 22:07:18 2012 +0100"
      },
      "message": "bio: don\u0027t overflow in bio_get_nr_vecs()\n\nThere were two places bio_get_nr_vecs() could overflow:\n\nFirst, it did a left shift to convert from sectors to bytes immediately\nbefore dividing by PAGE_SIZE.  If PAGE_SIZE ever was less than 512 a great\nmany things would break, so dividing by PAGE_SIZE \u003e\u003e 9 is safe and will\ngenerate smaller code too.\n\nThe nastier overflow was in the DIV_ROUND_UP() (that\u0027s what the code was\neffectively doing, anyways).  If n + d overflowed, the whole thing would\nreturn 0 which breaks things rather effectively.\n\nbio_get_nr_vecs() doesn\u0027t claim to give an exact value anyways, so the\nDIV_ROUND_UP() is silly; we could do a straight divide except if a\ndevice\u0027s queue_max_sectors was less than PAGE_SIZE we\u0027d return 0.  So we\njust add 1; this should always be safe - things will break badly if\nbio_get_nr_vecs() returns \u003e BIO_MAX_PAGES (bio_alloc() will suddenly start\nfailing) but it\u0027s queue_max_segments that must guard against this, if\nqueue_max_sectors is preventing this from happen things are going to\nexplode on architectures with different PAGE_SIZE.\n\nSigned-off-by: Kent Overstreet \u003ckoverstreet@google.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Valdis Kletnieks \u003cValdis.Kletnieks@vt.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "ff4fa4a25a33f92b5653bb43add0c63bea98d464",
      "tree": "cdd46e53bc579250fc0722b2d2f11ff183b47715",
      "parents": [
        "8b0192a5f478da1c1ae906bf3ffff53f26204f56"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Feb 07 06:31:05 2012 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Feb 07 22:25:31 2012 -0600"
      },
      "message": "cifs: don\u0027t return error from standard_receive3 after marking response malformed\n\nstandard_receive3 will check the validity of the response from the\nserver (via checkSMB). It\u0027ll pass the result of that check to handle_mid\nwhich will dequeue it and mark it with a status of\nMID_RESPONSE_MALFORMED if checkSMB returned an error. At that point,\nstandard_receive3 will also return an error, which will make the\ndemultiplex thread skip doing the callback for the mid.\n\nThis is wrong -- if we were able to identify the request and the\nresponse is marked malformed, then we want the demultiplex thread to do\nthe callback. Fix this by making standard_receive3 return 0 in this\nsituation.\n\nCc: stable@vger.kernel.org\nReported-and-Tested-by: Mark Moseley \u003cmoseleymark@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "8b0192a5f478da1c1ae906bf3ffff53f26204f56",
      "tree": "ce60f059f2d1ad6d53bf1546de1869349daeddeb",
      "parents": [
        "4edc53c1f8cdd99d349165d6c61c45aa4e8e2564"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Feb 07 06:30:52 2012 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Feb 07 22:25:29 2012 -0600"
      },
      "message": "cifs: request oplock when doing open on lookup\n\nCurrently, it\u0027s always set to 0 (no oplock requested).\n\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "4edc53c1f8cdd99d349165d6c61c45aa4e8e2564",
      "tree": "3df7be26aa431ff8cc884930b848e36f2d1b26b5",
      "parents": [
        "98e96852480566333f6dacd3223f0be15df34d60"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Feb 07 06:30:51 2012 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Feb 07 22:25:26 2012 -0600"
      },
      "message": "cifs: fix error handling when cifscreds key payload is an error\n\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "84f8bf38b9368add916e7c335b6b94a7ae927cb1",
      "tree": "e6360985eb4866d22104c63045fc2cf789e449de",
      "parents": [
        "e25c173379d1053f0851fa924cd608fc0b16252f",
        "de47a4176c532ef5961b8a46a2d541a3517412d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 07 14:07:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 07 14:07:20 2012 -0800"
      },
      "message": "Merge git://git.samba.org/sfrench/cifs-2.6\n\n* git://git.samba.org/sfrench/cifs-2.6:\n  cifs: Fix oops in session setup code for null user mounts\n  [CIFS] Update cifs Kconfig title to match removal of experimental dependency\n  cifs: fix printk format warnings\n  cifs: check offset in decode_ntlmssp_challenge()\n  cifs: NULL dereference on allocation failure\n"
    },
    {
      "commit": "11a3122f6cf2d988a77eb8883d0fc49cd013a6d5",
      "tree": "ded8ea8a2982754ff0c58448a7ed2e59487104cb",
      "parents": [
        "822bfa51ce44f2c63c300fdb76dc99c4d5a5ca9f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 07 07:51:30 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Feb 07 07:51:30 2012 +0100"
      },
      "message": "block: strip out locking optimization in put_io_context()\n\nput_io_context() performed a complex trylock dancing to avoid\ndeferring ioc release to workqueue.  It was also broken on UP because\ntrylock was always assumed to succeed which resulted in unbalanced\npreemption count.\n\nWhile there are ways to fix the UP breakage, even the most\npathological microbench (forced ioc allocation and tight fork/exit\nloop) fails to show any appreciable performance benefit of the\noptimization.  Strip it out.  If there turns out to be workloads which\nare affected by this change, simpler optimization from the discussion\nthread can be applied later.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLKML-Reference: \u003c1328514611.21268.66.camel@sli10-conroe\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "96e02d1586782eadf051fa3d6bc4132d2447ac2c",
      "tree": "dd40e6302d2770d3c51cced64cfd3b8cf1355da4",
      "parents": [
        "23783f817bceedd6d4e549385e3f400ea64059e5"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sat Feb 04 10:47:10 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 06 15:15:20 2012 -0800"
      },
      "message": "exec: fix use-after-free bug in setup_new_exec()\n\nSetting the task name is done within setup_new_exec() by accessing\nbprm-\u003efilename. However this happens after flush_old_exec().\nThis may result in a use after free bug, flush_old_exec() may\n\"complete\" vfork_done, which will wake up the parent which in turn\nmay free the passed in filename.\nTo fix this add a new tcomm field in struct linux_binprm which\ncontains the now early generated task name until it is used.\n\nFixes this bug on s390:\n\n  Unable to handle kernel pointer dereference at virtual kernel address 0000000039768000\n  Process kworker/u:3 (pid: 245, task: 000000003a3dc840, ksp: 0000000039453818)\n  Krnl PSW : 0704000180000000 0000000000282e94 (setup_new_exec+0xa0/0x374)\n  Call Trace:\n  ([\u003c0000000000282e2c\u003e] setup_new_exec+0x38/0x374)\n   [\u003c00000000002dd12e\u003e] load_elf_binary+0x402/0x1bf4\n   [\u003c0000000000280a42\u003e] search_binary_handler+0x38e/0x5bc\n   [\u003c0000000000282b6c\u003e] do_execve_common+0x410/0x514\n   [\u003c0000000000282cb6\u003e] do_execve+0x46/0x58\n   [\u003c00000000005bce58\u003e] kernel_execve+0x28/0x70\n   [\u003c000000000014ba2e\u003e] ____call_usermodehelper+0x102/0x140\n   [\u003c00000000005bc8da\u003e] kernel_thread_starter+0x6/0xc\n   [\u003c00000000005bc8d4\u003e] kernel_thread_starter+0x0/0xc\n  Last Breaking-Event-Address:\n   [\u003c00000000002830f0\u003e] setup_new_exec+0x2fc/0x374\n\n  Kernel panic - not syncing: Fatal exception: panic_on_oops\n\nReported-by: Sebastian Ott \u003csebott@linux.vnet.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71b1b20b8aea6ba4a1a15736409f1261d8dfe1da",
      "tree": "494acfa3fee2b77ee6104fc623f760c7253d3ccb",
      "parents": [
        "d12566674c2d8d1275e197c01b44b481de42eda9",
        "500823195d0c9eec2a4637484f30cc93ec633d4a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 04 07:17:47 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 04 07:17:47 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus-3.3\u0027 of git://git.infradead.org/~dwmw2/mtd-3.3\n\n - Fix a regression in 16-bit Atmel NAND flash which was introduced in 3.1\n - Fix breakage with MTD suspend caused by the API rework\n - Fix a problem with resetting the MX28 BCH module\n - A couple of other trivial fixes\n\n* tag \u0027for-linus-3.3-20120204\u0027 of git://git.infradead.org/~dwmw2/mtd-3.3:\n  Revert \"mtd: atmel_nand: optimize read/write buffer functions\"\n  mtd: fix MTD suspend\n  jffs2: do not initialize variable unnecessarily\n  mtd: gpmi-nand bugfix: reset the BCH module when it is not MX23\n  mtd: nand: fix typo in comment\n"
    },
    {
      "commit": "6c073a7ee250118b8be3a2379c96fd7f78382b06",
      "tree": "b398bd9cad821a3543df835e5a0110f270acafb9",
      "parents": [
        "ff05f603c3238010769787f3ba54c48c290ed3e5",
        "d23a4b3fd6ef70b80411b39b8c8bc548a219ce70"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 02 15:47:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 02 15:47:33 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  rbd: fix safety of rbd_put_client()\n  rbd: fix a memory leak in rbd_get_client()\n  ceph: create a new session lock to avoid lock inversion\n  ceph: fix length validation in parse_reply_info()\n  ceph: initialize client debugfs outside of monc-\u003emutex\n  ceph: change \"ceph.layout\" xattr to be \"ceph.file.layout\"\n"
    },
    {
      "commit": "de47a4176c532ef5961b8a46a2d541a3517412d3",
      "tree": "6ceecd645cbc662c47d2b00478bcb69409353734",
      "parents": [
        "2a73ca8208197d03f78d680b3c7953b897e91eb6"
      ],
      "author": {
        "name": "Shirish Pargaonkar",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Thu Feb 02 15:28:28 2012 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Thu Feb 02 16:59:09 2012 -0600"
      },
      "message": "cifs: Fix oops in session setup code for null user mounts\n\nFor null user mounts, do not invoke string length function\nduring session setup.\n\nCc: \u003cstable@kernel.org\nReported-and-Tested-by: Chris Clayton \u003cchris2553@googlemail.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "8cdb878dcb359fd1137e9abdee9322f5e9bcfdf8",
      "tree": "146afc01f3c1d7cbc944328484d077032bc53bfd",
      "parents": [
        "24b36da33c64368775f4ef9386d44dce1d2bc8cf"
      ],
      "author": {
        "name": "Christopher Yeoh",
        "email": "cyeoh@au1.ibm.com",
        "time": "Thu Feb 02 11:34:09 2012 +1030"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 02 12:55:17 2012 -0800"
      },
      "message": "Fix race in process_vm_rw_core\n\nThis fixes the race in process_vm_core found by Oleg (see\n\n  http://article.gmane.org/gmane.linux.kernel/1235667/\n\nfor details).\n\nThis has been updated since I last sent it as the creation of the new\nmm_access() function did almost exactly the same thing as parts of the\nprevious version of this patch did.\n\nIn order to use mm_access() even when /proc isn\u0027t enabled, we move it to\nkernel/fork.c where other related process mm access functions already\nare.\n\nSigned-off-by: Chris Yeoh \u003cyeohc@au1.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d8fb02abdc39f92a1066313e2b17047876afa8f9",
      "tree": "32f8126683dd185411b701b79d23900cf6c02035",
      "parents": [
        "32852a81bccd9e3d1953b894966393d1b546576d"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Jan 12 17:48:10 2012 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Feb 02 12:49:19 2012 -0800"
      },
      "message": "ceph: create a new session lock to avoid lock inversion\n\nLockdep was reporting a possible circular lock dependency in\ndentry_lease_is_valid().  That function needs to sample the\nsession\u0027s s_cap_gen and and s_cap_ttl fields coherently, but needs\nto do so while holding a dentry lock.  The s_cap_lock field was\nbeing used to protect the two fields, but that can\u0027t be taken while\nholding a lock on a dentry within the session.\n\nIn most cases, the s_cap_gen and s_cap_ttl fields only get operated\non separately.  But in three cases they need to be updated together.\nImplement a new lock to protect the spots updating both fields\natomically is required.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nReviewed-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "32852a81bccd9e3d1953b894966393d1b546576d",
      "tree": "8c21ce9f1a1e6ecfbeafdcc8552b77b3587bca5b",
      "parents": [
        "ab434b60ab07f8c44246b6fb0cddee436687a09a"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Sat Jan 14 22:20:59 2012 -0500"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Feb 02 12:49:11 2012 -0800"
      },
      "message": "ceph: fix length validation in parse_reply_info()\n\n\"len\" is read from network and thus needs validation.  Otherwise, given\na bogus \"len\" value, p+len could be an out-of-bounds pointer, which is\nused in further parsing.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "114fc47492e23d93653e4a16664833e98d62a563",
      "tree": "c5ff822c89193cc6cad952cf24a06cd4a1f706eb",
      "parents": [
        "805a6af8dba5dfdd35ec35dc52ec0122400b2610"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Jan 11 17:41:01 2012 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Feb 02 12:48:52 2012 -0800"
      },
      "message": "ceph: change \"ceph.layout\" xattr to be \"ceph.file.layout\"\n\nThe virtual extended attribute named \"ceph.layout\" is meaningful\nonly for regular files.  Change its name to be \"ceph.file.layout\" to\nmore directly reflect that in the ceph xattr namespace.  Preserve\nthe old \"ceph.layout\" name for the time being (until we decide it\u0027s\nsafe to get rid of it entirely).\n\nAdd a missing initializer for \"readonly\" in the terminating entry.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nReviewed-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "6d08f2c7139790c268820a2e590795cb8333181a",
      "tree": "78b2773b8ca6949f9561af641908e4086ba193cb",
      "parents": [
        "572d34b946bae070debd42db1143034d9687e13f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jan 31 17:15:11 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 01 14:39:01 2012 -0800"
      },
      "message": "proc: make sure mem_open() doesn\u0027t pin the target\u0027s memory\n\nOnce /proc/pid/mem is opened, the memory can\u0027t be released until\nmem_release() even if its owner exits.\n\nChange mem_open() to do atomic_inc(mm_count) + mmput(), this only\npins mm_struct. Change mem_rw() to do atomic_inc_not_zero(mm_count)\nbefore access_remote_vm(), this verifies that this mm is still alive.\n\nI am not sure what should mem_rw() return if atomic_inc_not_zero()\nfails. With this patch it returns zero to match the \"mm \u003d\u003d NULL\" case,\nmay be it should return -EINVAL like it did before e268337d.\n\nPerhaps it makes sense to add the additional fatal_signal_pending()\ncheck into the main loop, to ensure we do not hold this memory if\nthe target task was oom-killed.\n\nCc: stable@kernel.org\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "572d34b946bae070debd42db1143034d9687e13f",
      "tree": "b913d612090e8ec25e92451120ef64692c802264",
      "parents": [
        "71879d3cb3dd8f2dfdefb252775c1b3ea04a3dd4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jan 31 17:14:54 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 01 14:39:01 2012 -0800"
      },
      "message": "proc: unify mem_read() and mem_write()\n\nNo functional changes, cleanup and preparation.\n\nmem_read() and mem_write() are very similar. Move this code into the\nnew common helper, mem_rw(), which takes the additional \"int write\"\nargument.\n\nCc: stable@kernel.org\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71879d3cb3dd8f2dfdefb252775c1b3ea04a3dd4",
      "tree": "befc1bd5504c6d97a24a2d519de19eaa3af0906f",
      "parents": [
        "879a5a001b62a020e074d460b3a7c0fd993f9832"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jan 31 17:14:38 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 01 14:39:01 2012 -0800"
      },
      "message": "proc: mem_release() should check mm !\u003d NULL\n\nmem_release() can hit mm \u003d\u003d NULL, add the necessary check.\n\nCc: stable@kernel.org\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d731019218e49a9811f6d0adec4b1cfcb752bed",
      "tree": "a90bf478f8fe36543ba586db5fa2760ba129a180",
      "parents": [
        "62aa2b537c6f5957afd98e29f96897419ed5ebab"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Feb 01 11:10:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 01 11:10:24 2012 -0800"
      },
      "message": "mtd: fix merge conflict resolution breakage\n\nThis patch fixes merge conflict resolution breakage introduced by merge\nd3712b9dfcf4 (\"Merge tag \u0027for-linus\u0027 of git://github.com/prasad-joshi/logfs_upstream\").\n\nThe commit changed \u0027mtd_can_have_bb()\u0027 function and made it always\nreturn zero, which is incorrect.  Instead, we need it to return whether\nthe underlying flash device can have bad eraseblocks or not.  UBI needs\nthis information because it affects how it handles the underlying flash.\nE.g., if the underlying flash is NOR, it cannot have bad blocks and any\nwrite or erase error is fatal, and all we can do is to switch to R/O\nmode.  We do not need to reserve a pool of good eraseblocks for bad\neraseblocks handling, and so on.\n\nThis patch also removes \u0027mtd_can_have_bb()\u0027 invocations from Logfs to\nensure correct Logfs behavior.\n\nI\u0027ve tested that with this patch UBI works on top of NOR and NAND\nflashes emulated by mtdram and nandsim correspondingly.\n\nThis patch is based on patch from Linus Torvalds.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nAcked-by: Jörn Engel \u003cjoern@logfs.org\u003e\nAcked-by: Prasad Joshi \u003cprasadjoshi.linux@gmail.com\u003e\nAcked-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15eb77a07c714ac80201abd0a9568888bcee6276",
      "tree": "cc43dc8458cb431900fd47990772ffa56b36b4f4",
      "parents": [
        "2673b4cf5d59c3ee5e0c12f6d734d38770324dc4"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jan 17 11:18:56 2012 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Feb 01 16:53:40 2012 +0800"
      },
      "message": "writeback: fix NULL bdi-\u003edev in trace writeback_single_inode\n\nbdi_prune_sb() resets sb-\u003es_bdi to default_backing_dev_info when the\ntearing down the original bdi. Fix trace_writeback_single_inode to\nuse sb-\u003es_bdi\u003ddefault_backing_dev_info rather than bdi-\u003edev\u003dNULL for a\nteared down bdi.\n\nCc: \u003cstable@kernel.org\u003e\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nTested-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "2a73ca8208197d03f78d680b3c7953b897e91eb6",
      "tree": "ba106c187c108bdf73fe3a6a84e9365b03815e74",
      "parents": [
        "000f9bb83968ebd6959ff76870f16fc8f766ebd3"
      ],
      "author": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Jan 31 12:51:24 2012 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Jan 31 12:51:24 2012 -0600"
      },
      "message": "[CIFS] Update cifs Kconfig title to match removal of experimental dependency\n\nRemoved the dependency on CONFIG_EXPERIMENTAL but forgot to update\nthe text description to be consistent.\n\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "4505360376637832f79f84f352588b0a045ad113",
      "tree": "d0b00507b1d1c19684cddf402d995599a2e5cbef",
      "parents": [
        "9b025eb3a89e041bab6698e3858706be2385d692"
      ],
      "author": {
        "name": "Mitsuo Hayasaka",
        "email": "mitsuo.hayasaka.hu@hitachi.com",
        "time": "Fri Jan 27 06:37:26 2012 +0000"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Tue Jan 31 12:11:18 2012 -0600"
      },
      "message": "xfs: pass KM_SLEEP flag to kmem_realloc() in xlog_recover_add_to_cnt_trans()\n\nThe kmem_realloc() in xfs is given KM_* memory allocation flags. And it\nallocates memory using kmalloc() after they are converted to gfp_mask\nflags. In xlog_recover_add_to_cont_trans(), 0u is passed to kmem_realloc(),\ninstead of them. I guess it is preferred to use them, and here memory must\nbe allocated but don\u0027t have to be done with GFP_ATOMIC. So, this patch\nchanges it to KM_SLEEP.\n\nSigned-off-by: Mitsuo Hayasaka \u003cmitsuo.hayasaka.hu@hitachi.com\u003e\nCc: Ben Myers \u003cbpm@sgi.com\u003e\nCc: Alex Elder \u003celder@kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "d3712b9dfcf44ca145cf87e7f4096fa2d923471a",
      "tree": "d72aaaa845fb81c669093363a0a1cc6d9e96baf2",
      "parents": [
        "c5d2bc11030568966f04a2af35bacf33d3e37af7",
        "f2933e86ad93a8d1287079d59e67afd6f4166a9d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 31 09:23:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 31 09:23:59 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://github.com/prasad-joshi/logfs_upstream\n\nThere are few important bug fixes for LogFS\n\n* tag \u0027for-linus\u0027 of git://github.com/prasad-joshi/logfs_upstream:\n  Logfs: Allow NULL block_isbad() methods\n  logfs: Grow inode in delete path\n  logfs: Free areas before calling generic_shutdown_super()\n  logfs: remove useless BUG_ON\n  MAINTAINERS: Add Prasad Joshi in LogFS maintiners\n  logfs: Propagate page parameter to __logfs_write_inode\n  logfs: set superblock shutdown flag after generic sb shutdown\n  logfs: take write mutex lock during fsync and sync\n  logfs: Prevent memory corruption\n  logfs: update page reference count for pined pages\n\nFix up conflict in fs/logfs/dev_mtd.c due to semantic change in what\n\"mtd-\u003eblock_isbad\" means in commit f2933e86ad93: \"Logfs: Allow NULL\nblock_isbad() methods\" clashing with the abstraction changes in the\ncommits 7086c19d0742: \"mtd: introduce mtd_block_isbad interface\" and\nd58b27ed58a3: \"logfs: do not use \u0027mtd-\u003eblock_isbad\u0027 directly\".\n\nThis resolution takes the semantics from commit f2933e86ad93, and just\nmakes mtd_block_isbad() return zero (false) if the \u0027block_isbad\u0027\nfunction is NULL.  But that also means that now \"mtd_can_have_bb()\"\nalways returns 0.\n\nNow, \"mtd_block_markbad()\" will obviously return an error if the\nlow-level driver doesn\u0027t support bad blocks, so this is somewhat\nnon-symmetric, but it actually makes sense if a NULL \"block_isbad\"\nfunction is considered to mean \"I assume that all my blocks are always\ngood\".\n"
    },
    {
      "commit": "000f9bb83968ebd6959ff76870f16fc8f766ebd3",
      "tree": "4c12a4eecfac33b279f86df817af73da121e027c",
      "parents": [
        "4991a5faab7368daac463181e786608b4eb63675"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Mon Jan 30 19:50:01 2012 -0800"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Jan 31 07:42:08 2012 -0600"
      },
      "message": "cifs: fix printk format warnings\n\nFix printk format warnings for ssize_t variables:\n\nfs/cifs/connect.c:2145:3: warning: format \u0027%ld\u0027 expects type \u0027long int\u0027, but argument 3 has type \u0027ssize_t\u0027\nfs/cifs/connect.c:2152:3: warning: format \u0027%ld\u0027 expects type \u0027long int\u0027, but argument 3 has type \u0027ssize_t\u0027\nfs/cifs/connect.c:2160:3: warning: format \u0027%ld\u0027 expects type \u0027long int\u0027, but argument 3 has type \u0027ssize_t\u0027\nfs/cifs/connect.c:2170:3: warning: format \u0027%ld\u0027 expects type \u0027long int\u0027, but argument 3 has type \u0027ssize_t\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc:\tlinux-cifs@vger.kernel.org\n"
    },
    {
      "commit": "4991a5faab7368daac463181e786608b4eb63675",
      "tree": "de09a9fbbfae716c5dc2cb57a1f83a0460a8c8f4",
      "parents": [
        "803ab977618eae2b292cda0a97eed75f42250ddf"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Jan 31 11:52:01 2012 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Jan 31 07:42:06 2012 -0600"
      },
      "message": "cifs: check offset in decode_ntlmssp_challenge()\n\nWe should check that we\u0027re not copying memory from beyond the end of the\nblob.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "0a9626575400879d1d5e6bc8768188b938d7c501",
      "tree": "131242645033de27d549d9cb5d97f0043914b6d2",
      "parents": [
        "e3b8369ca8f2fd756031dd972224bc70c2364ec2",
        "ce597919361dcec97341151690e780eade2a9cf4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 28 18:20:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 28 18:20:48 2012 -0800"
      },
      "message": "Merge tag \u0027driver-core-3.3-rc1-bugfixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nHere are some patches for the 3.3-rc1 tree.\n\nIt contains the removal of the sysdev code, now that all users of it are\ngone, as well as some sysfs bugfixes that have been reported by users.\nThere are also some documentation updates here as well.\n\n* tag \u0027driver-core-3.3-rc1-bugfixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:\n  sysfs: Complain bitterly about attempts to remove files from nonexistent directories.\n  stable: update documentation to ask for kernel version\n  base/core.c:fix typo in comment in function device_add\n  Documentation: devres: add allocation functions to list of supported calls\n  Documentation update for the driver model core\n  kernel-doc: fix new warnings in driver-core\n  kernel-doc: fix new warnings in debugfs\n  kernel-doc: fix new warnings in device.h\n  driver core: remove drivers/base/sys.c and include/linux/sysdev.h\n"
    },
    {
      "commit": "67d2433ee7aa631bc3ab14c2af6bbc1d44d13a00",
      "tree": "eb29e1489f9f4a99308e08568328de73fb89fc2e",
      "parents": [
        "1c36ab1a318ab5b3b502e7e4fff3628d1a97861f",
        "9998eb703490589c3e8f1bf09b15203156776edb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 28 17:00:19 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 28 17:00:19 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:\n  Btrfs: fix reservations in btrfs_page_mkwrite\n  Btrfs: advance window_start if we\u0027re using a bitmap\n  btrfs: mask out gfp flags in releasepage\n  Btrfs: fix enospc error caused by wrong checks of the chunk\n  Btrfs: do not defrag a file partially\n  Btrfs: fix warning for 32-bit build of fs/btrfs/check-integrity.c\n  Btrfs: use cluster-\u003ewindow_start when allocating from a cluster bitmap\n  Btrfs: Check for NULL page in extent_range_uptodate\n  btrfs: Fix busyloops in transaction waiting code\n  Btrfs: make sure a bitmap has enough bytes\n  Btrfs: fix uninit warning in backref.c\n"
    },
    {
      "commit": "f2933e86ad93a8d1287079d59e67afd6f4166a9d",
      "tree": "43aa0955e24127ca0e54546defa0e321365e35dc",
      "parents": [
        "bbe01387129f76fa4bec17904eb14c4bdc3c179f"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri Aug 05 11:09:55 2011 +0200"
      },
      "committer": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sat Jan 28 11:43:40 2012 +0530"
      },
      "message": "Logfs: Allow NULL block_isbad() methods\n\nNot all mtd drivers define block_isbad().  Let\u0027s assume no bad blocks\ninstead of refusing to mount.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "bbe01387129f76fa4bec17904eb14c4bdc3c179f",
      "tree": "7524e5c127da68f483221183ffb0ae841ebb1e6e",
      "parents": [
        "1bcceaff8cbe5e5698ccf1015c9a938aa72718c4"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri Aug 05 11:13:30 2011 +0200"
      },
      "committer": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sat Jan 28 11:43:07 2012 +0530"
      },
      "message": "logfs: Grow inode in delete path\n\nCan be necessary if an inode gets deleted (through -ENOSPC) before being\nwritten.  Might be better to move this into logfs_write_rec(), but for\nnow go with the stupid\u0026safe patch.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "1bcceaff8cbe5e5698ccf1015c9a938aa72718c4",
      "tree": "2e36c3d9d5577dbfd3998cab37576a8761cf18fa",
      "parents": [
        "6c69494f6b442834f26377e02d43fc8e1272221d"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri Aug 05 11:18:19 2011 +0200"
      },
      "committer": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sat Jan 28 11:42:39 2012 +0530"
      },
      "message": "logfs: Free areas before calling generic_shutdown_super()\n\nOr hit an assertion in map_invalidatepage() instead.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "6c69494f6b442834f26377e02d43fc8e1272221d",
      "tree": "0f1f9973363d19fb5015ca25eb1c06a62fee22d6",
      "parents": [
        "756ccb3c351e425ad5544ff1a92cfe6bec83b904"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Sep 12 21:09:16 2011 +0530"
      },
      "committer": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sat Jan 28 11:41:56 2012 +0530"
      },
      "message": "logfs: remove useless BUG_ON\n\nIt prevents write sizes \u003e4k.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "0bd90387ed5a8abbcf43391b480efdc211721cfe",
      "tree": "ce92c57f4a56b601a694a0d50e5b2834065f42c1",
      "parents": [
        "ecfd890991a26e70547e025673580923a004c5e4"
      ],
      "author": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sun Oct 02 23:46:51 2011 +0530"
      },
      "committer": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sat Jan 28 11:38:25 2012 +0530"
      },
      "message": "logfs: Propagate page parameter to __logfs_write_inode\n\nDuring GC LogFS has to rewrite each valid block to a separate segment.\nRewrite operation reads data from an old segment and writes it to a\nnewly allocated segment. Since every write operation changes data\nblock pointers maintained in inode, inode should also be rewritten.\n\nIn GC path to avoid AB-BA deadlock LogFS marks a page with\nPG_pre_locked in addition to locking the page (PG_locked). The page\nlock is ignored iff the page is pre-locked.\n\nLogFS uses a special file called segment file. The segment file\nmaintains an 8 bytes entry for every segment. It keeps track of erase\ncount, level etc. for every segment.\n\nBad things happen with a segment belonging to the segment file is GCed\n\n ------------[ cut here ]------------\nkernel BUG at /home/prasad/logfs/readwrite.c:297!\ninvalid opcode: 0000 [#1] SMP\nModules linked in: logfs joydev usbhid hid psmouse e1000 i2c_piix4\n\t\tserio_raw [last unloaded: logfs]\nPid: 20161, comm: mount Not tainted 3.1.0-rc3+ #3 innotek GmbH\n\t\tVirtualBox\nEIP: 0060:[\u003cf809132a\u003e] EFLAGS: 00010292 CPU: 0\nEIP is at logfs_lock_write_page+0x6a/0x70 [logfs]\nEAX: 00000027 EBX: f73f5b20 ECX: c16007c8 EDX: 00000094\nESI: 00000000 EDI: e59be6e4 EBP: c7337b28 ESP: c7337b18\nDS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess mount (pid: 20161, ti\u003dc7336000 task\u003deb323f70 task.ti\u003dc7336000)\nStack:\nf8099a3d c7337b24 f73f5b20 00001002 c7337b50 f8091f6d f8099a4d f80994e4\n00000003 00000000 c7337b68 00000000 c67e4400 00001000 c7337b80 f80935e5\n00000000 00000000 00000000 00000000 e1fcf000 0000000f e59be618 c70bf900\nCall Trace:\n[\u003cf8091f6d\u003e] logfs_get_write_page.clone.16+0xdd/0x100 [logfs]\n[\u003cf80935e5\u003e] logfs_mod_segment_entry+0x55/0x110 [logfs]\n[\u003cf809460d\u003e] logfs_get_segment_entry+0x1d/0x20 [logfs]\n[\u003cf8091060\u003e] ? logfs_cleanup_journal+0x50/0x50 [logfs]\n[\u003cf809521b\u003e] ostore_get_erase_count+0x1b/0x40 [logfs]\n[\u003cf80965b8\u003e] logfs_open_area+0xc8/0x150 [logfs]\n[\u003cc141a7ec\u003e] ? kmemleak_alloc+0x2c/0x60\n[\u003cf809668e\u003e] __logfs_segment_write.clone.16+0x4e/0x1b0 [logfs]\n[\u003cc10dd563\u003e] ? mempool_kmalloc+0x13/0x20\n[\u003cc10dd563\u003e] ? mempool_kmalloc+0x13/0x20\n[\u003cf809696f\u003e] logfs_segment_write+0x17f/0x1d0 [logfs]\n[\u003cf8092e8c\u003e] logfs_write_i0+0x11c/0x180 [logfs]\n[\u003cf8092f35\u003e] logfs_write_direct+0x45/0x90 [logfs]\n[\u003cf80934cd\u003e] __logfs_write_buf+0xbd/0xf0 [logfs]\n[\u003cc102900e\u003e] ? kmap_atomic_prot+0x4e/0xe0\n[\u003cf809424b\u003e] logfs_write_buf+0x3b/0x60 [logfs]\n[\u003cf80947a9\u003e] __logfs_write_inode+0xa9/0x110 [logfs]\n[\u003cf8094cb0\u003e] logfs_rewrite_block+0xc0/0x110 [logfs]\n[\u003cf8095300\u003e] ? get_mapping_page+0x10/0x60 [logfs]\n[\u003cf8095aa0\u003e] ? logfs_load_object_aliases+0x2e0/0x2f0 [logfs]\n[\u003cf808e57d\u003e] logfs_gc_segment+0x2ad/0x310 [logfs]\n[\u003cf808e62a\u003e] __logfs_gc_once+0x4a/0x80 [logfs]\n[\u003cf808ed43\u003e] logfs_gc_pass+0x683/0x6a0 [logfs]\n[\u003cf8097a89\u003e] logfs_mount+0x5a9/0x680 [logfs]\n[\u003cc1126b21\u003e] mount_fs+0x21/0xd0\n[\u003cc10f6f6f\u003e] ? __alloc_percpu+0xf/0x20\n[\u003cc113da41\u003e] ? alloc_vfsmnt+0xb1/0x130\n[\u003cc113db4b\u003e] vfs_kern_mount+0x4b/0xa0\n[\u003cc113e06e\u003e] do_kern_mount+0x3e/0xe0\n[\u003cc113f60d\u003e] do_mount+0x34d/0x670\n[\u003cc10f2749\u003e] ? strndup_user+0x49/0x70\n[\u003cc113fcab\u003e] sys_mount+0x6b/0xa0\n[\u003cc142d87c\u003e] syscall_call+0x7/0xb\nCode: f8 e8 8b 93 39 c9 8b 45 f8 3e 0f ba 28 00 19 d2 85 d2 74 ca eb d0 0f 0b 8d 45 fc 89 44 24 04 c7 04 24 3d 9a 09 f8 e8 09 92 39 c9 \u003c0f\u003e 0b 8d 74 26 00 55 89 e5 3e 8d 74 26 00 8b 10 80 e6 01 74 09\nEIP: [\u003cf809132a\u003e] logfs_lock_write_page+0x6a/0x70 [logfs] SS:ESP 0068:c7337b18\n---[ end trace 96e67d5b3aa3d6ca ]---\n\nThe patch passes locked page to __logfs_write_inode. It calls function\nlogfs_get_wblocks() to pre-lock the page. This ensures any further\nattempts to lock the page are ignored (esp from get_erase_count).\n\nAcked-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Prasad Joshi \u003cprasadjoshi.linux@gmail.com\u003e\n"
    },
    {
      "commit": "ecfd890991a26e70547e025673580923a004c5e4",
      "tree": "f9f97f0cc7b858ff6602efce424bee1c1d1e9dc4",
      "parents": [
        "13ced29cb28996a9bc4f68e43ff0c57eafdb1e21"
      ],
      "author": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sun Oct 30 22:15:32 2011 +0530"
      },
      "committer": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sat Jan 28 11:37:47 2012 +0530"
      },
      "message": "logfs: set superblock shutdown flag after generic sb shutdown\n\nWhile unmounting the file system LogFS calls generic_shutdown_super.\nThe function does file system independent superblock shutdown.\nHowever, it might result in call file system specific inode eviction.\n\nLogFS marks FS shutting down by setting bit LOGFS_SB_FLAG_SHUTDOWN in\nsuper-\u003es_flags. Since, inode eviction might call truncate on inode,\nfollowing BUG is observed when file system is unmounted:\n\n------------[ cut here ]------------\nkernel BUG at /home/prasad/logfs/segment.c:362!\ninvalid opcode: 0000 [#1] PREEMPT SMP\nCPU 3\nModules linked in: logfs binfmt_misc ppdev virtio_blk parport_pc lp\n\tparport psmouse floppy virtio_pci serio_raw virtio_ring virtio\n\nPid: 1933, comm: umount Not tainted 3.0.0+ #4 Bochs Bochs\nRIP: 0010:[\u003cffffffffa008c841\u003e]  [\u003cffffffffa008c841\u003e]\n\t\tlogfs_segment_write+0x211/0x230 [logfs]\nRSP: 0018:ffff880062d7b9e8  EFLAGS: 00010202\nRAX: 000000000000000e RBX: ffff88006eca9000 RCX: 0000000000000000\nRDX: ffff88006fd87c40 RSI: ffffea00014ff468 RDI: ffff88007b68e000\nRBP: ffff880062d7ba48 R08: 8000000020451430 R09: 0000000000000000\nR10: dead000000100100 R11: 0000000000000000 R12: ffff88006fd87c40\nR13: ffffea00014ff468 R14: ffff88005ad0a460 R15: 0000000000000000\nFS:  00007f25d50ea760(0000) GS:ffff88007fd80000(0000)\n\tknlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\nCR2: 0000000000d05e48 CR3: 0000000062c72000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess umount (pid: 1933, threadinfo ffff880062d7a000,\n\ttask ffff880070b44500)\nStack:\nffff880062d7ba38 ffff88005ad0a508 0000000000001000 0000000000000000\n8000000020451430 ffffea00014ff468 ffff880062d7ba48 ffff88005ad0a460\nffff880062d7bad8 ffffea00014ff468 ffff88006fd87c40 0000000000000000\nCall Trace:\n[\u003cffffffffa0088fee\u003e] logfs_write_i0+0x12e/0x190 [logfs]\n[\u003cffffffffa0089360\u003e] __logfs_write_rec+0x140/0x220 [logfs]\n[\u003cffffffffa0089312\u003e] __logfs_write_rec+0xf2/0x220 [logfs]\n[\u003cffffffffa00894a4\u003e] logfs_write_rec+0x64/0xd0 [logfs]\n[\u003cffffffffa0089616\u003e] __logfs_write_buf+0x106/0x110 [logfs]\n[\u003cffffffffa008a19e\u003e] logfs_write_buf+0x4e/0x80 [logfs]\n[\u003cffffffffa008a6b8\u003e] __logfs_write_inode+0x98/0x110 [logfs]\n[\u003cffffffffa008a7c4\u003e] logfs_truncate+0x54/0x290 [logfs]\n[\u003cffffffffa008abfc\u003e] logfs_evict_inode+0xdc/0x190 [logfs]\n[\u003cffffffff8115eef5\u003e] evict+0x85/0x170\n[\u003cffffffff8115f126\u003e] iput+0xe6/0x1b0\n[\u003cffffffff8115b4a8\u003e] shrink_dcache_for_umount_subtree+0x218/0x280\n[\u003cffffffff8115ce91\u003e] shrink_dcache_for_umount+0x51/0x90\n[\u003cffffffff8114796c\u003e] generic_shutdown_super+0x2c/0x100\n[\u003cffffffffa008cc47\u003e] logfs_kill_sb+0x57/0xf0 [logfs]\n[\u003cffffffff81147de5\u003e] deactivate_locked_super+0x45/0x70\n[\u003cffffffff811487ea\u003e] deactivate_super+0x4a/0x70\n[\u003cffffffff81163934\u003e] mntput_no_expire+0xa4/0xf0\n[\u003cffffffff8116469f\u003e] sys_umount+0x6f/0x380\n[\u003cffffffff814dd46b\u003e] system_call_fastpath+0x16/0x1b\nCode: 55 c8 49 8d b6 a8 00 00 00 45 89 f9 45 89 e8 4c 89 e1 4c 89 55\nb8 c7 04 24 00 00 00 00 e8 68 fc ff ff 4c 8b 55 b8 e9 3c ff ff ff \u003c0f\u003e\n0b 0f 0b c7 45 c0 00 00 00 00 e9 44 fe ff ff 66 66 66 66 66\nRIP  [\u003cffffffffa008c841\u003e] logfs_segment_write+0x211/0x230 [logfs]\nRSP \u003cffff880062d7b9e8\u003e\n---[ end trace fe6b040cea952290 ]---\n\nTherefore, move super-\u003es_flags setting after the fs-indenpendent work\nhas been finished.\n\nReviewed-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Prasad Joshi \u003cprasadjoshi.linux@gmail.com\u003e\n"
    },
    {
      "commit": "13ced29cb28996a9bc4f68e43ff0c57eafdb1e21",
      "tree": "7c5b11f5e5124fa4d0642281880b4c558b9e5fec",
      "parents": [
        "934eed395d201bf0901ca0c0cc3703b18729d0ce"
      ],
      "author": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sat Jan 28 11:36:06 2012 +0530"
      },
      "committer": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sat Jan 28 11:36:06 2012 +0530"
      },
      "message": "logfs: take write mutex lock during fsync and sync\n\nLogFS uses super-\u003es_write_mutex while writing data to disk. Taking the\nsame mutex lock in sync and fsync code path solves the following BUG:\n\n------------[ cut here ]------------\nkernel BUG at /home/prasad/logfs/dev_bdev.c:134!\n\nPid: 2387, comm: flush-253:16 Not tainted 3.0.0+ #4 Bochs Bochs\nRIP: 0010:[\u003cffffffffa007deed\u003e]  [\u003cffffffffa007deed\u003e]\n                bdev_writeseg+0x25d/0x270 [logfs]\nCall Trace:\n[\u003cffffffffa007c381\u003e] logfs_open_area+0x91/0x150 [logfs]\n[\u003cffffffff8128dcb2\u003e] ? find_level.clone.9+0x62/0x100\n[\u003cffffffffa007c49c\u003e] __logfs_segment_write.clone.20+0x5c/0x190 [logfs]\n[\u003cffffffff810ef005\u003e] ? mempool_kmalloc+0x15/0x20\n[\u003cffffffff810ef383\u003e] ? mempool_alloc+0x53/0x130\n[\u003cffffffffa007c7a4\u003e] logfs_segment_write+0x1d4/0x230 [logfs]\n[\u003cffffffffa0078f8e\u003e] logfs_write_i0+0x12e/0x190 [logfs]\n[\u003cffffffffa0079300\u003e] __logfs_write_rec+0x140/0x220 [logfs]\n[\u003cffffffffa0079444\u003e] logfs_write_rec+0x64/0xd0 [logfs]\n[\u003cffffffffa00795b6\u003e] __logfs_write_buf+0x106/0x110 [logfs]\n[\u003cffffffffa007a13e\u003e] logfs_write_buf+0x4e/0x80 [logfs]\n[\u003cffffffffa0073e33\u003e] __logfs_writepage+0x23/0x80 [logfs]\n[\u003cffffffffa007410c\u003e] logfs_writepage+0xdc/0x110 [logfs]\n[\u003cffffffff810f5ba7\u003e] __writepage+0x17/0x40\n[\u003cffffffff810f6208\u003e] write_cache_pages+0x208/0x4f0\n[\u003cffffffff810f5b90\u003e] ? set_page_dirty+0x70/0x70\n[\u003cffffffff810f653a\u003e] generic_writepages+0x4a/0x70\n[\u003cffffffff810f75d1\u003e] do_writepages+0x21/0x40\n[\u003cffffffff8116b9d1\u003e] writeback_single_inode+0x101/0x250\n[\u003cffffffff8116bdbd\u003e] writeback_sb_inodes+0xed/0x1c0\n[\u003cffffffff8116c5fb\u003e] writeback_inodes_wb+0x7b/0x1e0\n[\u003cffffffff8116cc23\u003e] wb_writeback+0x4c3/0x530\n[\u003cffffffff814d984d\u003e] ? sub_preempt_count+0x9d/0xd0\n[\u003cffffffff8116cd6b\u003e] wb_do_writeback+0xdb/0x290\n[\u003cffffffff814d984d\u003e] ? sub_preempt_count+0x9d/0xd0\n[\u003cffffffff814d6208\u003e] ? _raw_spin_unlock_irqrestore+0x18/0x40\n[\u003cffffffff8105aa5a\u003e] ? del_timer+0x8a/0x120\n[\u003cffffffff8116cfac\u003e] bdi_writeback_thread+0x8c/0x2e0\n[\u003cffffffff8116cf20\u003e] ? wb_do_writeback+0x290/0x290\n[\u003cffffffff8106d2e6\u003e] kthread+0x96/0xa0\n[\u003cffffffff814de514\u003e] kernel_thread_helper+0x4/0x10\n[\u003cffffffff8106d250\u003e] ? kthread_worker_fn+0x190/0x190\n[\u003cffffffff814de510\u003e] ? gs_change+0xb/0xb\nRIP  [\u003cffffffffa007deed\u003e] bdev_writeseg+0x25d/0x270 [logfs]\n---[ end trace 0211ad60a57657c4 ]---\n\nReviewed-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Prasad Joshi \u003cprasadjoshi.linux@gmail.com\u003e\n"
    },
    {
      "commit": "934eed395d201bf0901ca0c0cc3703b18729d0ce",
      "tree": "27847639b14a0fc16b850bd39c0ace939694d8f2",
      "parents": [
        "96150606e2fb82d242c9e4a414e4e922849f7bf7"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sun Nov 20 22:29:01 2011 +0530"
      },
      "committer": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sat Jan 28 11:24:21 2012 +0530"
      },
      "message": "logfs: Prevent memory corruption\n\nThis is a bad one.  I wonder whether we were so far protected by\nno_free_segments(sb) usually being smaller than LOGFS_NO_AREAS.\n\nFound by Dan Carpenter \u003cdan.carpenter@oracle.com\u003e using smatch.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Prasad Joshi \u003cprasadjoshi.linux@gmail.com\u003e\n"
    },
    {
      "commit": "96150606e2fb82d242c9e4a414e4e922849f7bf7",
      "tree": "efdb8a85b5838aa13e6c233ebec580c1f956be5d",
      "parents": [
        "f423fc627b05f47bc9305f9661630fce30f208f9"
      ],
      "author": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sat Nov 26 11:00:47 2011 +0530"
      },
      "committer": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sat Jan 28 11:23:10 2012 +0530"
      },
      "message": "logfs: update page reference count for pined pages\n\nLogFS sets PG_private flag to indicate a pined page. We assumed that\nmarking a page as private is enough to ensure its existence. But\ninstead it is necessary to hold a reference count to the page.\n\nThe change resolves the following BUG\n\nBUG: Bad page state in process flush-253:16  pfn:6a6d0\npage flags: 0x100000000000808(uptodate|private)\n\nSuggested-and-Acked-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Prasad Joshi \u003cprasadjoshi.linux@gmail.com\u003e\n"
    },
    {
      "commit": "9998eb703490589c3e8f1bf09b15203156776edb",
      "tree": "5d01f0e7efae049b9be80292c93fe30f11eeefd1",
      "parents": [
        "9b23062840e7c685ef0a0b561285d6e3a3b6811b"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jan 25 13:47:40 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jan 27 10:44:44 2012 -0500"
      },
      "message": "Btrfs: fix reservations in btrfs_page_mkwrite\n\nJosef fixed btrfs_page_mkwrite to properly release reserved\nextents if there was an error.  But if we fail to get a reservation\nand we fail to dirty the inode (for ENOSPC reasons), we\u0027ll end up\ntrying to release a reservation we never had.\n\nThis makes sure we only release if we were able to reserve.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9b23062840e7c685ef0a0b561285d6e3a3b6811b",
      "tree": "47c00ad85dced3c4712b03de926b77c4aad99a77",
      "parents": [
        "0c4e538bccc106872d31b1514570b4dac95fb7f2"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Jan 26 15:01:12 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 26 15:01:12 2012 -0500"
      },
      "message": "Btrfs: advance window_start if we\u0027re using a bitmap\n\nIf we span a long area in a bitmap we could end up taking a lot of time\nsearching to the next free area if we\u0027re searching from the original\nwindow_start, so advance window_start in order to make sure we don\u0027t do any\nsuperficial searching.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0c4e538bccc106872d31b1514570b4dac95fb7f2",
      "tree": "094ecf6900b15dc8fd9e2a46cd0875e2c14cdcb9",
      "parents": [
        "9e622d6bea0202e9fe267955362c01918562c09b"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Thu Jan 26 15:01:12 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 26 15:01:12 2012 -0500"
      },
      "message": "btrfs: mask out gfp flags in releasepage\n\nbtree_releasepage is a callback and can be passed unknown gfp flags and then\nthey may end up in kmem_cache_alloc called from alloc_extent_state, slab\nallocator will BUG_ON when there is HIGHMEM or DMA32 flag set.\n\nThis may happen when btrfs is mounted from a loop device, which masks out\n__GFP_IO flag. The check in try_release_extent_state\n\n3399                 if ((mask \u0026 GFP_NOFS) \u003d\u003d GFP_NOFS)\n3400                         mask \u003d GFP_NOFS;\n\nwill not work and passes unfiltered flags further resulting in crash at\nmm/slab.c:2963\n\n [\u003c000000000024ae4c\u003e] cache_alloc_refill+0x3b4/0x5c8\n [\u003c000000000024c810\u003e] kmem_cache_alloc+0x204/0x294\n [\u003c00000000001fd3c2\u003e] mempool_alloc+0x52/0x170\n [\u003c000003c000ced0b0\u003e] alloc_extent_state+0x40/0xd4 [btrfs]\n [\u003c000003c000cee5ae\u003e] __clear_extent_bit+0x38a/0x4cc [btrfs]\n [\u003c000003c000cee78c\u003e] try_release_extent_state+0x9c/0xd4 [btrfs]\n [\u003c000003c000cc4c66\u003e] btree_releasepage+0x7e/0xd0 [btrfs]\n [\u003c0000000000210d84\u003e] shrink_page_list+0x6a0/0x724\n [\u003c0000000000211394\u003e] shrink_inactive_list+0x230/0x578\n [\u003c0000000000211bb8\u003e] shrink_list+0x6c/0x120\n [\u003c0000000000211e4e\u003e] shrink_zone+0x1e2/0x228\n [\u003c0000000000211f24\u003e] shrink_zones+0x90/0x254\n [\u003c0000000000213410\u003e] do_try_to_free_pages+0xac/0x420\n [\u003c0000000000213ae0\u003e] try_to_free_pages+0x13c/0x1b0\n [\u003c0000000000204e6c\u003e] __alloc_pages_nodemask+0x5b4/0x9a8\n [\u003c00000000001fb04a\u003e] grab_cache_page_write_begin+0x7e/0xe8\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9e622d6bea0202e9fe267955362c01918562c09b",
      "tree": "75b73fbfec2c56ba9ccbe909586cf0f27aba96e1",
      "parents": [
        "7ec31b548a17f773ab6289e795ed3a6820e8b56e"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Thu Jan 26 15:01:12 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 26 15:01:12 2012 -0500"
      },
      "message": "Btrfs: fix enospc error caused by wrong checks of the chunk\n\nWhen we did sysbench test for inline files, enospc error happened easily though\nthere was lots of free disk space which could be allocated for new chunks.\n\nReproduce steps:\n # mkfs.btrfs -b $((2 * 1024 * 1024 * 1024)) \u003ctest partition\u003e\n # mount \u003ctest partition\u003e /mnt\n # ulimit -n 102400\n # cd /mnt\n # sysbench --num-threads\u003d1 --test\u003dfileio --file-num\u003d81920 \\\n \u003e --file-total-size\u003d80M --file-block-size\u003d1K --file-io-mode\u003dsync \\\n \u003e --file-test-mode\u003dseqwr prepare\n # sysbench --num-threads\u003d1 --test\u003dfileio --file-num\u003d81920 \\\n \u003e --file-total-size\u003d80M --file-block-size\u003d1K --file-io-mode\u003dsync \\\n \u003e --file-test-mode\u003dseqwr run\n \u003csoon later, BUG_ON() was triggered by enospc error\u003e\n\nThe reason of this bug is:\nNow, we can reserve space which is larger than the free space in the chunks if\nwe have enough free disk space which can be used for new chunks. By this way,\nthe space allocator should allocate a new chunk by force if there is no free\nspace in the free space cache. But there are two wrong checks which break this\noperation.\n\nOne is\n\tif (ret \u003d\u003d -ENOSPC \u0026\u0026 num_bytes \u003e min_alloc_size)\nin btrfs_reserve_extent(), it is wrong, we should try to allocate a new chunk\neven we fail to allocate free space by minimum allocable size.\n\nThe other is\n\tif (space_info-\u003eforce_alloc)\n\t\tforce \u003d space_info-\u003eforce_alloc;\nin do_chunk_alloc(). It makes the allocator ignore CHUNK_ALLOC_FORCE If someone\nsets -\u003eforce_alloc to CHUNK_ALLOC_LIMITED, and makes the enospc error happen.\n\nFix these two wrong checks. Especially the second one, we fix it by changing\nthe value of CHUNK_ALLOC_LIMITED and CHUNK_ALLOC_FORCE, and make\nCHUNK_ALLOC_FORCE greater than CHUNK_ALLOC_LIMITED since CHUNK_ALLOC_FORCE has\nhigher priority. And if the value which is passed in by the caller is greater\nthan -\u003eforce_alloc, use the passed value.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "7ec31b548a17f773ab6289e795ed3a6820e8b56e",
      "tree": "c0c738e7c27e4ac6185f02acd76de64986218906",
      "parents": [
        "0b485143d835c019cddc45f46e4b3873dcc9aa4e"
      ],
      "author": {
        "name": "Liu Bo",
        "email": "liubo2009@cn.fujitsu.com",
        "time": "Thu Jan 26 15:01:12 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 26 15:01:12 2012 -0500"
      },
      "message": "Btrfs: do not defrag a file partially\n\nxfstests 218 complains that btrfs defrags a file partially:\n After: 1\n Write backwards sync, but contiguous - should defrag to 1 extent\n Before: 10\n-After: 1\n+After: 2\n\nTo fix this, we need to set max_to_defrag count properly.\n\nSigned-off-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0b485143d835c019cddc45f46e4b3873dcc9aa4e",
      "tree": "bda30ddfa281c2841ea4b54922b701ea31509cc9",
      "parents": [
        "0b4a9d248f88e6773312f262e8185f23863d984a"
      ],
      "author": {
        "name": "Stefan Behrens",
        "email": "sbehrens@giantdisaster.de",
        "time": "Thu Jan 26 15:01:11 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 26 15:01:11 2012 -0500"
      },
      "message": "Btrfs: fix warning for 32-bit build of fs/btrfs/check-integrity.c\n\nThere have been 4 warnings on 32-bit build, they are herewith fixed.\n\nSigned-off-by: Stefan Behrens \u003csbehrens@giantdisaster.de\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0b4a9d248f88e6773312f262e8185f23863d984a",
      "tree": "bd822950b56730d6be409c98291c4f2ba19678dc",
      "parents": [
        "8bedd51b6121c4607784d75f852828d25d119c52"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Jan 26 15:01:11 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 26 15:01:11 2012 -0500"
      },
      "message": "Btrfs: use cluster-\u003ewindow_start when allocating from a cluster bitmap\n\nWe specifically set window_start in the cluster struct to indicate where the\ncluster starts in a bitmap, but we\u0027ve been using min_start to indicate where\nwe\u0027re searching from.  This is usually the start of the blockgroup, so\nessentially means we\u0027re constantly searching from the start of any bitmap we\nfind, which completely negates all the trouble we go to in order to setup a\ncluster.  So start using window_start to make sure we actually use the area we\nfound.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "8bedd51b6121c4607784d75f852828d25d119c52",
      "tree": "e9299eb7b70a1d2f0ea5a4e23b53c7a6496eea59",
      "parents": [
        "6dd70ce4eb7429c2ba6dd9fa46f78a0a2a254038"
      ],
      "author": {
        "name": "Mitch Harder",
        "email": "mitch.harder@sabayonlinux.org",
        "time": "Thu Jan 26 15:01:11 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 26 15:01:11 2012 -0500"
      },
      "message": "Btrfs: Check for NULL page in extent_range_uptodate\n\nA user has encountered a NULL pointer kernel oops in btrfs when\nencountering media errors.  The problem has been identified\nas an unhandled NULL pointer returned from find_get_page().\nThis modification simply checks for a NULL page, and returns\nwith an error if found (the extent_range_uptodate() function\nreturns 1 on errors).\n\nAfter testing this patch, the user reported that the error with\nthe NULL pointer oops was solved.  However, there is still a\nremaining problem with a thread becoming stuck in\nwait_on_page_locked(page) in the read_extent_buffer_pages(...)\nfunction in extent_io.c\n\n       for (i \u003d start_i; i \u003c num_pages; i++) {\n               page \u003d extent_buffer_page(eb, i);\n               wait_on_page_locked(page);\n               if (!PageUptodate(page))\n                       ret \u003d -EIO;\n       }\n\nThis patch leaves the issue with the locked page yet to be resolved.\n\nSigned-off-by: Mitch Harder \u003cmitch.harder@sabayonlinux.org\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6dd70ce4eb7429c2ba6dd9fa46f78a0a2a254038",
      "tree": "d527b7a18a05183b9826d42f42e74811d5793cef",
      "parents": [
        "357b9784b79924a31ccded5d9a0c688f48cc28f2"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 26 15:01:11 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 26 15:01:11 2012 -0500"
      },
      "message": "btrfs: Fix busyloops in transaction waiting code\n\nwait_log_commit() and wait_for_writer() were using slightly different\nconditions for deciding whether they should call schedule() and whether they\nshould continue in the wait loop. Thus it could happen that we busylooped when\nthe first condition was not true while the second one was. That is burning CPU\ncycles needlessly and is deadly on UP machines...\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "357b9784b79924a31ccded5d9a0c688f48cc28f2",
      "tree": "ba47dcbcc40b956b30e4b27c790547cb5d3fc563",
      "parents": [
        "b1375d64c539c5b76794be759b62d3f178e67c32"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Jan 26 15:01:11 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 26 15:01:11 2012 -0500"
      },
      "message": "Btrfs: make sure a bitmap has enough bytes\n\nWe have only been checking for min_bytes available in bitmap entries, but we\nwon\u0027t successfully setup a bitmap cluster unless it has at least bytes in the\nbitmap, so in the common case min_bytes is 4k and we want something like 2MB, so\nif there are a bunch of bitmap entries with less than 2mb\u0027s in them, we\u0027ll\nsearch all them anyway, which is suboptimal.  Fix this check.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b1375d64c539c5b76794be759b62d3f178e67c32",
      "tree": "da4f29173700701bc1aa0ad17fdb436305fd3513",
      "parents": [
        "96bdc7dc61fb1b1e8e858dafb13abee8482ba064"
      ],
      "author": {
        "name": "Jan Schmidt",
        "email": "list.btrfs@jan-o-sch.net",
        "time": "Thu Jan 26 15:01:11 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 26 15:01:11 2012 -0500"
      },
      "message": "Btrfs: fix uninit warning in backref.c\n\nAdded initialization with the declaration of ret. It isn\u0027t set later on the\nswitch-default branch (which should never be taken).\n\nSigned-off-by: Jan Schmidt \u003clist.btrfs@jan-o-sch.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "aaad641eadfd3e74b0fbb68fcf539b9cef0415d0",
      "tree": "d8b8a65b84e3c2be1b697f205c75dd970538aef2",
      "parents": [
        "74a7f6a0a61f1f5addd0afa789785f4cefcfcafc",
        "9b025eb3a89e041bab6698e3858706be2385d692"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 25 15:36:44 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 25 15:36:44 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\nQuoth Ben Myers:\n \"Please pull in the following bugfix for xfs.  We forgot to drop a lock on\n  error in xfs_readlink.  It hasn\u0027t been through -next yet, but there is no\n  -next tree tomorrow.  The fix is clear so I\u0027m sending this request today.\"\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: Fix missing xfs_iunlock() on error recovery path in xfs_readlink()\n"
    },
    {
      "commit": "1589cb1a94c381579a0235ca708d9e2dca6d3a39",
      "tree": "d47e39780ac8cf5d6eefc2d4abc69ba92d6b239e",
      "parents": [
        "3074c0350b173c9e98b62685e0a61a66d9ff8728"
      ],
      "author": {
        "name": "Li Wang",
        "email": "liwang@nudt.edu.cn",
        "time": "Wed Jan 25 15:40:31 2012 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 25 15:10:53 2012 -0800"
      },
      "message": "eCryptfs: move misleading function comments\n\n The data encryption was moved from ecryptfs_write_end into\necryptfs_writepage, this patch moves the corresponding function\ncomments to be consistent with the modification.\n\nSigned-off-by: Li Wang \u003cliwang@nudt.edu.cn\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3074c0350b173c9e98b62685e0a61a66d9ff8728",
      "tree": "28f2cd48f1278983b1fa7d5b4a5895882ce5ca84",
      "parents": [
        "f8275f9694b8adf9f3498e747ea4c3e8b984499b",
        "58ded24f0fcb85bddb665baba75892f6ad0f4b8a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 25 15:03:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 25 15:03:04 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs\n\nSays Tyler:\n \"Tim\u0027s logging message update will be really helpful to users when\n  they\u0027re trying to locate a problematic file in the lower filesystem\n  with filename encryption enabled.\n\n  You\u0027ll recognize the fix from Li, as you commented on that.\n\n  You should also be familiar with my setattr/truncate improvements,\n  since you were the one that pointed them out to us (thanks again!).\n  Andrew noted the /dev/ecryptfs write count sanitization needed to be\n  improved, so I\u0027ve got a fix in there for that along with some other\n  less important cleanups of the /dev/ecryptfs read/write code.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:\n  eCryptfs: Fix oops when printing debug info in extent crypto functions\n  eCryptfs: Remove unused ecryptfs_read()\n  eCryptfs: Check inode changes in setattr\n  eCryptfs: Make truncate path killable\n  eCryptfs: Infinite loop due to overflow in ecryptfs_write()\n  eCryptfs: Replace miscdev read/write magic numbers\n  eCryptfs: Report errors in writes to /dev/ecryptfs\n  eCryptfs: Sanitize write counts of /dev/ecryptfs\n  ecryptfs: Remove unnecessary variable initialization\n  ecryptfs: Improve metadata read failure logging\n  MAINTAINERS: Update eCryptfs maintainer address\n"
    },
    {
      "commit": "58ded24f0fcb85bddb665baba75892f6ad0f4b8a",
      "tree": "40190011c2c728cfcfae82e105800958ddc92399",
      "parents": [
        "f2cb933501ebc066bf3c4b1836fd8428f8fe9863"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Tue Jan 24 10:02:22 2012 -0600"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jan 25 14:43:42 2012 -0600"
      },
      "message": "eCryptfs: Fix oops when printing debug info in extent crypto functions\n\nIf pages passed to the eCryptfs extent-based crypto functions are not\nmapped and the module parameter ecryptfs_verbosity\u003d1 was specified at\nloading time, a NULL pointer dereference will occur.\n\nNote that this wouldn\u0027t happen on a production system, as you wouldn\u0027t\npass ecryptfs_verbosity\u003d1 on a production system. It leaks private\ninformation to the system logs and is for debugging only.\n\nThe debugging info printed in these messages is no longer very useful\nand rather than doing a kmap() in these debugging paths, it will be\nbetter to simply remove the debugging paths completely.\n\nhttps://launchpad.net/bugs/913651\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nReported-by: Daniel DeFreez\nCc: \u003cstable@vger.kernel.org\u003e\n"
    },
    {
      "commit": "f2cb933501ebc066bf3c4b1836fd8428f8fe9863",
      "tree": "d179547c3156df94cb0f0b5a91e9691bfc3d7a89",
      "parents": [
        "a261a03904849c3df50bd0300efb7fb3f865137d"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jan 18 15:09:43 2012 -0600"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jan 25 14:43:41 2012 -0600"
      },
      "message": "eCryptfs: Remove unused ecryptfs_read()\n\necryptfs_read() has been ifdef\u0027ed out for years now and it was\napparently unused before then. It is time to get rid of it for good.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "a261a03904849c3df50bd0300efb7fb3f865137d",
      "tree": "59785a3a6894e3e29e547813ff1d010bc08e5893",
      "parents": [
        "5e6f0d769017cc49207ef56996e42363ec26c1f0"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Thu Jan 19 20:33:44 2012 -0600"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jan 25 14:43:41 2012 -0600"
      },
      "message": "eCryptfs: Check inode changes in setattr\n\nMost filesystems call inode_change_ok() very early in -\u003esetattr(), but\neCryptfs didn\u0027t call it at all. It allowed the lower filesystem to make\nthe call in its -\u003esetattr() function. Then, eCryptfs would copy the\nappropriate inode attributes from the lower inode to the eCryptfs inode.\n\nThis patch changes that and actually calls inode_change_ok() on the\neCryptfs inode, fairly early in ecryptfs_setattr(). Ideally, the call\nwould happen earlier in ecryptfs_setattr(), but there are some possible\ninode initialization steps that must happen first.\n\nSince the call was already being made on the lower inode, the change in\nfunctionality should be minimal, except for the case of a file extending\ntruncate call. In that case, inode_newsize_ok() was never being\ncalled on the eCryptfs inode. Rather than inode_newsize_ok() catching\nmaximum file size errors early on, eCryptfs would encrypt zeroed pages\nand write them to the lower filesystem until the lower filesystem\u0027s\nwrite path caught the error in generic_write_checks(). This patch\nintroduces a new function, called ecryptfs_inode_newsize_ok(), which\nchecks if the new lower file size is within the appropriate limits when\nthe truncate operation will be growing the lower file.\n\nIn summary this change prevents eCryptfs truncate operations (and the\nresulting page encryptions), which would exceed the lower filesystem\nlimits or FSIZE rlimits, from ever starting.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nReviewed-by: Li Wang \u003cliwang@nudt.edu.cn\u003e\nCc: \u003cstable@vger.kernel.org\u003e\n"
    },
    {
      "commit": "5e6f0d769017cc49207ef56996e42363ec26c1f0",
      "tree": "1cfcfdaeda81e1d17725bdd1e1a964cc5a0b40b5",
      "parents": [
        "684a3ff7e69acc7c678d1a1394fe9e757993fd34"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jan 18 18:30:04 2012 -0600"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jan 25 14:43:40 2012 -0600"
      },
      "message": "eCryptfs: Make truncate path killable\n\necryptfs_write() handles the truncation of eCryptfs inodes. It grabs a\npage, zeroes out the appropriate portions, and then encrypts the page\nbefore writing it to the lower filesystem. It was unkillable and due to\nthe lack of sparse file support could result in tying up a large portion\nof system resources, while encrypting pages of zeros, with no way for\nthe truncate operation to be stopped from userspace.\n\nThis patch adds the ability for ecryptfs_write() to detect a pending\nfatal signal and return as gracefully as possible. The intent is to\nleave the lower file in a useable state, while still allowing a user to\nbreak out of the encryption loop. If a pending fatal signal is detected,\nthe eCryptfs inode size is updated to reflect the modified inode size\nand then -EINTR is returned.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\n"
    },
    {
      "commit": "684a3ff7e69acc7c678d1a1394fe9e757993fd34",
      "tree": "733157a7c6ad606799fd2692f882da14aae2fd0b",
      "parents": [
        "48399c0b0e6172888a2e2e36df1595ab1e049ba8"
      ],
      "author": {
        "name": "Li Wang",
        "email": "liwang@nudt.edu.cn",
        "time": "Thu Jan 19 09:44:36 2012 +0800"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jan 25 14:43:40 2012 -0600"
      },
      "message": "eCryptfs: Infinite loop due to overflow in ecryptfs_write()\n\necryptfs_write() can enter an infinite loop when truncating a file to a\nsize larger than 4G. This only happens on architectures where size_t is\nrepresented by 32 bits.\n\nThis was caused by a size_t overflow due to it incorrectly being used to\nstore the result of a calculation which uses potentially large values of\ntype loff_t.\n\n[tyhicks@canonical.com: rewrite subject and commit message]\nSigned-off-by: Li Wang \u003cliwang@nudt.edu.cn\u003e\nSigned-off-by: Yunchuan Wen \u003cwenyunchuan@kylinos.com.cn\u003e\nReviewed-by: Cong Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "48399c0b0e6172888a2e2e36df1595ab1e049ba8",
      "tree": "7fb94f7ce80de13fd419e69322d9e6b157a49f91",
      "parents": [
        "7f133504249afa48618becac546ce3c35c9f0185"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Sat Jan 14 16:46:46 2012 +0100"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jan 25 14:43:40 2012 -0600"
      },
      "message": "eCryptfs: Replace miscdev read/write magic numbers\n\necryptfs_miscdev_read() and ecryptfs_miscdev_write() contained many\nmagic numbers for specifying packet header field sizes and offsets. This\npatch defines those values and replaces the magic values.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "7f133504249afa48618becac546ce3c35c9f0185",
      "tree": "0aa0044c7074095e15ac86a6f1be00c5bc0df8f7",
      "parents": [
        "db10e556518eb9d21ee92ff944530d84349684f4"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Sat Jan 14 15:51:37 2012 +0100"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jan 25 14:43:39 2012 -0600"
      },
      "message": "eCryptfs: Report errors in writes to /dev/ecryptfs\n\nErrors in writes to /dev/ecryptfs were being incorrectly reported by\nreturning 0 or the value of the original write count.\n\nThis patch clears up the return code assignment in error paths.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "db10e556518eb9d21ee92ff944530d84349684f4",
      "tree": "84a82f496a4fe4ee90812b5d7f2cd358f9730911",
      "parents": [
        "bb4503615d95d6826b7907986ad574e3157877e8"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Thu Jan 12 11:30:44 2012 +0100"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jan 25 14:43:39 2012 -0600"
      },
      "message": "eCryptfs: Sanitize write counts of /dev/ecryptfs\n\nA malicious count value specified when writing to /dev/ecryptfs may\nresult in a a very large kernel memory allocation.\n\nThis patch peeks at the specified packet payload size, adds that to the\nsize of the packet headers and compares the result with the write count\nvalue. The resulting maximum memory allocation size is approximately 532\nbytes.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\n"
    },
    {
      "commit": "bb4503615d95d6826b7907986ad574e3157877e8",
      "tree": "b18866a880872b94c16452208f9073b20987505c",
      "parents": [
        "30373dc0c87ffef68d5628e77d56ffb1fa22e1ee"
      ],
      "author": {
        "name": "Tim Gardner",
        "email": "tim.gardner@canonical.com",
        "time": "Thu Jan 12 16:31:55 2012 +0100"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jan 25 14:43:38 2012 -0600"
      },
      "message": "ecryptfs: Remove unnecessary variable initialization\n\nRemoves unneeded variable initialization in ecryptfs_read_metadata(). Also adds\na small comment to help explain metadata reading logic.\n\n[tyhicks@canonical.com: Pulled out of for-stable patch and wrote commit msg]\nSigned-off-by: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "30373dc0c87ffef68d5628e77d56ffb1fa22e1ee",
      "tree": "77e8589ed03f3e362b728f08bdfd74a54963e54e",
      "parents": [
        "140941987f8f85ee7c7d4592ecb6667b32f3485d"
      ],
      "author": {
        "name": "Tim Gardner",
        "email": "tim.gardner@canonical.com",
        "time": "Thu Jan 12 16:31:55 2012 +0100"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jan 25 14:43:38 2012 -0600"
      },
      "message": "ecryptfs: Improve metadata read failure logging\n\nPrint inode on metadata read failure. The only real\nway of dealing with metadata read failures is to delete\nthe underlying file system file. Having the inode\nallows one to \u0027find . -inum INODE`.\n\n[tyhicks@canonical.com: Removed some minor not-for-stable parts]\nSigned-off-by: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "9b025eb3a89e041bab6698e3858706be2385d692",
      "tree": "acb29c488c3f538c2041e279b701b0965cd9667b",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jan 11 18:52:10 2012 +0000"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Jan 25 11:01:31 2012 -0600"
      },
      "message": "xfs: Fix missing xfs_iunlock() on error recovery path in xfs_readlink()\n\nCommit b52a360b forgot to call xfs_iunlock() when it detected corrupted\nsymplink and bailed out. Fix it by jumping to \u0027out\u0027 instead of doing return.\n\nCC: stable@kernel.org\nCC: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nReviewed-by: Alex Elder \u003celder@kernel.org\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e \n"
    },
    {
      "commit": "d2346963bfcbb9a8ee783ca3c3b3bdd7448ec9d5",
      "tree": "4ba57a6ec31f3a4683e7766fbf4f182d459a8b51",
      "parents": [
        "4a7cbb56fdbd92a47f57ca8b25bf5db35f0d6518",
        "46fe44ce8777f087aa8ad4a2605fdcfb9c2d63af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 24 12:12:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 24 12:12:40 2012 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:\n  quota: Pass information that quota is stored in system file to userspace\n  ext2: protect inode changes in the SETVERSION and SETFLAGS ioctls\n  jbd: Issue cache flush after checkpointing\n"
    },
    {
      "commit": "ce597919361dcec97341151690e780eade2a9cf4",
      "tree": "7734c3d6a07173cb509be7a2ac7318fd389510bb",
      "parents": [
        "8381b5e88a19b780f19fc52b7dd67f2b05d07dca"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Jan 13 21:32:59 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:12:32 2012 -0800"
      },
      "message": "sysfs: Complain bitterly about attempts to remove files from nonexistent directories.\n\nRecently an OOPS was observed from the usb serial io_ti driver when it tried to remove\nsysfs directories.  Upon investigation it turns out this driver was always buggy\nand that a recent sysfs change had stopped guarding itself against removing attributes\nfrom sysfs directories that had already been removed. :(\n\nHistorically we have been silent about attempting to files from nonexistent sysfs\ndirectories and have politely returned error codes.  That has resulted in people writing\nbroken code that ignores the error codes.\n\nIssue a kernel WARNING and a stack backtrace to make it clear in no uncertain\nterms that abusing sysfs is not ok, and the callers need to fix their code.\n\nThis change transforms the io_ti OOPS into a more comprehensible error message\nand stack backtrace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nReported-by: Wolfgang Frisch \u003cwfpub@roembden.net\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0863b04d1578879173aacbc5c7be749fccb70809",
      "tree": "6d940831b852b9dc238a823968508eea17e70a4a",
      "parents": [
        "1a5e29fc2b90daf71a60329c29a1886fd126169a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sat Jan 21 11:02:42 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 10:47:41 2012 -0800"
      },
      "message": "kernel-doc: fix new warnings in debugfs\n\nFix new kernel-doc warnings:\n\nWarning(fs/debugfs/file.c:556): No description found for parameter \u0027nregs\u0027\nWarning(fs/debugfs/file.c:556): Excess function parameter \u0027mregs\u0027 description in \u0027debugfs_print_regs32\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "803ab977618eae2b292cda0a97eed75f42250ddf",
      "tree": "846b9d4086148ea91c440dde2b8ef5131ce6ecc2",
      "parents": [
        "c1aab02dac690af7ff634d8e1cb3be6a04387eef"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Jan 24 11:39:22 2012 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Jan 24 10:37:19 2012 -0600"
      },
      "message": "cifs: NULL dereference on allocation failure\n\nWe should just return directly here, the goto causes a NULL dereference.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "a99cbf6b43a7b3b15f6139b2d9ac4ecceccd3c99",
      "tree": "d92277ec77dbaf6f04a1ab4fe31a974c1ce51f76",
      "parents": [
        "4f57d865f1d863346ac50db9c25859e73a86499c",
        "b4d20859362fde976bb2fa53eb51b798cdba1afc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 10:08:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 10:08:08 2012 -0800"
      },
      "message": "Merge branch \u0027kernel-doc\u0027 from Randy Dunlap\n\nThe usual kernel-doc fixups from Randy.  Some of them David acked as\nmerged in his tree, this is the random left-overs.\n\n* kernel-doc:\n  docbook: fix sched source file names in device-drivers book\n  docbook: change iomap source filename in deviceiobook\n  docbook: don\u0027t use serial_core.h in device-drivers book\n  kernel-doc: fix kernel-doc warnings in sched\n  kernel-doc: fix new warnings in cfg80211.h\n  kernel-doc: fix new warning in usb.h\n  kernel-doc: fix new warnings in device.h\n  kernel-doc: fix new warnings in debugfs\n  kernel-doc: fix new warning in regulator core\n  kernel-doc: fix new warnings in pci\n  kernel-doc: fix new warnings in driver-core\n  kernel-doc: fix new warnings in auditsc.c\n  scripts/kernel-doc: fix fatal error caused by cfg80211.h\n"
    },
    {
      "commit": "4f57d865f1d863346ac50db9c25859e73a86499c",
      "tree": "ac3cf5abdc3ce4b5c051f03c682f8b0668d66caf",
      "parents": [
        "46c5b83bcc5ab4db34716954fc64645eba7038ca",
        "c25a785d6647984505fa165b5cd84cfc9a95970b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 09:27:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 09:27:54 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027\n\nQuoth Andrew:\n  \"Random fixes.  And a simple new LED driver which I\u0027m trying to sneak\n   in while you\u0027re not looking.\"\n\nSneaking successful.\n\n* akpm:\n  score: fix off-by-one index into syscall table\n  mm: fix rss count leakage during migration\n  SHM_UNLOCK: fix Unevictable pages stranded after swap\n  SHM_UNLOCK: fix long unpreemptible section\n  kdump: define KEXEC_NOTE_BYTES arch specific for s390x\n  mm/hugetlb.c: undo change to page mapcount in fault handler\n  mm: memcg: update the correct soft limit tree during migration\n  proc: clear_refs: do not clear reserved pages\n  drivers/video/backlight/l4f00242t03.c: return proper error in l4f00242t03_probe if regulator_get() fails\n  drivers/video/backlight/adp88x0_bl.c: fix bit testing logic\n  kprobes: initialize before using a hlist\n  ipc/mqueue: simplify reading msgqueue limit\n  leds: add led driver for Bachmann\u0027s ot200\n  mm: __count_immobile_pages(): make sure the node is online\n  mm: fix NULL ptr dereference in __count_immobile_pages\n  mm: fix warnings regarding enum migrate_mode\n"
    },
    {
      "commit": "7908b3ef6809e49c77d914342dfaa4b946476d7a",
      "tree": "44af103c5457b4c2286400158dcfc18846a7c4f0",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f",
        "acbbb76a26648dfae6fed0989879e40d75692bfc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 08:59:49 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 08:59:49 2012 -0800"
      },
      "message": "Merge git://git.samba.org/sfrench/cifs-2.6\n\n* git://git.samba.org/sfrench/cifs-2.6:\n  CIFS: Rename *UCS* functions to *UTF16*\n  [CIFS] ACL and FSCACHE support no longer EXPERIMENTAL\n  [CIFS] Fix build break with multiuser patch when LANMAN disabled\n  cifs: warn about impending deprecation of legacy MultiuserMount code\n  cifs: fetch credentials out of keyring for non-krb5 auth multiuser mounts\n  cifs: sanitize username handling\n  keys: add a \"logon\" key type\n  cifs: lower default wsize when unix extensions are not used\n  cifs: better instrumentation for coalesce_t2\n  cifs: integer overflow in parse_dacl()\n  cifs: Fix sparse warning when calling cifs_strtoUCS\n  CIFS: Add descriptions to the brlock cache functions\n"
    },
    {
      "commit": "b5763accd3b5fc131ee06e26ce56e63ae0322c9b",
      "tree": "50f0823167602fdc631a57d867fce2546b277bef",
      "parents": [
        "5bc75a886353fa5f386c5ce49a93da1756006d8f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sat Jan 21 11:02:42 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 08:44:53 2012 -0800"
      },
      "message": "kernel-doc: fix new warnings in debugfs\n\nFix new kernel-doc warnings:\n\nWarning(fs/debugfs/file.c:556): No description found for parameter \u0027nregs\u0027\nWarning(fs/debugfs/file.c:556): Excess function parameter \u0027mregs\u0027 description in \u0027debugfs_print_regs32\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85e72aa5384b1a614563ad63257ded0e91d1a620",
      "tree": "c39241b189ce0ab8b69e1b3ec3fda34f9cbfb320",
      "parents": [
        "d59d9ebaacba32b63f24d53b1463519b445b4683"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Jan 20 14:34:09 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 08:38:48 2012 -0800"
      },
      "message": "proc: clear_refs: do not clear reserved pages\n\n/proc/pid/clear_refs is used to clear the Referenced and YOUNG bits for\npages and corresponding page table entries of the task with PID pid, which\nincludes any special mappings inserted into the page tables in order to\nprovide things like vDSOs and user helper functions.\n\nOn ARM this causes a problem because the vectors page is mapped as a\nglobal mapping and since ec706dab (\"ARM: add a vma entry for the user\naccessible vector page\"), a VMA is also inserted into each task for this\npage to aid unwinding through signals and syscall restarts.  Since the\nvectors page is required for handling faults, clearing the YOUNG bit (and\nsubsequently writing a faulting pte) means that we lose the vectors page\n*globally* and cannot fault it back in.  This results in a system deadlock\non the next exception.\n\nTo see this problem in action, just run:\n\n\t$ echo 1 \u003e /proc/self/clear_refs\n\non an ARM platform (as any user) and watch your system hang.  I think this\nhas been the case since 2.6.37\n\nThis patch avoids clearing the aforementioned bits for reserved pages,\ntherefore leaving the vectors page intact on ARM.  Since reserved pages\nare not candidates for swap, this change should not have any impact on the\nusefulness of clear_refs.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nReported-by: Moussa Ba \u003cmoussaba@micron.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t\t[2.6.37+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "567e47935a7cddd8e823c73bb8ee0b2805cd4940",
      "tree": "0d1ee0eb233b7f84084f779d32ef1fb2d5be755a",
      "parents": [
        "99d1edc5c5ef5ee80982b354d57cef106cb8423c",
        "f7e6746ebae984ea67b0a1a1e23c7e6698240631",
        "6eadf1075c6f923fece419e38cf05bff559aefcd",
        "4f2f81a5621de47d42476d0b929be2e0d565df84"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 19 14:53:06 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 19 14:53:06 2012 -0800"
      },
      "message": "Merge branches \u0027sched-urgent-for-linus\u0027, \u0027perf-urgent-for-linus\u0027 and \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched/accounting, proc: Fix /proc/stat interrupts sum\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  tracepoints/module: Fix disabling tracepoints with taint CRAP or OOT\n  x86/kprobes: Add arch/x86/tools/insn_sanity to .gitignore\n  x86/kprobes: Fix typo transferred from Intel manual\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, syscall: Need __ARCH_WANT_SYS_IPC for 32 bits\n  x86, tsc: Fix SMI induced variation in quick_pit_calibrate()\n  x86, opcode: ANDN and Group 17 in x86-opcode-map.txt\n  x86/kconfig: Move the ZONE_DMA entry under a menu\n  x86/UV2: Add accounting for BAU strong nacks\n  x86/UV2: Ack BAU interrupt earlier\n  x86/UV2: Remove stale no-resources test for UV2 BAU\n  x86/UV2: Work around BAU bug\n  x86/UV2: Fix BAU destination timeout initialization\n  x86/UV2: Fix new UV2 hardware by using native UV2 broadcast mode\n  x86: Get rid of dubious one-bit signed bitfield\n"
    },
    {
      "commit": "e19c29e8d8d3b2dbc4c9a859f40c3f95ed089441",
      "tree": "9fb1d7c2973bbcae7632d4380868ef8c9ce40713",
      "parents": [
        "afd290945cd283030b51b433a66fe57a8feb28c8",
        "8bc5191b261c4fd9a5e9052cebe04ce2ef05f2e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 19 14:49:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 19 14:49:16 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  qnx4: don\u0027t leak -\u003eBitMap on late failure exits\n  qnx4: reduce the insane nesting in qnx4_checkroot()\n  qnx4: di_fname is an array, for crying out loud...\n  vfs: remove printk from set_nlink()\n  wake up s_wait_unfrozen when -\u003efreeze_fs fails\n"
    },
    {
      "commit": "8bc5191b261c4fd9a5e9052cebe04ce2ef05f2e7",
      "tree": "e6cbfb89710d748909156c3f728fe3e1bf613816",
      "parents": [
        "4134bf81ffd962f4de9bbeca55130d2238bd3698"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 19 13:54:36 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 19 13:54:36 2012 -0500"
      },
      "message": "qnx4: don\u0027t leak -\u003eBitMap on late failure exits\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4134bf81ffd962f4de9bbeca55130d2238bd3698",
      "tree": "5eef377c888d1f8432fa1dbbc397539588fe368e",
      "parents": [
        "1aab323ea5cd67d2d2572a1f2794978583ff8545"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 19 13:40:57 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 19 13:40:57 2012 -0500"
      },
      "message": "qnx4: reduce the insane nesting in qnx4_checkroot()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1aab323ea5cd67d2d2572a1f2794978583ff8545",
      "tree": "102dc00a85b084a458e1d27afa8b1dcc0e5a7ce2",
      "parents": [
        "424a5334a5235c2fbb80090b18a065eeceb51d64"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 19 13:19:42 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 19 13:19:42 2012 -0500"
      },
      "message": "qnx4: di_fname is an array, for crying out loud...\n\n(struct qnx4_inode_entry *)(bh-\u003eb_data + some_offset)-\u003edi_fname\nis not going to be NULL, TYVM...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "acbbb76a26648dfae6fed0989879e40d75692bfc",
      "tree": "509620f02e6d86444ea426bc188ba943381e5815",
      "parents": [
        "c56001879bc091eee0c7a8e6e94ea0bea63c3012"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 18 22:32:33 2012 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 18 22:32:33 2012 -0600"
      },
      "message": "CIFS: Rename *UCS* functions to *UTF16*\n\nto reflect the unicode encoding used by CIFS protocol.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nAcked-by: Jeff Layton \u003cjlayton@samba.org\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\n"
    },
    {
      "commit": "c56001879bc091eee0c7a8e6e94ea0bea63c3012",
      "tree": "149983a3303a87252ef5f662b7882175c42c28b8",
      "parents": [
        "88a4412b798236bfdd9284d5c251d76679f944e1"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 18 17:19:11 2012 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 18 17:55:41 2012 -0600"
      },
      "message": "[CIFS] ACL and FSCACHE support no longer EXPERIMENTAL\n\nCIFS ACL support and FSCACHE support have been in long enough\nto be no longer considered experimental.  Remove obsolete Kconfig\ndependency.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "88a4412b798236bfdd9284d5c251d76679f944e1",
      "tree": "a95990401c93cd45271b39745761ecef2d3182bd",
      "parents": [
        "34f598ca0803f399da3438df46c7f56bfe423789"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 18 17:13:47 2012 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 18 17:13:47 2012 -0600"
      },
      "message": "[CIFS] Fix build break with multiuser patch when LANMAN disabled\n\nCC: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "789b4588da40cf572ef982bdc5d590ec1b0386fe",
      "tree": "afea2105e4f057722792a72db49aa21457ad65c8",
      "parents": [
        "8a8798a5ff90977d6459ce1d657cf8fe13a51e97"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 17 16:09:15 2012 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Jan 17 22:40:31 2012 -0600"
      },
      "message": "cifs: warn about impending deprecation of legacy MultiuserMount code\n\nWe\u0027ll allow a grace period of 2 releases (3.3 and 3.4) and then remove\nthe legacy code in 3.5.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "8a8798a5ff90977d6459ce1d657cf8fe13a51e97",
      "tree": "42708337792bc20295faed2c78f4dca89e009ffa",
      "parents": [
        "04febabcf55beeffb8794a0d8c539e571bd2ae29"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 17 16:09:15 2012 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Jan 17 22:40:28 2012 -0600"
      },
      "message": "cifs: fetch credentials out of keyring for non-krb5 auth multiuser mounts\n\nFix up multiuser mounts to set the secType and set the username and\npassword from the key payload in the vol info for non-krb5 auth types.\n\nLook for a key of type \"secret\" with a description of\n\"cifs:a:\u003cserver address\u003e\" or \"cifs:d:\u003cdomainname\u003e\". If that\u0027s found,\nthen scrape the username and password out of the key payload and use\nthat to create a new user session.\n\nFinally, don\u0027t have the code enforce krb5 auth on multiuser mounts,\nbut do require a kernel with keys support.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "04febabcf55beeffb8794a0d8c539e571bd2ae29",
      "tree": "8727fdf5c811bab3d164293488cd5e1a3816276c",
      "parents": [
        "9f6ed2ca257fa8650b876377833e6f14e272848b"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 17 16:09:15 2012 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Jan 17 22:40:26 2012 -0600"
      },
      "message": "cifs: sanitize username handling\n\nCurrently, it\u0027s not very clear whether you\u0027re allowed to have a NULL\nvol-\u003eusername or ses-\u003euser_name. Some places check for it and some don\u0027t.\n\nMake it clear that a NULL pointer is OK in these fields, and ensure that\nall the callers check for that.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "ce91acb3acae26f4163c5a6f1f695d1a1e8d9009",
      "tree": "99fb4bf5e536de370b6d3378199982ff4c829b69",
      "parents": [
        "f5fffcee27c09143ba80e5257dbd1f381d86342f"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 17 16:08:51 2012 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Jan 17 22:39:37 2012 -0600"
      },
      "message": "cifs: lower default wsize when unix extensions are not used\n\nWe\u0027ve had some reports of servers (namely, the Solaris in-kernel CIFS\nserver) that don\u0027t deal properly with writes that are \"too large\" even\nthough they set CAP_LARGE_WRITE_ANDX. Change the default to better\nmirror what windows clients do.\n\nCc: stable@vger.kernel.org\nCc: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nReported-by: Nick Davis \u003cphireph0x@yahoo.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "f5fffcee27c09143ba80e5257dbd1f381d86342f",
      "tree": "14471cf7b68f1845949c6f0bc3bd6852e38ca233",
      "parents": [
        "7250170c9ed00f3b74b11b98afefab45020672dd"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 17 13:49:17 2012 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Jan 17 22:39:34 2012 -0600"
      },
      "message": "cifs: better instrumentation for coalesce_t2\n\nWhen coalesce_t2 returns an error, have it throw a cFYI message that\nexplains the reason. Also rename some variables to clarify what they\nrepresent.\n\nReported-and-Tested-by: Konstantinos Skarlatos \u003ck.skarlatos@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "f429ee3b808118591d1f3cdf3c0d0793911a5677",
      "tree": "96d848f5f677d96758ecd2aee5eb6931b75bf218",
      "parents": [
        "22b4eb5e3174efb49791c62823d0cccc35394c36",
        "c158a35c8a681cf68d36f22f058f9f5466386c71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 16:06:51 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 16:41:31 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit: (29 commits)\n  audit: no leading space in audit_log_d_path prefix\n  audit: treat s_id as an untrusted string\n  audit: fix signedness bug in audit_log_execve_info()\n  audit: comparison on interprocess fields\n  audit: implement all object interfield comparisons\n  audit: allow interfield comparison between gid and ogid\n  audit: complex interfield comparison helper\n  audit: allow interfield comparison in audit rules\n  Kernel: Audit Support For The ARM Platform\n  audit: do not call audit_getname on error\n  audit: only allow tasks to set their loginuid if it is -1\n  audit: remove task argument to audit_set_loginuid\n  audit: allow audit matching on inode gid\n  audit: allow matching on obj_uid\n  audit: remove audit_finish_fork as it can\u0027t be called\n  audit: reject entry,always rules\n  audit: inline audit_free to simplify the look of generic code\n  audit: drop audit_set_macxattr as it doesn\u0027t do anything\n  audit: inline checks for not needing to collect aux records\n  audit: drop some potentially inadvisable likely notations\n  ...\n\nUse evil merge to fix up grammar mistakes in Kconfig file.\n\nBad speling and horrible grammar (and copious swearing) is to be\nexpected, but let\u0027s keep it to commit messages and comments, rather than\nexpose it to users in config help texts or printouts.\n"
    },
    {
      "commit": "22b4eb5e3174efb49791c62823d0cccc35394c36",
      "tree": "7324d6b53ad3c18c244094ad5d51b500716d7304",
      "parents": [
        "d65773b22b749252b2805dcf96bdeb951a9481d8",
        "d060646436233912178e6b9e3a7f30a41214220f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:54:56 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:54:56 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: cleanup xfs_file_aio_write\n  xfs: always return with the iolock held from xfs_file_aio_write_checks\n  xfs: remove the i_new_size field in struct xfs_inode\n  xfs: remove the i_size field in struct xfs_inode\n  xfs: replace i_pin_wait with a bit waitqueue\n  xfs: replace i_flock with a sleeping bitlock\n  xfs: make i_flags an unsigned long\n  xfs: remove the if_ext_max field in struct xfs_ifork\n  xfs: remove the unused dm_attrs structure\n  xfs: cleanup xfs_iomap_eof_align_last_fsb\n  xfs: remove xfs_itruncate_data\n"
    },
    {
      "commit": "d65773b22b749252b2805dcf96bdeb951a9481d8",
      "tree": "1839656e894933267e7466e32ba6ad73b24fa60a",
      "parents": [
        "f9156c7288e2d11501ded4d7fe6d9a3a41ee4057",
        "f84a8bd60e3ee49eacc9ba824babf149ba3dad7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:52:51 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:52:51 2012 -0800"
      },
      "message": "Merge branch \u0027btrfs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027btrfs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  btrfs: take allocation of -\u003etree_root into open_ctree()\n  btrfs: let -\u003es_fs_info point to fs_info, not root...\n  btrfs: consolidate failure exits in btrfs_mount() a bit\n  btrfs: make free_fs_info() call -\u003ekill_sb() unconditional\n  btrfs: merge free_fs_info() calls on fill_super failures\n  btrfs: kill pointless reassignment of -\u003es_fs_info in btrfs_fill_super()\n  btrfs: make open_ctree() return int\n  btrfs: sanitizing -\u003efs_info, part 5\n  btrfs: sanitizing -\u003efs_info, part 4\n  btrfs: sanitizing -\u003efs_info, part 3\n  btrfs: sanitizing -\u003efs_info, part 2\n  btrfs: sanitizing -\u003efs_info, part 1\n  btrfs: fix a deadlock in btrfs_scan_one_device()\n  btrfs: fix mount/umount race\n  btrfs: get -\u003ekill_sb() of its own\n  btrfs: preparation to fixing mount/umount race\n"
    },
    {
      "commit": "f9156c7288e2d11501ded4d7fe6d9a3a41ee4057",
      "tree": "7bd26fc9a111c6af1601ecd2d1b0ab60da32f3f0",
      "parents": [
        "67175b855bfd6ed95ffeff95532173c07de6432d",
        "96bdc7dc61fb1b1e8e858dafb13abee8482ba064"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:49:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:49:54 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (62 commits)\n  Btrfs: use larger system chunks\n  Btrfs: add a delalloc mutex to inodes for delalloc reservations\n  Btrfs: space leak tracepoints\n  Btrfs: protect orphan block rsv with spin_lock\n  Btrfs: add allocator tracepoints\n  Btrfs: don\u0027t call btrfs_throttle in file write\n  Btrfs: release space on error in page_mkwrite\n  Btrfs: fix btrfsck error 400 when truncating a compressed\n  Btrfs: do not use btrfs_end_transaction_throttle everywhere\n  Btrfs: add balance progress reporting\n  Btrfs: allow for resuming restriper after it was paused\n  Btrfs: allow for canceling restriper\n  Btrfs: allow for pausing restriper\n  Btrfs: add skip_balance mount option\n  Btrfs: recover balance on mount\n  Btrfs: save balance parameters to disk\n  Btrfs: soft profile changing mode (aka soft convert)\n  Btrfs: implement online profile changing\n  Btrfs: do not reduce profile in do_chunk_alloc()\n  Btrfs: virtual address space subset filter\n  ...\n\nFix up trivial conflict in fs/btrfs/ioctl.c due to the use of the new\nmnt_drop_write_file() helper.\n"
    },
    {
      "commit": "e268337dfe26dfc7efd422a804dbb27977a3cccc",
      "tree": "59b9e22b0de119f0d85f329fa481d965cf7aec42",
      "parents": [
        "5e5997849a8eae7a895a88699a1999b637f87303"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:21:19 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:21:19 2012 -0800"
      },
      "message": "proc: clean up and fix /proc/\u003cpid\u003e/mem handling\n\nJüri Aedla reported that the /proc/\u003cpid\u003e/mem handling really isn\u0027t very\nrobust, and it also doesn\u0027t match the permission checking of any of the\nother related files.\n\nThis changes it to do the permission checks at open time, and instead of\ntracking the process, it tracks the VM at the time of the open.  That\nsimplifies the code a lot, but does mean that if you hold the file\ndescriptor open over an execve(), you\u0027ll continue to read from the _old_\nVM.\n\nThat is different from our previous behavior, but much simpler.  If\nsomebody actually finds a load where this matters, we\u0027ll need to revert\nthis commit.\n\nI suspect that nobody will ever notice - because the process mapping\naddresses will also have changed as part of the execve.  So you cannot\nactually usefully access the fd across a VM change simply because all\nthe offsets for IO would have changed too.\n\nReported-by: Jüri Aedla \u003casd@ut.ee\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "424a5334a5235c2fbb80090b18a065eeceb51d64",
      "tree": "2b46dd90d5950c994975ede7d0fdcb51ae814625",
      "parents": [
        "e1616300a20c80396109c1cf013ba9a36055a3da"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Jan 12 12:41:36 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:39:47 2012 -0500"
      },
      "message": "vfs: remove printk from set_nlink()\n\nDon\u0027t log a message for set_nlink(0).\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e1616300a20c80396109c1cf013ba9a36055a3da",
      "tree": "97d4bcef12fddf1dc1cdfd22bf226eb36850c6e6",
      "parents": [
        "c2bc3a316a7281f67e36b34dac2802cbe36a9128"
      ],
      "author": {
        "name": "Kazuya Mio",
        "email": "k-mio@sx.jp.nec.com",
        "time": "Thu Dec 01 16:51:07 2011 +0900"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:38:47 2012 -0500"
      },
      "message": "wake up s_wait_unfrozen when -\u003efreeze_fs fails\n\ndd slept infinitely when fsfeeze failed because of EIO.\nTo fix this problem, if -\u003efreeze_fs fails, freeze_super() wakes up\nthe tasks waiting for the filesystem to become unfrozen.\n\nWhen s_frozen isn\u0027t SB_UNFROZEN in __generic_file_aio_write(),\nthe function sleeps until FITHAW ioctl wakes up s_wait_unfrozen.\n\nHowever, if -\u003efreeze_fs fails, s_frozen is set to SB_UNFROZEN and then\nfreeze_super() returns an error number. In this case, FITHAW ioctl returns\nEINVAL because s_frozen is already SB_UNFROZEN. There is no way to wake up\ns_wait_unfrozen, so __generic_file_aio_write() sleeps infinitely.\n\nSigned-off-by: Kazuya Mio \u003ck-mio@sx.jp.nec.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4043cde8ecf7f7d880eb1133c201a3d392fd68c3",
      "tree": "d740c60e6b56565a7e996c3d0308e66f7c8651f8",
      "parents": [
        "633b45454503489209b0d9a45f9e3cd1b852c614"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:01 2012 -0500"
      },
      "message": "audit: do not call audit_getname on error\n\nJust a code cleanup really.  We don\u0027t need to make a function call just for\nit to return on error.  This also makes the VFS function even easier to follow\nand removes a conditional on a hot path.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "633b45454503489209b0d9a45f9e3cd1b852c614",
      "tree": "591363d3be6b773f872b979727d4ac1a9691ec82",
      "parents": [
        "0a300be6d5be8f66cd96609334710c268d0bfdce"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:00 2012 -0500"
      },
      "message": "audit: only allow tasks to set their loginuid if it is -1\n\nAt the moment we allow tasks to set their loginuid if they have\nCAP_AUDIT_CONTROL.  In reality we want tasks to set the loginuid when they\nlog in and it be impossible to ever reset.  We had to make it mutable even\nafter it was once set (with the CAP) because on update and admin might have\nto restart sshd.  Now sshd would get his loginuid and the next user which\nlogged in using ssh would not be able to set his loginuid.\n\nSystemd has changed how userspace works and allowed us to make the kernel\nwork the way it should.  With systemd users (even admins) are not supposed\nto restart services directly.  The system will restart the service for\nthem.  Thus since systemd is going to loginuid\u003d\u003d-1, sshd would get -1, and\nsshd would be allowed to set a new loginuid without special permissions.\n\nIf an admin in this system were to manually start an sshd he is inserting\nhimself into the system chain of trust and thus, logically, it\u0027s his\nloginuid that should be used!  Since we have old systems I make this a\nKconfig option.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "0a300be6d5be8f66cd96609334710c268d0bfdce",
      "tree": "253d0d1e0aa28a6bdf883bb92e4b62fafe263563",
      "parents": [
        "54d3218b31aee5bc9c859ae60fbde933d922448b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:00 2012 -0500"
      },
      "message": "audit: remove task argument to audit_set_loginuid\n\nThe function always deals with current.  Don\u0027t expose an option\npretending one can use it for something.  You can\u0027t.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "d060646436233912178e6b9e3a7f30a41214220f",
      "tree": "a460c8e2d89cdcf08d574f497c421decf36fe018",
      "parents": [
        "5bf1f26227a59b9634e95eb3c7c012b766e5e6a0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Dec 18 20:00:14 2011 +0000"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Tue Jan 17 15:12:33 2012 -0600"
      },
      "message": "xfs: cleanup xfs_file_aio_write\n\nWith all the size field updates out of the way xfs_file_aio_write can\nbe further simplified by pushing all iolock handling into\nxfs_file_dio_aio_write and xfs_file_buffered_aio_write and using\nthe generic generic_write_sync helper for synchronous writes.\n\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "5bf1f26227a59b9634e95eb3c7c012b766e5e6a0",
      "tree": "940a58e03256bd70787d1341c90027ef334f5fac",
      "parents": [
        "2813d682e8e6a278f94817429afd46b30875bb6e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Dec 18 20:00:13 2011 +0000"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Tue Jan 17 15:11:07 2012 -0600"
      },
      "message": "xfs: always return with the iolock held from xfs_file_aio_write_checks\n\nWhile xfs_iunlock is fine with 0 lockflags the calling conventions are much\ncleaner if xfs_file_aio_write_checks never returns without the iolock held.\n\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    }
  ],
  "next": "2813d682e8e6a278f94817429afd46b30875bb6e"
}
