{"push_id":2524963147,"size":51,"distinct_size":51,"ref":"refs/heads/linux-4.4.y","head":"34a220d573fcb5d66ad466611eb80f65b6af98d4","before":"8e2def054b2b088d18d7009aecf470aa62ab360e","commits":[{"sha":"5f3a3e86bede7d16c5e4250870402707be40a3fd","author":{"name":"Steve French","email":"51565b4e5841e493fd669866e11ea3c7c0d781cc@gmail.com"},"message":"cifs: do not allow creating sockets except with SMB1 posix exensions\n\ncommit 1d0cffa674cfa7d185a302c8c6850fc50b893bed upstream.\n\nRHBZ: 1453123\n\nSince at least the 3.10 kernel and likely a lot earlier we have\nnot been able to create unix domain sockets in a cifs share\nwhen mounted using the SFU mount option (except when mounted\nwith the cifs unix extensions to Samba e.g.)\nTrying to create a socket, for example using the af_unix command from\nxfstests will cause :\nBUG: unable to handle kernel NULL pointer dereference at 00000000\n00000040\n\nSince no one uses or depends on being able to create unix domains sockets\non a cifs share the easiest fix to stop this vulnerability is to simply\nnot allow creation of any other special files than char or block devices\nwhen sfu is used.\n\nAdded update to Ronnie's patch to handle a tcon link leak, and\nto address a buf leak noticed by Gustavo and Colin.\n\nAcked-by: Gustavo A. R. Silva <gustavo@embeddedor.com>\nCC:  Colin Ian King <colin.king@canonical.com>\nReviewed-by: Pavel Shilovsky <pshilov@microsoft.com>\nReported-by: Eryu Guan <eguan@redhat.com>\nSigned-off-by: Ronnie Sahlberg <lsahlber@redhat.com>\nSigned-off-by: Steve French <smfrench@gmail.com>\nCc: stable@vger.kernel.org\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/5f3a3e86bede7d16c5e4250870402707be40a3fd"},{"sha":"624786b91e56fa9346935af25f97cd193a738a3c","author":{"name":"Xiaoming Gao","email":"ae0ab6b5008e6c957a1205ca188f957d16aaab95@gmail.com"},"message":"x86/tsc: Prevent 32bit truncation in calc_hpet_ref()\n\ncommit d3878e164dcd3925a237a20e879432400e369172 upstream.\n\nThe TSC calibration code uses HPET as reference. The conversion normalizes\nthe delta of two HPET timestamps:\n\n    hpetref = ((tshpet1 - tshpet2) * HPET_PERIOD) / 1e6\n\nand then divides the normalized delta of the corresponding TSC timestamps\nby the result to calulate the TSC frequency.\n\n    tscfreq = ((tstsc1 - tstsc2 ) * 1e6) / hpetref\n\nThis uses do_div() which takes an u32 as the divisor, which worked so far\nbecause the HPET frequency was low enough that 'hpetref' never exceeded\n32bit.\n\nOn Skylake machines the HPET frequency increased so 'hpetref' can exceed\n32bit. do_div() truncates the divisor, which causes the calibration to\nfail.\n\nUse div64_u64() to avoid the problem.\n\n[ tglx: Fixes whitespace mangled patch and rewrote changelog ]\n\nSigned-off-by: Xiaoming Gao <newtongao@tencent.com>\nSigned-off-by: Thomas Gleixner <tglx@linutronix.de>\nCc: stable@vger.kernel.org\nCc: peterz@infradead.org\nCc: hpa@zytor.com\nLink: https://lkml.kernel.org/r/38894564-4fc9-b8ec-353f-de702839e44e@gmail.com\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/624786b91e56fa9346935af25f97cd193a738a3c"},{"sha":"585af47e21ba3c2ac1f7a20fff17744b51af884f","author":{"name":"Jiri Olsa","email":"2c6594f608aa3d41e98d48846a6328831f7084ad@kernel.org"},"message":"perf: Return proper values for user stack errors\n\ncommit 78b562fbfa2cf0a9fcb23c3154756b690f4905c1 upstream.\n\nReturn immediately when we find issue in the user stack checks. The\nerror value could get overwritten by following check for\nPERF_SAMPLE_REGS_INTR.\n\nSigned-off-by: Jiri Olsa <jolsa@kernel.org>\nCc: Alexander Shishkin <alexander.shishkin@linux.intel.com>\nCc: Andi Kleen <andi@firstfloor.org>\nCc: H. Peter Anvin <hpa@zytor.com>\nCc: Namhyung Kim <namhyung@kernel.org>\nCc: Peter Zijlstra <peterz@infradead.org>\nCc: Stephane Eranian <eranian@google.com>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: syzkaller-bugs@googlegroups.com\nCc: x86@kernel.org\nFixes: 60e2364e60e8 (\"perf: Add ability to sample machine state on interrupt\")\nLink: http://lkml.kernel.org/r/20180415092352.12403-1-jolsa@kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/585af47e21ba3c2ac1f7a20fff17744b51af884f"},{"sha":"e1df9302a2f43b29312d0f6ccbde52f7211eca97","author":{"name":"Chen Feng","email":"3c855cd832dc871d93315aa826d4b8ee33ad7df3@hisilicon.com"},"message":"staging: ion : Donnot wakeup kswapd in ion system alloc\n\ncommit 2ef230531ee171a475fc3ddad5516dd7e09a8a77 upstream.\n\nSince ion alloc can be called by userspace,eg gralloc.\nWhen it is called frequently, the efficiency of kswapd is\nto low. And the reclaimed memory is too lower. In this way,\nthe kswapd can use to much cpu resources.\n\nWith 3.5GB DMA Zone and 0.5 Normal Zone.\n\npgsteal_kswapd_dma 9364140\npgsteal_kswapd_normal 7071043\npgscan_kswapd_dma 10428250\npgscan_kswapd_normal 37840094\n\nWith this change the reclaim ratio has greatly improved\n18.9% -> 72.5%\n\nSigned-off-by: Chen Feng <puck.chen@hisilicon.com>\nSigned-off-by: Lu bing <albert.lubing@hisilicon.com>\nReviewed-by: Laura Abbott <labbott@redhat.com>\nCc: Greg Hackmann <ghackmann@google.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/e1df9302a2f43b29312d0f6ccbde52f7211eca97"},{"sha":"79658ce8e820d037808a221f013e67aebcfa53e0","author":{"name":"Grant Grundler","email":"fd58b8293aeebb072b32124aef6e8da71dd5739c@chromium.org"},"message":"r8152: add Linksys USB3GIGV1 id\n\ncommit 90841047a01b452cc8c3f9b990698b264143334a upstream.\n\nThis linksys dongle by default comes up in cdc_ether mode.\nThis patch allows r8152 to claim the device:\n   Bus 002 Device 002: ID 13b1:0041 Linksys\n\nSigned-off-by: Grant Grundler <grundler@chromium.org>\nReviewed-by: Douglas Anderson <dianders@chromium.org>\nSigned-off-by: David S. Miller <davem@davemloft.net>\n[krzk: Rebase on v4.4]\nSigned-off-by: Krzysztof Kozlowski <krzk@kernel.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/79658ce8e820d037808a221f013e67aebcfa53e0"},{"sha":"666f5e34967960f3848a0b46926f1fc4da0a833a","author":{"name":"Dmitry Torokhov","email":"6b8646d310837fed93a129ed3c979b90c7f2674f@gmail.com"},"message":"Input: drv260x - fix initializing overdrive voltage\n\ncommit 74c82dae6c474933f2be401976e1530b5f623221 upstream.\n\nWe were accidentally initializing haptics->rated_voltage twice, and did not\ninitialize overdrive voltage.\n\nAcked-by: Dan Murphy <dmurphy@ti.com>\nSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>\nCc: Amit Pundir <amit.pundir@linaro.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/666f5e34967960f3848a0b46926f1fc4da0a833a"},{"sha":"9441c6de4d4af57c8f160b9f7f688bf0983ddd7f","author":{"name":"Felix Fietkau","email":"118ed6118e893d16e8c6e0776e0ebc290952c897@nbd.name"},"message":"ath9k_hw: check if the chip failed to wake up\n\ncommit a34d0a0da1abae46a5f6ebd06fb0ec484ca099d9 upstream.\n\nIn an RFC patch, Sven Eckelmann and Simon Wunderlich reported:\n\n\"QCA 802.11n chips (especially AR9330/AR9340) sometimes end up in a\nstate in which a read of AR_CFG always returns 0xdeadbeef.\nThis should not happen when when the power_mode of the device is\nATH9K_PM_AWAKE.\"\n\nInclude the check for the default register state in the existing MAC\nhang check.\n\nSigned-off-by: Felix Fietkau <nbd@nbd.name>\nSigned-off-by: Kalle Valo <kvalo@qca.qualcomm.com>\nCc: Amit Pundir <amit.pundir@linaro.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/9441c6de4d4af57c8f160b9f7f688bf0983ddd7f"},{"sha":"87dfe99e129679c23bebda36b83cb223285afc2a","author":{"name":"Sahitya Tummala","email":"9f0ed6d3046b5ad75baeafdf1880f13bc02a9180@codeaurora.org"},"message":"jbd2: fix use after free in kjournald2()\n\ncommit dbfcef6b0f4012c57bc0b6e0e660d5ed12a5eaed upstream.\n\nBelow is the synchronization issue between unmount and kjournald2\ncontexts, which results into use after free issue in kjournald2().\nFix this issue by using journal->j_state_lock to synchronize the\nwait_event() done in journal_kill_thread() and the wake_up() done\nin kjournald2().\n\nTASK 1:\numount cmd:\n   |--jbd2_journal_destroy() {\n       |--journal_kill_thread() {\n            write_lock(&journal->j_state_lock);\n\t    journal->j_flags |= JBD2_UNMOUNT;\n\t    ...\n\t    write_unlock(&journal->j_state_lock);\n\t    wake_up(&journal->j_wait_commit);\t   TASK 2 wakes up here:\n\t    \t\t\t\t\t   kjournald2() {\n\t\t\t\t\t\t     ...\n\t\t\t\t\t\t     checks JBD2_UNMOUNT flag and calls goto end-loop;\n\t\t\t\t\t\t     ...\n\t\t\t\t\t\t     end_loop:\n\t\t\t\t\t\t       write_unlock(&journal->j_state_lock);\n\t\t\t\t\t\t       journal->j_task = NULL; --> If this thread gets\n\t\t\t\t\t\t       pre-empted here, then TASK 1 wait_event will\n\t\t\t\t\t\t       exit even before this thread is completely\n\t\t\t\t\t\t       done.\n\t    wait_event(journal->j_wait_done_commit, journal->j_task == NULL);\n\t    ...\n\t    write_lock(&journal->j_state_lock);\n\t    write_unlock(&journal->j_state_lock);\n\t  }\n       |--kfree(journal);\n     }\n}\n\t\t\t\t\t\t       wake_up(&journal->j_wait_done_commit); --> this step\n\t\t\t\t\t\t       now results into use after free issue.\n\t\t\t\t\t\t   }\n\nSigned-off-by: Sahitya Tummala <stummala@codeaurora.org>\nSigned-off-by: Theodore Ts'o <tytso@mit.edu>\nCc: Amit Pundir <amit.pundir@linaro.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/87dfe99e129679c23bebda36b83cb223285afc2a"},{"sha":"8cd93573813bb6f00093ae826a457fbbddf393b8","author":{"name":"Karthikeyan Periyasamy","email":"4549e3fd3ce3046f88a033d99ce15c2f0f2ea1c6@codeaurora.org"},"message":"Revert \"ath10k: send (re)assoc peer command when NSS changed\"\n\ncommit 55cc11da69895a680940c1733caabc37be685f5e upstream.\n\nThis reverts commit 55884c045d31a29cf69db8332d1064a1b61dd159.\n\nWhen Ath10k is in AP mode and an unassociated STA sends a VHT action frame\n(Operating Mode Notification for the NSS change) periodically to AP this causes\nath10k to call ath10k_station_assoc() which sends WMI_PEER_ASSOC_CMDID during\nNSS update. Over the time (with a certain client it can happen within 15 mins\nwhen there are over 500 of these VHT action frames) continuous calls of\nWMI_PEER_ASSOC_CMDID cause firmware to assert due to resource exhaust.\n\nTo my knowledge setting WMI_PEER_NSS peer param itself enough to handle NSS\nupdates and no need to call ath10k_station_assoc(). So revert the original\ncommit from 2014 as it's unclear why the change was really needed.\nNow the firmware assert doesn't happen anymore.\n\nIssue observed in QCA9984 platform with firmware version:10.4-3.5.3-00053.\nThis Change tested in QCA9984 with firmware version: 10.4-3.5.3-00053 and\nQCA988x platform with firmware version: 10.2.4-1.0-00036.\n\nFirmware Assert log:\n\nath10k_pci 0002:01:00.0: firmware crashed! (guid e61f1274-9acd-4c5b-bcca-e032ea6e723c)\nath10k_pci 0002:01:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe\nath10k_pci 0002:01:00.0: kconfig debug 1 debugfs 1 tracing 0 dfs 1 testmode 1\nath10k_pci 0002:01:00.0: firmware ver 10.4-3.5.3-00053 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast crc32 4c56a386\nath10k_pci 0002:01:00.0: board_file api 2 bmi_id 0:4 crc32 c2271344\nath10k_pci 0002:01:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal otp max-sta 512 raw 0 hwcrypto 1\nath10k_pci 0002:01:00.0: firmware register dump:\nath10k_pci 0002:01:00.0: [00]: 0x0000000A 0x000015B3 0x00981E5F 0x00975B31\nath10k_pci 0002:01:00.0: [04]: 0x00981E5F 0x00060530 0x00000011 0x00446C60\nath10k_pci 0002:01:00.0: [08]: 0x0042F1FC 0x00458080 0x00000017 0x00000000\nath10k_pci 0002:01:00.0: [12]: 0x00000009 0x00000000 0x00973ABC 0x00973AD2\nath10k_pci 0002:01:00.0: [16]: 0x00973AB0 0x00960E62 0x009606CA 0x00000000\nath10k_pci 0002:01:00.0: [20]: 0x40981E5F 0x004066DC 0x00400000 0x00981E34\nath10k_pci 0002:01:00.0: [24]: 0x80983B48 0x0040673C 0x000000C0 0xC0981E5F\nath10k_pci 0002:01:00.0: [28]: 0x80993DEB 0x0040676C 0x00431AB8 0x0045D0C4\nath10k_pci 0002:01:00.0: [32]: 0x80993E5C 0x004067AC 0x004303C0 0x0045D0C4\nath10k_pci 0002:01:00.0: [36]: 0x80994AAB 0x004067DC 0x00000000 0x0045D0C4\nath10k_pci 0002:01:00.0: [40]: 0x809971A0 0x0040681C 0x004303C0 0x00441B00\nath10k_pci 0002:01:00.0: [44]: 0x80991904 0x0040688C 0x004303C0 0x0045D0C4\nath10k_pci 0002:01:00.0: [48]: 0x80963AD3 0x00406A7C 0x004303C0 0x009918FC\nath10k_pci 0002:01:00.0: [52]: 0x80960E80 0x00406A9C 0x0000001F 0x00400000\nath10k_pci 0002:01:00.0: [56]: 0x80960E51 0x00406ACC 0x00400000 0x00000000\nath10k_pci 0002:01:00.0: Copy Engine register dump:\nath10k_pci 0002:01:00.0: index: addr: sr_wr_idx: sr_r_idx: dst_wr_idx: dst_r_idx:\nath10k_pci 0002:01:00.0: [00]: 0x0004a000 15 15 3 3\nath10k_pci 0002:01:00.0: [01]: 0x0004a400 17 17 212 213\nath10k_pci 0002:01:00.0: [02]: 0x0004a800 21 21 20 21\nath10k_pci 0002:01:00.0: [03]: 0x0004ac00 25 25 27 25\nath10k_pci 0002:01:00.0: [04]: 0x0004b000 515 515 144 104\nath10k_pci 0002:01:00.0: [05]: 0x0004b400 28 28 155 156\nath10k_pci 0002:01:00.0: [06]: 0x0004b800 12 12 12 12\nath10k_pci 0002:01:00.0: [07]: 0x0004bc00 1 1 1 1\nath10k_pci 0002:01:00.0: [08]: 0x0004c000 0 0 127 0\nath10k_pci 0002:01:00.0: [09]: 0x0004c400 1 1 1 1\nath10k_pci 0002:01:00.0: [10]: 0x0004c800 0 0 0 0\nath10k_pci 0002:01:00.0: [11]: 0x0004cc00 0 0 0 0\nath10k_pci 0002:01:00.0: CE[1] write_index 212 sw_index 213 hw_index 0 nentries_mask 0x000001ff\nath10k_pci 0002:01:00.0: CE[2] write_index 20 sw_index 21 hw_index 0 nentries_mask 0x0000007f\nath10k_pci 0002:01:00.0: CE[5] write_index 155 sw_index 156 hw_index 0 nentries_mask 0x000001ff\nath10k_pci 0002:01:00.0: DMA addr: nbytes: meta data: byte swap: gather:\nath10k_pci 0002:01:00.0: [455]: 0x580c0042 0 0 0 0\nath10k_pci 0002:01:00.0: [456]: 0x594a0010 0 0 0 1\nath10k_pci 0002:01:00.0: [457]: 0x580c0042 0 0 0 0\nath10k_pci 0002:01:00.0: [458]: 0x594a0038 0 0 0 1\nath10k_pci 0002:01:00.0: [459]: 0x580c0a42 0 0 0 0\nath10k_pci 0002:01:00.0: [460]: 0x594a0060 0 0 0 1\nath10k_pci 0002:01:00.0: [461]: 0x580c0c42 0 0 0 0\nath10k_pci 0002:01:00.0: [462]: 0x594a0010 0 0 0 1\nath10k_pci 0002:01:00.0: [463]: 0x580c0c42 0 0 0 0\nath10k_pci 0002:01:00.0: [464]: 0x594a0038 0 0 0 1\nath10k_pci 0002:01:00.0: [465]: 0x580c0a42 0 0 0 0\nath10k_pci 0002:01:00.0: [466]: 0x594a0060 0 0 0 1\nath10k_pci 0002:01:00.0: [467]: 0x580c0042 0 0 0 0\nath10k_pci 0002:01:00.0: [468]: 0x594a0010 0 0 0 1\nath10k_pci 0002:01:00.0: [469]: 0x580c1c42 0 0 0 0\nath10k_pci 0002:01:00.0: [470]: 0x594a0010 0 0 0 1\nath10k_pci 0002:01:00.0: [471]: 0x580c1c42 0 0 0 0\nath10k_pci 0002:01:00.0: [472]: 0x594a0010 0 0 0 1\nath10k_pci 0002:01:00.0: [473]: 0x580c1c42 0 0 0 0\nath10k_pci 0002:01:00.0: [474]: 0x594a0010 0 0 0 1\nath10k_pci 0002:01:00.0: [475]: 0x580c0642 0 0 0 0\nath10k_pci 0002:01:00.0: [476]: 0x594a0038 0 0 0 1\nath10k_pci 0002:01:00.0: [477]: 0x580c0842 0 0 0 0\nath10k_pci 0002:01:00.0: [478]: 0x594a0060 0 0 0 1\nath10k_pci 0002:01:00.0: [479]: 0x580c0042 0 0 0 0\nath10k_pci 0002:01:00.0: [480]: 0x594a0010 0 0 0 1\nath10k_pci 0002:01:00.0: [481]: 0x580c0042 0 0 0 0\nath10k_pci 0002:01:00.0: [482]: 0x594a0038 0 0 0 1\nath10k_pci 0002:01:00.0: [483]: 0x580c0842 0 0 0 0\nath10k_pci 0002:01:00.0: [484]: 0x594a0060 0 0 0 1\nath10k_pci 0002:01:00.0: [485]: 0x580c0642 0 0 0 0\nath10k_pci 0002:01:00.0: [486]: 0x594a0010 0 0 0 1\nath10k_pci 0002:01:00.0: [487]: 0x580c0642 0 0 0 0\nath10k_pci 0002:01:00.0: [488]: 0x594a0038 0 0 0 1\nath10k_pci 0002:01:00.0: [489]: 0x580c0842 0 0 0 0\nath10k_pci 0002:01:00.0: [490]: 0x594a0060 0 0 0 1\nath10k_pci 0002:01:00.0: [491]: 0x580c0042 0 0 0 0\nath10k_pci 0002:01:00.0: [492]: 0x58174040 0 1 0 0\nath10k_pci 0002:01:00.0: [493]: 0x5a946040 0 1 0 0\nath10k_pci 0002:01:00.0: [494]: 0x59909040 0 1 0 0\nath10k_pci 0002:01:00.0: [495]: 0x5ae5a040 0 1 0 0\nath10k_pci 0002:01:00.0: [496]: 0x58096040 0 1 0 0\nath10k_pci 0002:01:00.0: [497]: 0x594a0010 0 0 0 1\nath10k_pci 0002:01:00.0: [498]: 0x580c0642 0 0 0 0\nath10k_pci 0002:01:00.0: [499]: 0x5c1e0040 0 1 0 0\nath10k_pci 0002:01:00.0: [500]: 0x58153040 0 1 0 0\nath10k_pci 0002:01:00.0: [501]: 0x58129040 0 1 0 0\nath10k_pci 0002:01:00.0: [502]: 0x5952f040 0 1 0 0\nath10k_pci 0002:01:00.0: [503]: 0x59535040 0 1 0 0\nath10k_pci 0002:01:00.0: [504]: 0x594a0010 0 0 0 1\nath10k_pci 0002:01:00.0: [505]: 0x580c0042 0 0 0 0\nath10k_pci 0002:01:00.0: [506]: 0x594a0010 0 0 0 1\nath10k_pci 0002:01:00.0: [507]: 0x580c0042 0 0 0 0\nath10k_pci 0002:01:00.0: [508]: 0x594a0010 0 0 0 1\nath10k_pci 0002:01:00.0: [509]: 0x580c0042 0 0 0 0\nath10k_pci 0002:01:00.0: [510]: 0x594a0010 0 0 0 1\nath10k_pci 0002:01:00.0: [511]: 0x580c0042 0 0 0 0\nath10k_pci 0002:01:00.0: [512]: 0x5adcc040 0 1 0 0\nath10k_pci 0002:01:00.0: [513]: 0x5cf3d040 0 1 0 0\nath10k_pci 0002:01:00.0: [514]: 0x5c1e9040 64 1 0 0\nath10k_pci 0002:01:00.0: [515]: 0x00000000 0 0 0 0\n\nSigned-off-by: Karthikeyan Periyasamy <periyasa@codeaurora.org>\nSigned-off-by: Kalle Valo <kvalo@codeaurora.org>\nCc: Takashi Iwai <tiwai@suse.de>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/8cd93573813bb6f00093ae826a457fbbddf393b8"},{"sha":"4eaf8dace704fb5392b330a01dbf579d3190b0b3","author":{"name":"Vasily Gorbik","email":"fd6608149f5f589003abf198bcd5ef1b94afa26b@linux.vnet.ibm.com"},"message":"s390: introduce CPU alternatives\n\n[ Upstream commit 686140a1a9c41d85a4212a1c26d671139b76404b ]\n\nImplement CPU alternatives, which allows to optionally patch newer\ninstructions at runtime, based on CPU facilities availability.\n\nA new kernel boot parameter \"noaltinstr\" disables patching.\n\nCurrent implementation is derived from x86 alternatives. Although\nideal instructions padding (when altinstr is longer then oldinstr)\nis added at compile time, and no oldinstr nops optimization has to be\ndone at runtime. Also couple of compile time sanity checks are done:\n1. oldinstr and altinstr must be <= 254 bytes long,\n2. oldinstr and altinstr must not have an odd length.\n\nalternative(oldinstr, altinstr, facility);\nalternative_2(oldinstr, altinstr1, facility1, altinstr2, facility2);\n\nBoth compile time and runtime padding consists of either 6/4/2 bytes nop\nor a jump (brcl) + 2 bytes nop filler if padding is longer then 6 bytes.\n\n.altinstructions and .altinstr_replacement sections are part of\n__init_begin : __init_end region and are freed after initialization.\n\nSigned-off-by: Vasily Gorbik <gor@linux.vnet.ibm.com>\nSigned-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/4eaf8dace704fb5392b330a01dbf579d3190b0b3"},{"sha":"243f3abcfd64a5cfa774eb32aa0a349693bf6eaa","author":{"name":"Heiko Carstens","email":"8dcf0f69152f32f23184f83357a3731522e56b9c@de.ibm.com"},"message":"s390: enable CPU alternatives unconditionally\n\n[ Upstream commit 049a2c2d486e8cc82c5cd79fa479c5b105b109e9 ]\n\nRemove the CPU_ALTERNATIVES config option and enable the code\nunconditionally. The config option was only added to avoid a conflict\nwith the named saved segment support. Since that code is gone there is\nno reason to keep the CPU_ALTERNATIVES config option.\n\nJust enable it unconditionally to also reduce the number of config\noptions and make it less likely that something breaks.\n\nSigned-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>\nSigned-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/243f3abcfd64a5cfa774eb32aa0a349693bf6eaa"},{"sha":"1482b96a97296bc2a0d738461c52eda957bc881e","author":{"name":"Christian Borntraeger","email":"49712f635b03c16d7f4c43df70e49ec8c565813d@de.ibm.com"},"message":"KVM: s390: wire up bpb feature\n\n[ Upstream commit 35b3fde6203b932b2b1a5b53b3d8808abc9c4f60 ]\n\nThe new firmware interfaces for branch prediction behaviour changes\nare transparently available for the guest. Nevertheless, there is\nnew state attached that should be migrated and properly resetted.\nProvide a mechanism for handling reset, migration and VSIE.\n\nSigned-off-by: Christian Borntraeger <borntraeger@de.ibm.com>\nReviewed-by: David Hildenbrand <david@redhat.com>\nReviewed-by: Cornelia Huck <cohuck@redhat.com>\n[Changed capability number to 152. - Radim]\nSigned-off-by: Radim Krčmář <rkrcmar@redhat.com>\nSigned-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/1482b96a97296bc2a0d738461c52eda957bc881e"},{"sha":"e24d6c4b5e19d6c168d8ca34e1859c83b30189d5","author":{"name":"Martin Schwidefsky","email":"52616596d8f5df0d597e85ab515377f92f939c68@de.ibm.com"},"message":"s390: scrub registers on kernel entry and KVM exit\n\n[ Upstream commit 7041d28115e91f2144f811ffe8a195c696b1e1d0 ]\n\nClear all user space registers on entry to the kernel and all KVM guest\nregisters on KVM guest exit if the register does not contain either a\nparameter or a result value.\n\nReviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>\nSigned-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/e24d6c4b5e19d6c168d8ca34e1859c83b30189d5"},{"sha":"cf6bc919fa35e91dfc2055ad862ee8f68eafb1d9","author":{"name":"Martin Schwidefsky","email":"52616596d8f5df0d597e85ab515377f92f939c68@de.ibm.com"},"message":"s390: add optimized array_index_mask_nospec\n\n[ Upstream commit e2dd833389cc4069a96b57bdd24227b5f52288f5 ]\n\nAdd an optimized version of the array_index_mask_nospec function for\ns390 based on a compare and a subtract with borrow.\n\nSigned-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/cf6bc919fa35e91dfc2055ad862ee8f68eafb1d9"},{"sha":"bc650e567c9997293ed6421a058517e270d77e4c","author":{"name":"Martin Schwidefsky","email":"52616596d8f5df0d597e85ab515377f92f939c68@de.ibm.com"},"message":"s390/alternative: use a copy of the facility bit mask\n\n[ Upstream commit cf1489984641369611556bf00c48f945c77bcf02 ]\n\nTo be able to switch off specific CPU alternatives with kernel parameters\nmake a copy of the facility bit mask provided by STFLE and use the copy\nfor the decision to apply an alternative.\n\nReviewed-by: David Hildenbrand <david@redhat.com>\nReviewed-by: Cornelia Huck <cohuck@redhat.com>\nSigned-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/bc650e567c9997293ed6421a058517e270d77e4c"},{"sha":"76c45c1be03c60f9d983aed017182760dbd8bbf9","author":{"name":"Martin Schwidefsky","email":"52616596d8f5df0d597e85ab515377f92f939c68@de.ibm.com"},"message":"s390: add options to change branch prediction behaviour for the kernel\n\n[ Upstream commit d768bd892fc8f066cd3aa000eb1867bcf32db0ee ]\n\nAdd the PPA instruction to the system entry and exit path to switch\nthe kernel to a different branch prediction behaviour. The instructions\nare added via CPU alternatives and can be disabled with the \"nospec\"\nor the \"nobp=0\" kernel parameter. If the default behaviour selected\nwith CONFIG_KERNEL_NOBP is set to \"n\" then the \"nobp=1\" parameter can be\nused to enable the changed kernel branch prediction.\n\nAcked-by: Cornelia Huck <cohuck@redhat.com>\nSigned-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/76c45c1be03c60f9d983aed017182760dbd8bbf9"},{"sha":"2d863392f86b01ae0a578f72062ef8c5a27d651c","author":{"name":"Martin Schwidefsky","email":"52616596d8f5df0d597e85ab515377f92f939c68@de.ibm.com"},"message":"s390: run user space and KVM guests with modified branch prediction\n\n[ Upstream commit 6b73044b2b0081ee3dd1cd6eaab7dee552601efb ]\n\nDefine TIF_ISOLATE_BP and TIF_ISOLATE_BP_GUEST and add the necessary\nplumbing in entry.S to be able to run user space and KVM guests with\nlimited branch prediction.\n\nTo switch a user space process to limited branch prediction the\ns390_isolate_bp() function has to be call, and to run a vCPU of a KVM\nguest associated with the current task with limited branch prediction\ncall s390_isolate_bp_guest().\n\nSigned-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/2d863392f86b01ae0a578f72062ef8c5a27d651c"},{"sha":"d6e925eca0f971476baf4def542580b37e0df80d","author":{"name":"Martin Schwidefsky","email":"52616596d8f5df0d597e85ab515377f92f939c68@de.ibm.com"},"message":"s390: introduce execute-trampolines for branches\n\n[ Upstream commit f19fbd5ed642dc31c809596412dab1ed56f2f156 ]\n\nAdd CONFIG_EXPOLINE to enable the use of the new -mindirect-branch= and\n-mfunction_return= compiler options to create a kernel fortified against\nthe specte v2 attack.\n\nWith CONFIG_EXPOLINE=y all indirect branches will be issued with an\nexecute type instruction. For z10 or newer the EXRL instruction will\nbe used, for older machines the EX instruction. The typical indirect\ncall\n\n\tbasr\t%r14,%r1\n\nis replaced with a PC relative call to a new thunk\n\n\tbrasl\t%r14,__s390x_indirect_jump_r1\n\nThe thunk contains the EXRL/EX instruction to the indirect branch\n\n__s390x_indirect_jump_r1:\n\texrl\t0,0f\n\tj\t.\n0:\tbr\t%r1\n\nThe detour via the execute type instruction has a performance impact.\nTo get rid of the detour the new kernel parameter \"nospectre_v2\" and\n\"spectre_v2=[on,off,auto]\" can be used. If the parameter is specified\nthe kernel and module code will be patched at runtime.\n\nSigned-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/d6e925eca0f971476baf4def542580b37e0df80d"},{"sha":"f3303788c0514ef43151b7272c7309740ed88dc8","author":{"name":"Eugeniu Rosca","email":"00796dea4acebc1ad487c04d0d4e541d38151dcd@de.adit-jv.com"},"message":"s390: Replace IS_ENABLED(EXPOLINE_*) with IS_ENABLED(CONFIG_EXPOLINE_*)\n\n[ Upstream commit 2cb370d615e9fbed9e95ed222c2c8f337181aa90 ]\n\nI've accidentally stumbled upon the IS_ENABLED(EXPOLINE_*) lines, which\nobviously always evaluate to false. Fix this.\n\nFixes: f19fbd5ed642 (\"s390: introduce execute-trampolines for branches\")\nSigned-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>\nSigned-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/f3303788c0514ef43151b7272c7309740ed88dc8"},{"sha":"bbf89d7832ed4b94b7d689165f90dc38bba350ca","author":{"name":"Martin Schwidefsky","email":"52616596d8f5df0d597e85ab515377f92f939c68@de.ibm.com"},"message":"s390: do not bypass BPENTER for interrupt system calls\n\n[ Upstream commit d5feec04fe578c8dbd9e2e1439afc2f0af761ed4 ]\n\nThe system call path can be interrupted before the switch back to the\nstandard branch prediction with BPENTER has been done. The critical\nsection cleanup code skips forward to .Lsysc_do_svc and bypasses the\nBPENTER. In this case the kernel and all subsequent code will run with\nthe limited branch prediction.\n\nFixes: eacf67eb9b32 (\"s390: run user space and KVM guests with modified branch prediction\")\nSigned-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Noltari/linux/commits/bbf89d7832ed4b94b7d689165f90dc38bba350ca"}]}
{"actor":{"display_login":"Noltari"}}