On Thu, Mar 04, 2021 at 03:44:37PM +0900, Naoya Horiguchi wrote: > From: Naoya Horiguchi <naoya.horiguchi@xxxxxxx> Hi Naoya, good catch! > Currently me_huge_page() temporary unlocks page to perform some actions > then locks it again later. My testcase (which calls hard-offline on some > tail page in a hugetlb, then accesses the address of the hugetlb range) > showed that page allocation code detects the page lock on buddy page and > printed out "BUG: Bad page state" message. PG_hwpoison does not prevent > it because PG_hwpoison flag is set on any subpage of the hugetlb page > but the 2nd page lock is on the head page. I am having difficulties to parse "PG_hwpoison does not prevent it because PG_hwpoison flag is set on any subpage of the hugetlb page". What do you mean by that? > > This patch suggests to drop the 2nd page lock to fix the issue. > > Fixes: commit 78bb920344b8 ("mm: hwpoison: dissolve in-use hugepage in unrecoverable memory error") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Naoya Horiguchi <naoya.horiguchi@xxxxxxx> The fix looks fine to me: Reviewed-by: Oscar Salvador <osalvador@xxxxxxx> -- Oscar Salvador SUSE L3