// Skip function: __VERIFIER_error // Skip function: __VERIFIER_nondet_int // Skip function: __VERIFIER_nondet_ulong // Function: __alloc_percpu // with type: void *__alloc_percpu(size_t , size_t ) // with return type: (void)* void *__alloc_percpu(size_t arg0, size_t arg1) { // Pointer type return ldv_malloc(0UL); } // Function: __alloc_workqueue_key // with type: struct workqueue_struct *__alloc_workqueue_key(const char *, unsigned int, int, struct lock_class_key *, const char *, ...) // with return type: (struct workqueue_struct)* struct workqueue_struct *__alloc_workqueue_key(const char *arg0, unsigned int arg1, int arg2, struct lock_class_key *arg3, const char *arg4, ...) { // Pointer type return ldv_malloc(0UL); } // Function: __get_page_tail // with type: bool __get_page_tail(struct page *) // with return type: bool bool __VERIFIER_nondet_bool(void); bool __get_page_tail(struct page *arg0) { // Typedef type // Real type: _Bool // Simple type return __VERIFIER_nondet_bool(); } // Function: __init_waitqueue_head // with type: void __init_waitqueue_head(wait_queue_head_t *, const char *, struct lock_class_key *) // with return type: void void __init_waitqueue_head(wait_queue_head_t *arg0, const char *arg1, struct lock_class_key *arg2) { // Void type return; } // Function: __init_work // with type: void __init_work(struct work_struct *, int) // with return type: void void __init_work(struct work_struct *arg0, int arg1) { // Void type return; } // Function: __list_add // with type: void __list_add(struct list_head *, struct list_head *, struct list_head *) // with return type: void void __list_add(struct list_head *arg0, struct list_head *arg1, struct list_head *arg2) { // Void type return; } // Function: __list_add_rcu // with type: void __list_add_rcu(struct list_head *, struct list_head *, struct list_head *) // with return type: void void __list_add_rcu(struct list_head *arg0, struct list_head *arg1, struct list_head *arg2) { // Void type return; } // Function: __list_del_entry // with type: void __list_del_entry(struct list_head *) // with return type: void void __list_del_entry(struct list_head *arg0) { // Void type return; } // Function: __msecs_to_jiffies // with type: unsigned long int __msecs_to_jiffies(const unsigned int) // with return type: unsigned long int unsigned long __VERIFIER_nondet_ulong(void); unsigned long int __msecs_to_jiffies(const unsigned int arg0) { // Simple type return __VERIFIER_nondet_ulong(); } // Function: __mutex_init // with type: void __mutex_init(struct mutex *, const char *, struct lock_class_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 *, const char *, struct lock_class_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 *, unsigned int, int, void *) // with return type: void void __wake_up(wait_queue_head_t *arg0, unsigned int arg1, int arg2, void *arg3) { // Void type return; } // Function: _raw_spin_lock_bh // with type: void _raw_spin_lock_bh(raw_spinlock_t *) // with return type: void void _raw_spin_lock_bh(raw_spinlock_t *arg0) { // Void type return; } // Function: _raw_spin_unlock_bh // with type: void _raw_spin_unlock_bh(raw_spinlock_t *) // with return type: void void _raw_spin_unlock_bh(raw_spinlock_t *arg0) { // Void type return; } // Function: _raw_spin_unlock_irqrestore // with type: void _raw_spin_unlock_irqrestore(raw_spinlock_t *, unsigned long) // with return type: void void _raw_spin_unlock_irqrestore(raw_spinlock_t *arg0, unsigned long arg1) { // Void type return; } // Function: blocking_notifier_call_chain // with type: int blocking_notifier_call_chain(struct blocking_notifier_head *, unsigned long, void *) // with return type: int int __VERIFIER_nondet_int(void); int blocking_notifier_call_chain(struct blocking_notifier_head *arg0, unsigned long arg1, void *arg2) { // Simple type return __VERIFIER_nondet_int(); } // Skip function: calloc // Function: cancel_delayed_work // with type: bool cancel_delayed_work(struct delayed_work *) // with return type: bool bool __VERIFIER_nondet_bool(void); bool cancel_delayed_work(struct delayed_work *arg0) { // Typedef type // Real type: _Bool // Simple type return __VERIFIER_nondet_bool(); } // Function: cancel_delayed_work_sync // with type: bool cancel_delayed_work_sync(struct delayed_work *) // with return type: bool bool __VERIFIER_nondet_bool(void); bool cancel_delayed_work_sync(struct delayed_work *arg0) { // Typedef type // Real type: _Bool // Simple type return __VERIFIER_nondet_bool(); } // Function: complete // with type: void complete(struct completion *) // with return type: void void complete(struct completion *arg0) { // Void type return; } // Function: crc32_le // with type: u32 crc32_le(u32 , const unsigned char *, size_t ) // with return type: u32 unsigned int __VERIFIER_nondet_uint(void); u32 crc32_le(u32 arg0, const unsigned char *arg1, size_t arg2) { // Typedef type // Real type: unsigned int // Simple type return __VERIFIER_nondet_uint(); } // Function: debug_lockdep_rcu_enabled // with type: int debug_lockdep_rcu_enabled() // with return type: int int __VERIFIER_nondet_int(void); int debug_lockdep_rcu_enabled() { // Simple type return __VERIFIER_nondet_int(); } // Function: del_timer_sync // with type: int del_timer_sync(struct timer_list *) // with return type: int int __VERIFIER_nondet_int(void); int del_timer_sync(struct timer_list *arg0) { // Simple type return __VERIFIER_nondet_int(); } // Function: destroy_workqueue // with type: void destroy_workqueue(struct workqueue_struct *) // with return type: void void destroy_workqueue(struct workqueue_struct *arg0) { // Void type return; } // Function: dev_printk // with type: void dev_printk(const char *, const struct device *, const char *, ...) // with return type: void void dev_printk(const char *arg0, const struct device *arg1, const char *arg2, ...) { // Void type return; } // Function: dump_page // with type: void dump_page(struct page *, const char *) // with return type: void void dump_page(struct page *arg0, const char *arg1) { // Void type return; } // Function: fc_block_scsi_eh // with type: int fc_block_scsi_eh(struct scsi_cmnd *) // with return type: int int __VERIFIER_nondet_int(void); int fc_block_scsi_eh(struct scsi_cmnd *arg0) { // Simple type return __VERIFIER_nondet_int(); } // Function: fc_get_event_number // with type: u32 fc_get_event_number() // with return type: u32 unsigned int __VERIFIER_nondet_uint(void); u32 fc_get_event_number() { // Typedef type // Real type: unsigned int // Simple type return __VERIFIER_nondet_uint(); } // Function: fc_host_post_event // with type: void fc_host_post_event(struct Scsi_Host *, u32 , enum fc_host_event_code , u32 ) // with return type: void void fc_host_post_event(struct Scsi_Host *arg0, u32 arg1, enum fc_host_event_code arg2, u32 arg3) { // Void type return; } // Function: fc_remote_port_add // with type: struct fc_rport *fc_remote_port_add(struct Scsi_Host *, int, struct fc_rport_identifiers *) // with return type: (struct fc_rport)* struct fc_rport *fc_remote_port_add(struct Scsi_Host *arg0, int arg1, struct fc_rport_identifiers *arg2) { // Pointer type return ldv_malloc(sizeof(struct fc_rport)); } // Function: fc_remote_port_delete // with type: void fc_remote_port_delete(struct fc_rport *) // with return type: void void fc_remote_port_delete(struct fc_rport *arg0) { // Void type return; } // Function: find_next_bit // with type: unsigned long int find_next_bit(const unsigned long *, unsigned long, unsigned long) // with return type: unsigned long int unsigned long __VERIFIER_nondet_ulong(void); unsigned long int find_next_bit(const unsigned long *arg0, unsigned long arg1, unsigned long arg2) { // Simple type return __VERIFIER_nondet_ulong(); } // Function: finish_wait // with type: void finish_wait(wait_queue_head_t *, wait_queue_t *) // with return type: void void finish_wait(wait_queue_head_t *arg0, wait_queue_t *arg1) { // Void type return; } // Function: flush_workqueue // with type: void flush_workqueue(struct workqueue_struct *) // with return type: void void flush_workqueue(struct workqueue_struct *arg0) { // Void type return; } // Function: free_percpu // with type: void free_percpu(void *) // with return type: void void free_percpu(void *arg0) { // Void type return; } // Function: init_timer_key // with type: void init_timer_key(struct timer_list *, unsigned int, const char *, struct lock_class_key *) // with return type: void void init_timer_key(struct timer_list *arg0, unsigned int arg1, const char *arg2, struct lock_class_key *arg3) { // Void type return; } // Function: int_to_scsilun // with type: void int_to_scsilun(u64 , struct scsi_lun *) // with return type: void void int_to_scsilun(u64 arg0, struct scsi_lun *arg1) { // Void type return; } // Function: jiffies_to_msecs // with type: unsigned int jiffies_to_msecs(const unsigned long) // with return type: unsigned int unsigned int __VERIFIER_nondet_uint(void); unsigned int jiffies_to_msecs(const unsigned long arg0) { // Simple type return __VERIFIER_nondet_uint(); } // Function: jiffies_to_timespec // with type: void jiffies_to_timespec(const unsigned long, struct timespec *) // with return type: void void jiffies_to_timespec(const unsigned long arg0, struct timespec *arg1) { // Void type return; } // Skip function: kfree // Function: kfree_call_rcu // with type: void kfree_call_rcu(struct callback_head *, void (*)(struct callback_head *)) // with return type: void void kfree_call_rcu(struct callback_head *arg0, void (*arg1)(struct callback_head *)) { // Void type return; } // Function: kfree_skb // with type: void kfree_skb(struct sk_buff *) // with return type: void void kfree_skb(struct sk_buff *arg0) { // Void type return; } // Function: kmem_cache_create // with type: struct kmem_cache *kmem_cache_create(const char *, size_t , size_t , unsigned long, void (*)(void *)) // with return type: (struct kmem_cache)* struct kmem_cache *kmem_cache_create(const char *arg0, size_t arg1, size_t arg2, unsigned long arg3, void (*arg4)(void *)) { // Pointer type return ldv_malloc(0UL); } // Function: kmem_cache_destroy // with type: void kmem_cache_destroy(struct kmem_cache *) // with return type: void void kmem_cache_destroy(struct kmem_cache *arg0) { // Void type return; } // Function: ldv_check_final_state // with type: void ldv_check_final_state() // with return type: void void ldv_check_final_state() { // Void type return; } // Function: ldv_initialize // with type: void ldv_initialize() // with return type: void void ldv_initialize() { // Void type return; } // Function: ldv_some_page // with type: struct page *ldv_some_page() // with return type: (struct page)* struct page *ldv_some_page() { // Pointer type return ldv_malloc(sizeof(struct page)); } // Function: list_del // with type: void list_del(struct list_head *) // with return type: void void list_del(struct list_head *arg0) { // Void type return; } // Function: lock_acquire // with type: void lock_acquire(struct lockdep_map *, unsigned int, int, int, int, struct lockdep_map *, unsigned long) // with return type: void void lock_acquire(struct lockdep_map *arg0, unsigned int arg1, int arg2, int arg3, int arg4, struct lockdep_map *arg5, unsigned long arg6) { // Void type return; } // Function: lock_release // with type: void lock_release(struct lockdep_map *, int, unsigned long) // with return type: void void lock_release(struct lockdep_map *arg0, int arg1, unsigned long arg2) { // Void type return; } // Function: lockdep_init_map // with type: void lockdep_init_map(struct lockdep_map *, const char *, struct lock_class_key *, int) // with return type: void void lockdep_init_map(struct lockdep_map *arg0, const char *arg1, struct lock_class_key *arg2, int arg3) { // Void type return; } // Function: lockdep_rcu_suspicious // with type: void lockdep_rcu_suspicious(const char *, const int, const char *) // with return type: void void lockdep_rcu_suspicious(const char *arg0, const int arg1, const char *arg2) { // Void type return; } // Skip function: malloc // Skip function: memcpy // Function: mempool_create // with type: mempool_t *mempool_create(int, mempool_alloc_t *, mempool_free_t *, void *) // with return type: (mempool_t )* mempool_t *mempool_create(int arg0, mempool_alloc_t *arg1, mempool_free_t *arg2, void *arg3) { // Pointer type return ldv_malloc(sizeof(mempool_t)); } // Function: mempool_destroy // with type: void mempool_destroy(mempool_t *) // with return type: void void mempool_destroy(mempool_t *arg0) { // Void type return; } // Function: mempool_free // with type: void mempool_free(void *, mempool_t *) // with return type: void void mempool_free(void *arg0, mempool_t *arg1) { // Void type return; } // Skip function: memset // Function: mod_timer // with type: int mod_timer(struct timer_list *, unsigned long) // with return type: int int __VERIFIER_nondet_int(void); int mod_timer(struct timer_list *arg0, unsigned long arg1) { // Simple type return __VERIFIER_nondet_int(); } // Function: module_put // with type: void module_put(struct module *) // with return type: void void module_put(struct module *arg0) { // Void type return; } // Function: msleep // with type: void msleep(unsigned int) // with return type: void void msleep(unsigned int arg0) { // Void type return; } // Function: mutex_lock_nested // with type: void mutex_lock_nested(struct mutex *, unsigned int) // 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 *) // 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 *, wait_queue_t *, int) // 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 *, ...) // with return type: int int __VERIFIER_nondet_int(void); int printk(const char *arg0, ...) { // Simple type return __VERIFIER_nondet_int(); } // Function: queue_delayed_work_on // with type: bool queue_delayed_work_on(int, struct workqueue_struct *, struct delayed_work *, unsigned long) // with return type: bool bool __VERIFIER_nondet_bool(void); bool queue_delayed_work_on(int arg0, struct workqueue_struct *arg1, struct delayed_work *arg2, unsigned long arg3) { // Typedef type // Real type: _Bool // Simple type return __VERIFIER_nondet_bool(); } // Function: queue_work_on // with type: bool queue_work_on(int, struct workqueue_struct *, struct work_struct *) // with return type: bool bool __VERIFIER_nondet_bool(void); bool queue_work_on(int arg0, struct workqueue_struct *arg1, struct work_struct *arg2) { // Typedef type // Real type: _Bool // Simple type return __VERIFIER_nondet_bool(); } // Function: rcu_is_watching // with type: bool rcu_is_watching() // with return type: bool bool __VERIFIER_nondet_bool(void); bool rcu_is_watching() { // Typedef type // Real type: _Bool // Simple type return __VERIFIER_nondet_bool(); } // Function: rcu_read_lock_held // with type: int rcu_read_lock_held() // with return type: int int __VERIFIER_nondet_int(void); int rcu_read_lock_held() { // Simple type return __VERIFIER_nondet_int(); } // Function: schedule // with type: void schedule() // with return type: void void schedule() { // Void type return; } // Function: scsi_change_queue_depth // with type: int scsi_change_queue_depth(struct scsi_device *, int) // with return type: int int __VERIFIER_nondet_int(void); int scsi_change_queue_depth(struct scsi_device *arg0, int arg1) { // Simple type return __VERIFIER_nondet_int(); } // Function: scsi_host_alloc // with type: struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *, int) // with return type: (struct Scsi_Host)* struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *arg0, int arg1) { // Pointer type return ldv_malloc(sizeof(struct Scsi_Host)); } // Function: scsi_is_fc_rport // with type: int scsi_is_fc_rport(const struct device *) // with return type: int int __VERIFIER_nondet_int(void); int scsi_is_fc_rport(const struct device *arg0) { // Simple type return __VERIFIER_nondet_int(); } // Function: sg_copy_to_buffer // with type: size_t sg_copy_to_buffer(struct scatterlist *, unsigned int, void *, size_t ) // with return type: size_t unsigned long __VERIFIER_nondet_ulong(void); size_t sg_copy_to_buffer(struct scatterlist *arg0, unsigned int arg1, void *arg2, size_t arg3) { // Typedef type // Real type: __kernel_size_t // Typedef type // Real type: __kernel_ulong_t // Typedef type // Real type: unsigned long // Simple type return __VERIFIER_nondet_ulong(); } // Function: sg_next // with type: struct scatterlist *sg_next(struct scatterlist *) // with return type: (struct scatterlist)* struct scatterlist *sg_next(struct scatterlist *arg0) { // Pointer type return ldv_malloc(sizeof(struct scatterlist)); } // Function: skb_put // with type: unsigned char *skb_put(struct sk_buff *, unsigned int) // with return type: (unsigned char)* unsigned char *skb_put(struct sk_buff *arg0, unsigned int arg1) { unsigned char *ret_val = arg0->data + arg0->tail; // a more precise implementation of skb_put would actually re-allocate memory // here arg0->tail += arg1; // Pointer type return ret_val; } // Function: skb_trim // with type: void skb_trim(struct sk_buff *, unsigned int) // with return type: void void skb_trim(struct sk_buff *arg0, unsigned int arg1) { // Void type return; } // Skip function: snprintf // Skip function: strlen // Skip function: strncpy // Function: strnlen // with type: __kernel_size_t strnlen(const char *, __kernel_size_t ) // with return type: __kernel_size_t unsigned long __VERIFIER_nondet_ulong(void); __kernel_size_t strnlen(const char *arg0, __kernel_size_t arg1) { // Typedef type // Real type: __kernel_ulong_t // Typedef type // Real type: unsigned long // Simple type return __VERIFIER_nondet_ulong(); } // Function: synchronize_sched // with type: void synchronize_sched() // with return type: void void synchronize_sched() { // Void type return; } // Function: try_module_get // with type: bool try_module_get(struct module *) // with return type: bool bool __VERIFIER_nondet_bool(void); bool try_module_get(struct module *arg0) { // Typedef type // Real type: _Bool // Simple type return __VERIFIER_nondet_bool(); } // Function: wait_for_completion_timeout // with type: unsigned long int wait_for_completion_timeout(struct completion *, unsigned long) // with return type: unsigned long int unsigned long __VERIFIER_nondet_ulong(void); unsigned long int wait_for_completion_timeout(struct completion *arg0, unsigned long arg1) { // Simple type return __VERIFIER_nondet_ulong(); } // Function: warn_slowpath_null // with type: void warn_slowpath_null(const char *, const int) // with return type: void void warn_slowpath_null(const char *arg0, const int arg1) { // 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(); }