// Skip function: __VERIFIER_error // Skip function: __VERIFIER_nondet_int // Skip function: __VERIFIER_nondet_u32 // Skip function: __VERIFIER_nondet_ulong // 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: __const_udelay // with type: void __const_udelay(unsigned long) // with return type: void void __const_udelay(unsigned long arg0) { // Void type return; } // Function: __dynamic_dev_dbg // with type: int __dynamic_dev_dbg(struct _ddebug *, const struct device *, const char *, ...) // with return type: int int __VERIFIER_nondet_int(void); int __dynamic_dev_dbg(struct _ddebug *arg0, const struct device *arg1, const char *arg2, ...) { // Simple type return __VERIFIER_nondet_int(); } // Function: __dynamic_netdev_dbg // with type: int __dynamic_netdev_dbg(struct _ddebug *, const struct net_device *, const char *, ...) // with return type: int int __VERIFIER_nondet_int(void); int __dynamic_netdev_dbg(struct _ddebug *arg0, const struct net_device *arg1, const char *arg2, ...) { // Simple type return __VERIFIER_nondet_int(); } // 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: __netdev_alloc_skb // with type: struct sk_buff *__netdev_alloc_skb(struct net_device *, unsigned int, gfp_t ) // with return type: (struct sk_buff)* struct sk_buff *__netdev_alloc_skb(struct net_device *arg0, unsigned int arg1, gfp_t arg2) { // Pointer type struct sk_buff *skb = ldv_malloc(sizeof(struct sk_buff)); if(skb) { skb->dev = arg0; skb->head = ldv_malloc(arg1); skb->data = skb->head; skb->tail = 0; } return skb; } // Function: __netif_schedule // with type: void __netif_schedule(struct Qdisc *) // with return type: void void __netif_schedule(struct Qdisc *arg0) { // Void type return; } // Function: __tasklet_schedule // with type: void __tasklet_schedule(struct tasklet_struct *) // with return type: void void __tasklet_schedule(struct tasklet_struct *arg0) { // Void type return; } // Function: _dev_info // with type: int _dev_info(const struct device *, const char *, ...) // 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: alloc_etherdev_mqs // with type: struct net_device *alloc_etherdev_mqs(int, unsigned int, unsigned int) // with return type: (struct net_device)* struct net_device *alloc_etherdev_mqs(int arg0, unsigned int arg1, unsigned int arg2) { // Pointer type return ldv_malloc(sizeof(struct net_device)); } // 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: 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: consume_skb // with type: void consume_skb(struct sk_buff *) // with return type: void void consume_skb(struct sk_buff *arg0) { // Void type return; } // 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_err // with type: int dev_err(const struct device *, const char *, ...) // 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_warn // with type: int dev_warn(const struct device *, const char *, ...) // with return type: int int __VERIFIER_nondet_int(void); int dev_warn(const struct device *arg0, const char *arg1, ...) { // Simple type return __VERIFIER_nondet_int(); } // Function: device_set_wakeup_enable // with type: int device_set_wakeup_enable(struct device *, bool ) // with return type: int int __VERIFIER_nondet_int(void); int device_set_wakeup_enable(struct device *arg0, bool arg1) { // Simple type return __VERIFIER_nondet_int(); } // Function: eth_change_mtu // with type: int eth_change_mtu(struct net_device *, int) // with return type: int int __VERIFIER_nondet_int(void); int eth_change_mtu(struct net_device *arg0, int arg1) { // Simple type return __VERIFIER_nondet_int(); } // Function: eth_mac_addr // with type: int eth_mac_addr(struct net_device *, void *) // with return type: int int __VERIFIER_nondet_int(void); int eth_mac_addr(struct net_device *arg0, void *arg1) { // Simple type return __VERIFIER_nondet_int(); } // Function: eth_type_trans // with type: __be16 eth_type_trans(struct sk_buff *, struct net_device *) // with return type: __be16 unsigned short __VERIFIER_nondet_ushort(void); __be16 eth_type_trans(struct sk_buff *arg0, struct net_device *arg1) { // Typedef type // Real type: __u16 // Typedef type // Real type: unsigned short // Simple type return __VERIFIER_nondet_ushort(); } // Function: eth_validate_addr // with type: int eth_validate_addr(struct net_device *) // with return type: int int __VERIFIER_nondet_int(void); int eth_validate_addr(struct net_device *arg0) { // Simple type return __VERIFIER_nondet_int(); } // Function: free_netdev // with type: void free_netdev(struct net_device *) // with return type: void void free_netdev(struct net_device *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; } // Skip function: kfree // Function: kmem_cache_alloc // with type: void *kmem_cache_alloc(struct kmem_cache *, gfp_t ) // with return type: (void)* void *kmem_cache_alloc(struct kmem_cache *arg0, gfp_t arg1) { // Pointer type return ldv_malloc(0UL); } // 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_ndo_init_2 // with type: int ldv_ndo_init_2() // with return type: int int __VERIFIER_nondet_int(void); int ldv_ndo_init_2() { // Simple type return __VERIFIER_nondet_int(); } // Function: ldv_ndo_uninit_2 // with type: int ldv_ndo_uninit_2() // with return type: int int __VERIFIER_nondet_int(void); int ldv_ndo_uninit_2() { // Simple type return __VERIFIER_nondet_int(); } // Function: ldv_reset_resume_1 // with type: int ldv_reset_resume_1() // with return type: int int __VERIFIER_nondet_int(void); int ldv_reset_resume_1() { // Simple type return __VERIFIER_nondet_int(); } // Function: ldv_some_page // with type: struct page___0 *ldv_some_page() // with return type: (struct page___0)* struct page___0 *ldv_some_page() { // Pointer type return ldv_malloc(sizeof(struct page___0)); } // 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; } // Skip function: malloc // Skip function: memcpy // Skip function: memset // Function: mii_ethtool_gset // with type: int mii_ethtool_gset(struct mii_if_info *, struct ethtool_cmd *) // with return type: int int __VERIFIER_nondet_int(void); int mii_ethtool_gset(struct mii_if_info *arg0, struct ethtool_cmd *arg1) { // Simple type return __VERIFIER_nondet_int(); } // Function: mii_ethtool_sset // with type: int mii_ethtool_sset(struct mii_if_info *, struct ethtool_cmd *) // with return type: int int __VERIFIER_nondet_int(void); int mii_ethtool_sset(struct mii_if_info *arg0, struct ethtool_cmd *arg1) { // Simple type return __VERIFIER_nondet_int(); } // Function: mii_link_ok // with type: int mii_link_ok(struct mii_if_info *) // with return type: int int __VERIFIER_nondet_int(void); int mii_link_ok(struct mii_if_info *arg0) { // Simple type return __VERIFIER_nondet_int(); } // Function: mii_nway_restart // with type: int mii_nway_restart(struct mii_if_info *) // with return type: int int __VERIFIER_nondet_int(void); int mii_nway_restart(struct mii_if_info *arg0) { // Simple type return __VERIFIER_nondet_int(); } // Function: netdev_err // with type: int netdev_err(const struct net_device *, const char *, ...) // with return type: int int __VERIFIER_nondet_int(void); int netdev_err(const struct net_device *arg0, const char *arg1, ...) { // Simple type return __VERIFIER_nondet_int(); } // Function: netdev_info // with type: int netdev_info(const struct net_device *, const char *, ...) // with return type: int int __VERIFIER_nondet_int(void); int netdev_info(const struct net_device *arg0, const char *arg1, ...) { // Simple type return __VERIFIER_nondet_int(); } // Function: netdev_warn // with type: int netdev_warn(const struct net_device *, const char *, ...) // with return type: int int __VERIFIER_nondet_int(void); int netdev_warn(const struct net_device *arg0, const char *arg1, ...) { // Simple type return __VERIFIER_nondet_int(); } // Function: netif_carrier_off // with type: void netif_carrier_off(struct net_device *) // with return type: void void netif_carrier_off(struct net_device *arg0) { // Void type return; } // Function: netif_carrier_on // with type: void netif_carrier_on(struct net_device *) // with return type: void void netif_carrier_on(struct net_device *arg0) { // Void type return; } // Function: netif_device_attach // with type: void netif_device_attach(struct net_device *) // with return type: void void netif_device_attach(struct net_device *arg0) { // Void type return; } // Function: netif_device_detach // with type: void netif_device_detach(struct net_device *) // with return type: void void netif_device_detach(struct net_device *arg0) { // Void type return; } // Function: netif_rx // with type: int netif_rx(struct sk_buff *) // with return type: int int __VERIFIER_nondet_int(void); int netif_rx(struct sk_buff *arg0) { // Simple type return __VERIFIER_nondet_int(); } // 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: pskb_expand_head // with type: int pskb_expand_head(struct sk_buff *, int, int, gfp_t ) // with return type: int int __VERIFIER_nondet_int(void); int pskb_expand_head(struct sk_buff *arg0, int arg1, int arg2, gfp_t arg3) { // 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: register_netdev // with type: int register_netdev(struct net_device *) // with return type: int int __VERIFIER_nondet_int(void); int register_netdev(struct net_device *arg0) { // Simple type return __VERIFIER_nondet_int(); } // Function: simple_strtoul // with type: unsigned long int simple_strtoul(const char *, char **, unsigned int) // with return type: unsigned long int unsigned long __VERIFIER_nondet_ulong(void); unsigned long int simple_strtoul(const char *arg0, char **arg1, unsigned int arg2) { // Simple type return __VERIFIER_nondet_ulong(); } // Function: skb_clone // with type: struct sk_buff *skb_clone(struct sk_buff *, gfp_t ) // with return type: (struct sk_buff)* struct sk_buff *skb_clone(struct sk_buff *arg0, gfp_t arg1) { // Pointer type return ldv_malloc(sizeof(struct sk_buff)); } // Function: skb_copy // with type: struct sk_buff *skb_copy(const struct sk_buff *, gfp_t ) // with return type: (struct sk_buff)* struct sk_buff *skb_copy(const struct sk_buff *arg0, gfp_t arg1) { // Pointer type return ldv_malloc(sizeof(struct sk_buff)); } // 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; } // Skip function: snprintf // 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: strsep // with type: char *strsep(char **, const char *) // with return type: (char)* char *strsep(char **arg0, const char *arg1) { // Pointer type return ldv_malloc(sizeof(char)); } // Function: tasklet_init // with type: void tasklet_init(struct tasklet_struct *, void (*)(unsigned long), unsigned long) // with return type: void void tasklet_init(struct tasklet_struct *arg0, void (*arg1)(unsigned long), unsigned long arg2) { // Void type return; } // Function: tasklet_kill // with type: void tasklet_kill(struct tasklet_struct *) // with return type: void void tasklet_kill(struct tasklet_struct *arg0) { // Void type return; } // Function: unregister_netdev // with type: void unregister_netdev(struct net_device *) // with return type: void void unregister_netdev(struct net_device *arg0) { // Void type return; } // Function: usb_alloc_urb // with type: struct urb *usb_alloc_urb(int, gfp_t ) // with return type: (struct urb)* struct urb *usb_alloc_urb(int arg0, gfp_t arg1) { // Pointer type return ldv_malloc(sizeof(struct urb)); } // Function: usb_control_msg // with type: int usb_control_msg(struct usb_device *, unsigned int, __u8 , __u8 , __u16 , __u16 , void *, __u16 , int) // 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_free_urb // with type: void usb_free_urb(struct urb *) // with return type: void void usb_free_urb(struct urb *arg0) { // Void type return; } // Function: usb_kill_urb // with type: void usb_kill_urb(struct urb *) // with return type: void void usb_kill_urb(struct urb *arg0) { // Void type return; } // 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_submit_urb // with type: int usb_submit_urb(struct urb *, gfp_t ) // 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: usb_unlink_urb // with type: int usb_unlink_urb(struct urb *) // with return type: int int __VERIFIER_nondet_int(void); int usb_unlink_urb(struct urb *arg0) { // Simple type return __VERIFIER_nondet_int(); } // 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; }