{ "functions": [ { "name": "__do_sys_scopes0", "file": "scopes.c", "start_line": 26, "end_line": 53, "scopes": [ { "arg": -1, "calls": [ "__fget_light" ], "facts": [ { "src": { "argument": { "func": "__do_sys_scopes0", "arg": 2 } }, "dst": { "argument": { "func": "__fget_light", "arg": 0 } } }, { "src": { "local": { "name": "tmp" } }, "dst": { "return": { "func": "__do_sys_scopes0" } } } ] }, { "arg": 1, "values": [ "FOO_IOCTL1" ], "start_line": 31, "end_line": 34, "calls": [ "__fget_light" ], "facts": [ { "src": { "argument": { "func": "__do_sys_scopes0", "arg": 0 } }, "dst": { "argument": { "func": "__fget_light", "arg": 0 } } } ] }, { "arg": 1, "values": [ "FOO_IOCTL2", "FOO_IOCTL3" ], "start_line": 34, "end_line": 38, "calls": [ "alloc_fd" ], "facts": [ { "src": { "return": { "func": "alloc_fd" } }, "dst": { "local": { "name": "tmp" } } }, { "src": { "local": { "name": "tmp" } }, "dst": { "return": { "func": "__do_sys_scopes0" } } } ] }, { "arg": 1, "values": [ "FOO_IOCTL4", "1074291461", "1074291462" ], "start_line": 38, "end_line": 41 }, { "arg": 1, "values": [ "FOO_IOCTL7", "FOO_IOCTL8" ], "start_line": 41, "end_line": 45, "calls": [ "scopes_helper" ], "facts": [ { "src": { "return": { "func": "scopes_helper" } }, "dst": { "local": { "name": "tmp" } } }, { "src": { "argument": { "func": "__do_sys_scopes0", "arg": 1 } }, "dst": { "argument": { "func": "scopes_helper", "arg": 0 } } }, { "src": { "argument": { "func": "__do_sys_scopes0", "arg": 0 } }, "dst": { "argument": { "func": "scopes_helper", "arg": 1 } } } ] }, { "arg": 1, "values": [ "100", "101", "102" ], "start_line": 45, "end_line": 48 }, { "arg": 1, "start_line": 48, "end_line": 51, "facts": [ { "src": { "argument": { "func": "__do_sys_scopes0", "arg": 1 } }, "dst": { "local": { "name": "tmp" } } } ] } ] }, { "name": "__fget_light", "file": "include/fs.h", "start_line": 19, "end_line": 21, "is_static": true, "scopes": [ { "arg": -1 } ] }, { "name": "alloc_fd", "file": "include/fs.h", "start_line": 14, "end_line": 17, "is_static": true, "scopes": [ { "arg": -1 } ] }, { "name": "from_kuid", "file": "include/fs.h", "start_line": 23, "end_line": 26, "is_static": true, "scopes": [ { "arg": -1 } ] }, { "name": "scopes_helper", "file": "scopes.c", "start_line": 11, "end_line": 24, "is_static": true, "scopes": [ { "arg": -1 }, { "arg": 0, "values": [ "FOO_IOCTL7" ], "start_line": 14, "end_line": 16, "calls": [ "alloc_fd" ], "facts": [ { "src": { "return": { "func": "alloc_fd" } }, "dst": { "return": { "func": "scopes_helper" } } } ] }, { "arg": 0, "values": [ "FOO_IOCTL8" ], "start_line": 16, "end_line": 19, "calls": [ "__fget_light" ], "facts": [ { "src": { "argument": { "func": "scopes_helper", "arg": 1 } }, "dst": { "argument": { "func": "__fget_light", "arg": 0 } } } ] }, { "arg": 0, "values": [ "LARGE_UINT", "LARGE_SINT" ], "start_line": 19, "end_line": 22 } ] } ], "consts": [ { "name": "FOO_IOCTL1", "filename": "include/uapi/file_operations.h", "value": 25345 }, { "name": "FOO_IOCTL2", "filename": "include/uapi/file_operations.h", "value": 2147771138 }, { "name": "FOO_IOCTL3", "filename": "include/uapi/file_operations.h", "value": 2148033283 }, { "name": "FOO_IOCTL4", "filename": "include/uapi/file_operations.h", "value": 1074291460 }, { "name": "FOO_IOCTL7", "filename": "include/uapi/file_operations.h", "value": 25351 }, { "name": "FOO_IOCTL8", "filename": "include/uapi/file_operations.h", "value": 25352 }, { "name": "LARGE_SINT", "filename": "scopes.c", "value": 0 }, { "name": "LARGE_UINT", "filename": "scopes.c", "value": -9223372036854775808 } ], "structs": [ { "name": "foo_ioctl_arg", "byte_size": 8, "align": 4, "fields": [ { "name": "a", "counted_by": -1, "type": { "int": { "byte_size": 4, "name": "int", "base": "int" } } }, { "name": "b", "counted_by": -1, "type": { "int": { "byte_size": 4, "name": "int", "base": "int" } } } ] } ], "syscalls": [ { "func": "__do_sys_scopes0", "args": [ { "name": "x", "counted_by": -1, "type": { "int": { "byte_size": 4, "name": "int", "base": "int" } } }, { "name": "cmd", "counted_by": -1, "type": { "int": { "byte_size": 8, "name": "long", "base": "long" } } }, { "name": "aux", "counted_by": -1, "type": { "int": { "byte_size": 8, "name": "long", "base": "long" } } } ], "source_file": "scopes.c" } ], "ioctls": [ { "name": "FOO_IOCTL1", "type": { "int": { "byte_size": 1, "is_const": true } } }, { "name": "FOO_IOCTL2", "type": { "ptr": { "elem": { "int": { "byte_size": 4, "name": "int", "base": "int" } }, "is_const": true } } }, { "name": "FOO_IOCTL3", "type": { "ptr": { "elem": { "struct": "foo_ioctl_arg" }, "is_const": true } } }, { "name": "FOO_IOCTL4", "type": { "ptr": { "elem": { "struct": "foo_ioctl_arg" } } } }, { "name": "FOO_IOCTL7", "type": { "int": { "byte_size": 1, "is_const": true } } }, { "name": "FOO_IOCTL8", "type": { "int": { "byte_size": 1, "is_const": true } } } ] }