{"push_id":1428350645,"size":14,"distinct_size":14,"ref":"refs/heads/7.0-opt","head":"706c7d562c42aa0131686cd75453f158d34fdf4b","before":"93cc852a31721bbdf75afa4ec47c3cca58458b1a","commits":[{"sha":"cb9264883a8c4434946bbe0b64d7cbb86eff3eac","author":{"name":"Frederic Weisbecker","email":"fe7fea42e1cb0b94cea2acd3bec755592d0c9ba0@gmail.com"},"message":"nohz: Get timekeeping max deferment outside jiffies_lock\n\nWe don't need to fetch the timekeeping max deferment under the\njiffies_lock seqlock.\n\nIf the clocksource is updated concurrently while we stop the tick,\nstop machine is called and the tick will be reevaluated again along with\nuptodate jiffies and its related values.\n\nChange-Id: I2889f0b3da1be1b78dfc74e62986deaafd27b679\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: Ingo Molnar <mingo@kernel.org>\nCc: Peter Zijlstra <peterz@infradead.org>\nCc: Alex Shi <alex.shi@linaro.org>\nCc: Steven Rostedt <rostedt@goodmis.org>\nCc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nCc: John Stultz <john.stultz@linaro.org>\nCc: Kevin Hilman <khilman@linaro.org>\nLink: http://lkml.kernel.org/r/1387320692-28460-9-git-send-email-fweisbec@gmail.com\nSigned-off-by: Frederic Weisbecker <fweisbec@gmail.com>","distinct":true,"url":"https://api.github.com/repos/HaoZeke/kernel/commits/cb9264883a8c4434946bbe0b64d7cbb86eff3eac"},{"sha":"62d22c73642c931d8cbf75bfa8c70a3db816d236","author":{"name":"Viresh Kumar","email":"4ca49bc1dcfdfc376d29da1eb07a3e0b3cd46daa@linaro.org"},"message":"nohz: Fix spurious periodic tick behaviour in low-res dynticks mode\n\nWhen we reach the end of the tick handler, we unconditionally reschedule\nthe next tick to the next jiffy. Then on irq exit, the nohz code\noverrides that setting if needed and defers the next tick as far away in\nthe future as possible.\n\nNow in the best dynticks case, when we actually don't need any tick in\nthe future (ie: expires == KTIME_MAX), low-res and high-res behave\ndifferently. What we want in this case is to cancel the next tick\nprogrammed by the previous one. That's what we do in high-res mode. OTOH\nwe lack a low-res mode equivalent of hrtimer_cancel() so we simply don't\ndo anything in this case and the next tick remains scheduled to jiffies + 1.\n\nAs a result, in low-res mode, when the dynticks code determines that no\ntick is needed in the future, we can recursively get a spurious tick\nevery jiffy because then the next tick is always reprogrammed from the\ntick handler and is never cancelled. And this can happen indefinetly\nuntil some subsystem actually needs a precise tick in the future and only\nthen we eventually overwrite the previous tick handler setting to defer\nthe next tick.\n\nWe are fixing this by introducing the ONESHOT_STOPPED mode which will\nlet us pause a clockevent when no further interrupt is needed. Meanwhile\nwe can't expect all drivers to support this new mode.\n\nSo lets reduce much of the symptoms by skipping the nohz-blind tick\nrescheduling from the tick-handler when the CPU is in dynticks mode.\nThat tick rescheduling wrongly assumed periodicity and the low-res\ndynticks code can't cancel such decision. This breaks the recursive (and\nthus the worst) part of the problem. In the worst case now, we'll get\nonly one extra tick due to uncancelled tick scheduled before we entered\ndynticks mode.\n\nThis also removes a needless clockevent write on idle ticks. Since those\nclock write are usually considered to be slow, it's a general win.\n\nChange-Id: Id416f55d0356c0f3d178e87d9821ea50d2e1ed69\nReviewed-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>\nSigned-off-by: Viresh Kumar <viresh.kumar@linaro.org>\nCc: Thomas Gleixner <tglx@linutronix.de>\nSigned-off-by: Frederic Weisbecker <fweisbec@gmail.com>","distinct":true,"url":"https://api.github.com/repos/HaoZeke/kernel/commits/62d22c73642c931d8cbf75bfa8c70a3db816d236"},{"sha":"bafff607925e820b3dec6901833b1b3add086f0e","author":{"name":"Viresh Kumar","email":"4ca49bc1dcfdfc376d29da1eb07a3e0b3cd46daa@linaro.org"},"message":"nohz: Avoid tick's double reprogramming in highres mode\n\nIn highres mode, the tick reschedules itself unconditionally to the\nnext jiffies.\n\nHowever while this clock reprogramming is relevant when the tick is\nin periodic mode, it's not that interesting when we run in dynticks mode\nbecause irq exit is likely going to overwrite the next tick to some\nrandomly deferred future.\n\nSo lets just get rid of this tick self rescheduling in dynticks mode.\nThis way we can avoid some clockevents double write in favourable\nscenarios like when we stop the tick completely in idle while no other\nhrtimer is pending.\n\nChange-Id: I4e73da9bffbcac49789e5f279b67873f414b22a8\nSuggested-by: Frederic Weisbecker <fweisbec@gmail.com>\nSigned-off-by: Viresh Kumar <viresh.kumar@linaro.org>\nCc: Thomas Gleixner <tglx@linutronix.de>\nSigned-off-by: Frederic Weisbecker <fweisbec@gmail.com>","distinct":true,"url":"https://api.github.com/repos/HaoZeke/kernel/commits/bafff607925e820b3dec6901833b1b3add086f0e"},{"sha":"10971fd255bf13e74c9274422769cbd803f82cd4","author":{"name":"Andrea Arcangeli","email":"8f0ff3ae3e0410649e6b0c52f3097c492f04482f@redhat.com"},"message":"mm: thp: fix SMP race condition between THP page fault and MADV_DONTNEED\n\ncommit ad33bb04b2a6cee6c1f99fabb15cddbf93ff0433 upstream.\n\npmd_trans_unstable()/pmd_none_or_trans_huge_or_clear_bad() were\nintroduced to locklessy (but atomically) detect when a pmd is a regular\n(stable) pmd or when the pmd is unstable and can infinitely transition\nfrom pmd_none() and pmd_trans_huge() from under us, while only holding\nthe mmap_sem for reading (for writing not).\n\nWhile holding the mmap_sem only for reading, MADV_DONTNEED can run from\nunder us and so before we can assume the pmd to be a regular stable pmd\nwe need to compare it against pmd_none() and pmd_trans_huge() in an\natomic way, with pmd_trans_unstable().  The old pmd_trans_huge() left a\ntiny window for a race.\n\nUseful applications are unlikely to notice the difference as doing\nMADV_DONTNEED concurrently with a page fault would lead to undefined\nbehavior.\n\n[js] 3.12 backport: no pmd_devmap in 3.12 yet.\n\n[akpm@linux-foundation.org: tidy up comment grammar/layout]\nSigned-off-by: Andrea Arcangeli <aarcange@redhat.com>\nReported-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nCc: Vlastimil Babka <vbabka@suse.cz>\nSigned-off-by: Jiri Slaby <jslaby@suse.cz>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Willy Tarreau <w@1wt.eu>","distinct":true,"url":"https://api.github.com/repos/HaoZeke/kernel/commits/10971fd255bf13e74c9274422769cbd803f82cd4"},{"sha":"07062968230425ee640c8e81e74121af78bd0643","author":{"name":"Dan Carpenter","email":"60b2bf2bc0bec4ca4a4b046ca7ef9255248abff8@oracle.com"},"message":"ACPI / sysfs: fix error code in get_status()\n\ncommit f18ebc211e259d4f591e39e74b2aa2de226c9a1d upstream.\n\nThe problem with ornamental, do-nothing gotos is that they lead to\n\"forgot to set the error code\" bugs.  We should be returning -EINVAL\nhere but we don't.  It leads to an uninitalized variable in\ncounter_show():\n\n    drivers/acpi/sysfs.c:603 counter_show()\n    error: uninitialized symbol 'status'.\n\nFixes: 1c8fce27e275 (ACPI: introduce drivers/acpi/sysfs.c)\nSigned-off-by: Dan Carpenter <dan.carpenter@oracle.com>\nSigned-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>\nSigned-off-by: Willy Tarreau <w@1wt.eu>","distinct":true,"url":"https://api.github.com/repos/HaoZeke/kernel/commits/07062968230425ee640c8e81e74121af78bd0643"},{"sha":"ab593fe485cf38bba601764bf88d9dac86452fa8","author":{"name":"Yinghai Lu","email":"a937ac6bd902974249c050ded6c056a9879800aa@kernel.org"},"message":"megaraid_sas: Fix probing cards without io port\n\ncommit e7f851684efb3377e9c93aca7fae6e76212e5680 upstream.\n\nFound one megaraid_sas HBA probe fails,\n\n[  187.235190] scsi host2: Avago SAS based MegaRAID driver\n[  191.112365] megaraid_sas 0000:89:00.0: BAR 0: can't reserve [io  0x0000-0x00ff]\n[  191.120548] megaraid_sas 0000:89:00.0: IO memory region busy!\n\nand the card has resource like,\n[  125.097714] pci 0000:89:00.0: [1000:005d] type 00 class 0x010400\n[  125.104446] pci 0000:89:00.0: reg 0x10: [io  0x0000-0x00ff]\n[  125.110686] pci 0000:89:00.0: reg 0x14: [mem 0xce400000-0xce40ffff 64bit]\n[  125.118286] pci 0000:89:00.0: reg 0x1c: [mem 0xce300000-0xce3fffff 64bit]\n[  125.125891] pci 0000:89:00.0: reg 0x30: [mem 0xce200000-0xce2fffff pref]\n\nthat does not io port resource allocated from BIOS, and kernel can not\nassign one as io port shortage.\n\nThe driver is only looking for MEM, and should not fail.\n\nIt turns out megasas_init_fw() etc are using bar index as mask.  index 1\nis used as mask 1, so that pci_request_selected_regions() is trying to\nrequest BAR0 instead of BAR1.\n\nFix all related reference.\n\nFixes: b6d5d8808b4c (\"megaraid_sas: Use lowest memory bar for SR-IOV VF support\")\nSigned-off-by: Yinghai Lu <yinghai@kernel.org>\nAcked-by: Kashyap Desai <kashyap.desai@broadcom.com>\nSigned-off-by: Martin K. Petersen <martin.petersen@oracle.com>\nSigned-off-by: Willy Tarreau <w@1wt.eu>","distinct":true,"url":"https://api.github.com/repos/HaoZeke/kernel/commits/ab593fe485cf38bba601764bf88d9dac86452fa8"},{"sha":"c6897b620d553360be3da0bdf1d909b2748798d2","author":{"name":"Dave Carroll","email":"b29f82b30544672af64ad35fbbcd8c458c682cf4@microsemi.com"},"message":"aacraid: Check size values after double-fetch from user\n\ncommit fa00c437eef8dc2e7b25f8cd868cfa405fcc2bb3 upstream.\n\nIn aacraid's ioctl_send_fib() we do two fetches from userspace, one the\nget the fib header's size and one for the fib itself. Later we use the\nsize field from the second fetch to further process the fib. If for some\nreason the size from the second fetch is different than from the first\nfix, we may encounter an out-of- bounds access in aac_fib_send(). We\nalso check the sender size to insure it is not out of bounds. This was\nreported in https://bugzilla.kernel.org/show_bug.cgi?id=116751 and was\nassigned CVE-2016-6480.\n\nReported-by: Pengfei Wang <wpengfeinudt@gmail.com>\nFixes: 7c00ffa31 '[SCSI] 2.6 aacraid: Variable FIB size (updated patch)'\nCc: stable@vger.kernel.org\nSigned-off-by: Dave Carroll <david.carroll@microsemi.com>\nReviewed-by: Johannes Thumshirn <jthumshirn@suse.de>\nSigned-off-by: Martin K. Petersen <martin.petersen@oracle.com>\nSigned-off-by: Willy Tarreau <w@1wt.eu>","distinct":true,"url":"https://api.github.com/repos/HaoZeke/kernel/commits/c6897b620d553360be3da0bdf1d909b2748798d2"},{"sha":"696442ea544bcb8ed1417f5aaca0aa5996a2995e","author":{"name":"HaoZeke","email":"549a6d5abd8deb8d60761e41699b3d1ed6181666@myarchbox.com"},"message":"Version Bmp","distinct":true,"url":"https://api.github.com/repos/HaoZeke/kernel/commits/696442ea544bcb8ed1417f5aaca0aa5996a2995e"},{"sha":"0dda783a866a45854527af47f15286d9ba1248d7","author":{"name":"yank555-lu","email":"4ef8a2555692077f234eb620510f1de72b709988@gmail.com"},"message":"binfmt_elf.c: use get_random_int() to fix entropy depleting (Jeff Liu )\n\nSee http://lkml.indiana.edu/hypermail/linux/kernel/1211.1/03767.html for details.\n\nChange-Id: I755bdad333bb4792d37bec7868bc54d2f1f4bdbe\nSigned-off-by: Joe Maples <joe@frap129.org>\n\nConflicts:\n\tfs/binfmt_elf.c","distinct":true,"url":"https://api.github.com/repos/HaoZeke/kernel/commits/0dda783a866a45854527af47f15286d9ba1248d7"},{"sha":"a26ce09838cd47d1c32fa241baec1b9dc7b88ee2","author":{"name":"Marek Szyprowski","email":"4d0ab7dac85d754388f4be3549f400e336faa58a@samsung.com"},"message":"arm64: dma-mapping: always clear allocated buffers\n\n[ Upstream commit 6829e274a623187c24f7cfc0e3d35f25d087fcc5 ]\n\nBuffers allocated by dma_alloc_coherent() are always zeroed on Alpha,\nARM (32bit), MIPS, PowerPC, x86/x86_64 and probably other architectures.\nIt turned out that some drivers rely on this 'feature'. Allocated buffer\nmight be also exposed to userspace with dma_mmap() call, so clearing it\nis desired from security point of view to avoid exposing random memory\nto userspace. This patch unifies dma_alloc_coherent() behavior on ARM64\narchitecture with other implementations by unconditionally zeroing\nallocated buffer.\n\nBug: 29795245\nCRs-Fixed: 1041735\nChange-Id: I74bf024e0f603ca8c0b05430dc2ee154d579cfb2\nCc: <stable@vger.kernel.org> # v3.14+\nSigned-off-by: Marek Szyprowski <m.szyprowski@samsung.com>\nSigned-off-by: Will Deacon <will.deacon@arm.com>\nSigned-off-by: Sasha Levin <sasha.levin@oracle.com>\nGit-commit: a142e9641dcbead2c8845c949ad518acac96ed28\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[lmark@codeaurora.org: resolve merge conflicts]\nSigned-off-by: Liam Mark <lmark@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/HaoZeke/kernel/commits/a26ce09838cd47d1c32fa241baec1b9dc7b88ee2"},{"sha":"f6ab509e7778defdaeb407a561e09601b9a05f4e","author":{"name":"Biswajit Paul","email":"7ee5649c8de55a61a3bbcbc7dcde16c04b2f65da@codeaurora.org"},"message":"msm: ipa: handle information leak on ADD_FLT_RULE_INDEX ioctl\n\nIPA might have Information leak and device crash due to\nkernel heap overread in IPA driver when processing\nWAN_IOC_ADD_FLT_RULE_INDEX ioctl. The fix is to add\ncheck on max number of filter rules send to modem.\n\nBug: 29953313\nCRs-Fixed: 1044072\nChange-Id: I454e04d05cfcb7af8fc4bd2b4a1bade55c4684d0\nSigned-off-by: Skylar Chang <chiaweic@codeaurora.org>\nSigned-off-by: Biswajit Paul <biswajitpaul@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/HaoZeke/kernel/commits/f6ab509e7778defdaeb407a561e09601b9a05f4e"},{"sha":"aad20b1eb54fe66d3c4737e6c3c9fa7163f31dca","author":{"name":"Suzuki K. Poulose","email":"239e6ad0fed873c6240fa61c5ed99f611cd6b279@arm.com"},"message":"UPSTREAM: arm64: perf: reject groups spanning multiple HW PMUs\n\nThe perf core implicitly rejects events spanning multiple HW PMUs, as in\nthese cases the event->ctx will differ. However this validation is\nperformed after pmu::event_init() is called in perf_init_event(), and\nthus pmu::event_init() may be called with a group leader from a\ndifferent HW PMU.\n\nThe ARM64 PMU driver does not take this fact into account, and when\nvalidating groups assumes that it can call to_arm_pmu(event->pmu) for\nany HW event. When the event in question is from another HW PMU this is\nwrong, and results in dereferencing garbage.\n\nThis patch updates the ARM64 PMU driver to first test for and reject\nevents from other PMUs, moving the to_arm_pmu and related logic after\nthis test. Fixes a crash triggered by perf_fuzzer on Linux-4.0-rc2, with\na CCI PMU present:\n\nBad mode in Synchronous Abort handler detected, code 0x86000006 -- IABT (current EL)\nCPU: 0 PID: 1371 Comm: perf_fuzzer Not tainted 3.19.0+ #249\nHardware name: V2F-1XV7 Cortex-A53x2 SMM (DT)\ntask: ffffffc07c73a280 ti: ffffffc07b0a0000 task.ti: ffffffc07b0a0000\nPC is at 0x0\nLR is at validate_event+0x90/0xa8\npc : [<0000000000000000>] lr : [<ffffffc000090228>] pstate: 00000145\nsp : ffffffc07b0a3ba0\n\n[<          (null)>]           (null)\n[<ffffffc0000907d8>] armpmu_event_init+0x174/0x3cc\n[<ffffffc00015d870>] perf_try_init_event+0x34/0x70\n[<ffffffc000164094>] perf_init_event+0xe0/0x10c\n[<ffffffc000164348>] perf_event_alloc+0x288/0x358\n[<ffffffc000164c5c>] SyS_perf_event_open+0x464/0x98c\nCode: bad PC value\n\nAlso cleans up the code to use the arm_pmu only when we know\nthat we are dealing with an arm pmu event.\n\nCc: Will Deacon <will.deacon@arm.com>\nAcked-by: Mark Rutland <mark.rutland@arm.com>\nAcked-by: Peter Ziljstra (Intel) <peterz@infradead.org>\nSigned-off-by: Suzuki K. Poulose <suzuki.poulose@arm.com>\nSigned-off-by: Will Deacon <will.deacon@arm.com>\n\n(cherry picked from commit 8fff105e13041e49b82f92eef034f363a6b1c071)\n\nBug: 29508816\nChange-Id: I6fa1860d561fbcdf88101eea319815eb4b8e3e29","distinct":true,"url":"https://api.github.com/repos/HaoZeke/kernel/commits/aad20b1eb54fe66d3c4737e6c3c9fa7163f31dca"},{"sha":"10cc3e2ccf615c5a7c412a72a95670ac7d25e886","author":{"name":"HaoZeke","email":"549a6d5abd8deb8d60761e41699b3d1ed6181666@myarchbox.com"},"message":"Revert \"binfmt_elf.c: use get_random_int() to fix entropy depleting (Jeff Liu )\"\n\nThis reverts commit 0dda783a866a45854527af47f15286d9ba1248d7.","distinct":true,"url":"https://api.github.com/repos/HaoZeke/kernel/commits/10cc3e2ccf615c5a7c412a72a95670ac7d25e886"},{"sha":"706c7d562c42aa0131686cd75453f158d34fdf4b","author":{"name":"HaoZeke","email":"549a6d5abd8deb8d60761e41699b3d1ed6181666@myarchbox.com"},"message":"Version Bump","distinct":true,"url":"https://api.github.com/repos/HaoZeke/kernel/commits/706c7d562c42aa0131686cd75453f158d34fdf4b"}]}
{"actor":{"display_login":"HaoZeke"}}