Project

General

Profile

Feature #7925 ยป error-trace.json

Pavel Andrianov, 02/01/2017 11:36 AM

 
{
"actions": [
"Initialize rule models.",
"Start environment model scenarios.",
"Declare auxiliary variables.",
"Trigger module initialization.",
"Initialize the module after insmod with 'usb_stor_init' function. Invoke callback usb_stor_init from ARTIFICIAL.",
"Get 'usb' callbacks to register.",
"Register USB callbacks.",
"Begin USB callbacks invocation scenario.",
"Allocate memory and initialize new USB interface.",
"Allocate memory for adhoc callback parameters.",
"Associate driver-specific data with the USB interface. Invoke callback probe from usb_driver.",
"Allocate memory for a new Scsi_Host structure and initialize it.",
"A new Scsi_Host structure has been allocated successfully.",
"Get Scsi_Host structure from parameters.",
"Register SCSI_HOST_TEMPLATE callbacks.",
"Sysfs registration has been successful.",
"Free memory of adhoc callback parameters.",
"Association of driver-specific data with the USB interface has been failed.",
"Begin SCSI_HOST_TEMPLATE callbacks invocations scenario.",
"Successfully initialized SCSI driver.",
"Call any random mid layer SCSI callback. Invoke callback eh_device_reset_handler from scsi_host_template."
],
"callback actions": [
4,
10,
20
],
"edges": [
{
"enter": 0,
"file": 0,
"source": "ldv_main_19((void *)0);",
"source node": 0,
"start line": 1405,
"target node": 1,
"thread": 19
},
{
"action": 0,
"file": 0,
"source": "ldv_initialize();",
"source node": 1,
"start line": 504,
"target node": 2,
"thread": 19
},
{
"action": 1,
"enter": 1,
"file": 0,
"source": "ldv_dispatch_insmod_register_19_3();",
"source node": 2,
"start line": 508,
"target node": 3,
"thread": 19
},
{
"file": 0,
"source": "int ret;",
"source node": 3,
"start line": 265,
"target node": 4,
"thread": 19
},
{
"file": 0,
"source": "struct ldv_struct_insmod_12 *cf_arg_12;",
"source node": 4,
"start line": 266,
"target node": 5,
"thread": 19
},
{
"enter": 2,
"file": 0,
"source": "cf_arg_12 = (struct ldv_struct_insmod_12 *)ldv_xmalloc(4UL);",
"source node": 5,
"start line": 266,
"target node": 6,
"thread": 19
},
{
"file": 1,
"source": "void *res;",
"source node": 6,
"start line": 68,
"target node": 7,
"thread": 19
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 7,
"start line": 70,
"target node": 8,
"thread": 19
},
{
"file": 1,
"source": "res = malloc(size);",
"source node": 8,
"start line": 68,
"target node": 9,
"thread": 19
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 9,
"start line": 69,
"target node": 10,
"thread": 19
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 10,
"start line": 25,
"target node": 11,
"thread": 19
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 11,
"start line": 31,
"target node": 12,
"thread": 19
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 12,
"start line": 70,
"target node": 13,
"thread": 19
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 13,
"start line": 22,
"target node": 14,
"thread": 19
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 14,
"start line": 70,
"target node": 15,
"thread": 19
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 15,
"start line": 25,
"target node": 16,
"thread": 19
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 16,
"start line": 31,
"target node": 17,
"thread": 19
},
{
"file": 1,
"return": 2,
"source": "return res;",
"source node": 17,
"start line": 71,
"target node": 18,
"thread": 19
},
{
"enter": 5,
"file": 0,
"source": "ret = ldv_thread_create(&ldv_thread_12, &ldv_insmod_12, (void *)cf_arg_12);",
"source node": 18,
"start line": 267,
"target node": 19,
"thread": 12
},
{
"action": 2,
"file": 0,
"source": "int ldv_12_ret_default;",
"source node": 19,
"start line": 407,
"target node": 20,
"thread": 12
},
{
"action": 2,
"file": 0,
"source": "void (*ldv_12_usb_stor_exit_default)(void);",
"source node": 20,
"start line": 408,
"target node": 21,
"thread": 12
},
{
"action": 2,
"file": 0,
"source": "int (*ldv_12_usb_stor_init_default)(void);",
"source node": 21,
"start line": 409,
"target node": 22,
"thread": 12
},
{
"action": 3,
"enter": 6,
"file": 0,
"source": "ldv_free(arg0);",
"source node": 22,
"start line": 413,
"target node": 23,
"thread": 12
},
{
"file": 1,
"source": "free(s);",
"source node": 23,
"start line": 63,
"target node": 24,
"thread": 12
},
{
"file": 1,
"return": 6,
"source": "return;",
"source node": 24,
"start line": 64,
"target node": 25,
"thread": 12
},
{
"action": 4,
"enter": 8,
"file": 4,
"original file": 0,
"original start line": 418,
"source": "ldv_12_ret_default = usb_stor_init();",
"source node": 25,
"start line": 1047,
"target node": 26,
"thread": 12
},
{
"file": 4,
"source": "int retval;",
"source node": 26,
"start line": 1047,
"target node": 27,
"thread": 12
},
{
"file": 4,
"source": "printk(\"<6>Initializing USB Mass Storage driver...\\n\");",
"source node": 27,
"start line": 1049,
"target node": 28,
"thread": 12
},
{
"enter": 10,
"file": 4,
"source": "retval = ldv_emg_usb_register(&usb_storage_driver);",
"source node": 28,
"start line": 1052,
"target node": 29,
"thread": 12
},
{
"action": 2,
"file": 0,
"source": "struct usb_driver *ldv_18_usb_driver_usb_driver;",
"source node": 29,
"start line": 373,
"target node": 30,
"thread": 12
},
{
"action": 5,
"file": 0,
"source": "ldv_18_usb_driver_usb_driver = arg0;",
"source node": 30,
"start line": 380,
"target node": 31,
"thread": 12
},
{
"action": 6,
"enter": 12,
"file": 0,
"source": "ldv_dispatch_register_18_3(ldv_18_usb_driver_usb_driver);",
"source node": 31,
"start line": 384,
"target node": 32,
"thread": 12
},
{
"file": 0,
"source": "int ret;",
"source node": 32,
"start line": 286,
"target node": 33,
"thread": 12
},
{
"file": 0,
"source": "struct ldv_struct_usb_scenario_11 *cf_arg_11;",
"source node": 33,
"start line": 287,
"target node": 34,
"thread": 12
},
{
"enter": 2,
"file": 0,
"source": "cf_arg_11 = (struct ldv_struct_usb_scenario_11 *)ldv_xmalloc(16UL);",
"source node": 34,
"start line": 287,
"target node": 35,
"thread": 12
},
{
"file": 1,
"source": "void *res;",
"source node": 35,
"start line": 68,
"target node": 36,
"thread": 12
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 36,
"start line": 70,
"target node": 37,
"thread": 12
},
{
"file": 1,
"source": "res = malloc(size);",
"source node": 37,
"start line": 68,
"target node": 38,
"thread": 12
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 38,
"start line": 69,
"target node": 39,
"thread": 12
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 39,
"start line": 25,
"target node": 40,
"thread": 12
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 40,
"start line": 31,
"target node": 41,
"thread": 12
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 41,
"start line": 70,
"target node": 42,
"thread": 12
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 42,
"start line": 22,
"target node": 43,
"thread": 12
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 43,
"start line": 70,
"target node": 44,
"thread": 12
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 44,
"start line": 25,
"target node": 45,
"thread": 12
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 45,
"start line": 31,
"target node": 46,
"thread": 12
},
{
"file": 1,
"return": 2,
"source": "return res;",
"source node": 46,
"start line": 71,
"target node": 47,
"thread": 12
},
{
"file": 0,
"source": "cf_arg_11->arg0 = arg0;",
"source node": 47,
"start line": 288,
"target node": 48,
"thread": 12
},
{
"enter": 13,
"file": 0,
"source": "ret = ldv_thread_create(&ldv_thread_11, &ldv_usb_scenario_11, (void *)cf_arg_11);",
"source node": 48,
"start line": 289,
"target node": 49,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "struct usb_driver *ldv_11_container_usb_driver;",
"source node": 49,
"start line": 1226,
"target node": 50,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "struct usb_device_id *ldv_11_ldv_param_14_1_default;",
"source node": 50,
"start line": 1227,
"target node": 51,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "int ldv_11_probe_retval_default;",
"source node": 51,
"start line": 1228,
"target node": 52,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "_Bool ldv_11_reset_flag_default;",
"source node": 52,
"start line": 1229,
"target node": 53,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "struct usb_interface *ldv_11_resource_usb_interface;",
"source node": 53,
"start line": 1230,
"target node": 54,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "struct usb_device *ldv_11_usb_device_usb_device;",
"source node": 54,
"start line": 1231,
"target node": 55,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "struct ldv_struct_usb_scenario_11 *data;",
"source node": 55,
"start line": 1232,
"target node": 56,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "data = (struct ldv_struct_usb_scenario_11 *)arg0;",
"source node": 56,
"start line": 1234,
"target node": 57,
"thread": 11
},
{
"action": 7,
"condition": true,
"file": 0,
"source": "((unsigned long)data) != ((unsigned long)((struct ldv_struct_usb_scenario_11 *)0))",
"source node": 57,
"start line": 1241,
"target node": 58,
"thread": 11
},
{
"action": 7,
"file": 0,
"source": "ldv_11_container_usb_driver = data->arg0;",
"source node": 58,
"start line": 1242,
"target node": 59,
"thread": 11
},
{
"action": 7,
"enter": 6,
"file": 0,
"source": "ldv_free((void *)data);",
"source node": 59,
"start line": 1243,
"target node": 60,
"thread": 11
},
{
"file": 1,
"source": "free(s);",
"source node": 60,
"start line": 63,
"target node": 61,
"thread": 11
},
{
"file": 1,
"return": 6,
"source": "return;",
"source node": 61,
"start line": 64,
"target node": 62,
"thread": 11
},
{
"action": 8,
"enter": 2,
"file": 0,
"source": "ldv_11_resource_usb_interface = (struct usb_interface *)ldv_xmalloc(392UL);",
"source node": 62,
"start line": 1249,
"target node": 63,
"thread": 11
},
{
"file": 1,
"source": "void *res;",
"source node": 63,
"start line": 68,
"target node": 64,
"thread": 11
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 64,
"start line": 70,
"target node": 65,
"thread": 11
},
{
"file": 1,
"source": "res = malloc(size);",
"source node": 65,
"start line": 68,
"target node": 66,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 66,
"start line": 69,
"target node": 67,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 67,
"start line": 25,
"target node": 68,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 68,
"start line": 31,
"target node": 69,
"thread": 11
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 69,
"start line": 70,
"target node": 70,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 70,
"start line": 22,
"target node": 71,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 71,
"start line": 70,
"target node": 72,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 72,
"start line": 25,
"target node": 73,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 73,
"start line": 31,
"target node": 74,
"thread": 11
},
{
"file": 1,
"return": 2,
"source": "return res;",
"source node": 74,
"start line": 71,
"target node": 75,
"thread": 11
},
{
"action": 8,
"enter": 2,
"file": 0,
"source": "ldv_11_usb_device_usb_device = (struct usb_device *)ldv_xmalloc(1104UL);",
"source node": 75,
"start line": 1250,
"target node": 76,
"thread": 11
},
{
"file": 1,
"source": "void *res;",
"source node": 76,
"start line": 68,
"target node": 77,
"thread": 11
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 77,
"start line": 70,
"target node": 78,
"thread": 11
},
{
"file": 1,
"source": "res = malloc(size);",
"source node": 78,
"start line": 68,
"target node": 79,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 79,
"start line": 69,
"target node": 80,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 80,
"start line": 25,
"target node": 81,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 81,
"start line": 31,
"target node": 82,
"thread": 11
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 82,
"start line": 70,
"target node": 83,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 83,
"start line": 22,
"target node": 84,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 84,
"start line": 70,
"target node": 85,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 85,
"start line": 25,
"target node": 86,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 86,
"start line": 31,
"target node": 87,
"thread": 11
},
{
"file": 1,
"return": 2,
"source": "return res;",
"source node": 87,
"start line": 71,
"target node": 88,
"thread": 11
},
{
"action": 8,
"file": 0,
"source": "ldv_11_resource_usb_interface->dev.parent = &ldv_11_usb_device_usb_device->dev;",
"source node": 88,
"start line": 1251,
"target node": 89,
"thread": 11
},
{
"action": 9,
"enter": 14,
"file": 0,
"source": "ldv_11_ldv_param_14_1_default = (struct usb_device_id *)ldv_xmalloc_unknown_size(0UL);",
"source node": 89,
"start line": 1277,
"target node": 90,
"thread": 11
},
{
"file": 1,
"source": "void *res;",
"source node": 90,
"start line": 116,
"target node": 91,
"thread": 11
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 91,
"start line": 118,
"target node": 92,
"thread": 11
},
{
"file": 1,
"source": "res = external_allocated_data();",
"source node": 92,
"start line": 116,
"target node": 93,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 93,
"start line": 117,
"target node": 94,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 94,
"start line": 25,
"target node": 95,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 95,
"start line": 31,
"target node": 96,
"thread": 11
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 96,
"start line": 118,
"target node": 97,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 97,
"start line": 22,
"target node": 98,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 98,
"start line": 118,
"target node": 99,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 99,
"start line": 25,
"target node": 100,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 100,
"start line": 31,
"target node": 101,
"thread": 11
},
{
"file": 1,
"return": 14,
"source": "return res;",
"source node": 101,
"start line": 119,
"target node": 102,
"thread": 11
},
{
"action": 10,
"file": 0,
"source": "ldv_pre_probe();",
"source node": 102,
"start line": 1282,
"target node": 103,
"thread": 11
},
{
"action": 10,
"file": 0,
"source": "ldv_11_probe_retval_default = ldv_usb_scenario_probe_11_14((int (*)(struct usb_interface *, struct usb_device_id *))ldv_11_container_usb_driver->probe, ldv_11_resource_usb_interface, ldv_11_ldv_param_14_1_default);",
"source node": 103,
"start line": 1285,
"target node": 104,
"thread": 11
},
{
"action": 10,
"enter": 16,
"file": 4,
"original file": 0,
"original start line": 1284,
"source": "ldv_11_probe_retval_default = storage_probe(arg1, (struct usb_device_id *))ldv_11_container_usb_driver->probe);",
"source node": 104,
"start line": 996,
"target node": 105,
"thread": 11
},
{
"file": 4,
"source": "struct us_data *us;",
"source node": 105,
"start line": 996,
"target node": 106,
"thread": 11
},
{
"file": 4,
"source": "int result;",
"source node": 106,
"start line": 997,
"target node": 107,
"thread": 11
},
{
"condition": true,
"enter": 17,
"file": 4,
"source": "usb_usual_ignore_device(intf) == 0",
"source node": 107,
"start line": 1006,
"target node": 108,
"thread": 11
},
{
"file": 6,
"source": "struct usb_device *udev;",
"source node": 108,
"start line": 100,
"target node": 109,
"thread": 11
},
{
"file": 6,
"source": "unsigned int vid;",
"source node": 109,
"start line": 101,
"target node": 110,
"thread": 11
},
{
"file": 6,
"source": "unsigned int pid;",
"source node": 110,
"start line": 102,
"target node": 111,
"thread": 11
},
{
"file": 6,
"source": "unsigned int bcd;",
"source node": 111,
"start line": 103,
"target node": 112,
"thread": 11
},
{
"file": 6,
"source": "struct ignore_entry *p;",
"source node": 112,
"start line": 104,
"target node": 113,
"thread": 11
},
{
"file": 6,
"source": "struct device const *__mptr;",
"source node": 113,
"start line": 105,
"target node": 114,
"thread": 11
},
{
"file": 6,
"source": "__mptr = (struct device const *)intf->dev.parent;",
"source node": 114,
"start line": 104,
"target node": 115,
"thread": 11
},
{
"file": 6,
"source": "udev = (struct usb_device *)(__mptr + 0xffffffffffffff70UL);",
"source node": 115,
"start line": 104,
"target node": 116,
"thread": 11
},
{
"file": 6,
"source": "vid = (unsigned int)udev->descriptor.idVendor;",
"source node": 116,
"start line": 105,
"target node": 117,
"thread": 11
},
{
"file": 6,
"source": "pid = (unsigned int)udev->descriptor.idProduct;",
"source node": 117,
"start line": 106,
"target node": 118,
"thread": 11
},
{
"file": 6,
"source": "bcd = (unsigned int)udev->descriptor.bcdDevice;",
"source node": 118,
"start line": 107,
"target node": 119,
"thread": 11
},
{
"file": 6,
"source": "p = (struct ignore_entry *)(&ignore_ids);",
"source node": 119,
"start line": 109,
"target node": 120,
"thread": 11
},
{
"file": 6,
"source": "Goto: ldv_19116",
"source node": 120,
"start line": 109,
"target node": 121,
"thread": 11
},
{
"file": 6,
"source": "(unsigned int)p->vid != 0U",
"source node": 121,
"start line": 109,
"target node": 122,
"thread": 11
},
{
"condition": true,
"file": 6,
"source": "__CPAchecker_TMP_4 == 0U",
"source node": 122,
"start line": 109,
"target node": 123,
"thread": 11
},
{
"file": 6,
"return": 17,
"source": "return 0;",
"source node": 123,
"start line": 114,
"target node": 124,
"thread": 11
},
{
"enter": 18,
"file": 4,
"source": "result = usb_stor_probe1(&us, intf, id, (struct us_unusual_dev *)(&us_unusual_dev_list + (unsigned long)(((long)id - (long)(&usb_storage_usb_ids)) / 24L)));",
"source node": 124,
"start line": 1017,
"target node": 125,
"thread": 11
},
{
"file": 4,
"source": "struct Scsi_Host *host;",
"source node": 125,
"start line": 865,
"target node": 126,
"thread": 11
},
{
"file": 4,
"source": "struct us_data *us;",
"source node": 126,
"start line": 866,
"target node": 127,
"thread": 11
},
{
"file": 4,
"source": "int result;",
"source node": 127,
"start line": 867,
"target node": 128,
"thread": 11
},
{
"file": 4,
"source": "struct lock_class_key __key;",
"source node": 128,
"start line": 869,
"target node": 129,
"thread": 11
},
{
"file": 4,
"source": "struct lock_class_key __key___0;",
"source node": 129,
"start line": 870,
"target node": 130,
"thread": 11
},
{
"enter": 20,
"file": 4,
"source": "host = ldv_emg_scsi_host_alloc(&usb_stor_host_template, 496);",
"source node": 130,
"start line": 877,
"target node": 131,
"thread": 11
},
{
"action": 2,
"file": 7,
"source": "struct Scsi_Host *ldv_14_host_host;",
"source node": 131,
"start line": 89,
"target node": 132,
"thread": 11
},
{
"action": 2,
"file": 7,
"source": "struct scsi_host_template *ldv_14_scsi_host_template_scsi_host_template;",
"source node": 132,
"start line": 90,
"target node": 133,
"thread": 11
},
{
"action": 11,
"enter": 2,
"file": 7,
"source": "ldv_14_host_host = (struct Scsi_Host *)ldv_xmalloc(1008UL);",
"source node": 133,
"start line": 97,
"target node": 134,
"thread": 11
},
{
"file": 1,
"source": "void *res;",
"source node": 134,
"start line": 68,
"target node": 135,
"thread": 11
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 135,
"start line": 70,
"target node": 136,
"thread": 11
},
{
"file": 1,
"source": "res = malloc(size);",
"source node": 136,
"start line": 68,
"target node": 137,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 137,
"start line": 69,
"target node": 138,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 138,
"start line": 25,
"target node": 139,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 139,
"start line": 31,
"target node": 140,
"thread": 11
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 140,
"start line": 70,
"target node": 141,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 141,
"start line": 22,
"target node": 142,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 142,
"start line": 70,
"target node": 143,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 143,
"start line": 25,
"target node": 144,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 144,
"start line": 31,
"target node": 145,
"thread": 11
},
{
"file": 1,
"return": 2,
"source": "return res;",
"source node": 145,
"start line": 71,
"target node": 146,
"thread": 11
},
{
"action": 11,
"file": 7,
"source": "ldv_14_scsi_host_template_scsi_host_template = arg0;",
"source node": 146,
"start line": 98,
"target node": 147,
"thread": 11
},
{
"action": 11,
"file": 7,
"source": "ldv_14_host_host->hostt = ldv_14_scsi_host_template_scsi_host_template;",
"source node": 147,
"start line": 99,
"target node": 148,
"thread": 11
},
{
"action": 12,
"file": 7,
"return": 20,
"source": "return ldv_14_host_host;",
"source node": 148,
"start line": 103,
"target node": 149,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)host) != ((unsigned long)((struct Scsi_Host *)0))",
"source node": 149,
"start line": 878,
"target node": 150,
"thread": 11
},
{
"file": 4,
"source": "host->max_cmd_len = 16U;",
"source node": 150,
"start line": 887,
"target node": 151,
"thread": 11
},
{
"enter": 21,
"file": 4,
"source": "host->sg_tablesize = (unsigned short)usb_stor_sg_tablesize(intf);",
"source node": 151,
"start line": 888,
"target node": 152,
"thread": 11
},
{
"file": 4,
"source": "struct usb_device *usb_dev;",
"source node": 152,
"start line": 853,
"target node": 153,
"thread": 11
},
{
"file": 4,
"source": "struct device const *__mptr;",
"source node": 153,
"start line": 854,
"target node": 154,
"thread": 11
},
{
"file": 4,
"source": "__mptr = (struct device const *)intf->dev.parent;",
"source node": 154,
"start line": 853,
"target node": 155,
"thread": 11
},
{
"file": 4,
"source": "usb_dev = (struct usb_device *)(__mptr + 0xffffffffffffff70UL);",
"source node": 155,
"start line": 853,
"target node": 156,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "(usb_dev->bus->sg_tablesize) == 0U",
"source node": 156,
"start line": 855,
"target node": 157,
"thread": 11
},
{
"file": 4,
"return": 21,
"source": "return 128U;",
"source node": 157,
"start line": 858,
"target node": 158,
"thread": 11
},
{
"enter": 22,
"file": 4,
"source": "us = host_to_us(host);",
"source node": 158,
"start line": 889,
"target node": 159,
"thread": 11
},
{
"file": 8,
"return": 22,
"source": "return (struct us_data *)(&host->hostdata);",
"source node": 159,
"start line": 169,
"target node": 160,
"thread": 11
},
{
"file": 4,
"source": "*pus = us;",
"source node": 160,
"start line": 889,
"target node": 161,
"thread": 11
},
{
"file": 4,
"source": "memset((void *)us, 0, 496UL);",
"source node": 161,
"start line": 890,
"target node": 162,
"thread": 11
},
{
"file": 4,
"source": "__mutex_init(&us->dev_mutex, \"&(us->dev_mutex)\", &__key);",
"source node": 162,
"start line": 891,
"target node": 163,
"thread": 11
},
{
"enter": 23,
"file": 4,
"source": "init_completion(&us->cmnd_ready);",
"source node": 163,
"start line": 892,
"target node": 164,
"thread": 11
},
{
"file": 9,
"source": "struct lock_class_key __key;",
"source node": 164,
"start line": 75,
"target node": 165,
"thread": 11
},
{
"file": 9,
"source": "x->done = 0U;",
"source node": 165,
"start line": 75,
"target node": 166,
"thread": 11
},
{
"file": 9,
"source": "__init_waitqueue_head(&x->wait, &__key);",
"source node": 166,
"start line": 76,
"target node": 167,
"thread": 11
},
{
"file": 9,
"return": 23,
"source": "return;",
"source node": 167,
"start line": 78,
"target node": 168,
"thread": 11
},
{
"enter": 23,
"file": 4,
"source": "init_completion(&us->notify);",
"source node": 168,
"start line": 893,
"target node": 169,
"thread": 11
},
{
"file": 9,
"source": "struct lock_class_key __key;",
"source node": 169,
"start line": 75,
"target node": 170,
"thread": 11
},
{
"file": 9,
"source": "x->done = 0U;",
"source node": 170,
"start line": 75,
"target node": 171,
"thread": 11
},
{
"file": 9,
"source": "__init_waitqueue_head(&x->wait, &__key);",
"source node": 171,
"start line": 76,
"target node": 172,
"thread": 11
},
{
"file": 9,
"return": 23,
"source": "return;",
"source node": 172,
"start line": 78,
"target node": 173,
"thread": 11
},
{
"file": 4,
"source": "__init_waitqueue_head(&us->delay_wait, &__key___0);",
"source node": 173,
"start line": 894,
"target node": 174,
"thread": 11
},
{
"enter": 23,
"file": 4,
"source": "init_completion(&us->scanning_done);",
"source node": 174,
"start line": 895,
"target node": 175,
"thread": 11
},
{
"file": 9,
"source": "struct lock_class_key __key;",
"source node": 175,
"start line": 75,
"target node": 176,
"thread": 11
},
{
"file": 9,
"source": "x->done = 0U;",
"source node": 176,
"start line": 75,
"target node": 177,
"thread": 11
},
{
"file": 9,
"source": "__init_waitqueue_head(&x->wait, &__key);",
"source node": 177,
"start line": 76,
"target node": 178,
"thread": 11
},
{
"file": 9,
"return": 23,
"source": "return;",
"source node": 178,
"start line": 78,
"target node": 179,
"thread": 11
},
{
"enter": 24,
"file": 4,
"source": "result = associate_dev(us, intf);",
"source node": 179,
"start line": 898,
"target node": 180,
"thread": 11
},
{
"file": 4,
"source": "struct device const *__mptr;",
"source node": 180,
"start line": 393,
"target node": 181,
"thread": 11
},
{
"file": 4,
"source": "__mptr = (struct device const *)intf->dev.parent;",
"source node": 181,
"start line": 396,
"target node": 182,
"thread": 11
},
{
"file": 4,
"source": "us->pusb_dev = (struct usb_device *)(__mptr + 0xffffffffffffff70UL);",
"source node": 182,
"start line": 396,
"target node": 183,
"thread": 11
},
{
"file": 4,
"source": "us->pusb_intf = intf;",
"source node": 183,
"start line": 397,
"target node": 184,
"thread": 11
},
{
"file": 4,
"source": "us->ifnum = (intf->cur_altsetting)->desc.bInterfaceNumber;",
"source node": 184,
"start line": 398,
"target node": 185,
"thread": 11
},
{
"enter": 25,
"file": 4,
"source": "usb_set_intfdata(intf, (void *)us);",
"source node": 185,
"start line": 408,
"target node": 186,
"thread": 11
},
{
"file": 10,
"source": "dev_set_drvdata(&intf->dev, data);",
"source node": 186,
"start line": 213,
"target node": 187,
"thread": 11
},
{
"file": 10,
"return": 25,
"source": "return;",
"source node": 187,
"start line": 214,
"target node": 188,
"thread": 11
},
{
"file": 4,
"source": "us->cr = (struct usb_ctrlrequest *)usb_buffer_alloc(us->pusb_dev, 8UL, 208U, &us->cr_dma);",
"source node": 188,
"start line": 411,
"target node": 189,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->cr == (unsigned long)((struct usb_ctrlrequest *)0)",
"source node": 189,
"start line": 413,
"target node": 190,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != ((unsigned long)((struct usb_ctrlrequest *)0))",
"source node": 190,
"start line": 413,
"target node": 191,
"thread": 11
},
{
"file": 4,
"source": "us->iobuf = (unsigned char *)usb_buffer_alloc(us->pusb_dev, 64UL, 208U, &us->iobuf_dma);",
"source node": 191,
"start line": 418,
"target node": 192,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->iobuf == (unsigned long)((unsigned char *)0U)",
"source node": 192,
"start line": 420,
"target node": 193,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 != ((unsigned long)((unsigned char *)0U))",
"source node": 193,
"start line": 420,
"target node": 194,
"thread": 11
},
{
"file": 4,
"return": 24,
"source": "return 0;",
"source node": 194,
"start line": 424,
"target node": 195,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 195,
"start line": 899,
"target node": 196,
"thread": 11
},
{
"enter": 26,
"file": 4,
"source": "result = get_device_info(us, id, unusual_dev);",
"source node": 196,
"start line": 903,
"target node": 197,
"thread": 11
},
{
"file": 4,
"source": "struct usb_device *dev;",
"source node": 197,
"start line": 511,
"target node": 198,
"thread": 11
},
{
"file": 4,
"source": "struct usb_interface_descriptor *idesc;",
"source node": 198,
"start line": 512,
"target node": 199,
"thread": 11
},
{
"file": 4,
"source": "char const *msgs[3U];",
"source node": 199,
"start line": 513,
"target node": 200,
"thread": 11
},
{
"file": 4,
"source": "struct usb_device_descriptor *ddesc;",
"source node": 200,
"start line": 514,
"target node": 201,
"thread": 11
},
{
"file": 4,
"source": "int msg;",
"source node": 201,
"start line": 515,
"target node": 202,
"thread": 11
},
{
"file": 4,
"source": "dev = us->pusb_dev;",
"source node": 202,
"start line": 511,
"target node": 203,
"thread": 11
},
{
"file": 4,
"source": "idesc = &((us->pusb_intf)->cur_altsetting)->desc;",
"source node": 203,
"start line": 512,
"target node": 204,
"thread": 11
},
{
"file": 4,
"source": "us->unusual_dev = unusual_dev;",
"source node": 204,
"start line": 516,
"target node": 205,
"thread": 11
},
{
"file": 4,
"source": "us->subclass = (unsigned int)unusual_dev->useProtocol == 255U ? idesc->bInterfaceSubClass : unusual_dev->useProtocol;",
"source node": 205,
"start line": 517,
"target node": 206,
"thread": 11
},
{
"file": 4,
"source": "(unsigned int)unusual_dev->useProtocol == 255U",
"source node": 206,
"start line": 517,
"target node": 207,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_2 != 255U",
"source node": 207,
"start line": 517,
"target node": 208,
"thread": 11
},
{
"file": 4,
"source": "unusual_dev->useProtocol",
"source node": 208,
"start line": 517,
"target node": 209,
"thread": 11
},
{
"file": 4,
"source": "us->subclass = (unsigned int)unusual_dev->useProtocol == 255U ? idesc->bInterfaceSubClass : unusual_dev->useProtocol;",
"source node": 209,
"start line": 517,
"target node": 210,
"thread": 11
},
{
"file": 4,
"source": "us->protocol = (unsigned int)unusual_dev->useTransport == 255U ? idesc->bInterfaceProtocol : unusual_dev->useTransport;",
"source node": 210,
"start line": 520,
"target node": 211,
"thread": 11
},
{
"file": 4,
"source": "(unsigned int)unusual_dev->useTransport == 255U",
"source node": 211,
"start line": 520,
"target node": 212,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_5 != 255U",
"source node": 212,
"start line": 520,
"target node": 213,
"thread": 11
},
{
"file": 4,
"source": "unusual_dev->useTransport",
"source node": 213,
"start line": 520,
"target node": 214,
"thread": 11
},
{
"file": 4,
"source": "us->protocol = (unsigned int)unusual_dev->useTransport == 255U ? idesc->bInterfaceProtocol : unusual_dev->useTransport;",
"source node": 214,
"start line": 520,
"target node": 215,
"thread": 11
},
{
"file": 4,
"source": "us->fflags = (unsigned long)id->driver_info &16777215UL;",
"source node": 215,
"start line": 523,
"target node": 216,
"thread": 11
},
{
"file": 4,
"source": "us->fflags = (unsigned long)id->driver_info &16777215UL;",
"source node": 216,
"start line": 523,
"target node": 217,
"thread": 11
},
{
"enter": 27,
"file": 4,
"source": "adjust_quirks(us);",
"source node": 217,
"start line": 524,
"target node": 218,
"thread": 11
},
{
"file": 4,
"source": "char *p;",
"source node": 218,
"start line": 433,
"target node": 219,
"thread": 11
},
{
"file": 4,
"source": "u16 vid;",
"source node": 219,
"start line": 434,
"target node": 220,
"thread": 11
},
{
"file": 4,
"source": "u16 pid;",
"source node": 220,
"start line": 435,
"target node": 221,
"thread": 11
},
{
"file": 4,
"source": "unsigned int f;",
"source node": 221,
"start line": 436,
"target node": 222,
"thread": 11
},
{
"file": 4,
"source": "unsigned int mask;",
"source node": 222,
"start line": 437,
"target node": 223,
"thread": 11
},
{
"file": 4,
"source": "vid = (us->pusb_dev)->descriptor.idVendor;",
"source node": 223,
"start line": 434,
"target node": 224,
"thread": 11
},
{
"file": 4,
"source": "pid = (us->pusb_dev)->descriptor.idProduct;",
"source node": 224,
"start line": 435,
"target node": 225,
"thread": 11
},
{
"file": 4,
"source": "f = 0U;",
"source node": 225,
"start line": 436,
"target node": 226,
"thread": 11
},
{
"file": 4,
"source": "mask = 237233U;",
"source node": 226,
"start line": 437,
"target node": 227,
"thread": 11
},
{
"file": 4,
"source": "p = (char *)(&quirks);",
"source node": 227,
"start line": 444,
"target node": 228,
"thread": 11
},
{
"file": 4,
"source": "Goto: ldv_25619",
"source node": 228,
"start line": 445,
"target node": 229,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) != 0",
"source node": 229,
"start line": 445,
"target node": 230,
"thread": 11
},
{
"file": 4,
"source": "goto ldv_25618;",
"source node": 230,
"start line": 447,
"target node": 231,
"thread": 11
},
{
"file": 4,
"source": "ldv_25618: { #line 447 tmp = simple_strtoul((char const *)p, &p, 16U); }",
"source node": 231,
"start line": 446,
"target node": 232,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)vid) == simple_strtoul((char const *)p, &p, 16U)",
"source node": 232,
"start line": 447,
"target node": 233,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) == 58",
"source node": 233,
"start line": 447,
"target node": 234,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)pid) == simple_strtoul((char const *)(p + 1U), &p, 16U)",
"source node": 234,
"start line": 447,
"target node": 235,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) == 58",
"source node": 235,
"start line": 447,
"target node": 236,
"thread": 11
},
{
"file": 4,
"source": "Goto: ldv_25614",
"source node": 236,
"start line": 451,
"target node": 237,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) != 0",
"source node": 237,
"start line": 459,
"target node": 238,
"thread": 11
},
{
"file": 4,
"source": "Goto: ldv_25633",
"source node": 238,
"start line": 463,
"target node": 239,
"thread": 11
},
{
"file": 4,
"source": "p = p + 1;",
"source node": 239,
"start line": 463,
"target node": 240,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) == 0",
"source node": 240,
"start line": 463,
"target node": 241,
"thread": 11
},
{
"file": 4,
"source": "us->fflags = (us->fflags &(unsigned long)(~ mask)) | (unsigned long)f;",
"source node": 241,
"start line": 501,
"target node": 242,
"thread": 11
},
{
"enter": 28,
"file": 4,
"source": "tmp___2 = dev_name((struct device const *)(&(us->pusb_intf)->dev));",
"source node": 242,
"start line": 502,
"target node": 243,
"thread": 11
},
{
"enter": 29,
"file": 11,
"return": 28,
"source": "return kobject_name(&dev->kobj);",
"source node": 243,
"start line": 435,
"target node": 244,
"thread": 11
},
{
"file": 12,
"source": "return (char const *)kobj->name;",
"source node": 244,
"start line": 81,
"target node": 245,
"thread": 11
},
{
"file": 12,
"return": 29,
"source": "return (char const *)kobj->name;",
"source node": 245,
"start line": 81,
"target node": 246,
"thread": 11
},
{
"file": 4,
"source": "printk(\"<6>%s %s: Quirks match for vid %04x pid %04x: %x\\n\", dev_driver_string((struct device const *)(&(us->pusb_intf)->dev)), tmp___2, (int)vid, (int)pid, f);",
"source node": 246,
"start line": 502,
"target node": 247,
"thread": 11
},
{
"file": 4,
"return": 27,
"source": "return;",
"source node": 247,
"start line": 503,
"target node": 248,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((us->fflags) &2048UL) == 0UL",
"source node": 248,
"start line": 526,
"target node": 249,
"thread": 11
},
{
"file": 4,
"source": "(unsigned int)dev->speed != 3U",
"source node": 249,
"start line": 535,
"target node": 250,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_7 == 3U",
"source node": 250,
"start line": 535,
"target node": 251,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "(*(((unsigned long *)id) + 0UL)) == 0UL",
"source node": 251,
"start line": 543,
"target node": 252,
"thread": 11
},
{
"file": 4,
"return": 26,
"source": "return 0;",
"source node": 252,
"start line": 574,
"target node": 253,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 253,
"start line": 904,
"target node": 254,
"thread": 11
},
{
"enter": 30,
"file": 4,
"source": "get_transport(us);",
"source node": 254,
"start line": 908,
"target node": 255,
"thread": 11
},
{
"file": 4,
"source": "(int)us->protocol == 1",
"source node": 255,
"start line": 581,
"target node": 256,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != 1",
"source node": 256,
"start line": 581,
"target node": 257,
"thread": 11
},
{
"file": 4,
"source": "(int)us->protocol == 0",
"source node": 257,
"start line": 588,
"target node": 258,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 != 0",
"source node": 258,
"start line": 588,
"target node": 259,
"thread": 11
},
{
"file": 4,
"source": "(int)us->protocol == 80",
"source node": 259,
"start line": 595,
"target node": 260,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_2 != 80",
"source node": 260,
"start line": 595,
"target node": 261,
"thread": 11
},
{
"file": 4,
"source": "Goto: switch_break",
"source node": 261,
"start line": 580,
"target node": 262,
"thread": 11
},
{
"file": 4,
"source": "switch_break: /* CIL Label */;",
"source node": 262,
"start line": 600,
"target node": 263,
"thread": 11
},
{
"file": 4,
"source": "ldv_25649:;",
"source node": 263,
"start line": 602,
"target node": 264,
"thread": 11
},
{
"file": 4,
"return": 30,
"source": "return;",
"source node": 264,
"start line": 602,
"target node": 265,
"thread": 11
},
{
"enter": 31,
"file": 4,
"source": "get_protocol(us);",
"source node": 265,
"start line": 909,
"target node": 266,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 1",
"source node": 266,
"start line": 607,
"target node": 267,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != 1",
"source node": 267,
"start line": 607,
"target node": 268,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 2",
"source node": 268,
"start line": 612,
"target node": 269,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 != 2",
"source node": 269,
"start line": 612,
"target node": 270,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 3",
"source node": 270,
"start line": 618,
"target node": 271,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_2 != 3",
"source node": 271,
"start line": 618,
"target node": 272,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 5",
"source node": 272,
"start line": 624,
"target node": 273,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_3 != 5",
"source node": 273,
"start line": 624,
"target node": 274,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 6",
"source node": 274,
"start line": 630,
"target node": 275,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_4 != 6",
"source node": 275,
"start line": 630,
"target node": 276,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 4",
"source node": 276,
"start line": 635,
"target node": 277,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_5 != 4",
"source node": 277,
"start line": 635,
"target node": 278,
"thread": 11
},
{
"file": 4,
"source": "Goto: switch_break",
"source node": 278,
"start line": 606,
"target node": 279,
"thread": 11
},
{
"file": 4,
"source": "switch_break: /* CIL Label */;",
"source node": 279,
"start line": 639,
"target node": 280,
"thread": 11
},
{
"file": 4,
"source": "ldv_25656:;",
"source node": 280,
"start line": 641,
"target node": 281,
"thread": 11
},
{
"file": 4,
"return": 31,
"source": "return;",
"source node": 281,
"start line": 641,
"target node": 282,
"thread": 11
},
{
"file": 4,
"return": 18,
"source": "return 0;",
"source node": 282,
"start line": 914,
"target node": 283,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 283,
"start line": 1019,
"target node": 284,
"thread": 11
},
{
"enter": 32,
"file": 4,
"source": "result = usb_stor_probe2(us);",
"source node": 284,
"start line": 1024,
"target node": 285,
"thread": 11
},
{
"file": 4,
"source": "struct task_struct *th;",
"source node": 285,
"start line": 926,
"target node": 286,
"thread": 11
},
{
"file": 4,
"source": "int result;",
"source node": 286,
"start line": 927,
"target node": 287,
"thread": 11
},
{
"file": 4,
"source": "struct Scsi_Host *tmp___0;",
"source node": 287,
"start line": 929,
"target node": 288,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->transport == (unsigned long)((int (*)(struct scsi_cmnd *, struct us_data *))0)",
"source node": 288,
"start line": 930,
"target node": 289,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != ((unsigned long)((int (*)(struct scsi_cmnd *, struct us_data *))0))",
"source node": 289,
"start line": 930,
"target node": 290,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->proto_handler == (unsigned long)((void (*)(struct scsi_cmnd *, struct us_data *))0)",
"source node": 290,
"start line": 931,
"target node": 291,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 != ((unsigned long)((void (*)(struct scsi_cmnd *, struct us_data *))0))",
"source node": 291,
"start line": 931,
"target node": 292,
"thread": 11
},
{
"file": 4,
"source": "(int)us->fflags &1",
"source node": 292,
"start line": 938,
"target node": 293,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "(__CPAchecker_TMP_2 &1) != 0",
"source node": 293,
"start line": 938,
"target node": 294,
"thread": 11
},
{
"file": 4,
"source": "us->max_lun = 0U;",
"source node": 294,
"start line": 939,
"target node": 295,
"thread": 11
},
{
"enter": 33,
"file": 4,
"source": "result = get_pipes(us);",
"source node": 295,
"start line": 942,
"target node": 296,
"thread": 11
},
{
"file": 4,
"source": "struct usb_host_interface *altsetting;",
"source node": 296,
"start line": 645,
"target node": 297,
"thread": 11
},
{
"file": 4,
"source": "int i;",
"source node": 297,
"start line": 646,
"target node": 298,
"thread": 11
},
{
"file": 4,
"source": "struct usb_endpoint_descriptor *ep;",
"source node": 298,
"start line": 647,
"target node": 299,
"thread": 11
},
{
"file": 4,
"source": "struct usb_endpoint_descriptor *ep_in;",
"source node": 299,
"start line": 648,
"target node": 300,
"thread": 11
},
{
"file": 4,
"source": "struct usb_endpoint_descriptor *ep_out;",
"source node": 300,
"start line": 649,
"target node": 301,
"thread": 11
},
{
"file": 4,
"source": "struct usb_endpoint_descriptor *ep_int;",
"source node": 301,
"start line": 650,
"target node": 302,
"thread": 11
},
{
"file": 4,
"source": "int tmp___4;",
"source node": 302,
"start line": 656,
"target node": 303,
"thread": 11
},
{
"file": 4,
"source": "int tmp___6;",
"source node": 303,
"start line": 658,
"target node": 304,
"thread": 11
},
{
"file": 4,
"source": "altsetting = (us->pusb_intf)->cur_altsetting;",
"source node": 304,
"start line": 645,
"target node": 305,
"thread": 11
},
{
"file": 4,
"source": "ep_in = (struct usb_endpoint_descriptor *)0;",
"source node": 305,
"start line": 649,
"target node": 306,
"thread": 11
},
{
"file": 4,
"source": "ep_out = (struct usb_endpoint_descriptor *)0;",
"source node": 306,
"start line": 650,
"target node": 307,
"thread": 11
},
{
"file": 4,
"source": "ep_int = (struct usb_endpoint_descriptor *)0;",
"source node": 307,
"start line": 651,
"target node": 308,
"thread": 11
},
{
"file": 4,
"source": "i = 0;",
"source node": 308,
"start line": 659,
"target node": 309,
"thread": 11
},
{
"file": 4,
"source": "Goto: ldv_25672",
"source node": 309,
"start line": 659,
"target node": 310,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)(altsetting->desc.bNumEndpoints)) > i",
"source node": 310,
"start line": 659,
"target node": 311,
"thread": 11
},
{
"file": 4,
"source": "goto ldv_25671;",
"source node": 311,
"start line": 661,
"target node": 312,
"thread": 11
},
{
"file": 4,
"source": "ldv_25671: { #line 660 ep = &(altsetting->endpoint + (unsigned long)i)->desc; #line 662 tmp___1 = usb_endpoint_xfer_bulk((struct usb_endpoint_descriptor const *)ep); }",
"source node": 312,
"start line": 660,
"target node": 313,
"thread": 11
},
{
"file": 4,
"source": "ep = &(altsetting->endpoint + (unsigned long)i)->desc;",
"source node": 313,
"start line": 660,
"target node": 314,
"thread": 11
},
{
"condition": true,
"enter": 34,
"file": 4,
"source": "usb_endpoint_xfer_bulk((struct usb_endpoint_descriptor const *)ep) != 0",
"source node": 314,
"start line": 662,
"target node": 315,
"thread": 11
},
{
"file": 13,
"source": "return ((int)epd->bmAttributes &3) == 2;",
"source node": 315,
"start line": 423,
"target node": 316,
"thread": 11
},
{
"file": 13,
"return": 34,
"source": "return ((int)epd->bmAttributes &3) == 2;",
"source node": 316,
"start line": 423,
"target node": 317,
"thread": 11
},
{
"condition": true,
"enter": 35,
"file": 4,
"source": "usb_endpoint_dir_in((struct usb_endpoint_descriptor const *)ep) == 0",
"source node": 317,
"start line": 663,
"target node": 318,
"thread": 11
},
{
"file": 13,
"source": "return (int)((signed char)epd->bEndpointAddress) < 0;",
"source node": 318,
"start line": 399,
"target node": 319,
"thread": 11
},
{
"file": 13,
"return": 35,
"source": "return (int)((signed char)epd->bEndpointAddress) < 0;",
"source node": 319,
"start line": 399,
"target node": 320,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_out) == ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 320,
"start line": 667,
"target node": 321,
"thread": 11
},
{
"file": 4,
"source": "ep_out = ep;",
"source node": 321,
"start line": 668,
"target node": 322,
"thread": 11
},
{
"file": 4,
"source": "i = i + 1;",
"source node": 322,
"start line": 659,
"target node": 323,
"thread": 11
},
{
"file": 4,
"source": "ldv_25672:;",
"source node": 323,
"start line": 660,
"target node": 324,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)(altsetting->desc.bNumEndpoints)) > i",
"source node": 324,
"start line": 659,
"target node": 325,
"thread": 11
},
{
"file": 4,
"source": "goto ldv_25671;",
"source node": 325,
"start line": 661,
"target node": 326,
"thread": 11
},
{
"file": 4,
"source": "ldv_25671: { #line 660 ep = &(altsetting->endpoint + (unsigned long)i)->desc; #line 662 tmp___1 = usb_endpoint_xfer_bulk((struct usb_endpoint_descriptor const *)ep); }",
"source node": 326,
"start line": 660,
"target node": 327,
"thread": 11
},
{
"file": 4,
"source": "ep = &(altsetting->endpoint + (unsigned long)i)->desc;",
"source node": 327,
"start line": 660,
"target node": 328,
"thread": 11
},
{
"condition": true,
"enter": 34,
"file": 4,
"source": "usb_endpoint_xfer_bulk((struct usb_endpoint_descriptor const *)ep) != 0",
"source node": 328,
"start line": 662,
"target node": 329,
"thread": 11
},
{
"file": 13,
"source": "return ((int)epd->bmAttributes &3) == 2;",
"source node": 329,
"start line": 423,
"target node": 330,
"thread": 11
},
{
"file": 13,
"return": 34,
"source": "return ((int)epd->bmAttributes &3) == 2;",
"source node": 330,
"start line": 423,
"target node": 331,
"thread": 11
},
{
"condition": true,
"enter": 35,
"file": 4,
"source": "usb_endpoint_dir_in((struct usb_endpoint_descriptor const *)ep) != 0",
"source node": 331,
"start line": 663,
"target node": 332,
"thread": 11
},
{
"file": 13,
"source": "return (int)((signed char)epd->bEndpointAddress) < 0;",
"source node": 332,
"start line": 399,
"target node": 333,
"thread": 11
},
{
"file": 13,
"return": 35,
"source": "return (int)((signed char)epd->bEndpointAddress) < 0;",
"source node": 333,
"start line": 399,
"target node": 334,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_in) == ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 334,
"start line": 664,
"target node": 335,
"thread": 11
},
{
"file": 4,
"source": "ep_in = ep;",
"source node": 335,
"start line": 665,
"target node": 336,
"thread": 11
},
{
"file": 4,
"source": "i = i + 1;",
"source node": 336,
"start line": 659,
"target node": 337,
"thread": 11
},
{
"file": 4,
"source": "ldv_25672:;",
"source node": 337,
"start line": 660,
"target node": 338,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)(altsetting->desc.bNumEndpoints)) < i",
"source node": 338,
"start line": 659,
"target node": 339,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_in) != ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 339,
"start line": 678,
"target node": 340,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_out) != ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 340,
"start line": 678,
"target node": 341,
"thread": 11
},
{
"file": 4,
"source": "(unsigned int)us->protocol == 0U",
"source node": 341,
"start line": 678,
"target node": 342,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != 0U",
"source node": 342,
"start line": 678,
"target node": 343,
"thread": 11
},
{
"enter": 36,
"file": 4,
"source": "us->send_ctrl_pipe = __create_pipe(us->pusb_dev, 0U) | 2147483648U;",
"source node": 343,
"start line": 684,
"target node": 344,
"thread": 11
},
{
"file": 10,
"return": 36,
"source": "return (unsigned int)(dev->devnum << 8) | (endpoint << 15);",
"source node": 344,
"start line": 1531,
"target node": 345,
"thread": 11
},
{
"enter": 36,
"file": 4,
"source": "us->recv_ctrl_pipe = __create_pipe(us->pusb_dev, 0U) | 2147483776U;",
"source node": 345,
"start line": 685,
"target node": 346,
"thread": 11
},
{
"file": 10,
"return": 36,
"source": "return (unsigned int)(dev->devnum << 8) | (endpoint << 15);",
"source node": 346,
"start line": 1531,
"target node": 347,
"thread": 11
},
{
"enter": 37,
"file": 4,
"source": "tmp___4 = usb_endpoint_num((struct usb_endpoint_descriptor const *)ep_out);",
"source node": 347,
"start line": 686,
"target node": 348,
"thread": 11
},
{
"file": 13,
"source": "return (int)epd->bEndpointAddress &15;",
"source node": 348,
"start line": 376,
"target node": 349,
"thread": 11
},
{
"file": 13,
"return": 37,
"source": "return (int)epd->bEndpointAddress &15;",
"source node": 349,
"start line": 376,
"target node": 350,
"thread": 11
},
{
"enter": 36,
"file": 4,
"source": "us->send_bulk_pipe = __create_pipe(us->pusb_dev, (unsigned int)tmp___4) | 3221225472U;",
"source node": 350,
"start line": 686,
"target node": 351,
"thread": 11
},
{
"file": 10,
"return": 36,
"source": "return (unsigned int)(dev->devnum << 8) | (endpoint << 15);",
"source node": 351,
"start line": 1531,
"target node": 352,
"thread": 11
},
{
"enter": 37,
"file": 4,
"source": "tmp___6 = usb_endpoint_num((struct usb_endpoint_descriptor const *)ep_in);",
"source node": 352,
"start line": 688,
"target node": 353,
"thread": 11
},
{
"file": 13,
"source": "return (int)epd->bEndpointAddress &15;",
"source node": 353,
"start line": 376,
"target node": 354,
"thread": 11
},
{
"file": 13,
"return": 37,
"source": "return (int)epd->bEndpointAddress &15;",
"source node": 354,
"start line": 376,
"target node": 355,
"thread": 11
},
{
"enter": 36,
"file": 4,
"source": "us->recv_bulk_pipe = __create_pipe(us->pusb_dev, (unsigned int)tmp___6) | 3221225600U;",
"source node": 355,
"start line": 688,
"target node": 356,
"thread": 11
},
{
"file": 10,
"return": 36,
"source": "return (unsigned int)(dev->devnum << 8) | (endpoint << 15);",
"source node": 356,
"start line": 1531,
"target node": 357,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_int) == ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 357,
"start line": 690,
"target node": 358,
"thread": 11
},
{
"file": 4,
"return": 33,
"source": "return 0;",
"source node": 358,
"start line": 695,
"target node": 359,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 359,
"start line": 943,
"target node": 360,
"thread": 11
},
{
"enter": 38,
"file": 4,
"source": "result = usb_stor_acquire_resources(us);",
"source node": 360,
"start line": 947,
"target node": 361,
"thread": 11
},
{
"file": 4,
"source": "int p;",
"source node": 361,
"start line": 701,
"target node": 362,
"thread": 11
},
{
"file": 4,
"source": "struct task_struct *th;",
"source node": 362,
"start line": 702,
"target node": 363,
"thread": 11
},
{
"file": 4,
"source": "struct task_struct *__k;",
"source node": 363,
"start line": 703,
"target node": 364,
"thread": 11
},
{
"file": 4,
"source": "us->current_urb = usb_alloc_urb(0, 208U);",
"source node": 364,
"start line": 704,
"target node": 365,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->current_urb == (unsigned long)((struct urb *)0)",
"source node": 365,
"start line": 705,
"target node": 366,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != ((unsigned long)((struct urb *)0))",
"source node": 366,
"start line": 705,
"target node": 367,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)(us->unusual_dev)->initFunction != (unsigned long)((int (*)(struct us_data *))0)",
"source node": 367,
"start line": 712,
"target node": 368,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 == ((unsigned long)((int (*)(struct us_data *))0))",
"source node": 368,
"start line": 712,
"target node": 369,
"thread": 11
},
{
"file": 4,
"source": "__k = kthread_create(&usb_stor_control_thread, (void *)us, \"usb-storage\");",
"source node": 369,
"start line": 719,
"target node": 370,
"thread": 11
},
{
"condition": true,
"enter": 4,
"file": 4,
"source": "ldv_is_err((void const *)__k) != 0L",
"source node": 370,
"start line": 719,
"target node": 371,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 371,
"start line": 22,
"target node": 372,
"thread": 11
},
{
"file": 4,
"source": "th = __k;",
"source node": 372,
"start line": 719,
"target node": 373,
"thread": 11
},
{
"condition": true,
"enter": 4,
"file": 4,
"source": "ldv_is_err((void const *)th) == 0L",
"source node": 373,
"start line": 720,
"target node": 374,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 374,
"start line": 22,
"target node": 375,
"thread": 11
},
{
"file": 4,
"source": "us->ctl_thread = th;",
"source node": 375,
"start line": 725,
"target node": 376,
"thread": 11
},
{
"file": 4,
"return": 38,
"source": "return 0;",
"source node": 376,
"start line": 727,
"target node": 377,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 377,
"start line": 948,
"target node": 378,
"thread": 11
},
{
"enter": 28,
"file": 4,
"source": "snprintf((char *)(&us->scsi_name), 32UL, \"usb-storage %s\", dev_name((struct device const *)(&(us->pusb_intf)->dev)));",
"source node": 378,
"start line": 950,
"target node": 379,
"thread": 11
},
{
"enter": 29,
"file": 11,
"return": 28,
"source": "return kobject_name(&dev->kobj);",
"source node": 379,
"start line": 435,
"target node": 380,
"thread": 11
},
{
"file": 12,
"source": "return (char const *)kobj->name;",
"source node": 380,
"start line": 81,
"target node": 381,
"thread": 11
},
{
"file": 12,
"return": 29,
"source": "return (char const *)kobj->name;",
"source node": 381,
"start line": 81,
"target node": 382,
"thread": 11
},
{
"enter": 40,
"file": 4,
"source": "tmp___0 = us_to_host(us);",
"source node": 382,
"start line": 952,
"target node": 383,
"thread": 11
},
{
"file": 8,
"source": "unsigned long const (*__mptr)[0U];",
"source node": 383,
"start line": 167,
"target node": 384,
"thread": 11
},
{
"file": 8,
"source": "__mptr = (unsigned long const *)us;",
"source node": 384,
"start line": 166,
"target node": 385,
"thread": 11
},
{
"file": 8,
"return": 40,
"source": "return (struct Scsi_Host *)(__mptr + 0xfffffffffffffc10UL);",
"source node": 385,
"start line": 166,
"target node": 386,
"thread": 11
},
{
"enter": 42,
"file": 4,
"source": "result = ldv_emg_scsi_add_host(tmp___0, &(us->pusb_intf)->dev);",
"source node": 386,
"start line": 952,
"target node": 387,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "struct Scsi_Host *ldv_13_host_host;",
"source node": 387,
"start line": 297,
"target node": 388,
"thread": 11
},
{
"action": 13,
"file": 0,
"source": "ldv_13_host_host = arg0;",
"source node": 388,
"start line": 304,
"target node": 389,
"thread": 11
},
{
"action": 14,
"enter": 43,
"file": 0,
"source": "ldv_dispatch_register_13_3(ldv_13_host_host);",
"source node": 389,
"start line": 308,
"target node": 390,
"thread": 11
},
{
"file": 0,
"source": "int ret;",
"source node": 390,
"start line": 275,
"target node": 391,
"thread": 11
},
{
"file": 0,
"source": "struct ldv_struct_scsi_LLDd_scenario_1 *cf_arg_1;",
"source node": 391,
"start line": 276,
"target node": 392,
"thread": 11
},
{
"enter": 2,
"file": 0,
"source": "cf_arg_1 = (struct ldv_struct_scsi_LLDd_scenario_1 *)ldv_xmalloc(16UL);",
"source node": 392,
"start line": 276,
"target node": 393,
"thread": 11
},
{
"file": 1,
"source": "void *res;",
"source node": 393,
"start line": 68,
"target node": 394,
"thread": 11
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 394,
"start line": 70,
"target node": 395,
"thread": 11
},
{
"file": 1,
"source": "res = malloc(size);",
"source node": 395,
"start line": 68,
"target node": 396,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 396,
"start line": 69,
"target node": 397,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 397,
"start line": 25,
"target node": 398,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 398,
"start line": 31,
"target node": 399,
"thread": 11
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 399,
"start line": 70,
"target node": 400,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 400,
"start line": 22,
"target node": 401,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 401,
"start line": 70,
"target node": 402,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 402,
"start line": 25,
"target node": 403,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 403,
"start line": 31,
"target node": 404,
"thread": 11
},
{
"file": 1,
"return": 2,
"source": "return res;",
"source node": 404,
"start line": 71,
"target node": 405,
"thread": 11
},
{
"file": 0,
"source": "cf_arg_1->arg0 = arg0;",
"source node": 405,
"start line": 277,
"target node": 406,
"thread": 11
},
{
"file": 0,
"source": "ret = ldv_thread_create(&ldv_thread_1, &ldv_scsi_LLDd_scenario_1, (void *)cf_arg_1);",
"source node": 406,
"start line": 278,
"target node": 407,
"thread": 11
},
{
"enter": 3,
"file": 0,
"source": "ldv_assume(ret == 0);",
"source node": 407,
"start line": 279,
"target node": 408,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 408,
"start line": 25,
"target node": 409,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 409,
"start line": 31,
"target node": 410,
"thread": 11
},
{
"file": 0,
"return": 43,
"source": "return;",
"source node": 410,
"start line": 280,
"target node": 411,
"thread": 11
},
{
"action": 15,
"file": 0,
"return": 42,
"source": "return 0;",
"source node": 411,
"start line": 312,
"target node": 412,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 412,
"start line": 953,
"target node": 413,
"thread": 11
},
{
"file": 4,
"source": "th = kthread_create(&usb_stor_scan_thread, (void *)us, \"usb-stor-scan\");",
"source node": 413,
"start line": 960,
"target node": 414,
"thread": 11
},
{
"condition": true,
"enter": 4,
"file": 4,
"source": "ldv_is_err((void const *)th) == 0L",
"source node": 414,
"start line": 961,
"target node": 415,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 415,
"start line": 22,
"target node": 416,
"thread": 11
},
{
"file": 4,
"source": "wake_up_process(th);",
"source node": 416,
"start line": 970,
"target node": 417,
"thread": 11
},
{
"file": 4,
"return": 32,
"source": "return 0;",
"source node": 417,
"start line": 972,
"target node": 418,
"thread": 11
},
{
"file": 4,
"return": 16,
"source": "return result;",
"source node": 418,
"start line": 1025,
"target node": 419,
"thread": 11
},
{
"action": 10,
"enter": 44,
"file": 0,
"source": "ldv_11_probe_retval_default = ldv_post_probe(ldv_11_probe_retval_default);",
"source node": 419,
"start line": 1286,
"target node": 420,
"thread": 11
},
{
"enter": 45,
"file": 14,
"return": 44,
"source": "return ldv_filter_positive_int(probe_ret_val);",
"source node": 420,
"start line": 39,
"target node": 421,
"thread": 11
},
{
"enter": 3,
"file": 14,
"source": "ldv_assume(val <= 0);",
"source node": 421,
"start line": 23,
"target node": 422,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 422,
"start line": 25,
"target node": 423,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 423,
"start line": 31,
"target node": 424,
"thread": 11
},
{
"file": 14,
"return": 45,
"source": "return val;",
"source node": 424,
"start line": 24,
"target node": 425,
"thread": 11
},
{
"action": 16,
"enter": 6,
"file": 0,
"source": "ldv_free((void *)ldv_11_ldv_param_14_1_default);",
"source node": 425,
"start line": 1290,
"target node": 426,
"thread": 11
},
{
"file": 1,
"source": "free(s);",
"source node": 426,
"start line": 63,
"target node": 427,
"thread": 11
},
{
"file": 1,
"return": 6,
"source": "return;",
"source node": 427,
"start line": 64,
"target node": 428,
"thread": 11
},
{
"action": 17,
"enter": 3,
"file": 0,
"source": "ldv_assume(ldv_11_probe_retval_default != 0);",
"source node": 428,
"start line": 1295,
"target node": 429,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 429,
"start line": 25,
"target node": 430,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 430,
"start line": 31,
"target node": 431,
"thread": 11
},
{
"action": 9,
"enter": 14,
"file": 0,
"source": "ldv_11_ldv_param_14_1_default = (struct usb_device_id *)ldv_xmalloc_unknown_size(0UL);",
"source node": 431,
"start line": 1277,
"target node": 432,
"thread": 11
},
{
"file": 1,
"source": "void *res;",
"source node": 432,
"start line": 116,
"target node": 433,
"thread": 11
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 433,
"start line": 118,
"target node": 434,
"thread": 11
},
{
"file": 1,
"source": "res = external_allocated_data();",
"source node": 434,
"start line": 116,
"target node": 435,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 435,
"start line": 117,
"target node": 436,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 436,
"start line": 25,
"target node": 437,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 437,
"start line": 31,
"target node": 438,
"thread": 11
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 438,
"start line": 118,
"target node": 439,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 439,
"start line": 22,
"target node": 440,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 440,
"start line": 118,
"target node": 441,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 441,
"start line": 25,
"target node": 442,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 442,
"start line": 31,
"target node": 443,
"thread": 11
},
{
"file": 1,
"return": 14,
"source": "return res;",
"source node": 443,
"start line": 119,
"target node": 444,
"thread": 11
},
{
"action": 10,
"file": 0,
"source": "ldv_pre_probe();",
"source node": 444,
"start line": 1282,
"target node": 445,
"thread": 11
},
{
"action": 10,
"file": 0,
"source": "ldv_11_probe_retval_default = ldv_usb_scenario_probe_11_14((int (*)(struct usb_interface *, struct usb_device_id *))ldv_11_container_usb_driver->probe, ldv_11_resource_usb_interface, ldv_11_ldv_param_14_1_default);",
"source node": 445,
"start line": 1285,
"target node": 446,
"thread": 11
},
{
"action": 10,
"enter": 16,
"file": 4,
"original file": 0,
"original start line": 1284,
"source": "ldv_11_probe_retval_default = storage_probe(arg1, (struct usb_device_id *))ldv_11_container_usb_driver->probe);",
"source node": 446,
"start line": 996,
"target node": 447,
"thread": 11
},
{
"file": 4,
"source": "struct us_data *us;",
"source node": 447,
"start line": 996,
"target node": 448,
"thread": 11
},
{
"file": 4,
"source": "int result;",
"source node": 448,
"start line": 997,
"target node": 449,
"thread": 11
},
{
"condition": true,
"enter": 17,
"file": 4,
"source": "usb_usual_ignore_device(intf) == 0",
"source node": 449,
"start line": 1006,
"target node": 450,
"thread": 11
},
{
"file": 6,
"source": "struct usb_device *udev;",
"source node": 450,
"start line": 100,
"target node": 451,
"thread": 11
},
{
"file": 6,
"source": "unsigned int vid;",
"source node": 451,
"start line": 101,
"target node": 452,
"thread": 11
},
{
"file": 6,
"source": "unsigned int pid;",
"source node": 452,
"start line": 102,
"target node": 453,
"thread": 11
},
{
"file": 6,
"source": "unsigned int bcd;",
"source node": 453,
"start line": 103,
"target node": 454,
"thread": 11
},
{
"file": 6,
"source": "struct ignore_entry *p;",
"source node": 454,
"start line": 104,
"target node": 455,
"thread": 11
},
{
"file": 6,
"source": "struct device const *__mptr;",
"source node": 455,
"start line": 105,
"target node": 456,
"thread": 11
},
{
"file": 6,
"source": "__mptr = (struct device const *)intf->dev.parent;",
"source node": 456,
"start line": 104,
"target node": 457,
"thread": 11
},
{
"file": 6,
"source": "udev = (struct usb_device *)(__mptr + 0xffffffffffffff70UL);",
"source node": 457,
"start line": 104,
"target node": 458,
"thread": 11
},
{
"file": 6,
"source": "vid = (unsigned int)udev->descriptor.idVendor;",
"source node": 458,
"start line": 105,
"target node": 459,
"thread": 11
},
{
"file": 6,
"source": "pid = (unsigned int)udev->descriptor.idProduct;",
"source node": 459,
"start line": 106,
"target node": 460,
"thread": 11
},
{
"file": 6,
"source": "bcd = (unsigned int)udev->descriptor.bcdDevice;",
"source node": 460,
"start line": 107,
"target node": 461,
"thread": 11
},
{
"file": 6,
"source": "p = (struct ignore_entry *)(&ignore_ids);",
"source node": 461,
"start line": 109,
"target node": 462,
"thread": 11
},
{
"file": 6,
"source": "Goto: ldv_19116",
"source node": 462,
"start line": 109,
"target node": 463,
"thread": 11
},
{
"file": 6,
"source": "(unsigned int)p->vid != 0U",
"source node": 463,
"start line": 109,
"target node": 464,
"thread": 11
},
{
"condition": true,
"file": 6,
"source": "__CPAchecker_TMP_4 == 0U",
"source node": 464,
"start line": 109,
"target node": 465,
"thread": 11
},
{
"file": 6,
"return": 17,
"source": "return 0;",
"source node": 465,
"start line": 114,
"target node": 466,
"thread": 11
},
{
"enter": 18,
"file": 4,
"source": "result = usb_stor_probe1(&us, intf, id, (struct us_unusual_dev *)(&us_unusual_dev_list + (unsigned long)(((long)id - (long)(&usb_storage_usb_ids)) / 24L)));",
"source node": 466,
"start line": 1017,
"target node": 467,
"thread": 11
},
{
"file": 4,
"source": "struct Scsi_Host *host;",
"source node": 467,
"start line": 865,
"target node": 468,
"thread": 11
},
{
"file": 4,
"source": "struct us_data *us;",
"source node": 468,
"start line": 866,
"target node": 469,
"thread": 11
},
{
"file": 4,
"source": "int result;",
"source node": 469,
"start line": 867,
"target node": 470,
"thread": 11
},
{
"file": 4,
"source": "struct lock_class_key __key;",
"source node": 470,
"start line": 869,
"target node": 471,
"thread": 11
},
{
"file": 4,
"source": "struct lock_class_key __key___0;",
"source node": 471,
"start line": 870,
"target node": 472,
"thread": 11
},
{
"enter": 20,
"file": 4,
"source": "host = ldv_emg_scsi_host_alloc(&usb_stor_host_template, 496);",
"source node": 472,
"start line": 877,
"target node": 473,
"thread": 11
},
{
"action": 2,
"file": 7,
"source": "struct Scsi_Host *ldv_14_host_host;",
"source node": 473,
"start line": 89,
"target node": 474,
"thread": 11
},
{
"action": 2,
"file": 7,
"source": "struct scsi_host_template *ldv_14_scsi_host_template_scsi_host_template;",
"source node": 474,
"start line": 90,
"target node": 475,
"thread": 11
},
{
"action": 11,
"enter": 2,
"file": 7,
"source": "ldv_14_host_host = (struct Scsi_Host *)ldv_xmalloc(1008UL);",
"source node": 475,
"start line": 97,
"target node": 476,
"thread": 11
},
{
"file": 1,
"source": "void *res;",
"source node": 476,
"start line": 68,
"target node": 477,
"thread": 11
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 477,
"start line": 70,
"target node": 478,
"thread": 11
},
{
"file": 1,
"source": "res = malloc(size);",
"source node": 478,
"start line": 68,
"target node": 479,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 479,
"start line": 69,
"target node": 480,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 480,
"start line": 25,
"target node": 481,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 481,
"start line": 31,
"target node": 482,
"thread": 11
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 482,
"start line": 70,
"target node": 483,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 483,
"start line": 22,
"target node": 484,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 484,
"start line": 70,
"target node": 485,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 485,
"start line": 25,
"target node": 486,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 486,
"start line": 31,
"target node": 487,
"thread": 11
},
{
"file": 1,
"return": 2,
"source": "return res;",
"source node": 487,
"start line": 71,
"target node": 488,
"thread": 11
},
{
"action": 11,
"file": 7,
"source": "ldv_14_scsi_host_template_scsi_host_template = arg0;",
"source node": 488,
"start line": 98,
"target node": 489,
"thread": 11
},
{
"action": 11,
"file": 7,
"source": "ldv_14_host_host->hostt = ldv_14_scsi_host_template_scsi_host_template;",
"source node": 489,
"start line": 99,
"target node": 490,
"thread": 11
},
{
"action": 12,
"file": 7,
"return": 20,
"source": "return ldv_14_host_host;",
"source node": 490,
"start line": 103,
"target node": 491,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)host) != ((unsigned long)((struct Scsi_Host *)0))",
"source node": 491,
"start line": 878,
"target node": 492,
"thread": 11
},
{
"file": 4,
"source": "host->max_cmd_len = 16U;",
"source node": 492,
"start line": 887,
"target node": 493,
"thread": 11
},
{
"enter": 21,
"file": 4,
"source": "host->sg_tablesize = (unsigned short)usb_stor_sg_tablesize(intf);",
"source node": 493,
"start line": 888,
"target node": 494,
"thread": 11
},
{
"file": 4,
"source": "struct usb_device *usb_dev;",
"source node": 494,
"start line": 853,
"target node": 495,
"thread": 11
},
{
"file": 4,
"source": "struct device const *__mptr;",
"source node": 495,
"start line": 854,
"target node": 496,
"thread": 11
},
{
"file": 4,
"source": "__mptr = (struct device const *)intf->dev.parent;",
"source node": 496,
"start line": 853,
"target node": 497,
"thread": 11
},
{
"file": 4,
"source": "usb_dev = (struct usb_device *)(__mptr + 0xffffffffffffff70UL);",
"source node": 497,
"start line": 853,
"target node": 498,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "(usb_dev->bus->sg_tablesize) == 0U",
"source node": 498,
"start line": 855,
"target node": 499,
"thread": 11
},
{
"file": 4,
"return": 21,
"source": "return 128U;",
"source node": 499,
"start line": 858,
"target node": 500,
"thread": 11
},
{
"enter": 22,
"file": 4,
"source": "us = host_to_us(host);",
"source node": 500,
"start line": 889,
"target node": 501,
"thread": 11
},
{
"file": 8,
"return": 22,
"source": "return (struct us_data *)(&host->hostdata);",
"source node": 501,
"start line": 169,
"target node": 502,
"thread": 11
},
{
"file": 4,
"source": "*pus = us;",
"source node": 502,
"start line": 889,
"target node": 503,
"thread": 11
},
{
"file": 4,
"source": "memset((void *)us, 0, 496UL);",
"source node": 503,
"start line": 890,
"target node": 504,
"thread": 11
},
{
"file": 4,
"source": "__mutex_init(&us->dev_mutex, \"&(us->dev_mutex)\", &__key);",
"source node": 504,
"start line": 891,
"target node": 505,
"thread": 11
},
{
"enter": 23,
"file": 4,
"source": "init_completion(&us->cmnd_ready);",
"source node": 505,
"start line": 892,
"target node": 506,
"thread": 11
},
{
"file": 9,
"source": "struct lock_class_key __key;",
"source node": 506,
"start line": 75,
"target node": 507,
"thread": 11
},
{
"file": 9,
"source": "x->done = 0U;",
"source node": 507,
"start line": 75,
"target node": 508,
"thread": 11
},
{
"file": 9,
"source": "__init_waitqueue_head(&x->wait, &__key);",
"source node": 508,
"start line": 76,
"target node": 509,
"thread": 11
},
{
"file": 9,
"return": 23,
"source": "return;",
"source node": 509,
"start line": 78,
"target node": 510,
"thread": 11
},
{
"enter": 23,
"file": 4,
"source": "init_completion(&us->notify);",
"source node": 510,
"start line": 893,
"target node": 511,
"thread": 11
},
{
"file": 9,
"source": "struct lock_class_key __key;",
"source node": 511,
"start line": 75,
"target node": 512,
"thread": 11
},
{
"file": 9,
"source": "x->done = 0U;",
"source node": 512,
"start line": 75,
"target node": 513,
"thread": 11
},
{
"file": 9,
"source": "__init_waitqueue_head(&x->wait, &__key);",
"source node": 513,
"start line": 76,
"target node": 514,
"thread": 11
},
{
"file": 9,
"return": 23,
"source": "return;",
"source node": 514,
"start line": 78,
"target node": 515,
"thread": 11
},
{
"file": 4,
"source": "__init_waitqueue_head(&us->delay_wait, &__key___0);",
"source node": 515,
"start line": 894,
"target node": 516,
"thread": 11
},
{
"enter": 23,
"file": 4,
"source": "init_completion(&us->scanning_done);",
"source node": 516,
"start line": 895,
"target node": 517,
"thread": 11
},
{
"file": 9,
"source": "struct lock_class_key __key;",
"source node": 517,
"start line": 75,
"target node": 518,
"thread": 11
},
{
"file": 9,
"source": "x->done = 0U;",
"source node": 518,
"start line": 75,
"target node": 519,
"thread": 11
},
{
"file": 9,
"source": "__init_waitqueue_head(&x->wait, &__key);",
"source node": 519,
"start line": 76,
"target node": 520,
"thread": 11
},
{
"file": 9,
"return": 23,
"source": "return;",
"source node": 520,
"start line": 78,
"target node": 521,
"thread": 11
},
{
"enter": 24,
"file": 4,
"source": "result = associate_dev(us, intf);",
"source node": 521,
"start line": 898,
"target node": 522,
"thread": 11
},
{
"file": 4,
"source": "struct device const *__mptr;",
"source node": 522,
"start line": 393,
"target node": 523,
"thread": 11
},
{
"file": 4,
"source": "__mptr = (struct device const *)intf->dev.parent;",
"source node": 523,
"start line": 396,
"target node": 524,
"thread": 11
},
{
"file": 4,
"source": "us->pusb_dev = (struct usb_device *)(__mptr + 0xffffffffffffff70UL);",
"source node": 524,
"start line": 396,
"target node": 525,
"thread": 11
},
{
"file": 4,
"source": "us->pusb_intf = intf;",
"source node": 525,
"start line": 397,
"target node": 526,
"thread": 11
},
{
"file": 4,
"source": "us->ifnum = (intf->cur_altsetting)->desc.bInterfaceNumber;",
"source node": 526,
"start line": 398,
"target node": 527,
"thread": 11
},
{
"enter": 25,
"file": 4,
"source": "usb_set_intfdata(intf, (void *)us);",
"source node": 527,
"start line": 408,
"target node": 528,
"thread": 11
},
{
"file": 10,
"source": "dev_set_drvdata(&intf->dev, data);",
"source node": 528,
"start line": 213,
"target node": 529,
"thread": 11
},
{
"file": 10,
"return": 25,
"source": "return;",
"source node": 529,
"start line": 214,
"target node": 530,
"thread": 11
},
{
"file": 4,
"source": "us->cr = (struct usb_ctrlrequest *)usb_buffer_alloc(us->pusb_dev, 8UL, 208U, &us->cr_dma);",
"source node": 530,
"start line": 411,
"target node": 531,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->cr == (unsigned long)((struct usb_ctrlrequest *)0)",
"source node": 531,
"start line": 413,
"target node": 532,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != ((unsigned long)((struct usb_ctrlrequest *)0))",
"source node": 532,
"start line": 413,
"target node": 533,
"thread": 11
},
{
"file": 4,
"source": "us->iobuf = (unsigned char *)usb_buffer_alloc(us->pusb_dev, 64UL, 208U, &us->iobuf_dma);",
"source node": 533,
"start line": 418,
"target node": 534,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->iobuf == (unsigned long)((unsigned char *)0U)",
"source node": 534,
"start line": 420,
"target node": 535,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 != ((unsigned long)((unsigned char *)0U))",
"source node": 535,
"start line": 420,
"target node": 536,
"thread": 11
},
{
"file": 4,
"return": 24,
"source": "return 0;",
"source node": 536,
"start line": 424,
"target node": 537,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 537,
"start line": 899,
"target node": 538,
"thread": 11
},
{
"enter": 26,
"file": 4,
"source": "result = get_device_info(us, id, unusual_dev);",
"source node": 538,
"start line": 903,
"target node": 539,
"thread": 11
},
{
"file": 4,
"source": "struct usb_device *dev;",
"source node": 539,
"start line": 511,
"target node": 540,
"thread": 11
},
{
"file": 4,
"source": "struct usb_interface_descriptor *idesc;",
"source node": 540,
"start line": 512,
"target node": 541,
"thread": 11
},
{
"file": 4,
"source": "char const *msgs[3U];",
"source node": 541,
"start line": 513,
"target node": 542,
"thread": 11
},
{
"file": 4,
"source": "struct usb_device_descriptor *ddesc;",
"source node": 542,
"start line": 514,
"target node": 543,
"thread": 11
},
{
"file": 4,
"source": "int msg;",
"source node": 543,
"start line": 515,
"target node": 544,
"thread": 11
},
{
"file": 4,
"source": "dev = us->pusb_dev;",
"source node": 544,
"start line": 511,
"target node": 545,
"thread": 11
},
{
"file": 4,
"source": "idesc = &((us->pusb_intf)->cur_altsetting)->desc;",
"source node": 545,
"start line": 512,
"target node": 546,
"thread": 11
},
{
"file": 4,
"source": "us->unusual_dev = unusual_dev;",
"source node": 546,
"start line": 516,
"target node": 547,
"thread": 11
},
{
"file": 4,
"source": "us->subclass = (unsigned int)unusual_dev->useProtocol == 255U ? idesc->bInterfaceSubClass : unusual_dev->useProtocol;",
"source node": 547,
"start line": 517,
"target node": 548,
"thread": 11
},
{
"file": 4,
"source": "(unsigned int)unusual_dev->useProtocol == 255U",
"source node": 548,
"start line": 517,
"target node": 549,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_2 != 255U",
"source node": 549,
"start line": 517,
"target node": 550,
"thread": 11
},
{
"file": 4,
"source": "unusual_dev->useProtocol",
"source node": 550,
"start line": 517,
"target node": 551,
"thread": 11
},
{
"file": 4,
"source": "us->subclass = (unsigned int)unusual_dev->useProtocol == 255U ? idesc->bInterfaceSubClass : unusual_dev->useProtocol;",
"source node": 551,
"start line": 517,
"target node": 552,
"thread": 11
},
{
"file": 4,
"source": "us->protocol = (unsigned int)unusual_dev->useTransport == 255U ? idesc->bInterfaceProtocol : unusual_dev->useTransport;",
"source node": 552,
"start line": 520,
"target node": 553,
"thread": 11
},
{
"file": 4,
"source": "(unsigned int)unusual_dev->useTransport == 255U",
"source node": 553,
"start line": 520,
"target node": 554,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_5 != 255U",
"source node": 554,
"start line": 520,
"target node": 555,
"thread": 11
},
{
"file": 4,
"source": "unusual_dev->useTransport",
"source node": 555,
"start line": 520,
"target node": 556,
"thread": 11
},
{
"file": 4,
"source": "us->protocol = (unsigned int)unusual_dev->useTransport == 255U ? idesc->bInterfaceProtocol : unusual_dev->useTransport;",
"source node": 556,
"start line": 520,
"target node": 557,
"thread": 11
},
{
"file": 4,
"source": "us->fflags = (unsigned long)id->driver_info &16777215UL;",
"source node": 557,
"start line": 523,
"target node": 558,
"thread": 11
},
{
"file": 4,
"source": "us->fflags = (unsigned long)id->driver_info &16777215UL;",
"source node": 558,
"start line": 523,
"target node": 559,
"thread": 11
},
{
"enter": 27,
"file": 4,
"source": "adjust_quirks(us);",
"source node": 559,
"start line": 524,
"target node": 560,
"thread": 11
},
{
"file": 4,
"source": "char *p;",
"source node": 560,
"start line": 433,
"target node": 561,
"thread": 11
},
{
"file": 4,
"source": "u16 vid;",
"source node": 561,
"start line": 434,
"target node": 562,
"thread": 11
},
{
"file": 4,
"source": "u16 pid;",
"source node": 562,
"start line": 435,
"target node": 563,
"thread": 11
},
{
"file": 4,
"source": "unsigned int f;",
"source node": 563,
"start line": 436,
"target node": 564,
"thread": 11
},
{
"file": 4,
"source": "unsigned int mask;",
"source node": 564,
"start line": 437,
"target node": 565,
"thread": 11
},
{
"file": 4,
"source": "vid = (us->pusb_dev)->descriptor.idVendor;",
"source node": 565,
"start line": 434,
"target node": 566,
"thread": 11
},
{
"file": 4,
"source": "pid = (us->pusb_dev)->descriptor.idProduct;",
"source node": 566,
"start line": 435,
"target node": 567,
"thread": 11
},
{
"file": 4,
"source": "f = 0U;",
"source node": 567,
"start line": 436,
"target node": 568,
"thread": 11
},
{
"file": 4,
"source": "mask = 237233U;",
"source node": 568,
"start line": 437,
"target node": 569,
"thread": 11
},
{
"file": 4,
"source": "p = (char *)(&quirks);",
"source node": 569,
"start line": 444,
"target node": 570,
"thread": 11
},
{
"file": 4,
"source": "Goto: ldv_25619",
"source node": 570,
"start line": 445,
"target node": 571,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) != 0",
"source node": 571,
"start line": 445,
"target node": 572,
"thread": 11
},
{
"file": 4,
"source": "goto ldv_25618;",
"source node": 572,
"start line": 447,
"target node": 573,
"thread": 11
},
{
"file": 4,
"source": "ldv_25618: { #line 447 tmp = simple_strtoul((char const *)p, &p, 16U); }",
"source node": 573,
"start line": 446,
"target node": 574,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)vid) == simple_strtoul((char const *)p, &p, 16U)",
"source node": 574,
"start line": 447,
"target node": 575,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) == 58",
"source node": 575,
"start line": 447,
"target node": 576,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)pid) == simple_strtoul((char const *)(p + 1U), &p, 16U)",
"source node": 576,
"start line": 447,
"target node": 577,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) == 58",
"source node": 577,
"start line": 447,
"target node": 578,
"thread": 11
},
{
"file": 4,
"source": "Goto: ldv_25614",
"source node": 578,
"start line": 451,
"target node": 579,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) != 0",
"source node": 579,
"start line": 459,
"target node": 580,
"thread": 11
},
{
"file": 4,
"source": "Goto: ldv_25633",
"source node": 580,
"start line": 463,
"target node": 581,
"thread": 11
},
{
"file": 4,
"source": "p = p + 1;",
"source node": 581,
"start line": 463,
"target node": 582,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) == 0",
"source node": 582,
"start line": 463,
"target node": 583,
"thread": 11
},
{
"file": 4,
"source": "us->fflags = (us->fflags &(unsigned long)(~ mask)) | (unsigned long)f;",
"source node": 583,
"start line": 501,
"target node": 584,
"thread": 11
},
{
"enter": 28,
"file": 4,
"source": "tmp___2 = dev_name((struct device const *)(&(us->pusb_intf)->dev));",
"source node": 584,
"start line": 502,
"target node": 585,
"thread": 11
},
{
"enter": 29,
"file": 11,
"return": 28,
"source": "return kobject_name(&dev->kobj);",
"source node": 585,
"start line": 435,
"target node": 586,
"thread": 11
},
{
"file": 12,
"source": "return (char const *)kobj->name;",
"source node": 586,
"start line": 81,
"target node": 587,
"thread": 11
},
{
"file": 12,
"return": 29,
"source": "return (char const *)kobj->name;",
"source node": 587,
"start line": 81,
"target node": 588,
"thread": 11
},
{
"file": 4,
"source": "printk(\"<6>%s %s: Quirks match for vid %04x pid %04x: %x\\n\", dev_driver_string((struct device const *)(&(us->pusb_intf)->dev)), tmp___2, (int)vid, (int)pid, f);",
"source node": 588,
"start line": 502,
"target node": 589,
"thread": 11
},
{
"file": 4,
"return": 27,
"source": "return;",
"source node": 589,
"start line": 503,
"target node": 590,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((us->fflags) &2048UL) == 0UL",
"source node": 590,
"start line": 526,
"target node": 591,
"thread": 11
},
{
"file": 4,
"source": "(unsigned int)dev->speed != 3U",
"source node": 591,
"start line": 535,
"target node": 592,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_7 == 3U",
"source node": 592,
"start line": 535,
"target node": 593,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "(*(((unsigned long *)id) + 0UL)) == 0UL",
"source node": 593,
"start line": 543,
"target node": 594,
"thread": 11
},
{
"file": 4,
"return": 26,
"source": "return 0;",
"source node": 594,
"start line": 574,
"target node": 595,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 595,
"start line": 904,
"target node": 596,
"thread": 11
},
{
"enter": 30,
"file": 4,
"source": "get_transport(us);",
"source node": 596,
"start line": 908,
"target node": 597,
"thread": 11
},
{
"file": 4,
"source": "(int)us->protocol == 1",
"source node": 597,
"start line": 581,
"target node": 598,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != 1",
"source node": 598,
"start line": 581,
"target node": 599,
"thread": 11
},
{
"file": 4,
"source": "(int)us->protocol == 0",
"source node": 599,
"start line": 588,
"target node": 600,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 != 0",
"source node": 600,
"start line": 588,
"target node": 601,
"thread": 11
},
{
"file": 4,
"source": "(int)us->protocol == 80",
"source node": 601,
"start line": 595,
"target node": 602,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_2 != 80",
"source node": 602,
"start line": 595,
"target node": 603,
"thread": 11
},
{
"file": 4,
"source": "Goto: switch_break",
"source node": 603,
"start line": 580,
"target node": 604,
"thread": 11
},
{
"file": 4,
"source": "switch_break: /* CIL Label */;",
"source node": 604,
"start line": 600,
"target node": 605,
"thread": 11
},
{
"file": 4,
"source": "ldv_25649:;",
"source node": 605,
"start line": 602,
"target node": 606,
"thread": 11
},
{
"file": 4,
"return": 30,
"source": "return;",
"source node": 606,
"start line": 602,
"target node": 607,
"thread": 11
},
{
"enter": 31,
"file": 4,
"source": "get_protocol(us);",
"source node": 607,
"start line": 909,
"target node": 608,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 1",
"source node": 608,
"start line": 607,
"target node": 609,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != 1",
"source node": 609,
"start line": 607,
"target node": 610,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 2",
"source node": 610,
"start line": 612,
"target node": 611,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 != 2",
"source node": 611,
"start line": 612,
"target node": 612,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 3",
"source node": 612,
"start line": 618,
"target node": 613,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_2 != 3",
"source node": 613,
"start line": 618,
"target node": 614,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 5",
"source node": 614,
"start line": 624,
"target node": 615,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_3 != 5",
"source node": 615,
"start line": 624,
"target node": 616,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 6",
"source node": 616,
"start line": 630,
"target node": 617,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_4 != 6",
"source node": 617,
"start line": 630,
"target node": 618,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 4",
"source node": 618,
"start line": 635,
"target node": 619,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_5 != 4",
"source node": 619,
"start line": 635,
"target node": 620,
"thread": 11
},
{
"file": 4,
"source": "Goto: switch_break",
"source node": 620,
"start line": 606,
"target node": 621,
"thread": 11
},
{
"file": 4,
"source": "switch_break: /* CIL Label */;",
"source node": 621,
"start line": 639,
"target node": 622,
"thread": 11
},
{
"file": 4,
"source": "ldv_25656:;",
"source node": 622,
"start line": 641,
"target node": 623,
"thread": 11
},
{
"file": 4,
"return": 31,
"source": "return;",
"source node": 623,
"start line": 641,
"target node": 624,
"thread": 11
},
{
"file": 4,
"return": 18,
"source": "return 0;",
"source node": 624,
"start line": 914,
"target node": 625,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 625,
"start line": 1019,
"target node": 626,
"thread": 11
},
{
"enter": 32,
"file": 4,
"source": "result = usb_stor_probe2(us);",
"source node": 626,
"start line": 1024,
"target node": 627,
"thread": 11
},
{
"file": 4,
"source": "struct task_struct *th;",
"source node": 627,
"start line": 926,
"target node": 628,
"thread": 11
},
{
"file": 4,
"source": "int result;",
"source node": 628,
"start line": 927,
"target node": 629,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->transport == (unsigned long)((int (*)(struct scsi_cmnd *, struct us_data *))0)",
"source node": 629,
"start line": 930,
"target node": 630,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != ((unsigned long)((int (*)(struct scsi_cmnd *, struct us_data *))0))",
"source node": 630,
"start line": 930,
"target node": 631,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->proto_handler == (unsigned long)((void (*)(struct scsi_cmnd *, struct us_data *))0)",
"source node": 631,
"start line": 931,
"target node": 632,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 != ((unsigned long)((void (*)(struct scsi_cmnd *, struct us_data *))0))",
"source node": 632,
"start line": 931,
"target node": 633,
"thread": 11
},
{
"file": 4,
"source": "(int)us->fflags &1",
"source node": 633,
"start line": 938,
"target node": 634,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "(__CPAchecker_TMP_2 &1) != 0",
"source node": 634,
"start line": 938,
"target node": 635,
"thread": 11
},
{
"file": 4,
"source": "us->max_lun = 0U;",
"source node": 635,
"start line": 939,
"target node": 636,
"thread": 11
},
{
"enter": 33,
"file": 4,
"source": "result = get_pipes(us);",
"source node": 636,
"start line": 942,
"target node": 637,
"thread": 11
},
{
"file": 4,
"source": "struct usb_host_interface *altsetting;",
"source node": 637,
"start line": 645,
"target node": 638,
"thread": 11
},
{
"file": 4,
"source": "int i;",
"source node": 638,
"start line": 646,
"target node": 639,
"thread": 11
},
{
"file": 4,
"source": "struct usb_endpoint_descriptor *ep;",
"source node": 639,
"start line": 647,
"target node": 640,
"thread": 11
},
{
"file": 4,
"source": "struct usb_endpoint_descriptor *ep_in;",
"source node": 640,
"start line": 648,
"target node": 641,
"thread": 11
},
{
"file": 4,
"source": "struct usb_endpoint_descriptor *ep_out;",
"source node": 641,
"start line": 649,
"target node": 642,
"thread": 11
},
{
"file": 4,
"source": "struct usb_endpoint_descriptor *ep_int;",
"source node": 642,
"start line": 650,
"target node": 643,
"thread": 11
},
{
"file": 4,
"source": "int tmp___4;",
"source node": 643,
"start line": 656,
"target node": 644,
"thread": 11
},
{
"file": 4,
"source": "int tmp___6;",
"source node": 644,
"start line": 658,
"target node": 645,
"thread": 11
},
{
"file": 4,
"source": "altsetting = (us->pusb_intf)->cur_altsetting;",
"source node": 645,
"start line": 645,
"target node": 646,
"thread": 11
},
{
"file": 4,
"source": "ep_in = (struct usb_endpoint_descriptor *)0;",
"source node": 646,
"start line": 649,
"target node": 647,
"thread": 11
},
{
"file": 4,
"source": "ep_out = (struct usb_endpoint_descriptor *)0;",
"source node": 647,
"start line": 650,
"target node": 648,
"thread": 11
},
{
"file": 4,
"source": "ep_int = (struct usb_endpoint_descriptor *)0;",
"source node": 648,
"start line": 651,
"target node": 649,
"thread": 11
},
{
"file": 4,
"source": "i = 0;",
"source node": 649,
"start line": 659,
"target node": 650,
"thread": 11
},
{
"file": 4,
"source": "Goto: ldv_25672",
"source node": 650,
"start line": 659,
"target node": 651,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)(altsetting->desc.bNumEndpoints)) > i",
"source node": 651,
"start line": 659,
"target node": 652,
"thread": 11
},
{
"file": 4,
"source": "goto ldv_25671;",
"source node": 652,
"start line": 661,
"target node": 653,
"thread": 11
},
{
"file": 4,
"source": "ldv_25671: { #line 660 ep = &(altsetting->endpoint + (unsigned long)i)->desc; #line 662 tmp___1 = usb_endpoint_xfer_bulk((struct usb_endpoint_descriptor const *)ep); }",
"source node": 653,
"start line": 660,
"target node": 654,
"thread": 11
},
{
"file": 4,
"source": "ep = &(altsetting->endpoint + (unsigned long)i)->desc;",
"source node": 654,
"start line": 660,
"target node": 655,
"thread": 11
},
{
"condition": true,
"enter": 34,
"file": 4,
"source": "usb_endpoint_xfer_bulk((struct usb_endpoint_descriptor const *)ep) != 0",
"source node": 655,
"start line": 662,
"target node": 656,
"thread": 11
},
{
"file": 13,
"source": "return ((int)epd->bmAttributes &3) == 2;",
"source node": 656,
"start line": 423,
"target node": 657,
"thread": 11
},
{
"file": 13,
"return": 34,
"source": "return ((int)epd->bmAttributes &3) == 2;",
"source node": 657,
"start line": 423,
"target node": 658,
"thread": 11
},
{
"condition": true,
"enter": 35,
"file": 4,
"source": "usb_endpoint_dir_in((struct usb_endpoint_descriptor const *)ep) == 0",
"source node": 658,
"start line": 663,
"target node": 659,
"thread": 11
},
{
"file": 13,
"source": "return (int)((signed char)epd->bEndpointAddress) < 0;",
"source node": 659,
"start line": 399,
"target node": 660,
"thread": 11
},
{
"file": 13,
"return": 35,
"source": "return (int)((signed char)epd->bEndpointAddress) < 0;",
"source node": 660,
"start line": 399,
"target node": 661,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_out) == ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 661,
"start line": 667,
"target node": 662,
"thread": 11
},
{
"file": 4,
"source": "ep_out = ep;",
"source node": 662,
"start line": 668,
"target node": 663,
"thread": 11
},
{
"file": 4,
"source": "i = i + 1;",
"source node": 663,
"start line": 659,
"target node": 664,
"thread": 11
},
{
"file": 4,
"source": "ldv_25672:;",
"source node": 664,
"start line": 660,
"target node": 665,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)(altsetting->desc.bNumEndpoints)) > i",
"source node": 665,
"start line": 659,
"target node": 666,
"thread": 11
},
{
"file": 4,
"source": "goto ldv_25671;",
"source node": 666,
"start line": 661,
"target node": 667,
"thread": 11
},
{
"file": 4,
"source": "ldv_25671: { #line 660 ep = &(altsetting->endpoint + (unsigned long)i)->desc; #line 662 tmp___1 = usb_endpoint_xfer_bulk((struct usb_endpoint_descriptor const *)ep); }",
"source node": 667,
"start line": 660,
"target node": 668,
"thread": 11
},
{
"file": 4,
"source": "ep = &(altsetting->endpoint + (unsigned long)i)->desc;",
"source node": 668,
"start line": 660,
"target node": 669,
"thread": 11
},
{
"condition": true,
"enter": 34,
"file": 4,
"source": "usb_endpoint_xfer_bulk((struct usb_endpoint_descriptor const *)ep) != 0",
"source node": 669,
"start line": 662,
"target node": 670,
"thread": 11
},
{
"file": 13,
"source": "return ((int)epd->bmAttributes &3) == 2;",
"source node": 670,
"start line": 423,
"target node": 671,
"thread": 11
},
{
"file": 13,
"return": 34,
"source": "return ((int)epd->bmAttributes &3) == 2;",
"source node": 671,
"start line": 423,
"target node": 672,
"thread": 11
},
{
"condition": true,
"enter": 35,
"file": 4,
"source": "usb_endpoint_dir_in((struct usb_endpoint_descriptor const *)ep) != 0",
"source node": 672,
"start line": 663,
"target node": 673,
"thread": 11
},
{
"file": 13,
"source": "return (int)((signed char)epd->bEndpointAddress) < 0;",
"source node": 673,
"start line": 399,
"target node": 674,
"thread": 11
},
{
"file": 13,
"return": 35,
"source": "return (int)((signed char)epd->bEndpointAddress) < 0;",
"source node": 674,
"start line": 399,
"target node": 675,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_in) == ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 675,
"start line": 664,
"target node": 676,
"thread": 11
},
{
"file": 4,
"source": "ep_in = ep;",
"source node": 676,
"start line": 665,
"target node": 677,
"thread": 11
},
{
"file": 4,
"source": "i = i + 1;",
"source node": 677,
"start line": 659,
"target node": 678,
"thread": 11
},
{
"file": 4,
"source": "ldv_25672:;",
"source node": 678,
"start line": 660,
"target node": 679,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)(altsetting->desc.bNumEndpoints)) < i",
"source node": 679,
"start line": 659,
"target node": 680,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_in) != ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 680,
"start line": 678,
"target node": 681,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_out) != ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 681,
"start line": 678,
"target node": 682,
"thread": 11
},
{
"file": 4,
"source": "(unsigned int)us->protocol == 0U",
"source node": 682,
"start line": 678,
"target node": 683,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != 0U",
"source node": 683,
"start line": 678,
"target node": 684,
"thread": 11
},
{
"enter": 36,
"file": 4,
"source": "us->send_ctrl_pipe = __create_pipe(us->pusb_dev, 0U) | 2147483648U;",
"source node": 684,
"start line": 684,
"target node": 685,
"thread": 11
},
{
"file": 10,
"return": 36,
"source": "return (unsigned int)(dev->devnum << 8) | (endpoint << 15);",
"source node": 685,
"start line": 1531,
"target node": 686,
"thread": 11
},
{
"enter": 36,
"file": 4,
"source": "us->recv_ctrl_pipe = __create_pipe(us->pusb_dev, 0U) | 2147483776U;",
"source node": 686,
"start line": 685,
"target node": 687,
"thread": 11
},
{
"file": 10,
"return": 36,
"source": "return (unsigned int)(dev->devnum << 8) | (endpoint << 15);",
"source node": 687,
"start line": 1531,
"target node": 688,
"thread": 11
},
{
"enter": 37,
"file": 4,
"source": "tmp___4 = usb_endpoint_num((struct usb_endpoint_descriptor const *)ep_out);",
"source node": 688,
"start line": 686,
"target node": 689,
"thread": 11
},
{
"file": 13,
"source": "return (int)epd->bEndpointAddress &15;",
"source node": 689,
"start line": 376,
"target node": 690,
"thread": 11
},
{
"file": 13,
"return": 37,
"source": "return (int)epd->bEndpointAddress &15;",
"source node": 690,
"start line": 376,
"target node": 691,
"thread": 11
},
{
"enter": 36,
"file": 4,
"source": "us->send_bulk_pipe = __create_pipe(us->pusb_dev, (unsigned int)tmp___4) | 3221225472U;",
"source node": 691,
"start line": 686,
"target node": 692,
"thread": 11
},
{
"file": 10,
"return": 36,
"source": "return (unsigned int)(dev->devnum << 8) | (endpoint << 15);",
"source node": 692,
"start line": 1531,
"target node": 693,
"thread": 11
},
{
"enter": 37,
"file": 4,
"source": "tmp___6 = usb_endpoint_num((struct usb_endpoint_descriptor const *)ep_in);",
"source node": 693,
"start line": 688,
"target node": 694,
"thread": 11
},
{
"file": 13,
"source": "return (int)epd->bEndpointAddress &15;",
"source node": 694,
"start line": 376,
"target node": 695,
"thread": 11
},
{
"file": 13,
"return": 37,
"source": "return (int)epd->bEndpointAddress &15;",
"source node": 695,
"start line": 376,
"target node": 696,
"thread": 11
},
{
"enter": 36,
"file": 4,
"source": "us->recv_bulk_pipe = __create_pipe(us->pusb_dev, (unsigned int)tmp___6) | 3221225600U;",
"source node": 696,
"start line": 688,
"target node": 697,
"thread": 11
},
{
"file": 10,
"return": 36,
"source": "return (unsigned int)(dev->devnum << 8) | (endpoint << 15);",
"source node": 697,
"start line": 1531,
"target node": 698,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_int) == ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 698,
"start line": 690,
"target node": 699,
"thread": 11
},
{
"file": 4,
"return": 33,
"source": "return 0;",
"source node": 699,
"start line": 695,
"target node": 700,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 700,
"start line": 943,
"target node": 701,
"thread": 11
},
{
"enter": 38,
"file": 4,
"source": "result = usb_stor_acquire_resources(us);",
"source node": 701,
"start line": 947,
"target node": 702,
"thread": 11
},
{
"file": 4,
"source": "int p;",
"source node": 702,
"start line": 701,
"target node": 703,
"thread": 11
},
{
"file": 4,
"source": "struct task_struct *th;",
"source node": 703,
"start line": 702,
"target node": 704,
"thread": 11
},
{
"file": 4,
"source": "struct task_struct *__k;",
"source node": 704,
"start line": 703,
"target node": 705,
"thread": 11
},
{
"file": 4,
"source": "us->current_urb = usb_alloc_urb(0, 208U);",
"source node": 705,
"start line": 704,
"target node": 706,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->current_urb == (unsigned long)((struct urb *)0)",
"source node": 706,
"start line": 705,
"target node": 707,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != ((unsigned long)((struct urb *)0))",
"source node": 707,
"start line": 705,
"target node": 708,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)(us->unusual_dev)->initFunction != (unsigned long)((int (*)(struct us_data *))0)",
"source node": 708,
"start line": 712,
"target node": 709,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 != ((unsigned long)((int (*)(struct us_data *))0))",
"source node": 709,
"start line": 712,
"target node": 710,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "(us->unusual_dev->initFunction) == (&option_ms_init)",
"source node": 710,
"start line": 713,
"target node": 711,
"thread": 11
},
{
"enter": 46,
"file": 4,
"source": "pointer call(option_ms_init) p = (*((us->unusual_dev)->initFunction))(us);",
"source node": 711,
"start line": 713,
"target node": 712,
"thread": 11
},
{
"file": 15,
"source": "int result;",
"source node": 712,
"start line": 137,
"target node": 713,
"thread": 11
},
{
"enter": 47,
"file": 15,
"source": "result = option_inquiry(us);",
"source node": 713,
"start line": 144,
"target node": 714,
"thread": 11
},
{
"file": 15,
"source": "unsigned char inquiry_msg[31U];",
"source node": 714,
"start line": 87,
"target node": 715,
"thread": 11
},
{
"file": 15,
"source": "char *buffer;",
"source node": 715,
"start line": 88,
"target node": 716,
"thread": 11
},
{
"file": 15,
"source": "int result;",
"source node": 716,
"start line": 89,
"target node": 717,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[0] = 85U;",
"source node": 717,
"start line": 87,
"target node": 718,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[1] = 83U;",
"source node": 718,
"start line": 87,
"target node": 719,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[2] = 66U;",
"source node": 719,
"start line": 87,
"target node": 720,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[3] = 67U;",
"source node": 720,
"start line": 87,
"target node": 721,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[4] = 18U;",
"source node": 721,
"start line": 87,
"target node": 722,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[5] = 52U;",
"source node": 722,
"start line": 87,
"target node": 723,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[6] = 86U;",
"source node": 723,
"start line": 87,
"target node": 724,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[7] = 120U;",
"source node": 724,
"start line": 87,
"target node": 725,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[8] = 36U;",
"source node": 725,
"start line": 87,
"target node": 726,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[9] = 0U;",
"source node": 726,
"start line": 87,
"target node": 727,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[10] = 0U;",
"source node": 727,
"start line": 87,
"target node": 728,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[11] = 0U;",
"source node": 728,
"start line": 87,
"target node": 729,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[12] = 128U;",
"source node": 729,
"start line": 87,
"target node": 730,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[13] = 0U;",
"source node": 730,
"start line": 87,
"target node": 731,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[14] = 6U;",
"source node": 731,
"start line": 87,
"target node": 732,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[15] = 18U;",
"source node": 732,
"start line": 87,
"target node": 733,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[16] = 0U;",
"source node": 733,
"start line": 87,
"target node": 734,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[17] = 0U;",
"source node": 734,
"start line": 87,
"target node": 735,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[18] = 0U;",
"source node": 735,
"start line": 87,
"target node": 736,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[19] = 36U;",
"source node": 736,
"start line": 87,
"target node": 737,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[20] = 0U;",
"source node": 737,
"start line": 87,
"target node": 738,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[21] = 0U;",
"source node": 738,
"start line": 87,
"target node": 739,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[22] = 0U;",
"source node": 739,
"start line": 87,
"target node": 740,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[23] = 0U;",
"source node": 740,
"start line": 87,
"target node": 741,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[24] = 0U;",
"source node": 741,
"start line": 87,
"target node": 742,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[25] = 0U;",
"source node": 742,
"start line": 87,
"target node": 743,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[26] = 0U;",
"source node": 743,
"start line": 87,
"target node": 744,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[27] = 0U;",
"source node": 744,
"start line": 87,
"target node": 745,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[28] = 0U;",
"source node": 745,
"start line": 87,
"target node": 746,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[29] = 0U;",
"source node": 746,
"start line": 87,
"target node": 747,
"thread": 11
},
{
"file": 15,
"source": "inquiry_msg[30] = 0U;",
"source node": 747,
"start line": 87,
"target node": 748,
"thread": 11
},
{
"enter": 49,
"file": 15,
"source": "buffer = (char *)ldv_kzalloc(36UL, 208U);",
"source node": 748,
"start line": 98,
"target node": 749,
"thread": 11
},
{
"file": 17,
"source": "void *res;",
"source node": 749,
"start line": 26,
"target node": 750,
"thread": 11
},
{
"file": 17,
"source": "ldv_check_alloc_flags(flags);",
"source node": 750,
"start line": 28,
"target node": 751,
"thread": 11
},
{
"enter": 50,
"file": 17,
"source": "res = ldv_zalloc(size);",
"source node": 751,
"start line": 29,
"target node": 752,
"thread": 11
},
{
"enter": 51,
"file": 1,
"return": 50,
"source": "return ldv_calloc(1UL, size);",
"source node": 752,
"start line": 58,
"target node": 753,
"thread": 11
},
{
"file": 1,
"source": "void *res;",
"source node": 753,
"start line": 45,
"target node": 754,
"thread": 11
},
{
"condition": true,
"enter": 11,
"file": 1,
"source": "ldv_undef_int() == 0",
"source node": 754,
"start line": 45,
"target node": 755,
"thread": 11
},
{
"file": 5,
"return": 11,
"source": "return __VERIFIER_nondet_int();",
"source node": 755,
"start line": 41,
"target node": 756,
"thread": 11
},
{
"file": 1,
"return": 51,
"source": "return (void *)0;",
"source node": 756,
"start line": 52,
"target node": 757,
"thread": 11
},
{
"file": 17,
"source": "ldv_after_alloc(res);",
"source node": 757,
"start line": 30,
"target node": 758,
"thread": 11
},
{
"file": 17,
"return": 49,
"source": "return res;",
"source node": 758,
"start line": 32,
"target node": 759,
"thread": 11
},
{
"condition": true,
"file": 15,
"source": "((unsigned long)buffer) != ((unsigned long)((char *)0))",
"source node": 759,
"start line": 99,
"target node": 760,
"thread": 11
},
{
"file": 15,
"source": "memcpy((void *)buffer, (void const *)(&inquiry_msg), 31UL);",
"source node": 760,
"start line": 102,
"target node": 761,
"thread": 11
},
{
"enter": 52,
"file": 15,
"source": "result = usb_stor_bulk_transfer_buf(us, us->send_bulk_pipe, (void *)buffer, 31U, (unsigned int *)0U);",
"source node": 761,
"start line": 103,
"target node": 762,
"thread": 11
},
{
"file": 18,
"source": "int result;",
"source node": 762,
"start line": 396,
"target node": 763,
"thread": 11
},
{
"enter": 53,
"file": 18,
"source": "usb_fill_bulk_urb(us->current_urb, us->pusb_dev, pipe, buf, (int)length, &usb_stor_blocking_completion, (void *)0);",
"source node": 763,
"start line": 401,
"target node": 764,
"thread": 11
},
{
"file": 10,
"source": "urb->dev = dev;",
"source node": 764,
"start line": 1283,
"target node": 765,
"thread": 11
},
{
"file": 10,
"source": "urb->pipe = pipe;",
"source node": 765,
"start line": 1284,
"target node": 766,
"thread": 11
},
{
"file": 10,
"source": "urb->transfer_buffer = transfer_buffer;",
"source node": 766,
"start line": 1285,
"target node": 767,
"thread": 11
},
{
"file": 10,
"source": "urb->transfer_buffer_length = (u32)buffer_length;",
"source node": 767,
"start line": 1286,
"target node": 768,
"thread": 11
},
{
"file": 10,
"source": "urb->complete = complete_fn;",
"source node": 768,
"start line": 1287,
"target node": 769,
"thread": 11
},
{
"file": 10,
"source": "urb->context = context;",
"source node": 769,
"start line": 1288,
"target node": 770,
"thread": 11
},
{
"file": 10,
"return": 53,
"source": "return;",
"source node": 770,
"start line": 1289,
"target node": 771,
"thread": 11
},
{
"enter": 54,
"file": 18,
"source": "result = usb_stor_msg_common(us, 0);",
"source node": 771,
"start line": 403,
"target node": 772,
"thread": 11
},
{
"file": 18,
"source": "struct completion urb_done;",
"source node": 772,
"start line": 127,
"target node": 773,
"thread": 11
},
{
"file": 18,
"source": "long timeleft;",
"source node": 773,
"start line": 128,
"target node": 774,
"thread": 11
},
{
"file": 18,
"source": "int status;",
"source node": 774,
"start line": 129,
"target node": 775,
"thread": 11
},
{
"condition": true,
"enter": 55,
"file": 18,
"source": "constant_test_bit(2U, (unsigned long const volatile *)(&us->dflags)) == 0",
"source node": 775,
"start line": 132,
"target node": 776,
"thread": 11
},
{
"file": 19,
"return": 55,
"source": "return (int)(*((unsigned long *)(addr + (unsigned long)(nr / 64U))) >> ((int)nr &63)) &1;",
"source node": 776,
"start line": 311,
"target node": 777,
"thread": 11
},
{
"enter": 23,
"file": 18,
"source": "init_completion(&urb_done);",
"source node": 777,
"start line": 136,
"target node": 778,
"thread": 11
},
{
"file": 9,
"source": "struct lock_class_key __key;",
"source node": 778,
"start line": 75,
"target node": 779,
"thread": 11
},
{
"file": 9,
"source": "x->done = 0U;",
"source node": 779,
"start line": 75,
"target node": 780,
"thread": 11
},
{
"file": 9,
"source": "__init_waitqueue_head(&x->wait, &__key);",
"source node": 780,
"start line": 76,
"target node": 781,
"thread": 11
},
{
"file": 9,
"return": 23,
"source": "return;",
"source node": 781,
"start line": 78,
"target node": 782,
"thread": 11
},
{
"file": 18,
"source": "(us->current_urb)->context = (void *)(&urb_done);",
"source node": 782,
"start line": 139,
"target node": 783,
"thread": 11
},
{
"file": 18,
"source": "(us->current_urb)->actual_length = 0U;",
"source node": 783,
"start line": 140,
"target node": 784,
"thread": 11
},
{
"file": 18,
"source": "(us->current_urb)->error_count = 0;",
"source node": 784,
"start line": 141,
"target node": 785,
"thread": 11
},
{
"file": 18,
"source": "(us->current_urb)->status = 0;",
"source node": 785,
"start line": 142,
"target node": 786,
"thread": 11
},
{
"file": 18,
"source": "(us->current_urb)->transfer_flags = 8U;",
"source node": 786,
"start line": 148,
"target node": 787,
"thread": 11
},
{
"file": 18,
"source": "(unsigned long)(us->current_urb)->transfer_buffer == (unsigned long)((void *)us->iobuf)",
"source node": 787,
"start line": 149,
"target node": 788,
"thread": 11
},
{
"file": 18,
"source": "(unsigned long)(us->current_urb)->transfer_buffer == (unsigned long)((void *)us->iobuf)",
"source node": 788,
"start line": 149,
"target node": 789,
"thread": 11
},
{
"condition": true,
"file": 18,
"source": "__CPAchecker_TMP_0 != ((unsigned long)__CPAchecker_TMP_1)",
"source node": 789,
"start line": 149,
"target node": 790,
"thread": 11
},
{
"file": 18,
"source": "(us->current_urb)->transfer_dma = us->iobuf_dma;",
"source node": 790,
"start line": 151,
"target node": 791,
"thread": 11
},
{
"file": 18,
"source": "(us->current_urb)->setup_dma = us->cr_dma;",
"source node": 791,
"start line": 152,
"target node": 792,
"thread": 11
},
{
"file": 18,
"source": "status = usb_submit_urb(us->current_urb, 16U);",
"source node": 792,
"start line": 155,
"target node": 793,
"thread": 11
},
{
"condition": true,
"file": 18,
"source": "status == 0",
"source node": 793,
"start line": 156,
"target node": 794,
"thread": 11
},
{
"enter": 56,
"file": 18,
"source": "set_bit(0U, (unsigned long volatile *)(&us->dflags));",
"source node": 794,
"start line": 163,
"target node": 795,
"thread": 11
},
{
"file": 19,
"source": "__asm__ volatile (\".section .smp_locks,\\\"a\\\"\\n .balign 8 \\n .quad 661f\\n.previous\\n661:\\n\\tlock; bts %1,%0\": \"+m\" (*((long volatile *)addr)): \"Ir\" (nr): \"memory\");",
"source node": 795,
"start line": 68,
"target node": 796,
"thread": 11
},
{
"file": 19,
"return": 56,
"source": "return;",
"source node": 796,
"start line": 70,
"target node": 797,
"thread": 11
},
{
"condition": true,
"enter": 55,
"file": 18,
"source": "constant_test_bit(2U, (unsigned long const volatile *)(&us->dflags)) == 0",
"source node": 797,
"start line": 166,
"target node": 798,
"thread": 11
},
{
"file": 19,
"return": 55,
"source": "return (int)(*((unsigned long *)(addr + (unsigned long)(nr / 64U))) >> ((int)nr &63)) &1;",
"source node": 798,
"start line": 311,
"target node": 799,
"thread": 11
},
{
"file": 18,
"source": "tmp___2 = wait_for_completion_interruptible_timeout(&urb_done, timeout != 0 ? (unsigned long)timeout : 9223372036854775807UL);",
"source node": 799,
"start line": 176,
"target node": 800,
"thread": 11
},
{
"condition": true,
"file": 18,
"source": "timeout == 0",
"source node": 800,
"start line": 176,
"target node": 801,
"thread": 11
},
{
"file": 18,
"source": "9223372036854775807UL",
"source node": 801,
"start line": 176,
"target node": 802,
"thread": 11
},
{
"file": 18,
"source": "timeleft = (long)wait_for_completion_interruptible_timeout(&urb_done, timeout != 0 ? (unsigned long)timeout : 9223372036854775807UL);",
"source node": 802,
"start line": 176,
"target node": 803,
"thread": 11
},
{
"enter": 57,
"file": 18,
"source": "clear_bit(0, (unsigned long volatile *)(&us->dflags));",
"source node": 803,
"start line": 179,
"target node": 804,
"thread": 11
},
{
"file": 19,
"source": "__asm__ volatile (\".section .smp_locks,\\\"a\\\"\\n .balign 8 \\n .quad 661f\\n.previous\\n661:\\n\\tlock; btr %1,%0\": \"+m\" (*((long volatile *)addr)): \"Ir\" (nr));",
"source node": 804,
"start line": 105,
"target node": 805,
"thread": 11
},
{
"file": 19,
"return": 57,
"source": "return;",
"source node": 805,
"start line": 107,
"target node": 806,
"thread": 11
},
{
"condition": true,
"file": 18,
"source": "timeleft >= 0L",
"source node": 806,
"start line": 181,
"target node": 807,
"thread": 11
},
{
"file": 18,
"return": 54,
"source": "return (us->current_urb)->status;",
"source node": 807,
"start line": 188,
"target node": 808,
"thread": 11
},
{
"condition": true,
"file": 18,
"source": "((unsigned long)act_len) == ((unsigned long)((unsigned int *)0U))",
"source node": 808,
"start line": 406,
"target node": 809,
"thread": 11
},
{
"enter": 58,
"file": 18,
"source": "interpret_urb_result(us, pipe, length, result, (us->current_urb)->actual_length);",
"source node": 809,
"start line": 408,
"target node": 810,
"thread": 11
},
{
"condition": true,
"file": 18,
"source": "result == -32",
"source node": 810,
"start line": 284,
"target node": 811,
"thread": 11
},
{
"file": 18,
"source": "Goto: case_neg_32",
"source node": 811,
"start line": 284,
"target node": 812,
"thread": 11
},
{
"file": 18,
"source": "case_neg_32: /* CIL Label */;",
"source node": 812,
"start line": 282,
"target node": 813,
"thread": 11
},
{
"condition": true,
"file": 18,
"source": "(pipe >> 30) != 2U",
"source node": 813,
"start line": 287,
"target node": 814,
"thread": 11
},
{
"enter": 59,
"file": 18,
"source": "usb_stor_clear_halt(us, pipe);",
"source node": 814,
"start line": 294,
"target node": 815,
"thread": 11
},
{
"file": 18,
"source": "int result;",
"source node": 815,
"start line": 239,
"target node": 816,
"thread": 11
},
{
"file": 18,
"source": "int endp;",
"source node": 816,
"start line": 240,
"target node": 817,
"thread": 11
},
{
"file": 18,
"source": "endp = (int)(pipe >> 15) &15;",
"source node": 817,
"start line": 240,
"target node": 818,
"thread": 11
},
{
"condition": true,
"file": 18,
"source": "(pipe &128U) == 0U",
"source node": 818,
"start line": 242,
"target node": 819,
"thread": 11
},
{
"enter": 60,
"file": 18,
"source": "result = usb_stor_control_msg(us, us->send_ctrl_pipe, 1, 2, 0, (int)((u16)endp), (void *)0, 0, 750);",
"source node": 819,
"start line": 246,
"target node": 820,
"thread": 11
},
{
"file": 18,
"source": "int status;",
"source node": 820,
"start line": 198,
"target node": 821,
"thread": 11
},
{
"file": 18,
"source": "(us->cr)->bRequestType = requesttype;",
"source node": 821,
"start line": 206,
"target node": 822,
"thread": 11
},
{
"file": 18,
"source": "(us->cr)->bRequest = request;",
"source node": 822,
"start line": 207,
"target node": 823,
"thread": 11
},
{
"file": 18,
"source": "(us->cr)->wValue = value;",
"source node": 823,
"start line": 208,
"target node": 824,
"thread": 11
},
{
"file": 18,
"source": "(us->cr)->wIndex = index;",
"source node": 824,
"start line": 209,
"target node": 825,
"thread": 11
},
{
"file": 18,
"source": "(us->cr)->wLength = size;",
"source node": 825,
"start line": 210,
"target node": 826,
"thread": 11
},
{
"file": 18,
"source": "usb_fill_control_urb(us->current_urb, us->pusb_dev, pipe, (unsigned char *)us->cr, data, (int)size, &usb_stor_blocking_completion, (void *)0);",
"source node": 826,
"start line": 213,
"target node": 827,
"thread": 11
},
{
"enter": 61,
"file": 18,
"source": "usb_fill_control_urb(us->current_urb, us->pusb_dev, pipe, (unsigned char *)us->cr, data, (int)size, &usb_stor_blocking_completion, (void *)0);",
"source node": 827,
"start line": 213,
"target node": 828,
"thread": 11
},
{
"file": 10,
"source": "urb->dev = dev;",
"source node": 828,
"start line": 1253,
"target node": 829,
"thread": 11
},
{
"file": 10,
"source": "urb->pipe = pipe;",
"source node": 829,
"start line": 1254,
"target node": 830,
"thread": 11
},
{
"file": 10,
"source": "urb->setup_packet = setup_packet;",
"source node": 830,
"start line": 1255,
"target node": 831,
"thread": 11
},
{
"file": 10,
"source": "urb->transfer_buffer = transfer_buffer;",
"source node": 831,
"start line": 1256,
"target node": 832,
"thread": 11
},
{
"file": 10,
"source": "urb->transfer_buffer_length = (u32)buffer_length;",
"source node": 832,
"start line": 1257,
"target node": 833,
"thread": 11
},
{
"file": 10,
"source": "urb->complete = complete_fn;",
"source node": 833,
"start line": 1258,
"target node": 834,
"thread": 11,
"warn": "Target usage"
},
{
"file": 10,
"source": "urb->context = context;",
"source node": 834,
"start line": 1259,
"target node": 835,
"thread": 11
},
{
"file": 10,
"return": 61,
"source": "return;",
"source node": 835,
"start line": 1260,
"target node": 836,
"thread": 11
},
{
"enter": 0,
"file": 0,
"source": "ldv_main_19((void *)0);",
"source node": 836,
"start line": 1405,
"target node": 837,
"thread": 19
},
{
"action": 0,
"file": 0,
"source": "ldv_initialize();",
"source node": 837,
"start line": 504,
"target node": 838,
"thread": 19
},
{
"action": 1,
"enter": 1,
"file": 0,
"source": "ldv_dispatch_insmod_register_19_3();",
"source node": 838,
"start line": 508,
"target node": 839,
"thread": 19
},
{
"file": 0,
"source": "int ret;",
"source node": 839,
"start line": 265,
"target node": 840,
"thread": 19
},
{
"file": 0,
"source": "struct ldv_struct_insmod_12 *cf_arg_12;",
"source node": 840,
"start line": 266,
"target node": 841,
"thread": 19
},
{
"enter": 2,
"file": 0,
"source": "cf_arg_12 = (struct ldv_struct_insmod_12 *)ldv_xmalloc(4UL);",
"source node": 841,
"start line": 266,
"target node": 842,
"thread": 19
},
{
"file": 1,
"source": "void *res;",
"source node": 842,
"start line": 68,
"target node": 843,
"thread": 19
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 843,
"start line": 70,
"target node": 844,
"thread": 19
},
{
"file": 1,
"source": "res = malloc(size);",
"source node": 844,
"start line": 68,
"target node": 845,
"thread": 19
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 845,
"start line": 69,
"target node": 846,
"thread": 19
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 846,
"start line": 25,
"target node": 847,
"thread": 19
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 847,
"start line": 31,
"target node": 848,
"thread": 19
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 848,
"start line": 70,
"target node": 849,
"thread": 19
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 849,
"start line": 22,
"target node": 850,
"thread": 19
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 850,
"start line": 70,
"target node": 851,
"thread": 19
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 851,
"start line": 25,
"target node": 852,
"thread": 19
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 852,
"start line": 31,
"target node": 853,
"thread": 19
},
{
"file": 1,
"return": 2,
"source": "return res;",
"source node": 853,
"start line": 71,
"target node": 854,
"thread": 19
},
{
"enter": 5,
"file": 0,
"source": "ret = ldv_thread_create(&ldv_thread_12, &ldv_insmod_12, (void *)cf_arg_12);",
"source node": 854,
"start line": 267,
"target node": 855,
"thread": 12
},
{
"action": 2,
"file": 0,
"source": "int ldv_12_ret_default;",
"source node": 855,
"start line": 407,
"target node": 856,
"thread": 12
},
{
"action": 2,
"file": 0,
"source": "void (*ldv_12_usb_stor_exit_default)(void);",
"source node": 856,
"start line": 408,
"target node": 857,
"thread": 12
},
{
"action": 2,
"file": 0,
"source": "int (*ldv_12_usb_stor_init_default)(void);",
"source node": 857,
"start line": 409,
"target node": 858,
"thread": 12
},
{
"action": 3,
"enter": 6,
"file": 0,
"source": "ldv_free(arg0);",
"source node": 858,
"start line": 413,
"target node": 859,
"thread": 12
},
{
"file": 1,
"source": "free(s);",
"source node": 859,
"start line": 63,
"target node": 860,
"thread": 12
},
{
"file": 1,
"return": 6,
"source": "return;",
"source node": 860,
"start line": 64,
"target node": 861,
"thread": 12
},
{
"action": 4,
"enter": 8,
"file": 4,
"original file": 0,
"original start line": 418,
"source": "ldv_12_ret_default = usb_stor_init();",
"source node": 861,
"start line": 1047,
"target node": 862,
"thread": 12
},
{
"file": 4,
"source": "int retval;",
"source node": 862,
"start line": 1047,
"target node": 863,
"thread": 12
},
{
"file": 4,
"source": "printk(\"<6>Initializing USB Mass Storage driver...\\n\");",
"source node": 863,
"start line": 1049,
"target node": 864,
"thread": 12
},
{
"enter": 10,
"file": 4,
"source": "retval = ldv_emg_usb_register(&usb_storage_driver);",
"source node": 864,
"start line": 1052,
"target node": 865,
"thread": 12
},
{
"action": 2,
"file": 0,
"source": "struct usb_driver *ldv_18_usb_driver_usb_driver;",
"source node": 865,
"start line": 373,
"target node": 866,
"thread": 12
},
{
"action": 5,
"file": 0,
"source": "ldv_18_usb_driver_usb_driver = arg0;",
"source node": 866,
"start line": 380,
"target node": 867,
"thread": 12
},
{
"action": 6,
"enter": 12,
"file": 0,
"source": "ldv_dispatch_register_18_3(ldv_18_usb_driver_usb_driver);",
"source node": 867,
"start line": 384,
"target node": 868,
"thread": 12
},
{
"file": 0,
"source": "int ret;",
"source node": 868,
"start line": 286,
"target node": 869,
"thread": 12
},
{
"file": 0,
"source": "struct ldv_struct_usb_scenario_11 *cf_arg_11;",
"source node": 869,
"start line": 287,
"target node": 870,
"thread": 12
},
{
"enter": 2,
"file": 0,
"source": "cf_arg_11 = (struct ldv_struct_usb_scenario_11 *)ldv_xmalloc(16UL);",
"source node": 870,
"start line": 287,
"target node": 871,
"thread": 12
},
{
"file": 1,
"source": "void *res;",
"source node": 871,
"start line": 68,
"target node": 872,
"thread": 12
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 872,
"start line": 70,
"target node": 873,
"thread": 12
},
{
"file": 1,
"source": "res = malloc(size);",
"source node": 873,
"start line": 68,
"target node": 874,
"thread": 12
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 874,
"start line": 69,
"target node": 875,
"thread": 12
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 875,
"start line": 25,
"target node": 876,
"thread": 12
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 876,
"start line": 31,
"target node": 877,
"thread": 12
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 877,
"start line": 70,
"target node": 878,
"thread": 12
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 878,
"start line": 22,
"target node": 879,
"thread": 12
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 879,
"start line": 70,
"target node": 880,
"thread": 12
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 880,
"start line": 25,
"target node": 881,
"thread": 12
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 881,
"start line": 31,
"target node": 882,
"thread": 12
},
{
"file": 1,
"return": 2,
"source": "return res;",
"source node": 882,
"start line": 71,
"target node": 883,
"thread": 12
},
{
"file": 0,
"source": "cf_arg_11->arg0 = arg0;",
"source node": 883,
"start line": 288,
"target node": 884,
"thread": 12
},
{
"enter": 13,
"file": 0,
"source": "ret = ldv_thread_create(&ldv_thread_11, &ldv_usb_scenario_11, (void *)cf_arg_11);",
"source node": 884,
"start line": 289,
"target node": 885,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "struct usb_driver *ldv_11_container_usb_driver;",
"source node": 885,
"start line": 1226,
"target node": 886,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "struct usb_device_id *ldv_11_ldv_param_14_1_default;",
"source node": 886,
"start line": 1227,
"target node": 887,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "int ldv_11_probe_retval_default;",
"source node": 887,
"start line": 1228,
"target node": 888,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "_Bool ldv_11_reset_flag_default;",
"source node": 888,
"start line": 1229,
"target node": 889,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "struct usb_interface *ldv_11_resource_usb_interface;",
"source node": 889,
"start line": 1230,
"target node": 890,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "struct usb_device *ldv_11_usb_device_usb_device;",
"source node": 890,
"start line": 1231,
"target node": 891,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "struct ldv_struct_usb_scenario_11 *data;",
"source node": 891,
"start line": 1232,
"target node": 892,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "data = (struct ldv_struct_usb_scenario_11 *)arg0;",
"source node": 892,
"start line": 1234,
"target node": 893,
"thread": 11
},
{
"action": 7,
"condition": true,
"file": 0,
"source": "((unsigned long)data) != ((unsigned long)((struct ldv_struct_usb_scenario_11 *)0))",
"source node": 893,
"start line": 1241,
"target node": 894,
"thread": 11
},
{
"action": 7,
"file": 0,
"source": "ldv_11_container_usb_driver = data->arg0;",
"source node": 894,
"start line": 1242,
"target node": 895,
"thread": 11
},
{
"action": 7,
"enter": 6,
"file": 0,
"source": "ldv_free((void *)data);",
"source node": 895,
"start line": 1243,
"target node": 896,
"thread": 11
},
{
"file": 1,
"source": "free(s);",
"source node": 896,
"start line": 63,
"target node": 897,
"thread": 11
},
{
"file": 1,
"return": 6,
"source": "return;",
"source node": 897,
"start line": 64,
"target node": 898,
"thread": 11
},
{
"action": 8,
"enter": 2,
"file": 0,
"source": "ldv_11_resource_usb_interface = (struct usb_interface *)ldv_xmalloc(392UL);",
"source node": 898,
"start line": 1249,
"target node": 899,
"thread": 11
},
{
"file": 1,
"source": "void *res;",
"source node": 899,
"start line": 68,
"target node": 900,
"thread": 11
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 900,
"start line": 70,
"target node": 901,
"thread": 11
},
{
"file": 1,
"source": "res = malloc(size);",
"source node": 901,
"start line": 68,
"target node": 902,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 902,
"start line": 69,
"target node": 903,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 903,
"start line": 25,
"target node": 904,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 904,
"start line": 31,
"target node": 905,
"thread": 11
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 905,
"start line": 70,
"target node": 906,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 906,
"start line": 22,
"target node": 907,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 907,
"start line": 70,
"target node": 908,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 908,
"start line": 25,
"target node": 909,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 909,
"start line": 31,
"target node": 910,
"thread": 11
},
{
"file": 1,
"return": 2,
"source": "return res;",
"source node": 910,
"start line": 71,
"target node": 911,
"thread": 11
},
{
"action": 8,
"enter": 2,
"file": 0,
"source": "ldv_11_usb_device_usb_device = (struct usb_device *)ldv_xmalloc(1104UL);",
"source node": 911,
"start line": 1250,
"target node": 912,
"thread": 11
},
{
"file": 1,
"source": "void *res;",
"source node": 912,
"start line": 68,
"target node": 913,
"thread": 11
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 913,
"start line": 70,
"target node": 914,
"thread": 11
},
{
"file": 1,
"source": "res = malloc(size);",
"source node": 914,
"start line": 68,
"target node": 915,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 915,
"start line": 69,
"target node": 916,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 916,
"start line": 25,
"target node": 917,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 917,
"start line": 31,
"target node": 918,
"thread": 11
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 918,
"start line": 70,
"target node": 919,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 919,
"start line": 22,
"target node": 920,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 920,
"start line": 70,
"target node": 921,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 921,
"start line": 25,
"target node": 922,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 922,
"start line": 31,
"target node": 923,
"thread": 11
},
{
"file": 1,
"return": 2,
"source": "return res;",
"source node": 923,
"start line": 71,
"target node": 924,
"thread": 11
},
{
"action": 8,
"file": 0,
"source": "ldv_11_resource_usb_interface->dev.parent = &ldv_11_usb_device_usb_device->dev;",
"source node": 924,
"start line": 1251,
"target node": 925,
"thread": 11
},
{
"action": 9,
"enter": 14,
"file": 0,
"source": "ldv_11_ldv_param_14_1_default = (struct usb_device_id *)ldv_xmalloc_unknown_size(0UL);",
"source node": 925,
"start line": 1277,
"target node": 926,
"thread": 11
},
{
"file": 1,
"source": "void *res;",
"source node": 926,
"start line": 116,
"target node": 927,
"thread": 11
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 927,
"start line": 118,
"target node": 928,
"thread": 11
},
{
"file": 1,
"source": "res = external_allocated_data();",
"source node": 928,
"start line": 116,
"target node": 929,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 929,
"start line": 117,
"target node": 930,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 930,
"start line": 25,
"target node": 931,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 931,
"start line": 31,
"target node": 932,
"thread": 11
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 932,
"start line": 118,
"target node": 933,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 933,
"start line": 22,
"target node": 934,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 934,
"start line": 118,
"target node": 935,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 935,
"start line": 25,
"target node": 936,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 936,
"start line": 31,
"target node": 937,
"thread": 11
},
{
"file": 1,
"return": 14,
"source": "return res;",
"source node": 937,
"start line": 119,
"target node": 938,
"thread": 11
},
{
"action": 10,
"file": 0,
"source": "ldv_pre_probe();",
"source node": 938,
"start line": 1282,
"target node": 939,
"thread": 11
},
{
"action": 10,
"file": 0,
"source": "ldv_11_probe_retval_default = ldv_usb_scenario_probe_11_14((int (*)(struct usb_interface *, struct usb_device_id *))ldv_11_container_usb_driver->probe, ldv_11_resource_usb_interface, ldv_11_ldv_param_14_1_default);",
"source node": 939,
"start line": 1285,
"target node": 940,
"thread": 11
},
{
"action": 10,
"enter": 16,
"file": 4,
"original file": 0,
"original start line": 1284,
"source": "ldv_11_probe_retval_default = storage_probe(arg1, (struct usb_device_id *))ldv_11_container_usb_driver->probe);",
"source node": 940,
"start line": 996,
"target node": 941,
"thread": 11
},
{
"file": 4,
"source": "struct us_data *us;",
"source node": 941,
"start line": 996,
"target node": 942,
"thread": 11
},
{
"file": 4,
"source": "int result;",
"source node": 942,
"start line": 997,
"target node": 943,
"thread": 11
},
{
"condition": true,
"enter": 17,
"file": 4,
"source": "usb_usual_ignore_device(intf) == 0",
"source node": 943,
"start line": 1006,
"target node": 944,
"thread": 11
},
{
"file": 6,
"source": "struct usb_device *udev;",
"source node": 944,
"start line": 100,
"target node": 945,
"thread": 11
},
{
"file": 6,
"source": "unsigned int vid;",
"source node": 945,
"start line": 101,
"target node": 946,
"thread": 11
},
{
"file": 6,
"source": "unsigned int pid;",
"source node": 946,
"start line": 102,
"target node": 947,
"thread": 11
},
{
"file": 6,
"source": "unsigned int bcd;",
"source node": 947,
"start line": 103,
"target node": 948,
"thread": 11
},
{
"file": 6,
"source": "struct ignore_entry *p;",
"source node": 948,
"start line": 104,
"target node": 949,
"thread": 11
},
{
"file": 6,
"source": "struct device const *__mptr;",
"source node": 949,
"start line": 105,
"target node": 950,
"thread": 11
},
{
"file": 6,
"source": "__mptr = (struct device const *)intf->dev.parent;",
"source node": 950,
"start line": 104,
"target node": 951,
"thread": 11
},
{
"file": 6,
"source": "udev = (struct usb_device *)(__mptr + 0xffffffffffffff70UL);",
"source node": 951,
"start line": 104,
"target node": 952,
"thread": 11
},
{
"file": 6,
"source": "vid = (unsigned int)udev->descriptor.idVendor;",
"source node": 952,
"start line": 105,
"target node": 953,
"thread": 11
},
{
"file": 6,
"source": "pid = (unsigned int)udev->descriptor.idProduct;",
"source node": 953,
"start line": 106,
"target node": 954,
"thread": 11
},
{
"file": 6,
"source": "bcd = (unsigned int)udev->descriptor.bcdDevice;",
"source node": 954,
"start line": 107,
"target node": 955,
"thread": 11
},
{
"file": 6,
"source": "p = (struct ignore_entry *)(&ignore_ids);",
"source node": 955,
"start line": 109,
"target node": 956,
"thread": 11
},
{
"file": 6,
"source": "Goto: ldv_19116",
"source node": 956,
"start line": 109,
"target node": 957,
"thread": 11
},
{
"file": 6,
"source": "(unsigned int)p->vid != 0U",
"source node": 957,
"start line": 109,
"target node": 958,
"thread": 11
},
{
"condition": true,
"file": 6,
"source": "__CPAchecker_TMP_4 == 0U",
"source node": 958,
"start line": 109,
"target node": 959,
"thread": 11
},
{
"file": 6,
"return": 17,
"source": "return 0;",
"source node": 959,
"start line": 114,
"target node": 960,
"thread": 11
},
{
"enter": 18,
"file": 4,
"source": "result = usb_stor_probe1(&us, intf, id, (struct us_unusual_dev *)(&us_unusual_dev_list + (unsigned long)(((long)id - (long)(&usb_storage_usb_ids)) / 24L)));",
"source node": 960,
"start line": 1017,
"target node": 961,
"thread": 11
},
{
"file": 4,
"source": "struct Scsi_Host *host;",
"source node": 961,
"start line": 865,
"target node": 962,
"thread": 11
},
{
"file": 4,
"source": "struct us_data *us;",
"source node": 962,
"start line": 866,
"target node": 963,
"thread": 11
},
{
"file": 4,
"source": "int result;",
"source node": 963,
"start line": 867,
"target node": 964,
"thread": 11
},
{
"file": 4,
"source": "struct lock_class_key __key;",
"source node": 964,
"start line": 869,
"target node": 965,
"thread": 11
},
{
"file": 4,
"source": "struct lock_class_key __key___0;",
"source node": 965,
"start line": 870,
"target node": 966,
"thread": 11
},
{
"enter": 20,
"file": 4,
"source": "host = ldv_emg_scsi_host_alloc(&usb_stor_host_template, 496);",
"source node": 966,
"start line": 877,
"target node": 967,
"thread": 11
},
{
"action": 2,
"file": 7,
"source": "struct Scsi_Host *ldv_14_host_host;",
"source node": 967,
"start line": 89,
"target node": 968,
"thread": 11
},
{
"action": 2,
"file": 7,
"source": "struct scsi_host_template *ldv_14_scsi_host_template_scsi_host_template;",
"source node": 968,
"start line": 90,
"target node": 969,
"thread": 11
},
{
"action": 11,
"enter": 2,
"file": 7,
"source": "ldv_14_host_host = (struct Scsi_Host *)ldv_xmalloc(1008UL);",
"source node": 969,
"start line": 97,
"target node": 970,
"thread": 11
},
{
"file": 1,
"source": "void *res;",
"source node": 970,
"start line": 68,
"target node": 971,
"thread": 11
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 971,
"start line": 70,
"target node": 972,
"thread": 11
},
{
"file": 1,
"source": "res = malloc(size);",
"source node": 972,
"start line": 68,
"target node": 973,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 973,
"start line": 69,
"target node": 974,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 974,
"start line": 25,
"target node": 975,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 975,
"start line": 31,
"target node": 976,
"thread": 11
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 976,
"start line": 70,
"target node": 977,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 977,
"start line": 22,
"target node": 978,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 978,
"start line": 70,
"target node": 979,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 979,
"start line": 25,
"target node": 980,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 980,
"start line": 31,
"target node": 981,
"thread": 11
},
{
"file": 1,
"return": 2,
"source": "return res;",
"source node": 981,
"start line": 71,
"target node": 982,
"thread": 11
},
{
"action": 11,
"file": 7,
"source": "ldv_14_scsi_host_template_scsi_host_template = arg0;",
"source node": 982,
"start line": 98,
"target node": 983,
"thread": 11
},
{
"action": 11,
"file": 7,
"source": "ldv_14_host_host->hostt = ldv_14_scsi_host_template_scsi_host_template;",
"source node": 983,
"start line": 99,
"target node": 984,
"thread": 11
},
{
"action": 12,
"file": 7,
"return": 20,
"source": "return ldv_14_host_host;",
"source node": 984,
"start line": 103,
"target node": 985,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)host) != ((unsigned long)((struct Scsi_Host *)0))",
"source node": 985,
"start line": 878,
"target node": 986,
"thread": 11
},
{
"file": 4,
"source": "host->max_cmd_len = 16U;",
"source node": 986,
"start line": 887,
"target node": 987,
"thread": 11
},
{
"enter": 21,
"file": 4,
"source": "host->sg_tablesize = (unsigned short)usb_stor_sg_tablesize(intf);",
"source node": 987,
"start line": 888,
"target node": 988,
"thread": 11
},
{
"file": 4,
"source": "struct usb_device *usb_dev;",
"source node": 988,
"start line": 853,
"target node": 989,
"thread": 11
},
{
"file": 4,
"source": "struct device const *__mptr;",
"source node": 989,
"start line": 854,
"target node": 990,
"thread": 11
},
{
"file": 4,
"source": "__mptr = (struct device const *)intf->dev.parent;",
"source node": 990,
"start line": 853,
"target node": 991,
"thread": 11
},
{
"file": 4,
"source": "usb_dev = (struct usb_device *)(__mptr + 0xffffffffffffff70UL);",
"source node": 991,
"start line": 853,
"target node": 992,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "(usb_dev->bus->sg_tablesize) == 0U",
"source node": 992,
"start line": 855,
"target node": 993,
"thread": 11
},
{
"file": 4,
"return": 21,
"source": "return 128U;",
"source node": 993,
"start line": 858,
"target node": 994,
"thread": 11
},
{
"enter": 22,
"file": 4,
"source": "us = host_to_us(host);",
"source node": 994,
"start line": 889,
"target node": 995,
"thread": 11
},
{
"file": 8,
"return": 22,
"source": "return (struct us_data *)(&host->hostdata);",
"source node": 995,
"start line": 169,
"target node": 996,
"thread": 11
},
{
"file": 4,
"source": "*pus = us;",
"source node": 996,
"start line": 889,
"target node": 997,
"thread": 11
},
{
"file": 4,
"source": "memset((void *)us, 0, 496UL);",
"source node": 997,
"start line": 890,
"target node": 998,
"thread": 11
},
{
"file": 4,
"source": "__mutex_init(&us->dev_mutex, \"&(us->dev_mutex)\", &__key);",
"source node": 998,
"start line": 891,
"target node": 999,
"thread": 11
},
{
"enter": 23,
"file": 4,
"source": "init_completion(&us->cmnd_ready);",
"source node": 999,
"start line": 892,
"target node": 1000,
"thread": 11
},
{
"file": 9,
"source": "struct lock_class_key __key;",
"source node": 1000,
"start line": 75,
"target node": 1001,
"thread": 11
},
{
"file": 9,
"source": "x->done = 0U;",
"source node": 1001,
"start line": 75,
"target node": 1002,
"thread": 11
},
{
"file": 9,
"source": "__init_waitqueue_head(&x->wait, &__key);",
"source node": 1002,
"start line": 76,
"target node": 1003,
"thread": 11
},
{
"file": 9,
"return": 23,
"source": "return;",
"source node": 1003,
"start line": 78,
"target node": 1004,
"thread": 11
},
{
"enter": 23,
"file": 4,
"source": "init_completion(&us->notify);",
"source node": 1004,
"start line": 893,
"target node": 1005,
"thread": 11
},
{
"file": 9,
"source": "struct lock_class_key __key;",
"source node": 1005,
"start line": 75,
"target node": 1006,
"thread": 11
},
{
"file": 9,
"source": "x->done = 0U;",
"source node": 1006,
"start line": 75,
"target node": 1007,
"thread": 11
},
{
"file": 9,
"source": "__init_waitqueue_head(&x->wait, &__key);",
"source node": 1007,
"start line": 76,
"target node": 1008,
"thread": 11
},
{
"file": 9,
"return": 23,
"source": "return;",
"source node": 1008,
"start line": 78,
"target node": 1009,
"thread": 11
},
{
"file": 4,
"source": "__init_waitqueue_head(&us->delay_wait, &__key___0);",
"source node": 1009,
"start line": 894,
"target node": 1010,
"thread": 11
},
{
"enter": 23,
"file": 4,
"source": "init_completion(&us->scanning_done);",
"source node": 1010,
"start line": 895,
"target node": 1011,
"thread": 11
},
{
"file": 9,
"source": "struct lock_class_key __key;",
"source node": 1011,
"start line": 75,
"target node": 1012,
"thread": 11
},
{
"file": 9,
"source": "x->done = 0U;",
"source node": 1012,
"start line": 75,
"target node": 1013,
"thread": 11
},
{
"file": 9,
"source": "__init_waitqueue_head(&x->wait, &__key);",
"source node": 1013,
"start line": 76,
"target node": 1014,
"thread": 11
},
{
"file": 9,
"return": 23,
"source": "return;",
"source node": 1014,
"start line": 78,
"target node": 1015,
"thread": 11
},
{
"enter": 24,
"file": 4,
"source": "result = associate_dev(us, intf);",
"source node": 1015,
"start line": 898,
"target node": 1016,
"thread": 11
},
{
"file": 4,
"source": "struct device const *__mptr;",
"source node": 1016,
"start line": 393,
"target node": 1017,
"thread": 11
},
{
"file": 4,
"source": "__mptr = (struct device const *)intf->dev.parent;",
"source node": 1017,
"start line": 396,
"target node": 1018,
"thread": 11
},
{
"file": 4,
"source": "us->pusb_dev = (struct usb_device *)(__mptr + 0xffffffffffffff70UL);",
"source node": 1018,
"start line": 396,
"target node": 1019,
"thread": 11
},
{
"file": 4,
"source": "us->pusb_intf = intf;",
"source node": 1019,
"start line": 397,
"target node": 1020,
"thread": 11
},
{
"file": 4,
"source": "us->ifnum = (intf->cur_altsetting)->desc.bInterfaceNumber;",
"source node": 1020,
"start line": 398,
"target node": 1021,
"thread": 11
},
{
"enter": 25,
"file": 4,
"source": "usb_set_intfdata(intf, (void *)us);",
"source node": 1021,
"start line": 408,
"target node": 1022,
"thread": 11
},
{
"file": 10,
"source": "dev_set_drvdata(&intf->dev, data);",
"source node": 1022,
"start line": 213,
"target node": 1023,
"thread": 11
},
{
"file": 10,
"return": 25,
"source": "return;",
"source node": 1023,
"start line": 214,
"target node": 1024,
"thread": 11
},
{
"file": 4,
"source": "us->cr = (struct usb_ctrlrequest *)usb_buffer_alloc(us->pusb_dev, 8UL, 208U, &us->cr_dma);",
"source node": 1024,
"start line": 411,
"target node": 1025,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->cr == (unsigned long)((struct usb_ctrlrequest *)0)",
"source node": 1025,
"start line": 413,
"target node": 1026,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != ((unsigned long)((struct usb_ctrlrequest *)0))",
"source node": 1026,
"start line": 413,
"target node": 1027,
"thread": 11
},
{
"file": 4,
"source": "us->iobuf = (unsigned char *)usb_buffer_alloc(us->pusb_dev, 64UL, 208U, &us->iobuf_dma);",
"source node": 1027,
"start line": 418,
"target node": 1028,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->iobuf == (unsigned long)((unsigned char *)0U)",
"source node": 1028,
"start line": 420,
"target node": 1029,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 != ((unsigned long)((unsigned char *)0U))",
"source node": 1029,
"start line": 420,
"target node": 1030,
"thread": 11
},
{
"file": 4,
"return": 24,
"source": "return 0;",
"source node": 1030,
"start line": 424,
"target node": 1031,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 1031,
"start line": 899,
"target node": 1032,
"thread": 11
},
{
"enter": 26,
"file": 4,
"source": "result = get_device_info(us, id, unusual_dev);",
"source node": 1032,
"start line": 903,
"target node": 1033,
"thread": 11
},
{
"file": 4,
"source": "struct usb_device *dev;",
"source node": 1033,
"start line": 511,
"target node": 1034,
"thread": 11
},
{
"file": 4,
"source": "struct usb_interface_descriptor *idesc;",
"source node": 1034,
"start line": 512,
"target node": 1035,
"thread": 11
},
{
"file": 4,
"source": "char const *msgs[3U];",
"source node": 1035,
"start line": 513,
"target node": 1036,
"thread": 11
},
{
"file": 4,
"source": "struct usb_device_descriptor *ddesc;",
"source node": 1036,
"start line": 514,
"target node": 1037,
"thread": 11
},
{
"file": 4,
"source": "int msg;",
"source node": 1037,
"start line": 515,
"target node": 1038,
"thread": 11
},
{
"file": 4,
"source": "dev = us->pusb_dev;",
"source node": 1038,
"start line": 511,
"target node": 1039,
"thread": 11
},
{
"file": 4,
"source": "idesc = &((us->pusb_intf)->cur_altsetting)->desc;",
"source node": 1039,
"start line": 512,
"target node": 1040,
"thread": 11
},
{
"file": 4,
"source": "us->unusual_dev = unusual_dev;",
"source node": 1040,
"start line": 516,
"target node": 1041,
"thread": 11
},
{
"file": 4,
"source": "us->subclass = (unsigned int)unusual_dev->useProtocol == 255U ? idesc->bInterfaceSubClass : unusual_dev->useProtocol;",
"source node": 1041,
"start line": 517,
"target node": 1042,
"thread": 11
},
{
"file": 4,
"source": "(unsigned int)unusual_dev->useProtocol == 255U",
"source node": 1042,
"start line": 517,
"target node": 1043,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_2 != 255U",
"source node": 1043,
"start line": 517,
"target node": 1044,
"thread": 11
},
{
"file": 4,
"source": "unusual_dev->useProtocol",
"source node": 1044,
"start line": 517,
"target node": 1045,
"thread": 11
},
{
"file": 4,
"source": "us->subclass = (unsigned int)unusual_dev->useProtocol == 255U ? idesc->bInterfaceSubClass : unusual_dev->useProtocol;",
"source node": 1045,
"start line": 517,
"target node": 1046,
"thread": 11
},
{
"file": 4,
"source": "us->protocol = (unsigned int)unusual_dev->useTransport == 255U ? idesc->bInterfaceProtocol : unusual_dev->useTransport;",
"source node": 1046,
"start line": 520,
"target node": 1047,
"thread": 11
},
{
"file": 4,
"source": "(unsigned int)unusual_dev->useTransport == 255U",
"source node": 1047,
"start line": 520,
"target node": 1048,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_5 != 255U",
"source node": 1048,
"start line": 520,
"target node": 1049,
"thread": 11
},
{
"file": 4,
"source": "unusual_dev->useTransport",
"source node": 1049,
"start line": 520,
"target node": 1050,
"thread": 11
},
{
"file": 4,
"source": "us->protocol = (unsigned int)unusual_dev->useTransport == 255U ? idesc->bInterfaceProtocol : unusual_dev->useTransport;",
"source node": 1050,
"start line": 520,
"target node": 1051,
"thread": 11
},
{
"file": 4,
"source": "us->fflags = (unsigned long)id->driver_info &16777215UL;",
"source node": 1051,
"start line": 523,
"target node": 1052,
"thread": 11
},
{
"file": 4,
"source": "us->fflags = (unsigned long)id->driver_info &16777215UL;",
"source node": 1052,
"start line": 523,
"target node": 1053,
"thread": 11
},
{
"enter": 27,
"file": 4,
"source": "adjust_quirks(us);",
"source node": 1053,
"start line": 524,
"target node": 1054,
"thread": 11
},
{
"file": 4,
"source": "char *p;",
"source node": 1054,
"start line": 433,
"target node": 1055,
"thread": 11
},
{
"file": 4,
"source": "u16 vid;",
"source node": 1055,
"start line": 434,
"target node": 1056,
"thread": 11
},
{
"file": 4,
"source": "u16 pid;",
"source node": 1056,
"start line": 435,
"target node": 1057,
"thread": 11
},
{
"file": 4,
"source": "unsigned int f;",
"source node": 1057,
"start line": 436,
"target node": 1058,
"thread": 11
},
{
"file": 4,
"source": "unsigned int mask;",
"source node": 1058,
"start line": 437,
"target node": 1059,
"thread": 11
},
{
"file": 4,
"source": "vid = (us->pusb_dev)->descriptor.idVendor;",
"source node": 1059,
"start line": 434,
"target node": 1060,
"thread": 11
},
{
"file": 4,
"source": "pid = (us->pusb_dev)->descriptor.idProduct;",
"source node": 1060,
"start line": 435,
"target node": 1061,
"thread": 11
},
{
"file": 4,
"source": "f = 0U;",
"source node": 1061,
"start line": 436,
"target node": 1062,
"thread": 11
},
{
"file": 4,
"source": "mask = 237233U;",
"source node": 1062,
"start line": 437,
"target node": 1063,
"thread": 11
},
{
"file": 4,
"source": "p = (char *)(&quirks);",
"source node": 1063,
"start line": 444,
"target node": 1064,
"thread": 11
},
{
"file": 4,
"source": "Goto: ldv_25619",
"source node": 1064,
"start line": 445,
"target node": 1065,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) != 0",
"source node": 1065,
"start line": 445,
"target node": 1066,
"thread": 11
},
{
"file": 4,
"source": "goto ldv_25618;",
"source node": 1066,
"start line": 447,
"target node": 1067,
"thread": 11
},
{
"file": 4,
"source": "ldv_25618: { #line 447 tmp = simple_strtoul((char const *)p, &p, 16U); }",
"source node": 1067,
"start line": 446,
"target node": 1068,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)vid) == simple_strtoul((char const *)p, &p, 16U)",
"source node": 1068,
"start line": 447,
"target node": 1069,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) == 58",
"source node": 1069,
"start line": 447,
"target node": 1070,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)pid) == simple_strtoul((char const *)(p + 1U), &p, 16U)",
"source node": 1070,
"start line": 447,
"target node": 1071,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) == 58",
"source node": 1071,
"start line": 447,
"target node": 1072,
"thread": 11
},
{
"file": 4,
"source": "Goto: ldv_25614",
"source node": 1072,
"start line": 451,
"target node": 1073,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) != 0",
"source node": 1073,
"start line": 459,
"target node": 1074,
"thread": 11
},
{
"file": 4,
"source": "Goto: ldv_25633",
"source node": 1074,
"start line": 463,
"target node": 1075,
"thread": 11
},
{
"file": 4,
"source": "p = p + 1;",
"source node": 1075,
"start line": 463,
"target node": 1076,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)((signed char)(*p))) == 0",
"source node": 1076,
"start line": 463,
"target node": 1077,
"thread": 11
},
{
"file": 4,
"source": "us->fflags = (us->fflags &(unsigned long)(~ mask)) | (unsigned long)f;",
"source node": 1077,
"start line": 501,
"target node": 1078,
"thread": 11
},
{
"enter": 28,
"file": 4,
"source": "tmp___2 = dev_name((struct device const *)(&(us->pusb_intf)->dev));",
"source node": 1078,
"start line": 502,
"target node": 1079,
"thread": 11
},
{
"enter": 29,
"file": 11,
"return": 28,
"source": "return kobject_name(&dev->kobj);",
"source node": 1079,
"start line": 435,
"target node": 1080,
"thread": 11
},
{
"file": 12,
"source": "return (char const *)kobj->name;",
"source node": 1080,
"start line": 81,
"target node": 1081,
"thread": 11
},
{
"file": 12,
"return": 29,
"source": "return (char const *)kobj->name;",
"source node": 1081,
"start line": 81,
"target node": 1082,
"thread": 11
},
{
"file": 4,
"source": "printk(\"<6>%s %s: Quirks match for vid %04x pid %04x: %x\\n\", dev_driver_string((struct device const *)(&(us->pusb_intf)->dev)), tmp___2, (int)vid, (int)pid, f);",
"source node": 1082,
"start line": 502,
"target node": 1083,
"thread": 11
},
{
"file": 4,
"return": 27,
"source": "return;",
"source node": 1083,
"start line": 503,
"target node": 1084,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((us->fflags) &2048UL) == 0UL",
"source node": 1084,
"start line": 526,
"target node": 1085,
"thread": 11
},
{
"file": 4,
"source": "(unsigned int)dev->speed != 3U",
"source node": 1085,
"start line": 535,
"target node": 1086,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_7 == 3U",
"source node": 1086,
"start line": 535,
"target node": 1087,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "(*(((unsigned long *)id) + 0UL)) == 0UL",
"source node": 1087,
"start line": 543,
"target node": 1088,
"thread": 11
},
{
"file": 4,
"return": 26,
"source": "return 0;",
"source node": 1088,
"start line": 574,
"target node": 1089,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 1089,
"start line": 904,
"target node": 1090,
"thread": 11
},
{
"enter": 30,
"file": 4,
"source": "get_transport(us);",
"source node": 1090,
"start line": 908,
"target node": 1091,
"thread": 11
},
{
"file": 4,
"source": "(int)us->protocol == 1",
"source node": 1091,
"start line": 581,
"target node": 1092,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != 1",
"source node": 1092,
"start line": 581,
"target node": 1093,
"thread": 11
},
{
"file": 4,
"source": "(int)us->protocol == 0",
"source node": 1093,
"start line": 588,
"target node": 1094,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 != 0",
"source node": 1094,
"start line": 588,
"target node": 1095,
"thread": 11
},
{
"file": 4,
"source": "(int)us->protocol == 80",
"source node": 1095,
"start line": 595,
"target node": 1096,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_2 != 80",
"source node": 1096,
"start line": 595,
"target node": 1097,
"thread": 11
},
{
"file": 4,
"source": "Goto: switch_break",
"source node": 1097,
"start line": 580,
"target node": 1098,
"thread": 11
},
{
"file": 4,
"source": "switch_break: /* CIL Label */;",
"source node": 1098,
"start line": 600,
"target node": 1099,
"thread": 11
},
{
"file": 4,
"source": "ldv_25649:;",
"source node": 1099,
"start line": 602,
"target node": 1100,
"thread": 11
},
{
"file": 4,
"return": 30,
"source": "return;",
"source node": 1100,
"start line": 602,
"target node": 1101,
"thread": 11
},
{
"enter": 31,
"file": 4,
"source": "get_protocol(us);",
"source node": 1101,
"start line": 909,
"target node": 1102,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 1",
"source node": 1102,
"start line": 607,
"target node": 1103,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != 1",
"source node": 1103,
"start line": 607,
"target node": 1104,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 2",
"source node": 1104,
"start line": 612,
"target node": 1105,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 != 2",
"source node": 1105,
"start line": 612,
"target node": 1106,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 3",
"source node": 1106,
"start line": 618,
"target node": 1107,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_2 != 3",
"source node": 1107,
"start line": 618,
"target node": 1108,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 5",
"source node": 1108,
"start line": 624,
"target node": 1109,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_3 != 5",
"source node": 1109,
"start line": 624,
"target node": 1110,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 6",
"source node": 1110,
"start line": 630,
"target node": 1111,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_4 != 6",
"source node": 1111,
"start line": 630,
"target node": 1112,
"thread": 11
},
{
"file": 4,
"source": "(int)us->subclass == 4",
"source node": 1112,
"start line": 635,
"target node": 1113,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_5 != 4",
"source node": 1113,
"start line": 635,
"target node": 1114,
"thread": 11
},
{
"file": 4,
"source": "Goto: switch_break",
"source node": 1114,
"start line": 606,
"target node": 1115,
"thread": 11
},
{
"file": 4,
"source": "switch_break: /* CIL Label */;",
"source node": 1115,
"start line": 639,
"target node": 1116,
"thread": 11
},
{
"file": 4,
"source": "ldv_25656:;",
"source node": 1116,
"start line": 641,
"target node": 1117,
"thread": 11
},
{
"file": 4,
"return": 31,
"source": "return;",
"source node": 1117,
"start line": 641,
"target node": 1118,
"thread": 11
},
{
"file": 4,
"return": 18,
"source": "return 0;",
"source node": 1118,
"start line": 914,
"target node": 1119,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 1119,
"start line": 1019,
"target node": 1120,
"thread": 11
},
{
"enter": 32,
"file": 4,
"source": "result = usb_stor_probe2(us);",
"source node": 1120,
"start line": 1024,
"target node": 1121,
"thread": 11
},
{
"file": 4,
"source": "struct task_struct *th;",
"source node": 1121,
"start line": 926,
"target node": 1122,
"thread": 11
},
{
"file": 4,
"source": "int result;",
"source node": 1122,
"start line": 927,
"target node": 1123,
"thread": 11
},
{
"file": 4,
"source": "struct Scsi_Host *tmp___0;",
"source node": 1123,
"start line": 929,
"target node": 1124,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->transport == (unsigned long)((int (*)(struct scsi_cmnd *, struct us_data *))0)",
"source node": 1124,
"start line": 930,
"target node": 1125,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != ((unsigned long)((int (*)(struct scsi_cmnd *, struct us_data *))0))",
"source node": 1125,
"start line": 930,
"target node": 1126,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->proto_handler == (unsigned long)((void (*)(struct scsi_cmnd *, struct us_data *))0)",
"source node": 1126,
"start line": 931,
"target node": 1127,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 != ((unsigned long)((void (*)(struct scsi_cmnd *, struct us_data *))0))",
"source node": 1127,
"start line": 931,
"target node": 1128,
"thread": 11
},
{
"file": 4,
"source": "(int)us->fflags &1",
"source node": 1128,
"start line": 938,
"target node": 1129,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "(__CPAchecker_TMP_2 &1) != 0",
"source node": 1129,
"start line": 938,
"target node": 1130,
"thread": 11
},
{
"file": 4,
"source": "us->max_lun = 0U;",
"source node": 1130,
"start line": 939,
"target node": 1131,
"thread": 11
},
{
"enter": 33,
"file": 4,
"source": "result = get_pipes(us);",
"source node": 1131,
"start line": 942,
"target node": 1132,
"thread": 11
},
{
"file": 4,
"source": "struct usb_host_interface *altsetting;",
"source node": 1132,
"start line": 645,
"target node": 1133,
"thread": 11
},
{
"file": 4,
"source": "int i;",
"source node": 1133,
"start line": 646,
"target node": 1134,
"thread": 11
},
{
"file": 4,
"source": "struct usb_endpoint_descriptor *ep;",
"source node": 1134,
"start line": 647,
"target node": 1135,
"thread": 11
},
{
"file": 4,
"source": "struct usb_endpoint_descriptor *ep_in;",
"source node": 1135,
"start line": 648,
"target node": 1136,
"thread": 11
},
{
"file": 4,
"source": "struct usb_endpoint_descriptor *ep_out;",
"source node": 1136,
"start line": 649,
"target node": 1137,
"thread": 11
},
{
"file": 4,
"source": "struct usb_endpoint_descriptor *ep_int;",
"source node": 1137,
"start line": 650,
"target node": 1138,
"thread": 11
},
{
"file": 4,
"source": "int tmp___4;",
"source node": 1138,
"start line": 656,
"target node": 1139,
"thread": 11
},
{
"file": 4,
"source": "int tmp___6;",
"source node": 1139,
"start line": 658,
"target node": 1140,
"thread": 11
},
{
"file": 4,
"source": "altsetting = (us->pusb_intf)->cur_altsetting;",
"source node": 1140,
"start line": 645,
"target node": 1141,
"thread": 11
},
{
"file": 4,
"source": "ep_in = (struct usb_endpoint_descriptor *)0;",
"source node": 1141,
"start line": 649,
"target node": 1142,
"thread": 11
},
{
"file": 4,
"source": "ep_out = (struct usb_endpoint_descriptor *)0;",
"source node": 1142,
"start line": 650,
"target node": 1143,
"thread": 11
},
{
"file": 4,
"source": "ep_int = (struct usb_endpoint_descriptor *)0;",
"source node": 1143,
"start line": 651,
"target node": 1144,
"thread": 11
},
{
"file": 4,
"source": "i = 0;",
"source node": 1144,
"start line": 659,
"target node": 1145,
"thread": 11
},
{
"file": 4,
"source": "Goto: ldv_25672",
"source node": 1145,
"start line": 659,
"target node": 1146,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)(altsetting->desc.bNumEndpoints)) > i",
"source node": 1146,
"start line": 659,
"target node": 1147,
"thread": 11
},
{
"file": 4,
"source": "goto ldv_25671;",
"source node": 1147,
"start line": 661,
"target node": 1148,
"thread": 11
},
{
"file": 4,
"source": "ldv_25671: { #line 660 ep = &(altsetting->endpoint + (unsigned long)i)->desc; #line 662 tmp___1 = usb_endpoint_xfer_bulk((struct usb_endpoint_descriptor const *)ep); }",
"source node": 1148,
"start line": 660,
"target node": 1149,
"thread": 11
},
{
"file": 4,
"source": "ep = &(altsetting->endpoint + (unsigned long)i)->desc;",
"source node": 1149,
"start line": 660,
"target node": 1150,
"thread": 11
},
{
"condition": true,
"enter": 34,
"file": 4,
"source": "usb_endpoint_xfer_bulk((struct usb_endpoint_descriptor const *)ep) != 0",
"source node": 1150,
"start line": 662,
"target node": 1151,
"thread": 11
},
{
"file": 13,
"source": "return ((int)epd->bmAttributes &3) == 2;",
"source node": 1151,
"start line": 423,
"target node": 1152,
"thread": 11
},
{
"file": 13,
"return": 34,
"source": "return ((int)epd->bmAttributes &3) == 2;",
"source node": 1152,
"start line": 423,
"target node": 1153,
"thread": 11
},
{
"condition": true,
"enter": 35,
"file": 4,
"source": "usb_endpoint_dir_in((struct usb_endpoint_descriptor const *)ep) == 0",
"source node": 1153,
"start line": 663,
"target node": 1154,
"thread": 11
},
{
"file": 13,
"source": "return (int)((signed char)epd->bEndpointAddress) < 0;",
"source node": 1154,
"start line": 399,
"target node": 1155,
"thread": 11
},
{
"file": 13,
"return": 35,
"source": "return (int)((signed char)epd->bEndpointAddress) < 0;",
"source node": 1155,
"start line": 399,
"target node": 1156,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_out) == ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 1156,
"start line": 667,
"target node": 1157,
"thread": 11
},
{
"file": 4,
"source": "ep_out = ep;",
"source node": 1157,
"start line": 668,
"target node": 1158,
"thread": 11
},
{
"file": 4,
"source": "i = i + 1;",
"source node": 1158,
"start line": 659,
"target node": 1159,
"thread": 11
},
{
"file": 4,
"source": "ldv_25672:;",
"source node": 1159,
"start line": 660,
"target node": 1160,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)(altsetting->desc.bNumEndpoints)) > i",
"source node": 1160,
"start line": 659,
"target node": 1161,
"thread": 11
},
{
"file": 4,
"source": "goto ldv_25671;",
"source node": 1161,
"start line": 661,
"target node": 1162,
"thread": 11
},
{
"file": 4,
"source": "ldv_25671: { #line 660 ep = &(altsetting->endpoint + (unsigned long)i)->desc; #line 662 tmp___1 = usb_endpoint_xfer_bulk((struct usb_endpoint_descriptor const *)ep); }",
"source node": 1162,
"start line": 660,
"target node": 1163,
"thread": 11
},
{
"file": 4,
"source": "ep = &(altsetting->endpoint + (unsigned long)i)->desc;",
"source node": 1163,
"start line": 660,
"target node": 1164,
"thread": 11
},
{
"condition": true,
"enter": 34,
"file": 4,
"source": "usb_endpoint_xfer_bulk((struct usb_endpoint_descriptor const *)ep) != 0",
"source node": 1164,
"start line": 662,
"target node": 1165,
"thread": 11
},
{
"file": 13,
"source": "return ((int)epd->bmAttributes &3) == 2;",
"source node": 1165,
"start line": 423,
"target node": 1166,
"thread": 11
},
{
"file": 13,
"return": 34,
"source": "return ((int)epd->bmAttributes &3) == 2;",
"source node": 1166,
"start line": 423,
"target node": 1167,
"thread": 11
},
{
"condition": true,
"enter": 35,
"file": 4,
"source": "usb_endpoint_dir_in((struct usb_endpoint_descriptor const *)ep) != 0",
"source node": 1167,
"start line": 663,
"target node": 1168,
"thread": 11
},
{
"file": 13,
"source": "return (int)((signed char)epd->bEndpointAddress) < 0;",
"source node": 1168,
"start line": 399,
"target node": 1169,
"thread": 11
},
{
"file": 13,
"return": 35,
"source": "return (int)((signed char)epd->bEndpointAddress) < 0;",
"source node": 1169,
"start line": 399,
"target node": 1170,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_in) == ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 1170,
"start line": 664,
"target node": 1171,
"thread": 11
},
{
"file": 4,
"source": "ep_in = ep;",
"source node": 1171,
"start line": 665,
"target node": 1172,
"thread": 11
},
{
"file": 4,
"source": "i = i + 1;",
"source node": 1172,
"start line": 659,
"target node": 1173,
"thread": 11
},
{
"file": 4,
"source": "ldv_25672:;",
"source node": 1173,
"start line": 660,
"target node": 1174,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((int)(altsetting->desc.bNumEndpoints)) < i",
"source node": 1174,
"start line": 659,
"target node": 1175,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_in) != ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 1175,
"start line": 678,
"target node": 1176,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_out) != ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 1176,
"start line": 678,
"target node": 1177,
"thread": 11
},
{
"file": 4,
"source": "(unsigned int)us->protocol == 0U",
"source node": 1177,
"start line": 678,
"target node": 1178,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != 0U",
"source node": 1178,
"start line": 678,
"target node": 1179,
"thread": 11
},
{
"enter": 36,
"file": 4,
"source": "us->send_ctrl_pipe = __create_pipe(us->pusb_dev, 0U) | 2147483648U;",
"source node": 1179,
"start line": 684,
"target node": 1180,
"thread": 11
},
{
"file": 10,
"return": 36,
"source": "return (unsigned int)(dev->devnum << 8) | (endpoint << 15);",
"source node": 1180,
"start line": 1531,
"target node": 1181,
"thread": 11
},
{
"enter": 36,
"file": 4,
"source": "us->recv_ctrl_pipe = __create_pipe(us->pusb_dev, 0U) | 2147483776U;",
"source node": 1181,
"start line": 685,
"target node": 1182,
"thread": 11
},
{
"file": 10,
"return": 36,
"source": "return (unsigned int)(dev->devnum << 8) | (endpoint << 15);",
"source node": 1182,
"start line": 1531,
"target node": 1183,
"thread": 11
},
{
"enter": 37,
"file": 4,
"source": "tmp___4 = usb_endpoint_num((struct usb_endpoint_descriptor const *)ep_out);",
"source node": 1183,
"start line": 686,
"target node": 1184,
"thread": 11
},
{
"file": 13,
"source": "return (int)epd->bEndpointAddress &15;",
"source node": 1184,
"start line": 376,
"target node": 1185,
"thread": 11
},
{
"file": 13,
"return": 37,
"source": "return (int)epd->bEndpointAddress &15;",
"source node": 1185,
"start line": 376,
"target node": 1186,
"thread": 11
},
{
"enter": 36,
"file": 4,
"source": "us->send_bulk_pipe = __create_pipe(us->pusb_dev, (unsigned int)tmp___4) | 3221225472U;",
"source node": 1186,
"start line": 686,
"target node": 1187,
"thread": 11
},
{
"file": 10,
"return": 36,
"source": "return (unsigned int)(dev->devnum << 8) | (endpoint << 15);",
"source node": 1187,
"start line": 1531,
"target node": 1188,
"thread": 11
},
{
"enter": 37,
"file": 4,
"source": "tmp___6 = usb_endpoint_num((struct usb_endpoint_descriptor const *)ep_in);",
"source node": 1188,
"start line": 688,
"target node": 1189,
"thread": 11
},
{
"file": 13,
"source": "return (int)epd->bEndpointAddress &15;",
"source node": 1189,
"start line": 376,
"target node": 1190,
"thread": 11
},
{
"file": 13,
"return": 37,
"source": "return (int)epd->bEndpointAddress &15;",
"source node": 1190,
"start line": 376,
"target node": 1191,
"thread": 11
},
{
"enter": 36,
"file": 4,
"source": "us->recv_bulk_pipe = __create_pipe(us->pusb_dev, (unsigned int)tmp___6) | 3221225600U;",
"source node": 1191,
"start line": 688,
"target node": 1192,
"thread": 11
},
{
"file": 10,
"return": 36,
"source": "return (unsigned int)(dev->devnum << 8) | (endpoint << 15);",
"source node": 1192,
"start line": 1531,
"target node": 1193,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "((unsigned long)ep_int) == ((unsigned long)((struct usb_endpoint_descriptor *)0))",
"source node": 1193,
"start line": 690,
"target node": 1194,
"thread": 11
},
{
"file": 4,
"return": 33,
"source": "return 0;",
"source node": 1194,
"start line": 695,
"target node": 1195,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 1195,
"start line": 943,
"target node": 1196,
"thread": 11
},
{
"enter": 38,
"file": 4,
"source": "result = usb_stor_acquire_resources(us);",
"source node": 1196,
"start line": 947,
"target node": 1197,
"thread": 11
},
{
"file": 4,
"source": "int p;",
"source node": 1197,
"start line": 701,
"target node": 1198,
"thread": 11
},
{
"file": 4,
"source": "struct task_struct *th;",
"source node": 1198,
"start line": 702,
"target node": 1199,
"thread": 11
},
{
"file": 4,
"source": "struct task_struct *__k;",
"source node": 1199,
"start line": 703,
"target node": 1200,
"thread": 11
},
{
"file": 4,
"source": "us->current_urb = usb_alloc_urb(0, 208U);",
"source node": 1200,
"start line": 704,
"target node": 1201,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)us->current_urb == (unsigned long)((struct urb *)0)",
"source node": 1201,
"start line": 705,
"target node": 1202,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_0 != ((unsigned long)((struct urb *)0))",
"source node": 1202,
"start line": 705,
"target node": 1203,
"thread": 11
},
{
"file": 4,
"source": "(unsigned long)(us->unusual_dev)->initFunction != (unsigned long)((int (*)(struct us_data *))0)",
"source node": 1203,
"start line": 712,
"target node": 1204,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "__CPAchecker_TMP_1 == ((unsigned long)((int (*)(struct us_data *))0))",
"source node": 1204,
"start line": 712,
"target node": 1205,
"thread": 11
},
{
"file": 4,
"source": "__k = kthread_create(&usb_stor_control_thread, (void *)us, \"usb-storage\");",
"source node": 1205,
"start line": 719,
"target node": 1206,
"thread": 11
},
{
"condition": true,
"enter": 4,
"file": 4,
"source": "ldv_is_err((void const *)__k) != 0L",
"source node": 1206,
"start line": 719,
"target node": 1207,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 1207,
"start line": 22,
"target node": 1208,
"thread": 11
},
{
"file": 4,
"source": "th = __k;",
"source node": 1208,
"start line": 719,
"target node": 1209,
"thread": 11
},
{
"condition": true,
"enter": 4,
"file": 4,
"source": "ldv_is_err((void const *)th) == 0L",
"source node": 1209,
"start line": 720,
"target node": 1210,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 1210,
"start line": 22,
"target node": 1211,
"thread": 11
},
{
"file": 4,
"source": "us->ctl_thread = th;",
"source node": 1211,
"start line": 725,
"target node": 1212,
"thread": 11
},
{
"file": 4,
"return": 38,
"source": "return 0;",
"source node": 1212,
"start line": 727,
"target node": 1213,
"thread": 11
},
{
"condition": true,
"file": 4,
"source": "result == 0",
"source node": 1213,
"start line": 948,
"target node": 1214,
"thread": 11
},
{
"enter": 28,
"file": 4,
"source": "snprintf((char *)(&us->scsi_name), 32UL, \"usb-storage %s\", dev_name((struct device const *)(&(us->pusb_intf)->dev)));",
"source node": 1214,
"start line": 950,
"target node": 1215,
"thread": 11
},
{
"enter": 29,
"file": 11,
"return": 28,
"source": "return kobject_name(&dev->kobj);",
"source node": 1215,
"start line": 435,
"target node": 1216,
"thread": 11
},
{
"file": 12,
"source": "return (char const *)kobj->name;",
"source node": 1216,
"start line": 81,
"target node": 1217,
"thread": 11
},
{
"file": 12,
"return": 29,
"source": "return (char const *)kobj->name;",
"source node": 1217,
"start line": 81,
"target node": 1218,
"thread": 11
},
{
"enter": 40,
"file": 4,
"source": "tmp___0 = us_to_host(us);",
"source node": 1218,
"start line": 952,
"target node": 1219,
"thread": 11
},
{
"file": 8,
"source": "unsigned long const (*__mptr)[0U];",
"source node": 1219,
"start line": 167,
"target node": 1220,
"thread": 11
},
{
"file": 8,
"source": "__mptr = (unsigned long const *)us;",
"source node": 1220,
"start line": 166,
"target node": 1221,
"thread": 11
},
{
"file": 8,
"return": 40,
"source": "return (struct Scsi_Host *)(__mptr + 0xfffffffffffffc10UL);",
"source node": 1221,
"start line": 166,
"target node": 1222,
"thread": 11
},
{
"enter": 42,
"file": 4,
"source": "result = ldv_emg_scsi_add_host(tmp___0, &(us->pusb_intf)->dev);",
"source node": 1222,
"start line": 952,
"target node": 1223,
"thread": 11
},
{
"action": 2,
"file": 0,
"source": "struct Scsi_Host *ldv_13_host_host;",
"source node": 1223,
"start line": 297,
"target node": 1224,
"thread": 11
},
{
"action": 13,
"file": 0,
"source": "ldv_13_host_host = arg0;",
"source node": 1224,
"start line": 304,
"target node": 1225,
"thread": 11
},
{
"action": 14,
"enter": 43,
"file": 0,
"source": "ldv_dispatch_register_13_3(ldv_13_host_host);",
"source node": 1225,
"start line": 308,
"target node": 1226,
"thread": 11
},
{
"file": 0,
"source": "int ret;",
"source node": 1226,
"start line": 275,
"target node": 1227,
"thread": 11
},
{
"file": 0,
"source": "struct ldv_struct_scsi_LLDd_scenario_1 *cf_arg_1;",
"source node": 1227,
"start line": 276,
"target node": 1228,
"thread": 11
},
{
"enter": 2,
"file": 0,
"source": "cf_arg_1 = (struct ldv_struct_scsi_LLDd_scenario_1 *)ldv_xmalloc(16UL);",
"source node": 1228,
"start line": 276,
"target node": 1229,
"thread": 11
},
{
"file": 1,
"source": "void *res;",
"source node": 1229,
"start line": 68,
"target node": 1230,
"thread": 11
},
{
"file": 1,
"source": "long tmp___0;",
"source node": 1230,
"start line": 70,
"target node": 1231,
"thread": 11
},
{
"file": 1,
"source": "res = malloc(size);",
"source node": 1231,
"start line": 68,
"target node": 1232,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume((unsigned long)res != (unsigned long)((void *)0));",
"source node": 1232,
"start line": 69,
"target node": 1233,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 1233,
"start line": 25,
"target node": 1234,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 1234,
"start line": 31,
"target node": 1235,
"thread": 11
},
{
"enter": 4,
"file": 1,
"source": "tmp___0 = ldv_is_err((void const *)res);",
"source node": 1235,
"start line": 70,
"target node": 1236,
"thread": 11
},
{
"file": 3,
"return": 4,
"source": "return (unsigned long)ptr > 4294967295UL;",
"source node": 1236,
"start line": 22,
"target node": 1237,
"thread": 11
},
{
"enter": 3,
"file": 1,
"source": "ldv_assume(tmp___0 == 0L);",
"source node": 1237,
"start line": 70,
"target node": 1238,
"thread": 11
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 1238,
"start line": 25,
"target node": 1239,
"thread": 11
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 1239,
"start line": 31,
"target node": 1240,
"thread": 11
},
{
"file": 1,
"return": 2,
"source": "return res;",
"source node": 1240,
"start line": 71,
"target node": 1241,
"thread": 11
},
{
"file": 0,
"source": "cf_arg_1->arg0 = arg0;",
"source node": 1241,
"start line": 277,
"target node": 1242,
"thread": 11
},
{
"enter": 62,
"file": 0,
"source": "ret = ldv_thread_create(&ldv_thread_1, &ldv_scsi_LLDd_scenario_1, (void *)cf_arg_1);",
"source node": 1242,
"start line": 278,
"target node": 1243,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "int (*ldv_1_callback_eh_abort_handler)(struct scsi_cmnd *);",
"source node": 1243,
"start line": 993,
"target node": 1244,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "int (*ldv_1_callback_eh_bus_reset_handler)(struct scsi_cmnd *);",
"source node": 1244,
"start line": 994,
"target node": 1245,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "int (*ldv_1_callback_eh_device_reset_handler)(struct scsi_cmnd *);",
"source node": 1245,
"start line": 995,
"target node": 1246,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "char *(*ldv_1_callback_info)(struct Scsi_Host *);",
"source node": 1246,
"start line": 996,
"target node": 1247,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "int (*ldv_1_callback_proc_info)(struct Scsi_Host *, char *, char **, long, int, int);",
"source node": 1247,
"start line": 997,
"target node": 1248,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "int (*ldv_1_callback_queuecommand)(struct scsi_cmnd *, void (*)(struct scsi_cmnd *));",
"source node": 1248,
"start line": 999,
"target node": 1249,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "int (*ldv_1_callback_slave_alloc)(struct scsi_device *);",
"source node": 1249,
"start line": 1000,
"target node": 1250,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "int (*ldv_1_callback_slave_configure)(struct scsi_device *);",
"source node": 1250,
"start line": 1001,
"target node": 1251,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "struct Scsi_Host *ldv_1_host_host;",
"source node": 1251,
"start line": 1002,
"target node": 1252,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "struct scsi_cmnd *ldv_1_host_struct_scsi_cmnd_ptr;",
"source node": 1252,
"start line": 1003,
"target node": 1253,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "struct scsi_device *ldv_1_host_struct_scsi_device_ptr;",
"source node": 1253,
"start line": 1004,
"target node": 1254,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "char *ldv_1_ldv_param_16_1_default;",
"source node": 1254,
"start line": 1005,
"target node": 1255,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "char **ldv_1_ldv_param_16_2_default;",
"source node": 1255,
"start line": 1006,
"target node": 1256,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "long ldv_1_ldv_param_16_3_default;",
"source node": 1256,
"start line": 1007,
"target node": 1257,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "int ldv_1_ldv_param_16_4_default;",
"source node": 1257,
"start line": 1008,
"target node": 1258,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "int ldv_1_ldv_param_16_5_default;",
"source node": 1258,
"start line": 1009,
"target node": 1259,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "void (*ldv_1_ldv_param_19_1_default)(struct scsi_cmnd *);",
"source node": 1259,
"start line": 1010,
"target node": 1260,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "int ldv_1_ret_default;",
"source node": 1260,
"start line": 1011,
"target node": 1261,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "struct ldv_struct_scsi_LLDd_scenario_1 *data;",
"source node": 1261,
"start line": 1012,
"target node": 1262,
"thread": 1
},
{
"action": 2,
"file": 0,
"source": "data = (struct ldv_struct_scsi_LLDd_scenario_1 *)arg0;",
"source node": 1262,
"start line": 1013,
"target node": 1263,
"thread": 1
},
{
"action": 18,
"condition": true,
"file": 0,
"source": "((unsigned long)data) == ((unsigned long)((struct ldv_struct_scsi_LLDd_scenario_1 *)0))",
"source node": 1263,
"start line": 1020,
"target node": 1264,
"thread": 1
},
{
"action": 19,
"enter": 3,
"file": 0,
"source": "ldv_assume(ldv_1_ret_default == 0);",
"source node": 1264,
"start line": 1045,
"target node": 1265,
"thread": 1
},
{
"condition": true,
"file": 2,
"source": "expression != 0",
"source node": 1265,
"start line": 25,
"target node": 1266,
"thread": 1
},
{
"file": 2,
"return": 3,
"source": "return;",
"source node": 1266,
"start line": 31,
"target node": 1267,
"thread": 1
},
{
"action": 20,
"enter": 64,
"file": 20,
"original file": 0,
"original start line": 1168,
"source": "device_reset(ldv_1_callback_eh_device_reset_handler);",
"source node": 1267,
"start line": 354,
"target node": 1268,
"thread": 1
},
{
"file": 20,
"source": "struct us_data *us;",
"source node": 1268,
"start line": 354,
"target node": 1269,
"thread": 1
},
{
"file": 20,
"source": "int result;",
"source node": 1269,
"start line": 356,
"target node": 1270,
"thread": 1
},
{
"enter": 22,
"file": 20,
"source": "us = host_to_us((srb->device)->host);",
"source node": 1270,
"start line": 354,
"target node": 1271,
"thread": 1
},
{
"file": 8,
"return": 22,
"source": "return (struct us_data *)(&host->hostdata);",
"source node": 1271,
"start line": 169,
"target node": 1272,
"thread": 1
},
{
"enter": 65,
"file": 20,
"source": "ldv_mutex_lock_29(&us->dev_mutex);",
"source node": 1272,
"start line": 360,
"target node": 1273,
"thread": 1
},
{
"file": 7,
"note": "Lock mutex",
"source": "ldv_mutex_model_lock(ldv_func_arg1, (char *)\"dev_mutex_of_us_data\");",
"source node": 1273,
"start line": 540,
"target node": 1274,
"thread": 1
},
{
"file": 7,
"return": 65,
"source": "return;",
"source node": 1274,
"start line": 541,
"target node": 1275,
"thread": 1
},
{
"condition": true,
"file": 20,
"source": "(us->transport_reset) == (&usb_stor_CB_reset)",
"source node": 1275,
"start line": 361,
"target node": 1276,
"thread": 1
},
{
"enter": 66,
"file": 20,
"source": "pointer call(usb_stor_CB_reset) result = (*(us->transport_reset))(us);",
"source node": 1276,
"start line": 361,
"target node": 1277,
"thread": 1
},
{
"file": 18,
"source": "memset((void *)us->iobuf, 255, 12UL);",
"source node": 1277,
"start line": 1275,
"target node": 1278,
"thread": 1
},
{
"file": 18,
"source": "memset((void *)us->iobuf, 255, 12UL);",
"source node": 1278,
"start line": 1275,
"target node": 1279,
"thread": 1
},
{
"file": 18,
"source": "*(us->iobuf) = 29U;",
"source node": 1279,
"start line": 1276,
"target node": 1280,
"thread": 1
},
{
"file": 18,
"source": "*(us->iobuf + 1UL) = 4U;",
"source node": 1280,
"start line": 1277,
"target node": 1281,
"thread": 1
},
{
"file": 18,
"source": "usb_stor_reset_common(us, 0, 33, 0, (int)us->ifnum, (void *)us->iobuf, 12) = usb_stor_reset_common(us, 0, 33, 0, (int)us->ifnum, (void *)us->iobuf, 12);",
"source node": 1281,
"start line": 1278,
"target node": 1282,
"thread": 1
},
{
"enter": 67,
"file": 18,
"source": "usb_stor_reset_common(us, 0, 33, 0, (int)us->ifnum, (void *)us->iobuf, 12);",
"source node": 1282,
"start line": 1278,
"target node": 1283,
"thread": 1
},
{
"file": 18,
"source": "int result;",
"source node": 1283,
"start line": 1224,
"target node": 1284,
"thread": 1
},
{
"file": 18,
"source": "int result2;",
"source node": 1284,
"start line": 1225,
"target node": 1285,
"thread": 1
},
{
"file": 18,
"source": "long __ret;",
"source node": 1285,
"start line": 1227,
"target node": 1286,
"thread": 1
},
{
"file": 18,
"source": "wait_queue_t __wait;",
"source node": 1286,
"start line": 1228,
"target node": 1287,
"thread": 1
},
{
"condition": true,
"enter": 55,
"file": 18,
"source": "constant_test_bit(3U, (unsigned long const volatile *)(&us->dflags)) == 0",
"source node": 1287,
"start line": 1228,
"target node": 1288,
"thread": 1
},
{
"file": 19,
"return": 55,
"source": "return (int)(*((unsigned long *)(addr + (unsigned long)(nr / 64U))) >> ((int)nr &63)) &1;",
"source node": 1288,
"start line": 311,
"target node": 1289,
"thread": 1
},
{
"enter": 60,
"file": 18,
"source": "result = usb_stor_control_msg(us, us->send_ctrl_pipe, (int)request, (int)requesttype, (int)value, (int)index, data, (int)size, 1250);",
"source node": 1289,
"start line": 1233,
"target node": 1290,
"thread": 1
},
{
"file": 18,
"source": "int status;",
"source node": 1290,
"start line": 198,
"target node": 1291,
"thread": 1
},
{
"file": 18,
"source": "(us->cr)->bRequestType = requesttype;",
"source node": 1291,
"start line": 206,
"target node": 1292,
"thread": 1
},
{
"file": 18,
"source": "(us->cr)->bRequest = request;",
"source node": 1292,
"start line": 207,
"target node": 1293,
"thread": 1
},
{
"file": 18,
"source": "(us->cr)->wValue = value;",
"source node": 1293,
"start line": 208,
"target node": 1294,
"thread": 1
},
{
"file": 18,
"source": "(us->cr)->wIndex = index;",
"source node": 1294,
"start line": 209,
"target node": 1295,
"thread": 1
},
{
"file": 18,
"source": "(us->cr)->wLength = size;",
"source node": 1295,
"start line": 210,
"target node": 1296,
"thread": 1
},
{
"file": 18,
"source": "usb_fill_control_urb(us->current_urb, us->pusb_dev, pipe, (unsigned char *)us->cr, data, (int)size, &usb_stor_blocking_completion, (void *)0);",
"source node": 1296,
"start line": 213,
"target node": 1297,
"thread": 1
},
{
"enter": 61,
"file": 18,
"source": "usb_fill_control_urb(us->current_urb, us->pusb_dev, pipe, (unsigned char *)us->cr, data, (int)size, &usb_stor_blocking_completion, (void *)0);",
"source node": 1297,
"start line": 213,
"target node": 1298,
"thread": 1
},
{
"file": 10,
"source": "urb->dev = dev;",
"source node": 1298,
"start line": 1253,
"target node": 1299,
"thread": 1
},
{
"file": 10,
"source": "urb->pipe = pipe;",
"source node": 1299,
"start line": 1254,
"target node": 1300,
"thread": 1
},
{
"file": 10,
"source": "urb->setup_packet = setup_packet;",
"source node": 1300,
"start line": 1255,
"target node": 1301,
"thread": 1
},
{
"file": 10,
"source": "urb->transfer_buffer = transfer_buffer;",
"source node": 1301,
"start line": 1256,
"target node": 1302,
"thread": 1
},
{
"file": 10,
"source": "urb->transfer_buffer_length = (u32)buffer_length;",
"source node": 1302,
"start line": 1257,
"target node": 1303,
"thread": 1
},
{
"file": 10,
"source": "urb->complete = complete_fn;",
"source node": 1303,
"start line": 1258,
"target node": 1304,
"thread": 1,
"warn": "Target usage"
},
{
"file": 10,
"source": "urb->context = context;",
"source node": 1304,
"start line": 1259,
"target node": 1305,
"thread": 1
},
{
"file": 10,
"return": 61,
"source": "return;",
"source node": 1305,
"start line": 1260,
"target node": 1306,
"thread": 1
}
],
"entry node": 0,
"files": [
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/avtg/drivers/usb/storage/usb-storage.ko/linux:races/weaver/usb.c.aux",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/job/root/verifier/memory.c",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/job/root/verifier/common.c",
"/home/alpha/work/klever-work/linux/err.c",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/lkbce/drivers/usb/storage/usb.c",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/job/root/verifier/nondet.c",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/lkbce/drivers/usb/storage/usual-tables.c",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/avtg/drivers/usb/storage/usb-storage.ko/linux:races/weaver/scsiglue.c.aux",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/lkbce/drivers/usb/storage/usb.h",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/lkbce/include/linux/completion.h",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/lkbce/include/linux/usb.h",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/lkbce/include/linux/device.h",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/lkbce/include/linux/kobject.h",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/lkbce/include/linux/usb/ch9.h",
"/home/alpha/work/klever-work/linux/ldv/common.c",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/lkbce/drivers/usb/storage/option_ms.c",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/avtg/drivers/usb/storage/usb-storage.ko/linux:races/weaver/option_ms.c.aux",
"/home/alpha/work/klever-work/linux/mm/kzalloc.c",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/lkbce/drivers/usb/storage/transport.c",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/lkbce/arch/x86/include/asm/bitops.h",
"/home/alpha/work/klever-work/native-scheduler-work-dir/scheduler/jobs/f48d0281671f777c841941e86756bcc7/klever-core-work-dir/lkbce/drivers/usb/storage/scsiglue.c"
],
"funcs": [
"ldv_main_19",
"ldv_dispatch_insmod_register_19_3",
"ldv_xmalloc",
"ldv_assume",
"ldv_is_err",
"ldv_insmod_12",
"ldv_free",
"ldv_insmod_usb_stor_init_12_13",
"usb_stor_init",
"ldv_usb_register_43",
"ldv_emg_usb_register",
"ldv_undef_int",
"ldv_dispatch_register_18_3",
"ldv_usb_scenario_11",
"ldv_xmalloc_unknown_size",
"ldv_usb_scenario_probe_11_14",
"storage_probe",
"usb_usual_ignore_device",
"usb_stor_probe1",
"ldv_scsi_host_alloc_41",
"ldv_emg_scsi_host_alloc",
"usb_stor_sg_tablesize",
"host_to_us",
"init_completion",
"associate_dev",
"usb_set_intfdata",
"get_device_info",
"adjust_quirks",
"dev_name",
"kobject_name",
"get_transport",
"get_protocol",
"usb_stor_probe2",
"get_pipes",
"usb_endpoint_xfer_bulk",
"usb_endpoint_dir_in",
"__create_pipe",
"usb_endpoint_num",
"usb_stor_acquire_resources",
"IS_ERR",
"us_to_host",
"ldv_scsi_add_host_42",
"ldv_emg_scsi_add_host",
"ldv_dispatch_register_13_3",
"ldv_post_probe",
"ldv_filter_positive_int",
"option_ms_init",
"option_inquiry",
"kzalloc",
"ldv_kzalloc",
"ldv_zalloc",
"ldv_calloc",
"usb_stor_bulk_transfer_buf",
"usb_fill_bulk_urb",
"usb_stor_msg_common",
"constant_test_bit",
"set_bit",
"clear_bit",
"interpret_urb_result",
"usb_stor_clear_halt",
"usb_stor_control_msg",
"usb_fill_control_urb",
"ldv_scsi_LLDd_scenario_1",
"ldv_scsi_LLDd_scenario_callback_1_14",
"device_reset",
"ldv_mutex_lock_29",
"usb_stor_CB_reset",
"usb_stor_reset_common"
],
"nodes": [
[
null,
0
],
[
0,
1
],
[
1,
2
],
[
2,
3
],
[
3,
4
],
[
4,
5
],
[
5,
6
],
[
6,
7
],
[
7,
8
],
[
8,
9
],
[
9,
10
],
[
10,
11
],
[
11,
12
],
[
12,
13
],
[
13,
14
],
[
14,
15
],
[
15,
16
],
[
16,
17
],
[
17,
18
],
[
18,
19
],
[
19,
20
],
[
20,
21
],
[
21,
22
],
[
22,
23
],
[
23,
24
],
[
24,
25
],
[
25,
26
],
[
26,
27
],
[
27,
28
],
[
28,
29
],
[
29,
30
],
[
30,
31
],
[
31,
32
],
[
32,
33
],
[
33,
34
],
[
34,
35
],
[
35,
36
],
[
36,
37
],
[
37,
38
],
[
38,
39
],
[
39,
40
],
[
40,
41
],
[
41,
42
],
[
42,
43
],
[
43,
44
],
[
44,
45
],
[
45,
46
],
[
46,
47
],
[
47,
48
],
[
48,
49
],
[
49,
50
],
[
50,
51
],
[
51,
52
],
[
52,
53
],
[
53,
54
],
[
54,
55
],
[
55,
56
],
[
56,
57
],
[
57,
58
],
[
58,
59
],
[
59,
60
],
[
60,
61
],
[
61,
62
],
[
62,
63
],
[
63,
64
],
[
64,
65
],
[
65,
66
],
[
66,
67
],
[
67,
68
],
[
68,
69
],
[
69,
70
],
[
70,
71
],
[
71,
72
],
[
72,
73
],
[
73,
74
],
[
74,
75
],
[
75,
76
],
[
76,
77
],
[
77,
78
],
[
78,
79
],
[
79,
80
],
[
80,
81
],
[
81,
82
],
[
82,
83
],
[
83,
84
],
[
84,
85
],
[
85,
86
],
[
86,
87
],
[
87,
88
],
[
88,
89
],
[
89,
90
],
[
90,
91
],
[
91,
92
],
[
92,
93
],
[
93,
94
],
[
94,
95
],
[
95,
96
],
[
96,
97
],
[
97,
98
],
[
98,
99
],
[
99,
100
],
[
100,
101
],
[
101,
102
],
[
102,
103
],
[
103,
104
],
[
104,
105
],
[
105,
106
],
[
106,
107
],
[
107,
108
],
[
108,
109
],
[
109,
110
],
[
110,
111
],
[
111,
112
],
[
112,
113
],
[
113,
114
],
[
114,
115
],
[
115,
116
],
[
116,
117
],
[
117,
118
],
[
118,
119
],
[
119,
120
],
[
120,
121
],
[
121,
122
],
[
122,
123
],
[
123,
124
],
[
124,
125
],
[
125,
126
],
[
126,
127
],
[
127,
128
],
[
128,
129
],
[
129,
130
],
[
130,
131
],
[
131,
132
],
[
132,
133
],
[
133,
134
],
[
134,
135
],
[
135,
136
],
[
136,
137
],
[
137,
138
],
[
138,
139
],
[
139,
140
],
[
140,
141
],
[
141,
142
],
[
142,
143
],
[
143,
144
],
[
144,
145
],
[
145,
146
],
[
146,
147
],
[
147,
148
],
[
148,
149
],
[
149,
150
],
[
150,
151
],
[
151,
152
],
[
152,
153
],
[
153,
154
],
[
154,
155
],
[
155,
156
],
[
156,
157
],
[
157,
158
],
[
158,
159
],
[
159,
160
],
[
160,
161
],
[
161,
162
],
[
162,
163
],
[
163,
164
],
[
164,
165
],
[
165,
166
],
[
166,
167
],
[
167,
168
],
[
168,
169
],
[
169,
170
],
[
170,
171
],
[
171,
172
],
[
172,
173
],
[
173,
174
],
[
174,
175
],
[
175,
176
],
[
176,
177
],
[
177,
178
],
[
178,
179
],
[
179,
180
],
[
180,
181
],
[
181,
182
],
[
182,
183
],
[
183,
184
],
[
184,
185
],
[
185,
186
],
[
186,
187
],
[
187,
188
],
[
188,
189
],
[
189,
190
],
[
190,
191
],
[
191,
192
],
[
192,
193
],
[
193,
194
],
[
194,
195
],
[
195,
196
],
[
196,
197
],
[
197,
198
],
[
198,
199
],
[
199,
200
],
[
200,
201
],
[
201,
202
],
[
202,
203
],
[
203,
204
],
[
204,
205
],
[
205,
206
],
[
206,
207
],
[
207,
208
],
[
208,
209
],
[
209,
210
],
[
210,
211
],
[
211,
212
],
[
212,
213
],
[
213,
214
],
[
214,
215
],
[
215,
216
],
[
216,
217
],
[
217,
218
],
[
218,
219
],
[
219,
220
],
[
220,
221
],
[
221,
222
],
[
222,
223
],
[
223,
224
],
[
224,
225
],
[
225,
226
],
[
226,
227
],
[
227,
228
],
[
228,
229
],
[
229,
230
],
[
230,
231
],
[
231,
232
],
[
232,
233
],
[
233,
234
],
[
234,
235
],
[
235,
236
],
[
236,
237
],
[
237,
238
],
[
238,
239
],
[
239,
240
],
[
240,
241
],
[
241,
242
],
[
242,
243
],
[
243,
244
],
[
244,
245
],
[
245,
246
],
[
246,
247
],
[
247,
248
],
[
248,
249
],
[
249,
250
],
[
250,
251
],
[
251,
252
],
[
252,
253
],
[
253,
254
],
[
254,
255
],
[
255,
256
],
[
256,
257
],
[
257,
258
],
[
258,
259
],
[
259,
260
],
[
260,
261
],
[
261,
262
],
[
262,
263
],
[
263,
264
],
[
264,
265
],
[
265,
266
],
[
266,
267
],
[
267,
268
],
[
268,
269
],
[
269,
270
],
[
270,
271
],
[
271,
272
],
[
272,
273
],
[
273,
274
],
[
274,
275
],
[
275,
276
],
[
276,
277
],
[
277,
278
],
[
278,
279
],
[
279,
280
],
[
280,
281
],
[
281,
282
],
[
282,
283
],
[
283,
284
],
[
284,
285
],
[
285,
286
],
[
286,
287
],
[
287,
288
],
[
288,
289
],
[
289,
290
],
[
290,
291
],
[
291,
292
],
[
292,
293
],
[
293,
294
],
[
294,
295
],
[
295,
296
],
[
296,
297
],
[
297,
298
],
[
298,
299
],
[
299,
300
],
[
300,
301
],
[
301,
302
],
[
302,
303
],
[
303,
304
],
[
304,
305
],
[
305,
306
],
[
306,
307
],
[
307,
308
],
[
308,
309
],
[
309,
310
],
[
310,
311
],
[
311,
312
],
[
312,
313
],
[
313,
314
],
[
314,
315
],
[
315,
316
],
[
316,
317
],
[
317,
318
],
[
318,
319
],
[
319,
320
],
[
320,
321
],
[
321,
322
],
[
322,
323
],
[
323,
324
],
[
324,
325
],
[
325,
326
],
[
326,
327
],
[
327,
328
],
[
328,
329
],
[
329,
330
],
[
330,
331
],
[
331,
332
],
[
332,
333
],
[
333,
334
],
[
334,
335
],
[
335,
336
],
[
336,
337
],
[
337,
338
],
[
338,
339
],
[
339,
340
],
[
340,
341
],
[
341,
342
],
[
342,
343
],
[
343,
344
],
[
344,
345
],
[
345,
346
],
[
346,
347
],
[
347,
348
],
[
348,
349
],
[
349,
350
],
[
350,
351
],
[
351,
352
],
[
352,
353
],
[
353,
354
],
[
354,
355
],
[
355,
356
],
[
356,
357
],
[
357,
358
],
[
358,
359
],
[
359,
360
],
[
360,
361
],
[
361,
362
],
[
362,
363
],
[
363,
364
],
[
364,
365
],
[
365,
366
],
[
366,
367
],
[
367,
368
],
[
368,
369
],
[
369,
370
],
[
370,
371
],
[
371,
372
],
[
372,
373
],
[
373,
374
],
[
374,
375
],
[
375,
376
],
[
376,
377
],
[
377,
378
],
[
378,
379
],
[
379,
380
],
[
380,
381
],
[
381,
382
],
[
382,
383
],
[
383,
384
],
[
384,
385
],
[
385,
386
],
[
386,
387
],
[
387,
388
],
[
388,
389
],
[
389,
390
],
[
390,
391
],
[
391,
392
],
[
392,
393
],
[
393,
394
],
[
394,
395
],
[
395,
396
],
[
396,
397
],
[
397,
398
],
[
398,
399
],
[
399,
400
],
[
400,
401
],
[
401,
402
],
[
402,
403
],
[
403,
404
],
[
404,
405
],
[
405,
406
],
[
406,
407
],
[
407,
408
],
[
408,
409
],
[
409,
410
],
[
410,
411
],
[
411,
412
],
[
412,
413
],
[
413,
414
],
[
414,
415
],
[
415,
416
],
[
416,
417
],
[
417,
418
],
[
418,
419
],
[
419,
420
],
[
420,
421
],
[
421,
422
],
[
422,
423
],
[
423,
424
],
[
424,
425
],
[
425,
426
],
[
426,
427
],
[
427,
428
],
[
428,
429
],
[
429,
430
],
[
430,
431
],
[
431,
432
],
[
432,
433
],
[
433,
434
],
[
434,
435
],
[
435,
436
],
[
436,
437
],
[
437,
438
],
[
438,
439
],
[
439,
440
],
[
440,
441
],
[
441,
442
],
[
442,
443
],
[
443,
444
],
[
444,
445
],
[
445,
446
],
[
446,
447
],
[
447,
448
],
[
448,
449
],
[
449,
450
],
[
450,
451
],
[
451,
452
],
[
452,
453
],
[
453,
454
],
[
454,
455
],
[
455,
456
],
[
456,
457
],
[
457,
458
],
[
458,
459
],
[
459,
460
],
[
460,
461
],
[
461,
462
],
[
462,
463
],
[
463,
464
],
[
464,
465
],
[
465,
466
],
[
466,
467
],
[
467,
468
],
[
468,
469
],
[
469,
470
],
[
470,
471
],
[
471,
472
],
[
472,
473
],
[
473,
474
],
[
474,
475
],
[
475,
476
],
[
476,
477
],
[
477,
478
],
[
478,
479
],
[
479,
480
],
[
480,
481
],
[
481,
482
],
[
482,
483
],
[
483,
484
],
[
484,
485
],
[
485,
486
],
[
486,
487
],
[
487,
488
],
[
488,
489
],
[
489,
490
],
[
490,
491
],
[
491,
492
],
[
492,
493
],
[
493,
494
],
[
494,
495
],
[
495,
496
],
[
496,
497
],
[
497,
498
],
[
498,
499
],
[
499,
500
],
[
500,
501
],
[
501,
502
],
[
502,
503
],
[
503,
504
],
[
504,
505
],
[
505,
506
],
[
506,
507
],
[
507,
508
],
[
508,
509
],
[
509,
510
],
[
510,
511
],
[
511,
512
],
[
512,
513
],
[
513,
514
],
[
514,
515
],
[
515,
516
],
[
516,
517
],
[
517,
518
],
[
518,
519
],
[
519,
520
],
[
520,
521
],
[
521,
522
],
[
522,
523
],
[
523,
524
],
[
524,
525
],
[
525,
526
],
[
526,
527
],
[
527,
528
],
[
528,
529
],
[
529,
530
],
[
530,
531
],
[
531,
532
],
[
532,
533
],
[
533,
534
],
[
534,
535
],
[
535,
536
],
[
536,
537
],
[
537,
538
],
[
538,
539
],
[
539,
540
],
[
540,
541
],
[
541,
542
],
[
542,
543
],
[
543,
544
],
[
544,
545
],
[
545,
546
],
[
546,
547
],
[
547,
548
],
[
548,
549
],
[
549,
550
],
[
550,
551
],
[
551,
552
],
[
552,
553
],
[
553,
554
],
[
554,
555
],
[
555,
556
],
[
556,
557
],
[
557,
558
],
[
558,
559
],
[
559,
560
],
[
560,
561
],
[
561,
562
],
[
562,
563
],
[
563,
564
],
[
564,
565
],
[
565,
566
],
[
566,
567
],
[
567,
568
],
[
568,
569
],
[
569,
570
],
[
570,
571
],
[
571,
572
],
[
572,
573
],
[
573,
574
],
[
574,
575
],
[
575,
576
],
[
576,
577
],
[
577,
578
],
[
578,
579
],
[
579,
580
],
[
580,
581
],
[
581,
582
],
[
582,
583
],
[
583,
584
],
[
584,
585
],
[
585,
586
],
[
586,
587
],
[
587,
588
],
[
588,
589
],
[
589,
590
],
[
590,
591
],
[
591,
592
],
[
592,
593
],
[
593,
594
],
[
594,
595
],
[
595,
596
],
[
596,
597
],
[
597,
598
],
[
598,
599
],
[
599,
600
],
[
600,
601
],
[
601,
602
],
[
602,
603
],
[
603,
604
],
[
604,
605
],
[
605,
606
],
[
606,
607
],
[
607,
608
],
[
608,
609
],
[
609,
610
],
[
610,
611
],
[
611,
612
],
[
612,
613
],
[
613,
614
],
[
614,
615
],
[
615,
616
],
[
616,
617
],
[
617,
618
],
[
618,
619
],
[
619,
620
],
[
620,
621
],
[
621,
622
],
[
622,
623
],
[
623,
624
],
[
624,
625
],
[
625,
626
],
[
626,
627
],
[
627,
628
],
[
628,
629
],
[
629,
630
],
[
630,
631
],
[
631,
632
],
[
632,
633
],
[
633,
634
],
[
634,
635
],
[
635,
636
],
[
636,
637
],
[
637,
638
],
[
638,
639
],
[
639,
640
],
[
640,
641
],
[
641,
642
],
[
642,
643
],
[
643,
644
],
[
644,
645
],
[
645,
646
],
[
646,
647
],
[
647,
648
],
[
648,
649
],
[
649,
650
],
[
650,
651
],
[
651,
652
],
[
652,
653
],
[
653,
654
],
[
654,
655
],
[
655,
656
],
[
656,
657
],
[
657,
658
],
[
658,
659
],
[
659,
660
],
[
660,
661
],
[
661,
662
],
[
662,
663
],
[
663,
664
],
[
664,
665
],
[
665,
666
],
[
666,
667
],
[
667,
668
],
[
668,
669
],
[
669,
670
],
[
670,
671
],
[
671,
672
],
[
672,
673
],
[
673,
674
],
[
674,
675
],
[
675,
676
],
[
676,
677
],
[
677,
678
],
[
678,
679
],
[
679,
680
],
[
680,
681
],
[
681,
682
],
[
682,
683
],
[
683,
684
],
[
684,
685
],
[
685,
686
],
[
686,
687
],
[
687,
688
],
[
688,
689
],
[
689,
690
],
[
690,
691
],
[
691,
692
],
[
692,
693
],
[
693,
694
],
[
694,
695
],
[
695,
696
],
[
696,
697
],
[
697,
698
],
[
698,
699
],
[
699,
700
],
[
700,
701
],
[
701,
702
],
[
702,
703
],
[
703,
704
],
[
704,
705
],
[
705,
706
],
[
706,
707
],
[
707,
708
],
[
708,
709
],
[
709,
710
],
[
710,
711
],
[
711,
712
],
[
712,
713
],
[
713,
714
],
[
714,
715
],
[
715,
716
],
[
716,
717
],
[
717,
718
],
[
718,
719
],
[
719,
720
],
[
720,
721
],
[
721,
722
],
[
722,
723
],
[
723,
724
],
[
724,
725
],
[
725,
726
],
[
726,
727
],
[
727,
728
],
[
728,
729
],
[
729,
730
],
[
730,
731
],
[
731,
732
],
[
732,
733
],
[
733,
734
],
[
734,
735
],
[
735,
736
],
[
736,
737
],
[
737,
738
],
[
738,
739
],
[
739,
740
],
[
740,
741
],
[
741,
742
],
[
742,
743
],
[
743,
744
],
[
744,
745
],
[
745,
746
],
[
746,
747
],
[
747,
748
],
[
748,
749
],
[
749,
750
],
[
750,
751
],
[
751,
752
],
[
752,
753
],
[
753,
754
],
[
754,
755
],
[
755,
756
],
[
756,
757
],
[
757,
758
],
[
758,
759
],
[
759,
760
],
[
760,
761
],
[
761,
762
],
[
762,
763
],
[
763,
764
],
[
764,
765
],
[
765,
766
],
[
766,
767
],
[
767,
768
],
[
768,
769
],
[
769,
770
],
[
770,
771
],
[
771,
772
],
[
772,
773
],
[
773,
774
],
[
774,
775
],
[
775,
776
],
[
776,
777
],
[
777,
778
],
[
778,
779
],
[
779,
780
],
[
780,
781
],
[
781,
782
],
[
782,
783
],
[
783,
784
],
[
784,
785
],
[
785,
786
],
[
786,
787
],
[
787,
788
],
[
788,
789
],
[
789,
790
],
[
790,
791
],
[
791,
792
],
[
792,
793
],
[
793,
794
],
[
794,
795
],
[
795,
796
],
[
796,
797
],
[
797,
798
],
[
798,
799
],
[
799,
800
],
[
800,
801
],
[
801,
802
],
[
802,
803
],
[
803,
804
],
[
804,
805
],
[
805,
806
],
[
806,
807
],
[
807,
808
],
[
808,
809
],
[
809,
810
],
[
810,
811
],
[
811,
812
],
[
812,
813
],
[
813,
814
],
[
814,
815
],
[
815,
816
],
[
816,
817
],
[
817,
818
],
[
818,
819
],
[
819,
820
],
[
820,
821
],
[
821,
822
],
[
822,
823
],
[
823,
824
],
[
824,
825
],
[
825,
826
],
[
826,
827
],
[
827,
828
],
[
828,
829
],
[
829,
830
],
[
830,
831
],
[
831,
832
],
[
832,
833
],
[
833,
834
],
[
834,
835
],
[
835,
836
],
[
836,
837
],
[
837,
838
],
[
838,
839
],
[
839,
840
],
[
840,
841
],
[
841,
842
],
[
842,
843
],
[
843,
844
],
[
844,
845
],
[
845,
846
],
[
846,
847
],
[
847,
848
],
[
848,
849
],
[
849,
850
],
[
850,
851
],
[
851,
852
],
[
852,
853
],
[
853,
854
],
[
854,
855
],
[
855,
856
],
[
856,
857
],
[
857,
858
],
[
858,
859
],
[
859,
860
],
[
860,
861
],
[
861,
862
],
[
862,
863
],
[
863,
864
],
[
864,
865
],
[
865,
866
],
[
866,
867
],
[
867,
868
],
[
868,
869
],
[
869,
870
],
[
870,
871
],
[
871,
872
],
[
872,
873
],
[
873,
874
],
[
874,
875
],
[
875,
876
],
[
876,
877
],
[
877,
878
],
[
878,
879
],
[
879,
880
],
[
880,
881
],
[
881,
882
],
[
882,
883
],
[
883,
884
],
[
884,
885
],
[
885,
886
],
[
886,
887
],
[
887,
888
],
[
888,
889
],
[
889,
890
],
[
890,
891
],
[
891,
892
],
[
892,
893
],
[
893,
894
],
[
894,
895
],
[
895,
896
],
[
896,
897
],
[
897,
898
],
[
898,
899
],
[
899,
900
],
[
900,
901
],
[
901,
902
],
[
902,
903
],
[
903,
904
],
[
904,
905
],
[
905,
906
],
[
906,
907
],
[
907,
908
],
[
908,
909
],
[
909,
910
],
[
910,
911
],
[
911,
912
],
[
912,
913
],
[
913,
914
],
[
914,
915
],
[
915,
916
],
[
916,
917
],
[
917,
918
],
[
918,
919
],
[
919,
920
],
[
920,
921
],
[
921,
922
],
[
922,
923
],
[
923,
924
],
[
924,
925
],
[
925,
926
],
[
926,
927
],
[
927,
928
],
[
928,
929
],
[
929,
930
],
[
930,
931
],
[
931,
932
],
[
932,
933
],
[
933,
934
],
[
934,
935
],
[
935,
936
],
[
936,
937
],
[
937,
938
],
[
938,
939
],
[
939,
940
],
[
940,
941
],
[
941,
942
],
[
942,
943
],
[
943,
944
],
[
944,
945
],
[
945,
946
],
[
946,
947
],
[
947,
948
],
[
948,
949
],
[
949,
950
],
[
950,
951
],
[
951,
952
],
[
952,
953
],
[
953,
954
],
[
954,
955
],
[
955,
956
],
[
956,
957
],
[
957,
958
],
[
958,
959
],
[
959,
960
],
[
960,
961
],
[
961,
962
],
[
962,
963
],
[
963,
964
],
[
964,
965
],
[
965,
966
],
[
966,
967
],
[
967,
968
],
[
968,
969
],
[
969,
970
],
[
970,
971
],
[
971,
972
],
[
972,
973
],
[
973,
974
],
[
974,
975
],
[
975,
976
],
[
976,
977
],
[
977,
978
],
[
978,
979
],
[
979,
980
],
[
980,
981
],
[
981,
982
],
[
982,
983
],
[
983,
984
],
[
984,
985
],
[
985,
986
],
[
986,
987
],
[
987,
988
],
[
988,
989
],
[
989,
990
],
[
990,
991
],
[
991,
992
],
[
992,
993
],
[
993,
994
],
[
994,
995
],
[
995,
996
],
[
996,
997
],
[
997,
998
],
[
998,
999
],
[
999,
1000
],
[
1000,
1001
],
[
1001,
1002
],
[
1002,
1003
],
[
1003,
1004
],
[
1004,
1005
],
[
1005,
1006
],
[
1006,
1007
],
[
1007,
1008
],
[
1008,
1009
],
[
1009,
1010
],
[
1010,
1011
],
[
1011,
1012
],
[
1012,
1013
],
[
1013,
1014
],
[
1014,
1015
],
[
1015,
1016
],
[
1016,
1017
],
[
1017,
1018
],
[
1018,
1019
],
[
1019,
1020
],
[
1020,
1021
],
[
1021,
1022
],
[
1022,
1023
],
[
1023,
1024
],
[
1024,
1025
],
[
1025,
1026
],
[
1026,
1027
],
[
1027,
1028
],
[
1028,
1029
],
[
1029,
1030
],
[
1030,
1031
],
[
1031,
1032
],
[
1032,
1033
],
[
1033,
1034
],
[
1034,
1035
],
[
1035,
1036
],
[
1036,
1037
],
[
1037,
1038
],
[
1038,
1039
],
[
1039,
1040
],
[
1040,
1041
],
[
1041,
1042
],
[
1042,
1043
],
[
1043,
1044
],
[
1044,
1045
],
[
1045,
1046
],
[
1046,
1047
],
[
1047,
1048
],
[
1048,
1049
],
[
1049,
1050
],
[
1050,
1051
],
[
1051,
1052
],
[
1052,
1053
],
[
1053,
1054
],
[
1054,
1055
],
[
1055,
1056
],
[
1056,
1057
],
[
1057,
1058
],
[
1058,
1059
],
[
1059,
1060
],
[
1060,
1061
],
[
1061,
1062
],
[
1062,
1063
],
[
1063,
1064
],
[
1064,
1065
],
[
1065,
1066
],
[
1066,
1067
],
[
1067,
1068
],
[
1068,
1069
],
[
1069,
1070
],
[
1070,
1071
],
[
1071,
1072
],
[
1072,
1073
],
[
1073,
1074
],
[
1074,
1075
],
[
1075,
1076
],
[
1076,
1077
],
[
1077,
1078
],
[
1078,
1079
],
[
1079,
1080
],
[
1080,
1081
],
[
1081,
1082
],
[
1082,
1083
],
[
1083,
1084
],
[
1084,
1085
],
[
1085,
1086
],
[
1086,
1087
],
[
1087,
1088
],
[
1088,
1089
],
[
1089,
1090
],
[
1090,
1091
],
[
1091,
1092
],
[
1092,
1093
],
[
1093,
1094
],
[
1094,
1095
],
[
1095,
1096
],
[
1096,
1097
],
[
1097,
1098
],
[
1098,
1099
],
[
1099,
1100
],
[
1100,
1101
],
[
1101,
1102
],
[
1102,
1103
],
[
1103,
1104
],
[
1104,
1105
],
[
1105,
1106
],
[
1106,
1107
],
[
1107,
1108
],
[
1108,
1109
],
[
1109,
1110
],
[
1110,
1111
],
[
1111,
1112
],
[
1112,
1113
],
[
1113,
1114
],
[
1114,
1115
],
[
1115,
1116
],
[
1116,
1117
],
[
1117,
1118
],
[
1118,
1119
],
[
1119,
1120
],
[
1120,
1121
],
[
1121,
1122
],
[
1122,
1123
],
[
1123,
1124
],
[
1124,
1125
],
[
1125,
1126
],
[
1126,
1127
],
[
1127,
1128
],
[
1128,
1129
],
[
1129,
1130
],
[
1130,
1131
],
[
1131,
1132
],
[
1132,
1133
],
[
1133,
1134
],
[
1134,
1135
],
[
1135,
1136
],
[
1136,
1137
],
[
1137,
1138
],
[
1138,
1139
],
[
1139,
1140
],
[
1140,
1141
],
[
1141,
1142
],
[
1142,
1143
],
[
1143,
1144
],
[
1144,
1145
],
[
1145,
1146
],
[
1146,
1147
],
[
1147,
1148
],
[
1148,
1149
],
[
1149,
1150
],
[
1150,
1151
],
[
1151,
1152
],
[
1152,
1153
],
[
1153,
1154
],
[
1154,
1155
],
[
1155,
1156
],
[
1156,
1157
],
[
1157,
1158
],
[
1158,
1159
],
[
1159,
1160
],
[
1160,
1161
],
[
1161,
1162
],
[
1162,
1163
],
[
1163,
1164
],
[
1164,
1165
],
[
1165,
1166
],
[
1166,
1167
],
[
1167,
1168
],
[
1168,
1169
],
[
1169,
1170
],
[
1170,
1171
],
[
1171,
1172
],
[
1172,
1173
],
[
1173,
1174
],
[
1174,
1175
],
[
1175,
1176
],
[
1176,
1177
],
[
1177,
1178
],
[
1178,
1179
],
[
1179,
1180
],
[
1180,
1181
],
[
1181,
1182
],
[
1182,
1183
],
[
1183,
1184
],
[
1184,
1185
],
[
1185,
1186
],
[
1186,
1187
],
[
1187,
1188
],
[
1188,
1189
],
[
1189,
1190
],
[
1190,
1191
],
[
1191,
1192
],
[
1192,
1193
],
[
1193,
1194
],
[
1194,
1195
],
[
1195,
1196
],
[
1196,
1197
],
[
1197,
1198
],
[
1198,
1199
],
[
1199,
1200
],
[
1200,
1201
],
[
1201,
1202
],
[
1202,
1203
],
[
1203,
1204
],
[
1204,
1205
],
[
1205,
1206
],
[
1206,
1207
],
[
1207,
1208
],
[
1208,
1209
],
[
1209,
1210
],
[
1210,
1211
],
[
1211,
1212
],
[
1212,
1213
],
[
1213,
1214
],
[
1214,
1215
],
[
1215,
1216
],
[
1216,
1217
],
[
1217,
1218
],
[
1218,
1219
],
[
1219,
1220
],
[
1220,
1221
],
[
1221,
1222
],
[
1222,
1223
],
[
1223,
1224
],
[
1224,
1225
],
[
1225,
1226
],
[
1226,
1227
],
[
1227,
1228
],
[
1228,
1229
],
[
1229,
1230
],
[
1230,
1231
],
[
1231,
1232
],
[
1232,
1233
],
[
1233,
1234
],
[
1234,
1235
],
[
1235,
1236
],
[
1236,
1237
],
[
1237,
1238
],
[
1238,
1239
],
[
1239,
1240
],
[
1240,
1241
],
[
1241,
1242
],
[
1242,
1243
],
[
1243,
1244
],
[
1244,
1245
],
[
1245,
1246
],
[
1246,
1247
],
[
1247,
1248
],
[
1248,
1249
],
[
1249,
1250
],
[
1250,
1251
],
[
1251,
1252
],
[
1252,
1253
],
[
1253,
1254
],
[
1254,
1255
],
[
1255,
1256
],
[
1256,
1257
],
[
1257,
1258
],
[
1258,
1259
],
[
1259,
1260
],
[
1260,
1261
],
[
1261,
1262
],
[
1262,
1263
],
[
1263,
1264
],
[
1264,
1265
],
[
1265,
1266
],
[
1266,
1267
],
[
1267,
1268
],
[
1268,
1269
],
[
1269,
1270
],
[
1270,
1271
],
[
1271,
1272
],
[
1272,
1273
],
[
1273,
1274
],
[
1274,
1275
],
[
1275,
1276
],
[
1276,
1277
],
[
1277,
1278
],
[
1278,
1279
],
[
1279,
1280
],
[
1280,
1281
],
[
1281,
1282
],
[
1282,
1283
],
[
1283,
1284
],
[
1284,
1285
],
[
1285,
1286
],
[
1286,
1287
],
[
1287,
1288
],
[
1288,
1289
],
[
1289,
1290
],
[
1290,
1291
],
[
1291,
1292
],
[
1292,
1293
],
[
1293,
1294
],
[
1294,
1295
],
[
1295,
1296
],
[
1296,
1297
],
[
1297,
1298
],
[
1298,
1299
],
[
1299,
1300
],
[
1300,
1301
],
[
1301,
1302
],
[
1302,
1303
],
[
1303,
1304
],
[
1304,
1305
],
[
1305,
null
]
],
"violation nodes": [
1306
]
}
    (1-1/1)