// Skip function: __VERIFIER_error // Skip function: __VERIFIER_nondet_int // Function: __init_waitqueue_head // with type: void __init_waitqueue_head(wait_queue_head_t *q, struct lock_class_key *) // with return type: void void __init_waitqueue_head(wait_queue_head_t *arg0, struct lock_class_key *arg1) { // Void type return; } extern _Bool __VERIFIER_nondet_bool(void) ; extern void *malloc(size_t) ; void *ldv_malloc(size_t size ) { if(__VERIFIER_nondet_bool()) return 0; return malloc(size); } // Function: __kmalloc // with type: void *__kmalloc(size_t size, gfp_t flags) // with return type: (void)* void *__kmalloc(size_t arg0, gfp_t arg1) { // Pointer type return ldv_malloc(arg0); } // Function: __mutex_init // with type: void __mutex_init(struct mutex *lock, const char *name, struct lock_class_key *key) // with return type: void void __mutex_init(struct mutex *arg0, const char *arg1, struct lock_class_key *arg2) { // Void type return; } // Function: __raw_spin_lock_init // with type: void __raw_spin_lock_init(raw_spinlock_t *lock, const char *name, struct lock_class_key *key) // with return type: void void __raw_spin_lock_init(raw_spinlock_t *arg0, const char *arg1, struct lock_class_key *arg2) { // Void type return; } // Function: __wake_up // with type: void __wake_up(wait_queue_head_t *q, unsigned int mode, int nr, void *key) // with return type: void void __wake_up(wait_queue_head_t *arg0, unsigned int arg1, int arg2, void *arg3) { // Void type return; } // Function: _copy_from_user // with type: unsigned long int _copy_from_user(void *to, const void *from, unsigned int len) // with return type: unsigned long int unsigned long __VERIFIER_nondet_ulong(void); unsigned long int _copy_from_user(void *arg0, const void *arg1, unsigned int arg2) { // Simple type return __VERIFIER_nondet_ulong(); } // Function: _copy_to_user // with type: unsigned long int _copy_to_user(void *to, const void *from, unsigned int len) // with return type: unsigned long int unsigned long __VERIFIER_nondet_ulong(void); unsigned long int _copy_to_user(void *arg0, const void *arg1, unsigned int arg2) { // Simple type return __VERIFIER_nondet_ulong(); } // Function: _dev_info // with type: int _dev_info(const struct device *dev, const char *fmt, ...) // with return type: int int __VERIFIER_nondet_int(void); int _dev_info(const struct device *arg0, const char *arg1, ...) { // Simple type return __VERIFIER_nondet_int(); } // Function: _raw_spin_lock // with type: void _raw_spin_lock(raw_spinlock_t *lock) // with return type: void void _raw_spin_lock(raw_spinlock_t *arg0) { // Void type return; } // Function: _raw_spin_unlock // with type: void _raw_spin_unlock(raw_spinlock_t *lock) // with return type: void void _raw_spin_unlock(raw_spinlock_t *arg0) { // Void type return; } // Function: dev_err // with type: int dev_err(const struct device *dev, const char *fmt, ...) // with return type: int int __VERIFIER_nondet_int(void); int dev_err(const struct device *arg0, const char *arg1, ...) { // Simple type return __VERIFIER_nondet_int(); } // Function: dev_get_drvdata // with type: void *dev_get_drvdata(const struct device *dev) // with return type: (void)* void *dev_get_drvdata(const struct device *arg0) { // Pointer type return ldv_malloc(0UL); } // Function: dev_set_drvdata // with type: int dev_set_drvdata(struct device *dev, void *data) // with return type: int int __VERIFIER_nondet_int(void); int dev_set_drvdata(struct device *arg0, void *arg1) { // Simple type return __VERIFIER_nondet_int(); } // Function: finish_wait // with type: void finish_wait(wait_queue_head_t *q, wait_queue_t *wait) // with return type: void void finish_wait(wait_queue_head_t *arg0, wait_queue_t *arg1) { // Void type return; } // Function: kasprintf // with type: char *kasprintf(gfp_t gfp, const char *fmt, ...) // with return type: (char)* char *kasprintf(gfp_t arg0, const char *arg1, ...) { // Pointer type return ldv_malloc(sizeof(char)); } // Skip function: kfree // Function: ldv_check_return_value // with type: void ldv_check_return_value(int res) // with return type: void void ldv_check_return_value(int arg0) { // Void type return; } // Function: ldv_initialize // with type: void ldv_initialize() // with return type: void void ldv_initialize() { // Void type return; } // Function: ldv_undefined_pointer // with type: void *ldv_undefined_pointer() // with return type: (void)* void *ldv_undefined_pointer() { // Pointer type return ldv_malloc(0UL); } // Skip function: memcmp // Skip function: memcpy // Skip function: memset // Function: might_fault // with type: void might_fault() // with return type: void void might_fault() { // Void type return; } // Function: mutex_lock_nested // with type: void mutex_lock_nested(struct mutex *lock, unsigned int subclass) // with return type: void void mutex_lock_nested(struct mutex *arg0, unsigned int arg1) { // Void type return; } // Function: mutex_unlock // with type: void mutex_unlock(struct mutex *lock) // with return type: void void mutex_unlock(struct mutex *arg0) { // Void type return; } // Function: prepare_to_wait // with type: void prepare_to_wait(wait_queue_head_t *q, wait_queue_t *wait, int state) // with return type: void void prepare_to_wait(wait_queue_head_t *arg0, wait_queue_t *arg1, int arg2) { // Void type return; } // Function: printk // with type: int printk(const char *fmt, ...) // with return type: int int __VERIFIER_nondet_int(void); int printk(const char *arg0, ...) { // Simple type return __VERIFIER_nondet_int(); } // Function: schedule // with type: void schedule() // with return type: void void schedule() { // Void type return; } // Skip function: strlen // Function: usb_control_msg // with type: int usb_control_msg(struct usb_device *dev, unsigned int pipe, __u8 request, __u8 requesttype, __u16 value, __u16 index, void *data, __u16 size, int timeout) // with return type: int int __VERIFIER_nondet_int(void); int usb_control_msg(struct usb_device *arg0, unsigned int arg1, __u8 arg2, __u8 arg3, __u16 arg4, __u16 arg5, void *arg6, __u16 arg7, int arg8) { // Simple type return __VERIFIER_nondet_int(); } // Function: usb_deregister // with type: void usb_deregister(struct usb_driver *) // with return type: void void usb_deregister(struct usb_driver *arg0) { // Void type return; } // Function: usb_deregister_dev // with type: void usb_deregister_dev(struct usb_interface *intf, struct usb_class_driver *class_driver) // with return type: void void usb_deregister_dev(struct usb_interface *arg0, struct usb_class_driver *arg1) { // Void type return; } // Function: usb_find_interface // with type: struct usb_interface *usb_find_interface(struct usb_driver *drv, int minor) // with return type: (struct usb_interface)* struct usb_interface *usb_find_interface(struct usb_driver *arg0, int arg1) { // Pointer type return ldv_malloc(sizeof(struct usb_interface)); } // Function: usb_kill_urb // with type: void usb_kill_urb(struct urb *urb) // with return type: void void usb_kill_urb(struct urb *arg0) { // Void type return; } // Function: usb_register_dev // with type: int usb_register_dev(struct usb_interface *intf, struct usb_class_driver *class_driver) // with return type: int int __VERIFIER_nondet_int(void); int usb_register_dev(struct usb_interface *arg0, struct usb_class_driver *arg1) { // Simple type return __VERIFIER_nondet_int(); } // Function: usb_register_driver // with type: int usb_register_driver(struct usb_driver *, struct module *, const char *) // with return type: int int __VERIFIER_nondet_int(void); int usb_register_driver(struct usb_driver *arg0, struct module *arg1, const char *arg2) { // Simple type return __VERIFIER_nondet_int(); } // Function: usb_string // with type: int usb_string(struct usb_device *dev, int index, char *buf, size_t size) // with return type: int int __VERIFIER_nondet_int(void); int usb_string(struct usb_device *arg0, int arg1, char *arg2, size_t arg3) { // Simple type return __VERIFIER_nondet_int(); } // Function: usb_submit_urb // with type: int usb_submit_urb(struct urb *urb, gfp_t mem_flags) // with return type: int int __VERIFIER_nondet_int(void); int usb_submit_urb(struct urb *arg0, gfp_t arg1) { // Simple type return __VERIFIER_nondet_int(); } // Function: warn_slowpath_fmt // with type: void warn_slowpath_fmt(const char *file, const int line, const char *fmt, ...) // with return type: void void warn_slowpath_fmt(const char *arg0, const int arg1, const char *arg2, ...) { // Void type return; } // Function: autoremove_wake_function // with type: int autoremove_wake_function(wait_queue_t *, unsigned int, int, void *) // with return type: int int __VERIFIER_nondet_int(void); int autoremove_wake_function(wait_queue_t *arg0, unsigned int arg1, int arg2, void * arg3) { // Simple type return __VERIFIER_nondet_int(); }