{"push_id":2891058033,"size":57,"distinct_size":57,"ref":"refs/heads/linux-4.4.y","head":"d9560919689d588beccf719452086b5cdf6d6c22","before":"c40a7b3592b3b7519eadc130c5583db2aaf70f68","commits":[{"sha":"ad53f98feee72e1805a02b78022919ef5a998b58","author":{"name":"Shubhrajyoti Datta","email":"4964604d87ad29709539f6f8f544ea6e18c5490e@xilinx.com"},"message":"i2c: xiic: Make the start and the byte count write atomic\n\ncommit ae7304c3ea28a3ba47a7a8312c76c654ef24967e upstream.\n\nDisable interrupts while configuring the transfer and enable them back.\n\nWe have below as the programming sequence\n1. start and slave address\n2. byte count and stop\n\nIn some customer platform there was a lot of interrupts between 1 and 2\nand after slave address (around 7 clock cyles) if 2 is not executed\nthen the transaction is nacked.\n\nTo fix this case make the 2 writes atomic.\n\nSigned-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>\nSigned-off-by: Michal Simek <michal.simek@xilinx.com>\n[wsa: added a newline for better readability]\nSigned-off-by: Wolfram Sang <wsa@the-dreams.de>\nCc: stable@kernel.org\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/ad53f98feee72e1805a02b78022919ef5a998b58"},{"sha":"d811b40d010822eda1fd70d734caf8db1b21ec5f","author":{"name":"Felipe Balbi","email":"d79216928cfdb58376b0b00a1a44a75e52dbc84e@linux.intel.com"},"message":"i2c: i801: fix DNV's SMBCTRL register offset\n\ncommit 851a15114895c5bce163a6f2d57e0aa4658a1be4 upstream.\n\nDNV's iTCO is slightly different with SMBCTRL sitting at a different\noffset when compared to all other devices. Let's fix so that we can\nproperly use iTCO watchdog.\n\nFixes: 84d7f2ebd70d (\"i2c: i801: Add support for Intel DNV\")\nCc: <stable@vger.kernel.org> # v4.4+\nSigned-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>\nReviewed-by: Jean Delvare <jdelvare@suse.de>\nSigned-off-by: Wolfram Sang <wsa@the-dreams.de>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/d811b40d010822eda1fd70d734caf8db1b21ec5f"},{"sha":"c9125a2116c75383ca0b37d9eecefa3c6235bb4e","author":{"name":"Takashi Iwai","email":"4596b3305151c7ee743192a95d394341e3d3b644@suse.de"},"message":"ALSA: hda - Fix cancel_work_sync() stall from jackpoll work\n\ncommit 16037643969e095509cd8446a3f8e406a6dc3a2c upstream.\n\nOn AMD/ATI controllers, the HD-audio controller driver allows a bus\nreset upon the error recovery, and its procedure includes the\ncancellation of pending jack polling work as found in\nsnd_hda_bus_codec_reset().  This works usually fine, but it becomes a\nproblem when the reset happens from the jack poll work itself; then\ncalling cancel_work_sync() from the work being processed tries to wait\nthe finish endlessly.\n\nAs a workaround, this patch adds the check of current_work() and\napplies the cancel_work_sync() only when it's not from the\njackpoll_work.\n\nThis doesn't fix the root cause of the reported error below, but at\nleast, it eases the unexpected stall of the whole system.\n\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200937\nCc: <stable@vger.kernel.org>\nCc: Lukas Wunner <lukas@wunner.de>\nSigned-off-by: Takashi Iwai <tiwai@suse.de>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/c9125a2116c75383ca0b37d9eecefa3c6235bb4e"},{"sha":"39223f841425da99c2b0174d8bc42ee1bb29a5ad","author":{"name":"Ritesh Harjani","email":"9dca834b0a38e96a2a5a05425ca5e3d7c89ca765@codeaurora.org"},"message":"cfq: Give a chance for arming slice idle timer in case of group_idle\n\ncommit b3193bc0dca9bb69c8ba1ec1a318105c76eb4172 upstream.\n\nIn below scenario blkio cgroup does not work as per their assigned\nweights :-\n1. When the underlying device is nonrotational with a single HW queue\nwith depth of >= CFQ_HW_QUEUE_MIN\n2. When the use case is forming two blkio cgroups cg1(weight 1000) &\ncg2(wight 100) and two processes(file1 and file2) doing sync IO in\ntheir respective blkio cgroups.\n\nFor above usecase result of fio (without this patch):-\nfile1: (groupid=0, jobs=1): err= 0: pid=685: Thu Jan  1 19:41:49 1970\n  write: IOPS=1315, BW=41.1MiB/s (43.1MB/s)(1024MiB/24906msec)\n<...>\nfile2: (groupid=0, jobs=1): err= 0: pid=686: Thu Jan  1 19:41:49 1970\n  write: IOPS=1295, BW=40.5MiB/s (42.5MB/s)(1024MiB/25293msec)\n<...>\n// both the process BW is equal even though they belong to diff.\ncgroups with weight of 1000(cg1) and 100(cg2)\n\nIn above case (for non rotational NCQ devices),\nas soon as the request from cg1 is completed and even\nthough it is provided with higher set_slice=10, because of CFQ\nalgorithm when the driver tries to fetch the request, CFQ expires\nthis group without providing any idle time nor weight priority\nand schedules another cfq group (in this case cg2).\nAnd thus both cfq groups(cg1 & cg2) keep alternating to get the\ndisk time and hence loses the cgroup weight based scheduling.\n\nBelow patch gives a chance to cfq algorithm (cfq_arm_slice_timer)\nto arm the slice timer in case group_idle is enabled.\nIn case if group_idle is also not required (including for nonrotational\nNCQ drives), we need to explicitly set group_idle = 0 from sysfs for\nsuch cases.\n\nWith this patch result of fio(for above usecase) :-\nfile1: (groupid=0, jobs=1): err= 0: pid=690: Thu Jan  1 00:06:08 1970\n  write: IOPS=1706, BW=53.3MiB/s (55.9MB/s)(1024MiB/19197msec)\n<..>\nfile2: (groupid=0, jobs=1): err= 0: pid=691: Thu Jan  1 00:06:08 1970\n  write: IOPS=1043, BW=32.6MiB/s (34.2MB/s)(1024MiB/31401msec)\n<..>\n// In this processes BW is as per their respective cgroups weight.\n\nSigned-off-by: Ritesh Harjani <riteshh@codeaurora.org>\nSigned-off-by: Jens Axboe <axboe@kernel.dk>\nSigned-off-by: Amit Pundir <amit.pundir@linaro.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/39223f841425da99c2b0174d8bc42ee1bb29a5ad"},{"sha":"798ef283a8dd73dea2ae8f817abe75255fde772c","author":{"name":"Vegard Nossum","email":"c9abf7248a519119ccb31f4fd3c3a4e0b6ebd20b@oracle.com"},"message":"kthread: Fix use-after-free if kthread fork fails\n\ncommit 4d6501dce079c1eb6bf0b1d8f528a5e81770109e upstream.\n\nIf a kthread forks (e.g. usermodehelper since commit 1da5c46fa965) but\nfails in copy_process() between calling dup_task_struct() and setting\np->set_child_tid, then the value of p->set_child_tid will be inherited\nfrom the parent and get prematurely freed by free_kthread_struct().\n\n    kthread()\n     - worker_thread()\n        - process_one_work()\n        |  - call_usermodehelper_exec_work()\n        |     - kernel_thread()\n        |        - _do_fork()\n        |           - copy_process()\n        |              - dup_task_struct()\n        |                 - arch_dup_task_struct()\n        |                    - tsk->set_child_tid = current->set_child_tid // implied\n        |              - ...\n        |              - goto bad_fork_*\n        |              - ...\n        |              - free_task(tsk)\n        |                 - free_kthread_struct(tsk)\n        |                    - kfree(tsk->set_child_tid)\n        - ...\n        - schedule()\n           - __schedule()\n              - wq_worker_sleeping()\n                 - kthread_data(task)->flags // UAF\n\nThe problem started showing up with commit 1da5c46fa965 since it reused\n->set_child_tid for the kthread worker data.\n\nA better long-term solution might be to get rid of the ->set_child_tid\nabuse. The comment in set_kthread_struct() also looks slightly wrong.\n\nDebugged-by: Jamie Iles <jamie.iles@oracle.com>\nFixes: 1da5c46fa965 (\"kthread: Make struct kthread kmalloc'ed\")\nSigned-off-by: Vegard Nossum <vegard.nossum@oracle.com>\nAcked-by: Oleg Nesterov <oleg@redhat.com>\nCc: Peter Zijlstra <peterz@infradead.org>\nCc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nCc: Andy Lutomirski <luto@kernel.org>\nCc: Frederic Weisbecker <fweisbec@gmail.com>\nCc: Jamie Iles <jamie.iles@oracle.com>\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/20170509073959.17858-1-vegard.nossum@oracle.com\nSigned-off-by: Thomas Gleixner <tglx@linutronix.de>\nSigned-off-by: Amit Pundir <amit.pundir@linaro.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/798ef283a8dd73dea2ae8f817abe75255fde772c"},{"sha":"8ecd71cd152bd3e08dc650c67ac7c600386a6a41","author":{"name":"Vegard Nossum","email":"c9abf7248a519119ccb31f4fd3c3a4e0b6ebd20b@oracle.com"},"message":"kthread: fix boot hang (regression) on MIPS/OpenRISC\n\ncommit b0f5a8f32e8bbdaae1abb8abe2d3cbafaba57e08 upstream.\n\nThis fixes a regression in commit 4d6501dce079 where I didn't notice\nthat MIPS and OpenRISC were reinitialising p->{set,clear}_child_tid to\nNULL after our initialisation in copy_process().\n\nWe can simply get rid of the arch-specific initialisation here since it\nis now always done in copy_process() before hitting copy_thread{,_tls}().\n\nReview notes:\n\n - As far as I can tell, copy_process() is the only user of\n   copy_thread_tls(), which is the only caller of copy_thread() for\n   architectures that don't implement copy_thread_tls().\n\n - After this patch, there is no arch-specific code touching\n   p->set_child_tid or p->clear_child_tid whatsoever.\n\n - It may look like MIPS/OpenRISC wanted to always have these fields be\n   NULL, but that's not true, as copy_process() would unconditionally\n   set them again _after_ calling copy_thread_tls() before commit\n   4d6501dce079.\n\nFixes: 4d6501dce079c1eb6bf0b1d8f528a5e81770109e (\"kthread: Fix use-after-free if kthread fork fails\")\nReported-by: Guenter Roeck <linux@roeck-us.net>\nTested-by: Guenter Roeck <linux@roeck-us.net> # MIPS only\nAcked-by: Stafford Horne <shorne@gmail.com>\nAcked-by: Oleg Nesterov <oleg@redhat.com>\nCc: Ralf Baechle <ralf@linux-mips.org>\nCc: linux-mips@linux-mips.org\nCc: Jonas Bonn <jonas@southpole.se>\nCc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>\nCc: openrisc@lists.librecores.org\nCc: Jamie Iles <jamie.iles@oracle.com>\nCc: Thomas Gleixner <tglx@linutronix.de>\nSigned-off-by: Vegard Nossum <vegard.nossum@oracle.com>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Amit Pundir <amit.pundir@linaro.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/8ecd71cd152bd3e08dc650c67ac7c600386a6a41"},{"sha":"227e5d4b86e64e9807fe5ae507b0755229c2876a","author":{"name":"Jia-Ju Bai","email":"4f6d392e422d1b8f381e5a7c1b9b3c46d9851e8b@163.com"},"message":"staging: rt5208: Fix a sleep-in-atomic bug in xd_copy_page\n\ncommit 498c4b4e9c23855d17ecc2a108d949bb68020481 upstream.\n\nThe driver may sleep under a spin lock, and the function call path is:\nrtsx_exclusive_enter_ss (acquire the lock by spin_lock)\n  rtsx_enter_ss\n    rtsx_power_off_card\n      xd_cleanup_work\n        xd_delay_write\n          xd_finish_write\n            xd_copy_page\n              wait_timeout\n                schedule_timeout --> may sleep\n\nTo fix it, \"wait_timeout\" is replaced with mdelay in xd_copy_page.\n\nSigned-off-by: Jia-Ju Bai <baijiaju1990@163.com>\nSigned-off-by: Amit Pundir <amit.pundir@linaro.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/227e5d4b86e64e9807fe5ae507b0755229c2876a"},{"sha":"035c3ea1608e2f7a7cc43a46179f10add479c9df","author":{"name":"Daniel Micay","email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com"},"message":"staging/rts5208: Fix read overflow in memcpy\n\ncommit 88a5b39b69ab1828fd4130e2baadd184109cea69 upstream.\n\nNoticed by FORTIFY_SOURCE, this swaps memcpy() for strncpy() to zero-value\nfill the end of the buffer instead of over-reading a string from .rodata.\n\nSigned-off-by: Daniel Micay <danielmicay@gmail.com>\n[kees: wrote commit log]\nSigned-off-by: Kees Cook <keescook@chromium.org>\nCc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nCc: Wayne Porter <wporter82@gmail.com>\nSigned-off-by: Amit Pundir <amit.pundir@linaro.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/035c3ea1608e2f7a7cc43a46179f10add479c9df"},{"sha":"29a2875cf481b8db367a0a8aed54d4b30640558e","author":{"name":"Tejun Heo","email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org"},"message":"block,blkcg: use __GFP_NOWARN for best-effort allocations in blkcg\n\ncommit e00f4f4d0ff7e13b9115428a245b49108d625f09 upstream.\n\nblkcg allocates some per-cgroup data structures with GFP_NOWAIT and\nwhen that fails falls back to operations which aren't specific to the\ncgroup.  Occassional failures are expected under pressure and falling\nback to non-cgroup operation is the right thing to do.\n\nUnfortunately, I forgot to add __GFP_NOWARN to these allocations and\nthese expected failures end up creating a lot of noise.  Add\n__GFP_NOWARN.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nReported-by: Marc MERLIN <marc@merlins.org>\nReported-by: Vlastimil Babka <vbabka@suse.cz>\nSigned-off-by: Jens Axboe <axboe@fb.com>\nSigned-off-by: Amit Pundir <amit.pundir@linaro.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/29a2875cf481b8db367a0a8aed54d4b30640558e"},{"sha":"70cc08c44fb55b587c7485a15549e9f9a12c9405","author":{"name":"Prateek Sood","email":"28154d6a07d9106b5eb2a7f87209b6a593200917@codeaurora.org"},"message":"locking/rwsem-xadd: Fix missed wakeup due to reordering of load\n\ncommit 9c29c31830a4eca724e137a9339137204bbb31be upstream.\n\nIf a spinner is present, there is a chance that the load of\nrwsem_has_spinner() in rwsem_wake() can be reordered with\nrespect to decrement of rwsem count in __up_write() leading\nto wakeup being missed:\n\n spinning writer                  up_write caller\n ---------------                  -----------------------\n [S] osq_unlock()                 [L] osq\n  spin_lock(wait_lock)\n  sem->count=0xFFFFFFFF00000001\n            +0xFFFFFFFF00000000\n  count=sem->count\n  MB\n                                   sem->count=0xFFFFFFFE00000001\n                                             -0xFFFFFFFF00000001\n                                   spin_trylock(wait_lock)\n                                   return\n rwsem_try_write_lock(count)\n spin_unlock(wait_lock)\n schedule()\n\nReordering of atomic_long_sub_return_release() in __up_write()\nand rwsem_has_spinner() in rwsem_wake() can cause missing of\nwakeup in up_write() context. In spinning writer, sem->count\nand local variable count is 0XFFFFFFFE00000001. It would result\nin rwsem_try_write_lock() failing to acquire rwsem and spinning\nwriter going to sleep in rwsem_down_write_failed().\n\nThe smp_rmb() will make sure that the spinner state is\nconsulted after sem->count is updated in up_write context.\n\nSigned-off-by: Prateek Sood <prsood@codeaurora.org>\nSigned-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>\nCc: Linus Torvalds <torvalds@linux-foundation.org>\nCc: Peter Zijlstra <peterz@infradead.org>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: dave@stgolabs.net\nCc: longman@redhat.com\nCc: parri.andrea@gmail.com\nCc: sramana@codeaurora.org\nLink: http://lkml.kernel.org/r/1504794658-15397-1-git-send-email-prsood@codeaurora.org\nSigned-off-by: Ingo Molnar <mingo@kernel.org>\nSigned-off-by: Amit Pundir <amit.pundir@linaro.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/70cc08c44fb55b587c7485a15549e9f9a12c9405"},{"sha":"97557d161572172d1d6ea317f254e501a4585c41","author":{"name":"Michal Hocko","email":"829500b200af6c2a0eca4dfd5c388e6b8fbe8dc6@kernel.org"},"message":"selinux: use GFP_NOWAIT in the AVC kmem_caches\n\ncommit 476accbe2f6ef69caeebe99f52a286e12ac35aee upstream.\n\nThere is a strange __GFP_NOMEMALLOC usage pattern in SELinux,\nspecifically GFP_ATOMIC | __GFP_NOMEMALLOC which doesn't make much\nsense.  GFP_ATOMIC on its own allows to access memory reserves while\n__GFP_NOMEMALLOC dictates we cannot use memory reserves.  Replace this\nwith the much more sane GFP_NOWAIT in the AVC code as we can tolerate\nmemory allocation failures in that code.\n\nSigned-off-by: Michal Hocko <mhocko@kernel.org>\nAcked-by: Mel Gorman <mgorman@suse.de>\nSigned-off-by: Paul Moore <paul@paul-moore.com>\nSigned-off-by: Amit Pundir <amit.pundir@linaro.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/97557d161572172d1d6ea317f254e501a4585c41"},{"sha":"d914882c936d9c3a1fa4c10d5950c5f0a7d32d79","author":{"name":"Prateek Sood","email":"28154d6a07d9106b5eb2a7f87209b6a593200917@codeaurora.org"},"message":"locking/osq_lock: Fix osq_lock queue corruption\n\ncommit 50972fe78f24f1cd0b9d7bbf1f87d2be9e4f412e upstream.\n\nFix ordering of link creation between node->prev and prev->next in\nosq_lock(). A case in which the status of optimistic spin queue is\nCPU6->CPU2 in which CPU6 has acquired the lock.\n\n        tail\n          v\n  ,-. <- ,-.\n  |6|    |2|\n  `-' -> `-'\n\nAt this point if CPU0 comes in to acquire osq_lock, it will update the\ntail count.\n\n  CPU2\t\t\tCPU0\n  ----------------------------------\n\n\t\t\t\t       tail\n\t\t\t\t         v\n\t\t\t  ,-. <- ,-.    ,-.\n\t\t\t  |6|    |2|    |0|\n\t\t\t  `-' -> `-'    `-'\n\nAfter tail count update if CPU2 starts to unqueue itself from\noptimistic spin queue, it will find an updated tail count with CPU0 and\nupdate CPU2 node->next to NULL in osq_wait_next().\n\n  unqueue-A\n\n\t       tail\n\t         v\n  ,-. <- ,-.    ,-.\n  |6|    |2|    |0|\n  `-'    `-'    `-'\n\n  unqueue-B\n\n  ->tail != curr && !node->next\n\nIf reordering of following stores happen then prev->next where prev\nbeing CPU2 would be updated to point to CPU0 node:\n\n\t\t\t\t       tail\n\t\t\t\t         v\n\t\t\t  ,-. <- ,-.    ,-.\n\t\t\t  |6|    |2|    |0|\n\t\t\t  `-'    `-' -> `-'\n\n  osq_wait_next()\n    node->next <- 0\n    xchg(node->next, NULL)\n\n\t       tail\n\t         v\n  ,-. <- ,-.    ,-.\n  |6|    |2|    |0|\n  `-'    `-'    `-'\n\n  unqueue-C\n\nAt this point if next instruction\n\tWRITE_ONCE(next->prev, prev);\nin CPU2 path is committed before the update of CPU0 node->prev = prev then\nCPU0 node->prev will point to CPU6 node.\n\n\t       tail\n    v----------. v\n  ,-. <- ,-.    ,-.\n  |6|    |2|    |0|\n  `-'    `-'    `-'\n     `----------^\n\nAt this point if CPU0 path's node->prev = prev is committed resulting\nin change of CPU0 prev back to CPU2 node. CPU2 node->next is NULL\ncurrently,\n\n\t\t\t\t       tail\n\t\t\t                 v\n\t\t\t  ,-. <- ,-. <- ,-.\n\t\t\t  |6|    |2|    |0|\n\t\t\t  `-'    `-'    `-'\n\t\t\t     `----------^\n\nso if CPU0 gets into unqueue path of osq_lock it will keep spinning\nin infinite loop as condition prev->next == node will never be true.\n\nSigned-off-by: Prateek Sood <prsood@codeaurora.org>\n[ Added pictures, rewrote comments. ]\nSigned-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>\nCc: Linus Torvalds <torvalds@linux-foundation.org>\nCc: Peter Zijlstra <peterz@infradead.org>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: sramana@codeaurora.org\nLink: http://lkml.kernel.org/r/1500040076-27626-1-git-send-email-prsood@codeaurora.org\nSigned-off-by: Ingo Molnar <mingo@kernel.org>\nSigned-off-by: Amit Pundir <amit.pundir@linaro.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/d914882c936d9c3a1fa4c10d5950c5f0a7d32d79"},{"sha":"e3efb7699a873bd47950e4fdcfd1052afd1ab578","author":{"name":"Alexey Brodkin","email":"1fa739873496c8c0c1b521f2061ee5fa4a0306e8@synopsys.com"},"message":"ARC: [plat-axs*]: Enable SWAP\n\ncommit c83532fb0fe053d2e43e9387354cb1b52ba26427 upstream.\n\nSWAP support on ARC was fixed earlier by\ncommit 6e3761145a9b (\"ARC: Fix CONFIG_SWAP\")\nso now we may safely enable it on platforms that\nhave external media like USB and SD-card.\n\nNote: it was already allowed for HSDK\n\nSigned-off-by: Alexey Brodkin <abrodkin@synopsys.com>\nCc: stable@vger.kernel.org # 6e3761145a9b: ARC: Fix CONFIG_SWAP\nSigned-off-by: Vineet Gupta <vgupta@synopsys.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/e3efb7699a873bd47950e4fdcfd1052afd1ab578"},{"sha":"fb9dabb6fca85a6af11ce8669c812dfed0660ca0","author":{"name":"Dan Carpenter","email":"ff341aa343d564f9e53e9dcb6996be8c04859a66@oracle.com"},"message":"misc: mic: SCIF Fix scif_get_new_port() error handling\n\n[ Upstream commit a39284ae9d2ad09975c8ae33f1bd0f05fbfbf6ee ]\n\nThere are only 2 callers of scif_get_new_port() and both appear to get\nthe error handling wrong.  Both treat zero returns as error, but it\nactually returns negative error codes and >= 0 on success.\n\nFixes: e9089f43c9a7 (\"misc: mic: SCIF open close bind and listen APIs\")\nSigned-off-by: Dan Carpenter <dan.carpenter@oracle.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Sasha Levin <alexander.levin@microsoft.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/fb9dabb6fca85a6af11ce8669c812dfed0660ca0"},{"sha":"61537b3398df88c0ca70ea6bccca0e00de5ab172","author":{"name":"Florian Fainelli","email":"59190c1867e3222b932a0de3c668eb2d980d69a2@gmail.com"},"message":"ethtool: Remove trailing semicolon for static inline\n\n[ Upstream commit d89d41556141a527030a15233135ba622ba3350d ]\n\nAndroid's header sanitization tool chokes on static inline functions having a\ntrailing semicolon, leading to an incorrectly parsed header file. While the\ntool should obviously be fixed, also fix the header files for the two affected\nfunctions: ethtool_get_flow_spec_ring() and ethtool_get_flow_spec_ring_vf().\n\nFixes: 8cf6f497de40 (\"ethtool: Add helper routines to pass vf to rx_flow_spec\")\nReporetd-by: Blair Prescott <blair.prescott@broadcom.com>\nSigned-off-by: Florian Fainelli <f.fainelli@gmail.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Sasha Levin <alexander.levin@microsoft.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/61537b3398df88c0ca70ea6bccca0e00de5ab172"},{"sha":"5824d86b50b8c5f9ecd725f2d74381a23ab1c63b","author":{"name":"Johan Hedberg","email":"628991c7b0a19c384f9b99c21ec330ce952bb838@intel.com"},"message":"Bluetooth: h5: Fix missing dependency on BT_HCIUART_SERDEV\n\n[ Upstream commit 6c3711ec64fd23a9abc8aaf59a9429569a6282df ]\n\nThis driver was recently updated to use serdev, so add the appropriate\ndependency. Without this one can get compiler warnings like this if\nCONFIG_SERIAL_DEV_BUS is not enabled:\n\n  CC [M]  drivers/bluetooth/hci_h5.o\ndrivers/bluetooth/hci_h5.c:934:36: warning: ‘h5_serdev_driver’ defined but not used [-Wunused-variable]\n static struct serdev_device_driver h5_serdev_driver = {\n                                    ^~~~~~~~~~~~~~~~\n\nSigned-off-by: Johan Hedberg <johan.hedberg@intel.com>\nSigned-off-by: Marcel Holtmann <marcel@holtmann.org>\nSigned-off-by: Sasha Levin <alexander.levin@microsoft.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/5824d86b50b8c5f9ecd725f2d74381a23ab1c63b"},{"sha":"bf748acafd58fe15bc74e0646bc95b4c3fdcb4c3","author":{"name":"Dmitry Osipenko","email":"18f1b15824e036419a8ac5255848b0e73a0d30b0@gmail.com"},"message":"gpio: tegra: Move driver registration to subsys_init level\n\n[ Upstream commit 40b25bce0adbe641a744d1291bc0e51fb7f3c3d8 ]\n\nThere is a bug in regards to deferred probing within the drivers core\nthat causes GPIO-driver to suspend after its users. The bug appears if\nGPIO-driver probe is getting deferred, which happens after introducing\ndependency on PINCTRL-driver for the GPIO-driver by defining \"gpio-ranges\"\nproperty in device-tree. The bug in the drivers core is old (more than 4\nyears now) and is well known, unfortunately there is no easy fix for it.\nThe good news is that we can workaround the deferred probe issue by\nchanging GPIO / PINCTRL drivers registration order and hence by moving\nPINCTRL driver registration to the arch_init level and GPIO to the\nsubsys_init.\n\nSigned-off-by: Dmitry Osipenko <digetx@gmail.com>\nAcked-by: Stefan Agner <stefan@agner.ch>\nSigned-off-by: Linus Walleij <linus.walleij@linaro.org>\nSigned-off-by: Sasha Levin <alexander.levin@microsoft.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/bf748acafd58fe15bc74e0646bc95b4c3fdcb4c3"},{"sha":"44dc4734a7810e7ee24fc8942a93ca5b8521a24b","author":{"name":"Mike Christie","email":"39daeb1549a929782e38aa87c4e3da7f3844b09a@redhat.com"},"message":"scsi: target: fix __transport_register_session locking\n\n[ Upstream commit 6a64f6e1591322beb8ce16e952a53582caf2a15c ]\n\nWhen __transport_register_session is called from transport_register_session\nirqs will already have been disabled, so we do not want the unlock irq call\nto enable them until the higher level has done the final\nspin_unlock_irqrestore/ spin_unlock_irq.\n\nThis has __transport_register_session use the save/restore call.\n\nSigned-off-by: Mike Christie <mchristi@redhat.com>\nReviewed-by: Bart Van Assche <bart.vanassche@wdc.com>\nReviewed-by: Christoph Hellwig <hch@lst.de>\nSigned-off-by: Martin K. Petersen <martin.petersen@oracle.com>\nSigned-off-by: Sasha Levin <alexander.levin@microsoft.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/44dc4734a7810e7ee24fc8942a93ca5b8521a24b"},{"sha":"ccae23ff45ccd3e9c610c46ee8449c2617118daa","author":{"name":"BingJing Chang","email":"883678186c39439cee5d86f41492a626f265b23e@synology.com"},"message":"md/raid5: fix data corruption of replacements after originals dropped\n\n[ Upstream commit d63e2fc804c46e50eee825c5d3a7228e07048b47 ]\n\nDuring raid5 replacement, the stripes can be marked with R5_NeedReplace\nflag. Data can be read from being-replaced devices and written to\nreplacing spares without reading all other devices. (It's 'replace'\nmode. s.replacing = 1) If a being-replaced device is dropped, the\nreplacement progress will be interrupted and resumed with pure recovery\nmode. However, existing stripes before being interrupted cannot read\nfrom the dropped device anymore. It prints lots of WARN_ON messages.\nAnd it results in data corruption because existing stripes write\nproblematic data into its replacement device and update the progress.\n\n\\# Erase disks (1MB + 2GB)\ndd if=/dev/zero of=/dev/sda bs=1MB count=2049\ndd if=/dev/zero of=/dev/sdb bs=1MB count=2049\ndd if=/dev/zero of=/dev/sdc bs=1MB count=2049\ndd if=/dev/zero of=/dev/sdd bs=1MB count=2049\nmdadm -C /dev/md0 -amd -R -l5 -n3 -x0 /dev/sd[abc] -z 2097152\n\\# Ensure array stores non-zero data\ndd if=/root/data_4GB.iso of=/dev/md0 bs=1MB\n\\# Start replacement\nmdadm /dev/md0 -a /dev/sdd\nmdadm /dev/md0 --replace /dev/sda\n\nThen, Hot-plug out /dev/sda during recovery, and wait for recovery done.\necho check > /sys/block/md0/md/sync_action\ncat /sys/block/md0/md/mismatch_cnt # it will be greater than 0.\n\nSoon after you hot-plug out /dev/sda, you will see many WARN_ON\nmessages. The replacement recovery will be interrupted shortly. After\nthe recovery finishes, it will result in data corruption.\n\nActually, it's just an unhandled case of replacement. In commit\n<f94c0b6658c7> (md/raid5: fix interaction of 'replace' and 'recovery'.),\nif a NeedReplace device is not UPTODATE then that is an error, the\ncommit just simply print WARN_ON but also mark these corrupted stripes\nwith R5_WantReplace. (it means it's ready for writes.)\n\nTo fix this case, we can leverage 'sync and replace' mode mentioned in\ncommit <9a3e1101b827> (md/raid5: detect and handle replacements during\nrecovery.). We can add logics to detect and use 'sync and replace' mode\nfor these stripes.\n\nReported-by: Alex Chen <alexchen@synology.com>\nReviewed-by: Alex Wu <alexwu@synology.com>\nReviewed-by: Chung-Chiang Cheng <cccheng@synology.com>\nSigned-off-by: BingJing Chang <bingjingc@synology.com>\nSigned-off-by: Shaohua Li <shli@fb.com>\nSigned-off-by: Sasha Levin <alexander.levin@microsoft.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/ccae23ff45ccd3e9c610c46ee8449c2617118daa"},{"sha":"7c075f0a0b37e8d868da9cc7dde23f27e341e193","author":{"name":"Anton Vasilyev","email":"617f738967a7962200adea9d225cc2622fa4634c@ispras.ru"},"message":"misc: ti-st: Fix memory leak in the error path of probe()\n\n[ Upstream commit 81ae962d7f180c0092859440c82996cccb254976 ]\n\nFree resources instead of direct return of the error code if kim_probe\nfails.\n\nFound by Linux Driver Verification project (linuxtesting.org).\n\nSigned-off-by: Anton Vasilyev <vasilyev@ispras.ru>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Sasha Levin <alexander.levin@microsoft.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/7c075f0a0b37e8d868da9cc7dde23f27e341e193"}]}
{"actor":{"display_login":"Whissi"}}