Skip to content

Commit 5db009d

Browse files
Matthew Wilcox (Oracle)tehcaster
authored andcommitted
slab: Remove folio references from __do_krealloc()
One slight tweak I made is to calculate 'ks' earlier, which means we can reuse it in the warning rather than calculating the object size twice. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Link: https://patch.msgid.link/20251113000932.1589073-10-willy@infradead.org Reviewed-by: Harry Yoo <harry.yoo@oracle.com> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
1 parent e409021 commit 5db009d

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

mm/slub.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6932,16 +6932,16 @@ __do_krealloc(const void *p, size_t new_size, unsigned long align, gfp_t flags,
69326932
if (is_kfence_address(p)) {
69336933
ks = orig_size = kfence_ksize(p);
69346934
} else {
6935-
struct folio *folio;
6935+
struct page *page = virt_to_page(p);
6936+
struct slab *slab = page_slab(page);
69366937

6937-
folio = virt_to_folio(p);
6938-
if (unlikely(!folio_test_slab(folio))) {
6938+
if (!slab) {
69396939
/* Big kmalloc object */
6940-
WARN_ON(folio_size(folio) <= KMALLOC_MAX_CACHE_SIZE);
6941-
WARN_ON(p != folio_address(folio));
6942-
ks = folio_size(folio);
6940+
ks = page_size(page);
6941+
WARN_ON(ks <= KMALLOC_MAX_CACHE_SIZE);
6942+
WARN_ON(p != page_address(page));
69436943
} else {
6944-
s = folio_slab(folio)->slab_cache;
6944+
s = slab->slab_cache;
69456945
orig_size = get_orig_size(s, (void *)p);
69466946
ks = s->object_size;
69476947
}

0 commit comments

Comments
 (0)