{"push_id":2946159649,"size":12,"distinct_size":12,"ref":"refs/heads/master","head":"3d647e62686f447ca4c9ba6b4500fed5f0368a98","before":"64c5e530ac2cab7e710c3bd08ef8594a016e4f9a","commits":[{"sha":"55a5542a546238354d1f209f794414168cf8c71d","author":{"name":"Gerald Schaefer","email":"7a67bf9a8691f9f1ca8ce9577e14c37413ea5f58@de.ibm.com"},"message":"s390/hibernate: fix error handling when suspend cpu != resume cpu\n\nThe resume code checks if the resume cpu is the same as the suspend cpu.\nIf not, and if it is also not possible to switch to the suspend cpu, an\nerror message should be printed and the resume process should be stopped\nby loading a disabled wait psw.\n\nThe current logic is broken in multiple ways, the message is never printed,\nand the disabled wait psw never loaded because the kernel panics before that:\n- sam31 and SIGP_SET_ARCHITECTURE to ESA mode is wrong, this will break\n  on the first 64bit instruction in sclp_early_printk().\n- The init stack should be used, but the stack pointer is not set up correctly\n  (missing aghi %r15,-STACK_FRAME_OVERHEAD).\n- __sclp_early_printk() checks the sclp_init_state. If it is not\n  sclp_init_state_uninitialized, it simply returns w/o printing anything.\n  In the resumed kernel however, sclp_init_state will never be uninitialized.\n\nThis patch fixes those issues by removing the sam31/ESA logic, adding a\ncorrect init stack pointer, and also introducing sclp_early_printk_force()\nto allow using sclp_early_printk() even when sclp_init_state is not\nuninitialized.\n\nReviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>\nSigned-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>\nSigned-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>","distinct":true,"url":"https://api.github.com/repos/LeSpocky/linux/commits/55a5542a546238354d1f209f794414168cf8c71d"},{"sha":"c98e16b2fa1202dd8c66900823591cd110a1a213","author":{"name":"Eric Farman","email":"45cff695b8fa5cc07d58f6876a8fd504d010e3e3@linux.ibm.com"},"message":"s390/cio: Convert ccw_io_region to pointer\n\nIn the event that we want to change the layout of the ccw_io_region in the\nfuture[1], it might be easier to work with it as a pointer within the\nvfio_ccw_private struct rather than an embedded struct.\n\n[1] https://patchwork.kernel.org/comment/22228541/\n\nSigned-off-by: Eric Farman <farman@linux.ibm.com>\nMessage-Id: <20180921204013.95804-2-farman@linux.ibm.com>\nSigned-off-by: Cornelia Huck <cohuck@redhat.com>","distinct":true,"url":"https://api.github.com/repos/LeSpocky/linux/commits/c98e16b2fa1202dd8c66900823591cd110a1a213"},{"sha":"bf42daed6bd136774415ae6d26c8475152f92b54","author":{"name":"Eric Farman","email":"45cff695b8fa5cc07d58f6876a8fd504d010e3e3@linux.ibm.com"},"message":"s390/cio: Refactor alloc of ccw_io_region\n\nIf I attach a vfio-ccw device to my guest, I get the following warning\non the host when the host kernel is CONFIG_HARDENED_USERCOPY=y\n\n[250757.595325] Bad or missing usercopy whitelist? Kernel memory overwrite attempt detected to SLUB object 'dma-kmalloc-512' (offset 64, size 124)!\n[250757.595365] WARNING: CPU: 2 PID: 10958 at mm/usercopy.c:81 usercopy_warn+0xac/0xd8\n[250757.595369] Modules linked in: kvm vhost_net vhost tap xt_CHECKSUM iptable_mangle ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack libcrc32c devlink tun bridge stp llc ebtable_filter ebtables ip6table_filter ip6_tables sunrpc dm_multipath s390_trng crc32_vx_s390 ghash_s390 prng aes_s390 des_s390 des_generic sha512_s390 sha1_s390 eadm_sch tape_3590 tape tape_class qeth_l2 qeth ccwgroup vfio_ccw vfio_mdev zcrypt_cex4 mdev vfio_iommu_type1 zcrypt vfio sha256_s390 sha_common zfcp scsi_transport_fc qdio dasd_eckd_mod dasd_mod\n[250757.595424] CPU: 2 PID: 10958 Comm: CPU 2/KVM Not tainted 4.18.0-derp #2\n[250757.595426] Hardware name: IBM 3906 M05 780 (LPAR)\n...snip regs...\n[250757.595523] Call Trace:\n[250757.595529] ([<0000000000349210>] usercopy_warn+0xa8/0xd8)\n[250757.595535]  [<000000000032daaa>] __check_heap_object+0xfa/0x160\n[250757.595540]  [<0000000000349396>] __check_object_size+0x156/0x1d0\n[250757.595547]  [<000003ff80332d04>] vfio_ccw_mdev_write+0x74/0x148 [vfio_ccw]\n[250757.595552]  [<000000000034ed12>] __vfs_write+0x3a/0x188\n[250757.595556]  [<000000000034f040>] vfs_write+0xa8/0x1b8\n[250757.595559]  [<000000000034f4e6>] ksys_pwrite64+0x86/0xc0\n[250757.595568]  [<00000000008959a0>] system_call+0xdc/0x2b0\n[250757.595570] Last Breaking-Event-Address:\n[250757.595573]  [<0000000000349210>] usercopy_warn+0xa8/0xd8\n\nWhile vfio_ccw_mdev_{write|read} validates that the input position/count\ndoes not run over the ccw_io_region struct, the usercopy code that does\ncopy_{to|from}_user doesn't necessarily know this. It sees the variable\nlength and gets worried that it's affecting a normal kmalloc'd struct,\nand generates the above warning.\n\nAdjust how the ccw_io_region is alloc'd with a whitelist to remove this\nwarning. The boundary checking will continue to do its thing.\n\nSigned-off-by: Eric Farman <farman@linux.ibm.com>\nMessage-Id: <20180921204013.95804-3-farman@linux.ibm.com>\nSigned-off-by: Cornelia Huck <cohuck@redhat.com>","distinct":true,"url":"https://api.github.com/repos/LeSpocky/linux/commits/bf42daed6bd136774415ae6d26c8475152f92b54"},{"sha":"ea7e0480a4b695d0aa6b3fa99bd658a003122113","author":{"name":"Paul Burton","email":"85f1bffadddedccfafc0ae065a06aa636075387f@mips.com"},"message":"MIPS: VDSO: Always map near top of user memory\n\nWhen using the legacy mmap layout, for example triggered using ulimit -s\nunlimited, get_unmapped_area() fills memory from bottom to top starting\nfrom a fairly low address near TASK_UNMAPPED_BASE.\n\nThis placement is suboptimal if the user application wishes to allocate\nlarge amounts of heap memory using the brk syscall. With the VDSO being\nlocated low in the user's virtual address space, the amount of space\navailable for access using brk is limited much more than it was prior to\nthe introduction of the VDSO.\n\nFor example:\n\n  # ulimit -s unlimited; cat /proc/self/maps\n  00400000-004ec000 r-xp 00000000 08:00 71436      /usr/bin/coreutils\n  004fc000-004fd000 rwxp 000ec000 08:00 71436      /usr/bin/coreutils\n  004fd000-0050f000 rwxp 00000000 00:00 0\n  00cc3000-00ce4000 rwxp 00000000 00:00 0          [heap]\n  2ab96000-2ab98000 r--p 00000000 00:00 0          [vvar]\n  2ab98000-2ab99000 r-xp 00000000 00:00 0          [vdso]\n  2ab99000-2ab9d000 rwxp 00000000 00:00 0\n  ...\n\nResolve this by adjusting STACK_TOP to reserve space for the VDSO &\nproviding an address hint to get_unmapped_area() causing it to use this\nspace even when using the legacy mmap layout.\n\nWe reserve enough space for the VDSO, plus 1MB or 256MB for 32 bit & 64\nbit systems respectively within which we randomize the VDSO base\naddress. Previously this randomization was taken care of by the mmap\nbase address randomization performed by arch_mmap_rnd(). The 1MB & 256MB\nsizes are somewhat arbitrary but chosen such that we have some\nrandomization without taking up too much of the user's virtual address\nspace, which is often in short supply for 32 bit systems.\n\nWith this the VDSO is always mapped at a high address, leaving lots of\nspace for statically linked programs to make use of brk:\n\n  # ulimit -s unlimited; cat /proc/self/maps\n  00400000-004ec000 r-xp 00000000 08:00 71436      /usr/bin/coreutils\n  004fc000-004fd000 rwxp 000ec000 08:00 71436      /usr/bin/coreutils\n  004fd000-0050f000 rwxp 00000000 00:00 0\n  00c28000-00c49000 rwxp 00000000 00:00 0          [heap]\n  ...\n  7f67c000-7f69d000 rwxp 00000000 00:00 0          [stack]\n  7f7fc000-7f7fd000 rwxp 00000000 00:00 0\n  7fcf1000-7fcf3000 r--p 00000000 00:00 0          [vvar]\n  7fcf3000-7fcf4000 r-xp 00000000 00:00 0          [vdso]\n\nSigned-off-by: Paul Burton <paul.burton@mips.com>\nReported-by: Huacai Chen <chenhc@lemote.com>\nFixes: ebb5e78cc634 (\"MIPS: Initial implementation of a VDSO\")\nCc: Huacai Chen <chenhc@lemote.com>\nCc: linux-mips@linux-mips.org\nCc: stable@vger.kernel.org # v4.4+","distinct":true,"url":"https://api.github.com/repos/LeSpocky/linux/commits/ea7e0480a4b695d0aa6b3fa99bd658a003122113"},{"sha":"951d223c6c16ed5d2a71a4d1f13c1e65d6882156","author":{"name":"Paul Burton","email":"85f1bffadddedccfafc0ae065a06aa636075387f@mips.com"},"message":"MIPS: Fix CONFIG_CMDLINE handling\n\nCommit 8ce355cf2e38 (\"MIPS: Setup boot_command_line before\nplat_mem_setup\") fixed a problem for systems which have\nCONFIG_CMDLINE_BOOL=y & use a DT with a chosen node that has either no\nbootargs property or an empty one. In this configuration\nearly_init_dt_scan_chosen() copies CONFIG_CMDLINE into\nboot_command_line, but the MIPS code doesn't know this so it appends\nCONFIG_CMDLINE (via builtin_cmdline) to boot_command_line again. The\nresult is that boot_command_line contains the arguments from\nCONFIG_CMDLINE twice.\n\nThat commit took the approach of simply setting up boot_command_line\nfrom the MIPS code before early_init_dt_scan_chosen() runs, causing it\nnot to copy CONFIG_CMDLINE to boot_command_line if a chosen node with no\nbootargs property is found.\n\nUnfortunately this is problematic for systems which do have a non-empty\nbootargs property & CONFIG_CMDLINE_BOOL=y. There\nearly_init_dt_scan_chosen() will overwrite boot_command_line with the\narguments from DT, which means we lose those from CONFIG_CMDLINE\nentirely. This breaks CONFIG_MIPS_CMDLINE_DTB_EXTEND. If we have\nCONFIG_MIPS_CMDLINE_FROM_BOOTLOADER or\nCONFIG_MIPS_CMDLINE_BUILTIN_EXTEND selected and the DT has a bootargs\nproperty which we should ignore, it will instead be honoured breaking\nthose configurations too.\n\nFix this by reverting commit 8ce355cf2e38 (\"MIPS: Setup\nboot_command_line before plat_mem_setup\") to restore the former\nbehaviour, and fixing the CONFIG_CMDLINE duplication issue by\ninitializing boot_command_line to a non-empty string that\nearly_init_dt_scan_chosen() will not overwrite with CONFIG_CMDLINE.\n\nThis is a little ugly, but cleanup in this area is on its way. In the\nmeantime this is at least easy to backport & contains the ugliness\nwithin arch/mips/.\n\nSigned-off-by: Paul Burton <paul.burton@mips.com>\nFixes: 8ce355cf2e38 (\"MIPS: Setup boot_command_line before plat_mem_setup\")\nReferences: https://patchwork.linux-mips.org/patch/18804/\nPatchwork: https://patchwork.linux-mips.org/patch/20813/\nCc: Frank Rowand <frowand.list@gmail.com>\nCc: Jaedon Shin <jaedon.shin@gmail.com>\nCc: Mathieu Malaterre <malat@debian.org>\nCc: Rob Herring <robh+dt@kernel.org>\nCc: devicetree@vger.kernel.org\nCc: linux-kernel@vger.kernel.org\nCc: linux-mips@linux-mips.org\nCc: stable@vger.kernel.org # v4.16+","distinct":true,"url":"https://api.github.com/repos/LeSpocky/linux/commits/951d223c6c16ed5d2a71a4d1f13c1e65d6882156"},{"sha":"c458dda3d07c110ce1d007998f67273325ad8662","author":{"name":"Martin Schwidefsky","email":"52616596d8f5df0d597e85ab515377f92f939c68@de.ibm.com"},"message":"Merge tag 'vfio-ccw-20181001' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/vfio-ccw into fixes\n\nPull vfio-ccw from Cornelia Huck with the following changes:\n\n - Change allocation of ccw_io_region so that the usercopy hardening\n   code can figure out that everything is fine.","distinct":true,"url":"https://api.github.com/repos/LeSpocky/linux/commits/c458dda3d07c110ce1d007998f67273325ad8662"},{"sha":"e7e86f42fa68c70cab4e964017273da32a77af07","author":{"name":"Joe Perches","email":"16a9a54ddf4259952e3c118c763138e83693d7fd@perches.com"},"message":"MAINTAINERS: MIPS/LOONGSON2 ARCHITECTURE - Use the normal wildcard style\n\nNeither git nor get_maintainer understands the curly brace style.\n\nSigned-off-by: Joe Perches <joe@perches.com>\nSigned-off-by: Paul Burton <paul.burton@mips.com>\nPatchwork: https://patchwork.linux-mips.org/patch/20821/\nCc: Huacai Chen <chenhc@lemote.com>\nCc: linux-mips <linux-mips@linux-mips.org>\nCc: LKML <linux-kernel@vger.kernel.org>","distinct":true,"url":"https://api.github.com/repos/LeSpocky/linux/commits/e7e86f42fa68c70cab4e964017273da32a77af07"},{"sha":"24abf2901b18bf941b9f21ea2ce5791f61097ae4","author":{"name":"Eric Farman","email":"45cff695b8fa5cc07d58f6876a8fd504d010e3e3@linux.ibm.com"},"message":"s390/cio: Fix how vfio-ccw checks pinned pages\n\nWe have two nested loops to check the entries within the pfn_array_table\narrays.  But we mistakenly use the outer array as an index in our check,\nand completely ignore the indexing performed by the inner loop.\n\nCc: stable@vger.kernel.org\nSigned-off-by: Eric Farman <farman@linux.ibm.com>\nMessage-Id: <20181002010235.42483-1-farman@linux.ibm.com>\nSigned-off-by: Cornelia Huck <cohuck@redhat.com>","distinct":true,"url":"https://api.github.com/repos/LeSpocky/linux/commits/24abf2901b18bf941b9f21ea2ce5791f61097ae4"},{"sha":"148b9aba99e0bbadf361747d21456e1589015f74","author":{"name":"Maciej W. Rozycki","email":"78f3a3d9d6e4d907a7d12e475d0a751d6b7e256b@linux-mips.org"},"message":"MIPS: memset: Fix CPU_DADDI_WORKAROUNDS `small_fixup' regression\n\nFix a commit 8a8158c85e1e (\"MIPS: memset.S: EVA & fault support for\nsmall_memset\") regression and remove assembly warnings:\n\narch/mips/lib/memset.S: Assembler messages:\narch/mips/lib/memset.S:243: Warning: Macro instruction expanded into multiple instructions in a branch delay slot\n\ntriggering with the CPU_DADDI_WORKAROUNDS option set and this code:\n\n\tPTR_SUBU\ta2, t1, a0\n\tjr\t\tra\n\t PTR_ADDIU\ta2, 1\n\nThis is because with that option in place the DADDIU instruction, which\nthe PTR_ADDIU CPP macro expands to, becomes a GAS macro, which in turn\nexpands to an LI/DADDU (or actually ADDIU/DADDU) sequence:\n\n 13c:\t01a4302f \tdsubu\ta2,t1,a0\n 140:\t03e00008 \tjr\tra\n 144:\t24010001 \tli\tat,1\n 148:\t00c1302d \tdaddu\ta2,a2,at\n\t...\n\nCorrect this by switching off the `noreorder' assembly mode and letting\nGAS schedule this jump's delay slot, as there is nothing special about\nit that would require manual scheduling.  With this change in place\ncorrect code is produced:\n\n 13c:\t01a4302f \tdsubu\ta2,t1,a0\n 140:\t24010001 \tli\tat,1\n 144:\t03e00008 \tjr\tra\n 148:\t00c1302d \tdaddu\ta2,a2,at\n\t...\n\nSigned-off-by: Maciej W. Rozycki <macro@linux-mips.org>\nSigned-off-by: Paul Burton <paul.burton@mips.com>\nFixes: 8a8158c85e1e (\"MIPS: memset.S: EVA & fault support for small_memset\")\nPatchwork: https://patchwork.linux-mips.org/patch/20833/\nCc: Ralf Baechle <ralf@linux-mips.org>\nCc: stable@vger.kernel.org # 4.17+","distinct":true,"url":"https://api.github.com/repos/LeSpocky/linux/commits/148b9aba99e0bbadf361747d21456e1589015f74"},{"sha":"7c75544983edece1b745367922cf1053606cd369","author":{"name":"Martin Schwidefsky","email":"52616596d8f5df0d597e85ab515377f92f939c68@de.ibm.com"},"message":"Merge tag 'vfio-ccw-20181002' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/vfio-ccw into fixes\n\nPull vfio-ccw from Cornelia Huck with the following changes:\n\n - Another fix for vfio-ccw: make sure it accesses the correct entries\n   in the pfn_array_table arrays when checking pinned pages.","distinct":true,"url":"https://api.github.com/repos/LeSpocky/linux/commits/7c75544983edece1b745367922cf1053606cd369"},{"sha":"701f2eb6f9382409bfa1e68a62729d6e5de54eef","author":{"name":"Greg Kroah-Hartman","email":"4645f7897fd33786a2ee1264d590b3c400559d85@linuxfoundation.org"},"message":"Merge tag 'mips_fixes_4.19_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux\n\nPaul writes:\n  \"A few MIPS fixes for 4.19:\n\n   - Avoid suboptimal placement of our VDSO when using the legacy mmap\n     layout, which can prevent statically linked programs that were able\n     to allocate large amounts of memory using the brk syscall prior to\n     the introduction of our VDSO from functioning correctly.\n\n   - Fix up CONFIG_CMDLINE handling for platforms which ought to ignore\n     DT arguments but have incorrectly used them & lost other arguments\n     since v3.16.\n\n   - Fix a path in MAINTAINERS to use valid wildcards.\n\n   - Fixup a regression from v4.17 in memset() for systems using\n     CPU_DADDI_WORKAROUNDS.\"\n\n* tag 'mips_fixes_4.19_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:\n  MIPS: memset: Fix CPU_DADDI_WORKAROUNDS `small_fixup' regression\n  MAINTAINERS: MIPS/LOONGSON2 ARCHITECTURE - Use the normal wildcard style\n  MIPS: Fix CONFIG_CMDLINE handling\n  MIPS: VDSO: Always map near top of user memory","distinct":true,"url":"https://api.github.com/repos/LeSpocky/linux/commits/701f2eb6f9382409bfa1e68a62729d6e5de54eef"},{"sha":"3d647e62686f447ca4c9ba6b4500fed5f0368a98","author":{"name":"Greg Kroah-Hartman","email":"4645f7897fd33786a2ee1264d590b3c400559d85@linuxfoundation.org"},"message":"Merge tag 's390-4.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux\n\nMartin writes:\n  \"s390 fixes for 4.19-rc8\n\n   Four more patches for 4.19:\n    - Fix resume after suspend-to-disk if resume-CPU != suspend-CPU\n    - Fix vfio-ccw check for pinned pages\n    - Two patches to avoid a usercopy-whitelist warning in vfio-ccw\"\n\n* tag 's390-4.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:\n  s390/cio: Fix how vfio-ccw checks pinned pages\n  s390/cio: Refactor alloc of ccw_io_region\n  s390/cio: Convert ccw_io_region to pointer\n  s390/hibernate: fix error handling when suspend cpu != resume cpu","distinct":true,"url":"https://api.github.com/repos/LeSpocky/linux/commits/3d647e62686f447ca4c9ba6b4500fed5f0368a98"}]}
{"actor":{"display_login":"LeSpocky"}}