From: Pedro Falcato Date: Mon, 21 Apr 2025 17:16:28 +0000 (+0100) Subject: mm: workingset: simplify lockdep check in update_node X-Git-Tag: v6.16-rc1~92^2~85 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=551c643fb29a221e8fcd00ff680a364a73deb2f3;p=thirdparty%2Flinux.git mm: workingset: simplify lockdep check in update_node container_of(node->array, ..., i_pages) just to access i_pages again is an incredibly roundabout way of accessing node->array itself. Simplify it. Link: https://lkml.kernel.org/r/20250421-workingset-simplify-v1-1-de5c40051e0e@suse.de Signed-off-by: Pedro Falcato Reviewed-by: Matthew Wilcox (Oracle) Acked-by: Johannes Weiner Signed-off-by: Andrew Morton --- diff --git a/mm/workingset.c b/mm/workingset.c index 4841ae8af4111..6e7f4cb1b9a78 100644 --- a/mm/workingset.c +++ b/mm/workingset.c @@ -612,7 +612,6 @@ struct list_lru shadow_nodes; void workingset_update_node(struct xa_node *node) { - struct address_space *mapping; struct page *page = virt_to_page(node); /* @@ -623,8 +622,7 @@ void workingset_update_node(struct xa_node *node) * already where they should be. The list_empty() test is safe * as node->private_list is protected by the i_pages lock. */ - mapping = container_of(node->array, struct address_space, i_pages); - lockdep_assert_held(&mapping->i_pages.xa_lock); + lockdep_assert_held(&node->array->xa_lock); if (node->count && node->count == node->nr_values) { if (list_empty(&node->private_list)) {