|
@@ -18,6 +18,8 @@ static int hwpoison_inject(void *data, u64 val)
|
|
if (!capable(CAP_SYS_ADMIN))
|
|
if (!capable(CAP_SYS_ADMIN))
|
|
return -EPERM;
|
|
return -EPERM;
|
|
|
|
|
|
|
|
+ if (!hwpoison_filter_enable)
|
|
|
|
+ goto inject;
|
|
if (!pfn_valid(pfn))
|
|
if (!pfn_valid(pfn))
|
|
return -ENXIO;
|
|
return -ENXIO;
|
|
|
|
|
|
@@ -48,6 +50,7 @@ static int hwpoison_inject(void *data, u64 val)
|
|
if (err)
|
|
if (err)
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
|
|
+inject:
|
|
printk(KERN_INFO "Injecting memory failure at pfn %lx\n", pfn);
|
|
printk(KERN_INFO "Injecting memory failure at pfn %lx\n", pfn);
|
|
return __memory_failure(pfn, 18, MF_COUNT_INCREASED);
|
|
return __memory_failure(pfn, 18, MF_COUNT_INCREASED);
|
|
}
|
|
}
|