WSL2-Linux-Kernel/arch/x86/mm
NeilBrown 3d2fc4c082 x86: fix seq_file iteration for pat/memtype.c
The memtype seq_file iterator allocates a buffer in the ->start and ->next
functions and frees it in the ->show function.  The preferred handling for
such resources is to free them in the subsequent ->next or ->stop function
call.

Since Commit 1f4aace60b ("fs/seq_file.c: simplify seq_file iteration
code and interface") there is no guarantee that ->show will be called
after ->next, so this function can now leak memory.

So move the freeing of the buffer to ->next and ->stop.

Link: https://lkml.kernel.org/r/161248539022.21478.13874455485854739066.stgit@noble1
Fixes: 1f4aace60b ("fs/seq_file.c: simplify seq_file iteration code and interface")
Signed-off-by: NeilBrown <neilb@suse.de>
Cc: Xin Long <lucien.xin@gmail.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Cc: Neil Horman <nhorman@tuxdriver.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Vlad Yasevich <vyasevich@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-02-26 09:41:05 -08:00
..
pat x86: fix seq_file iteration for pat/memtype.c 2021-02-26 09:41:05 -08:00
Makefile
amdtopology.c
cpu_entry_area.c x86/dumpstack/64: Add noinstr version of get_stack_info() 2020-09-09 11:33:19 +02:00
debug_pagetables.c
dump_pagetables.c
extable.c This feature enhances the current guest memory encryption support 2020-10-14 10:21:34 -07:00
fault.c kfence: add test suite 2021-02-26 09:41:02 -08:00
highmem_32.c x86/mm/highmem: Use generic kmap atomic implementation 2020-11-06 23:14:55 +01:00
hugetlbpage.c mm: remove unneeded includes of <asm/pgalloc.h> 2020-08-07 11:33:26 -07:00
ident_map.c x86/mm/ident_map: Check for errors from ident_pud_init() 2020-10-28 14:48:30 +01:00
init.c x86/mm: Increase pgt_buf size for 5-level page tables 2021-01-04 18:07:50 +01:00
init_32.c x86/mm/highmem: Use generic kmap atomic implementation 2020-11-06 23:14:55 +01:00
init_64.c x86/mm/64: Update comment in preallocate_vmalloc_pages() 2020-08-15 13:56:16 +02:00
iomap_32.c io-mapping: Cleanup atomic iomap 2020-11-06 23:14:58 +01:00
ioremap.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
kasan_init_64.c
kaslr.c mm: remove unneeded includes of <asm/pgalloc.h> 2020-08-07 11:33:26 -07:00
kmmio.c
maccess.c
mem_encrypt.c Do not unroll string I/O for SEV-ES guests because they support it. 2021-02-20 19:16:02 -08:00
mem_encrypt_boot.S
mem_encrypt_identity.c x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP 2020-12-10 12:28:06 +01:00
mm_internal.h
mmap.c
mmio-mod.c x86: Remove definition of DEBUG 2021-01-15 08:23:10 +01:00
numa.c mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports 2020-11-22 10:48:22 -08:00
numa_32.c
numa_64.c
numa_emulation.c x86/numa: cleanup configuration dependent command-line options 2020-10-13 18:38:27 -07:00
numa_internal.h
pf_in.c
pf_in.h
pgtable.c x86/mm: Fix leak of pmd ptlock 2021-01-05 11:40:23 +01:00
pgtable_32.c mm: remove unneeded includes of <asm/pgalloc.h> 2020-08-07 11:33:26 -07:00
physaddr.c
physaddr.h
pkeys.c
pti.c mm: remove unneeded includes of <asm/pgalloc.h> 2020-08-07 11:33:26 -07:00
setup_nx.c
srat.c
testmmiotrace.c
tlb.c x86/membarrier: Get rid of a dubious optimization 2020-12-09 09:37:42 +01:00