{"push_id":1036120032,"size":124,"distinct_size":124,"ref":"refs/heads/mm6.0","head":"6a4233ee9d067080070525e97b527fd24954c1b8","before":"3ba9d352d660ad3d709d289f36ba667847ae1682","commits":[{"sha":"056be8c532d4b20dbb76ba0c34be03b0deb93cbd","author":{"email":"e0fcd583df77ec6c08e6d1257619cc1216ddc994@suse.com","name":"Filipe Manana"},"message":"Btrfs: use kmem_cache_free when freeing entry in inode cache\n\ncommit c3f4a1685bb87e59c886ee68f7967eae07d4dffa upstream.\n\nThe free space entries are allocated using kmem_cache_zalloc(),\nthrough __btrfs_add_free_space(), therefore we should use\nkmem_cache_free() and not kfree() to avoid any confusion and\nany potential problem. Looking at the kfree() definition at\nmm/slab.c it has the following comment:\n\n  /*\n   * (...)\n   *\n   * Don't free memory not originally allocated by kmalloc()\n   * or you will run into trouble.\n   */\n\nSo better be safe and use kmem_cache_free().\n\nSigned-off-by: Filipe Manana <fdmanana@suse.com>\nReviewed-by: David Sterba <dsterba@suse.cz>\nSigned-off-by: Chris Mason <clm@fb.com>\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/056be8c532d4b20dbb76ba0c34be03b0deb93cbd"},{"sha":"ae7d97678efb9351be87c376d5884e8031bcaa29","author":{"email":"07df7bab03df28a2714e7e0ded06841891899bd6@lge.com","name":"Gioh Kim"},"message":"fs/buffer.c: support buffer cache allocations with gfp modifiers\n\ncommit 3b5e6454aaf6b4439b19400d8365e2ec2d24e411 upstream.\n\nA buffer cache is allocated from movable area because it is referred\nfor a while and released soon.  But some filesystems are taking buffer\ncache for a long time and it can disturb page migration.\n\nNew APIs are introduced to allocate buffer cache with user specific\nflag.  *_gfp APIs are for user want to set page allocation flag for\npage cache allocation.  And *_unmovable APIs are for the user wants to\nallocate page cache from non-movable area.\n\nSigned-off-by: Gioh Kim <gioh.kim@lge.com>\nSigned-off-by: Theodore Ts'o <tytso@mit.edu>\nReviewed-by: Jan Kara <jack@suse.cz>\n[lizf: Backported to 3.4: adjust context]\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/ae7d97678efb9351be87c376d5884e8031bcaa29"},{"sha":"872a38e664246e5c8ab85ff131474153a26913a9","author":{"email":"c65a0fb7e74ffd2c9fc3a0f9aacb0f6a24b0a68b@kyup.com","name":"Nikolay Borisov"},"message":"bufferhead: Add _gfp version for sb_getblk()\n\ncommit bd7ade3cd9b0850264306f5c2b79024a417b6396 upstream.\n\nsb_getblk() is used during ext4 (and possibly other FSes) writeback\npaths. Sometimes such path require allocating memory and guaranteeing\nthat such allocation won't block. Currently, however, there is no way\nto provide user flags for sb_getblk which could lead to deadlocks.\n\nThis patch implements a sb_getblk_gfp with the only difference it can\naccept user-provided GFP flags.\n\nSigned-off-by: Nikolay Borisov <kernel@kyup.com>\nSigned-off-by: Theodore Ts'o <tytso@mit.edu>\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/872a38e664246e5c8ab85ff131474153a26913a9"},{"sha":"f91f88231236fb99a0e896d1adbb38165293d37c","author":{"email":"c65a0fb7e74ffd2c9fc3a0f9aacb0f6a24b0a68b@kyup.com","name":"Nikolay Borisov"},"message":"ext4: avoid deadlocks in the writeback path by using sb_getblk_gfp\n\ncommit c45653c341f5c8a0ce19c8f0ad4678640849cb86 upstream.\n\nSwitch ext4 to using sb_getblk_gfp with GFP_NOFS added to fix possible\ndeadlocks in the page writeback path.\n\nSigned-off-by: Nikolay Borisov <kernel@kyup.com>\nSigned-off-by: Theodore Ts'o <tytso@mit.edu>\n[lizf: Backported to 3.4: adjust context]\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/f91f88231236fb99a0e896d1adbb38165293d37c"},{"sha":"6812fb4d834d12b1782d97e650a00c7df6de2f94","author":{"email":"829500b200af6c2a0eca4dfd5c388e6b8fbe8dc6@suse.cz","name":"Michal Hocko"},"message":"ext4: replace open coded nofail allocation in ext4_free_blocks()\n\ncommit 7444a072c387a93ebee7066e8aee776954ab0e41 upstream.\n\next4_free_blocks is looping around the allocation request and mimics\n__GFP_NOFAIL behavior without any allocation fallback strategy. Let's\nremove the open coded loop and replace it with __GFP_NOFAIL. Without the\nflag the allocator has no way to find out never-fail requirement and\ncannot help in any way.\n\nSigned-off-by: Michal Hocko <mhocko@suse.cz>\nSigned-off-by: Theodore Ts'o <tytso@mit.edu>\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/6812fb4d834d12b1782d97e650a00c7df6de2f94"},{"sha":"4e6f319e897b92e9117a1b9aa630ad1f362941c0","author":{"email":"eec72676ad9a62f2727dfed6d270d98c0d02adec@linux.intel.com","name":"Kirill A. Shutemov"},"message":"mm: avoid setting up anonymous pages into file mapping\n\ncommit 6b7339f4c31ad69c8e9c0b2859276e22cf72176d upstream.\n\nReading page fault handler code I've noticed that under right\ncircumstances kernel would map anonymous pages into file mappings: if\nthe VMA doesn't have vm_ops->fault() and the VMA wasn't fully populated\non ->mmap(), kernel would handle page fault to not populated pte with\ndo_anonymous_page().\n\nLet's change page fault handler to use do_anonymous_page() only on\nanonymous VMA (->vm_ops == NULL) and make sure that the VMA is not\nshared.\n\nFor file mappings without vm_ops->fault() or shred VMA without vm_ops,\npage fault on pte_none() entry would lead to SIGBUS.\n\nSigned-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>\nAcked-by: Oleg Nesterov <oleg@redhat.com>\nCc: Andrew Morton <akpm@linux-foundation.org>\nCc: Willy Tarreau <w@1wt.eu>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n[lizf: Backported to 3.4: adjust context]\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/4e6f319e897b92e9117a1b9aa630ad1f362941c0"},{"sha":"1340cab548fe2c68117a6274ae6fe6f9679005b9","author":{"email":"1129a7bb22ab524858df56c5de32e1bb522c656e@gmail.com","name":"Sanidhya Kashyap"},"message":"hpfs: kstrdup() out of memory handling\n\ncommit ce657611baf902f14ae559ce4e0787ead6712067 upstream.\n\nThere is a possibility of nothing being allocated to the new_opts in\ncase of memory pressure, therefore return ENOMEM for such case.\n\nSigned-off-by: Sanidhya Kashyap <sanidhya.gatech@gmail.com>\nSigned-off-by: Mikulas Patocka <mikulas@twibright.com>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n[lizf: Backported to 3.4: adjust context]\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/1340cab548fe2c68117a6274ae6fe6f9679005b9"},{"sha":"253002436503791cb6da1709d5ee1d3f98f545b2","author":{"email":"16a9a54ddf4259952e3c118c763138e83693d7fd@perches.com","name":"Joe Perches"},"message":"hpfs: hpfs_error: Remove static buffer, use vsprintf extension %pV instead\n\ncommit a28e4b2b18ccb90df402da3f21e1a83c9d4f8ec1 upstream.\n\nRemoving unnecessary static buffers is good.\nUse the vsprintf %pV extension instead.\n\nSigned-off-by: Joe Perches <joe@perches.com>\nSigned-off-by: Mikulas Patocka <mikulas@twibright.com>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n[Mikulas:\n - The bug corrected by the patch is - if hpfs_error is called concurrently\n   on multiple filesystems, it could corrupt the string because the text\n   buffer is shared. That's why I marked the patch for stable.]\n[lizf: Backported to 3.4: adjust context]\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/253002436503791cb6da1709d5ee1d3f98f545b2"},{"sha":"82750cdf47ba2d2ab726e59c3e802ed64b136d6a","author":{"email":"de609eb4d5d70b1d38ec6642adbfc33a2781f63c@zeniv.linux.org.uk","name":"Al Viro"},"message":"9p: don't leave a half-initialized inode sitting around\n\ncommit 0a73d0a204a4a04a1e110539c5a524ae51f91d6d upstream.\n\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/82750cdf47ba2d2ab726e59c3e802ed64b136d6a"},{"sha":"82252b364daaacdd6f5998a9ed83ed80d3ed833e","author":{"email":"f3289d43bac92a846d2d7168ccca1458ac5ff548@gmx.de","name":"Dominic Sacré"},"message":"ALSA: usb-audio: Add MIDI support for Steinberg MI2/MI4\n\ncommit 0689a86ae814f39af94a9736a0a5426dd82eb107 upstream.\n\nThe Steinberg MI2 and MI4 interfaces are compatible with the USB class\naudio spec, but the MIDI part of the devices is reported as a vendor\nspecific interface.\n\nThis patch adds entries to quirks-table.h to recognize the MIDI\nendpoints. Audio functionality was already working and is unaffected by\nthis change.\n\nSigned-off-by: Dominic Sacré <dominic.sacre@gmx.de>\nSigned-off-by: Albert Huitsing <albert@huitsing.nl>\nAcked-by: Clemens Ladisch <clemens@ladisch.de>\nSigned-off-by: Takashi Iwai <tiwai@suse.de>\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/82252b364daaacdd6f5998a9ed83ed80d3ed833e"},{"sha":"24849eaaaed4b12d5ebe54d0411a4d3ea9191934","author":{"email":"905833befed450d0e2a094d927d7a7bbe432983c@gmail.com","name":"Dennis Yang"},"message":"dm btree remove: fix bug in redistribute3\n\ncommit 4c7e309340ff85072e96f529582d159002c36734 upstream.\n\nredistribute3() shares entries out across 3 nodes.  Some entries were\nbeing moved the wrong way, breaking the ordering.  This manifested as a\nBUG() in dm-btree-remove.c:shift() when entries were removed from the\nbtree.\n\nFor additional context see:\nhttps://www.redhat.com/archives/dm-devel/2015-May/msg00113.html\n\nSigned-off-by: Dennis Yang <shinrairis@gmail.com>\nSigned-off-by: Joe Thornber <ejt@redhat.com>\nSigned-off-by: Mike Snitzer <snitzer@redhat.com>\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/24849eaaaed4b12d5ebe54d0411a4d3ea9191934"},{"sha":"1410bea0faafeddb8a23f7600a2003ed1b399cb9","author":{"email":"61d5fad70554ae22d57a37634e04f12f58acc678@redhat.com","name":"Joe Thornber"},"message":"dm thin: allocate the cell_sort_array dynamically\n\ncommit a822c83e47d97cdef38c4352e1ef62d9f46cfe98 upstream.\n\nGiven the pool's cell_sort_array holds 8192 pointers it triggers an\norder 5 allocation via kmalloc.  This order 5 allocation is prone to\nfailure as system memory gets more fragmented over time.\n\nFix this by allocating the cell_sort_array using vmalloc.\n\nSigned-off-by: Joe Thornber <ejt@redhat.com>\nSigned-off-by: Mike Snitzer <snitzer@redhat.com>\n[lizf: Backported 3.4: it's prinson_{create,destroy}() that need fixing]\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/1410bea0faafeddb8a23f7600a2003ed1b399cb9"},{"sha":"2c50cf1453d566826f594d0131e3aeb28d689d1d","author":{"email":"9dddb302d5e2e162313cf1ee8e8e973f4990e3d3@gmail.com","name":"Claudio Cappelli"},"message":"USB: option: add 2020:4000 ID\n\ncommit f6d7fb37f92622479ef6da604f27561f5045ba1e upstream.\n\nAdd device Olivetti Olicard 300 (Network Connect: MT6225) - IDs 2020:4000.\n\nT:  Bus=01 Lev=02 Prnt=04 Port=00 Cnt=01 Dev#= 10 Spd=480 MxCh= 0\nD:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1\nP:  Vendor=2020 ProdID=4000 Rev=03.00\nS:  Manufacturer=Network Connect\nS:  Product=MT6225\nC:  #Ifs= 7 Cfg#= 1 Atr=a0 MxPwr=500mA\nI:  If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim\nI:  If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim\nI:  If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option\nI:  If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option\nI:  If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option\nI:  If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option\nI:  If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage\n\nSigned-off-by: Claudio Cappelli <claudio.cappelli.linux@gmail.com>\nSuggested-by: Lars Melin <larsm17@gmail.com>\n[johan: amend commit message with devices info ]\nSigned-off-by: Johan Hovold <johan@kernel.org>\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/2c50cf1453d566826f594d0131e3aeb28d689d1d"},{"sha":"fa791307982914a448cdfd52b97165faf531b41a","author":{"email":"4b8373d016f277527198385ba72fda0feb5da015@sanford.io","name":"Peter Sanford"},"message":"USB: cp210x: add ID for Aruba Networks controllers\n\ncommit f98a7aa81eeeadcad25665c3501c236d531d4382 upstream.\n\nAdd the USB serial console device ID for Aruba Networks 7xxx series\ncontrollers which have a USB port for their serial console.\n\nSigned-off-by: Peter Sanford <peter@sanford.io>\nSigned-off-by: Johan Hovold <johan@kernel.org>\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/fa791307982914a448cdfd52b97165faf531b41a"},{"sha":"0ea5f420e03d38ed19ba4bcb9b0341c76ccd4aec","author":{"email":"61d5fad70554ae22d57a37634e04f12f58acc678@redhat.com","name":"Joe Thornber"},"message":"dm btree: silence lockdep lock inversion in dm_btree_del()\n\ncommit 1c7518794a3647eb345d59ee52844e8a40405198 upstream.\n\nAllocate memory using GFP_NOIO when deleting a btree.  dm_btree_del()\ncan be called via an ioctl and we don't want to recurse into the FS or\nblock layer.\n\nSigned-off-by: Joe Thornber <ejt@redhat.com>\nSigned-off-by: Mike Snitzer <snitzer@redhat.com>\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/0ea5f420e03d38ed19ba4bcb9b0341c76ccd4aec"},{"sha":"303369ae866f949092f610f4127cc8c72b750e41","author":{"email":"52616596d8f5df0d597e85ab515377f92f939c68@de.ibm.com","name":"Martin Schwidefsky"},"message":"s390/sclp: clear upper register halves in _sclp_print_early\n\ncommit f9c87a6f46d508eae0d9ae640be98d50f237f827 upstream.\n\nIf the kernel is compiled with gcc 5.1 and the XZ compression option\nthe decompress_kernel function calls _sclp_print_early in 64-bit mode\nwhile the content of the upper register half of %r6 is non-zero.\nThis causes a specification exception on the servc instruction in\n_sclp_servc.\n\nThe _sclp_print_early function saves and restores the upper registers\nhalves but it fails to clear them for the 31-bit code of the mini sclp\ndriver.\n\nSigned-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/303369ae866f949092f610f4127cc8c72b750e41"},{"sha":"c352c7531bba438fa13a47fec416f6f9cba2f19b","author":{"email":"09dd02a3136250300157b7d8a9042f64386668f6@gmail.com","name":"Zhao Junwang"},"message":"drm: add a check for x/y in drm_mode_setcrtc\n\ncommit 01447e9f04ba1c49a9534ae6a5a6f26c2bb05226 upstream.\n\nlegacy setcrtc ioctl does take a 32 bit value which might indeed\noverflow\n\nthe checks of crtc_req->x > INT_MAX and crtc_req->y > INT_MAX aren't\nneeded any more with this\n\nv2: -polish the annotation according to Daniel's comment\n\nCc: Daniel Vetter <daniel.vetter@ffwll.ch>\nSigned-off-by: Zhao Junwang <zhjwpku@gmail.com>\nSigned-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/c352c7531bba438fa13a47fec416f6f9cba2f19b"},{"sha":"095532880ddd9642d40b2c4c8e5f4b8fe38a6673","author":{"email":"3d0f3b9ddcacec30c4008c5e030e6c13a478cb4f@iogearbox.net","name":"Daniel Borkmann"},"message":"rtnetlink: verify IFLA_VF_INFO attributes before passing them to driver\n\ncommit 4f7d2cdfdde71ffe962399b7020c674050329423 upstream.\n\nJason Gunthorpe reported that since commit c02db8c6290b (\"rtnetlink: make\nSR-IOV VF interface symmetric\"), we don't verify IFLA_VF_INFO attributes\nanymore with respect to their policy, that is, ifla_vfinfo_policy[].\n\nBefore, they were part of ifla_policy[], but they have been nested since\nplaced under IFLA_VFINFO_LIST, that contains the attribute IFLA_VF_INFO,\nwhich is another nested attribute for the actual VF attributes such as\nIFLA_VF_MAC, IFLA_VF_VLAN, etc.\n\nDespite the policy being split out from ifla_policy[] in this commit,\nit's never applied anywhere. nla_for_each_nested() only does basic nla_ok()\ntesting for struct nlattr, but it doesn't know about the data context and\ntheir requirements.\n\nFix, on top of Jason's initial work, does 1) parsing of the attributes\nwith the right policy, and 2) using the resulting parsed attribute table\nfrom 1) instead of the nla_for_each_nested() loop (just like we used to\ndo when still part of ifla_policy[]).\n\nReference: http://thread.gmane.org/gmane.linux.network/368913\nFixes: c02db8c6290b (\"rtnetlink: make SR-IOV VF interface symmetric\")\nReported-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>\nCc: Chris Wright <chrisw@sous-sol.org>\nCc: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>\nCc: Greg Rose <gregory.v.rose@intel.com>\nCc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>\nCc: Rony Efraim <ronye@mellanox.com>\nCc: Vlad Zolotarov <vladz@cloudius-systems.com>\nCc: Nicolas Dichtel <nicolas.dichtel@6wind.com>\nCc: Thomas Graf <tgraf@suug.ch>\nSigned-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>\nSigned-off-by: Daniel Borkmann <daniel@iogearbox.net>\nAcked-by: Vlad Zolotarov <vladz@cloudius-systems.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\n[bwh: Backported to 3.2:\n - Drop unsupported attributes\n - Use ndo_set_vf_tx_rate operation, not ndo_set_vf_rate]\nSigned-off-by: Ben Hutchings <ben@decadent.org.uk>\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/095532880ddd9642d40b2c4c8e5f4b8fe38a6673"},{"sha":"dd27f837c3a8c3fe0a22478581235c543b5010cd","author":{"email":"84572ef2253ef81e2d8cd8c65849f4d9a3881f47@ssi.bg","name":"Julian Anastasov"},"message":"net: do not process device backlog during unregistration\n\ncommit e9e4dd3267d0c5234c5c0f47440456b10875dec9 upstream.\n\ncommit 381c759d9916 (\"ipv4: Avoid crashing in ip_error\")\nfixes a problem where processed packet comes from device\nwith destroyed inetdev (dev->ip_ptr). This is not expected\nbecause inetdev_destroy is called in NETDEV_UNREGISTER\nphase and packets should not be processed after\ndev_close_many() and synchronize_net(). Above fix is still\nrequired because inetdev_destroy can be called for other\nreasons. But it shows the real problem: backlog can keep\npackets for long time and they do not hold reference to\ndevice. Such packets are then delivered to upper levels\nat the same time when device is unregistered.\nCalling flush_backlog after NETDEV_UNREGISTER_FINAL still\naccounts all packets from backlog but before that some packets\ncontinue to be delivered to upper levels long after the\nsynchronize_net call which is supposed to wait the last\nones. Also, as Eric pointed out, processed packets, mostly\nfrom other devices, can continue to add new packets to backlog.\n\nFix the problem by moving flush_backlog early, after the\ndevice driver is stopped and before the synchronize_net() call.\nThen use netif_running check to make sure we do not add more\npackets to backlog. We have to do it in enqueue_to_backlog\ncontext when the local IRQ is disabled. As result, after the\nflush_backlog and synchronize_net sequence all packets\nshould be accounted.\n\nThanks to Eric W. Biederman for the test script and his\nvaluable feedback!\n\nReported-by: Vittorio Gambaletta <linuxbugs@vittgam.net>\nFixes: 6e583ce5242f (\"net: eliminate refcounting in backlog queue\")\nCc: Eric W. Biederman <ebiederm@xmission.com>\nCc: Stephen Hemminger <stephen@networkplumber.org>\nSigned-off-by: Julian Anastasov <ja@ssi.bg>\nSigned-off-by: David S. Miller <davem@davemloft.net>\n[lizf: Backported to 3.4: adjust context]\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/dd27f837c3a8c3fe0a22478581235c543b5010cd"},{"sha":"a72d3931596edb54cd548d9445a7bd7de643085e","author":{"email":"84572ef2253ef81e2d8cd8c65849f4d9a3881f47@ssi.bg","name":"Julian Anastasov"},"message":"net: call rcu_read_lock early in process_backlog\n\ncommit 2c17d27c36dcce2b6bf689f41a46b9e909877c21 upstream.\n\nIncoming packet should be either in backlog queue or\nin RCU read-side section. Otherwise, the final sequence of\nflush_backlog() and synchronize_net() may miss packets\nthat can run without device reference:\n\nCPU 1                  CPU 2\n                       skb->dev: no reference\n                       process_backlog:__skb_dequeue\n                       process_backlog:local_irq_enable\n\non_each_cpu for\nflush_backlog =>       IPI(hardirq): flush_backlog\n                       - packet not found in backlog\n\n                       CPU delayed ...\nsynchronize_net\n- no ongoing RCU\nread-side sections\n\nnetdev_run_todo,\nrcu_barrier: no\nongoing callbacks\n                       __netif_receive_skb_core:rcu_read_lock\n                       - too late\nfree dev\n                       process packet for freed dev\n\nFixes: 6e583ce5242f (\"net: eliminate refcounting in backlog queue\")\nCc: Eric W. Biederman <ebiederm@xmission.com>\nCc: Stephen Hemminger <stephen@networkplumber.org>\nSigned-off-by: Julian Anastasov <ja@ssi.bg>\nSigned-off-by: David S. Miller <davem@davemloft.net>\n[lizf: Backported to 3.4:\n - adjust context\n - no need to change \"goto unlock\" to \"goto out\"]\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/SlimSaber/android_kernel_oppo_msm8974/commits/a72d3931596edb54cd548d9445a7bd7de643085e"}]}