@@ -1398,13 +1398,6 @@ static void kill_me_maybe(struct callback_head *cb)
return;
}
- /*
- * -EHWPOISON from memory_failure() means that it already sent SIGBUS
- * to the current process with the proper error info,
- * -EOPNOTSUPP means hwpoison_filter() filtered the error event,
- *
- * In both cases, no further processing is required.
- */
if (ret == -EHWPOISON || ret == -EOPNOTSUPP)
return;
@@ -2211,9 +2211,13 @@ static void kill_procs_now(struct page *p, unsigned long pfn, int flags,
* Must run in process context (e.g. a work queue) with interrupts
* enabled and no spinlocks held.
*
- * Return: 0 for successfully handled the memory error,
- * -EOPNOTSUPP for hwpoison_filter() filtered the error event,
- * < 0(except -EOPNOTSUPP) on failure.
+ * Return:
+ * 0 - success,
+ * -ENXIO - memory not managed by the kernel
+ * -EOPNOTSUPP - hwpoison_filter() filtered the error event,
+ * -EHWPOISON - the page was already poisoned, potentially
+ * kill process,
+ * other negative values - failure.
*/
int memory_failure(unsigned long pfn, int flags)
{