user_data: compat syscall parameters are user data
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 15 Apr 2013 08:03:41 +0000 (15 11:03 +0300)
committerDan Carpenter <dan.carpenter@oracle.com>
Mon, 15 Apr 2013 08:03:41 +0000 (15 11:03 +0300)
Regular syscalls were handled but compat syscalls use a different macro.
I've added a second test for it.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
check_user_data.c

index b5e3b86..ca584e3 100644 (file)
@@ -208,7 +208,8 @@ static void match_syscall_definition(struct symbol *sym)
        macro = get_macro_name(sym->pos);
        if (!macro)
                return;
-       if (strncmp("SYSCALL_DEFINE", macro, strlen("SYSCALL_DEFINE")))
+       if (strncmp("SYSCALL_DEFINE", macro, strlen("SYSCALL_DEFINE")) != 0 &&
+           strncmp("COMPAT_SYSCALL_DEFINE", macro, strlen("COMPAT_SYSCALL_DEFINE")) != 0)
                return;
 
        FOR_EACH_PTR(sym->ctype.base_type->arguments, arg) {