// Skip function: __VERIFIER_error // Skip function: __VERIFIER_nondet_int // Skip function: __VERIFIER_nondet_ulong // Function: __class_create // with type: struct class *__class_create(struct module *, const char *, struct lock_class_key *) // with return type: (struct class)* struct class *__class_create(struct module *arg0, const char *arg1, struct lock_class_key *arg2) { // Pointer type return ldv_malloc(sizeof(struct class)); } // Function: __copy_from_user_overflow // with type: void __copy_from_user_overflow() // with return type: void void __copy_from_user_overflow() { // Void type return; } // Function: __copy_to_user_overflow // with type: void __copy_to_user_overflow() // with return type: void void __copy_to_user_overflow() { // Void type return; } // Function: __dynamic_dev_dbg // with type: void __dynamic_dev_dbg(struct _ddebug *, const struct device *, const char *, ...) // with return type: void void __dynamic_dev_dbg(struct _ddebug *arg0, const struct device *arg1, const char *arg2, ...) { // Void type return; } // Function: __dynamic_pr_debug // with type: void __dynamic_pr_debug(struct _ddebug *, const char *, ...) // with return type: void void __dynamic_pr_debug(struct _ddebug *arg0, const char *arg1, ...) { // Void type return; } // Function: __init_rwsem // with type: void __init_rwsem(struct rw_semaphore *, const char *, struct lock_class_key *) // with return type: void void __init_rwsem(struct rw_semaphore *arg0, const char *arg1, struct lock_class_key *arg2) { // Void type return; } // 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: __kmalloc // with type: void *__kmalloc(size_t , gfp_t ) // with return type: (void)* void *__kmalloc(size_t arg0, gfp_t arg1) { // Pointer type return ldv_malloc(arg0); } // Function: __might_fault // with type: void __might_fault(const char *, int) // with return type: void void __might_fault(const char *arg0, int arg1) { // 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: __phys_addr // with type: unsigned long int __phys_addr(unsigned long) // with return type: unsigned long int unsigned long __VERIFIER_nondet_ulong(void); unsigned long int __phys_addr(unsigned long arg0) { // Simple type return __VERIFIER_nondet_ulong(); } // 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: __release_region // with type: void __release_region(struct resource *, resource_size_t , resource_size_t ) // with return type: void void __release_region(struct resource *arg0, resource_size_t arg1, resource_size_t arg2) { // Void type return; } // Function: __request_region // with type: struct resource *__request_region(struct resource *, resource_size_t , resource_size_t , const char *, int) // with return type: (struct resource)* struct resource *__request_region(struct resource *arg0, resource_size_t arg1, resource_size_t arg2, const char *arg3, int arg4) { // Pointer type return ldv_malloc(sizeof(struct resource)); } // Function: __udelay // with type: void __udelay(unsigned long) // with return type: void void __udelay(unsigned long arg0) { // 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: _copy_from_user // with type: unsigned long int _copy_from_user(void *, const void *, unsigned int) // 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 *, const void *, unsigned int) // 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: void _dev_info(const struct device *, const char *, ...) // with return type: void void _dev_info(const struct device *arg0, const char *arg1, ...) { // Void type return; } // Function: _raw_spin_lock_irqsave // with type: unsigned long int _raw_spin_lock_irqsave(raw_spinlock_t *) // with return type: unsigned long int unsigned long __VERIFIER_nondet_ulong(void); unsigned long int _raw_spin_lock_irqsave(raw_spinlock_t *arg0) { // Simple type return __VERIFIER_nondet_ulong(); } // 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: add_wait_queue // with type: void add_wait_queue(wait_queue_head_t *, wait_queue_t *) // with return type: void void add_wait_queue(wait_queue_head_t *arg0, wait_queue_t *arg1) { // Void type return; } // Skip function: calloc // Function: capable // with type: bool capable(int) // with return type: bool bool __VERIFIER_nondet_bool(void); bool capable(int arg0) { // Typedef type // Real type: _Bool // Simple type return __VERIFIER_nondet_bool(); } // Function: cdev_add // with type: int cdev_add(struct cdev *, dev_t , unsigned int) // with return type: int int __VERIFIER_nondet_int(void); int cdev_add(struct cdev *arg0, dev_t arg1, unsigned int arg2) { // Simple type return __VERIFIER_nondet_int(); } // Function: cdev_del // with type: void cdev_del(struct cdev *) // with return type: void void cdev_del(struct cdev *arg0) { // Void type return; } // Function: cdev_init // with type: void cdev_init(struct cdev *, const struct file_operations *) // with return type: void void cdev_init(struct cdev *arg0, const struct file_operations *arg1) { // Void type return; } // Function: class_destroy // with type: void class_destroy(struct class *) // with return type: void void class_destroy(struct class *arg0) { // Void type return; } // Function: compat_alloc_user_space // with type: void *compat_alloc_user_space(unsigned long) // with return type: (void)* void *compat_alloc_user_space(unsigned long arg0) { // Pointer type return ldv_malloc(0UL); } // Function: dev_err // with type: void dev_err(const struct device *, const char *, ...) // with return type: void void dev_err(const struct device *arg0, const char *arg1, ...) { // Void type return; } // Function: dev_warn // with type: void dev_warn(const struct device *, const char *, ...) // with return type: void void dev_warn(const struct device *arg0, const char *arg1, ...) { // Void type return; } // Function: device_create // with type: struct device *device_create(struct class *, struct device *, dev_t , void *, const char *, ...) // with return type: (struct device)* struct device *device_create(struct class *arg0, struct device *arg1, dev_t arg2, void *arg3, const char *arg4, ...) { // Pointer type return ldv_malloc(sizeof(struct device)); } // Function: device_destroy // with type: void device_destroy(struct class *, dev_t ) // with return type: void void device_destroy(struct class *arg0, dev_t arg1) { // Void type return; } // Function: dma_alloc_attrs // with type: void *dma_alloc_attrs(struct device *, size_t , dma_addr_t *, gfp_t , struct dma_attrs *) // with return type: (void)* void *dma_alloc_attrs(struct device *arg0, size_t arg1, dma_addr_t *arg2, gfp_t arg3, struct dma_attrs *arg4) { // Pointer type return ldv_malloc(0UL); } // Function: dma_free_attrs // with type: void dma_free_attrs(struct device *, size_t , void *, dma_addr_t , struct dma_attrs *) // with return type: void void dma_free_attrs(struct device *arg0, size_t arg1, void *arg2, dma_addr_t arg3, struct dma_attrs *arg4) { // Void type return; } // Function: do_gettimeofday // with type: void do_gettimeofday(struct timeval *) // with return type: void void do_gettimeofday(struct timeval *arg0) { // Void type return; } // Function: down_read // with type: void down_read(struct rw_semaphore *) // with return type: void void down_read(struct rw_semaphore *arg0) { // Void type return; } // Function: down_read_trylock // with type: int down_read_trylock(struct rw_semaphore *) // with return type: int int __VERIFIER_nondet_int(void); int down_read_trylock(struct rw_semaphore *arg0) { // Simple type return __VERIFIER_nondet_int(); } // Function: down_write // with type: void down_write(struct rw_semaphore *) // with return type: void void down_write(struct rw_semaphore *arg0) { // Void type return; } // Function: fasync_helper // with type: int fasync_helper(int, struct file *, int, struct fasync_struct **) // with return type: int int __VERIFIER_nondet_int(void); int fasync_helper(int arg0, struct file *arg1, int arg2, struct fasync_struct **arg3) { // Simple type return __VERIFIER_nondet_int(); } // Function: free_irq // with type: void free_irq(unsigned int, void *) // with return type: void void free_irq(unsigned int arg0, void *arg1) { // Void type return; } // Function: free_pages // with type: void free_pages(unsigned long, unsigned int) // with return type: void void free_pages(unsigned long arg0, unsigned int arg1) { // Void type return; } // Function: get_device // with type: struct device *get_device(struct device *) // with return type: (struct device)* struct device *get_device(struct device *arg0) { // Pointer type return ldv_malloc(sizeof(struct device)); } // Function: get_zeroed_page // with type: unsigned long int get_zeroed_page(gfp_t ) // with return type: unsigned long int unsigned long __VERIFIER_nondet_ulong(void); unsigned long int get_zeroed_page(gfp_t arg0) { // Simple type return __VERIFIER_nondet_ulong(); } // Skip function: kfree // Function: kill_fasync // with type: void kill_fasync(struct fasync_struct **, int, int) // with return type: void void kill_fasync(struct fasync_struct **arg0, int arg1, int arg2) { // Void type return; } // Function: kobject_set_name // with type: int kobject_set_name(struct kobject *, const char *, ...) // with return type: int int __VERIFIER_nondet_int(void); int kobject_set_name(struct kobject *arg0, const char *arg1, ...) { // Simple type return __VERIFIER_nondet_int(); } // Function: kstrtouint // with type: int kstrtouint(const char *, unsigned int, unsigned int *) // with return type: int int __VERIFIER_nondet_int(void); int kstrtouint(const char *arg0, unsigned int arg1, unsigned int *arg2) { // Simple type return __VERIFIER_nondet_int(); } // Function: ldv_initialize // with type: void ldv_initialize() // with return type: void void ldv_initialize() { // Void type return; } // Skip function: malloc // Skip function: memcpy // Function: memdup_user // with type: void *memdup_user(const void *, size_t ) // with return type: (void)* void *memdup_user(const void *arg0, size_t arg1) { // Pointer type return ldv_malloc(0UL); } // Skip function: memset // Function: mutex_destroy // with type: void mutex_destroy(struct mutex *) // with return type: void void mutex_destroy(struct mutex *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: noop_llseek // with type: loff_t noop_llseek(struct file *, loff_t , int) // with return type: loff_t long __VERIFIER_nondet_long(void); loff_t noop_llseek(struct file *arg0, loff_t arg1, int arg2) { // Typedef type // Real type: __kernel_loff_t // Typedef type // Real type: long long // Simple type return __VERIFIER_nondet_long(); } // 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: proc_create_data // with type: struct proc_dir_entry *proc_create_data(const char *, umode_t , struct proc_dir_entry *, const struct file_operations *, void *) // with return type: (struct proc_dir_entry)* struct proc_dir_entry *proc_create_data(const char *arg0, umode_t arg1, struct proc_dir_entry *arg2, const struct file_operations *arg3, void *arg4) { // Pointer type return ldv_malloc(0UL); } // Function: put_device // with type: void put_device(struct device *) // with return type: void void put_device(struct device *arg0) { // Void type return; } // Function: register_chrdev_region // with type: int register_chrdev_region(dev_t , unsigned int, const char *) // with return type: int int __VERIFIER_nondet_int(void); int register_chrdev_region(dev_t arg0, unsigned int arg1, const char *arg2) { // Simple type return __VERIFIER_nondet_int(); } // Function: release_firmware // with type: void release_firmware(const struct firmware *) // with return type: void void release_firmware(const struct firmware *arg0) { // Void type return; } // Function: remap_pfn_range // with type: int remap_pfn_range(struct vm_area_struct *, unsigned long, unsigned long, unsigned long, pgprot_t ) // with return type: int int __VERIFIER_nondet_int(void); int remap_pfn_range(struct vm_area_struct *arg0, unsigned long arg1, unsigned long arg2, unsigned long arg3, pgprot_t arg4) { // Simple type return __VERIFIER_nondet_int(); } // Function: remove_proc_entry // with type: void remove_proc_entry(const char *, struct proc_dir_entry *) // with return type: void void remove_proc_entry(const char *arg0, struct proc_dir_entry *arg1) { // Void type return; } // Function: remove_wait_queue // with type: void remove_wait_queue(wait_queue_head_t *, wait_queue_t *) // with return type: void void remove_wait_queue(wait_queue_head_t *arg0, wait_queue_t *arg1) { // Void type return; } // Function: request_firmware // with type: int request_firmware(const struct firmware **, const char *, struct device *) // with return type: int int __VERIFIER_nondet_int(void); int request_firmware(const struct firmware **arg0, const char *arg1, struct device *arg2) { // Simple type return __VERIFIER_nondet_int(); } // Function: schedule // with type: void schedule() // with return type: void void schedule() { // Void type return; } // Function: seq_lseek // with type: loff_t seq_lseek(struct file *, loff_t , int) // with return type: loff_t long __VERIFIER_nondet_long(void); loff_t seq_lseek(struct file *arg0, loff_t arg1, int arg2) { // Typedef type // Real type: __kernel_loff_t // Typedef type // Real type: long long // Simple type return __VERIFIER_nondet_long(); } // Function: seq_printf // with type: int seq_printf(struct seq_file *, const char *, ...) // with return type: int int __VERIFIER_nondet_int(void); int seq_printf(struct seq_file *arg0, const char *arg1, ...) { // Simple type return __VERIFIER_nondet_int(); } // Function: seq_puts // with type: int seq_puts(struct seq_file *, const char *) // with return type: int int __VERIFIER_nondet_int(void); int seq_puts(struct seq_file *arg0, const char *arg1) { // Simple type return __VERIFIER_nondet_int(); } // Function: seq_read // with type: ssize_t seq_read(struct file *, char *, size_t , loff_t *) // with return type: ssize_t long __VERIFIER_nondet_long(void); ssize_t seq_read(struct file *arg0, char *arg1, size_t arg2, loff_t *arg3) { // Typedef type // Real type: __kernel_ssize_t // Typedef type // Real type: __kernel_long_t // Typedef type // Real type: long // Simple type return __VERIFIER_nondet_long(); } // Function: single_open // with type: int single_open(struct file *, int (*)(struct seq_file *, void *), void *) // with return type: int int __VERIFIER_nondet_int(void); int single_open(struct file *arg0, int (*arg1)(struct seq_file *, void *), void *arg2) { // Simple type return __VERIFIER_nondet_int(); } // Function: single_release // with type: int single_release(struct inode *, struct file *) // with return type: int int __VERIFIER_nondet_int(void); int single_release(struct inode *arg0, struct file *arg1) { // Simple type return __VERIFIER_nondet_int(); } // Skip function: snprintf // Skip function: strcmp // Function: strlcpy // with type: size_t strlcpy(char *, const char *, size_t ) // with return type: size_t unsigned long __VERIFIER_nondet_ulong(void); size_t strlcpy(char *arg0, const char *arg1, size_t arg2) { // 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: unregister_chrdev_region // with type: void unregister_chrdev_region(dev_t , unsigned int) // with return type: void void unregister_chrdev_region(dev_t arg0, unsigned int arg1) { // Void type return; } // Function: up_read // with type: void up_read(struct rw_semaphore *) // with return type: void void up_read(struct rw_semaphore *arg0) { // Void type return; } // Function: up_write // with type: void up_write(struct rw_semaphore *) // with return type: void void up_write(struct rw_semaphore *arg0) { // Void type return; } // Function: vfree // with type: void vfree(const void *) // with return type: void void vfree(const void *arg0) { // Void type return; } // Function: vmalloc // with type: void *vmalloc(unsigned long) // with return type: (void)* void *vmalloc(unsigned long arg0) { // Pointer type return ldv_malloc(arg0); } // Function: vmap // with type: void *vmap(struct page **, unsigned int, unsigned long, pgprot_t ) // with return type: (void)* void *vmap(struct page **arg0, unsigned int arg1, unsigned long arg2, pgprot_t arg3) { // Pointer type return ldv_malloc(0UL); } // Function: vunmap // with type: void vunmap(const void *) // with return type: void void vunmap(const void *arg0) { // Void type return; } // Function: vzalloc // with type: void *vzalloc(unsigned long) // with return type: (void)* void *vzalloc(unsigned long arg0) { // Pointer type return ldv_malloc(0UL); } // 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: default_wake_function // with type: int default_wake_function(wait_queue_t *, unsigned int, int, void *) // with return type: int int __VERIFIER_nondet_int(void); int default_wake_function(wait_queue_t *arg0, unsigned int arg1, int arg2, void *arg3) { // Simple type return __VERIFIER_nondet_int(); }