Wang Hai
19193ef53a
UPSTREAM: Revert "mm/slub: fix a memory leak in sysfs_slab_add()"
...
commit 757fed1d0898b893d7daa84183947c70f27632f3 upstream.
This reverts commit dde3c6b72a16c2db826f54b2d49bdea26c3534a2.
syzbot report a double-free bug. The following case can cause this bug.
- mm/slab_common.c: create_cache(): if the __kmem_cache_create() fails,
it does:
out_free_cache:
kmem_cache_free(kmem_cache, s);
- but __kmem_cache_create() - at least for slub() - will have done
sysfs_slab_add(s)
-> sysfs_create_group() .. fails ..
-> kobject_del(&s->kobj); .. which frees s ...
We can't remove the kmem_cache_free() in create_cache(), because other
error cases of __kmem_cache_create() do not free this.
So, revert the commit dde3c6b72a16 ("mm/slub: fix a memory leak in
sysfs_slab_add()") to fix this.
Reported-by: syzbot+d0bd96b4696c1ef67991@syzkaller.appspotmail.com
Fixes: dde3c6b72a16 ("mm/slub: fix a memory leak in sysfs_slab_add()")
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Wang Hai <wanghai38@huawei.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 757fed1d0898b893d7daa84183947c70f27632f3)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I3743749e527dddde63620ac16a0db66c475ac404
2021-01-29 13:15:03 +01:00
..
kasan
kasan: disable branch tracing for core runtime
2020-05-27 17:46:48 +02:00
backing-dev.c
bdi: add a ->dev_name field to struct backing_dev_info
2020-05-14 07:58:30 +02:00
balloon_compaction.c
mm/balloon_compaction: suppress allocation warnings
2019-09-04 07:42:01 -04:00
cleancache.c
Driver Core and debugfs changes for 5.3-rc1
2019-07-12 12:24:03 -07:00
cma.c
ANDROID: GKI: export cma symbols for cma heap as a module
2019-09-24 12:03:45 -07:00
cma.h
cma_debug.c
compaction.c
mm, compaction: make capture control handling safe wrt interrupts
2020-07-09 09:37:57 +02:00
debug.c
mm/debug.c: always print flags in dump_page()
2020-03-05 16:43:51 +01:00
debug_page_ref.c
dmapool.c
mm: security: introduce init_on_alloc=1 and init_on_free=1 boot options
2019-07-12 11:05:46 -07:00
early_ioremap.c
fadvise.c
fs: Export generic_fadvise()
2019-08-30 22:43:58 -07:00
failslab.c
filemap.c
mm/filemap.c: don't bother dropping mmap_sem for zero size readahead
2020-08-05 09:59:41 +02:00
frame_vector.c
mm: untag user pointers in get_vaddr_frames
2019-09-25 17:51:41 -07:00
frontswap.c
gup.c
gup: document and work around "COW can break either way" issue
2020-06-17 16:40:30 +02:00
gup_benchmark.c
mm/gup: fix memory leak in __gup_benchmark_ioctl
2020-01-09 10:20:00 +01:00
highmem.c
hmm.c
pagewalk: separate function pointers from iterator data
2019-09-07 04:28:04 -03:00
huge_memory.c
mm: thp: make the THP mapcount atomic against __split_huge_pmd_locked()
2020-06-22 09:31:14 +02:00
hugetlb.c
mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible
2020-08-26 10:41:07 +02:00
hugetlb_cgroup.c
mm: hugetlb: switch to css_tryget() in hugetlb_cgroup_charge_cgroup()
2019-11-15 18:34:00 -08:00
hwpoison-inject.c
init-mm.c
mm/init-mm.c: include <linux/mman.h> for vm_committed_as_batch
2019-10-19 06:32:32 -04:00
internal.h
mm: drop mmap_sem before calling balance_dirty_pages() in write fault
2020-01-09 10:19:55 +01:00
interval_tree.c
Kconfig
mm,thp: add read-only THP support for (non-shmem) FS
2019-09-24 15:54:11 -07:00
Kconfig.debug
mm, page_owner, debug_pagealloc: save and dump freeing stack trace
2019-09-24 15:54:08 -07:00
khugepaged.c
khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter()
2020-08-26 10:40:48 +02:00
kmemleak-test.c
kmemleak.c
kmemleak: Do not corrupt the object_list during clean-up
2019-10-14 08:56:16 -07:00
ksm.c
mm/ksm: fix NULL pointer dereference when KSM zero page is enabled
2020-04-29 16:33:15 +02:00
list_lru.c
mm: memcg/slab: stop setting page->mem_cgroup pointer for slab pages
2019-07-12 11:05:44 -07:00
maccess.c
uaccess: Add non-pagefault user-space write function
2020-01-17 19:48:40 +01:00
madvise.c
This is the 5.4.28 stable release
2020-03-25 16:12:11 +01:00
Makefile
mm: silence -Woverride-init/initializer-overrides
2019-09-24 15:54:10 -07:00
memblock.c
ANDROID: mm/memblock: export memblock_end_of_DRAM
2020-12-14 06:29:58 +00:00
memcontrol.c
mm/memcg: fix refcount error while moving and swapping
2020-07-29 10:18:43 +02:00
memfd.c
mm: page cache: store only head pages in i_pages
2019-09-24 15:54:08 -07:00
memory-failure.c
mm/memory-failure.c: don't access uninitialized memmaps in memory_failure()
2019-10-19 06:32:31 -04:00
memory.c
ANDROID: mm/memory.c: fix export symbol type
2020-04-30 12:26:30 +02:00
memory_hotplug.c
Revert "ANDROID: Revert: Merge 5.4.60 into android11-5.4"
2020-08-23 13:12:51 +02:00
mempolicy.c
This is the 5.4.31 stable release
2020-04-08 13:00:39 +02:00
mempool.c
memremap.c
mm/memory_hotplug: shrink zones when offlining memory
2020-01-09 10:19:56 +01:00
memtest.c
migrate.c
mm: move_pages: report the number of non-attempted pages
2020-02-11 04:35:13 -08:00
mincore.c
mm: untag user pointers passed to memory syscalls
2019-09-25 17:51:41 -07:00
mlock.c
Merge 5.4-rc1-prelrease into android-mainline
2019-10-02 17:58:47 +02:00
mm_init.c
mmap.c
This is the 5.4.59 stable release
2020-08-19 08:40:57 +02:00
mmu_context.c
mmu_gather.c
mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush
2020-02-11 04:35:42 -08:00
mmu_notifier.c
mm/mmu_notifiers: use the right return code for WARN_ON
2019-11-06 08:47:50 -08:00
mmzone.c
mprotect.c
Revert "BACKPORT: FROMGIT: mm: improve mprotect(R|W) efficiency on pages referenced once"
2021-01-18 16:25:18 +00:00
mremap.c
mm: Fix mremap not considering huge pmd devmap
2020-06-07 13:18:46 +02:00
msync.c
mm: untag user pointers passed to memory syscalls
2019-09-25 17:51:41 -07:00
nommu.c
x86/mm: split vmalloc_sync_all()
2020-03-25 08:25:58 +01:00
oom_kill.c
FROMGIT: mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary
2020-09-15 09:34:00 -07:00
page-writeback.c
mm/page-writeback.c: avoid potential division by zero in wb_min_max_ratio()
2020-01-23 08:22:41 +01:00
page_alloc.c
ANDROID: GKI: add fields required to enable CONFIG_TRANSPARENT_HUGEPAGE
2020-10-15 17:21:03 +02:00
page_counter.c
Revert "ANDROID: Revert: Merge 5.4.60 into android11-5.4"
2020-08-23 13:12:51 +02:00
page_ext.c
mm, page_owner: fix off-by-one error in __set_page_owner_handle()
2019-10-14 15:04:00 -07:00
page_idle.c
page_io.c
UPSTREAM: mm/page_io.c: annotate refault stalls from swap_readpage
2020-01-24 17:54:59 +00:00
page_isolation.c
page_owner.c
mm/page_owner: don't access uninitialized memmaps when reading /proc/pagetypeinfo
2019-10-19 06:32:31 -04:00
page_poison.c
mm/page_poison.c: fix a typo in a comment
2019-09-24 15:54:08 -07:00
page_vma_mapped.c
mm: introduce page_size()
2019-09-24 15:54:08 -07:00
pagewalk.c
pagewalk: use lockdep_assert_held for locking validation
2019-09-07 04:28:04 -03:00
percpu-internal.h
percpu-km.c
percpu-stats.c
percpu-vm.c
percpu.c
percpu: Use struct_size() helper
2019-09-04 13:40:49 -07:00
pgtable-generic.c
process_vm_access.c
readahead.c
rmap.c
mm: include <linux/huge_mm.h> for is_vma_temporary_stack
2019-10-19 06:32:32 -04:00
rodata_test.c
shmem.c
This is the 5.4.42 stable release
2020-05-20 12:49:59 +02:00
shuffle.c
mm: fix -Wmissing-prototypes warnings
2019-10-07 15:47:19 -07:00
shuffle.h
slab.c
mm, debug_pagealloc: don't rely on static keys too early
2020-01-23 08:22:40 +01:00
slab.h
mm: slab: make page_cgroup_ino() to recognize non-compound slab pages properly
2019-11-06 08:47:50 -08:00
slab_common.c
mm: memcg/slab: fix memory leak at non-root kmem_cache destroy
2020-07-29 10:18:44 +02:00
slob.c
UPSTREAM: mm/sl[uo]b: export __kmalloc_track(_node)_caller
2020-11-02 16:12:00 +00:00
slub.c
UPSTREAM: Revert "mm/slub: fix a memory leak in sysfs_slab_add()"
2021-01-29 13:15:03 +01:00
sparse-vmemmap.c
mm/sparsemem: convert kmalloc_section_memmap() to populate_section_memmap()
2019-07-18 17:08:07 -07:00
sparse.c
mm/sparse: fix kernel crash with pfn_section_valid check
2020-04-01 11:02:03 +02:00
swap.c
mm: introduce MADV_COLD
2019-09-25 17:51:41 -07:00
swap_cgroup.c
swap_slots.c
swap_state.c
mm: fix swap cache node allocation mask
2020-07-09 09:37:49 +02:00
swapfile.c
UPSTREAM: Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-5.4.y' into android-5.4 (v5.7-rc1)
2020-04-15 03:11:03 +00:00
truncate.c
mm/thp: allow dropping THP from page cache
2019-10-19 06:32:33 -04:00
usercopy.c
usercopy: Avoid HIGHMEM pfn warning
2019-09-17 15:20:17 -07:00
userfaultfd.c
util.c
mm: add kvfree_sensitive() for freeing sensitive data objects
2020-06-17 16:40:23 +02:00
vmacache.c
vmalloc.c
vmalloc: fix remap_vmalloc_range() bounds checks
2020-04-29 16:33:14 +02:00
vmpressure.c
mm/vmpressure.c: fix a signedness bug in vmpressure_register_event()
2019-10-07 15:47:19 -07:00
vmscan.c
mm/vmscan.c: don't round up scan size for online memory cgroup
2020-02-28 17:22:20 +01:00
vmstat.c
ANDROID: GKI: add fields required to enable CONFIG_TRANSPARENT_HUGEPAGE
2020-10-15 17:21:03 +02:00
workingset.c
mm: workingset: fix vmstat counters for shadow nodes
2019-08-13 16:06:52 -07:00
z3fold.c
mm/z3fold.c: claim page in the beginning of free
2019-10-07 15:47:19 -07:00
zbud.c
zpool.c
zpool: add malloc_support_movable to zpool_driver
2019-09-24 15:54:12 -07:00
zsmalloc.c
mm/zsmalloc.c: fix the migrated zspage statistics.
2020-01-09 10:19:56 +01:00
zswap.c
zswap: do not map same object twice
2019-09-24 15:54:12 -07:00