mirror of https://github.com/torvalds/linux.git
slab: Remove folio references from kfree_nolock()
In preparation for splitting struct slab from struct page and struct folio, remove mentions of struct folio from this function. Since large kmalloc objects are not supported here, we can just use virt_to_slab(). Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Link: https://patch.msgid.link/20251113000932.1589073-13-willy@infradead.org Reviewed-by: Harry Yoo <harry.yoo@oracle.com> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
This commit is contained in:
parent
7d26842fd4
commit
025f5b870b
|
|
@ -6850,7 +6850,6 @@ EXPORT_SYMBOL(kfree);
|
|||
*/
|
||||
void kfree_nolock(const void *object)
|
||||
{
|
||||
struct folio *folio;
|
||||
struct slab *slab;
|
||||
struct kmem_cache *s;
|
||||
void *x = (void *)object;
|
||||
|
|
@ -6858,13 +6857,12 @@ void kfree_nolock(const void *object)
|
|||
if (unlikely(ZERO_OR_NULL_PTR(object)))
|
||||
return;
|
||||
|
||||
folio = virt_to_folio(object);
|
||||
if (unlikely(!folio_test_slab(folio))) {
|
||||
slab = virt_to_slab(object);
|
||||
if (unlikely(!slab)) {
|
||||
WARN_ONCE(1, "large_kmalloc is not supported by kfree_nolock()");
|
||||
return;
|
||||
}
|
||||
|
||||
slab = folio_slab(folio);
|
||||
s = slab->slab_cache;
|
||||
|
||||
memcg_slab_free_hook(s, slab, &x, 1);
|
||||
|
|
|
|||
Loading…
Reference in New Issue