[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20220615150119.6uvfxpvlm3fxmjex@revolver>
Date: Wed, 15 Jun 2022 15:01:27 +0000
From: Liam Howlett <liam.howlett@...cle.com>
To: Lukas Bulwahn <lukas.bulwahn@...il.com>
CC: "Matthew Wilcox (Oracle)" <willy@...radead.org>,
"maple-tree@...ts.infradead.org" <maple-tree@...ts.infradead.org>,
Linux-MM <linux-mm@...ck.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
kernel-janitors <kernel-janitors@...r.kernel.org>
Subject: Re: Issue in count_mm_mlocked_page_nr() with commit afcf76df48f9
("mm/mlock: use vma iterator and maple state instead of vma linked list")
* Lukas Bulwahn <lukas.bulwahn@...il.com> [220614 07:33]:
> Dear Matthew, dear Liam,
>
> The commit afcf76df48f9 ("mm/mlock: use vma iterator and maple state instead
> of vma linked list") refactors the function count_mm_mlocked_page_nr() in
> mm/mlock.c, such that the special case:
>
> if (mm == NULL)
> mm = current->mm;
>
> is now dead code. Before the refactoring, after this if statement, the variable
> mm was used further in vma = find_vma(mm, start) in the following line, but now,
> with the introduction of VMA_ITERATOR(vmi, mm, start) before the if statement,
> the assignment within the if statement is simply ignored.
>
> I assume that:
> - If the semantics of this function shall be preserved, the VMA_ITERATOR macro
> needs to move after the if statement.
>
> - or, if the consideration of the special case on mm == NULL is actually
> obsolete with this refactoring, it could be simply deleted.
I think this code was never necessary. This statement was added in the
same commit that added the only user of the function [1], which passes
in current->mm as the argument.
>
> I will keep it up to you how this issue is correctly resolved.
>
> This was discovered due to tracking all dead stores that clang-analyzer reports
> on an x86 defconfig. The underlying issue here is more severe than "just a dead
> store in the kernel code base", but it is probably easy for you to resolve.
>
Thanks for the report. This code should be dropped.
[1] Commit ID 0cf2f6f6dc605
Regards,
Liam
Powered by blists - more mailing lists