> }
> goto unlock_mutex;
> } else if (res < 0) {
> - if (is_reserved)
> + /*
> + * Promote a stable unhandlable kernel page diagnosed by
> + * get_hwpoison_page() to MF_MSG_KERNEL alongside reserved
> + * pages; transient lifecycle races stay as MF_MSG_GET_HWPOISON.
> + */
> + if (is_reserved || gp_status == MF_GET_PAGE_UNHANDLABLE)
> res = action_result(pfn, MF_MSG_KERNEL, MF_IGNORED);
It's all a bit of a mess. get_hwpoison_page() should just indicate that a page
is unhandable if it is PG_reserved?
Why can't we just return a special error code from get_hwpoison_page()? We ahve
plenty of errno values to chose from.
--
Cheers,
David