On 15.05.25 08:34, Dev Jain wrote:
Commit 9c006972c3fe removes the pxd_present() checks because the caller checks pxd_present(). But, in case of vmap_try_huge_pud(), the caller only checks pud_present(); pud_free_pmd_page() recurses on each pmd through pmd_free_pte_page(), wherein the pmd may be none.
The commit states: "The core code already has a check for pXd_none()", so I assume that assumption was not true in all cases?
Should that one problematic caller then check for pmd_none() instead?
If you were able to trigger this WARN, it's always a good idea to include the splat in the commit.