The patch titled Subject: zstd-pass-pointer-rathen-than-structure-to-functions-fix has been added to the -mm tree. Its filename is zstd-pass-pointer-rathen-than-structure-to-functions-fix.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/zstd-pass-pointer-rathen-than-structure-to-functions-fix.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/zstd-pass-pointer-rathen-than-structure-to-functions-fix.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: zstd-pass-pointer-rathen-than-structure-to-functions-fix fix fs/btrfs/zstd.c Cc: Amit Sahrawat <a.sahrawat@xxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Maninder Singh <maninder1.s@xxxxxxxxxxx> Cc: <pankaj.m@xxxxxxxxxxx> Cc: Vaneet Narang <v.narang@xxxxxxxxxxx> Cc: Chris Mason <clm@xxxxxx> Cc: Josef Bacik <josef@xxxxxxxxxxxxxx> Cc: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/btrfs/zstd.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) --- a/fs/btrfs/zstd.c~zstd-pass-pointer-rathen-than-structure-to-functions-fix +++ a/fs/btrfs/zstd.c @@ -27,15 +27,17 @@ /* 307s to avoid pathologically clashing with transaction commit */ #define ZSTD_BTRFS_RECLAIM_JIFFIES (307 * HZ) -static ZSTD_parameters zstd_get_btrfs_parameters(unsigned int level, +static ZSTD_parameters *zstd_get_btrfs_parameters(unsigned int level, size_t src_len) { - ZSTD_parameters params = ZSTD_getParams(level, src_len, 0); + static ZSTD_parameters params; + + params = ZSTD_getParams(level, src_len, 0); if (params.cParams.windowLog > ZSTD_BTRFS_MAX_WINDOWLOG) params.cParams.windowLog = ZSTD_BTRFS_MAX_WINDOWLOG; WARN_ON(src_len > ZSTD_BTRFS_MAX_INPUT); - return params; + return ¶ms; } struct workspace { @@ -155,11 +157,12 @@ static void zstd_calc_ws_mem_sizes(void) unsigned int level; for (level = 1; level <= ZSTD_BTRFS_MAX_LEVEL; level++) { - ZSTD_parameters params = - zstd_get_btrfs_parameters(level, ZSTD_BTRFS_MAX_INPUT); - size_t level_size = - max_t(size_t, - ZSTD_CStreamWorkspaceBound(params.cParams), + ZSTD_parameters *params; + size_t level_size; + + params = zstd_get_btrfs_parameters(level, ZSTD_BTRFS_MAX_INPUT); + level_size = max_t(size_t, + ZSTD_CStreamWorkspaceBound(params->cParams), ZSTD_DStreamWorkspaceBound(ZSTD_BTRFS_MAX_INPUT)); max_size = max_t(size_t, max_size, level_size); @@ -385,8 +388,9 @@ static int zstd_compress_pages(struct li unsigned long len = *total_out; const unsigned long nr_dest_pages = *out_pages; unsigned long max_out = nr_dest_pages * PAGE_SIZE; - ZSTD_parameters params = zstd_get_btrfs_parameters(workspace->req_level, - len); + ZSTD_parameters *params; + + params = zstd_get_btrfs_parameters(workspace->req_level, len); *out_pages = 0; *total_out = 0; _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are mm-mmu_gather-remove-__tlb_reset_range-for-force-flush-checkpatch-fixes.patch zstd-pass-pointer-rathen-than-structure-to-functions-fix.patch scripts-spellingtxt-drop-sepc-from-the-misspelling-list-fix.patch ocfs2-clear-zero-in-unaligned-direct-io-checkpatch-fixes.patch mm.patch include-linux-pfn_th-remove-pfn_t_to_virt.patch mm-swap-use-rbtree-for-swap_extent-fix.patch proc-sysctl-add-shared-variables-for-range-check-fix.patch vmcore-add-a-kernel-parameter-novmcoredd-fix.patch vmcore-add-a-kernel-parameter-novmcoredd-fix-fix.patch byteorder-sanity-check-toolchain-vs-kernel-endianess-checkpatch-fixes.patch selftests-ptrace-add-a-test-case-for-ptrace_get_syscall_info-checkpatch-fixes.patch linux-next-rejects.patch kernel-forkc-export-kernel_thread-to-modules.patch