From e87352d289aa19ed388e9e19507d86a39936f3b4 Mon Sep 17 00:00:00 2001 From: Kees Cook Date: Mon, 18 Feb 2013 12:02:33 -0800 Subject: testsuite: handle finit_module This adds the finit_module logic to the testsuite. --- testsuite/init_module.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'testsuite') diff --git a/testsuite/init_module.c b/testsuite/init_module.c index c4d7efb..ca9f84c 100644 --- a/testsuite/init_module.c +++ b/testsuite/init_module.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -274,6 +275,29 @@ long init_module(void *mem, unsigned long len, const char *args) return err; } +TS_EXPORT int finit_module(const int fd, const char *args, const int flags); + +int finit_module(const int fd, const char *args, const int flags) +{ + int err; + void *mem; + unsigned long len; + struct stat st; + + if (fstat(fd, &st) < 0) + return -1; + + len = st.st_size; + mem = mmap(NULL, len, PROT_READ, MAP_PRIVATE, fd, 0); + if (mem == MAP_FAILED) + return -1; + + err = init_module(mem, len, args); + munmap(mem, len); + + return err; +} + /* the test is going away anyway, but lets keep valgrind happy */ void free_resources(void) __attribute__((destructor)); void free_resources(void) -- cgit v1.2.3