From: Linus Torvalds Date: Tue, 2 Jun 2020 19:21:36 +0000 (-0700) Subject: Merge branch 'akpm' (patches from Andrew) X-Git-Tag: v5.8-rc1~201 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=94709049fb8442fb2f7b91fbec3c2897a75e18df;p=users%2Fjedix%2Flinux-maple.git Merge branch 'akpm' (patches from Andrew) Merge updates from Andrew Morton: "A few little subsystems and a start of a lot of MM patches. Subsystems affected by this patch series: squashfs, ocfs2, parisc, vfs. With mm subsystems: slab-generic, slub, debug, pagecache, gup, swap, memcg, pagemap, memory-failure, vmalloc, kasan" * emailed patches from Andrew Morton : (128 commits) kasan: move kasan_report() into report.c mm/mm_init.c: report kasan-tag information stored in page->flags ubsan: entirely disable alignment checks under UBSAN_TRAP kasan: fix clang compilation warning due to stack protector x86/mm: remove vmalloc faulting mm: remove vmalloc_sync_(un)mappings() x86/mm/32: implement arch_sync_kernel_mappings() x86/mm/64: implement arch_sync_kernel_mappings() mm/ioremap: track which page-table levels were modified mm/vmalloc: track which page-table levels were modified mm: add functions to track page directory modifications s390: use __vmalloc_node in stack_alloc powerpc: use __vmalloc_node in alloc_vm_stack arm64: use __vmalloc_node in arch_alloc_vmap_stack mm: remove vmalloc_user_node_flags mm: switch the test_vmalloc module to use __vmalloc_node mm: remove __vmalloc_node_flags_caller mm: remove both instances of __vmalloc_node_flags mm: remove the prot argument to __vmalloc_node mm: remove the pgprot argument to __vmalloc ... --- 94709049fb8442fb2f7b91fbec3c2897a75e18df diff --cc drivers/base/node.c index 50b8c0d43859,6012574913f7..5b02f69769e8 --- a/drivers/base/node.c +++ b/drivers/base/node.c @@@ -441,11 -438,8 +441,11 @@@ static ssize_t node_read_meminfo(struc nid, K(node_page_state(pgdat, NR_ANON_MAPPED)), nid, K(i.sharedram), nid, sum_zone_node_page_state(nid, NR_KERNEL_STACK_KB), +#ifdef CONFIG_SHADOW_CALL_STACK + nid, sum_zone_node_page_state(nid, NR_KERNEL_SCS_KB), +#endif nid, K(sum_zone_node_page_state(nid, NR_PAGETABLE)), - nid, K(node_page_state(pgdat, NR_UNSTABLE_NFS)), + nid, 0UL, nid, K(sum_zone_node_page_state(nid, NR_BOUNCE)), nid, K(node_page_state(pgdat, NR_WRITEBACK_TEMP)), nid, K(sreclaimable + diff --cc fs/squashfs/decompressor_multi_percpu.c index e206ebfe003c,d93e12d9b712..b881b9283b7f --- a/fs/squashfs/decompressor_multi_percpu.c +++ b/fs/squashfs/decompressor_multi_percpu.c @@@ -75,19 -72,18 +75,19 @@@ void squashfs_decompressor_destroy(stru } } - int squashfs_decompress(struct squashfs_sb_info *msblk, struct buffer_head **bh, - int b, int offset, int length, struct squashfs_page_actor *output) + int squashfs_decompress(struct squashfs_sb_info *msblk, struct bio *bio, + int offset, int length, struct squashfs_page_actor *output) { - struct squashfs_stream __percpu *percpu; struct squashfs_stream *stream; int res; - percpu = (struct squashfs_stream __percpu *)msblk->stream; - stream = get_cpu_ptr(percpu); + local_lock(&msblk->stream->lock); + stream = this_cpu_ptr(msblk->stream); + - res = msblk->decompressor->decompress(msblk, stream->stream, bh, b, - offset, length, output); + res = msblk->decompressor->decompress(msblk, stream->stream, bio, + offset, length, output); - put_cpu_ptr(stream); + + local_unlock(&msblk->stream->lock); if (res < 0) ERROR("%s decompression failed, data probably corrupt\n",