From 6d9254982a1a2ec295b908b9c5e404dbac6ac022 Mon Sep 17 00:00:00 2001 From: Benjamin Poirier Date: Tue, 8 Jan 2019 05:31:44 +0900 Subject: [PATCH] inject: Add support for alloc_page family of functions (#2114) * inject: Add support for alloc_page family of functions * Add vim backup files to gitignore --- .gitignore | 1 + tools/inject.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2e39a80cb838..65a3946c568b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ *.swo *.pyc .idea +*~ # Build artifacts /build/ diff --git a/tools/inject.py b/tools/inject.py index bf07a8ff840c..2cf990918a32 100755 --- a/tools/inject.py +++ b/tools/inject.py @@ -41,6 +41,7 @@ class Probe: errno_mapping = { "kmalloc": "-ENOMEM", "bio": "-EIO", + "alloc_page" : "true", } @classmethod @@ -327,6 +328,7 @@ class Tool: error_injection_mapping = { "kmalloc": "should_failslab(struct kmem_cache *s, gfp_t gfpflags)", "bio": "should_fail_bio(struct bio *bio)", + "alloc_page": "should_fail_alloc_page(gfp_t gfp_mask, unsigned int order)", } def __init__(self): @@ -334,7 +336,7 @@ def __init__(self): " functionality when call chain and predicates are met", formatter_class=argparse.RawDescriptionHelpFormatter, epilog=Tool.examples) - parser.add_argument(dest="mode", choices=['kmalloc','bio'], + parser.add_argument(dest="mode", choices=["kmalloc", "bio", "alloc_page"], help="indicate which base kernel function to fail") parser.add_argument(metavar="spec", dest="spec", help="specify call chain")