{"push_id":1879550634,"size":10,"distinct_size":10,"ref":"refs/heads/nougat","head":"15943d23fdf9efbe24fe8d65a43f63b99b18fdf8","before":"6c6cbf52894fbeaf76e412e50ef0757b63279d3d","commits":[{"sha":"6a5c029ce8c4b328758e8dda7267ec380a5c24b2","author":{"name":"Nick Desaulniers","email":"b951273a67bf33267cd4dff69171cdef4e5efbe7@google.com"},"message":"Revert \"proc: smaps: Allow smaps access for CAP_SYS_RESOURCE\"\n\nThis reverts commit f0ce0eee6b71bc310153edb87e66e6b25e12fece.\n\nBug: 34951864\nBug: 36468447\nChange-Id: I87bd92e096c6c28a53b9ecf302ae008f5e58eba1\nSigned-off-by: Nick Desaulniers <ndesaulniers@google.com>","distinct":true,"url":"https://api.github.com/repos/AshishM94/android_kernel_wingtech_msm8916/commits/6a5c029ce8c4b328758e8dda7267ec380a5c24b2"},{"sha":"ead5f3196b0ed8300b4591d83547ff283d2f31c2","author":{"name":"Kees Cook","email":"999bfbbf6e15a9d6aba3dfebadcec55340f87c3f@chromium.org"},"message":"fs/exec.c: account for argv/envp pointers\n\ncommit 98da7d08850fb8bdeb395d6368ed15753304aa0c upstream.\n\nWhen limiting the argv/envp strings during exec to 1/4 of the stack limit,\nthe storage of the pointers to the strings was not included.  This means\nthat an exec with huge numbers of tiny strings could eat 1/4 of the stack\nlimit in strings and then additional space would be later used by the\npointers to the strings.\n\nFor example, on 32-bit with a 8MB stack rlimit, an exec with 1677721\nsingle-byte strings would consume less than 2MB of stack, the max (8MB /\n4) amount allowed, but the pointers to the strings would consume the\nremaining additional stack space (1677721 * 4 == 6710884).\n\nThe result (1677721 + 6710884 == 8388605) would exhaust stack space\nentirely.  Controlling this stack exhaustion could result in\npathological behavior in setuid binaries (CVE-2017-1000365).\n\n[akpm@linux-foundation.org: additional commenting from Kees]\nFixes: b6a2fea39318 (\"mm: variable length argument support\")\nLink: http://lkml.kernel.org/r/20170622001720.GA32173@beast\nSigned-off-by: Kees Cook <keescook@chromium.org>\nAcked-by: Rik van Riel <riel@redhat.com>\nAcked-by: Michal Hocko <mhocko@suse.com>\nCc: Alexander Viro <viro@zeniv.linux.org.uk>\nCc: Qualys Security Advisory <qsa@qualys.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\n\nChange-Id: I9db26a068e9448fb688a87fe3bae876f23483583","distinct":true,"url":"https://api.github.com/repos/AshishM94/android_kernel_wingtech_msm8916/commits/ead5f3196b0ed8300b4591d83547ff283d2f31c2"},{"sha":"b8a39bec0be56382ef48afb6ef2d7aee921d7987","author":{"name":"Alberto97","email":"7e698329ce67c109a7d37e62879d5cb8156736ef@gmail.com"},"message":"fs: readdir: Fix su hide patch for non-iterate filesystems\n\n* 3.10 doesn't normally use iterate for filesystems,\n  but it was backported in hopes of removing vfs_readdir()\n* Because the romnt variable was only set for filesystems\n  using iterate, the su hide patches were broken for many\n  filesytems like ext4, which still use vfs_readdir()\n  instead of iterate_dir() like their mainline counterparts\n* Remove the iterate check around setting romnt to fix this\n\nChange-Id: I26426683df0fd199a80f053294f352e31754bec5","distinct":true,"url":"https://api.github.com/repos/AshishM94/android_kernel_wingtech_msm8916/commits/b8a39bec0be56382ef48afb6ef2d7aee921d7987"},{"sha":"5ec5a188a1e6c6a460978c18b68384ae7006f393","author":{"name":"osm0sis","email":"463f68b3a9f7a6acb6ae2676292e74b01fd27723@outlook.com"},"message":"AK2: fix AVB signing","distinct":true,"url":"https://api.github.com/repos/AshishM94/android_kernel_wingtech_msm8916/commits/5ec5a188a1e6c6a460978c18b68384ae7006f393"},{"sha":"35cf25ba89153bafed46e96ed44580e60ba7651c","author":{"name":"Behan Webster","email":"89ff55df8dec2a7b887258721ec351b303b21a36@converseincode.com"},"message":"crypto: LLVMLinux: Add macro to remove use of VLAIS in crypto code\n\nAdd a macro which replaces the use of a Variable Length Array In Struct (VLAIS)\nwith a C99 compliant equivalent. This macro instead allocates the appropriate\namount of memory using an char array.\n\nThe new code can be compiled with both gcc and clang.\n\nstruct shash_desc contains a flexible array member member ctx declared with\nCRYPTO_MINALIGN_ATTR, so sizeof(struct shash_desc) aligns the beginning\nof the array declared after struct shash_desc with long long.\n\nNo trailing padding is required because it is not a struct type that can\nbe used in an array.\n\nThe CRYPTO_MINALIGN_ATTR is required so that desc is aligned with long long\nas would be the case for a struct containing a member with\nCRYPTO_MINALIGN_ATTR.\n\nIf you want to get to the ctx at the end of the shash_desc as before you can do\nso using shash_desc_ctx(shash)\n\nSigned-off-by: Behan Webster <behanw@converseincode.com>\nReviewed-by: Mark Charlebois <charlebm@gmail.com>\nAcked-by: Herbert Xu <herbert@gondor.apana.org.au>\nCc: Michał Mirosław <mirqus@gmail.com>","distinct":true,"url":"https://api.github.com/repos/AshishM94/android_kernel_wingtech_msm8916/commits/35cf25ba89153bafed46e96ed44580e60ba7651c"},{"sha":"abd72ba58fb1b8141841bbae77cc1640e37b507c","author":{"name":"NeilBrown","email":"2d905a3497a379bccf401a15c6d441d61e66863c@suse.de"},"message":"sched: Prevent recursion in io_schedule()\n\nio_schedule() calls blk_flush_plug() which, depending on the\ncontents of current->plug, can initiate arbitrary blk-io requests.\n\nNote that this contrasts with blk_schedule_flush_plug() which requires\nall non-trivial work to be handed off to a separate thread.\n\nThis makes it possible for io_schedule() to recurse, and initiating\nblock requests could possibly call mempool_alloc() which, in times of\nmemory pressure, uses io_schedule().\n\nApart from any stack usage issues, io_schedule() will not behave\ncorrectly when called recursively as delayacct_blkio_start() does\nnot allow for repeated calls.\n\nSo:\n - use ->in_iowait to detect recursion.  Set it earlier, and restore\n   it to the old value.\n - move the call to \"raw_rq\" after the call to blk_flush_plug().\n   As this is some sort of per-cpu thing, we want some chance that\n   we are on the right CPU\n - When io_schedule() is called recurively, use blk_schedule_flush_plug()\n   which cannot further recurse.\n - as this makes io_schedule() a lot more complex and as io_schedule()\n   must match io_schedule_timeout(), but all the changes in io_schedule_timeout()\n   and make io_schedule a simple wrapper for that.\n\nSigned-off-by: NeilBrown <neilb@suse.de>\nSigned-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>\n[ Moved the now rudimentary io_schedule() into sched.h. ]\nCc: Jens Axboe <axboe@kernel.dk>\nCc: Linus Torvalds <torvalds@linux-foundation.org>\nCc: Tony Battersby <tonyb@cybernetics.com>\nLink: http://lkml.kernel.org/r/20150213162600.059fffb2@notabene.brown\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/AshishM94/android_kernel_wingtech_msm8916/commits/abd72ba58fb1b8141841bbae77cc1640e37b507c"},{"sha":"aa202e681fa51b25b4c06d226110115ee708ead9","author":{"name":"Shaohua Li","email":"78841d68de820ce65a8f2019d48ffc5e6c8a1f78@fb.com"},"message":"sched: always use blk_schedule_flush_plug in io_schedule_out\n\nblock plug callback could sleep, so we introduce a parameter\n'from_schedule' and corresponding drivers can use it to destinguish a\nschedule plug flush or a plug finish. Unfortunately io_schedule_out\nstill uses blk_flush_plug(). This causes below output (Note, I added a\nmight_sleep() in raid1_unplug to make it trigger faster, but the whole\nthing doesn't matter if I add might_sleep). In raid1/10, this can cause\ndeadlock.\n\nThis patch makes io_schedule_out always uses blk_schedule_flush_plug.\nThis should only impact drivers (as far as I know, raid 1/10) which are\nsensitive to the 'from_schedule' parameter.\n\n[  370.817949] ------------[ cut here ]------------\n[  370.817960] WARNING: CPU: 7 PID: 145 at ../kernel/sched/core.c:7306 __might_sleep+0x7f/0x90()\n[  370.817969] do not call blocking ops when !TASK_RUNNING; state=2 set at [<ffffffff81092fcf>] prepare_to_wait+0x2f/0x90\n[  370.817971] Modules linked in: raid1\n[  370.817976] CPU: 7 PID: 145 Comm: kworker/u16:9 Tainted: G        W       4.0.0+ #361\n[  370.817977] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140709_153802- 04/01/2014\n[  370.817983] Workqueue: writeback bdi_writeback_workfn (flush-9:1)\n[  370.817985]  ffffffff81cd83be ffff8800ba8cb298 ffffffff819dd7af 0000000000000001\n[  370.817988]  ffff8800ba8cb2e8 ffff8800ba8cb2d8 ffffffff81051afc ffff8800ba8cb2c8\n[  370.817990]  ffffffffa00061a8 000000000000041e 0000000000000000 ffff8800ba8cba28\n[  370.817993] Call Trace:\n[  370.817999]  [<ffffffff819dd7af>] dump_stack+0x4f/0x7b\n[  370.818002]  [<ffffffff81051afc>] warn_slowpath_common+0x8c/0xd0\n[  370.818004]  [<ffffffff81051b86>] warn_slowpath_fmt+0x46/0x50\n[  370.818006]  [<ffffffff81092fcf>] ? prepare_to_wait+0x2f/0x90\n[  370.818008]  [<ffffffff81092fcf>] ? prepare_to_wait+0x2f/0x90\n[  370.818010]  [<ffffffff810776ef>] __might_sleep+0x7f/0x90\n[  370.818014]  [<ffffffffa0000c03>] raid1_unplug+0xd3/0x170 [raid1]\n[  370.818024]  [<ffffffff81421d9a>] blk_flush_plug_list+0x8a/0x1e0\n[  370.818028]  [<ffffffff819e3550>] ? bit_wait+0x50/0x50\n[  370.818031]  [<ffffffff819e21b0>] io_schedule_timeout+0x130/0x140\n[  370.818033]  [<ffffffff819e3586>] bit_wait_io+0x36/0x50\n[  370.818034]  [<ffffffff819e31b5>] __wait_on_bit+0x65/0x90\n[  370.818041]  [<ffffffff8125b67c>] ? ext4_read_block_bitmap_nowait+0xbc/0x630\n[  370.818043]  [<ffffffff819e3550>] ? bit_wait+0x50/0x50\n[  370.818045]  [<ffffffff819e3302>] out_of_line_wait_on_bit+0x72/0x80\n[  370.818047]  [<ffffffff810935e0>] ? autoremove_wake_function+0x40/0x40\n[  370.818050]  [<ffffffff811de744>] __wait_on_buffer+0x44/0x50\n[  370.818053]  [<ffffffff8125ae80>] ext4_wait_block_bitmap+0xe0/0xf0\n[  370.818058]  [<ffffffff812975d6>] ext4_mb_init_cache+0x206/0x790\n[  370.818062]  [<ffffffff8114bc6c>] ? lru_cache_add+0x1c/0x50\n[  370.818064]  [<ffffffff81297c7e>] ext4_mb_init_group+0x11e/0x200\n[  370.818066]  [<ffffffff81298231>] ext4_mb_load_buddy+0x341/0x360\n[  370.818068]  [<ffffffff8129a1a3>] ext4_mb_find_by_goal+0x93/0x2f0\n[  370.818070]  [<ffffffff81295b54>] ? ext4_mb_normalize_request+0x1e4/0x5b0\n[  370.818072]  [<ffffffff8129ab67>] ext4_mb_regular_allocator+0x67/0x460\n[  370.818074]  [<ffffffff81295b54>] ? ext4_mb_normalize_request+0x1e4/0x5b0\n[  370.818076]  [<ffffffff8129ca4b>] ext4_mb_new_blocks+0x4cb/0x620\n[  370.818079]  [<ffffffff81290956>] ext4_ext_map_blocks+0x4c6/0x14d0\n[  370.818081]  [<ffffffff812a4d4e>] ? ext4_es_lookup_extent+0x4e/0x290\n[  370.818085]  [<ffffffff8126399d>] ext4_map_blocks+0x14d/0x4f0\n[  370.818088]  [<ffffffff81266fbd>] ext4_writepages+0x76d/0xe50\n[  370.818094]  [<ffffffff81149691>] do_writepages+0x21/0x50\n[  370.818097]  [<ffffffff811d5c00>] __writeback_single_inode+0x60/0x490\n[  370.818099]  [<ffffffff811d630a>] writeback_sb_inodes+0x2da/0x590\n[  370.818103]  [<ffffffff811abf4b>] ? trylock_super+0x1b/0x50\n[  370.818105]  [<ffffffff811abf4b>] ? trylock_super+0x1b/0x50\n[  370.818107]  [<ffffffff811d665f>] __writeback_inodes_wb+0x9f/0xd0\n[  370.818109]  [<ffffffff811d69db>] wb_writeback+0x34b/0x3c0\n[  370.818111]  [<ffffffff811d70df>] bdi_writeback_workfn+0x23f/0x550\n[  370.818116]  [<ffffffff8106bbd8>] process_one_work+0x1c8/0x570\n[  370.818117]  [<ffffffff8106bb5b>] ? process_one_work+0x14b/0x570\n[  370.818119]  [<ffffffff8106c09b>] worker_thread+0x11b/0x470\n[  370.818121]  [<ffffffff8106bf80>] ? process_one_work+0x570/0x570\n[  370.818124]  [<ffffffff81071868>] kthread+0xf8/0x110\n[  370.818126]  [<ffffffff81071770>] ? kthread_create_on_node+0x210/0x210\n[  370.818129]  [<ffffffff819e9322>] ret_from_fork+0x42/0x70\n[  370.818131]  [<ffffffff81071770>] ? kthread_create_on_node+0x210/0x210\n[  370.818132] ---[ end trace 7b4deb71e68b6605 ]---\n\nV2: don't change ->in_iowait\n\nCc: NeilBrown <neilb@suse.de>\nSigned-off-by: Shaohua Li <shli@fb.com>\nReviewed-by: Jeff Moyer <jmoyer@redhat.com>\nSigned-off-by: Jens Axboe <axboe@fb.com>","distinct":true,"url":"https://api.github.com/repos/AshishM94/android_kernel_wingtech_msm8916/commits/aa202e681fa51b25b4c06d226110115ee708ead9"},{"sha":"87ec3fa6672d731c1fbb78df44439a1dd9669aca","author":{"name":"Jaegeuk Kim","email":"c9e6543abf9bc130570115f8ac41a9d9b583b810@kernel.org"},"message":"BACKPORT: fs: f2fs: merge upstream changes upto v4.13-rc2\ncommit 26e6b9fb46de55bc2d2d2dffd3e355941b78e145\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Fri Jul 14 11:45:21 2017 -0700\n\n    f2fs: avoid cpu lockup\n    Before retrying to flush data or dentry pages, we need to release cpu in order to prevent watchdog.\n\n    Reviewed-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 3bed7a59cb0a2157cc5773a402424fdbd96e7c63\nAuthor: Sheng Yong <shengyong1@huawei.com>\nDate:   Mon Jun 26 10:41:36 2017 +0800\n\n    f2fs: do not set LOST_PINO for renamed dir\n\n    After renaming a directory, fsck could detect unmatched pino. The scenario\n    can be reproduced as the following:\n\n    \t$ mkdir /bar/subbar /foo\n    \t$ rename /bar/subbar /foo\n\n    Then fsck will report:\n    [ASSERT] (__chk_dots_dentries:1182)  --> Bad inode number[0x3] for '..', parent parent ino is [0x4]\n\n    Rename sets LOST_PINO for old_inode. However, the flag cannot be cleared,\n    since dir is written back with CP. So, let's get rid of LOST_PINO for a\n    renamed dir and fix the pino directly at the end of rename.\n\n    Signed-off-by: Sheng Yong <shengyong1@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 0b9384d51c311fb1f9a969edce0a7282a9b0e601\nAuthor: Sheng Yong <shengyong1@huawei.com>\nDate:   Mon Jun 26 10:41:35 2017 +0800\n\n    f2fs: do not set LOST_PINO for newly created dir\n\n    Since directories will be written back with checkpoint and fsync a\n    directory will always write CP, there is no need to set LOST_PINO\n    after creating a directory.\n\n    Signed-off-by: Sheng Yong <shengyong1@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit eae30ff1ec88b62fff501636e50304c3585574c7\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Thu Jul 13 17:45:21 2017 -0700\n\n    f2fs: include seq_file.h for sysfs.c\n\n    This patch includes seq_file.h to avoid compile error.\n\n    Signed-off-by: Eric Biggers <ebiggers@google.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit f89d866eb8ee32490e71317f4d9526703eaccefd\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Tue Jul 11 14:56:49 2017 -0700\n\n    f2fs: Don't clear SGID when inheriting ACLs\n\n    This patch copies commit b7f8a09f80:\n    \"btrfs: Don't clear SGID when inheriting ACLs\" written by Jan.\n\n    Fixes: 073931017b49d9458aa351605b43a7e34598caef\n    CC: stable@vger.kernel.org\n    Signed-off-by: Jan Kara <jack@suse.cz>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 82f61b0b2b4cb42cc731c64d256b068507ad7019\nAuthor: Luis Henriques <lhenriques@suse.com>\nDate:   Tue Jul 11 17:30:33 2017 +0100\n\n    f2fs: remove extra inode_unlock() in error path\n\n    This commit removes an extra inode_unlock() that is being done in function\n    f2fs_ioc_setflags error path.  While there, get rid of a useless 'out'\n    label as well.\n\n    Fixes: 0abd675e97e6 (\"f2fs: support plain user/group quota\")\n    Signed-off-by: Luis Henriques <lhenriques@suse.com>\n    Reviewed-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit fde810f2c03d31c985789c4934840152f511afd1\nAuthor: Daniel Walter <dwalter@sigma-star.at>\nDate:   Mon Jun 19 09:27:58 2017 +0200\n\n    fscrypt: add support for AES-128-CBC\n\n    fscrypt provides facilities to use different encryption algorithms which\n    are selectable by userspace when setting the encryption policy. Currently,\n    only AES-256-XTS for file contents and AES-256-CBC-CTS for file names are\n    implemented. This is a clear case of kernel offers the mechanism and\n    userspace selects a policy. Similar to what dm-crypt and ecryptfs have.\n\n    This patch adds support for using AES-128-CBC for file contents and\n    AES-128-CBC-CTS for file name encryption. To mitigate watermarking\n    attacks, IVs are generated using the ESSIV algorithm. While AES-CBC is\n    actually slightly less secure than AES-XTS from a security point of view,\n    there is more widespread hardware support. Using AES-CBC gives us the\n    acceptable performance while still providing a moderate level of security\n    for persistent storage.\n\n    Especially low-powered embedded devices with crypto accelerators such as\n    CAAM or CESA often only support AES-CBC. Since using AES-CBC over AES-XTS\n    is basically thought of a last resort, we use AES-128-CBC over AES-256-CBC\n    since it has less encryption rounds and yields noticeable better\n    performance starting from a file size of just a few kB.\n\n    Signed-off-by: Daniel Walter <dwalter@sigma-star.at>\n    [david@sigma-star.at: addressed review comments]\n    Signed-off-by: David Gstir <david@sigma-star.at>\n    Reviewed-by: Eric Biggers <ebiggers@google.com>\n    Signed-off-by: Theodore Ts'o <tytso@mit.edu>\n\n     Conflicts:\n    \tfs/crypto/crypto.c\n    \tfs/crypto/fscrypt_private.h\n    \tfs/crypto/keyinfo.c\n\ncommit 7678561fe8742775e6e975a0bc8fa69533e5bc1f\nAuthor: Eric Biggers <ebiggers@google.com>\nDate:   Mon May 22 18:14:06 2017 -0700\n\n    fscrypt: inline fscrypt_free_filename()\n\n    fscrypt_free_filename() only needs to do a kfree() of crypto_buf.name,\n    which works well as an inline function.  We can skip setting the various\n    pointers to NULL, since no user cares about it (the name is always freed\n    just before it goes out of scope).\n\n    Signed-off-by: Eric Biggers <ebiggers@google.com>\n    Reviewed-by: David Gstir <david@sigma-star.at>\n    Signed-off-by: Theodore Ts'o <tytso@mit.edu>\n\ncommit 3910623fc8f1080554dd35f083f8bc9f2a12d283\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Mon Jul 10 19:16:28 2017 -0700\n\n    f2fs: make more close to v4.13-rc1\n\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 40c709bd43701ba974c3d42ae1b32566afb7db02\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Sun Jul 9 00:13:07 2017 +0800\n\n    f2fs: support plain user/group quota\n\n    This patch adds to support plain user/group quota.\n\n    Change Note by Jaegeuk Kim.\n\n    - Use f2fs page cache for quota files in order to consider garbage collection.\n      so, quota files are not tolerable for sudden power-cuts, so user needs to do\n      quotacheck.\n\n    - setattr() calls dquot_transfer which will transfer inode->i_blocks.\n      We can't reclaim that during f2fs_evict_inode(). So, we need to count\n      node blocks as well in order to match i_blocks with dquot's space.\n\n      Note that, Chao wrote a patch to count inode->i_blocks without inode block.\n      (f2fs: don't count inode block in in-memory inode.i_blocks)\n\n    - in f2fs_remount, we need to make RW in prior to dquot_resume.\n\n    - handle fault_injection case during f2fs_quota_off_umount\n\n    - TODO: Project quota\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\n     Conflicts:\n    \tfs/f2fs/namei.c\n    \tfs/f2fs/super.c\n\ncommit 50445d8b457ba980b9e9942dc2cd28973ef27a45\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Wed Jun 21 17:52:39 2017 -0700\n\n    f2fs: avoid deadlock caused by lock order of page and lock_op\n\n    - punch_hole\n     - fill_zero\n      - f2fs_lock_op\n      - get_new_data_page\n       - lock_page\n\n    - f2fs_write_data_pages\n     - lock_page\n     - do_write_data_page\n      - f2fs_lock_op\n\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 06c5fa81ee418afa47166663dde8d9cda5b8d566\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Fri Jul 7 14:10:15 2017 +0800\n\n    f2fs: use spin_{,un}lock_irq{save,restore}\n\n    generic/361 reports below warning, this is because: once, there is\n    someone entering into critical region of sbi.cp_lock, if write_end_io.\n    f2fs_stop_checkpoint is invoked from an triggered IRQ, we will encounter\n    deadlock.\n\n    So this patch changes to use spin_{,un}lock_irq{save,restore} to create\n    critical region without IRQ enabled to avoid potential deadlock.\n\n     irq event stamp: 83391573\n     loop: Write error at byte offset 438729728, length 1024.\n     hardirqs last  enabled at (83391573): [<c1809752>] restore_all+0xf/0x65\n     hardirqs last disabled at (83391572): [<c1809eac>] reschedule_interrupt+0x30/0x3c\n     loop: Write error at byte offset 438860288, length 1536.\n     softirqs last  enabled at (83389244): [<c180cc4e>] __do_softirq+0x1ae/0x476\n     softirqs last disabled at (83389237): [<c101ca7c>] do_softirq_own_stack+0x2c/0x40\n     loop: Write error at byte offset 438990848, length 2048.\n     ================================\n     WARNING: inconsistent lock state\n     4.12.0-rc2+ #30 Tainted: G           O\n     --------------------------------\n     inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage.\n     xfs_io/7959 [HC1[1]:SC0[0]:HE0:SE1] takes:\n      (&(&sbi->cp_lock)->rlock){?.+...}, at: [<f96f96cc>] f2fs_stop_checkpoint+0x1c/0x50 [f2fs]\n     {HARDIRQ-ON-W} state was registered at:\n       __lock_acquire+0x527/0x7b0\n       lock_acquire+0xae/0x220\n       _raw_spin_lock+0x42/0x50\n       do_checkpoint+0x165/0x9e0 [f2fs]\n       write_checkpoint+0x33f/0x740 [f2fs]\n       __f2fs_sync_fs+0x92/0x1f0 [f2fs]\n       f2fs_sync_fs+0x12/0x20 [f2fs]\n       sync_filesystem+0x67/0x80\n       generic_shutdown_super+0x27/0x100\n       kill_block_super+0x22/0x50\n       kill_f2fs_super+0x3a/0x40 [f2fs]\n       deactivate_locked_super+0x3d/0x70\n       deactivate_super+0x40/0x60\n       cleanup_mnt+0x39/0x70\n       __cleanup_mnt+0x10/0x20\n       task_work_run+0x69/0x80\n       exit_to_usermode_loop+0x57/0x85\n       do_fast_syscall_32+0x18c/0x1b0\n       entry_SYSENTER_32+0x4c/0x7b\n     irq event stamp: 1957420\n     hardirqs last  enabled at (1957419): [<c1808f37>] _raw_spin_unlock_irq+0x27/0x50\n     hardirqs last disabled at (1957420): [<c1809f9c>] call_function_single_interrupt+0x30/0x3c\n     softirqs last  enabled at (1953784): [<c180cc4e>] __do_softirq+0x1ae/0x476\n     softirqs last disabled at (1953773): [<c101ca7c>] do_softirq_own_stack+0x2c/0x40\n\n     other info that might help us debug this:\n      Possible unsafe locking scenario:\n\n            CPU0\n            ----\n       lock(&(&sbi->cp_lock)->rlock);\n       <Interrupt>\n         lock(&(&sbi->cp_lock)->rlock);\n\n      *** DEADLOCK ***\n\n     2 locks held by xfs_io/7959:\n      #0:  (sb_writers#13){.+.+.+}, at: [<c11fd7ca>] vfs_write+0x16a/0x190\n      #1:  (&sb->s_type->i_mutex_key#16){+.+.+.}, at: [<f96e33f5>] f2fs_file_write_iter+0x25/0x140 [f2fs]\n\n     stack backtrace:\n     CPU: 2 PID: 7959 Comm: xfs_io Tainted: G           O    4.12.0-rc2+ #30\n     Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006\n     Call Trace:\n      dump_stack+0x5f/0x92\n      print_usage_bug+0x1d3/0x1dd\n      ? check_usage_backwards+0xe0/0xe0\n      mark_lock+0x23d/0x280\n      __lock_acquire+0x699/0x7b0\n      ? __this_cpu_preempt_check+0xf/0x20\n      ? trace_hardirqs_off_caller+0x91/0xe0\n      lock_acquire+0xae/0x220\n      ? f2fs_stop_checkpoint+0x1c/0x50 [f2fs]\n      _raw_spin_lock+0x42/0x50\n      ? f2fs_stop_checkpoint+0x1c/0x50 [f2fs]\n      f2fs_stop_checkpoint+0x1c/0x50 [f2fs]\n      f2fs_write_end_io+0x147/0x150 [f2fs]\n      bio_endio+0x7a/0x1e0\n      blk_update_request+0xad/0x410\n      blk_mq_end_request+0x16/0x60\n      lo_complete_rq+0x3c/0x70\n      __blk_mq_complete_request_remote+0x11/0x20\n      flush_smp_call_function_queue+0x6d/0x120\n      ? debug_smp_processor_id+0x12/0x20\n      generic_smp_call_function_single_interrupt+0x12/0x30\n      smp_call_function_single_interrupt+0x25/0x40\n      call_function_single_interrupt+0x37/0x3c\n     EIP: _raw_spin_unlock_irq+0x2d/0x50\n     EFLAGS: 00000296 CPU: 2\n     EAX: 00000001 EBX: d2ccc51c ECX: 00000001 EDX: c1aacebd\n     ESI: 00000000 EDI: 00000000 EBP: c96c9d1c ESP: c96c9d18\n      DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\n      ? inherit_task_group.isra.98.part.99+0x6b/0xb0\n      __add_to_page_cache_locked+0x1d4/0x290\n      add_to_page_cache_lru+0x38/0xb0\n      pagecache_get_page+0x8e/0x200\n      f2fs_write_begin+0x96/0xf00 [f2fs]\n      ? trace_hardirqs_on_caller+0xdd/0x1c0\n      ? current_time+0x17/0x50\n      ? trace_hardirqs_on+0xb/0x10\n      generic_perform_write+0xa9/0x170\n      __generic_file_write_iter+0x1a2/0x1f0\n      ? f2fs_preallocate_blocks+0x137/0x160 [f2fs]\n      f2fs_file_write_iter+0x6e/0x140 [f2fs]\n      ? __lock_acquire+0x429/0x7b0\n      __vfs_write+0xc1/0x140\n      vfs_write+0x9b/0x190\n      SyS_pwrite64+0x63/0xa0\n      do_fast_syscall_32+0xa1/0x1b0\n      entry_SYSENTER_32+0x4c/0x7b\n     EIP: 0xb7786c61\n     EFLAGS: 00000293 CPU: 2\n     EAX: ffffffda EBX: 00000003 ECX: 08416000 EDX: 00001000\n     ESI: 18b24000 EDI: 00000000 EBP: 00000003 ESP: bf9b36b0\n      DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 007b\n\n    Fixes: aaec2b1d1879 (\"f2fs: introduce cp_lock to protect updating of ckpt_flags\")\n    Cc: stable@vger.kernel.org\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 3972cead07d3bc7fc346691f59521414e48b317e\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Thu Jul 6 14:46:01 2017 -0700\n\n    f2fs: relax migratepage for atomic written page\n\n    In order to avoid lock contention for atomic written pages, we'd better give\n    EBUSY in f2fs_migrate_page when mode is asynchronous. We expect it will be\n    released soon as transaction commits.\n\n    Reviewed-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit cc21ce8acd96f2ddd6dbd03dde51c13fbffec089\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Thu Jul 6 01:11:31 2017 +0800\n\n    f2fs: don't count inode block in in-memory inode.i_blocks\n\n    Previously, we count all inode consumed blocks including inode block,\n    xattr block, index block, data block into i_blocks, for other generic\n    filesystems, they won't count inode block into i_blocks, so for\n    userspace applications or quota system, they may detect incorrect block\n    count according to i_blocks value in inode.\n\n    This patch changes to count all blocks into inode.i_blocks excluding\n    inode block, for on-disk i_blocks, we keep counting inode block for\n    backward compatibility.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 5844151e94eee92511985ea2478e9c1e9615e2ad\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Wed Jul 5 12:17:24 2017 +0800\n\n    Revert \"f2fs: fix to clean previous mount option when remount_fs\"\n\n    Don't clear old mount option before parse new option during ->remount_fs\n    like other generic filesystems.\n\n    This reverts commit 26666c8a4366debae30ae37d0688b2bec92d196a.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit eb20e58110f2f3c18a3675ef0b3e26cc20685e22\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Thu Jun 29 23:20:45 2017 +0800\n\n    f2fs: skip ->writepages for {mete,node}_inode during recovery\n\n    Skip ->writepages in prior to ->writepage for {meta,node}_inode during\n    recovery, hence unneeded loop in ->writepages can be avoided.\n\n    Moreover, check SBI_POR_DOING earlier while writebacking pages.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit d99296b118b434aa83a2e7ba8bf061f1ed9b0c2a\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Fri Jun 30 17:19:02 2017 +0800\n\n    f2fs: introduce __check_sit_bitmap\n\n    After we introduce discard thread, discard command can be issued\n    concurrently with data allocating, this patch adds new function to\n    heck sit bitmap to ensure that userdata was invalid in which on-going\n    discard command covered.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\n     Conflicts:\n    \tfs/f2fs/segment.c\n\ncommit c25d5785f93ae7acd8d52cbec8f5f53db202f945\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Thu Jun 29 23:17:45 2017 +0800\n\n    f2fs: stop gc/discard thread in prior during umount\n\n    This patch resolves kernel panic for xfstests/081, caused by recent f2fs_bug_on\n\n     f2fs: add f2fs_bug_on in __remove_discard_cmd\n\n    For fixing, we will stop gc/discard thread in prior in ->kill_sb in order to\n    avoid referring and releasing race among them.\n\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit cadb63d54f87935fa215706346313c02863f3331\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Mon Jun 26 16:24:41 2017 +0800\n\n    f2fs: introduce reserved_blocks in sysfs\n\n    In this patch, we add a new sysfs interface, with it, we can control\n    number of reserved blocks in system which could not be used by user,\n    it enable f2fs to let user to configure for adjusting over-provision\n    ratio dynamically instead of changing it by mkfs.\n\n    So we can expect it will help to reserve more free space for relieving\n    GC in both filesystem and flash device.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\n     Conflicts:\n    \tDocumentation/ABI/testing/sysfs-fs-f2fs\n\ncommit 3863185322b502779c46e03fb6dde27997763a59\nAuthor: Yunlong Song <yunlong.song@huawei.com>\nDate:   Sat Jun 24 15:57:19 2017 +0800\n\n    f2fs: avoid redundant f2fs_flush after remount\n\n    create_flush_cmd_control will create redundant issue_flush_thread after each\n    remount with flush_merge option.\n\n    Signed-off-by: Yunlong Song <yunlong.song@huawei.com>\n    Reviewed-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit f40bac997b1bae691a6d01e82ab1cd782c6b7508\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Wed Jun 21 20:55:55 2017 -0700\n\n    f2fs: report # of free inodes more precisely\n\n    If the partition is small, we don't need to report total # of inodes including\n    hidden free nodes.\n\n    Reviewed-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit eb8b2ed586735ad4e86b8d75cae8bbad4c0fb650\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Thu Jun 15 16:44:42 2017 -0700\n\n    f2fs: add ioctl to do gc with target block address\n\n    This patch adds f2fs_ioc_gc_range() to move blocks located in the given\n    range.\n\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 0e832ce249988bbbe64b46b4b6c28ddc664a2f74\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Wed Jun 14 08:05:32 2017 -0700\n\n    f2fs: don't need to check encrypted inode for partial truncation\n\n    The cache_only is always false, if inode is encrypted.\n\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 75790996cb775e4199d961412d4553c3b58f4b08\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Wed Jun 14 23:00:56 2017 +0800\n\n    f2fs: measure inode.i_blocks as generic filesystem\n\n    Both in memory or on disk, generic filesystems record i_blocks with\n    512bytes sized sector count, also VFS sub module such as disk quota\n    follows this rule, but f2fs records it with 4096bytes sized block\n    count, this difference leads to that once we use dquota's function\n    which inc/dec iblocks, it will make i_blocks of f2fs being inconsistent\n    between in memory and on disk.\n\n    In order to resolve this issue, this patch changes to make in-memory\n    i_blocks of f2fs recording sector count instead of block count,\n    meanwhile leaving on-disk i_blocks recording block count.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit f166ea5ee7f212f0f9719c11ff132d33c70ac9a8\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Wed Jun 14 23:00:55 2017 +0800\n\n    f2fs: set CP_TRIMMED_FLAG correctly\n\n    Don't set CP_TRIMMED_FLAG for non-zoned block device or discard\n    unsupported device, it can avoid to trigger unneeded checkpoint for\n    that kind of device.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 84df5fb7a18ca39daf8e317509df0c4c5ec35510\nAuthor: Eric Biggers <ebiggers@google.com>\nDate:   Tue Jun 13 16:47:54 2017 -0700\n\n    f2fs: require key for truncate(2) of encrypted file\n\n    Currently, filesystems allow truncate(2) on an encrypted file without\n    the encryption key.  However, it's impossible to correctly handle the\n    case where the size being truncated to is not a multiple of the\n    filesystem block size, because that would require decrypting the final\n    block, zeroing the part beyond i_size, then encrypting the block.\n\n    As other modifications to encrypted file contents are prohibited without\n    the key, just prohibit truncate(2) as well, making it fail with ENOKEY.\n\n    Signed-off-by: Eric Biggers <ebiggers@google.com>\n    Acked-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit ec109030d5bc6cac334b6ca491be29d91c7550df\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Wed Jun 14 17:39:47 2017 +0800\n\n    f2fs: move sysfs code from super.c to fs/f2fs/sysfs.c\n\n    Codes related to sysfs and procfs are dispersive and mixed with sb\n    related codes, but actually these codes are independent from others,\n    so split them from super.c, and reorgnize and manger them in sysfs.c.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\n     Conflicts:\n    \tfs/f2fs/super.c\n\ncommit 3a38465ed180956cccebc32aa963bac6082e57fa\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Wed Jun 14 17:39:46 2017 +0800\n\n    f2fs: clean up sysfs codes\n\n    Just cleanup.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 15fff8ffbefece7a3f41fd091461253e1499beeb\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Mon Jun 12 09:44:27 2017 +0800\n\n    f2fs: fix wrong error number of fill_super\n\n    This patch fixes incorrect error number in error path of fill_super.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 5726041546b02928b104e55a2051f6a1d6ba2776\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Mon Jun 12 09:44:24 2017 +0800\n\n    f2fs: fix to show injection rate in ->show_options\n\n    If fault injection functionality is enabled, show additional injection\n    rate in ->show_options.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 20b5e1b3bd59b9da6ead0274292ef6b5bf08547d\nAuthor: Christophe JAILLET <christophe.jaillet@wanadoo.fr>\nDate:   Sun Jun 11 09:21:11 2017 +0200\n\n    f2fs: Fix a return value in case of error in 'f2fs_fill_super'\n\n    err must be set to -ENOMEM, otherwise we return 0.\n\n    Fixes: a912b54d3aaa0 (\"f2fs: split bio cache\")\n    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>\n    Reviewed-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 28be4da2aabf6c0ae54a4a55371dea5d09f9d60a\nAuthor: Tiezhu Yang <kernelpatch@126.com>\nDate:   Fri Jun 9 06:32:54 2017 +0800\n\n    f2fs: use proper variable name\n\n    It is better to use variable name \"inline_dentry\" instead of \"dentry_blk\"\n    when data type is \"struct f2fs_inline_dentry\". This patch has no functional\n    changes, just to make code more readable especially when call the function\n    make_dentry_ptr_inline() and f2fs_convert_inline_dir().\n\n    Signed-off-by: Tiezhu Yang <kernelpatch@126.com>\n    Reviewed-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit e14d07f76c8e908268a24dd4a2eaacfc9ba44028\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Wed Jun 7 11:17:35 2017 +0800\n\n    f2fs: fix to avoid panic when encountering corrupt node\n\n    With fault_injection option, generic/361 of fstests will complain us\n    with below message:\n\n    Call Trace:\n     get_node_page+0x12/0x20 [f2fs]\n     f2fs_iget+0x92/0x7d0 [f2fs]\n     f2fs_fill_super+0x10fb/0x15e0 [f2fs]\n     mount_bdev+0x184/0x1c0\n     f2fs_mount+0x15/0x20 [f2fs]\n     mount_fs+0x39/0x150\n     vfs_kern_mount+0x67/0x110\n     do_mount+0x1bb/0xc70\n     SyS_mount+0x83/0xd0\n     do_syscall_64+0x6e/0x160\n     entry_SYSCALL64_slow_path+0x25/0x25\n\n    Since mkfs loop device in f2fs partition can be failed silently due to\n    checkpoint error injection, so root inode page can be corrupted, in order\n    to avoid needless panic, in get_node_page, it's better to leave message\n    and return error to caller, and let fsck repaire it later.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 3193fc1f953b8206858f642ada85370281307415\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Mon Jun 5 18:29:08 2017 +0800\n\n    f2fs: don't track newly allocated nat entry in list\n\n    We will never persist newly allocated nat entries during checkpoint(), so\n    we don't need to track such nat entries in nat dirty list in order to\n    avoid:\n    - more latency during traversing dirty list;\n    - sorting nat sets incorrectly due to recording wrong entry_cnt in nat\n    entry set.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 521019e47e4b9fc3740935c749e448eb04345b6c\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Mon Jun 5 18:29:07 2017 +0800\n\n    f2fs: add f2fs_bug_on in __remove_discard_cmd\n\n    Recently, discard related codes have changed a lot, so add f2fs_bug_on to\n    detect potential bug.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 8b66d23c7a5258faf2ab0dcd0af47f07167091f9\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Mon Jun 5 18:29:06 2017 +0800\n\n    f2fs: introduce __wait_one_discard_bio\n\n    In order to avoid copied codes.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 2738ff1ad362e844458561477a82481bc8bb92fa\nAuthor: Qiuyang Sun <sunqiuyang@huawei.com>\nDate:   Thu May 18 11:06:45 2017 +0800\n\n    f2fs: dax: fix races between page faults and truncating pages\n\n    Currently in F2FS, page faults and operations that truncate the pagecahe\n    or data blocks, are completely unsynchronized. This can result in page\n    fault faulting in a page into a range that we are changing after\n    truncating, and thus we can end up with a page mapped to disk blocks that\n    will be shortly freed. Filesystem corruption will shortly follow.\n\n    This patch fixes the problem by creating new rw semaphore i_mmap_sem in\n    f2fs_inode_info and grab it for functions removing blocks from extent tree\n    and for read over page faults. The mechanism is similar to that in ext4.\n\n    Signed-off-by: Qiuyang Sun <sunqiuyang@huawei.com>\n    Reviewed-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\n     Conflicts:\n    \tfs/f2fs/file.c\n\ncommit d0e8949deeccad355b38346d494df715c650ca45\nAuthor: Fan Li <fanofcode.li@samsung.com>\nDate:   Fri Jun 2 15:45:42 2017 +0800\n\n    f2fs: simplify the way of calulating next nat address\n\n    The index of segment which the next nat block is in has only one different\n    bit than the current one, so to get the next nat address, we can simply\n    alter that one bit.\n\n    Signed-off-by: Fan Li <fanofcode.li@samsung.com>\n    Reviewed-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 9a80ec9913b36bf40e8557a60a59081d6bb9111f\nAuthor: Jin Qian <jinqian@android.com>\nDate:   Thu Jun 1 11:18:30 2017 -0700\n\n    f2fs: sanity check size of nat and sit cache\n\n    Make sure number of entires doesn't exceed max journal size.\n\n    Cc: stable@vger.kernel.org\n    Signed-off-by: Jin Qian <jinqian@android.com>\n    Reviewed-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 735761760efdd2b9cceef472ff1707c7a3869662\nAuthor: Yunlei He <heyunlei@huawei.com>\nDate:   Thu Jun 1 16:43:51 2017 +0800\n\n    f2fs: fix a panic caused by NULL flush_cmd_control\n\n    Mount fs with option noflush_merge, boot failed for illegal address\n    fcc in function f2fs_issue_flush:\n\n            if (!test_opt(sbi, FLUSH_MERGE)) {\n                    ret = submit_flush_wait(sbi);\n                    atomic_inc(&fcc->issued_flush);   ->  Here, fcc illegal\n                    return ret;\n            }\n\n    Signed-off-by: Yunlei He <heyunlei@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 5f54139eb8bd19e8dece723caf5f0d003d9b734b\nAuthor: Zhang Shengju <zhangshengju@cmss.chinamobile.com>\nDate:   Thu Jun 1 16:50:10 2017 +0800\n\n    f2fs: remove the unnecessary cast for PTR_ERR\n\n    It's not necessary to specify 'int' casting for PTR_ERR.\n\n    Signed-off-by: Zhang Shengju <zhangshengju@cmss.chinamobile.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit a315a8bf63355b72983413b71325b9a49f73c6c4\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Thu Jun 1 15:39:27 2017 -0700\n\n    f2fs: remove false-positive bug_on\n\n    For example,\n\n    f2fs_create\n     - new_node_page is failed\n     - handle_failed_inode\n      - skip to add it into orphan list, since ni.blk_addr == NULL_ADDR\n       : set_inode_flag(inode, FI_FREE_NID)\n\n    f2fs_evict_inode\n     - EIO due to fault injection\n     - f2fs_bug_on() is triggered\n\n    So, we don't need to call f2fs_bug_on in this case.\n\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit a24a1c1040e5c2fe0b658dd17643093895dcb728\nAuthor: Damien Le Moal <damien.lemoal@wdc.com>\nDate:   Fri May 26 17:04:40 2017 +0900\n\n    f2fs: Do not issue small discards in LFS mode\n\n    clear_prefree_segments() issues small discards after discarding full\n    segments. These small discards may not be section aligned, so not zone\n    aligned on a zoned block device, causing __f2fs_iissue_discard_zone() to fail.\n    Fix this by not issuing small discards for a volume mounted with the BLKZONED\n    feature enabled.\n\n    Cc: stable@vger.kernel.org\n    Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>\n    Reviewed-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 55c2446313720c5387453629c3e369734381d1a7\nAuthor: Eric Biggers <ebiggers@google.com>\nDate:   Mon May 22 17:39:45 2017 -0700\n\n    f2fs: don't bother checking for encryption key in ->write_iter()\n\n    Since only an open file can be written to, and we only allow open()ing\n    an encrypted file when its key is available, there is no need to check\n    for the key again before permitting each ->write_iter().\n\n    This code was also broken in that it wouldn't actually have failed if\n    the key was in fact unavailable.\n\n    Signed-off-by: Eric Biggers <ebiggers@google.com>\n    Reviewed-by: David Gstir <david@sigma-star.at>\n    Acked-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 5886576d27d0c59dad27a0d6d7249c019eed3057\nAuthor: Eric Biggers <ebiggers@google.com>\nDate:   Mon May 22 17:39:43 2017 -0700\n\n    f2fs: don't bother checking for encryption key in ->mmap()\n\n    Since only an open file can be mmap'ed, and we only allow open()ing an\n    encrypted file when its key is available, there is no need to check for\n    the key again before permitting each mmap().\n\n    This f2fs copy of this code was also broken in that it wouldn't actually\n    have failed if the key was in fact unavailable.\n\n    Signed-off-by: Eric Biggers <ebiggers@google.com>\n    Reviewed-by: David Gstir <david@sigma-star.at>\n    Acked-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit dc61cbbea2aa9d30549f27addce101f2e27bccf5\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Fri May 19 23:46:45 2017 +0800\n\n    f2fs: wait discard IO completion without cmd_lock held\n\n    Wait discard IO completion outside cmd_lock to avoid long latency\n    of holding cmd_lock in IO busy scenario.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 2b5ebac153ba75ba18ca451ad8794be723034ed4\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Fri May 19 23:46:44 2017 +0800\n\n    f2fs: wake up all waiters in f2fs_submit_discard_endio\n\n    There could be more than one waiter waiting discard IO completion, so we\n    need use complete_all() instead of complete() in f2fs_submit_discard_endio\n    to avoid hungtask.\n\n    Fixes: \tec9895add2c5 (\"f2fs: don't hold cmd_lock during waiting discard\n    command\")\n    Cc: <stable@vger.kernel.org>\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit f865cb797eb640f097f3db9e5e7b0432491176c6\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Fri May 19 23:46:43 2017 +0800\n\n    f2fs: show more info if fail to issue discard\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 5feb6a320beb69c592ff1a7cd845425ff1002417\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Fri May 19 23:37:01 2017 +0800\n\n    f2fs: introduce io_list for serialize data/node IOs\n\n    Serialize data/node IOs by using fifo list instead of mutex lock,\n    it will help to enhance concurrency of f2fs, meanwhile keeping LFS\n    IO semantics.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit f896ef3b4a44e6707b0a831aa27436246b0ef6d5\nAuthor: Chao Yu <yuchao0@huawei.com>\nDate:   Fri May 19 23:37:00 2017 +0800\n\n    f2fs: split wio_mutex\n\n    Split wio_mutex to adjust different temperature bio cache.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit b1f692f869cb32ce703a512c3170c165aa15fb63\nAuthor: Yunlei He <heyunlei@huawei.com>\nDate:   Fri May 19 14:42:12 2017 +0800\n\n    f2fs: combine huge num of discard rb tree consistence checks\n\n    Came across a hungtask caused by huge number of rb tree traversing\n    during adding discard addrs in cp. This patch combine these consistence\n    checks and move it to discard thread.\n\n    Signed-off-by: Yunlei He <heyunlei@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit ccc6e3e1a9398538f1c541ecc13d8867d11b9afd\nAuthor: Yunlei He <heyunlei@huawei.com>\nDate:   Fri May 19 15:06:12 2017 +0800\n\n    f2fs: fix a bug caused by NULL extent tree\n\n    Thread A:\t\t\t\t\tThread B:\n\n    -f2fs_remount\n        -sbi->mount_opt.opt = 0;\n    \t\t\t\t\t\t<--- -f2fs_iget\n    \t\t\t\t\t\t         -do_read_inode\n    \t\t\t\t\t\t\t     -f2fs_init_extent_tree\n    \t\t\t\t\t\t\t         -F2FS_I(inode)->extent_tree is NULL\n            -default_options && parse_options\n    \t    -remount return\n    \t\t\t\t\t\t<---  -f2fs_map_blocks\n    \t\t\t\t\t\t          -f2fs_lookup_extent_tree\n                                                                  -f2fs_bug_on(sbi, !et);\n\n    The same problem with f2fs_new_inode.\n\n    Signed-off-by: Yunlei He <heyunlei@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 8a749752e38eea8cbbb78231d40e328200fc5008\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Wed May 17 10:36:58 2017 -0700\n\n    f2fs: try to freeze in gc and discard threads\n\n    This allows to freeze gc and discard threads.\n\n    Cc: stable@vger.kernel.org\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit cfb2b78ae238dcf613a3528f8e8da385033bd086\nAuthor: Yunlei He <heyunlei@huawei.com>\nDate:   Wed May 17 17:22:51 2017 +0800\n\n    f2fs: add a new function get_ssr_cost\n\n    This patch add a new method get_ssr_cost to select\n    SSR segment more accurately.\n\n    Signed-off-by: Yunlei He <heyunlei@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 710758ce0fe475be8d1ca64215cffb354d1462e7\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Fri May 12 13:51:34 2017 -0700\n\n    f2fs: avoid f2fs_lock_op for IPU writes\n\n    Currently, if we do get_node_of_data before f2fs_lock_op, there may be dead lock\n    as follows, where process A would be in infinite loop, and B will NOT be awaked.\n\n    Process A(cp):            Process B:\n    f2fs_lock_all(sbi)\n                            get_dnode_of_data <---- lock dn.node_page\n    flush_nodes             f2fs_lock_op\n\n    So, this patch adds f2fs_trylock_op to avoid f2fs_lock_op done by IPU.\n\n    Signed-off-by: Hou Pengyang <houpengyang@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 72e1e866abf588238fcc516ace04dd7b58477e49\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Wed May 10 11:18:25 2017 -0700\n\n    f2fs: split bio cache\n\n    Split DATA/NODE type bio cache according to different temperature,\n    so write IOs with the same temperature can be merged in corresponding\n    bio cache as much as possible, otherwise, different temperature write\n    IOs submitting into one bio cache will always cause split of bio.\n\n    Signed-off-by: Chao Yu <yuchao0@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\n     Conflicts:\n    \tinclude/trace/events/f2fs.h\n\ncommit 68a65d5055aba14e96f981f49e718e753af1ea56\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Wed May 10 14:19:54 2017 -0700\n\n    f2fs: use fio instead of multiple parameters\n\n    This patch just changes using fio instead of parameters.\n\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 6c6845a4aa513fd702ecca8c60e4043cb4e16c43\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Wed May 10 11:28:38 2017 -0700\n\n    f2fs: remove unnecessary read cases in merged IO flow\n\n    Merged IO flow doesn't need to care about read IOs.\n\n    f2fs_submit_merged_bio -> f2fs_submit_merged_write\n    f2fs_submit_merged_bios -> f2fs_submit_merged_writes\n    f2fs_submit_merged_bio_cond -> f2fs_submit_merged_write_cond\n\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit a26c98585b047b6bc3634c47ced810b008630bc9\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Wed May 10 11:23:36 2017 -0700\n\n    f2fs: use f2fs_submit_page_bio for ra_meta_pages\n\n    This patch avoids to use f2fs_submit_merged_bio for read, which was the only\n    read case.\n\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit c28ffc1127b8bb32341e7b9a7ff6dcf89c7f103b\nAuthor: Weichao Guo <guoweichao@huawei.com>\nDate:   Thu May 11 04:28:00 2017 +0800\n\n    f2fs: make sure f2fs_gc returns consistent errno\n\n    By default, f2fs_gc returns -EINVAL in general error cases, e.g., no victim\n    was selected. However, the default errno may be overwritten in two cases:\n    gc_more and BG_GC -> FG_GC. We should return consistent errno in such cases.\n\n    Signed-off-by: Weichao Guo <guoweichao@huawei.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 0088e0d7509ff035d06e0fd8aa2199e8e28de48a\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Tue May 16 13:20:16 2017 -0700\n\n    f2fs: load inode's flag from disk\n\n    This patch fixes missing inode flag loaded from disk, reported by Tom.\n\n    [tom@localhost ~]$ sudo mount /dev/loop0 /mnt/\n    [tom@localhost ~]$ sudo chown tom:tom /mnt/\n    [tom@localhost ~]$ touch /mnt/testfile\n    [tom@localhost ~]$ sudo chattr +i /mnt/testfile\n    [tom@localhost ~]$ echo test > /mnt/testfile\n    bash: /mnt/testfile: Operation not permitted\n    [tom@localhost ~]$ rm /mnt/testfile\n    rm: cannot remove '/mnt/testfile': Operation not permitted\n    [tom@localhost ~]$ sudo umount /mnt/\n    [tom@localhost ~]$ sudo mount /dev/loop0 /mnt/\n    [tom@localhost ~]$ lsattr /mnt/testfile\n    ----i-------------- /mnt/testfile\n    [tom@localhost ~]$ echo test > /mnt/testfile\n    [tom@localhost ~]$ rm /mnt/testfile\n    [tom@localhost ~]$ sudo umount /mnt/\n\n    Cc: stable@vger.kernel.org\n    Reported-by: Tom Yan <tom.ty89@outlook.com>\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit db0fa69eb76cb36932ec7d7bc36b63987cec3f9d\nAuthor: Jin Qian <jinqian@google.com>\nDate:   Mon May 15 10:45:08 2017 -0700\n\n    f2fs: sanity check checkpoint segno and blkoff\n\n    Make sure segno and blkoff read from raw image are valid.\n\n    Cc: stable@vger.kernel.org\n    Signed-off-by: Jin Qian <jinqian@google.com>\n    [Jaegeuk Kim: adjust minor coding style]\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 78741832ba318c430dca519feb2bf43a813ed6e3\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Thu Jul 6 12:24:49 2017 -0700\n\n    f2fs, block_dump: give WRITE direction to submit_bio\n\n    The block_dump in submit_bio uses rw, instead of bio->bi_rw.\n\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\ncommit 9e9d3dde1a66895f112e7fe92f8336ed38b042f0\nAuthor: Jaegeuk Kim <jaegeuk@kernel.org>\nDate:   Fri Jun 9 16:52:11 2017 -0700\n\n    f2fs: use WRITE_SYNC for REQ_SYNC\n\n    WRITE_SYNC contains REQ_SYNC and REQ_NOIDLE.\n\n    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/AshishM94/android_kernel_wingtech_msm8916/commits/87ec3fa6672d731c1fbb78df44439a1dd9669aca"},{"sha":"4eb3ca40b2ff66d1881059b46069a95f378679f4","author":{"name":"Gao Xiang","email":"9b0e3292d309038858fff8c0ce2e418a4d953ce3@huawei.com"},"message":"ANDROID: sdcardfs: use mount_nodev and fix a issue in sdcardfs_kill_sb\n\nUse the VFS mount_nodev instead of customized mount_nodev_with_options\nand fix generic_shutdown_super to kill_anon_super because of set_anon_super\n\nSigned-off-by: Gao Xiang <gaoxiang25@huawei.com>\nChange-Id: Ibe46647aa2ce49d79291aa9d0295e9625cfccd80","distinct":true,"url":"https://api.github.com/repos/AshishM94/android_kernel_wingtech_msm8916/commits/4eb3ca40b2ff66d1881059b46069a95f378679f4"},{"sha":"15943d23fdf9efbe24fe8d65a43f63b99b18fdf8","author":{"name":"Daniel Rosenberg","email":"ba8cfe5d21fcfdde5eed8cabcaff0549d9612a2a@google.com"},"message":"ANDROID: sdcardfs: Remove unnecessary lock\n\nThe mmap_sem lock does not appear to be protecting\nanything, and has been removed in Samsung's more\nrecent versions of sdcardfs.\n\nSigned-off-by: Daniel Rosenberg <drosen@google.com>\nChange-Id: I76ff3e33002716b8384fc8be368028ed63dffe4e\nBug: 63785372","distinct":true,"url":"https://api.github.com/repos/AshishM94/android_kernel_wingtech_msm8916/commits/15943d23fdf9efbe24fe8d65a43f63b99b18fdf8"}]}
{"actor":{"display_login":"AshishM94"}}