extern void abort(void); #include void reach_error() { assert(0); } /* Generated by CIL v. 1.5.1 */ /* print_CIL_Input is false */ typedef unsigned char __u8; typedef short __s16; typedef unsigned short __u16; typedef int __s32; typedef unsigned int __u32; typedef unsigned long long __u64; typedef signed char s8; typedef unsigned char u8; typedef unsigned short u16; typedef int s32; typedef unsigned int u32; typedef long long s64; typedef unsigned long long u64; typedef long __kernel_long_t; typedef unsigned long __kernel_ulong_t; typedef int __kernel_pid_t; typedef unsigned int __kernel_uid32_t; typedef unsigned int __kernel_gid32_t; typedef __kernel_ulong_t __kernel_size_t; typedef __kernel_long_t __kernel_ssize_t; typedef long long __kernel_loff_t; typedef __kernel_long_t __kernel_time_t; typedef __kernel_long_t __kernel_clock_t; typedef int __kernel_timer_t; typedef int __kernel_clockid_t; typedef __u16 __be16; typedef __u32 __be32; typedef __u32 __wsum; struct kernel_symbol { unsigned long value ; char const *name ; }; struct module; typedef __u32 __kernel_dev_t; typedef __kernel_dev_t dev_t; typedef unsigned short umode_t; typedef __kernel_pid_t pid_t; typedef __kernel_clockid_t clockid_t; typedef _Bool bool; typedef __kernel_uid32_t uid_t; typedef __kernel_gid32_t gid_t; typedef __kernel_loff_t loff_t; typedef __kernel_size_t size_t; typedef __kernel_ssize_t ssize_t; typedef __kernel_time_t time_t; typedef __s32 int32_t; typedef __u8 uint8_t; typedef __u32 uint32_t; typedef __u64 uint64_t; typedef unsigned long sector_t; typedef unsigned long blkcnt_t; typedef u64 dma_addr_t; typedef unsigned int gfp_t; typedef unsigned int fmode_t; typedef unsigned int oom_flags_t; struct __anonstruct_atomic_t_6 { int counter ; }; typedef struct __anonstruct_atomic_t_6 atomic_t; struct __anonstruct_atomic64_t_7 { long counter ; }; typedef struct __anonstruct_atomic64_t_7 atomic64_t; struct list_head { struct list_head *next ; struct list_head *prev ; }; struct hlist_node; struct hlist_head { struct hlist_node *first ; }; struct hlist_node { struct hlist_node *next ; struct hlist_node **pprev ; }; struct callback_head { struct callback_head *next ; void (*func)(struct callback_head * ) ; }; struct pt_regs { unsigned long r15 ; unsigned long r14 ; unsigned long r13 ; unsigned long r12 ; unsigned long bp ; unsigned long bx ; unsigned long r11 ; unsigned long r10 ; unsigned long r9 ; unsigned long r8 ; unsigned long ax ; unsigned long cx ; unsigned long dx ; unsigned long si ; unsigned long di ; unsigned long orig_ax ; unsigned long ip ; unsigned long cs ; unsigned long flags ; unsigned long sp ; unsigned long ss ; }; struct __anonstruct____missing_field_name_9 { unsigned int a ; unsigned int b ; }; struct __anonstruct____missing_field_name_10 { u16 limit0 ; u16 base0 ; unsigned char base1 ; unsigned char type : 4 ; unsigned char s : 1 ; unsigned char dpl : 2 ; unsigned char p : 1 ; unsigned char limit : 4 ; unsigned char avl : 1 ; unsigned char l : 1 ; unsigned char d : 1 ; unsigned char g : 1 ; unsigned char base2 ; }; union __anonunion____missing_field_name_8 { struct __anonstruct____missing_field_name_9 __annonCompField4 ; struct __anonstruct____missing_field_name_10 __annonCompField5 ; }; struct desc_struct { union __anonunion____missing_field_name_8 __annonCompField6 ; }; typedef unsigned long pteval_t; typedef unsigned long pgdval_t; typedef unsigned long pgprotval_t; struct __anonstruct_pte_t_11 { pteval_t pte ; }; typedef struct __anonstruct_pte_t_11 pte_t; struct pgprot { pgprotval_t pgprot ; }; typedef struct pgprot pgprot_t; struct __anonstruct_pgd_t_12 { pgdval_t pgd ; }; typedef struct __anonstruct_pgd_t_12 pgd_t; struct page; typedef struct page *pgtable_t; struct file; struct seq_file; struct thread_struct; struct mm_struct; struct task_struct; struct cpumask; struct qspinlock { atomic_t val ; }; typedef struct qspinlock arch_spinlock_t; struct qrwlock { atomic_t cnts ; arch_spinlock_t lock ; }; typedef struct qrwlock arch_rwlock_t; typedef void (*ctor_fn_t)(void); struct device; struct net_device; struct file_operations; struct completion; struct bug_entry { int bug_addr_disp ; int file_disp ; unsigned short line ; unsigned short flags ; }; struct timespec; struct compat_timespec; struct __anonstruct_futex_16 { u32 *uaddr ; u32 val ; u32 flags ; u32 bitset ; u64 time ; u32 *uaddr2 ; }; struct __anonstruct_nanosleep_17 { clockid_t clockid ; struct timespec *rmtp ; struct compat_timespec *compat_rmtp ; u64 expires ; }; struct pollfd; struct __anonstruct_poll_18 { struct pollfd *ufds ; int nfds ; int has_timeout ; unsigned long tv_sec ; unsigned long tv_nsec ; }; union __anonunion____missing_field_name_15 { struct __anonstruct_futex_16 futex ; struct __anonstruct_nanosleep_17 nanosleep ; struct __anonstruct_poll_18 poll ; }; struct restart_block { long (*fn)(struct restart_block * ) ; union __anonunion____missing_field_name_15 __annonCompField7 ; }; struct kernel_vm86_regs { struct pt_regs pt ; unsigned short es ; unsigned short __esh ; unsigned short ds ; unsigned short __dsh ; unsigned short fs ; unsigned short __fsh ; unsigned short gs ; unsigned short __gsh ; }; union __anonunion____missing_field_name_19 { struct pt_regs *regs ; struct kernel_vm86_regs *vm86 ; }; struct math_emu_info { long ___orig_eip ; union __anonunion____missing_field_name_19 __annonCompField8 ; }; struct cpumask { unsigned long bits[128U] ; }; typedef struct cpumask cpumask_t; typedef struct cpumask *cpumask_var_t; struct fregs_state { u32 cwd ; u32 swd ; u32 twd ; u32 fip ; u32 fcs ; u32 foo ; u32 fos ; u32 st_space[20U] ; u32 status ; }; struct __anonstruct____missing_field_name_29 { u64 rip ; u64 rdp ; }; struct __anonstruct____missing_field_name_30 { u32 fip ; u32 fcs ; u32 foo ; u32 fos ; }; union __anonunion____missing_field_name_28 { struct __anonstruct____missing_field_name_29 __annonCompField12 ; struct __anonstruct____missing_field_name_30 __annonCompField13 ; }; union __anonunion____missing_field_name_31 { u32 padding1[12U] ; u32 sw_reserved[12U] ; }; struct fxregs_state { u16 cwd ; u16 swd ; u16 twd ; u16 fop ; union __anonunion____missing_field_name_28 __annonCompField14 ; u32 mxcsr ; u32 mxcsr_mask ; u32 st_space[32U] ; u32 xmm_space[64U] ; u32 padding[12U] ; union __anonunion____missing_field_name_31 __annonCompField15 ; }; struct swregs_state { u32 cwd ; u32 swd ; u32 twd ; u32 fip ; u32 fcs ; u32 foo ; u32 fos ; u32 st_space[20U] ; u8 ftop ; u8 changed ; u8 lookahead ; u8 no_update ; u8 rm ; u8 alimit ; struct math_emu_info *info ; u32 entry_eip ; }; struct xstate_header { u64 xfeatures ; u64 xcomp_bv ; u64 reserved[6U] ; }; struct xregs_state { struct fxregs_state i387 ; struct xstate_header header ; u8 __reserved[464U] ; }; union fpregs_state { struct fregs_state fsave ; struct fxregs_state fxsave ; struct swregs_state soft ; struct xregs_state xsave ; }; struct fpu { union fpregs_state state ; unsigned int last_cpu ; unsigned char fpstate_active ; unsigned char fpregs_active ; unsigned char counter ; }; struct seq_operations; struct perf_event; struct thread_struct { struct desc_struct tls_array[3U] ; unsigned long sp0 ; unsigned long sp ; unsigned short es ; unsigned short ds ; unsigned short fsindex ; unsigned short gsindex ; unsigned long fs ; unsigned long gs ; struct fpu fpu ; struct perf_event *ptrace_bps[4U] ; unsigned long debugreg6 ; unsigned long ptrace_dr7 ; unsigned long cr2 ; unsigned long trap_nr ; unsigned long error_code ; unsigned long *io_bitmap_ptr ; unsigned long iopl ; unsigned int io_bitmap_max ; }; typedef atomic64_t atomic_long_t; struct lockdep_map; struct stack_trace { unsigned int nr_entries ; unsigned int max_entries ; unsigned long *entries ; int skip ; }; struct lockdep_subclass_key { char __one_byte ; }; struct lock_class_key { struct lockdep_subclass_key subkeys[8U] ; }; struct lock_class { struct list_head hash_entry ; struct list_head lock_entry ; struct lockdep_subclass_key *key ; unsigned int subclass ; unsigned int dep_gen_id ; unsigned long usage_mask ; struct stack_trace usage_traces[13U] ; struct list_head locks_after ; struct list_head locks_before ; unsigned int version ; unsigned long ops ; char const *name ; int name_version ; unsigned long contention_point[4U] ; unsigned long contending_point[4U] ; }; struct lockdep_map { struct lock_class_key *key ; struct lock_class *class_cache[2U] ; char const *name ; int cpu ; unsigned long ip ; }; struct held_lock { u64 prev_chain_key ; unsigned long acquire_ip ; struct lockdep_map *instance ; struct lockdep_map *nest_lock ; u64 waittime_stamp ; u64 holdtime_stamp ; unsigned short class_idx : 13 ; unsigned char irq_context : 2 ; unsigned char trylock : 1 ; unsigned char read : 2 ; unsigned char check : 1 ; unsigned char hardirqs_off : 1 ; unsigned short references : 12 ; unsigned int pin_count ; }; struct raw_spinlock { arch_spinlock_t raw_lock ; unsigned int magic ; unsigned int owner_cpu ; void *owner ; struct lockdep_map dep_map ; }; typedef struct raw_spinlock raw_spinlock_t; struct __anonstruct____missing_field_name_35 { u8 __padding[24U] ; struct lockdep_map dep_map ; }; union __anonunion____missing_field_name_34 { struct raw_spinlock rlock ; struct __anonstruct____missing_field_name_35 __annonCompField17 ; }; struct spinlock { union __anonunion____missing_field_name_34 __annonCompField18 ; }; typedef struct spinlock spinlock_t; struct __anonstruct_rwlock_t_36 { arch_rwlock_t raw_lock ; unsigned int magic ; unsigned int owner_cpu ; void *owner ; struct lockdep_map dep_map ; }; typedef struct __anonstruct_rwlock_t_36 rwlock_t; struct seqcount { unsigned int sequence ; struct lockdep_map dep_map ; }; typedef struct seqcount seqcount_t; struct __anonstruct_seqlock_t_45 { struct seqcount seqcount ; spinlock_t lock ; }; typedef struct __anonstruct_seqlock_t_45 seqlock_t; struct timespec { __kernel_time_t tv_sec ; long tv_nsec ; }; struct user_namespace; struct __anonstruct_kuid_t_46 { uid_t val ; }; typedef struct __anonstruct_kuid_t_46 kuid_t; struct __anonstruct_kgid_t_47 { gid_t val ; }; typedef struct __anonstruct_kgid_t_47 kgid_t; struct kstat { u64 ino ; dev_t dev ; umode_t mode ; unsigned int nlink ; kuid_t uid ; kgid_t gid ; dev_t rdev ; loff_t size ; struct timespec atime ; struct timespec mtime ; struct timespec ctime ; unsigned long blksize ; unsigned long long blocks ; }; struct vm_area_struct; struct __wait_queue_head { spinlock_t lock ; struct list_head task_list ; }; typedef struct __wait_queue_head wait_queue_head_t; struct __anonstruct_nodemask_t_48 { unsigned long bits[16U] ; }; typedef struct __anonstruct_nodemask_t_48 nodemask_t; struct optimistic_spin_queue { atomic_t tail ; }; struct mutex { atomic_t count ; spinlock_t wait_lock ; struct list_head wait_list ; struct task_struct *owner ; void *magic ; struct lockdep_map dep_map ; }; struct mutex_waiter { struct list_head list ; struct task_struct *task ; void *magic ; }; struct rw_semaphore; struct rw_semaphore { long count ; struct list_head wait_list ; raw_spinlock_t wait_lock ; struct optimistic_spin_queue osq ; struct task_struct *owner ; struct lockdep_map dep_map ; }; struct completion { unsigned int done ; wait_queue_head_t wait ; }; union ktime { s64 tv64 ; }; typedef union ktime ktime_t; struct notifier_block; struct timer_list { struct hlist_node entry ; unsigned long expires ; void (*function)(unsigned long ) ; unsigned long data ; u32 flags ; int slack ; int start_pid ; void *start_site ; char start_comm[16U] ; struct lockdep_map lockdep_map ; }; struct hrtimer; enum hrtimer_restart; struct rb_node { unsigned long __rb_parent_color ; struct rb_node *rb_right ; struct rb_node *rb_left ; }; struct rb_root { struct rb_node *rb_node ; }; struct ctl_table; struct nsproxy; struct ctl_table_root; struct ctl_table_header; struct ctl_dir; typedef int proc_handler(struct ctl_table * , int , void * , size_t * , loff_t * ); struct ctl_table_poll { atomic_t event ; wait_queue_head_t wait ; }; struct ctl_table { char const *procname ; void *data ; int maxlen ; umode_t mode ; struct ctl_table *child ; proc_handler *proc_handler ; struct ctl_table_poll *poll ; void *extra1 ; void *extra2 ; }; struct ctl_node { struct rb_node node ; struct ctl_table_header *header ; }; struct __anonstruct____missing_field_name_50 { struct ctl_table *ctl_table ; int used ; int count ; int nreg ; }; union __anonunion____missing_field_name_49 { struct __anonstruct____missing_field_name_50 __annonCompField19 ; struct callback_head rcu ; }; struct ctl_table_set; struct ctl_table_header { union __anonunion____missing_field_name_49 __annonCompField20 ; struct completion *unregistering ; struct ctl_table *ctl_table_arg ; struct ctl_table_root *root ; struct ctl_table_set *set ; struct ctl_dir *parent ; struct ctl_node *node ; }; struct ctl_dir { struct ctl_table_header header ; struct rb_root root ; }; struct ctl_table_set { int (*is_seen)(struct ctl_table_set * ) ; struct ctl_dir dir ; }; struct ctl_table_root { struct ctl_table_set default_set ; struct ctl_table_set *(*lookup)(struct ctl_table_root * , struct nsproxy * ) ; int (*permissions)(struct ctl_table_header * , struct ctl_table * ) ; }; struct workqueue_struct; struct work_struct; struct work_struct { atomic_long_t data ; struct list_head entry ; void (*func)(struct work_struct * ) ; struct lockdep_map lockdep_map ; }; struct delayed_work { struct work_struct work ; struct timer_list timer ; struct workqueue_struct *wq ; int cpu ; }; struct notifier_block { int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ; struct notifier_block *next ; int priority ; }; struct pm_message { int event ; }; typedef struct pm_message pm_message_t; struct dev_pm_ops { int (*prepare)(struct device * ) ; void (*complete)(struct device * ) ; int (*suspend)(struct device * ) ; int (*resume)(struct device * ) ; int (*freeze)(struct device * ) ; int (*thaw)(struct device * ) ; int (*poweroff)(struct device * ) ; int (*restore)(struct device * ) ; int (*suspend_late)(struct device * ) ; int (*resume_early)(struct device * ) ; int (*freeze_late)(struct device * ) ; int (*thaw_early)(struct device * ) ; int (*poweroff_late)(struct device * ) ; int (*restore_early)(struct device * ) ; int (*suspend_noirq)(struct device * ) ; int (*resume_noirq)(struct device * ) ; int (*freeze_noirq)(struct device * ) ; int (*thaw_noirq)(struct device * ) ; int (*poweroff_noirq)(struct device * ) ; int (*restore_noirq)(struct device * ) ; int (*runtime_suspend)(struct device * ) ; int (*runtime_resume)(struct device * ) ; int (*runtime_idle)(struct device * ) ; }; enum rpm_status { RPM_ACTIVE = 0, RPM_RESUMING = 1, RPM_SUSPENDED = 2, RPM_SUSPENDING = 3 } ; enum rpm_request { RPM_REQ_NONE = 0, RPM_REQ_IDLE = 1, RPM_REQ_SUSPEND = 2, RPM_REQ_AUTOSUSPEND = 3, RPM_REQ_RESUME = 4 } ; struct wakeup_source; struct wake_irq; struct pm_subsys_data { spinlock_t lock ; unsigned int refcount ; struct list_head clock_list ; }; struct dev_pm_qos; struct dev_pm_info { pm_message_t power_state ; unsigned char can_wakeup : 1 ; unsigned char async_suspend : 1 ; bool is_prepared ; bool is_suspended ; bool is_noirq_suspended ; bool is_late_suspended ; bool ignore_children ; bool early_init ; bool direct_complete ; spinlock_t lock ; struct list_head entry ; struct completion completion ; struct wakeup_source *wakeup ; bool wakeup_path ; bool syscore ; struct timer_list suspend_timer ; unsigned long timer_expires ; struct work_struct work ; wait_queue_head_t wait_queue ; struct wake_irq *wakeirq ; atomic_t usage_count ; atomic_t child_count ; unsigned char disable_depth : 3 ; unsigned char idle_notification : 1 ; unsigned char request_pending : 1 ; unsigned char deferred_resume : 1 ; unsigned char run_wake : 1 ; unsigned char runtime_auto : 1 ; unsigned char no_callbacks : 1 ; unsigned char irq_safe : 1 ; unsigned char use_autosuspend : 1 ; unsigned char timer_autosuspends : 1 ; unsigned char memalloc_noio : 1 ; enum rpm_request request ; enum rpm_status runtime_status ; int runtime_error ; int autosuspend_delay ; unsigned long last_busy ; unsigned long active_jiffies ; unsigned long suspended_jiffies ; unsigned long accounting_timestamp ; struct pm_subsys_data *subsys_data ; void (*set_latency_tolerance)(struct device * , s32 ) ; struct dev_pm_qos *qos ; }; struct dev_pm_domain { struct dev_pm_ops ops ; void (*detach)(struct device * , bool ) ; int (*activate)(struct device * ) ; void (*sync)(struct device * ) ; void (*dismiss)(struct device * ) ; }; struct __anonstruct_mm_context_t_115 { void *ldt ; int size ; unsigned short ia32_compat ; struct mutex lock ; void *vdso ; atomic_t perf_rdpmc_allowed ; }; typedef struct __anonstruct_mm_context_t_115 mm_context_t; struct bio_vec; struct llist_node; struct llist_node { struct llist_node *next ; }; struct cred; struct inode; struct arch_uprobe_task { unsigned long saved_scratch_register ; unsigned int saved_trap_nr ; unsigned int saved_tf ; }; enum uprobe_task_state { UTASK_RUNNING = 0, UTASK_SSTEP = 1, UTASK_SSTEP_ACK = 2, UTASK_SSTEP_TRAPPED = 3 } ; struct __anonstruct____missing_field_name_148 { struct arch_uprobe_task autask ; unsigned long vaddr ; }; struct __anonstruct____missing_field_name_149 { struct callback_head dup_xol_work ; unsigned long dup_xol_addr ; }; union __anonunion____missing_field_name_147 { struct __anonstruct____missing_field_name_148 __annonCompField33 ; struct __anonstruct____missing_field_name_149 __annonCompField34 ; }; struct uprobe; struct return_instance; struct uprobe_task { enum uprobe_task_state state ; union __anonunion____missing_field_name_147 __annonCompField35 ; struct uprobe *active_uprobe ; unsigned long xol_vaddr ; struct return_instance *return_instances ; unsigned int depth ; }; struct xol_area; struct uprobes_state { struct xol_area *xol_area ; }; struct address_space; struct mem_cgroup; typedef void compound_page_dtor(struct page * ); union __anonunion____missing_field_name_150 { struct address_space *mapping ; void *s_mem ; }; union __anonunion____missing_field_name_152 { unsigned long index ; void *freelist ; bool pfmemalloc ; }; struct __anonstruct____missing_field_name_156 { unsigned short inuse ; unsigned short objects : 15 ; unsigned char frozen : 1 ; }; union __anonunion____missing_field_name_155 { atomic_t _mapcount ; struct __anonstruct____missing_field_name_156 __annonCompField38 ; int units ; }; struct __anonstruct____missing_field_name_154 { union __anonunion____missing_field_name_155 __annonCompField39 ; atomic_t _count ; }; union __anonunion____missing_field_name_153 { unsigned long counters ; struct __anonstruct____missing_field_name_154 __annonCompField40 ; unsigned int active ; }; struct __anonstruct____missing_field_name_151 { union __anonunion____missing_field_name_152 __annonCompField37 ; union __anonunion____missing_field_name_153 __annonCompField41 ; }; struct __anonstruct____missing_field_name_158 { struct page *next ; int pages ; int pobjects ; }; struct slab; struct __anonstruct____missing_field_name_159 { compound_page_dtor *compound_dtor ; unsigned long compound_order ; }; union __anonunion____missing_field_name_157 { struct list_head lru ; struct __anonstruct____missing_field_name_158 __annonCompField43 ; struct slab *slab_page ; struct callback_head callback_head ; struct __anonstruct____missing_field_name_159 __annonCompField44 ; pgtable_t pmd_huge_pte ; }; struct kmem_cache; union __anonunion____missing_field_name_160 { unsigned long private ; spinlock_t *ptl ; struct kmem_cache *slab_cache ; struct page *first_page ; }; struct page { unsigned long flags ; union __anonunion____missing_field_name_150 __annonCompField36 ; struct __anonstruct____missing_field_name_151 __annonCompField42 ; union __anonunion____missing_field_name_157 __annonCompField45 ; union __anonunion____missing_field_name_160 __annonCompField46 ; struct mem_cgroup *mem_cgroup ; }; struct page_frag { struct page *page ; __u32 offset ; __u32 size ; }; struct __anonstruct_shared_161 { struct rb_node rb ; unsigned long rb_subtree_last ; }; struct anon_vma; struct vm_operations_struct; struct mempolicy; struct vm_area_struct { unsigned long vm_start ; unsigned long vm_end ; struct vm_area_struct *vm_next ; struct vm_area_struct *vm_prev ; struct rb_node vm_rb ; unsigned long rb_subtree_gap ; struct mm_struct *vm_mm ; pgprot_t vm_page_prot ; unsigned long vm_flags ; struct __anonstruct_shared_161 shared ; struct list_head anon_vma_chain ; struct anon_vma *anon_vma ; struct vm_operations_struct const *vm_ops ; unsigned long vm_pgoff ; struct file *vm_file ; void *vm_private_data ; struct mempolicy *vm_policy ; }; struct core_thread { struct task_struct *task ; struct core_thread *next ; }; struct core_state { atomic_t nr_threads ; struct core_thread dumper ; struct completion startup ; }; struct task_rss_stat { int events ; int count[3U] ; }; struct mm_rss_stat { atomic_long_t count[3U] ; }; struct kioctx_table; struct linux_binfmt; struct mmu_notifier_mm; struct mm_struct { struct vm_area_struct *mmap ; struct rb_root mm_rb ; u32 vmacache_seqnum ; unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long , unsigned long , unsigned long ) ; unsigned long mmap_base ; unsigned long mmap_legacy_base ; unsigned long task_size ; unsigned long highest_vm_end ; pgd_t *pgd ; atomic_t mm_users ; atomic_t mm_count ; atomic_long_t nr_ptes ; atomic_long_t nr_pmds ; int map_count ; spinlock_t page_table_lock ; struct rw_semaphore mmap_sem ; struct list_head mmlist ; unsigned long hiwater_rss ; unsigned long hiwater_vm ; unsigned long total_vm ; unsigned long locked_vm ; unsigned long pinned_vm ; unsigned long shared_vm ; unsigned long exec_vm ; unsigned long stack_vm ; unsigned long def_flags ; unsigned long start_code ; unsigned long end_code ; unsigned long start_data ; unsigned long end_data ; unsigned long start_brk ; unsigned long brk ; unsigned long start_stack ; unsigned long arg_start ; unsigned long arg_end ; unsigned long env_start ; unsigned long env_end ; unsigned long saved_auxv[46U] ; struct mm_rss_stat rss_stat ; struct linux_binfmt *binfmt ; cpumask_var_t cpu_vm_mask_var ; mm_context_t context ; unsigned long flags ; struct core_state *core_state ; spinlock_t ioctx_lock ; struct kioctx_table *ioctx_table ; struct task_struct *owner ; struct file *exe_file ; struct mmu_notifier_mm *mmu_notifier_mm ; struct cpumask cpumask_allocation ; unsigned long numa_next_scan ; unsigned long numa_scan_offset ; int numa_scan_seq ; bool tlb_flush_pending ; struct uprobes_state uprobes_state ; void *bd_addr ; }; typedef __u64 Elf64_Addr; typedef __u16 Elf64_Half; typedef __u32 Elf64_Word; typedef __u64 Elf64_Xword; struct elf64_sym { Elf64_Word st_name ; unsigned char st_info ; unsigned char st_other ; Elf64_Half st_shndx ; Elf64_Addr st_value ; Elf64_Xword st_size ; }; typedef struct elf64_sym Elf64_Sym; union __anonunion____missing_field_name_166 { unsigned long bitmap[4U] ; struct callback_head callback_head ; }; struct idr_layer { int prefix ; int layer ; struct idr_layer *ary[256U] ; int count ; union __anonunion____missing_field_name_166 __annonCompField47 ; }; struct idr { struct idr_layer *hint ; struct idr_layer *top ; int layers ; int cur ; spinlock_t lock ; int id_free_cnt ; struct idr_layer *id_free ; }; struct ida_bitmap { long nr_busy ; unsigned long bitmap[15U] ; }; struct ida { struct idr idr ; struct ida_bitmap *free_bitmap ; }; struct dentry; struct iattr; struct super_block; struct file_system_type; struct kernfs_open_node; struct kernfs_iattrs; struct kernfs_root; struct kernfs_elem_dir { unsigned long subdirs ; struct rb_root children ; struct kernfs_root *root ; }; struct kernfs_node; struct kernfs_elem_symlink { struct kernfs_node *target_kn ; }; struct kernfs_ops; struct kernfs_elem_attr { struct kernfs_ops const *ops ; struct kernfs_open_node *open ; loff_t size ; struct kernfs_node *notify_next ; }; union __anonunion____missing_field_name_171 { struct kernfs_elem_dir dir ; struct kernfs_elem_symlink symlink ; struct kernfs_elem_attr attr ; }; struct kernfs_node { atomic_t count ; atomic_t active ; struct lockdep_map dep_map ; struct kernfs_node *parent ; char const *name ; struct rb_node rb ; void const *ns ; unsigned int hash ; union __anonunion____missing_field_name_171 __annonCompField48 ; void *priv ; unsigned short flags ; umode_t mode ; unsigned int ino ; struct kernfs_iattrs *iattr ; }; struct kernfs_syscall_ops { int (*remount_fs)(struct kernfs_root * , int * , char * ) ; int (*show_options)(struct seq_file * , struct kernfs_root * ) ; int (*mkdir)(struct kernfs_node * , char const * , umode_t ) ; int (*rmdir)(struct kernfs_node * ) ; int (*rename)(struct kernfs_node * , struct kernfs_node * , char const * ) ; }; struct kernfs_root { struct kernfs_node *kn ; unsigned int flags ; struct ida ino_ida ; struct kernfs_syscall_ops *syscall_ops ; struct list_head supers ; wait_queue_head_t deactivate_waitq ; }; struct kernfs_open_file { struct kernfs_node *kn ; struct file *file ; void *priv ; struct mutex mutex ; int event ; struct list_head list ; char *prealloc_buf ; size_t atomic_write_len ; bool mmapped ; struct vm_operations_struct const *vm_ops ; }; struct kernfs_ops { int (*seq_show)(struct seq_file * , void * ) ; void *(*seq_start)(struct seq_file * , loff_t * ) ; void *(*seq_next)(struct seq_file * , void * , loff_t * ) ; void (*seq_stop)(struct seq_file * , void * ) ; ssize_t (*read)(struct kernfs_open_file * , char * , size_t , loff_t ) ; size_t atomic_write_len ; bool prealloc ; ssize_t (*write)(struct kernfs_open_file * , char * , size_t , loff_t ) ; int (*mmap)(struct kernfs_open_file * , struct vm_area_struct * ) ; struct lock_class_key lockdep_key ; }; struct sock; struct kobject; enum kobj_ns_type { KOBJ_NS_TYPE_NONE = 0, KOBJ_NS_TYPE_NET = 1, KOBJ_NS_TYPES = 2 } ; struct kobj_ns_type_operations { enum kobj_ns_type type ; bool (*current_may_mount)(void) ; void *(*grab_current_ns)(void) ; void const *(*netlink_ns)(struct sock * ) ; void const *(*initial_ns)(void) ; void (*drop_ns)(void * ) ; }; struct bin_attribute; struct attribute { char const *name ; umode_t mode ; bool ignore_lockdep ; struct lock_class_key *key ; struct lock_class_key skey ; }; struct attribute_group { char const *name ; umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ; struct attribute **attrs ; struct bin_attribute **bin_attrs ; }; struct bin_attribute { struct attribute attr ; size_t size ; void *private ; ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * , loff_t , size_t ) ; ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * , loff_t , size_t ) ; int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ; }; struct sysfs_ops { ssize_t (*show)(struct kobject * , struct attribute * , char * ) ; ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ; }; struct kref { atomic_t refcount ; }; struct kset; struct kobj_type; struct kobject { char const *name ; struct list_head entry ; struct kobject *parent ; struct kset *kset ; struct kobj_type *ktype ; struct kernfs_node *sd ; struct kref kref ; struct delayed_work release ; unsigned char state_initialized : 1 ; unsigned char state_in_sysfs : 1 ; unsigned char state_add_uevent_sent : 1 ; unsigned char state_remove_uevent_sent : 1 ; unsigned char uevent_suppress : 1 ; }; struct kobj_type { void (*release)(struct kobject * ) ; struct sysfs_ops const *sysfs_ops ; struct attribute **default_attrs ; struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ; void const *(*namespace)(struct kobject * ) ; }; struct kobj_uevent_env { char *argv[3U] ; char *envp[32U] ; int envp_idx ; char buf[2048U] ; int buflen ; }; struct kset_uevent_ops { int (* const filter)(struct kset * , struct kobject * ) ; char const *(* const name)(struct kset * , struct kobject * ) ; int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ; }; struct kset { struct list_head list ; spinlock_t list_lock ; struct kobject kobj ; struct kset_uevent_ops const *uevent_ops ; }; struct kernel_param; struct kernel_param_ops { unsigned int flags ; int (*set)(char const * , struct kernel_param const * ) ; int (*get)(char * , struct kernel_param const * ) ; void (*free)(void * ) ; }; struct kparam_string; struct kparam_array; union __anonunion____missing_field_name_172 { void *arg ; struct kparam_string const *str ; struct kparam_array const *arr ; }; struct kernel_param { char const *name ; struct module *mod ; struct kernel_param_ops const *ops ; u16 const perm ; s8 level ; u8 flags ; union __anonunion____missing_field_name_172 __annonCompField49 ; }; struct kparam_string { unsigned int maxlen ; char *string ; }; struct kparam_array { unsigned int max ; unsigned int elemsize ; unsigned int *num ; struct kernel_param_ops const *ops ; void *elem ; }; struct latch_tree_node { struct rb_node node[2U] ; }; struct mod_arch_specific { }; struct module_param_attrs; struct module_kobject { struct kobject kobj ; struct module *mod ; struct kobject *drivers_dir ; struct module_param_attrs *mp ; struct completion *kobj_completion ; }; struct module_attribute { struct attribute attr ; ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ; ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * , size_t ) ; void (*setup)(struct module * , char const * ) ; int (*test)(struct module * ) ; void (*free)(struct module * ) ; }; struct exception_table_entry; enum module_state { MODULE_STATE_LIVE = 0, MODULE_STATE_COMING = 1, MODULE_STATE_GOING = 2, MODULE_STATE_UNFORMED = 3 } ; struct mod_tree_node { struct module *mod ; struct latch_tree_node node ; }; struct module_sect_attrs; struct module_notes_attrs; struct tracepoint; struct trace_event_call; struct trace_enum_map; struct module { enum module_state state ; struct list_head list ; char name[56U] ; struct module_kobject mkobj ; struct module_attribute *modinfo_attrs ; char const *version ; char const *srcversion ; struct kobject *holders_dir ; struct kernel_symbol const *syms ; unsigned long const *crcs ; unsigned int num_syms ; struct mutex param_lock ; struct kernel_param *kp ; unsigned int num_kp ; unsigned int num_gpl_syms ; struct kernel_symbol const *gpl_syms ; unsigned long const *gpl_crcs ; struct kernel_symbol const *unused_syms ; unsigned long const *unused_crcs ; unsigned int num_unused_syms ; unsigned int num_unused_gpl_syms ; struct kernel_symbol const *unused_gpl_syms ; unsigned long const *unused_gpl_crcs ; bool sig_ok ; bool async_probe_requested ; struct kernel_symbol const *gpl_future_syms ; unsigned long const *gpl_future_crcs ; unsigned int num_gpl_future_syms ; unsigned int num_exentries ; struct exception_table_entry *extable ; int (*init)(void) ; void *module_init ; void *module_core ; unsigned int init_size ; unsigned int core_size ; unsigned int init_text_size ; unsigned int core_text_size ; struct mod_tree_node mtn_core ; struct mod_tree_node mtn_init ; unsigned int init_ro_size ; unsigned int core_ro_size ; struct mod_arch_specific arch ; unsigned int taints ; unsigned int num_bugs ; struct list_head bug_list ; struct bug_entry *bug_table ; Elf64_Sym *symtab ; Elf64_Sym *core_symtab ; unsigned int num_symtab ; unsigned int core_num_syms ; char *strtab ; char *core_strtab ; struct module_sect_attrs *sect_attrs ; struct module_notes_attrs *notes_attrs ; char *args ; void *percpu ; unsigned int percpu_size ; unsigned int num_tracepoints ; struct tracepoint * const *tracepoints_ptrs ; unsigned int num_trace_bprintk_fmt ; char const **trace_bprintk_fmt_start ; struct trace_event_call **trace_events ; unsigned int num_trace_events ; struct trace_enum_map **trace_enums ; unsigned int num_trace_enums ; unsigned int num_ftrace_callsites ; unsigned long *ftrace_callsites ; bool klp_alive ; struct list_head source_list ; struct list_head target_list ; void (*exit)(void) ; atomic_t refcnt ; ctor_fn_t (**ctors)(void) ; unsigned int num_ctors ; }; struct kernel_cap_struct { __u32 cap[2U] ; }; typedef struct kernel_cap_struct kernel_cap_t; struct plist_node { int prio ; struct list_head prio_list ; struct list_head node_list ; }; typedef unsigned long cputime_t; struct sem_undo_list; struct sysv_sem { struct sem_undo_list *undo_list ; }; struct user_struct; struct sysv_shm { struct list_head shm_clist ; }; struct __anonstruct_sigset_t_180 { unsigned long sig[1U] ; }; typedef struct __anonstruct_sigset_t_180 sigset_t; struct siginfo; typedef void __signalfn_t(int ); typedef __signalfn_t *__sighandler_t; typedef void __restorefn_t(void); typedef __restorefn_t *__sigrestore_t; union sigval { int sival_int ; void *sival_ptr ; }; typedef union sigval sigval_t; struct __anonstruct__kill_182 { __kernel_pid_t _pid ; __kernel_uid32_t _uid ; }; struct __anonstruct__timer_183 { __kernel_timer_t _tid ; int _overrun ; char _pad[0U] ; sigval_t _sigval ; int _sys_private ; }; struct __anonstruct__rt_184 { __kernel_pid_t _pid ; __kernel_uid32_t _uid ; sigval_t _sigval ; }; struct __anonstruct__sigchld_185 { __kernel_pid_t _pid ; __kernel_uid32_t _uid ; int _status ; __kernel_clock_t _utime ; __kernel_clock_t _stime ; }; struct __anonstruct__addr_bnd_187 { void *_lower ; void *_upper ; }; struct __anonstruct__sigfault_186 { void *_addr ; short _addr_lsb ; struct __anonstruct__addr_bnd_187 _addr_bnd ; }; struct __anonstruct__sigpoll_188 { long _band ; int _fd ; }; struct __anonstruct__sigsys_189 { void *_call_addr ; int _syscall ; unsigned int _arch ; }; union __anonunion__sifields_181 { int _pad[28U] ; struct __anonstruct__kill_182 _kill ; struct __anonstruct__timer_183 _timer ; struct __anonstruct__rt_184 _rt ; struct __anonstruct__sigchld_185 _sigchld ; struct __anonstruct__sigfault_186 _sigfault ; struct __anonstruct__sigpoll_188 _sigpoll ; struct __anonstruct__sigsys_189 _sigsys ; }; struct siginfo { int si_signo ; int si_errno ; int si_code ; union __anonunion__sifields_181 _sifields ; }; typedef struct siginfo siginfo_t; struct sigpending { struct list_head list ; sigset_t signal ; }; struct sigaction { __sighandler_t sa_handler ; unsigned long sa_flags ; __sigrestore_t sa_restorer ; sigset_t sa_mask ; }; struct k_sigaction { struct sigaction sa ; }; enum pid_type { PIDTYPE_PID = 0, PIDTYPE_PGID = 1, PIDTYPE_SID = 2, PIDTYPE_MAX = 3 } ; struct pid_namespace; struct upid { int nr ; struct pid_namespace *ns ; struct hlist_node pid_chain ; }; struct pid { atomic_t count ; unsigned int level ; struct hlist_head tasks[3U] ; struct callback_head rcu ; struct upid numbers[1U] ; }; struct pid_link { struct hlist_node node ; struct pid *pid ; }; struct percpu_counter { raw_spinlock_t lock ; s64 count ; struct list_head list ; s32 *counters ; }; struct seccomp_filter; struct seccomp { int mode ; struct seccomp_filter *filter ; }; struct rt_mutex_waiter; struct rlimit { __kernel_ulong_t rlim_cur ; __kernel_ulong_t rlim_max ; }; struct timerqueue_node { struct rb_node node ; ktime_t expires ; }; struct timerqueue_head { struct rb_root head ; struct timerqueue_node *next ; }; struct hrtimer_clock_base; struct hrtimer_cpu_base; enum hrtimer_restart { HRTIMER_NORESTART = 0, HRTIMER_RESTART = 1 } ; struct hrtimer { struct timerqueue_node node ; ktime_t _softexpires ; enum hrtimer_restart (*function)(struct hrtimer * ) ; struct hrtimer_clock_base *base ; unsigned long state ; int start_pid ; void *start_site ; char start_comm[16U] ; }; struct hrtimer_clock_base { struct hrtimer_cpu_base *cpu_base ; int index ; clockid_t clockid ; struct timerqueue_head active ; ktime_t (*get_time)(void) ; ktime_t offset ; }; struct hrtimer_cpu_base { raw_spinlock_t lock ; seqcount_t seq ; struct hrtimer *running ; unsigned int cpu ; unsigned int active_bases ; unsigned int clock_was_set_seq ; bool migration_enabled ; bool nohz_active ; unsigned char in_hrtirq : 1 ; unsigned char hres_active : 1 ; unsigned char hang_detected : 1 ; ktime_t expires_next ; struct hrtimer *next_timer ; unsigned int nr_events ; unsigned int nr_retries ; unsigned int nr_hangs ; unsigned int max_hang_time ; struct hrtimer_clock_base clock_base[4U] ; }; struct task_io_accounting { u64 rchar ; u64 wchar ; u64 syscr ; u64 syscw ; u64 read_bytes ; u64 write_bytes ; u64 cancelled_write_bytes ; }; struct latency_record { unsigned long backtrace[12U] ; unsigned int count ; unsigned long time ; unsigned long max ; }; struct assoc_array_ptr; struct assoc_array { struct assoc_array_ptr *root ; unsigned long nr_leaves_on_tree ; }; typedef int32_t key_serial_t; typedef uint32_t key_perm_t; struct key; struct signal_struct; struct key_type; struct keyring_index_key { struct key_type *type ; char const *description ; size_t desc_len ; }; union __anonunion____missing_field_name_196 { struct list_head graveyard_link ; struct rb_node serial_node ; }; struct key_user; union __anonunion____missing_field_name_197 { time_t expiry ; time_t revoked_at ; }; struct __anonstruct____missing_field_name_199 { struct key_type *type ; char *description ; }; union __anonunion____missing_field_name_198 { struct keyring_index_key index_key ; struct __anonstruct____missing_field_name_199 __annonCompField52 ; }; union __anonunion_type_data_200 { struct list_head link ; unsigned long x[2U] ; void *p[2U] ; int reject_error ; }; union __anonunion_payload_202 { unsigned long value ; void *rcudata ; void *data ; void *data2[2U] ; }; union __anonunion____missing_field_name_201 { union __anonunion_payload_202 payload ; struct assoc_array keys ; }; struct key { atomic_t usage ; key_serial_t serial ; union __anonunion____missing_field_name_196 __annonCompField50 ; struct rw_semaphore sem ; struct key_user *user ; void *security ; union __anonunion____missing_field_name_197 __annonCompField51 ; time_t last_used_at ; kuid_t uid ; kgid_t gid ; key_perm_t perm ; unsigned short quotalen ; unsigned short datalen ; unsigned long flags ; union __anonunion____missing_field_name_198 __annonCompField53 ; union __anonunion_type_data_200 type_data ; union __anonunion____missing_field_name_201 __annonCompField54 ; }; struct audit_context; struct group_info { atomic_t usage ; int ngroups ; int nblocks ; kgid_t small_block[32U] ; kgid_t *blocks[0U] ; }; struct cred { atomic_t usage ; atomic_t subscribers ; void *put_addr ; unsigned int magic ; kuid_t uid ; kgid_t gid ; kuid_t suid ; kgid_t sgid ; kuid_t euid ; kgid_t egid ; kuid_t fsuid ; kgid_t fsgid ; unsigned int securebits ; kernel_cap_t cap_inheritable ; kernel_cap_t cap_permitted ; kernel_cap_t cap_effective ; kernel_cap_t cap_bset ; unsigned char jit_keyring ; struct key *session_keyring ; struct key *process_keyring ; struct key *thread_keyring ; struct key *request_key_auth ; void *security ; struct user_struct *user ; struct user_namespace *user_ns ; struct group_info *group_info ; struct callback_head rcu ; }; struct percpu_ref; typedef void percpu_ref_func_t(struct percpu_ref * ); struct percpu_ref { atomic_long_t count ; unsigned long percpu_count_ptr ; percpu_ref_func_t *release ; percpu_ref_func_t *confirm_switch ; bool force_atomic ; struct callback_head rcu ; }; struct cgroup; struct cgroup_root; struct cgroup_subsys; struct cgroup_taskset; struct cgroup_subsys_state { struct cgroup *cgroup ; struct cgroup_subsys *ss ; struct percpu_ref refcnt ; struct cgroup_subsys_state *parent ; struct list_head sibling ; struct list_head children ; int id ; unsigned int flags ; u64 serial_nr ; struct callback_head callback_head ; struct work_struct destroy_work ; }; struct css_set { atomic_t refcount ; struct hlist_node hlist ; struct list_head tasks ; struct list_head mg_tasks ; struct list_head cgrp_links ; struct cgroup *dfl_cgrp ; struct cgroup_subsys_state *subsys[12U] ; struct list_head mg_preload_node ; struct list_head mg_node ; struct cgroup *mg_src_cgrp ; struct css_set *mg_dst_cset ; struct list_head e_cset_node[12U] ; struct callback_head callback_head ; }; struct cgroup { struct cgroup_subsys_state self ; unsigned long flags ; int id ; int populated_cnt ; struct kernfs_node *kn ; struct kernfs_node *procs_kn ; struct kernfs_node *populated_kn ; unsigned int subtree_control ; unsigned int child_subsys_mask ; struct cgroup_subsys_state *subsys[12U] ; struct cgroup_root *root ; struct list_head cset_links ; struct list_head e_csets[12U] ; struct list_head pidlists ; struct mutex pidlist_mutex ; wait_queue_head_t offline_waitq ; struct work_struct release_agent_work ; }; struct cgroup_root { struct kernfs_root *kf_root ; unsigned int subsys_mask ; int hierarchy_id ; struct cgroup cgrp ; atomic_t nr_cgrps ; struct list_head root_list ; unsigned int flags ; struct idr cgroup_idr ; char release_agent_path[4096U] ; char name[64U] ; }; struct cftype { char name[64U] ; int private ; umode_t mode ; size_t max_write_len ; unsigned int flags ; struct cgroup_subsys *ss ; struct list_head node ; struct kernfs_ops *kf_ops ; u64 (*read_u64)(struct cgroup_subsys_state * , struct cftype * ) ; s64 (*read_s64)(struct cgroup_subsys_state * , struct cftype * ) ; int (*seq_show)(struct seq_file * , void * ) ; void *(*seq_start)(struct seq_file * , loff_t * ) ; void *(*seq_next)(struct seq_file * , void * , loff_t * ) ; void (*seq_stop)(struct seq_file * , void * ) ; int (*write_u64)(struct cgroup_subsys_state * , struct cftype * , u64 ) ; int (*write_s64)(struct cgroup_subsys_state * , struct cftype * , s64 ) ; ssize_t (*write)(struct kernfs_open_file * , char * , size_t , loff_t ) ; struct lock_class_key lockdep_key ; }; struct cgroup_subsys { struct cgroup_subsys_state *(*css_alloc)(struct cgroup_subsys_state * ) ; int (*css_online)(struct cgroup_subsys_state * ) ; void (*css_offline)(struct cgroup_subsys_state * ) ; void (*css_released)(struct cgroup_subsys_state * ) ; void (*css_free)(struct cgroup_subsys_state * ) ; void (*css_reset)(struct cgroup_subsys_state * ) ; void (*css_e_css_changed)(struct cgroup_subsys_state * ) ; int (*can_attach)(struct cgroup_subsys_state * , struct cgroup_taskset * ) ; void (*cancel_attach)(struct cgroup_subsys_state * , struct cgroup_taskset * ) ; void (*attach)(struct cgroup_subsys_state * , struct cgroup_taskset * ) ; void (*fork)(struct task_struct * ) ; void (*exit)(struct cgroup_subsys_state * , struct cgroup_subsys_state * , struct task_struct * ) ; void (*bind)(struct cgroup_subsys_state * ) ; int disabled ; int early_init ; bool broken_hierarchy ; bool warned_broken_hierarchy ; int id ; char const *name ; struct cgroup_root *root ; struct idr css_idr ; struct list_head cfts ; struct cftype *dfl_cftypes ; struct cftype *legacy_cftypes ; unsigned int depends_on ; }; struct futex_pi_state; struct robust_list_head; struct bio_list; struct fs_struct; struct perf_event_context; struct blk_plug; struct nameidata; struct cfs_rq; struct task_group; struct sighand_struct { atomic_t count ; struct k_sigaction action[64U] ; spinlock_t siglock ; wait_queue_head_t signalfd_wqh ; }; struct pacct_struct { int ac_flag ; long ac_exitcode ; unsigned long ac_mem ; cputime_t ac_utime ; cputime_t ac_stime ; unsigned long ac_minflt ; unsigned long ac_majflt ; }; struct cpu_itimer { cputime_t expires ; cputime_t incr ; u32 error ; u32 incr_error ; }; struct cputime { cputime_t utime ; cputime_t stime ; }; struct task_cputime { cputime_t utime ; cputime_t stime ; unsigned long long sum_exec_runtime ; }; struct task_cputime_atomic { atomic64_t utime ; atomic64_t stime ; atomic64_t sum_exec_runtime ; }; struct thread_group_cputimer { struct task_cputime_atomic cputime_atomic ; int running ; }; struct autogroup; struct tty_struct; struct taskstats; struct tty_audit_buf; struct signal_struct { atomic_t sigcnt ; atomic_t live ; int nr_threads ; struct list_head thread_head ; wait_queue_head_t wait_chldexit ; struct task_struct *curr_target ; struct sigpending shared_pending ; int group_exit_code ; int notify_count ; struct task_struct *group_exit_task ; int group_stop_count ; unsigned int flags ; unsigned char is_child_subreaper : 1 ; unsigned char has_child_subreaper : 1 ; int posix_timer_id ; struct list_head posix_timers ; struct hrtimer real_timer ; struct pid *leader_pid ; ktime_t it_real_incr ; struct cpu_itimer it[2U] ; struct thread_group_cputimer cputimer ; struct task_cputime cputime_expires ; struct list_head cpu_timers[3U] ; struct pid *tty_old_pgrp ; int leader ; struct tty_struct *tty ; struct autogroup *autogroup ; seqlock_t stats_lock ; cputime_t utime ; cputime_t stime ; cputime_t cutime ; cputime_t cstime ; cputime_t gtime ; cputime_t cgtime ; struct cputime prev_cputime ; unsigned long nvcsw ; unsigned long nivcsw ; unsigned long cnvcsw ; unsigned long cnivcsw ; unsigned long min_flt ; unsigned long maj_flt ; unsigned long cmin_flt ; unsigned long cmaj_flt ; unsigned long inblock ; unsigned long oublock ; unsigned long cinblock ; unsigned long coublock ; unsigned long maxrss ; unsigned long cmaxrss ; struct task_io_accounting ioac ; unsigned long long sum_sched_runtime ; struct rlimit rlim[16U] ; struct pacct_struct pacct ; struct taskstats *stats ; unsigned int audit_tty ; unsigned int audit_tty_log_passwd ; struct tty_audit_buf *tty_audit_buf ; oom_flags_t oom_flags ; short oom_score_adj ; short oom_score_adj_min ; struct mutex cred_guard_mutex ; }; struct user_struct { atomic_t __count ; atomic_t processes ; atomic_t sigpending ; atomic_t inotify_watches ; atomic_t inotify_devs ; atomic_t fanotify_listeners ; atomic_long_t epoll_watches ; unsigned long mq_bytes ; unsigned long locked_shm ; struct key *uid_keyring ; struct key *session_keyring ; struct hlist_node uidhash_node ; kuid_t uid ; atomic_long_t locked_vm ; }; struct backing_dev_info; struct reclaim_state; struct sched_info { unsigned long pcount ; unsigned long long run_delay ; unsigned long long last_arrival ; unsigned long long last_queued ; }; struct task_delay_info { spinlock_t lock ; unsigned int flags ; u64 blkio_start ; u64 blkio_delay ; u64 swapin_delay ; u32 blkio_count ; u32 swapin_count ; u64 freepages_start ; u64 freepages_delay ; u32 freepages_count ; }; struct wake_q_node { struct wake_q_node *next ; }; struct io_context; struct pipe_inode_info; struct uts_namespace; struct load_weight { unsigned long weight ; u32 inv_weight ; }; struct sched_avg { u64 last_runnable_update ; s64 decay_count ; unsigned long load_avg_contrib ; unsigned long utilization_avg_contrib ; u32 runnable_avg_sum ; u32 avg_period ; u32 running_avg_sum ; }; struct sched_statistics { u64 wait_start ; u64 wait_max ; u64 wait_count ; u64 wait_sum ; u64 iowait_count ; u64 iowait_sum ; u64 sleep_start ; u64 sleep_max ; s64 sum_sleep_runtime ; u64 block_start ; u64 block_max ; u64 exec_max ; u64 slice_max ; u64 nr_migrations_cold ; u64 nr_failed_migrations_affine ; u64 nr_failed_migrations_running ; u64 nr_failed_migrations_hot ; u64 nr_forced_migrations ; u64 nr_wakeups ; u64 nr_wakeups_sync ; u64 nr_wakeups_migrate ; u64 nr_wakeups_local ; u64 nr_wakeups_remote ; u64 nr_wakeups_affine ; u64 nr_wakeups_affine_attempts ; u64 nr_wakeups_passive ; u64 nr_wakeups_idle ; }; struct sched_entity { struct load_weight load ; struct rb_node run_node ; struct list_head group_node ; unsigned int on_rq ; u64 exec_start ; u64 sum_exec_runtime ; u64 vruntime ; u64 prev_sum_exec_runtime ; u64 nr_migrations ; struct sched_statistics statistics ; int depth ; struct sched_entity *parent ; struct cfs_rq *cfs_rq ; struct cfs_rq *my_q ; struct sched_avg avg ; }; struct rt_rq; struct sched_rt_entity { struct list_head run_list ; unsigned long timeout ; unsigned long watchdog_stamp ; unsigned int time_slice ; struct sched_rt_entity *back ; struct sched_rt_entity *parent ; struct rt_rq *rt_rq ; struct rt_rq *my_q ; }; struct sched_dl_entity { struct rb_node rb_node ; u64 dl_runtime ; u64 dl_deadline ; u64 dl_period ; u64 dl_bw ; s64 runtime ; u64 deadline ; unsigned int flags ; int dl_throttled ; int dl_new ; int dl_boosted ; int dl_yielded ; struct hrtimer dl_timer ; }; struct memcg_oom_info { struct mem_cgroup *memcg ; gfp_t gfp_mask ; int order ; unsigned char may_oom : 1 ; }; struct sched_class; struct files_struct; struct compat_robust_list_head; struct numa_group; struct ftrace_ret_stack; struct task_struct { long volatile state ; void *stack ; atomic_t usage ; unsigned int flags ; unsigned int ptrace ; struct llist_node wake_entry ; int on_cpu ; struct task_struct *last_wakee ; unsigned long wakee_flips ; unsigned long wakee_flip_decay_ts ; int wake_cpu ; int on_rq ; int prio ; int static_prio ; int normal_prio ; unsigned int rt_priority ; struct sched_class const *sched_class ; struct sched_entity se ; struct sched_rt_entity rt ; struct task_group *sched_task_group ; struct sched_dl_entity dl ; struct hlist_head preempt_notifiers ; unsigned int btrace_seq ; unsigned int policy ; int nr_cpus_allowed ; cpumask_t cpus_allowed ; unsigned long rcu_tasks_nvcsw ; bool rcu_tasks_holdout ; struct list_head rcu_tasks_holdout_list ; int rcu_tasks_idle_cpu ; struct sched_info sched_info ; struct list_head tasks ; struct plist_node pushable_tasks ; struct rb_node pushable_dl_tasks ; struct mm_struct *mm ; struct mm_struct *active_mm ; u32 vmacache_seqnum ; struct vm_area_struct *vmacache[4U] ; struct task_rss_stat rss_stat ; int exit_state ; int exit_code ; int exit_signal ; int pdeath_signal ; unsigned long jobctl ; unsigned int personality ; unsigned char in_execve : 1 ; unsigned char in_iowait : 1 ; unsigned char sched_reset_on_fork : 1 ; unsigned char sched_contributes_to_load : 1 ; unsigned char sched_migrated : 1 ; unsigned char memcg_kmem_skip_account : 1 ; unsigned char brk_randomized : 1 ; unsigned long atomic_flags ; struct restart_block restart_block ; pid_t pid ; pid_t tgid ; struct task_struct *real_parent ; struct task_struct *parent ; struct list_head children ; struct list_head sibling ; struct task_struct *group_leader ; struct list_head ptraced ; struct list_head ptrace_entry ; struct pid_link pids[3U] ; struct list_head thread_group ; struct list_head thread_node ; struct completion *vfork_done ; int *set_child_tid ; int *clear_child_tid ; cputime_t utime ; cputime_t stime ; cputime_t utimescaled ; cputime_t stimescaled ; cputime_t gtime ; struct cputime prev_cputime ; unsigned long nvcsw ; unsigned long nivcsw ; u64 start_time ; u64 real_start_time ; unsigned long min_flt ; unsigned long maj_flt ; struct task_cputime cputime_expires ; struct list_head cpu_timers[3U] ; struct cred const *real_cred ; struct cred const *cred ; char comm[16U] ; struct nameidata *nameidata ; struct sysv_sem sysvsem ; struct sysv_shm sysvshm ; unsigned long last_switch_count ; struct thread_struct thread ; struct fs_struct *fs ; struct files_struct *files ; struct nsproxy *nsproxy ; struct signal_struct *signal ; struct sighand_struct *sighand ; sigset_t blocked ; sigset_t real_blocked ; sigset_t saved_sigmask ; struct sigpending pending ; unsigned long sas_ss_sp ; size_t sas_ss_size ; int (*notifier)(void * ) ; void *notifier_data ; sigset_t *notifier_mask ; struct callback_head *task_works ; struct audit_context *audit_context ; kuid_t loginuid ; unsigned int sessionid ; struct seccomp seccomp ; u32 parent_exec_id ; u32 self_exec_id ; spinlock_t alloc_lock ; raw_spinlock_t pi_lock ; struct wake_q_node wake_q ; struct rb_root pi_waiters ; struct rb_node *pi_waiters_leftmost ; struct rt_mutex_waiter *pi_blocked_on ; struct mutex_waiter *blocked_on ; unsigned int irq_events ; unsigned long hardirq_enable_ip ; unsigned long hardirq_disable_ip ; unsigned int hardirq_enable_event ; unsigned int hardirq_disable_event ; int hardirqs_enabled ; int hardirq_context ; unsigned long softirq_disable_ip ; unsigned long softirq_enable_ip ; unsigned int softirq_disable_event ; unsigned int softirq_enable_event ; int softirqs_enabled ; int softirq_context ; u64 curr_chain_key ; int lockdep_depth ; unsigned int lockdep_recursion ; struct held_lock held_locks[48U] ; gfp_t lockdep_reclaim_gfp ; void *journal_info ; struct bio_list *bio_list ; struct blk_plug *plug ; struct reclaim_state *reclaim_state ; struct backing_dev_info *backing_dev_info ; struct io_context *io_context ; unsigned long ptrace_message ; siginfo_t *last_siginfo ; struct task_io_accounting ioac ; u64 acct_rss_mem1 ; u64 acct_vm_mem1 ; cputime_t acct_timexpd ; nodemask_t mems_allowed ; seqcount_t mems_allowed_seq ; int cpuset_mem_spread_rotor ; int cpuset_slab_spread_rotor ; struct css_set *cgroups ; struct list_head cg_list ; struct robust_list_head *robust_list ; struct compat_robust_list_head *compat_robust_list ; struct list_head pi_state_list ; struct futex_pi_state *pi_state_cache ; struct perf_event_context *perf_event_ctxp[2U] ; struct mutex perf_event_mutex ; struct list_head perf_event_list ; struct mempolicy *mempolicy ; short il_next ; short pref_node_fork ; int numa_scan_seq ; unsigned int numa_scan_period ; unsigned int numa_scan_period_max ; int numa_preferred_nid ; unsigned long numa_migrate_retry ; u64 node_stamp ; u64 last_task_numa_placement ; u64 last_sum_exec_runtime ; struct callback_head numa_work ; struct list_head numa_entry ; struct numa_group *numa_group ; unsigned long *numa_faults ; unsigned long total_numa_faults ; unsigned long numa_faults_locality[3U] ; unsigned long numa_pages_migrated ; struct callback_head rcu ; struct pipe_inode_info *splice_pipe ; struct page_frag task_frag ; struct task_delay_info *delays ; int make_it_fail ; int nr_dirtied ; int nr_dirtied_pause ; unsigned long dirty_paused_when ; int latency_record_count ; struct latency_record latency_record[32U] ; unsigned long timer_slack_ns ; unsigned long default_timer_slack_ns ; unsigned int kasan_depth ; int curr_ret_stack ; struct ftrace_ret_stack *ret_stack ; unsigned long long ftrace_timestamp ; atomic_t trace_overrun ; atomic_t tracing_graph_pause ; unsigned long trace ; unsigned long trace_recursion ; struct memcg_oom_info memcg_oom ; struct uprobe_task *utask ; unsigned int sequential_io ; unsigned int sequential_io_avg ; unsigned long task_state_change ; int pagefault_disabled ; }; struct vfsmount; struct path; struct hlist_bl_node; struct hlist_bl_head { struct hlist_bl_node *first ; }; struct hlist_bl_node { struct hlist_bl_node *next ; struct hlist_bl_node **pprev ; }; struct __anonstruct____missing_field_name_220 { spinlock_t lock ; int count ; }; union __anonunion____missing_field_name_219 { struct __anonstruct____missing_field_name_220 __annonCompField58 ; }; struct lockref { union __anonunion____missing_field_name_219 __annonCompField59 ; }; struct __anonstruct____missing_field_name_222 { u32 hash ; u32 len ; }; union __anonunion____missing_field_name_221 { struct __anonstruct____missing_field_name_222 __annonCompField60 ; u64 hash_len ; }; struct qstr { union __anonunion____missing_field_name_221 __annonCompField61 ; unsigned char const *name ; }; struct dentry_operations; union __anonunion_d_u_223 { struct hlist_node d_alias ; struct callback_head d_rcu ; }; struct dentry { unsigned int d_flags ; seqcount_t d_seq ; struct hlist_bl_node d_hash ; struct dentry *d_parent ; struct qstr d_name ; struct inode *d_inode ; unsigned char d_iname[32U] ; struct lockref d_lockref ; struct dentry_operations const *d_op ; struct super_block *d_sb ; unsigned long d_time ; void *d_fsdata ; struct list_head d_lru ; struct list_head d_child ; struct list_head d_subdirs ; union __anonunion_d_u_223 d_u ; }; struct dentry_operations { int (*d_revalidate)(struct dentry * , unsigned int ) ; int (*d_weak_revalidate)(struct dentry * , unsigned int ) ; int (*d_hash)(struct dentry const * , struct qstr * ) ; int (*d_compare)(struct dentry const * , struct dentry const * , unsigned int , char const * , struct qstr const * ) ; int (*d_delete)(struct dentry const * ) ; void (*d_release)(struct dentry * ) ; void (*d_prune)(struct dentry * ) ; void (*d_iput)(struct dentry * , struct inode * ) ; char *(*d_dname)(struct dentry * , char * , int ) ; struct vfsmount *(*d_automount)(struct path * ) ; int (*d_manage)(struct dentry * , bool ) ; struct inode *(*d_select_inode)(struct dentry * , unsigned int ) ; }; struct path { struct vfsmount *mnt ; struct dentry *dentry ; }; struct shrink_control { gfp_t gfp_mask ; unsigned long nr_to_scan ; int nid ; struct mem_cgroup *memcg ; }; struct shrinker { unsigned long (*count_objects)(struct shrinker * , struct shrink_control * ) ; unsigned long (*scan_objects)(struct shrinker * , struct shrink_control * ) ; int seeks ; long batch ; unsigned long flags ; struct list_head list ; atomic_long_t *nr_deferred ; }; struct list_lru_one { struct list_head list ; long nr_items ; }; struct list_lru_memcg { struct list_lru_one *lru[0U] ; }; struct list_lru_node { spinlock_t lock ; struct list_lru_one lru ; struct list_lru_memcg *memcg_lrus ; }; struct list_lru { struct list_lru_node *node ; struct list_head list ; }; struct __anonstruct____missing_field_name_227 { struct radix_tree_node *parent ; void *private_data ; }; union __anonunion____missing_field_name_226 { struct __anonstruct____missing_field_name_227 __annonCompField62 ; struct callback_head callback_head ; }; struct radix_tree_node { unsigned int path ; unsigned int count ; union __anonunion____missing_field_name_226 __annonCompField63 ; struct list_head private_list ; void *slots[64U] ; unsigned long tags[3U][1U] ; }; struct radix_tree_root { unsigned int height ; gfp_t gfp_mask ; struct radix_tree_node *rnode ; }; struct semaphore { raw_spinlock_t lock ; unsigned int count ; struct list_head wait_list ; }; struct fiemap_extent { __u64 fe_logical ; __u64 fe_physical ; __u64 fe_length ; __u64 fe_reserved64[2U] ; __u32 fe_flags ; __u32 fe_reserved[3U] ; }; enum migrate_mode { MIGRATE_ASYNC = 0, MIGRATE_SYNC_LIGHT = 1, MIGRATE_SYNC = 2 } ; struct block_device; struct bio_vec { struct page *bv_page ; unsigned int bv_len ; unsigned int bv_offset ; }; struct bdi_writeback; struct export_operations; struct iovec; struct kiocb; struct poll_table_struct; struct kstatfs; struct swap_info_struct; struct iov_iter; struct vm_fault; struct iattr { unsigned int ia_valid ; umode_t ia_mode ; kuid_t ia_uid ; kgid_t ia_gid ; loff_t ia_size ; struct timespec ia_atime ; struct timespec ia_mtime ; struct timespec ia_ctime ; struct file *ia_file ; }; struct dquot; typedef __kernel_uid32_t projid_t; struct __anonstruct_kprojid_t_231 { projid_t val ; }; typedef struct __anonstruct_kprojid_t_231 kprojid_t; enum quota_type { USRQUOTA = 0, GRPQUOTA = 1, PRJQUOTA = 2 } ; typedef long long qsize_t; union __anonunion____missing_field_name_232 { kuid_t uid ; kgid_t gid ; kprojid_t projid ; }; struct kqid { union __anonunion____missing_field_name_232 __annonCompField65 ; enum quota_type type ; }; struct mem_dqblk { qsize_t dqb_bhardlimit ; qsize_t dqb_bsoftlimit ; qsize_t dqb_curspace ; qsize_t dqb_rsvspace ; qsize_t dqb_ihardlimit ; qsize_t dqb_isoftlimit ; qsize_t dqb_curinodes ; time_t dqb_btime ; time_t dqb_itime ; }; struct quota_format_type; struct mem_dqinfo { struct quota_format_type *dqi_format ; int dqi_fmt_id ; struct list_head dqi_dirty_list ; unsigned long dqi_flags ; unsigned int dqi_bgrace ; unsigned int dqi_igrace ; qsize_t dqi_max_spc_limit ; qsize_t dqi_max_ino_limit ; void *dqi_priv ; }; struct dquot { struct hlist_node dq_hash ; struct list_head dq_inuse ; struct list_head dq_free ; struct list_head dq_dirty ; struct mutex dq_lock ; atomic_t dq_count ; wait_queue_head_t dq_wait_unused ; struct super_block *dq_sb ; struct kqid dq_id ; loff_t dq_off ; unsigned long dq_flags ; struct mem_dqblk dq_dqb ; }; struct quota_format_ops { int (*check_quota_file)(struct super_block * , int ) ; int (*read_file_info)(struct super_block * , int ) ; int (*write_file_info)(struct super_block * , int ) ; int (*free_file_info)(struct super_block * , int ) ; int (*read_dqblk)(struct dquot * ) ; int (*commit_dqblk)(struct dquot * ) ; int (*release_dqblk)(struct dquot * ) ; }; struct dquot_operations { int (*write_dquot)(struct dquot * ) ; struct dquot *(*alloc_dquot)(struct super_block * , int ) ; void (*destroy_dquot)(struct dquot * ) ; int (*acquire_dquot)(struct dquot * ) ; int (*release_dquot)(struct dquot * ) ; int (*mark_dirty)(struct dquot * ) ; int (*write_info)(struct super_block * , int ) ; qsize_t *(*get_reserved_space)(struct inode * ) ; int (*get_projid)(struct inode * , kprojid_t * ) ; }; struct qc_dqblk { int d_fieldmask ; u64 d_spc_hardlimit ; u64 d_spc_softlimit ; u64 d_ino_hardlimit ; u64 d_ino_softlimit ; u64 d_space ; u64 d_ino_count ; s64 d_ino_timer ; s64 d_spc_timer ; int d_ino_warns ; int d_spc_warns ; u64 d_rt_spc_hardlimit ; u64 d_rt_spc_softlimit ; u64 d_rt_space ; s64 d_rt_spc_timer ; int d_rt_spc_warns ; }; struct qc_type_state { unsigned int flags ; unsigned int spc_timelimit ; unsigned int ino_timelimit ; unsigned int rt_spc_timelimit ; unsigned int spc_warnlimit ; unsigned int ino_warnlimit ; unsigned int rt_spc_warnlimit ; unsigned long long ino ; blkcnt_t blocks ; blkcnt_t nextents ; }; struct qc_state { unsigned int s_incoredqs ; struct qc_type_state s_state[3U] ; }; struct qc_info { int i_fieldmask ; unsigned int i_flags ; unsigned int i_spc_timelimit ; unsigned int i_ino_timelimit ; unsigned int i_rt_spc_timelimit ; unsigned int i_spc_warnlimit ; unsigned int i_ino_warnlimit ; unsigned int i_rt_spc_warnlimit ; }; struct quotactl_ops { int (*quota_on)(struct super_block * , int , int , struct path * ) ; int (*quota_off)(struct super_block * , int ) ; int (*quota_enable)(struct super_block * , unsigned int ) ; int (*quota_disable)(struct super_block * , unsigned int ) ; int (*quota_sync)(struct super_block * , int ) ; int (*set_info)(struct super_block * , int , struct qc_info * ) ; int (*get_dqblk)(struct super_block * , struct kqid , struct qc_dqblk * ) ; int (*set_dqblk)(struct super_block * , struct kqid , struct qc_dqblk * ) ; int (*get_state)(struct super_block * , struct qc_state * ) ; int (*rm_xquota)(struct super_block * , unsigned int ) ; }; struct quota_format_type { int qf_fmt_id ; struct quota_format_ops const *qf_ops ; struct module *qf_owner ; struct quota_format_type *qf_next ; }; struct quota_info { unsigned int flags ; struct mutex dqio_mutex ; struct mutex dqonoff_mutex ; struct inode *files[3U] ; struct mem_dqinfo info[3U] ; struct quota_format_ops const *ops[3U] ; }; struct writeback_control; struct kiocb { struct file *ki_filp ; loff_t ki_pos ; void (*ki_complete)(struct kiocb * , long , long ) ; void *private ; int ki_flags ; }; struct address_space_operations { int (*writepage)(struct page * , struct writeback_control * ) ; int (*readpage)(struct file * , struct page * ) ; int (*writepages)(struct address_space * , struct writeback_control * ) ; int (*set_page_dirty)(struct page * ) ; int (*readpages)(struct file * , struct address_space * , struct list_head * , unsigned int ) ; int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int , unsigned int , struct page ** , void ** ) ; int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int , unsigned int , struct page * , void * ) ; sector_t (*bmap)(struct address_space * , sector_t ) ; void (*invalidatepage)(struct page * , unsigned int , unsigned int ) ; int (*releasepage)(struct page * , gfp_t ) ; void (*freepage)(struct page * ) ; ssize_t (*direct_IO)(struct kiocb * , struct iov_iter * , loff_t ) ; int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ; int (*launder_page)(struct page * ) ; int (*is_partially_uptodate)(struct page * , unsigned long , unsigned long ) ; void (*is_dirty_writeback)(struct page * , bool * , bool * ) ; int (*error_remove_page)(struct address_space * , struct page * ) ; int (*swap_activate)(struct swap_info_struct * , struct file * , sector_t * ) ; void (*swap_deactivate)(struct file * ) ; }; struct address_space { struct inode *host ; struct radix_tree_root page_tree ; spinlock_t tree_lock ; atomic_t i_mmap_writable ; struct rb_root i_mmap ; struct rw_semaphore i_mmap_rwsem ; unsigned long nrpages ; unsigned long nrshadows ; unsigned long writeback_index ; struct address_space_operations const *a_ops ; unsigned long flags ; spinlock_t private_lock ; struct list_head private_list ; void *private_data ; }; struct request_queue; struct hd_struct; struct gendisk; struct block_device { dev_t bd_dev ; int bd_openers ; struct inode *bd_inode ; struct super_block *bd_super ; struct mutex bd_mutex ; struct list_head bd_inodes ; void *bd_claiming ; void *bd_holder ; int bd_holders ; bool bd_write_holder ; struct list_head bd_holder_disks ; struct block_device *bd_contains ; unsigned int bd_block_size ; struct hd_struct *bd_part ; unsigned int bd_part_count ; int bd_invalidated ; struct gendisk *bd_disk ; struct request_queue *bd_queue ; struct list_head bd_list ; unsigned long bd_private ; int bd_fsfreeze_count ; struct mutex bd_fsfreeze_mutex ; }; struct posix_acl; struct inode_operations; union __anonunion____missing_field_name_235 { unsigned int const i_nlink ; unsigned int __i_nlink ; }; union __anonunion____missing_field_name_236 { struct hlist_head i_dentry ; struct callback_head i_rcu ; }; struct file_lock_context; struct cdev; union __anonunion____missing_field_name_237 { struct pipe_inode_info *i_pipe ; struct block_device *i_bdev ; struct cdev *i_cdev ; char *i_link ; }; struct inode { umode_t i_mode ; unsigned short i_opflags ; kuid_t i_uid ; kgid_t i_gid ; unsigned int i_flags ; struct posix_acl *i_acl ; struct posix_acl *i_default_acl ; struct inode_operations const *i_op ; struct super_block *i_sb ; struct address_space *i_mapping ; void *i_security ; unsigned long i_ino ; union __anonunion____missing_field_name_235 __annonCompField66 ; dev_t i_rdev ; loff_t i_size ; struct timespec i_atime ; struct timespec i_mtime ; struct timespec i_ctime ; spinlock_t i_lock ; unsigned short i_bytes ; unsigned int i_blkbits ; blkcnt_t i_blocks ; unsigned long i_state ; struct mutex i_mutex ; unsigned long dirtied_when ; unsigned long dirtied_time_when ; struct hlist_node i_hash ; struct list_head i_wb_list ; struct bdi_writeback *i_wb ; int i_wb_frn_winner ; u16 i_wb_frn_avg_time ; u16 i_wb_frn_history ; struct list_head i_lru ; struct list_head i_sb_list ; union __anonunion____missing_field_name_236 __annonCompField67 ; u64 i_version ; atomic_t i_count ; atomic_t i_dio_count ; atomic_t i_writecount ; atomic_t i_readcount ; struct file_operations const *i_fop ; struct file_lock_context *i_flctx ; struct address_space i_data ; struct list_head i_devices ; union __anonunion____missing_field_name_237 __annonCompField68 ; __u32 i_generation ; __u32 i_fsnotify_mask ; struct hlist_head i_fsnotify_marks ; void *i_private ; }; struct fown_struct { rwlock_t lock ; struct pid *pid ; enum pid_type pid_type ; kuid_t uid ; kuid_t euid ; int signum ; }; struct file_ra_state { unsigned long start ; unsigned int size ; unsigned int async_size ; unsigned int ra_pages ; unsigned int mmap_miss ; loff_t prev_pos ; }; union __anonunion_f_u_238 { struct llist_node fu_llist ; struct callback_head fu_rcuhead ; }; struct file { union __anonunion_f_u_238 f_u ; struct path f_path ; struct inode *f_inode ; struct file_operations const *f_op ; spinlock_t f_lock ; atomic_long_t f_count ; unsigned int f_flags ; fmode_t f_mode ; struct mutex f_pos_lock ; loff_t f_pos ; struct fown_struct f_owner ; struct cred const *f_cred ; struct file_ra_state f_ra ; u64 f_version ; void *f_security ; void *private_data ; struct list_head f_ep_links ; struct list_head f_tfile_llink ; struct address_space *f_mapping ; }; typedef void *fl_owner_t; struct file_lock; struct file_lock_operations { void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ; void (*fl_release_private)(struct file_lock * ) ; }; struct lock_manager_operations { int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ; unsigned long (*lm_owner_key)(struct file_lock * ) ; fl_owner_t (*lm_get_owner)(fl_owner_t ) ; void (*lm_put_owner)(fl_owner_t ) ; void (*lm_notify)(struct file_lock * ) ; int (*lm_grant)(struct file_lock * , int ) ; bool (*lm_break)(struct file_lock * ) ; int (*lm_change)(struct file_lock * , int , struct list_head * ) ; void (*lm_setup)(struct file_lock * , void ** ) ; }; struct net; struct nlm_lockowner; struct nfs_lock_info { u32 state ; struct nlm_lockowner *owner ; struct list_head list ; }; struct nfs4_lock_state; struct nfs4_lock_info { struct nfs4_lock_state *owner ; }; struct fasync_struct; struct __anonstruct_afs_240 { struct list_head link ; int state ; }; union __anonunion_fl_u_239 { struct nfs_lock_info nfs_fl ; struct nfs4_lock_info nfs4_fl ; struct __anonstruct_afs_240 afs ; }; struct file_lock { struct file_lock *fl_next ; struct list_head fl_list ; struct hlist_node fl_link ; struct list_head fl_block ; fl_owner_t fl_owner ; unsigned int fl_flags ; unsigned char fl_type ; unsigned int fl_pid ; int fl_link_cpu ; struct pid *fl_nspid ; wait_queue_head_t fl_wait ; struct file *fl_file ; loff_t fl_start ; loff_t fl_end ; struct fasync_struct *fl_fasync ; unsigned long fl_break_time ; unsigned long fl_downgrade_time ; struct file_lock_operations const *fl_ops ; struct lock_manager_operations const *fl_lmops ; union __anonunion_fl_u_239 fl_u ; }; struct file_lock_context { spinlock_t flc_lock ; struct list_head flc_flock ; struct list_head flc_posix ; struct list_head flc_lease ; }; struct fasync_struct { spinlock_t fa_lock ; int magic ; int fa_fd ; struct fasync_struct *fa_next ; struct file *fa_file ; struct callback_head fa_rcu ; }; struct sb_writers { struct percpu_counter counter[3U] ; wait_queue_head_t wait ; int frozen ; wait_queue_head_t wait_unfrozen ; struct lockdep_map lock_map[3U] ; }; struct super_operations; struct xattr_handler; struct mtd_info; struct super_block { struct list_head s_list ; dev_t s_dev ; unsigned char s_blocksize_bits ; unsigned long s_blocksize ; loff_t s_maxbytes ; struct file_system_type *s_type ; struct super_operations const *s_op ; struct dquot_operations const *dq_op ; struct quotactl_ops const *s_qcop ; struct export_operations const *s_export_op ; unsigned long s_flags ; unsigned long s_iflags ; unsigned long s_magic ; struct dentry *s_root ; struct rw_semaphore s_umount ; int s_count ; atomic_t s_active ; void *s_security ; struct xattr_handler const **s_xattr ; struct list_head s_inodes ; struct hlist_bl_head s_anon ; struct list_head s_mounts ; struct block_device *s_bdev ; struct backing_dev_info *s_bdi ; struct mtd_info *s_mtd ; struct hlist_node s_instances ; unsigned int s_quota_types ; struct quota_info s_dquot ; struct sb_writers s_writers ; char s_id[32U] ; u8 s_uuid[16U] ; void *s_fs_info ; unsigned int s_max_links ; fmode_t s_mode ; u32 s_time_gran ; struct mutex s_vfs_rename_mutex ; char *s_subtype ; char *s_options ; struct dentry_operations const *s_d_op ; int cleancache_poolid ; struct shrinker s_shrink ; atomic_long_t s_remove_count ; int s_readonly_remount ; struct workqueue_struct *s_dio_done_wq ; struct hlist_head s_pins ; struct list_lru s_dentry_lru ; struct list_lru s_inode_lru ; struct callback_head rcu ; int s_stack_depth ; }; struct fiemap_extent_info { unsigned int fi_flags ; unsigned int fi_extents_mapped ; unsigned int fi_extents_max ; struct fiemap_extent *fi_extents_start ; }; struct dir_context; struct dir_context { int (*actor)(struct dir_context * , char const * , int , loff_t , u64 , unsigned int ) ; loff_t pos ; }; struct file_operations { struct module *owner ; loff_t (*llseek)(struct file * , loff_t , int ) ; ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ; ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ; ssize_t (*read_iter)(struct kiocb * , struct iov_iter * ) ; ssize_t (*write_iter)(struct kiocb * , struct iov_iter * ) ; int (*iterate)(struct file * , struct dir_context * ) ; unsigned int (*poll)(struct file * , struct poll_table_struct * ) ; long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ; long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ; int (*mmap)(struct file * , struct vm_area_struct * ) ; int (*mremap)(struct file * , struct vm_area_struct * ) ; int (*open)(struct inode * , struct file * ) ; int (*flush)(struct file * , fl_owner_t ) ; int (*release)(struct inode * , struct file * ) ; int (*fsync)(struct file * , loff_t , loff_t , int ) ; int (*aio_fsync)(struct kiocb * , int ) ; int (*fasync)(int , struct file * , int ) ; int (*lock)(struct file * , int , struct file_lock * ) ; ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * , int ) ; unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long , unsigned long , unsigned long ) ; int (*check_flags)(int ) ; int (*flock)(struct file * , int , struct file_lock * ) ; ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ) ; ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ) ; int (*setlease)(struct file * , long , struct file_lock ** , void ** ) ; long (*fallocate)(struct file * , int , loff_t , loff_t ) ; void (*show_fdinfo)(struct seq_file * , struct file * ) ; }; struct inode_operations { struct dentry *(*lookup)(struct inode * , struct dentry * , unsigned int ) ; char const *(*follow_link)(struct dentry * , void ** ) ; int (*permission)(struct inode * , int ) ; struct posix_acl *(*get_acl)(struct inode * , int ) ; int (*readlink)(struct dentry * , char * , int ) ; void (*put_link)(struct inode * , void * ) ; int (*create)(struct inode * , struct dentry * , umode_t , bool ) ; int (*link)(struct dentry * , struct inode * , struct dentry * ) ; int (*unlink)(struct inode * , struct dentry * ) ; int (*symlink)(struct inode * , struct dentry * , char const * ) ; int (*mkdir)(struct inode * , struct dentry * , umode_t ) ; int (*rmdir)(struct inode * , struct dentry * ) ; int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ; int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ; int (*rename2)(struct inode * , struct dentry * , struct inode * , struct dentry * , unsigned int ) ; int (*setattr)(struct dentry * , struct iattr * ) ; int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ; int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ; ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ; ssize_t (*listxattr)(struct dentry * , char * , size_t ) ; int (*removexattr)(struct dentry * , char const * ) ; int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ; int (*update_time)(struct inode * , struct timespec * , int ) ; int (*atomic_open)(struct inode * , struct dentry * , struct file * , unsigned int , umode_t , int * ) ; int (*tmpfile)(struct inode * , struct dentry * , umode_t ) ; int (*set_acl)(struct inode * , struct posix_acl * , int ) ; }; struct super_operations { struct inode *(*alloc_inode)(struct super_block * ) ; void (*destroy_inode)(struct inode * ) ; void (*dirty_inode)(struct inode * , int ) ; int (*write_inode)(struct inode * , struct writeback_control * ) ; int (*drop_inode)(struct inode * ) ; void (*evict_inode)(struct inode * ) ; void (*put_super)(struct super_block * ) ; int (*sync_fs)(struct super_block * , int ) ; int (*freeze_super)(struct super_block * ) ; int (*freeze_fs)(struct super_block * ) ; int (*thaw_super)(struct super_block * ) ; int (*unfreeze_fs)(struct super_block * ) ; int (*statfs)(struct dentry * , struct kstatfs * ) ; int (*remount_fs)(struct super_block * , int * , char * ) ; void (*umount_begin)(struct super_block * ) ; int (*show_options)(struct seq_file * , struct dentry * ) ; int (*show_devname)(struct seq_file * , struct dentry * ) ; int (*show_path)(struct seq_file * , struct dentry * ) ; int (*show_stats)(struct seq_file * , struct dentry * ) ; ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ; ssize_t (*quota_write)(struct super_block * , int , char const * , size_t , loff_t ) ; struct dquot **(*get_dquots)(struct inode * ) ; int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ; long (*nr_cached_objects)(struct super_block * , struct shrink_control * ) ; long (*free_cached_objects)(struct super_block * , struct shrink_control * ) ; }; struct file_system_type { char const *name ; int fs_flags ; struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ; void (*kill_sb)(struct super_block * ) ; struct module *owner ; struct file_system_type *next ; struct hlist_head fs_supers ; struct lock_class_key s_lock_key ; struct lock_class_key s_umount_key ; struct lock_class_key s_vfs_rename_key ; struct lock_class_key s_writers_key[3U] ; struct lock_class_key i_lock_key ; struct lock_class_key i_mutex_key ; struct lock_class_key i_mutex_dir_key ; }; struct vm_fault { unsigned int flags ; unsigned long pgoff ; void *virtual_address ; struct page *cow_page ; struct page *page ; unsigned long max_pgoff ; pte_t *pte ; }; struct vm_operations_struct { void (*open)(struct vm_area_struct * ) ; void (*close)(struct vm_area_struct * ) ; int (*fault)(struct vm_area_struct * , struct vm_fault * ) ; void (*map_pages)(struct vm_area_struct * , struct vm_fault * ) ; int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ; int (*pfn_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ; int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ; char const *(*name)(struct vm_area_struct * ) ; int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ; struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ; struct page *(*find_special_page)(struct vm_area_struct * , unsigned long ) ; }; struct kvec; struct exception_table_entry { int insn ; int fixup ; }; struct proc_dir_entry; struct tasklet_struct { struct tasklet_struct *next ; unsigned long state ; atomic_t count ; void (*func)(unsigned long ) ; unsigned long data ; }; struct taskstats { __u16 version ; __u32 ac_exitcode ; __u8 ac_flag ; __u8 ac_nice ; __u64 cpu_count ; __u64 cpu_delay_total ; __u64 blkio_count ; __u64 blkio_delay_total ; __u64 swapin_count ; __u64 swapin_delay_total ; __u64 cpu_run_real_total ; __u64 cpu_run_virtual_total ; char ac_comm[32U] ; __u8 ac_sched ; __u8 ac_pad[3U] ; __u32 ac_uid ; __u32 ac_gid ; __u32 ac_pid ; __u32 ac_ppid ; __u32 ac_btime ; __u64 ac_etime ; __u64 ac_utime ; __u64 ac_stime ; __u64 ac_minflt ; __u64 ac_majflt ; __u64 coremem ; __u64 virtmem ; __u64 hiwater_rss ; __u64 hiwater_vm ; __u64 read_char ; __u64 write_char ; __u64 read_syscalls ; __u64 write_syscalls ; __u64 read_bytes ; __u64 write_bytes ; __u64 cancelled_write_bytes ; __u64 nvcsw ; __u64 nivcsw ; __u64 ac_utimescaled ; __u64 ac_stimescaled ; __u64 cpu_scaled_run_real_total ; __u64 freepages_count ; __u64 freepages_delay_total ; }; struct seq_file { char *buf ; size_t size ; size_t from ; size_t count ; size_t pad_until ; loff_t index ; loff_t read_pos ; u64 version ; struct mutex lock ; struct seq_operations const *op ; int poll_event ; struct user_namespace *user_ns ; void *private ; }; struct seq_operations { void *(*start)(struct seq_file * , loff_t * ) ; void (*stop)(struct seq_file * , void * ) ; void *(*next)(struct seq_file * , void * , loff_t * ) ; int (*show)(struct seq_file * , void * ) ; }; struct klist_node; struct klist_node { void *n_klist ; struct list_head n_node ; struct kref n_ref ; }; struct pinctrl; struct pinctrl_state; struct dev_pin_info { struct pinctrl *p ; struct pinctrl_state *default_state ; struct pinctrl_state *sleep_state ; struct pinctrl_state *idle_state ; }; struct dma_map_ops; struct dev_archdata { struct dma_map_ops *dma_ops ; void *iommu ; }; struct device_private; struct device_driver; struct driver_private; struct class; struct subsys_private; struct bus_type; struct device_node; struct fwnode_handle; struct iommu_ops; struct iommu_group; struct device_attribute; struct bus_type { char const *name ; char const *dev_name ; struct device *dev_root ; struct device_attribute *dev_attrs ; struct attribute_group const **bus_groups ; struct attribute_group const **dev_groups ; struct attribute_group const **drv_groups ; int (*match)(struct device * , struct device_driver * ) ; int (*uevent)(struct device * , struct kobj_uevent_env * ) ; int (*probe)(struct device * ) ; int (*remove)(struct device * ) ; void (*shutdown)(struct device * ) ; int (*online)(struct device * ) ; int (*offline)(struct device * ) ; int (*suspend)(struct device * , pm_message_t ) ; int (*resume)(struct device * ) ; struct dev_pm_ops const *pm ; struct iommu_ops const *iommu_ops ; struct subsys_private *p ; struct lock_class_key lock_key ; }; struct device_type; enum probe_type { PROBE_DEFAULT_STRATEGY = 0, PROBE_PREFER_ASYNCHRONOUS = 1, PROBE_FORCE_SYNCHRONOUS = 2 } ; struct of_device_id; struct acpi_device_id; struct device_driver { char const *name ; struct bus_type *bus ; struct module *owner ; char const *mod_name ; bool suppress_bind_attrs ; enum probe_type probe_type ; struct of_device_id const *of_match_table ; struct acpi_device_id const *acpi_match_table ; int (*probe)(struct device * ) ; int (*remove)(struct device * ) ; void (*shutdown)(struct device * ) ; int (*suspend)(struct device * , pm_message_t ) ; int (*resume)(struct device * ) ; struct attribute_group const **groups ; struct dev_pm_ops const *pm ; struct driver_private *p ; }; struct class_attribute; struct class { char const *name ; struct module *owner ; struct class_attribute *class_attrs ; struct attribute_group const **dev_groups ; struct kobject *dev_kobj ; int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ; char *(*devnode)(struct device * , umode_t * ) ; void (*class_release)(struct class * ) ; void (*dev_release)(struct device * ) ; int (*suspend)(struct device * , pm_message_t ) ; int (*resume)(struct device * ) ; struct kobj_ns_type_operations const *ns_type ; void const *(*namespace)(struct device * ) ; struct dev_pm_ops const *pm ; struct subsys_private *p ; }; struct class_attribute { struct attribute attr ; ssize_t (*show)(struct class * , struct class_attribute * , char * ) ; ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ; }; struct device_type { char const *name ; struct attribute_group const **groups ; int (*uevent)(struct device * , struct kobj_uevent_env * ) ; char *(*devnode)(struct device * , umode_t * , kuid_t * , kgid_t * ) ; void (*release)(struct device * ) ; struct dev_pm_ops const *pm ; }; struct device_attribute { struct attribute attr ; ssize_t (*show)(struct device * , struct device_attribute * , char * ) ; ssize_t (*store)(struct device * , struct device_attribute * , char const * , size_t ) ; }; struct device_dma_parameters { unsigned int max_segment_size ; unsigned long segment_boundary_mask ; }; struct dma_coherent_mem; struct cma; struct device { struct device *parent ; struct device_private *p ; struct kobject kobj ; char const *init_name ; struct device_type const *type ; struct mutex mutex ; struct bus_type *bus ; struct device_driver *driver ; void *platform_data ; void *driver_data ; struct dev_pm_info power ; struct dev_pm_domain *pm_domain ; struct dev_pin_info *pins ; int numa_node ; u64 *dma_mask ; u64 coherent_dma_mask ; unsigned long dma_pfn_offset ; struct device_dma_parameters *dma_parms ; struct list_head dma_pools ; struct dma_coherent_mem *dma_mem ; struct cma *cma_area ; struct dev_archdata archdata ; struct device_node *of_node ; struct fwnode_handle *fwnode ; dev_t devt ; u32 id ; spinlock_t devres_lock ; struct list_head devres_head ; struct klist_node knode_class ; struct class *class ; struct attribute_group const **groups ; void (*release)(struct device * ) ; struct iommu_group *iommu_group ; bool offline_disabled ; bool offline ; }; struct wakeup_source { char const *name ; struct list_head entry ; spinlock_t lock ; struct wake_irq *wakeirq ; struct timer_list timer ; unsigned long timer_expires ; ktime_t total_time ; ktime_t max_time ; ktime_t last_time ; ktime_t start_prevent_time ; ktime_t prevent_sleep_time ; unsigned long event_count ; unsigned long active_count ; unsigned long relax_count ; unsigned long expire_count ; unsigned long wakeup_count ; bool active ; bool autosleep_enabled ; }; struct reclaim_state { unsigned long reclaimed_slab ; }; struct swap_extent { struct list_head list ; unsigned long start_page ; unsigned long nr_pages ; sector_t start_block ; }; struct swap_cluster_info { unsigned int data : 24 ; unsigned char flags ; }; struct percpu_cluster { struct swap_cluster_info index ; unsigned int next ; }; struct swap_info_struct { unsigned long flags ; short prio ; struct plist_node list ; struct plist_node avail_list ; signed char type ; unsigned int max ; unsigned char *swap_map ; struct swap_cluster_info *cluster_info ; struct swap_cluster_info free_cluster_head ; struct swap_cluster_info free_cluster_tail ; unsigned int lowest_bit ; unsigned int highest_bit ; unsigned int pages ; unsigned int inuse_pages ; unsigned int cluster_next ; unsigned int cluster_nr ; struct percpu_cluster *percpu_cluster ; struct swap_extent *curr_swap_extent ; struct swap_extent first_swap_extent ; struct block_device *bdev ; struct file *swap_file ; unsigned int old_block_size ; unsigned long *frontswap_map ; atomic_t frontswap_pages ; spinlock_t lock ; struct work_struct discard_work ; struct swap_cluster_info discard_cluster_head ; struct swap_cluster_info discard_cluster_tail ; }; struct scatterlist { unsigned long sg_magic ; unsigned long page_link ; unsigned int offset ; unsigned int length ; dma_addr_t dma_address ; unsigned int dma_length ; }; struct sg_table { struct scatterlist *sgl ; unsigned int nents ; unsigned int orig_nents ; }; struct hlist_nulls_node; struct hlist_nulls_head { struct hlist_nulls_node *first ; }; struct hlist_nulls_node { struct hlist_nulls_node *next ; struct hlist_nulls_node **pprev ; }; struct iovec { void *iov_base ; __kernel_size_t iov_len ; }; struct kvec { void *iov_base ; size_t iov_len ; }; union __anonunion____missing_field_name_259 { struct iovec const *iov ; struct kvec const *kvec ; struct bio_vec const *bvec ; }; struct iov_iter { int type ; size_t iov_offset ; size_t count ; union __anonunion____missing_field_name_259 __annonCompField76 ; unsigned long nr_segs ; }; struct dql { unsigned int num_queued ; unsigned int adj_limit ; unsigned int last_obj_cnt ; unsigned int limit ; unsigned int num_completed ; unsigned int prev_ovlimit ; unsigned int prev_num_queued ; unsigned int prev_last_obj_cnt ; unsigned int lowest_slack ; unsigned long slack_start_time ; unsigned int max_limit ; unsigned int min_limit ; unsigned int slack_hold_time ; }; typedef unsigned short __kernel_sa_family_t; typedef __kernel_sa_family_t sa_family_t; struct sockaddr { sa_family_t sa_family ; char sa_data[14U] ; }; struct msghdr { void *msg_name ; int msg_namelen ; struct iov_iter msg_iter ; void *msg_control ; __kernel_size_t msg_controllen ; unsigned int msg_flags ; struct kiocb *msg_iocb ; }; struct __anonstruct_sync_serial_settings_261 { unsigned int clock_rate ; unsigned int clock_type ; unsigned short loopback ; }; typedef struct __anonstruct_sync_serial_settings_261 sync_serial_settings; struct __anonstruct_te1_settings_262 { unsigned int clock_rate ; unsigned int clock_type ; unsigned short loopback ; unsigned int slot_map ; }; typedef struct __anonstruct_te1_settings_262 te1_settings; struct __anonstruct_raw_hdlc_proto_263 { unsigned short encoding ; unsigned short parity ; }; typedef struct __anonstruct_raw_hdlc_proto_263 raw_hdlc_proto; struct __anonstruct_fr_proto_264 { unsigned int t391 ; unsigned int t392 ; unsigned int n391 ; unsigned int n392 ; unsigned int n393 ; unsigned short lmi ; unsigned short dce ; }; typedef struct __anonstruct_fr_proto_264 fr_proto; struct __anonstruct_fr_proto_pvc_265 { unsigned int dlci ; }; typedef struct __anonstruct_fr_proto_pvc_265 fr_proto_pvc; struct __anonstruct_fr_proto_pvc_info_266 { unsigned int dlci ; char master[16U] ; }; typedef struct __anonstruct_fr_proto_pvc_info_266 fr_proto_pvc_info; struct __anonstruct_cisco_proto_267 { unsigned int interval ; unsigned int timeout ; }; typedef struct __anonstruct_cisco_proto_267 cisco_proto; struct ifmap { unsigned long mem_start ; unsigned long mem_end ; unsigned short base_addr ; unsigned char irq ; unsigned char dma ; unsigned char port ; }; union __anonunion_ifs_ifsu_268 { raw_hdlc_proto *raw_hdlc ; cisco_proto *cisco ; fr_proto *fr ; fr_proto_pvc *fr_pvc ; fr_proto_pvc_info *fr_pvc_info ; sync_serial_settings *sync ; te1_settings *te1 ; }; struct if_settings { unsigned int type ; unsigned int size ; union __anonunion_ifs_ifsu_268 ifs_ifsu ; }; union __anonunion_ifr_ifrn_269 { char ifrn_name[16U] ; }; union __anonunion_ifr_ifru_270 { struct sockaddr ifru_addr ; struct sockaddr ifru_dstaddr ; struct sockaddr ifru_broadaddr ; struct sockaddr ifru_netmask ; struct sockaddr ifru_hwaddr ; short ifru_flags ; int ifru_ivalue ; int ifru_mtu ; struct ifmap ifru_map ; char ifru_slave[16U] ; char ifru_newname[16U] ; void *ifru_data ; struct if_settings ifru_settings ; }; struct ifreq { union __anonunion_ifr_ifrn_269 ifr_ifrn ; union __anonunion_ifr_ifru_270 ifr_ifru ; }; typedef s32 compat_time_t; typedef s32 compat_long_t; typedef u32 compat_uptr_t; struct compat_timespec { compat_time_t tv_sec ; s32 tv_nsec ; }; struct compat_robust_list { compat_uptr_t next ; }; struct compat_robust_list_head { struct compat_robust_list list ; compat_long_t futex_offset ; compat_uptr_t list_op_pending ; }; enum ldv_25523 { SS_FREE = 0, SS_UNCONNECTED = 1, SS_CONNECTING = 2, SS_CONNECTED = 3, SS_DISCONNECTING = 4 } ; typedef enum ldv_25523 socket_state; struct socket_wq { wait_queue_head_t wait ; struct fasync_struct *fasync_list ; struct callback_head rcu ; }; struct proto_ops; struct socket { socket_state state ; short type ; unsigned long flags ; struct socket_wq *wq ; struct file *file ; struct sock *sk ; struct proto_ops const *ops ; }; struct proto_ops { int family ; struct module *owner ; int (*release)(struct socket * ) ; int (*bind)(struct socket * , struct sockaddr * , int ) ; int (*connect)(struct socket * , struct sockaddr * , int , int ) ; int (*socketpair)(struct socket * , struct socket * ) ; int (*accept)(struct socket * , struct socket * , int ) ; int (*getname)(struct socket * , struct sockaddr * , int * , int ) ; unsigned int (*poll)(struct file * , struct socket * , struct poll_table_struct * ) ; int (*ioctl)(struct socket * , unsigned int , unsigned long ) ; int (*compat_ioctl)(struct socket * , unsigned int , unsigned long ) ; int (*listen)(struct socket * , int ) ; int (*shutdown)(struct socket * , int ) ; int (*setsockopt)(struct socket * , int , int , char * , unsigned int ) ; int (*getsockopt)(struct socket * , int , int , char * , int * ) ; int (*compat_setsockopt)(struct socket * , int , int , char * , unsigned int ) ; int (*compat_getsockopt)(struct socket * , int , int , char * , int * ) ; int (*sendmsg)(struct socket * , struct msghdr * , size_t ) ; int (*recvmsg)(struct socket * , struct msghdr * , size_t , int ) ; int (*mmap)(struct file * , struct socket * , struct vm_area_struct * ) ; ssize_t (*sendpage)(struct socket * , struct page * , int , size_t , int ) ; ssize_t (*splice_read)(struct socket * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ) ; int (*set_peek_off)(struct sock * , int ) ; }; struct in6_addr; struct sk_buff; struct dma_attrs { unsigned long flags[1U] ; }; enum dma_data_direction { DMA_BIDIRECTIONAL = 0, DMA_TO_DEVICE = 1, DMA_FROM_DEVICE = 2, DMA_NONE = 3 } ; struct dma_map_ops { void *(*alloc)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ) ; void (*free)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ) ; int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t , size_t , struct dma_attrs * ) ; int (*get_sgtable)(struct device * , struct sg_table * , void * , dma_addr_t , size_t , struct dma_attrs * ) ; dma_addr_t (*map_page)(struct device * , struct page * , unsigned long , size_t , enum dma_data_direction , struct dma_attrs * ) ; void (*unmap_page)(struct device * , dma_addr_t , size_t , enum dma_data_direction , struct dma_attrs * ) ; int (*map_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction , struct dma_attrs * ) ; void (*unmap_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction , struct dma_attrs * ) ; void (*sync_single_for_cpu)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ; void (*sync_single_for_device)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ; void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ; void (*sync_sg_for_device)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ; int (*mapping_error)(struct device * , dma_addr_t ) ; int (*dma_supported)(struct device * , u64 ) ; int (*set_dma_mask)(struct device * , u64 ) ; int is_phys ; }; typedef u64 netdev_features_t; union __anonunion_in6_u_286 { __u8 u6_addr8[16U] ; __be16 u6_addr16[8U] ; __be32 u6_addr32[4U] ; }; struct in6_addr { union __anonunion_in6_u_286 in6_u ; }; struct ethhdr { unsigned char h_dest[6U] ; unsigned char h_source[6U] ; __be16 h_proto ; }; struct pipe_buf_operations; struct pipe_buffer { struct page *page ; unsigned int offset ; unsigned int len ; struct pipe_buf_operations const *ops ; unsigned int flags ; unsigned long private ; }; struct pipe_inode_info { struct mutex mutex ; wait_queue_head_t wait ; unsigned int nrbufs ; unsigned int curbuf ; unsigned int buffers ; unsigned int readers ; unsigned int writers ; unsigned int files ; unsigned int waiting_writers ; unsigned int r_counter ; unsigned int w_counter ; struct page *tmp_page ; struct fasync_struct *fasync_readers ; struct fasync_struct *fasync_writers ; struct pipe_buffer *bufs ; }; struct pipe_buf_operations { int can_merge ; int (*confirm)(struct pipe_inode_info * , struct pipe_buffer * ) ; void (*release)(struct pipe_inode_info * , struct pipe_buffer * ) ; int (*steal)(struct pipe_inode_info * , struct pipe_buffer * ) ; void (*get)(struct pipe_inode_info * , struct pipe_buffer * ) ; }; struct napi_struct; struct nf_conntrack { atomic_t use ; }; union __anonunion____missing_field_name_291 { struct net_device *physoutdev ; char neigh_header[8U] ; }; union __anonunion____missing_field_name_292 { __be32 ipv4_daddr ; struct in6_addr ipv6_daddr ; }; struct nf_bridge_info { atomic_t use ; unsigned char orig_proto ; bool pkt_otherhost ; __u16 frag_max_size ; unsigned int mask ; struct net_device *physindev ; union __anonunion____missing_field_name_291 __annonCompField80 ; union __anonunion____missing_field_name_292 __annonCompField81 ; }; struct sk_buff_head { struct sk_buff *next ; struct sk_buff *prev ; __u32 qlen ; spinlock_t lock ; }; typedef unsigned int sk_buff_data_t; struct __anonstruct____missing_field_name_295 { u32 stamp_us ; u32 stamp_jiffies ; }; union __anonunion____missing_field_name_294 { u64 v64 ; struct __anonstruct____missing_field_name_295 __annonCompField82 ; }; struct skb_mstamp { union __anonunion____missing_field_name_294 __annonCompField83 ; }; union __anonunion____missing_field_name_298 { ktime_t tstamp ; struct skb_mstamp skb_mstamp ; }; struct __anonstruct____missing_field_name_297 { struct sk_buff *next ; struct sk_buff *prev ; union __anonunion____missing_field_name_298 __annonCompField84 ; }; union __anonunion____missing_field_name_296 { struct __anonstruct____missing_field_name_297 __annonCompField85 ; struct rb_node rbnode ; }; struct sec_path; struct __anonstruct____missing_field_name_300 { __u16 csum_start ; __u16 csum_offset ; }; union __anonunion____missing_field_name_299 { __wsum csum ; struct __anonstruct____missing_field_name_300 __annonCompField87 ; }; union __anonunion____missing_field_name_301 { unsigned int napi_id ; unsigned int sender_cpu ; }; union __anonunion____missing_field_name_302 { __u32 mark ; __u32 reserved_tailroom ; }; union __anonunion____missing_field_name_303 { __be16 inner_protocol ; __u8 inner_ipproto ; }; struct sk_buff { union __anonunion____missing_field_name_296 __annonCompField86 ; struct sock *sk ; struct net_device *dev ; char cb[48U] ; unsigned long _skb_refdst ; void (*destructor)(struct sk_buff * ) ; struct sec_path *sp ; struct nf_conntrack *nfct ; struct nf_bridge_info *nf_bridge ; unsigned int len ; unsigned int data_len ; __u16 mac_len ; __u16 hdr_len ; __u16 queue_mapping ; unsigned char cloned : 1 ; unsigned char nohdr : 1 ; unsigned char fclone : 2 ; unsigned char peeked : 1 ; unsigned char head_frag : 1 ; unsigned char xmit_more : 1 ; __u32 headers_start[0U] ; __u8 __pkt_type_offset[0U] ; unsigned char pkt_type : 3 ; unsigned char pfmemalloc : 1 ; unsigned char ignore_df : 1 ; unsigned char nfctinfo : 3 ; unsigned char nf_trace : 1 ; unsigned char ip_summed : 2 ; unsigned char ooo_okay : 1 ; unsigned char l4_hash : 1 ; unsigned char sw_hash : 1 ; unsigned char wifi_acked_valid : 1 ; unsigned char wifi_acked : 1 ; unsigned char no_fcs : 1 ; unsigned char encapsulation : 1 ; unsigned char encap_hdr_csum : 1 ; unsigned char csum_valid : 1 ; unsigned char csum_complete_sw : 1 ; unsigned char csum_level : 2 ; unsigned char csum_bad : 1 ; unsigned char ndisc_nodetype : 2 ; unsigned char ipvs_property : 1 ; unsigned char inner_protocol_type : 1 ; unsigned char remcsum_offload : 1 ; __u16 tc_index ; __u16 tc_verd ; union __anonunion____missing_field_name_299 __annonCompField88 ; __u32 priority ; int skb_iif ; __u32 hash ; __be16 vlan_proto ; __u16 vlan_tci ; union __anonunion____missing_field_name_301 __annonCompField89 ; __u32 secmark ; union __anonunion____missing_field_name_302 __annonCompField90 ; union __anonunion____missing_field_name_303 __annonCompField91 ; __u16 inner_transport_header ; __u16 inner_network_header ; __u16 inner_mac_header ; __be16 protocol ; __u16 transport_header ; __u16 network_header ; __u16 mac_header ; __u32 headers_end[0U] ; sk_buff_data_t tail ; sk_buff_data_t end ; unsigned char *head ; unsigned char *data ; unsigned int truesize ; atomic_t users ; }; struct dst_entry; struct rtable; struct ethtool_cmd { __u32 cmd ; __u32 supported ; __u32 advertising ; __u16 speed ; __u8 duplex ; __u8 port ; __u8 phy_address ; __u8 transceiver ; __u8 autoneg ; __u8 mdio_support ; __u32 maxtxpkt ; __u32 maxrxpkt ; __u16 speed_hi ; __u8 eth_tp_mdix ; __u8 eth_tp_mdix_ctrl ; __u32 lp_advertising ; __u32 reserved[2U] ; }; struct ethtool_drvinfo { __u32 cmd ; char driver[32U] ; char version[32U] ; char fw_version[32U] ; char bus_info[32U] ; char erom_version[32U] ; char reserved2[12U] ; __u32 n_priv_flags ; __u32 n_stats ; __u32 testinfo_len ; __u32 eedump_len ; __u32 regdump_len ; }; struct ethtool_wolinfo { __u32 cmd ; __u32 supported ; __u32 wolopts ; __u8 sopass[6U] ; }; struct ethtool_tunable { __u32 cmd ; __u32 id ; __u32 type_id ; __u32 len ; void *data[0U] ; }; struct ethtool_regs { __u32 cmd ; __u32 version ; __u32 len ; __u8 data[0U] ; }; struct ethtool_eeprom { __u32 cmd ; __u32 magic ; __u32 offset ; __u32 len ; __u8 data[0U] ; }; struct ethtool_eee { __u32 cmd ; __u32 supported ; __u32 advertised ; __u32 lp_advertised ; __u32 eee_active ; __u32 eee_enabled ; __u32 tx_lpi_enabled ; __u32 tx_lpi_timer ; __u32 reserved[2U] ; }; struct ethtool_modinfo { __u32 cmd ; __u32 type ; __u32 eeprom_len ; __u32 reserved[8U] ; }; struct ethtool_coalesce { __u32 cmd ; __u32 rx_coalesce_usecs ; __u32 rx_max_coalesced_frames ; __u32 rx_coalesce_usecs_irq ; __u32 rx_max_coalesced_frames_irq ; __u32 tx_coalesce_usecs ; __u32 tx_max_coalesced_frames ; __u32 tx_coalesce_usecs_irq ; __u32 tx_max_coalesced_frames_irq ; __u32 stats_block_coalesce_usecs ; __u32 use_adaptive_rx_coalesce ; __u32 use_adaptive_tx_coalesce ; __u32 pkt_rate_low ; __u32 rx_coalesce_usecs_low ; __u32 rx_max_coalesced_frames_low ; __u32 tx_coalesce_usecs_low ; __u32 tx_max_coalesced_frames_low ; __u32 pkt_rate_high ; __u32 rx_coalesce_usecs_high ; __u32 rx_max_coalesced_frames_high ; __u32 tx_coalesce_usecs_high ; __u32 tx_max_coalesced_frames_high ; __u32 rate_sample_interval ; }; struct ethtool_ringparam { __u32 cmd ; __u32 rx_max_pending ; __u32 rx_mini_max_pending ; __u32 rx_jumbo_max_pending ; __u32 tx_max_pending ; __u32 rx_pending ; __u32 rx_mini_pending ; __u32 rx_jumbo_pending ; __u32 tx_pending ; }; struct ethtool_channels { __u32 cmd ; __u32 max_rx ; __u32 max_tx ; __u32 max_other ; __u32 max_combined ; __u32 rx_count ; __u32 tx_count ; __u32 other_count ; __u32 combined_count ; }; struct ethtool_pauseparam { __u32 cmd ; __u32 autoneg ; __u32 rx_pause ; __u32 tx_pause ; }; struct ethtool_test { __u32 cmd ; __u32 flags ; __u32 reserved ; __u32 len ; __u64 data[0U] ; }; struct ethtool_stats { __u32 cmd ; __u32 n_stats ; __u64 data[0U] ; }; struct ethtool_tcpip4_spec { __be32 ip4src ; __be32 ip4dst ; __be16 psrc ; __be16 pdst ; __u8 tos ; }; struct ethtool_ah_espip4_spec { __be32 ip4src ; __be32 ip4dst ; __be32 spi ; __u8 tos ; }; struct ethtool_usrip4_spec { __be32 ip4src ; __be32 ip4dst ; __be32 l4_4_bytes ; __u8 tos ; __u8 ip_ver ; __u8 proto ; }; union ethtool_flow_union { struct ethtool_tcpip4_spec tcp_ip4_spec ; struct ethtool_tcpip4_spec udp_ip4_spec ; struct ethtool_tcpip4_spec sctp_ip4_spec ; struct ethtool_ah_espip4_spec ah_ip4_spec ; struct ethtool_ah_espip4_spec esp_ip4_spec ; struct ethtool_usrip4_spec usr_ip4_spec ; struct ethhdr ether_spec ; __u8 hdata[52U] ; }; struct ethtool_flow_ext { __u8 padding[2U] ; unsigned char h_dest[6U] ; __be16 vlan_etype ; __be16 vlan_tci ; __be32 data[2U] ; }; struct ethtool_rx_flow_spec { __u32 flow_type ; union ethtool_flow_union h_u ; struct ethtool_flow_ext h_ext ; union ethtool_flow_union m_u ; struct ethtool_flow_ext m_ext ; __u64 ring_cookie ; __u32 location ; }; struct ethtool_rxnfc { __u32 cmd ; __u32 flow_type ; __u64 data ; struct ethtool_rx_flow_spec fs ; __u32 rule_cnt ; __u32 rule_locs[0U] ; }; struct ethtool_flash { __u32 cmd ; __u32 region ; char data[128U] ; }; struct ethtool_dump { __u32 cmd ; __u32 version ; __u32 flag ; __u32 len ; __u8 data[0U] ; }; struct ethtool_ts_info { __u32 cmd ; __u32 so_timestamping ; __s32 phc_index ; __u32 tx_types ; __u32 tx_reserved[3U] ; __u32 rx_filters ; __u32 rx_reserved[3U] ; }; enum ethtool_phys_id_state { ETHTOOL_ID_INACTIVE = 0, ETHTOOL_ID_ACTIVE = 1, ETHTOOL_ID_ON = 2, ETHTOOL_ID_OFF = 3 } ; struct ethtool_ops { int (*get_settings)(struct net_device * , struct ethtool_cmd * ) ; int (*set_settings)(struct net_device * , struct ethtool_cmd * ) ; void (*get_drvinfo)(struct net_device * , struct ethtool_drvinfo * ) ; int (*get_regs_len)(struct net_device * ) ; void (*get_regs)(struct net_device * , struct ethtool_regs * , void * ) ; void (*get_wol)(struct net_device * , struct ethtool_wolinfo * ) ; int (*set_wol)(struct net_device * , struct ethtool_wolinfo * ) ; u32 (*get_msglevel)(struct net_device * ) ; void (*set_msglevel)(struct net_device * , u32 ) ; int (*nway_reset)(struct net_device * ) ; u32 (*get_link)(struct net_device * ) ; int (*get_eeprom_len)(struct net_device * ) ; int (*get_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ; int (*set_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ; int (*get_coalesce)(struct net_device * , struct ethtool_coalesce * ) ; int (*set_coalesce)(struct net_device * , struct ethtool_coalesce * ) ; void (*get_ringparam)(struct net_device * , struct ethtool_ringparam * ) ; int (*set_ringparam)(struct net_device * , struct ethtool_ringparam * ) ; void (*get_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) ; int (*set_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) ; void (*self_test)(struct net_device * , struct ethtool_test * , u64 * ) ; void (*get_strings)(struct net_device * , u32 , u8 * ) ; int (*set_phys_id)(struct net_device * , enum ethtool_phys_id_state ) ; void (*get_ethtool_stats)(struct net_device * , struct ethtool_stats * , u64 * ) ; int (*begin)(struct net_device * ) ; void (*complete)(struct net_device * ) ; u32 (*get_priv_flags)(struct net_device * ) ; int (*set_priv_flags)(struct net_device * , u32 ) ; int (*get_sset_count)(struct net_device * , int ) ; int (*get_rxnfc)(struct net_device * , struct ethtool_rxnfc * , u32 * ) ; int (*set_rxnfc)(struct net_device * , struct ethtool_rxnfc * ) ; int (*flash_device)(struct net_device * , struct ethtool_flash * ) ; int (*reset)(struct net_device * , u32 * ) ; u32 (*get_rxfh_key_size)(struct net_device * ) ; u32 (*get_rxfh_indir_size)(struct net_device * ) ; int (*get_rxfh)(struct net_device * , u32 * , u8 * , u8 * ) ; int (*set_rxfh)(struct net_device * , u32 const * , u8 const * , u8 const ) ; void (*get_channels)(struct net_device * , struct ethtool_channels * ) ; int (*set_channels)(struct net_device * , struct ethtool_channels * ) ; int (*get_dump_flag)(struct net_device * , struct ethtool_dump * ) ; int (*get_dump_data)(struct net_device * , struct ethtool_dump * , void * ) ; int (*set_dump)(struct net_device * , struct ethtool_dump * ) ; int (*get_ts_info)(struct net_device * , struct ethtool_ts_info * ) ; int (*get_module_info)(struct net_device * , struct ethtool_modinfo * ) ; int (*get_module_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ; int (*get_eee)(struct net_device * , struct ethtool_eee * ) ; int (*set_eee)(struct net_device * , struct ethtool_eee * ) ; int (*get_tunable)(struct net_device * , struct ethtool_tunable const * , void * ) ; int (*set_tunable)(struct net_device * , struct ethtool_tunable const * , void const * ) ; }; struct prot_inuse; struct netns_core { struct ctl_table_header *sysctl_hdr ; int sysctl_somaxconn ; struct prot_inuse *inuse ; }; struct u64_stats_sync { }; struct ipstats_mib { u64 mibs[36U] ; struct u64_stats_sync syncp ; }; struct icmp_mib { unsigned long mibs[28U] ; }; struct icmpmsg_mib { atomic_long_t mibs[512U] ; }; struct icmpv6_mib { unsigned long mibs[6U] ; }; struct icmpv6msg_mib { atomic_long_t mibs[512U] ; }; struct tcp_mib { unsigned long mibs[16U] ; }; struct udp_mib { unsigned long mibs[9U] ; }; struct linux_mib { unsigned long mibs[115U] ; }; struct linux_xfrm_mib { unsigned long mibs[29U] ; }; struct netns_mib { struct tcp_mib *tcp_statistics ; struct ipstats_mib *ip_statistics ; struct linux_mib *net_statistics ; struct udp_mib *udp_statistics ; struct udp_mib *udplite_statistics ; struct icmp_mib *icmp_statistics ; struct icmpmsg_mib *icmpmsg_statistics ; struct proc_dir_entry *proc_net_devsnmp6 ; struct udp_mib *udp_stats_in6 ; struct udp_mib *udplite_stats_in6 ; struct ipstats_mib *ipv6_statistics ; struct icmpv6_mib *icmpv6_statistics ; struct icmpv6msg_mib *icmpv6msg_statistics ; struct linux_xfrm_mib *xfrm_statistics ; }; struct netns_unix { int sysctl_max_dgram_qlen ; struct ctl_table_header *ctl ; }; struct netns_packet { struct mutex sklist_lock ; struct hlist_head sklist ; }; struct netns_frags { struct percpu_counter mem ; int timeout ; int high_thresh ; int low_thresh ; }; struct ipv4_devconf; struct fib_rules_ops; struct fib_table; struct local_ports { seqlock_t lock ; int range[2U] ; bool warned ; }; struct ping_group_range { seqlock_t lock ; kgid_t range[2U] ; }; struct inet_peer_base; struct xt_table; struct netns_ipv4 { struct ctl_table_header *forw_hdr ; struct ctl_table_header *frags_hdr ; struct ctl_table_header *ipv4_hdr ; struct ctl_table_header *route_hdr ; struct ctl_table_header *xfrm4_hdr ; struct ipv4_devconf *devconf_all ; struct ipv4_devconf *devconf_dflt ; struct fib_rules_ops *rules_ops ; bool fib_has_custom_rules ; struct fib_table *fib_local ; struct fib_table *fib_main ; struct fib_table *fib_default ; int fib_num_tclassid_users ; struct hlist_head *fib_table_hash ; bool fib_offload_disabled ; struct sock *fibnl ; struct sock **icmp_sk ; struct sock *mc_autojoin_sk ; struct inet_peer_base *peers ; struct sock **tcp_sk ; struct netns_frags frags ; struct xt_table *iptable_filter ; struct xt_table *iptable_mangle ; struct xt_table *iptable_raw ; struct xt_table *arptable_filter ; struct xt_table *iptable_security ; struct xt_table *nat_table ; int sysctl_icmp_echo_ignore_all ; int sysctl_icmp_echo_ignore_broadcasts ; int sysctl_icmp_ignore_bogus_error_responses ; int sysctl_icmp_ratelimit ; int sysctl_icmp_ratemask ; int sysctl_icmp_errors_use_inbound_ifaddr ; struct local_ports ip_local_ports ; int sysctl_tcp_ecn ; int sysctl_tcp_ecn_fallback ; int sysctl_ip_no_pmtu_disc ; int sysctl_ip_fwd_use_pmtu ; int sysctl_ip_nonlocal_bind ; int sysctl_fwmark_reflect ; int sysctl_tcp_fwmark_accept ; int sysctl_tcp_mtu_probing ; int sysctl_tcp_base_mss ; int sysctl_tcp_probe_threshold ; u32 sysctl_tcp_probe_interval ; struct ping_group_range ping_group_range ; atomic_t dev_addr_genid ; unsigned long *sysctl_local_reserved_ports ; struct list_head mr_tables ; struct fib_rules_ops *mr_rules_ops ; atomic_t rt_genid ; }; struct neighbour; struct dst_ops { unsigned short family ; unsigned int gc_thresh ; int (*gc)(struct dst_ops * ) ; struct dst_entry *(*check)(struct dst_entry * , __u32 ) ; unsigned int (*default_advmss)(struct dst_entry const * ) ; unsigned int (*mtu)(struct dst_entry const * ) ; u32 *(*cow_metrics)(struct dst_entry * , unsigned long ) ; void (*destroy)(struct dst_entry * ) ; void (*ifdown)(struct dst_entry * , struct net_device * , int ) ; struct dst_entry *(*negative_advice)(struct dst_entry * ) ; void (*link_failure)(struct sk_buff * ) ; void (*update_pmtu)(struct dst_entry * , struct sock * , struct sk_buff * , u32 ) ; void (*redirect)(struct dst_entry * , struct sock * , struct sk_buff * ) ; int (*local_out)(struct sk_buff * ) ; struct neighbour *(*neigh_lookup)(struct dst_entry const * , struct sk_buff * , void const * ) ; struct kmem_cache *kmem_cachep ; struct percpu_counter pcpuc_entries ; }; struct netns_sysctl_ipv6 { struct ctl_table_header *hdr ; struct ctl_table_header *route_hdr ; struct ctl_table_header *icmp_hdr ; struct ctl_table_header *frags_hdr ; struct ctl_table_header *xfrm6_hdr ; int bindv6only ; int flush_delay ; int ip6_rt_max_size ; int ip6_rt_gc_min_interval ; int ip6_rt_gc_timeout ; int ip6_rt_gc_interval ; int ip6_rt_gc_elasticity ; int ip6_rt_mtu_expires ; int ip6_rt_min_advmss ; int flowlabel_consistency ; int auto_flowlabels ; int icmpv6_time ; int anycast_src_echo_reply ; int fwmark_reflect ; int idgen_retries ; int idgen_delay ; int flowlabel_state_ranges ; }; struct ipv6_devconf; struct rt6_info; struct rt6_statistics; struct fib6_table; struct netns_ipv6 { struct netns_sysctl_ipv6 sysctl ; struct ipv6_devconf *devconf_all ; struct ipv6_devconf *devconf_dflt ; struct inet_peer_base *peers ; struct netns_frags frags ; struct xt_table *ip6table_filter ; struct xt_table *ip6table_mangle ; struct xt_table *ip6table_raw ; struct xt_table *ip6table_security ; struct xt_table *ip6table_nat ; struct rt6_info *ip6_null_entry ; struct rt6_statistics *rt6_stats ; struct timer_list ip6_fib_timer ; struct hlist_head *fib_table_hash ; struct fib6_table *fib6_main_tbl ; struct dst_ops ip6_dst_ops ; unsigned int ip6_rt_gc_expire ; unsigned long ip6_rt_last_gc ; struct rt6_info *ip6_prohibit_entry ; struct rt6_info *ip6_blk_hole_entry ; struct fib6_table *fib6_local_tbl ; struct fib_rules_ops *fib6_rules_ops ; struct sock **icmp_sk ; struct sock *ndisc_sk ; struct sock *tcp_sk ; struct sock *igmp_sk ; struct sock *mc_autojoin_sk ; struct list_head mr6_tables ; struct fib_rules_ops *mr6_rules_ops ; atomic_t dev_addr_genid ; atomic_t fib6_sernum ; }; struct netns_nf_frag { struct netns_sysctl_ipv6 sysctl ; struct netns_frags frags ; }; struct netns_sysctl_lowpan { struct ctl_table_header *frags_hdr ; }; struct netns_ieee802154_lowpan { struct netns_sysctl_lowpan sysctl ; struct netns_frags frags ; }; struct sctp_mib; struct netns_sctp { struct sctp_mib *sctp_statistics ; struct proc_dir_entry *proc_net_sctp ; struct ctl_table_header *sysctl_header ; struct sock *ctl_sock ; struct list_head local_addr_list ; struct list_head addr_waitq ; struct timer_list addr_wq_timer ; struct list_head auto_asconf_splist ; spinlock_t addr_wq_lock ; spinlock_t local_addr_lock ; unsigned int rto_initial ; unsigned int rto_min ; unsigned int rto_max ; int rto_alpha ; int rto_beta ; int max_burst ; int cookie_preserve_enable ; char *sctp_hmac_alg ; unsigned int valid_cookie_life ; unsigned int sack_timeout ; unsigned int hb_interval ; int max_retrans_association ; int max_retrans_path ; int max_retrans_init ; int pf_retrans ; int sndbuf_policy ; int rcvbuf_policy ; int default_auto_asconf ; int addip_enable ; int addip_noauth ; int prsctp_enable ; int auth_enable ; int scope_policy ; int rwnd_upd_shift ; unsigned long max_autoclose ; }; struct netns_dccp { struct sock *v4_ctl_sk ; struct sock *v6_ctl_sk ; }; struct nf_logger; struct netns_nf { struct proc_dir_entry *proc_netfilter ; struct nf_logger const *nf_loggers[13U] ; struct ctl_table_header *nf_log_dir_header ; }; struct ebt_table; struct netns_xt { struct list_head tables[13U] ; bool notrack_deprecated_warning ; bool clusterip_deprecated_warning ; struct ebt_table *broute_table ; struct ebt_table *frame_filter ; struct ebt_table *frame_nat ; }; struct nf_proto_net { struct ctl_table_header *ctl_table_header ; struct ctl_table *ctl_table ; struct ctl_table_header *ctl_compat_header ; struct ctl_table *ctl_compat_table ; unsigned int users ; }; struct nf_generic_net { struct nf_proto_net pn ; unsigned int timeout ; }; struct nf_tcp_net { struct nf_proto_net pn ; unsigned int timeouts[14U] ; unsigned int tcp_loose ; unsigned int tcp_be_liberal ; unsigned int tcp_max_retrans ; }; struct nf_udp_net { struct nf_proto_net pn ; unsigned int timeouts[2U] ; }; struct nf_icmp_net { struct nf_proto_net pn ; unsigned int timeout ; }; struct nf_ip_net { struct nf_generic_net generic ; struct nf_tcp_net tcp ; struct nf_udp_net udp ; struct nf_icmp_net icmp ; struct nf_icmp_net icmpv6 ; struct ctl_table_header *ctl_table_header ; struct ctl_table *ctl_table ; }; struct ct_pcpu { spinlock_t lock ; struct hlist_nulls_head unconfirmed ; struct hlist_nulls_head dying ; struct hlist_nulls_head tmpl ; }; struct ip_conntrack_stat; struct nf_ct_event_notifier; struct nf_exp_event_notifier; struct netns_ct { atomic_t count ; unsigned int expect_count ; struct delayed_work ecache_dwork ; bool ecache_dwork_pending ; struct ctl_table_header *sysctl_header ; struct ctl_table_header *acct_sysctl_header ; struct ctl_table_header *tstamp_sysctl_header ; struct ctl_table_header *event_sysctl_header ; struct ctl_table_header *helper_sysctl_header ; char *slabname ; unsigned int sysctl_log_invalid ; int sysctl_events ; int sysctl_acct ; int sysctl_auto_assign_helper ; bool auto_assign_helper_warned ; int sysctl_tstamp ; int sysctl_checksum ; unsigned int htable_size ; seqcount_t generation ; struct kmem_cache *nf_conntrack_cachep ; struct hlist_nulls_head *hash ; struct hlist_head *expect_hash ; struct ct_pcpu *pcpu_lists ; struct ip_conntrack_stat *stat ; struct nf_ct_event_notifier *nf_conntrack_event_cb ; struct nf_exp_event_notifier *nf_expect_event_cb ; struct nf_ip_net nf_ct_proto ; unsigned int labels_used ; u8 label_words ; struct hlist_head *nat_bysource ; unsigned int nat_htable_size ; }; struct nft_af_info; struct netns_nftables { struct list_head af_info ; struct list_head commit_list ; struct nft_af_info *ipv4 ; struct nft_af_info *ipv6 ; struct nft_af_info *inet ; struct nft_af_info *arp ; struct nft_af_info *bridge ; struct nft_af_info *netdev ; unsigned int base_seq ; u8 gencursor ; }; struct flow_cache_percpu { struct hlist_head *hash_table ; int hash_count ; u32 hash_rnd ; int hash_rnd_recalc ; struct tasklet_struct flush_tasklet ; }; struct flow_cache { u32 hash_shift ; struct flow_cache_percpu *percpu ; struct notifier_block hotcpu_notifier ; int low_watermark ; int high_watermark ; struct timer_list rnd_timer ; }; struct xfrm_policy_hash { struct hlist_head *table ; unsigned int hmask ; u8 dbits4 ; u8 sbits4 ; u8 dbits6 ; u8 sbits6 ; }; struct xfrm_policy_hthresh { struct work_struct work ; seqlock_t lock ; u8 lbits4 ; u8 rbits4 ; u8 lbits6 ; u8 rbits6 ; }; struct netns_xfrm { struct list_head state_all ; struct hlist_head *state_bydst ; struct hlist_head *state_bysrc ; struct hlist_head *state_byspi ; unsigned int state_hmask ; unsigned int state_num ; struct work_struct state_hash_work ; struct hlist_head state_gc_list ; struct work_struct state_gc_work ; struct list_head policy_all ; struct hlist_head *policy_byidx ; unsigned int policy_idx_hmask ; struct hlist_head policy_inexact[3U] ; struct xfrm_policy_hash policy_bydst[3U] ; unsigned int policy_count[6U] ; struct work_struct policy_hash_work ; struct xfrm_policy_hthresh policy_hthresh ; struct sock *nlsk ; struct sock *nlsk_stash ; u32 sysctl_aevent_etime ; u32 sysctl_aevent_rseqth ; int sysctl_larval_drop ; u32 sysctl_acq_expires ; struct ctl_table_header *sysctl_hdr ; struct dst_ops xfrm4_dst_ops ; struct dst_ops xfrm6_dst_ops ; spinlock_t xfrm_state_lock ; rwlock_t xfrm_policy_lock ; struct mutex xfrm_cfg_mutex ; struct flow_cache flow_cache_global ; atomic_t flow_cache_genid ; struct list_head flow_cache_gc_list ; spinlock_t flow_cache_gc_lock ; struct work_struct flow_cache_gc_work ; struct work_struct flow_cache_flush_work ; struct mutex flow_flush_sem ; }; struct mpls_route; struct netns_mpls { size_t platform_labels ; struct mpls_route **platform_label ; struct ctl_table_header *ctl ; }; struct proc_ns_operations; struct ns_common { atomic_long_t stashed ; struct proc_ns_operations const *ops ; unsigned int inum ; }; struct net_generic; struct netns_ipvs; struct net { atomic_t passive ; atomic_t count ; spinlock_t rules_mod_lock ; atomic64_t cookie_gen ; struct list_head list ; struct list_head cleanup_list ; struct list_head exit_list ; struct user_namespace *user_ns ; spinlock_t nsid_lock ; struct idr netns_ids ; struct ns_common ns ; struct proc_dir_entry *proc_net ; struct proc_dir_entry *proc_net_stat ; struct ctl_table_set sysctls ; struct sock *rtnl ; struct sock *genl_sock ; struct list_head dev_base_head ; struct hlist_head *dev_name_head ; struct hlist_head *dev_index_head ; unsigned int dev_base_seq ; int ifindex ; unsigned int dev_unreg_count ; struct list_head rules_ops ; struct net_device *loopback_dev ; struct netns_core core ; struct netns_mib mib ; struct netns_packet packet ; struct netns_unix unx ; struct netns_ipv4 ipv4 ; struct netns_ipv6 ipv6 ; struct netns_ieee802154_lowpan ieee802154_lowpan ; struct netns_sctp sctp ; struct netns_dccp dccp ; struct netns_nf nf ; struct netns_xt xt ; struct netns_ct ct ; struct netns_nftables nft ; struct netns_nf_frag nf_frag ; struct sock *nfnl ; struct sock *nfnl_stash ; struct sk_buff_head wext_nlevents ; struct net_generic *gen ; struct netns_xfrm xfrm ; struct netns_ipvs *ipvs ; struct netns_mpls mpls ; struct sock *diag_nlsk ; atomic_t fnhe_genid ; }; struct __anonstruct_possible_net_t_312 { struct net *net ; }; typedef struct __anonstruct_possible_net_t_312 possible_net_t; typedef unsigned long kernel_ulong_t; struct acpi_device_id { __u8 id[9U] ; kernel_ulong_t driver_data ; }; struct of_device_id { char name[32U] ; char type[32U] ; char compatible[128U] ; void const *data ; }; enum fwnode_type { FWNODE_INVALID = 0, FWNODE_OF = 1, FWNODE_ACPI = 2, FWNODE_PDATA = 3 } ; struct fwnode_handle { enum fwnode_type type ; struct fwnode_handle *secondary ; }; typedef u32 phandle; struct property { char *name ; int length ; void *value ; struct property *next ; unsigned long _flags ; unsigned int unique_id ; struct bin_attribute attr ; }; struct device_node { char const *name ; char const *type ; phandle phandle ; char const *full_name ; struct fwnode_handle fwnode ; struct property *properties ; struct property *deadprops ; struct device_node *parent ; struct device_node *child ; struct device_node *sibling ; struct kobject kobj ; unsigned long _flags ; void *data ; }; enum ldv_28366 { PHY_INTERFACE_MODE_NA = 0, PHY_INTERFACE_MODE_MII = 1, PHY_INTERFACE_MODE_GMII = 2, PHY_INTERFACE_MODE_SGMII = 3, PHY_INTERFACE_MODE_TBI = 4, PHY_INTERFACE_MODE_REVMII = 5, PHY_INTERFACE_MODE_RMII = 6, PHY_INTERFACE_MODE_RGMII = 7, PHY_INTERFACE_MODE_RGMII_ID = 8, PHY_INTERFACE_MODE_RGMII_RXID = 9, PHY_INTERFACE_MODE_RGMII_TXID = 10, PHY_INTERFACE_MODE_RTBI = 11, PHY_INTERFACE_MODE_SMII = 12, PHY_INTERFACE_MODE_XGMII = 13, PHY_INTERFACE_MODE_MOCA = 14, PHY_INTERFACE_MODE_QSGMII = 15, PHY_INTERFACE_MODE_MAX = 16 } ; typedef enum ldv_28366 phy_interface_t; enum ldv_28420 { MDIOBUS_ALLOCATED = 1, MDIOBUS_REGISTERED = 2, MDIOBUS_UNREGISTERED = 3, MDIOBUS_RELEASED = 4 } ; struct phy_device; struct mii_bus { char const *name ; char id[17U] ; void *priv ; int (*read)(struct mii_bus * , int , int ) ; int (*write)(struct mii_bus * , int , int , u16 ) ; int (*reset)(struct mii_bus * ) ; struct mutex mdio_lock ; struct device *parent ; enum ldv_28420 state ; struct device dev ; struct phy_device *phy_map[32U] ; u32 phy_mask ; u32 phy_ignore_ta_mask ; int *irq ; }; enum phy_state { PHY_DOWN = 0, PHY_STARTING = 1, PHY_READY = 2, PHY_PENDING = 3, PHY_UP = 4, PHY_AN = 5, PHY_RUNNING = 6, PHY_NOLINK = 7, PHY_FORCING = 8, PHY_CHANGELINK = 9, PHY_HALTED = 10, PHY_RESUMING = 11 } ; struct phy_c45_device_ids { u32 devices_in_package ; u32 device_ids[8U] ; }; struct phy_driver; struct phy_device { struct phy_driver *drv ; struct mii_bus *bus ; struct device dev ; u32 phy_id ; struct phy_c45_device_ids c45_ids ; bool is_c45 ; bool is_internal ; bool has_fixups ; bool suspended ; enum phy_state state ; u32 dev_flags ; phy_interface_t interface ; int addr ; int speed ; int duplex ; int pause ; int asym_pause ; int link ; u32 interrupts ; u32 supported ; u32 advertising ; u32 lp_advertising ; int autoneg ; int link_timeout ; int irq ; void *priv ; struct work_struct phy_queue ; struct delayed_work state_queue ; atomic_t irq_disable ; struct mutex lock ; struct net_device *attached_dev ; void (*adjust_link)(struct net_device * ) ; }; struct phy_driver { u32 phy_id ; char *name ; unsigned int phy_id_mask ; u32 features ; u32 flags ; void const *driver_data ; int (*soft_reset)(struct phy_device * ) ; int (*config_init)(struct phy_device * ) ; int (*probe)(struct phy_device * ) ; int (*suspend)(struct phy_device * ) ; int (*resume)(struct phy_device * ) ; int (*config_aneg)(struct phy_device * ) ; int (*aneg_done)(struct phy_device * ) ; int (*read_status)(struct phy_device * ) ; int (*ack_interrupt)(struct phy_device * ) ; int (*config_intr)(struct phy_device * ) ; int (*did_interrupt)(struct phy_device * ) ; void (*remove)(struct phy_device * ) ; int (*match_phy_device)(struct phy_device * ) ; int (*ts_info)(struct phy_device * , struct ethtool_ts_info * ) ; int (*hwtstamp)(struct phy_device * , struct ifreq * ) ; bool (*rxtstamp)(struct phy_device * , struct sk_buff * , int ) ; void (*txtstamp)(struct phy_device * , struct sk_buff * , int ) ; int (*set_wol)(struct phy_device * , struct ethtool_wolinfo * ) ; void (*get_wol)(struct phy_device * , struct ethtool_wolinfo * ) ; void (*link_change_notify)(struct phy_device * ) ; int (*read_mmd_indirect)(struct phy_device * , int , int , int ) ; void (*write_mmd_indirect)(struct phy_device * , int , int , int , u32 ) ; int (*module_info)(struct phy_device * , struct ethtool_modinfo * ) ; int (*module_eeprom)(struct phy_device * , struct ethtool_eeprom * , u8 * ) ; struct device_driver driver ; }; struct fixed_phy_status { int link ; int speed ; int duplex ; int pause ; int asym_pause ; }; enum dsa_tag_protocol { DSA_TAG_PROTO_NONE = 0, DSA_TAG_PROTO_DSA = 1, DSA_TAG_PROTO_TRAILER = 2, DSA_TAG_PROTO_EDSA = 3, DSA_TAG_PROTO_BRCM = 4 } ; struct dsa_chip_data { struct device *host_dev ; int sw_addr ; int eeprom_len ; struct device_node *of_node ; char *port_names[12U] ; struct device_node *port_dn[12U] ; s8 *rtable ; }; struct dsa_platform_data { struct device *netdev ; struct net_device *of_netdev ; int nr_chips ; struct dsa_chip_data *chip ; }; struct packet_type; struct dsa_switch; struct dsa_switch_tree { struct dsa_platform_data *pd ; struct net_device *master_netdev ; int (*rcv)(struct sk_buff * , struct net_device * , struct packet_type * , struct net_device * ) ; enum dsa_tag_protocol tag_protocol ; s8 cpu_switch ; s8 cpu_port ; int link_poll_needed ; struct work_struct link_poll_work ; struct timer_list link_poll_timer ; struct dsa_switch *ds[4U] ; }; struct dsa_switch_driver; struct dsa_switch { struct dsa_switch_tree *dst ; int index ; enum dsa_tag_protocol tag_protocol ; struct dsa_chip_data *pd ; struct dsa_switch_driver *drv ; struct device *master_dev ; char hwmon_name[24U] ; struct device *hwmon_dev ; u32 dsa_port_mask ; u32 phys_port_mask ; u32 phys_mii_mask ; struct mii_bus *slave_mii_bus ; struct net_device *ports[12U] ; }; struct dsa_switch_driver { struct list_head list ; enum dsa_tag_protocol tag_protocol ; int priv_size ; char *(*probe)(struct device * , int ) ; int (*setup)(struct dsa_switch * ) ; int (*set_addr)(struct dsa_switch * , u8 * ) ; u32 (*get_phy_flags)(struct dsa_switch * , int ) ; int (*phy_read)(struct dsa_switch * , int , int ) ; int (*phy_write)(struct dsa_switch * , int , int , u16 ) ; void (*poll_link)(struct dsa_switch * ) ; void (*adjust_link)(struct dsa_switch * , int , struct phy_device * ) ; void (*fixed_link_update)(struct dsa_switch * , int , struct fixed_phy_status * ) ; void (*get_strings)(struct dsa_switch * , int , uint8_t * ) ; void (*get_ethtool_stats)(struct dsa_switch * , int , uint64_t * ) ; int (*get_sset_count)(struct dsa_switch * ) ; void (*get_wol)(struct dsa_switch * , int , struct ethtool_wolinfo * ) ; int (*set_wol)(struct dsa_switch * , int , struct ethtool_wolinfo * ) ; int (*suspend)(struct dsa_switch * ) ; int (*resume)(struct dsa_switch * ) ; int (*port_enable)(struct dsa_switch * , int , struct phy_device * ) ; void (*port_disable)(struct dsa_switch * , int , struct phy_device * ) ; int (*set_eee)(struct dsa_switch * , int , struct phy_device * , struct ethtool_eee * ) ; int (*get_eee)(struct dsa_switch * , int , struct ethtool_eee * ) ; int (*get_temp)(struct dsa_switch * , int * ) ; int (*get_temp_limit)(struct dsa_switch * , int * ) ; int (*set_temp_limit)(struct dsa_switch * , int ) ; int (*get_temp_alarm)(struct dsa_switch * , bool * ) ; int (*get_eeprom_len)(struct dsa_switch * ) ; int (*get_eeprom)(struct dsa_switch * , struct ethtool_eeprom * , u8 * ) ; int (*set_eeprom)(struct dsa_switch * , struct ethtool_eeprom * , u8 * ) ; int (*get_regs_len)(struct dsa_switch * , int ) ; void (*get_regs)(struct dsa_switch * , int , struct ethtool_regs * , void * ) ; int (*port_join_bridge)(struct dsa_switch * , int , u32 ) ; int (*port_leave_bridge)(struct dsa_switch * , int , u32 ) ; int (*port_stp_update)(struct dsa_switch * , int , u8 ) ; int (*fdb_add)(struct dsa_switch * , int , unsigned char const * , u16 ) ; int (*fdb_del)(struct dsa_switch * , int , unsigned char const * , u16 ) ; int (*fdb_getnext)(struct dsa_switch * , int , unsigned char * , bool * ) ; }; struct ieee_ets { __u8 willing ; __u8 ets_cap ; __u8 cbs ; __u8 tc_tx_bw[8U] ; __u8 tc_rx_bw[8U] ; __u8 tc_tsa[8U] ; __u8 prio_tc[8U] ; __u8 tc_reco_bw[8U] ; __u8 tc_reco_tsa[8U] ; __u8 reco_prio_tc[8U] ; }; struct ieee_maxrate { __u64 tc_maxrate[8U] ; }; struct ieee_qcn { __u8 rpg_enable[8U] ; __u32 rppp_max_rps[8U] ; __u32 rpg_time_reset[8U] ; __u32 rpg_byte_reset[8U] ; __u32 rpg_threshold[8U] ; __u32 rpg_max_rate[8U] ; __u32 rpg_ai_rate[8U] ; __u32 rpg_hai_rate[8U] ; __u32 rpg_gd[8U] ; __u32 rpg_min_dec_fac[8U] ; __u32 rpg_min_rate[8U] ; __u32 cndd_state_machine[8U] ; }; struct ieee_qcn_stats { __u64 rppp_rp_centiseconds[8U] ; __u32 rppp_created_rps[8U] ; }; struct ieee_pfc { __u8 pfc_cap ; __u8 pfc_en ; __u8 mbc ; __u16 delay ; __u64 requests[8U] ; __u64 indications[8U] ; }; struct cee_pg { __u8 willing ; __u8 error ; __u8 pg_en ; __u8 tcs_supported ; __u8 pg_bw[8U] ; __u8 prio_pg[8U] ; }; struct cee_pfc { __u8 willing ; __u8 error ; __u8 pfc_en ; __u8 tcs_supported ; }; struct dcb_app { __u8 selector ; __u8 priority ; __u16 protocol ; }; struct dcb_peer_app_info { __u8 willing ; __u8 error ; }; struct dcbnl_rtnl_ops { int (*ieee_getets)(struct net_device * , struct ieee_ets * ) ; int (*ieee_setets)(struct net_device * , struct ieee_ets * ) ; int (*ieee_getmaxrate)(struct net_device * , struct ieee_maxrate * ) ; int (*ieee_setmaxrate)(struct net_device * , struct ieee_maxrate * ) ; int (*ieee_getqcn)(struct net_device * , struct ieee_qcn * ) ; int (*ieee_setqcn)(struct net_device * , struct ieee_qcn * ) ; int (*ieee_getqcnstats)(struct net_device * , struct ieee_qcn_stats * ) ; int (*ieee_getpfc)(struct net_device * , struct ieee_pfc * ) ; int (*ieee_setpfc)(struct net_device * , struct ieee_pfc * ) ; int (*ieee_getapp)(struct net_device * , struct dcb_app * ) ; int (*ieee_setapp)(struct net_device * , struct dcb_app * ) ; int (*ieee_delapp)(struct net_device * , struct dcb_app * ) ; int (*ieee_peer_getets)(struct net_device * , struct ieee_ets * ) ; int (*ieee_peer_getpfc)(struct net_device * , struct ieee_pfc * ) ; u8 (*getstate)(struct net_device * ) ; u8 (*setstate)(struct net_device * , u8 ) ; void (*getpermhwaddr)(struct net_device * , u8 * ) ; void (*setpgtccfgtx)(struct net_device * , int , u8 , u8 , u8 , u8 ) ; void (*setpgbwgcfgtx)(struct net_device * , int , u8 ) ; void (*setpgtccfgrx)(struct net_device * , int , u8 , u8 , u8 , u8 ) ; void (*setpgbwgcfgrx)(struct net_device * , int , u8 ) ; void (*getpgtccfgtx)(struct net_device * , int , u8 * , u8 * , u8 * , u8 * ) ; void (*getpgbwgcfgtx)(struct net_device * , int , u8 * ) ; void (*getpgtccfgrx)(struct net_device * , int , u8 * , u8 * , u8 * , u8 * ) ; void (*getpgbwgcfgrx)(struct net_device * , int , u8 * ) ; void (*setpfccfg)(struct net_device * , int , u8 ) ; void (*getpfccfg)(struct net_device * , int , u8 * ) ; u8 (*setall)(struct net_device * ) ; u8 (*getcap)(struct net_device * , int , u8 * ) ; int (*getnumtcs)(struct net_device * , int , u8 * ) ; int (*setnumtcs)(struct net_device * , int , u8 ) ; u8 (*getpfcstate)(struct net_device * ) ; void (*setpfcstate)(struct net_device * , u8 ) ; void (*getbcncfg)(struct net_device * , int , u32 * ) ; void (*setbcncfg)(struct net_device * , int , u32 ) ; void (*getbcnrp)(struct net_device * , int , u8 * ) ; void (*setbcnrp)(struct net_device * , int , u8 ) ; int (*setapp)(struct net_device * , u8 , u16 , u8 ) ; int (*getapp)(struct net_device * , u8 , u16 ) ; u8 (*getfeatcfg)(struct net_device * , int , u8 * ) ; u8 (*setfeatcfg)(struct net_device * , int , u8 ) ; u8 (*getdcbx)(struct net_device * ) ; u8 (*setdcbx)(struct net_device * , u8 ) ; int (*peer_getappinfo)(struct net_device * , struct dcb_peer_app_info * , u16 * ) ; int (*peer_getapptable)(struct net_device * , struct dcb_app * ) ; int (*cee_peer_getpg)(struct net_device * , struct cee_pg * ) ; int (*cee_peer_getpfc)(struct net_device * , struct cee_pfc * ) ; }; struct netprio_map { struct callback_head rcu ; u32 priomap_len ; u32 priomap[] ; }; struct xfrm_policy; struct xfrm_state; struct mnt_namespace; struct ipc_namespace; struct nsproxy { atomic_t count ; struct uts_namespace *uts_ns ; struct ipc_namespace *ipc_ns ; struct mnt_namespace *mnt_ns ; struct pid_namespace *pid_ns_for_children ; struct net *net_ns ; }; struct nlmsghdr { __u32 nlmsg_len ; __u16 nlmsg_type ; __u16 nlmsg_flags ; __u32 nlmsg_seq ; __u32 nlmsg_pid ; }; struct nlattr { __u16 nla_len ; __u16 nla_type ; }; struct netlink_callback { struct sk_buff *skb ; struct nlmsghdr const *nlh ; int (*dump)(struct sk_buff * , struct netlink_callback * ) ; int (*done)(struct netlink_callback * ) ; void *data ; struct module *module ; u16 family ; u16 min_dump_alloc ; unsigned int prev_seq ; unsigned int seq ; long args[6U] ; }; struct ndmsg { __u8 ndm_family ; __u8 ndm_pad1 ; __u16 ndm_pad2 ; __s32 ndm_ifindex ; __u16 ndm_state ; __u8 ndm_flags ; __u8 ndm_type ; }; struct rtnl_link_stats64 { __u64 rx_packets ; __u64 tx_packets ; __u64 rx_bytes ; __u64 tx_bytes ; __u64 rx_errors ; __u64 tx_errors ; __u64 rx_dropped ; __u64 tx_dropped ; __u64 multicast ; __u64 collisions ; __u64 rx_length_errors ; __u64 rx_over_errors ; __u64 rx_crc_errors ; __u64 rx_frame_errors ; __u64 rx_fifo_errors ; __u64 rx_missed_errors ; __u64 tx_aborted_errors ; __u64 tx_carrier_errors ; __u64 tx_fifo_errors ; __u64 tx_heartbeat_errors ; __u64 tx_window_errors ; __u64 rx_compressed ; __u64 tx_compressed ; }; struct ifla_vf_stats { __u64 rx_packets ; __u64 tx_packets ; __u64 rx_bytes ; __u64 tx_bytes ; __u64 broadcast ; __u64 multicast ; }; struct ifla_vf_info { __u32 vf ; __u8 mac[32U] ; __u32 vlan ; __u32 qos ; __u32 spoofchk ; __u32 linkstate ; __u32 min_tx_rate ; __u32 max_tx_rate ; __u32 rss_query_en ; }; struct netpoll_info; struct wireless_dev; struct wpan_dev; struct mpls_dev; enum netdev_tx { __NETDEV_TX_MIN = (-0x7FFFFFFF-1), NETDEV_TX_OK = 0, NETDEV_TX_BUSY = 16, NETDEV_TX_LOCKED = 32 } ; typedef enum netdev_tx netdev_tx_t; struct net_device_stats { unsigned long rx_packets ; unsigned long tx_packets ; unsigned long rx_bytes ; unsigned long tx_bytes ; unsigned long rx_errors ; unsigned long tx_errors ; unsigned long rx_dropped ; unsigned long tx_dropped ; unsigned long multicast ; unsigned long collisions ; unsigned long rx_length_errors ; unsigned long rx_over_errors ; unsigned long rx_crc_errors ; unsigned long rx_frame_errors ; unsigned long rx_fifo_errors ; unsigned long rx_missed_errors ; unsigned long tx_aborted_errors ; unsigned long tx_carrier_errors ; unsigned long tx_fifo_errors ; unsigned long tx_heartbeat_errors ; unsigned long tx_window_errors ; unsigned long rx_compressed ; unsigned long tx_compressed ; }; struct neigh_parms; struct netdev_hw_addr_list { struct list_head list ; int count ; }; struct hh_cache { u16 hh_len ; u16 __pad ; seqlock_t hh_lock ; unsigned long hh_data[16U] ; }; struct header_ops { int (*create)(struct sk_buff * , struct net_device * , unsigned short , void const * , void const * , unsigned int ) ; int (*parse)(struct sk_buff const * , unsigned char * ) ; int (*cache)(struct neighbour const * , struct hh_cache * , __be16 ) ; void (*cache_update)(struct hh_cache * , struct net_device const * , unsigned char const * ) ; }; struct napi_struct { struct list_head poll_list ; unsigned long state ; int weight ; unsigned int gro_count ; int (*poll)(struct napi_struct * , int ) ; spinlock_t poll_lock ; int poll_owner ; struct net_device *dev ; struct sk_buff *gro_list ; struct sk_buff *skb ; struct hrtimer timer ; struct list_head dev_list ; struct hlist_node napi_hash_node ; unsigned int napi_id ; }; enum rx_handler_result { RX_HANDLER_CONSUMED = 0, RX_HANDLER_ANOTHER = 1, RX_HANDLER_EXACT = 2, RX_HANDLER_PASS = 3 } ; typedef enum rx_handler_result rx_handler_result_t; typedef rx_handler_result_t rx_handler_func_t(struct sk_buff ** ); struct Qdisc; struct netdev_queue { struct net_device *dev ; struct Qdisc *qdisc ; struct Qdisc *qdisc_sleeping ; struct kobject kobj ; int numa_node ; spinlock_t _xmit_lock ; int xmit_lock_owner ; unsigned long trans_start ; unsigned long trans_timeout ; unsigned long state ; struct dql dql ; unsigned long tx_maxrate ; }; struct rps_map { unsigned int len ; struct callback_head rcu ; u16 cpus[0U] ; }; struct rps_dev_flow { u16 cpu ; u16 filter ; unsigned int last_qtail ; }; struct rps_dev_flow_table { unsigned int mask ; struct callback_head rcu ; struct rps_dev_flow flows[0U] ; }; struct netdev_rx_queue { struct rps_map *rps_map ; struct rps_dev_flow_table *rps_flow_table ; struct kobject kobj ; struct net_device *dev ; }; struct xps_map { unsigned int len ; unsigned int alloc_len ; struct callback_head rcu ; u16 queues[0U] ; }; struct xps_dev_maps { struct callback_head rcu ; struct xps_map *cpu_map[0U] ; }; struct netdev_tc_txq { u16 count ; u16 offset ; }; struct netdev_fcoe_hbainfo { char manufacturer[64U] ; char serial_number[64U] ; char hardware_version[64U] ; char driver_version[64U] ; char optionrom_version[64U] ; char firmware_version[64U] ; char model[256U] ; char model_description[256U] ; }; struct netdev_phys_item_id { unsigned char id[32U] ; unsigned char id_len ; }; struct net_device_ops { int (*ndo_init)(struct net_device * ) ; void (*ndo_uninit)(struct net_device * ) ; int (*ndo_open)(struct net_device * ) ; int (*ndo_stop)(struct net_device * ) ; netdev_tx_t (*ndo_start_xmit)(struct sk_buff * , struct net_device * ) ; u16 (*ndo_select_queue)(struct net_device * , struct sk_buff * , void * , u16 (*)(struct net_device * , struct sk_buff * ) ) ; void (*ndo_change_rx_flags)(struct net_device * , int ) ; void (*ndo_set_rx_mode)(struct net_device * ) ; int (*ndo_set_mac_address)(struct net_device * , void * ) ; int (*ndo_validate_addr)(struct net_device * ) ; int (*ndo_do_ioctl)(struct net_device * , struct ifreq * , int ) ; int (*ndo_set_config)(struct net_device * , struct ifmap * ) ; int (*ndo_change_mtu)(struct net_device * , int ) ; int (*ndo_neigh_setup)(struct net_device * , struct neigh_parms * ) ; void (*ndo_tx_timeout)(struct net_device * ) ; struct rtnl_link_stats64 *(*ndo_get_stats64)(struct net_device * , struct rtnl_link_stats64 * ) ; struct net_device_stats *(*ndo_get_stats)(struct net_device * ) ; int (*ndo_vlan_rx_add_vid)(struct net_device * , __be16 , u16 ) ; int (*ndo_vlan_rx_kill_vid)(struct net_device * , __be16 , u16 ) ; void (*ndo_poll_controller)(struct net_device * ) ; int (*ndo_netpoll_setup)(struct net_device * , struct netpoll_info * ) ; void (*ndo_netpoll_cleanup)(struct net_device * ) ; int (*ndo_busy_poll)(struct napi_struct * ) ; int (*ndo_set_vf_mac)(struct net_device * , int , u8 * ) ; int (*ndo_set_vf_vlan)(struct net_device * , int , u16 , u8 ) ; int (*ndo_set_vf_rate)(struct net_device * , int , int , int ) ; int (*ndo_set_vf_spoofchk)(struct net_device * , int , bool ) ; int (*ndo_get_vf_config)(struct net_device * , int , struct ifla_vf_info * ) ; int (*ndo_set_vf_link_state)(struct net_device * , int , int ) ; int (*ndo_get_vf_stats)(struct net_device * , int , struct ifla_vf_stats * ) ; int (*ndo_set_vf_port)(struct net_device * , int , struct nlattr ** ) ; int (*ndo_get_vf_port)(struct net_device * , int , struct sk_buff * ) ; int (*ndo_set_vf_rss_query_en)(struct net_device * , int , bool ) ; int (*ndo_setup_tc)(struct net_device * , u8 ) ; int (*ndo_fcoe_enable)(struct net_device * ) ; int (*ndo_fcoe_disable)(struct net_device * ) ; int (*ndo_fcoe_ddp_setup)(struct net_device * , u16 , struct scatterlist * , unsigned int ) ; int (*ndo_fcoe_ddp_done)(struct net_device * , u16 ) ; int (*ndo_fcoe_ddp_target)(struct net_device * , u16 , struct scatterlist * , unsigned int ) ; int (*ndo_fcoe_get_hbainfo)(struct net_device * , struct netdev_fcoe_hbainfo * ) ; int (*ndo_fcoe_get_wwn)(struct net_device * , u64 * , int ) ; int (*ndo_rx_flow_steer)(struct net_device * , struct sk_buff const * , u16 , u32 ) ; int (*ndo_add_slave)(struct net_device * , struct net_device * ) ; int (*ndo_del_slave)(struct net_device * , struct net_device * ) ; netdev_features_t (*ndo_fix_features)(struct net_device * , netdev_features_t ) ; int (*ndo_set_features)(struct net_device * , netdev_features_t ) ; int (*ndo_neigh_construct)(struct neighbour * ) ; void (*ndo_neigh_destroy)(struct neighbour * ) ; int (*ndo_fdb_add)(struct ndmsg * , struct nlattr ** , struct net_device * , unsigned char const * , u16 , u16 ) ; int (*ndo_fdb_del)(struct ndmsg * , struct nlattr ** , struct net_device * , unsigned char const * , u16 ) ; int (*ndo_fdb_dump)(struct sk_buff * , struct netlink_callback * , struct net_device * , struct net_device * , int ) ; int (*ndo_bridge_setlink)(struct net_device * , struct nlmsghdr * , u16 ) ; int (*ndo_bridge_getlink)(struct sk_buff * , u32 , u32 , struct net_device * , u32 , int ) ; int (*ndo_bridge_dellink)(struct net_device * , struct nlmsghdr * , u16 ) ; int (*ndo_change_carrier)(struct net_device * , bool ) ; int (*ndo_get_phys_port_id)(struct net_device * , struct netdev_phys_item_id * ) ; int (*ndo_get_phys_port_name)(struct net_device * , char * , size_t ) ; void (*ndo_add_vxlan_port)(struct net_device * , sa_family_t , __be16 ) ; void (*ndo_del_vxlan_port)(struct net_device * , sa_family_t , __be16 ) ; void *(*ndo_dfwd_add_station)(struct net_device * , struct net_device * ) ; void (*ndo_dfwd_del_station)(struct net_device * , void * ) ; netdev_tx_t (*ndo_dfwd_start_xmit)(struct sk_buff * , struct net_device * , void * ) ; int (*ndo_get_lock_subclass)(struct net_device * ) ; netdev_features_t (*ndo_features_check)(struct sk_buff * , struct net_device * , netdev_features_t ) ; int (*ndo_set_tx_maxrate)(struct net_device * , int , u32 ) ; int (*ndo_get_iflink)(struct net_device const * ) ; }; struct __anonstruct_adj_list_319 { struct list_head upper ; struct list_head lower ; }; struct __anonstruct_all_adj_list_320 { struct list_head upper ; struct list_head lower ; }; struct iw_handler_def; struct iw_public_data; struct switchdev_ops; struct vlan_info; struct tipc_bearer; struct in_device; struct dn_dev; struct inet6_dev; struct tcf_proto; struct cpu_rmap; struct pcpu_lstats; struct pcpu_sw_netstats; struct pcpu_dstats; struct pcpu_vstats; union __anonunion____missing_field_name_321 { void *ml_priv ; struct pcpu_lstats *lstats ; struct pcpu_sw_netstats *tstats ; struct pcpu_dstats *dstats ; struct pcpu_vstats *vstats ; }; struct garp_port; struct mrp_port; struct rtnl_link_ops; struct net_device { char name[16U] ; struct hlist_node name_hlist ; char *ifalias ; unsigned long mem_end ; unsigned long mem_start ; unsigned long base_addr ; int irq ; atomic_t carrier_changes ; unsigned long state ; struct list_head dev_list ; struct list_head napi_list ; struct list_head unreg_list ; struct list_head close_list ; struct list_head ptype_all ; struct list_head ptype_specific ; struct __anonstruct_adj_list_319 adj_list ; struct __anonstruct_all_adj_list_320 all_adj_list ; netdev_features_t features ; netdev_features_t hw_features ; netdev_features_t wanted_features ; netdev_features_t vlan_features ; netdev_features_t hw_enc_features ; netdev_features_t mpls_features ; int ifindex ; int group ; struct net_device_stats stats ; atomic_long_t rx_dropped ; atomic_long_t tx_dropped ; struct iw_handler_def const *wireless_handlers ; struct iw_public_data *wireless_data ; struct net_device_ops const *netdev_ops ; struct ethtool_ops const *ethtool_ops ; struct switchdev_ops const *switchdev_ops ; struct header_ops const *header_ops ; unsigned int flags ; unsigned int priv_flags ; unsigned short gflags ; unsigned short padded ; unsigned char operstate ; unsigned char link_mode ; unsigned char if_port ; unsigned char dma ; unsigned int mtu ; unsigned short type ; unsigned short hard_header_len ; unsigned short needed_headroom ; unsigned short needed_tailroom ; unsigned char perm_addr[32U] ; unsigned char addr_assign_type ; unsigned char addr_len ; unsigned short neigh_priv_len ; unsigned short dev_id ; unsigned short dev_port ; spinlock_t addr_list_lock ; unsigned char name_assign_type ; bool uc_promisc ; struct netdev_hw_addr_list uc ; struct netdev_hw_addr_list mc ; struct netdev_hw_addr_list dev_addrs ; struct kset *queues_kset ; unsigned int promiscuity ; unsigned int allmulti ; struct vlan_info *vlan_info ; struct dsa_switch_tree *dsa_ptr ; struct tipc_bearer *tipc_ptr ; void *atalk_ptr ; struct in_device *ip_ptr ; struct dn_dev *dn_ptr ; struct inet6_dev *ip6_ptr ; void *ax25_ptr ; struct wireless_dev *ieee80211_ptr ; struct wpan_dev *ieee802154_ptr ; struct mpls_dev *mpls_ptr ; unsigned long last_rx ; unsigned char *dev_addr ; struct netdev_rx_queue *_rx ; unsigned int num_rx_queues ; unsigned int real_num_rx_queues ; unsigned long gro_flush_timeout ; rx_handler_func_t *rx_handler ; void *rx_handler_data ; struct tcf_proto *ingress_cl_list ; struct netdev_queue *ingress_queue ; struct list_head nf_hooks_ingress ; unsigned char broadcast[32U] ; struct cpu_rmap *rx_cpu_rmap ; struct hlist_node index_hlist ; struct netdev_queue *_tx ; unsigned int num_tx_queues ; unsigned int real_num_tx_queues ; struct Qdisc *qdisc ; unsigned long tx_queue_len ; spinlock_t tx_global_lock ; int watchdog_timeo ; struct xps_dev_maps *xps_maps ; unsigned long trans_start ; struct timer_list watchdog_timer ; int *pcpu_refcnt ; struct list_head todo_list ; struct list_head link_watch_list ; unsigned char reg_state ; bool dismantle ; unsigned short rtnl_link_state ; void (*destructor)(struct net_device * ) ; struct netpoll_info *npinfo ; possible_net_t nd_net ; union __anonunion____missing_field_name_321 __annonCompField94 ; struct garp_port *garp_port ; struct mrp_port *mrp_port ; struct device dev ; struct attribute_group const *sysfs_groups[4U] ; struct attribute_group const *sysfs_rx_queue_group ; struct rtnl_link_ops const *rtnl_link_ops ; unsigned int gso_max_size ; u16 gso_max_segs ; u16 gso_min_segs ; struct dcbnl_rtnl_ops const *dcbnl_ops ; u8 num_tc ; struct netdev_tc_txq tc_to_txq[16U] ; u8 prio_tc_map[16U] ; unsigned int fcoe_ddp_xid ; struct netprio_map *priomap ; struct phy_device *phydev ; struct lock_class_key *qdisc_tx_busylock ; }; struct packet_type { __be16 type ; struct net_device *dev ; int (*func)(struct sk_buff * , struct net_device * , struct packet_type * , struct net_device * ) ; bool (*id_match)(struct packet_type * , struct sock * ) ; void *af_packet_priv ; struct list_head list ; }; struct pcpu_sw_netstats { u64 rx_packets ; u64 rx_bytes ; u64 tx_packets ; u64 tx_bytes ; struct u64_stats_sync syncp ; }; struct page_counter { atomic_long_t count ; unsigned long limit ; struct page_counter *parent ; unsigned long watermark ; unsigned long failcnt ; }; struct sock_filter { __u16 code ; __u8 jt ; __u8 jf ; __u32 k ; }; struct bpf_insn { __u8 code ; unsigned char dst_reg : 4 ; unsigned char src_reg : 4 ; __s16 off ; __s32 imm ; }; enum bpf_prog_type { BPF_PROG_TYPE_UNSPEC = 0, BPF_PROG_TYPE_SOCKET_FILTER = 1, BPF_PROG_TYPE_KPROBE = 2, BPF_PROG_TYPE_SCHED_CLS = 3, BPF_PROG_TYPE_SCHED_ACT = 4 } ; struct bpf_prog_aux; struct sock_fprog_kern { u16 len ; struct sock_filter *filter ; }; union __anonunion____missing_field_name_330 { struct sock_filter insns[0U] ; struct bpf_insn insnsi[0U] ; }; struct bpf_prog { u16 pages ; bool jited ; bool gpl_compatible ; u32 len ; enum bpf_prog_type type ; struct bpf_prog_aux *aux ; struct sock_fprog_kern *orig_prog ; unsigned int (*bpf_func)(struct sk_buff const * , struct bpf_insn const * ) ; union __anonunion____missing_field_name_330 __annonCompField99 ; }; struct sk_filter { atomic_t refcnt ; struct callback_head rcu ; struct bpf_prog *prog ; }; struct pollfd { int fd ; short events ; short revents ; }; struct poll_table_struct { void (*_qproc)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ; unsigned long _key ; }; struct nla_policy { u16 type ; u16 len ; }; struct rtnl_link_ops { struct list_head list ; char const *kind ; size_t priv_size ; void (*setup)(struct net_device * ) ; int maxtype ; struct nla_policy const *policy ; int (*validate)(struct nlattr ** , struct nlattr ** ) ; int (*newlink)(struct net * , struct net_device * , struct nlattr ** , struct nlattr ** ) ; int (*changelink)(struct net_device * , struct nlattr ** , struct nlattr ** ) ; void (*dellink)(struct net_device * , struct list_head * ) ; size_t (*get_size)(struct net_device const * ) ; int (*fill_info)(struct sk_buff * , struct net_device const * ) ; size_t (*get_xstats_size)(struct net_device const * ) ; int (*fill_xstats)(struct sk_buff * , struct net_device const * ) ; unsigned int (*get_num_tx_queues)(void) ; unsigned int (*get_num_rx_queues)(void) ; int slave_maxtype ; struct nla_policy const *slave_policy ; int (*slave_validate)(struct nlattr ** , struct nlattr ** ) ; int (*slave_changelink)(struct net_device * , struct net_device * , struct nlattr ** , struct nlattr ** ) ; size_t (*get_slave_size)(struct net_device const * , struct net_device const * ) ; int (*fill_slave_info)(struct sk_buff * , struct net_device const * , struct net_device const * ) ; struct net *(*get_link_net)(struct net_device const * ) ; }; struct neigh_table; struct neigh_parms { possible_net_t net ; struct net_device *dev ; struct list_head list ; int (*neigh_setup)(struct neighbour * ) ; void (*neigh_cleanup)(struct neighbour * ) ; struct neigh_table *tbl ; void *sysctl_table ; int dead ; atomic_t refcnt ; struct callback_head callback_head ; int reachable_time ; int data[13U] ; unsigned long data_state[1U] ; }; struct neigh_statistics { unsigned long allocs ; unsigned long destroys ; unsigned long hash_grows ; unsigned long res_failed ; unsigned long lookups ; unsigned long hits ; unsigned long rcv_probes_mcast ; unsigned long rcv_probes_ucast ; unsigned long periodic_gc_runs ; unsigned long forced_gc_runs ; unsigned long unres_discards ; }; struct neigh_ops; struct neighbour { struct neighbour *next ; struct neigh_table *tbl ; struct neigh_parms *parms ; unsigned long confirmed ; unsigned long updated ; rwlock_t lock ; atomic_t refcnt ; struct sk_buff_head arp_queue ; unsigned int arp_queue_len_bytes ; struct timer_list timer ; unsigned long used ; atomic_t probes ; __u8 flags ; __u8 nud_state ; __u8 type ; __u8 dead ; seqlock_t ha_lock ; unsigned char ha[32U] ; struct hh_cache hh ; int (*output)(struct neighbour * , struct sk_buff * ) ; struct neigh_ops const *ops ; struct callback_head rcu ; struct net_device *dev ; u8 primary_key[0U] ; }; struct neigh_ops { int family ; void (*solicit)(struct neighbour * , struct sk_buff * ) ; void (*error_report)(struct neighbour * , struct sk_buff * ) ; int (*output)(struct neighbour * , struct sk_buff * ) ; int (*connected_output)(struct neighbour * , struct sk_buff * ) ; }; struct pneigh_entry { struct pneigh_entry *next ; possible_net_t net ; struct net_device *dev ; u8 flags ; u8 key[0U] ; }; struct neigh_hash_table { struct neighbour **hash_buckets ; unsigned int hash_shift ; __u32 hash_rnd[4U] ; struct callback_head rcu ; }; struct neigh_table { int family ; int entry_size ; int key_len ; __be16 protocol ; __u32 (*hash)(void const * , struct net_device const * , __u32 * ) ; bool (*key_eq)(struct neighbour const * , void const * ) ; int (*constructor)(struct neighbour * ) ; int (*pconstructor)(struct pneigh_entry * ) ; void (*pdestructor)(struct pneigh_entry * ) ; void (*proxy_redo)(struct sk_buff * ) ; char *id ; struct neigh_parms parms ; struct list_head parms_list ; int gc_interval ; int gc_thresh1 ; int gc_thresh2 ; int gc_thresh3 ; unsigned long last_flush ; struct delayed_work gc_work ; struct timer_list proxy_timer ; struct sk_buff_head proxy_queue ; atomic_t entries ; rwlock_t lock ; unsigned long last_rand ; struct neigh_statistics *stats ; struct neigh_hash_table *nht ; struct pneigh_entry **phash_buckets ; }; struct dn_route; union __anonunion____missing_field_name_341 { struct dst_entry *next ; struct rtable *rt_next ; struct rt6_info *rt6_next ; struct dn_route *dn_next ; }; struct dst_entry { struct callback_head callback_head ; struct dst_entry *child ; struct net_device *dev ; struct dst_ops *ops ; unsigned long _metrics ; unsigned long expires ; struct dst_entry *path ; struct dst_entry *from ; struct xfrm_state *xfrm ; int (*input)(struct sk_buff * ) ; int (*output)(struct sock * , struct sk_buff * ) ; unsigned short flags ; unsigned short pending_confirm ; short error ; short obsolete ; unsigned short header_len ; unsigned short trailer_len ; __u32 tclassid ; long __pad_to_align_refcnt[2U] ; atomic_t __refcnt ; int __use ; unsigned long lastuse ; union __anonunion____missing_field_name_341 __annonCompField100 ; }; struct __anonstruct_socket_lock_t_342 { spinlock_t slock ; int owned ; wait_queue_head_t wq ; struct lockdep_map dep_map ; }; typedef struct __anonstruct_socket_lock_t_342 socket_lock_t; struct proto; typedef __u32 __portpair; typedef __u64 __addrpair; struct __anonstruct____missing_field_name_344 { __be32 skc_daddr ; __be32 skc_rcv_saddr ; }; union __anonunion____missing_field_name_343 { __addrpair skc_addrpair ; struct __anonstruct____missing_field_name_344 __annonCompField101 ; }; union __anonunion____missing_field_name_345 { unsigned int skc_hash ; __u16 skc_u16hashes[2U] ; }; struct __anonstruct____missing_field_name_347 { __be16 skc_dport ; __u16 skc_num ; }; union __anonunion____missing_field_name_346 { __portpair skc_portpair ; struct __anonstruct____missing_field_name_347 __annonCompField104 ; }; union __anonunion____missing_field_name_348 { struct hlist_node skc_bind_node ; struct hlist_nulls_node skc_portaddr_node ; }; union __anonunion____missing_field_name_349 { struct hlist_node skc_node ; struct hlist_nulls_node skc_nulls_node ; }; struct sock_common { union __anonunion____missing_field_name_343 __annonCompField102 ; union __anonunion____missing_field_name_345 __annonCompField103 ; union __anonunion____missing_field_name_346 __annonCompField105 ; unsigned short skc_family ; unsigned char volatile skc_state ; unsigned char skc_reuse : 4 ; unsigned char skc_reuseport : 1 ; unsigned char skc_ipv6only : 1 ; unsigned char skc_net_refcnt : 1 ; int skc_bound_dev_if ; union __anonunion____missing_field_name_348 __annonCompField106 ; struct proto *skc_prot ; possible_net_t skc_net ; struct in6_addr skc_v6_daddr ; struct in6_addr skc_v6_rcv_saddr ; atomic64_t skc_cookie ; int skc_dontcopy_begin[0U] ; union __anonunion____missing_field_name_349 __annonCompField107 ; int skc_tx_queue_mapping ; atomic_t skc_refcnt ; int skc_dontcopy_end[0U] ; }; struct cg_proto; struct __anonstruct_sk_backlog_350 { atomic_t rmem_alloc ; int len ; struct sk_buff *head ; struct sk_buff *tail ; }; struct sock { struct sock_common __sk_common ; socket_lock_t sk_lock ; struct sk_buff_head sk_receive_queue ; struct __anonstruct_sk_backlog_350 sk_backlog ; int sk_forward_alloc ; __u32 sk_rxhash ; u16 sk_incoming_cpu ; __u32 sk_txhash ; unsigned int sk_napi_id ; unsigned int sk_ll_usec ; atomic_t sk_drops ; int sk_rcvbuf ; struct sk_filter *sk_filter ; struct socket_wq *sk_wq ; struct xfrm_policy *sk_policy[2U] ; unsigned long sk_flags ; struct dst_entry *sk_rx_dst ; struct dst_entry *sk_dst_cache ; spinlock_t sk_dst_lock ; atomic_t sk_wmem_alloc ; atomic_t sk_omem_alloc ; int sk_sndbuf ; struct sk_buff_head sk_write_queue ; unsigned char sk_shutdown : 2 ; unsigned char sk_no_check_tx : 1 ; unsigned char sk_no_check_rx : 1 ; unsigned char sk_userlocks : 4 ; unsigned char sk_protocol ; unsigned short sk_type ; int sk_wmem_queued ; gfp_t sk_allocation ; u32 sk_pacing_rate ; u32 sk_max_pacing_rate ; netdev_features_t sk_route_caps ; netdev_features_t sk_route_nocaps ; int sk_gso_type ; unsigned int sk_gso_max_size ; u16 sk_gso_max_segs ; int sk_rcvlowat ; unsigned long sk_lingertime ; struct sk_buff_head sk_error_queue ; struct proto *sk_prot_creator ; rwlock_t sk_callback_lock ; int sk_err ; int sk_err_soft ; u32 sk_ack_backlog ; u32 sk_max_ack_backlog ; __u32 sk_priority ; __u32 sk_cgrp_prioidx ; struct pid *sk_peer_pid ; struct cred const *sk_peer_cred ; long sk_rcvtimeo ; long sk_sndtimeo ; struct timer_list sk_timer ; ktime_t sk_stamp ; u16 sk_tsflags ; u32 sk_tskey ; struct socket *sk_socket ; void *sk_user_data ; struct page_frag sk_frag ; struct sk_buff *sk_send_head ; __s32 sk_peek_off ; int sk_write_pending ; void *sk_security ; __u32 sk_mark ; u32 sk_classid ; struct cg_proto *sk_cgrp ; void (*sk_state_change)(struct sock * ) ; void (*sk_data_ready)(struct sock * ) ; void (*sk_write_space)(struct sock * ) ; void (*sk_error_report)(struct sock * ) ; int (*sk_backlog_rcv)(struct sock * , struct sk_buff * ) ; void (*sk_destruct)(struct sock * ) ; }; struct request_sock_ops; struct timewait_sock_ops; struct inet_hashinfo; struct raw_hashinfo; struct udp_table; union __anonunion_h_353 { struct inet_hashinfo *hashinfo ; struct udp_table *udp_table ; struct raw_hashinfo *raw_hash ; }; struct proto { void (*close)(struct sock * , long ) ; int (*connect)(struct sock * , struct sockaddr * , int ) ; int (*disconnect)(struct sock * , int ) ; struct sock *(*accept)(struct sock * , int , int * ) ; int (*ioctl)(struct sock * , int , unsigned long ) ; int (*init)(struct sock * ) ; void (*destroy)(struct sock * ) ; void (*shutdown)(struct sock * , int ) ; int (*setsockopt)(struct sock * , int , int , char * , unsigned int ) ; int (*getsockopt)(struct sock * , int , int , char * , int * ) ; int (*compat_setsockopt)(struct sock * , int , int , char * , unsigned int ) ; int (*compat_getsockopt)(struct sock * , int , int , char * , int * ) ; int (*compat_ioctl)(struct sock * , unsigned int , unsigned long ) ; int (*sendmsg)(struct sock * , struct msghdr * , size_t ) ; int (*recvmsg)(struct sock * , struct msghdr * , size_t , int , int , int * ) ; int (*sendpage)(struct sock * , struct page * , int , size_t , int ) ; int (*bind)(struct sock * , struct sockaddr * , int ) ; int (*backlog_rcv)(struct sock * , struct sk_buff * ) ; void (*release_cb)(struct sock * ) ; void (*hash)(struct sock * ) ; void (*unhash)(struct sock * ) ; void (*rehash)(struct sock * ) ; int (*get_port)(struct sock * , unsigned short ) ; void (*clear_sk)(struct sock * , int ) ; unsigned int inuse_idx ; bool (*stream_memory_free)(struct sock const * ) ; void (*enter_memory_pressure)(struct sock * ) ; atomic_long_t *memory_allocated ; struct percpu_counter *sockets_allocated ; int *memory_pressure ; long *sysctl_mem ; int *sysctl_wmem ; int *sysctl_rmem ; int max_header ; bool no_autobind ; struct kmem_cache *slab ; unsigned int obj_size ; int slab_flags ; struct percpu_counter *orphan_count ; struct request_sock_ops *rsk_prot ; struct timewait_sock_ops *twsk_prot ; union __anonunion_h_353 h ; struct module *owner ; char name[32U] ; struct list_head node ; int (*init_cgroup)(struct mem_cgroup * , struct cgroup_subsys * ) ; void (*destroy_cgroup)(struct mem_cgroup * ) ; struct cg_proto *(*proto_cgroup)(struct mem_cgroup * ) ; }; struct cg_proto { struct page_counter memory_allocated ; struct percpu_counter sockets_allocated ; int memory_pressure ; long sysctl_mem[3U] ; unsigned long flags ; struct mem_cgroup *memcg ; }; struct cfs_cpu_partition { cpumask_t *cpt_cpumask ; nodemask_t *cpt_nodemask ; unsigned int cpt_spread_rotor ; }; struct cfs_cpt_table { unsigned int ctb_version ; unsigned int ctb_spread_rotor ; unsigned int ctb_nparts ; struct cfs_cpu_partition *ctb_parts ; int *ctb_cpu2cpt ; cpumask_t *ctb_cpumask ; nodemask_t *ctb_nodemask ; }; struct cfs_debug_limit_state { unsigned long cdls_next ; unsigned int cdls_delay ; int cdls_count ; }; struct libcfs_debug_msg_data { char const *msg_file ; char const *msg_fn ; int msg_subsys ; int msg_line ; int msg_mask ; struct cfs_debug_limit_state *msg_cdls ; }; struct cfs_percpt_lock { struct cfs_cpt_table *pcl_cptab ; unsigned int pcl_locked ; spinlock_t **pcl_locks ; }; struct libcfs_ioctl_data { __u32 ioc_len ; __u32 ioc_version ; __u64 ioc_nid ; __u64 ioc_u64[1U] ; __u32 ioc_flags ; __u32 ioc_count ; __u32 ioc_net ; __u32 ioc_u32[7U] ; __u32 ioc_inllen1 ; char *ioc_inlbuf1 ; __u32 ioc_inllen2 ; char *ioc_inlbuf2 ; __u32 ioc_plen1 ; char *ioc_pbuf1 ; __u32 ioc_plen2 ; char *ioc_pbuf2 ; char ioc_bulk[0U] ; }; typedef __u64 lnet_nid_t; typedef __u32 lnet_pid_t; struct __anonstruct_lnet_handle_wire_t_363 { __u64 wh_interface_cookie ; __u64 wh_object_cookie ; }; typedef struct __anonstruct_lnet_handle_wire_t_363 lnet_handle_wire_t; struct lnet_ack { lnet_handle_wire_t dst_wmd ; __u64 match_bits ; __u32 mlength ; }; typedef struct lnet_ack lnet_ack_t; struct lnet_put { lnet_handle_wire_t ack_wmd ; __u64 match_bits ; __u64 hdr_data ; __u32 ptl_index ; __u32 offset ; }; typedef struct lnet_put lnet_put_t; struct lnet_get { lnet_handle_wire_t return_wmd ; __u64 match_bits ; __u32 ptl_index ; __u32 src_offset ; __u32 sink_length ; }; typedef struct lnet_get lnet_get_t; struct lnet_reply { lnet_handle_wire_t dst_wmd ; }; typedef struct lnet_reply lnet_reply_t; struct lnet_hello { __u64 incarnation ; __u32 type ; }; typedef struct lnet_hello lnet_hello_t; union __anonunion_msg_365 { lnet_ack_t ack ; lnet_put_t put ; lnet_get_t get ; lnet_reply_t reply ; lnet_hello_t hello ; }; struct __anonstruct_lnet_hdr_t_364 { lnet_nid_t dest_nid ; lnet_nid_t src_nid ; lnet_pid_t dest_pid ; lnet_pid_t src_pid ; __u32 type ; __u32 payload_length ; union __anonunion_msg_365 msg ; }; typedef struct __anonstruct_lnet_hdr_t_364 lnet_hdr_t; struct __anonstruct_lnet_ni_status_t_368 { lnet_nid_t ns_nid ; __u32 ns_status ; __u32 ns_unused ; }; typedef struct __anonstruct_lnet_ni_status_t_368 lnet_ni_status_t; struct __anonstruct_lnet_ping_info_t_369 { __u32 pi_magic ; __u32 pi_features ; lnet_pid_t pi_pid ; __u32 pi_nnis ; lnet_ni_status_t pi_ni[0U] ; }; typedef struct __anonstruct_lnet_ping_info_t_369 lnet_ping_info_t; struct lnet_counters { __u32 msgs_alloc ; __u32 msgs_max ; __u32 errors ; __u32 send_count ; __u32 recv_count ; __u32 route_count ; __u32 drop_count ; __u64 send_length ; __u64 recv_length ; __u64 route_length ; __u64 drop_length ; }; typedef struct lnet_counters lnet_counters_t; struct __anonstruct_lnet_handle_any_t_370 { __u64 cookie ; }; typedef struct __anonstruct_lnet_handle_any_t_370 lnet_handle_any_t; typedef lnet_handle_any_t lnet_handle_eq_t; typedef lnet_handle_any_t lnet_handle_md_t; typedef lnet_handle_any_t lnet_handle_me_t; struct __anonstruct_lnet_process_id_t_371 { lnet_nid_t nid ; lnet_pid_t pid ; }; typedef struct __anonstruct_lnet_process_id_t_371 lnet_process_id_t; enum ldv_34551 { LNET_RETAIN = 0, LNET_UNLINK = 1 } ; typedef enum ldv_34551 lnet_unlink_t; enum ldv_34553 { LNET_INS_BEFORE = 0, LNET_INS_AFTER = 1, LNET_INS_LOCAL = 2 } ; typedef enum ldv_34553 lnet_ins_pos_t; struct __anonstruct_lnet_md_t_372 { void *start ; unsigned int length ; int threshold ; int max_size ; unsigned int options ; void *user_ptr ; lnet_handle_eq_t eq_handle ; }; typedef struct __anonstruct_lnet_md_t_372 lnet_md_t; struct __anonstruct_lnet_kiov_t_373 { struct page *kiov_page ; unsigned int kiov_len ; unsigned int kiov_offset ; }; typedef struct __anonstruct_lnet_kiov_t_373 lnet_kiov_t; enum ldv_34560 { LNET_EVENT_GET = 1, LNET_EVENT_PUT = 2, LNET_EVENT_REPLY = 3, LNET_EVENT_ACK = 4, LNET_EVENT_SEND = 5, LNET_EVENT_UNLINK = 6 } ; typedef enum ldv_34560 lnet_event_kind_t; typedef unsigned long lnet_seq_t; struct __anonstruct_lnet_event_t_374 { lnet_process_id_t target ; lnet_process_id_t initiator ; lnet_nid_t sender ; lnet_event_kind_t type ; unsigned int pt_index ; __u64 match_bits ; unsigned int rlength ; unsigned int mlength ; lnet_handle_md_t md_handle ; lnet_md_t md ; __u64 hdr_data ; int status ; int unlinked ; unsigned int offset ; lnet_seq_t volatile sequence ; }; typedef struct __anonstruct_lnet_event_t_374 lnet_event_t; struct lnet_libmd; struct lnet_peer; struct lnet_msg { struct list_head msg_activelist ; struct list_head msg_list ; lnet_process_id_t msg_target ; lnet_nid_t msg_from ; __u32 msg_type ; unsigned char msg_tx_committed : 1 ; unsigned short msg_tx_cpt : 15 ; unsigned char msg_rx_committed : 1 ; unsigned short msg_rx_cpt : 15 ; unsigned char msg_tx_delayed : 1 ; unsigned char msg_rx_delayed : 1 ; unsigned char msg_rx_ready_delay : 1 ; unsigned char msg_vmflush : 1 ; unsigned char msg_target_is_router : 1 ; unsigned char msg_routing : 1 ; unsigned char msg_ack : 1 ; unsigned char msg_sending : 1 ; unsigned char msg_receiving : 1 ; unsigned char msg_txcredit : 1 ; unsigned char msg_peertxcredit : 1 ; unsigned char msg_rtrcredit : 1 ; unsigned char msg_peerrtrcredit : 1 ; unsigned char msg_onactivelist : 1 ; struct lnet_peer *msg_txpeer ; struct lnet_peer *msg_rxpeer ; void *msg_private ; struct lnet_libmd *msg_md ; unsigned int msg_len ; unsigned int msg_wanted ; unsigned int msg_offset ; unsigned int msg_niov ; struct kvec *msg_iov ; lnet_kiov_t *msg_kiov ; lnet_event_t msg_ev ; lnet_hdr_t msg_hdr ; }; typedef struct lnet_msg lnet_msg_t; struct lnet_libhandle { struct list_head lh_hash_chain ; __u64 lh_cookie ; }; typedef struct lnet_libhandle lnet_libhandle_t; struct lnet_eq { struct list_head eq_list ; lnet_libhandle_t eq_lh ; lnet_seq_t eq_enq_seq ; lnet_seq_t eq_deq_seq ; unsigned int eq_size ; void (*eq_callback)(lnet_event_t * ) ; lnet_event_t *eq_events ; int **eq_refs ; }; typedef struct lnet_eq lnet_eq_t; struct lnet_me { struct list_head me_list ; lnet_libhandle_t me_lh ; lnet_process_id_t me_match_id ; unsigned int me_portal ; unsigned int me_pos ; __u64 me_match_bits ; __u64 me_ignore_bits ; lnet_unlink_t me_unlink ; struct lnet_libmd *me_md ; }; typedef struct lnet_me lnet_me_t; union __anonunion_md_iov_375 { struct kvec iov[256U] ; lnet_kiov_t kiov[256U] ; }; struct lnet_libmd { struct list_head md_list ; lnet_libhandle_t md_lh ; lnet_me_t *md_me ; char *md_start ; unsigned int md_offset ; unsigned int md_length ; unsigned int md_max_size ; int md_threshold ; int md_refcount ; unsigned int md_options ; unsigned int md_flags ; void *md_user_ptr ; lnet_eq_t *md_eq ; unsigned int md_niov ; union __anonunion_md_iov_375 md_iov ; }; typedef struct lnet_libmd lnet_libmd_t; struct lnet_ni; struct lnet_lnd { struct list_head lnd_list ; int lnd_refcount ; __u32 lnd_type ; int (*lnd_startup)(struct lnet_ni * ) ; void (*lnd_shutdown)(struct lnet_ni * ) ; int (*lnd_ctl)(struct lnet_ni * , unsigned int , void * ) ; int (*lnd_send)(struct lnet_ni * , void * , lnet_msg_t * ) ; int (*lnd_recv)(struct lnet_ni * , void * , lnet_msg_t * , int , unsigned int , struct kvec * , lnet_kiov_t * , unsigned int , unsigned int , unsigned int ) ; int (*lnd_eager_recv)(struct lnet_ni * , void * , lnet_msg_t * , void ** ) ; void (*lnd_notify)(struct lnet_ni * , lnet_nid_t , int ) ; void (*lnd_query)(struct lnet_ni * , lnet_nid_t , unsigned long * ) ; int (*lnd_accept)(struct lnet_ni * , struct socket * ) ; }; typedef struct lnet_lnd lnd_t; struct lnet_tx_queue { int tq_credits ; int tq_credits_min ; int tq_credits_max ; struct list_head tq_delayed ; }; struct lnet_ni { spinlock_t ni_lock ; struct list_head ni_list ; struct list_head ni_cptlist ; int ni_maxtxcredits ; int ni_peertxcredits ; int ni_peerrtrcredits ; int ni_peertimeout ; int ni_ncpts ; __u32 *ni_cpts ; lnet_nid_t ni_nid ; void *ni_data ; lnd_t *ni_lnd ; struct lnet_tx_queue **ni_tx_queues ; int **ni_refs ; long ni_last_alive ; lnet_ni_status_t *ni_status ; char *ni_interfaces[16U] ; }; typedef struct lnet_ni lnet_ni_t; struct __anonstruct_lnet_rc_data_t_377 { struct list_head rcd_list ; lnet_handle_md_t rcd_mdh ; struct lnet_peer *rcd_gateway ; lnet_ping_info_t *rcd_pinginfo ; }; typedef struct __anonstruct_lnet_rc_data_t_377 lnet_rc_data_t; struct lnet_peer { struct list_head lp_hashlist ; struct list_head lp_txq ; struct list_head lp_rtrq ; struct list_head lp_rtr_list ; int lp_txcredits ; int lp_mintxcredits ; int lp_rtrcredits ; int lp_minrtrcredits ; unsigned char lp_alive : 1 ; unsigned char lp_notify : 1 ; unsigned char lp_notifylnd : 1 ; unsigned char lp_notifying : 1 ; unsigned int lp_ping_notsent ; int lp_alive_count ; long lp_txqnob ; unsigned long lp_timestamp ; unsigned long lp_ping_timestamp ; unsigned long lp_ping_deadline ; unsigned long lp_last_alive ; unsigned long lp_last_query ; lnet_ni_t *lp_ni ; lnet_nid_t lp_nid ; int lp_refcount ; int lp_cpt ; int lp_rtr_refcount ; unsigned int lp_ping_feats ; struct list_head lp_routes ; lnet_rc_data_t *lp_rcd ; }; struct lnet_peer_table { int pt_version ; int pt_number ; struct list_head pt_deathrow ; struct list_head *pt_hash ; }; struct __anonstruct_lnet_rtrbufpool_t_380 { struct list_head rbp_bufs ; struct list_head rbp_msgs ; int rbp_npages ; int rbp_nbuffers ; int rbp_credits ; int rbp_mincredits ; }; typedef struct __anonstruct_lnet_rtrbufpool_t_380 lnet_rtrbufpool_t; struct lnet_match_table { unsigned int mt_cpt ; unsigned int mt_portal ; unsigned int mt_enabled ; __u64 mt_exhausted[5U] ; struct list_head *mt_mhash ; }; struct lnet_portal { spinlock_t ptl_lock ; unsigned int ptl_index ; unsigned int ptl_options ; struct list_head ptl_msg_stealing ; struct list_head ptl_msg_delayed ; struct lnet_match_table **ptl_mtables ; unsigned int ptl_rotor ; int ptl_mt_nmaps ; int ptl_mt_maps[0U] ; }; typedef struct lnet_portal lnet_portal_t; struct lnet_res_container { unsigned int rec_type ; __u64 rec_lh_cookie ; struct list_head rec_active ; struct list_head *rec_lh_hash ; }; struct lnet_msg_container { int msc_init ; int msc_nfinalizers ; struct list_head msc_finalizing ; struct list_head msc_active ; void **msc_finalizers ; }; struct __anonstruct_lnet_t_382 { struct cfs_cpt_table *ln_cpt_table ; unsigned int ln_cpt_number ; unsigned int ln_cpt_bits ; struct cfs_percpt_lock *ln_res_lock ; int ln_nportals ; lnet_portal_t **ln_portals ; struct lnet_res_container **ln_me_containers ; struct lnet_res_container **ln_md_containers ; struct lnet_res_container ln_eq_container ; wait_queue_head_t ln_eq_waitq ; spinlock_t ln_eq_wait_lock ; unsigned int ln_remote_nets_hbits ; struct cfs_percpt_lock *ln_net_lock ; struct lnet_msg_container **ln_msg_containers ; lnet_counters_t **ln_counters ; struct lnet_peer_table **ln_peer_tables ; struct list_head ln_test_peers ; struct list_head ln_nis ; struct list_head ln_nis_cpt ; struct list_head ln_nis_zombie ; lnet_ni_t *ln_loni ; lnet_ni_t *ln_eq_waitni ; struct list_head *ln_remote_nets_hash ; __u64 ln_remote_nets_version ; struct list_head ln_routers ; __u64 ln_routers_version ; lnet_rtrbufpool_t **ln_rtrpools ; lnet_handle_md_t ln_ping_target_md ; lnet_handle_eq_t ln_ping_target_eq ; lnet_ping_info_t *ln_ping_info ; int ln_rc_state ; lnet_handle_eq_t ln_rc_eqh ; struct list_head ln_rcd_deathrow ; struct list_head ln_rcd_zombie ; struct semaphore ln_rc_signal ; struct mutex ln_api_mutex ; struct mutex ln_lnd_mutex ; int ln_init ; int ln_niinit_self ; int ln_refcount ; int ln_shutdown ; int ln_routing ; lnet_pid_t ln_pid ; __u64 ln_interface_cookie ; struct list_head ln_lnds ; char *ln_network_tokens ; int ln_network_tokens_nob ; int ln_testprotocompat ; }; typedef struct __anonstruct_lnet_t_382 lnet_t; enum hrtimer_restart; struct cfs_expr_list { struct list_head el_link ; struct list_head el_exprs ; }; struct lnet_text_buf_t { struct list_head ltb_list ; int ltb_size ; char ltb_text[0U] ; }; enum hrtimer_restart; enum hrtimer_restart; typedef __kernel_long_t __kernel_suseconds_t; struct timeval { __kernel_time_t tv_sec ; __kernel_suseconds_t tv_usec ; }; struct __wait_queue; typedef struct __wait_queue wait_queue_t; struct __wait_queue { unsigned int flags ; void *private ; int (*func)(wait_queue_t * , unsigned int , int , void * ) ; struct list_head task_list ; }; enum hrtimer_restart; enum hrtimer_restart; enum hrtimer_restart; struct lnet_match_info { __u64 mi_mbits ; lnet_process_id_t mi_id ; unsigned int mi_opc ; unsigned int mi_portal ; unsigned int mi_rlength ; unsigned int mi_roffset ; }; struct tss_struct; struct static_key; struct x86_hw_tss { u32 reserved1 ; u64 sp0 ; u64 sp1 ; u64 sp2 ; u64 reserved2 ; u64 ist[7U] ; u32 reserved3 ; u32 reserved4 ; u16 reserved5 ; u16 io_bitmap_base ; }; struct tss_struct { struct x86_hw_tss x86_tss ; unsigned long io_bitmap[1025U] ; unsigned long SYSENTER_stack[64U] ; }; struct __anonstruct_mm_segment_t_33 { unsigned long seg ; }; typedef struct __anonstruct_mm_segment_t_33 mm_segment_t; struct thread_info { struct task_struct *task ; __u32 flags ; __u32 status ; __u32 cpu ; int saved_preempt_count ; mm_segment_t addr_limit ; void *sysenter_return ; unsigned char sig_on_uaccess_error : 1 ; unsigned char uaccess_err : 1 ; }; struct static_key { atomic_t enabled ; }; enum hrtimer_restart; union __anonunion_ifc_ifcu_228 { char *ifcu_buf ; struct ifreq *ifcu_req ; }; struct ifconf { int ifc_len ; union __anonunion_ifc_ifcu_228 ifc_ifcu ; }; struct in_addr { __be32 s_addr ; }; struct sockaddr_in { __kernel_sa_family_t sin_family ; __be16 sin_port ; struct in_addr sin_addr ; unsigned char __pad[8U] ; }; struct perf_event_attr; struct tracepoint_func { void *func ; void *data ; }; struct tracepoint { char const *name ; struct static_key key ; void (*regfunc)(void) ; void (*unregfunc)(void) ; struct tracepoint_func *funcs ; }; struct trace_enum_map { char const *system ; char const *enum_string ; unsigned long enum_value ; }; struct ring_buffer; struct ring_buffer_iter; struct trace_seq; struct seq_buf { char *buffer ; size_t size ; size_t len ; loff_t readpos ; }; struct trace_seq { unsigned char buffer[4096U] ; struct seq_buf seq ; int full ; }; union __anonunion____missing_field_name_262 { __u64 sample_period ; __u64 sample_freq ; }; union __anonunion____missing_field_name_263 { __u32 wakeup_events ; __u32 wakeup_watermark ; }; union __anonunion____missing_field_name_264 { __u64 bp_addr ; __u64 config1 ; }; union __anonunion____missing_field_name_265 { __u64 bp_len ; __u64 config2 ; }; struct perf_event_attr { __u32 type ; __u32 size ; __u64 config ; union __anonunion____missing_field_name_262 __annonCompField77 ; __u64 sample_type ; __u64 read_format ; unsigned char disabled : 1 ; unsigned char inherit : 1 ; unsigned char pinned : 1 ; unsigned char exclusive : 1 ; unsigned char exclude_user : 1 ; unsigned char exclude_kernel : 1 ; unsigned char exclude_hv : 1 ; unsigned char exclude_idle : 1 ; unsigned char mmap : 1 ; unsigned char comm : 1 ; unsigned char freq : 1 ; unsigned char inherit_stat : 1 ; unsigned char enable_on_exec : 1 ; unsigned char task : 1 ; unsigned char watermark : 1 ; unsigned char precise_ip : 2 ; unsigned char mmap_data : 1 ; unsigned char sample_id_all : 1 ; unsigned char exclude_host : 1 ; unsigned char exclude_guest : 1 ; unsigned char exclude_callchain_kernel : 1 ; unsigned char exclude_callchain_user : 1 ; unsigned char mmap2 : 1 ; unsigned char comm_exec : 1 ; unsigned char use_clockid : 1 ; unsigned long __reserved_1 : 38 ; union __anonunion____missing_field_name_263 __annonCompField78 ; __u32 bp_type ; union __anonunion____missing_field_name_264 __annonCompField79 ; union __anonunion____missing_field_name_265 __annonCompField80 ; __u64 branch_sample_type ; __u64 sample_regs_user ; __u32 sample_stack_user ; __s32 clockid ; __u64 sample_regs_intr ; __u32 aux_watermark ; __u32 __reserved_2 ; }; struct __anonstruct____missing_field_name_268 { unsigned char mem_op : 5 ; unsigned short mem_lvl : 14 ; unsigned char mem_snoop : 5 ; unsigned char mem_lock : 2 ; unsigned char mem_dtlb : 7 ; unsigned int mem_rsvd : 31 ; }; union perf_mem_data_src { __u64 val ; struct __anonstruct____missing_field_name_268 __annonCompField83 ; }; struct perf_branch_entry { __u64 from ; __u64 to ; unsigned char mispred : 1 ; unsigned char predicted : 1 ; unsigned char in_tx : 1 ; unsigned char abort : 1 ; unsigned long reserved : 60 ; }; struct pidmap { atomic_t nr_free ; void *page ; }; struct fs_pin; struct pid_namespace { struct kref kref ; struct pidmap pidmap[128U] ; struct callback_head rcu ; int last_pid ; unsigned int nr_hashed ; struct task_struct *child_reaper ; struct kmem_cache *pid_cachep ; unsigned int level ; struct pid_namespace *parent ; struct vfsmount *proc_mnt ; struct dentry *proc_self ; struct dentry *proc_thread_self ; struct fs_pin *bacct ; struct user_namespace *user_ns ; struct work_struct proc_work ; kgid_t pid_gid ; int hide_pid ; int reboot ; struct ns_common ns ; }; struct __anonstruct_local_t_276 { atomic_long_t a ; }; typedef struct __anonstruct_local_t_276 local_t; struct __anonstruct_local64_t_277 { local_t a ; }; typedef struct __anonstruct_local64_t_277 local64_t; struct arch_hw_breakpoint { unsigned long address ; unsigned long mask ; u8 len ; u8 type ; }; struct pmu; struct ftrace_hash; struct ftrace_ops; struct ftrace_ops_hash { struct ftrace_hash *notrace_hash ; struct ftrace_hash *filter_hash ; struct mutex regex_lock ; }; struct ftrace_ops { void (*func)(unsigned long , unsigned long , struct ftrace_ops * , struct pt_regs * ) ; struct ftrace_ops *next ; unsigned long flags ; void *private ; int *disabled ; int nr_trampolines ; struct ftrace_ops_hash local_hash ; struct ftrace_ops_hash *func_hash ; struct ftrace_ops_hash old_hash ; unsigned long trampoline ; unsigned long trampoline_size ; }; struct ftrace_ret_stack { unsigned long ret ; unsigned long func ; unsigned long long calltime ; unsigned long long subtime ; unsigned long fp ; }; struct irq_work { unsigned long flags ; struct llist_node llnode ; void (*func)(struct irq_work * ) ; }; struct perf_regs { __u64 abi ; struct pt_regs *regs ; }; struct perf_callchain_entry { __u64 nr ; __u64 ip[127U] ; }; struct perf_raw_record { u32 size ; void *data ; }; struct perf_branch_stack { __u64 nr ; struct perf_branch_entry entries[0U] ; }; struct hw_perf_event_extra { u64 config ; unsigned int reg ; int alloc ; int idx ; }; struct __anonstruct____missing_field_name_294 { u64 config ; u64 last_tag ; unsigned long config_base ; unsigned long event_base ; int event_base_rdpmc ; int idx ; int last_cpu ; int flags ; struct hw_perf_event_extra extra_reg ; struct hw_perf_event_extra branch_reg ; }; struct __anonstruct____missing_field_name_295___0 { struct hrtimer hrtimer ; }; struct __anonstruct____missing_field_name_296 { struct list_head tp_list ; }; struct __anonstruct____missing_field_name_297___0 { int cqm_state ; u32 cqm_rmid ; struct list_head cqm_events_entry ; struct list_head cqm_groups_entry ; struct list_head cqm_group_entry ; }; struct __anonstruct____missing_field_name_298 { int itrace_started ; }; struct __anonstruct____missing_field_name_299 { struct arch_hw_breakpoint info ; struct list_head bp_list ; }; union __anonunion____missing_field_name_293 { struct __anonstruct____missing_field_name_294 __annonCompField84 ; struct __anonstruct____missing_field_name_295___0 __annonCompField85 ; struct __anonstruct____missing_field_name_296 __annonCompField86 ; struct __anonstruct____missing_field_name_297___0 __annonCompField87 ; struct __anonstruct____missing_field_name_298 __annonCompField88 ; struct __anonstruct____missing_field_name_299 __annonCompField89 ; }; struct hw_perf_event { union __anonunion____missing_field_name_293 __annonCompField90 ; struct task_struct *target ; int state ; local64_t prev_count ; u64 sample_period ; u64 last_period ; local64_t period_left ; u64 interrupts_seq ; u64 interrupts ; u64 freq_time_stamp ; u64 freq_count_stamp ; }; struct perf_cpu_context; struct pmu { struct list_head entry ; struct module *module ; struct device *dev ; struct attribute_group const **attr_groups ; char const *name ; int type ; int capabilities ; int *pmu_disable_count ; struct perf_cpu_context *pmu_cpu_context ; atomic_t exclusive_cnt ; int task_ctx_nr ; int hrtimer_interval_ms ; void (*pmu_enable)(struct pmu * ) ; void (*pmu_disable)(struct pmu * ) ; int (*event_init)(struct perf_event * ) ; void (*event_mapped)(struct perf_event * ) ; void (*event_unmapped)(struct perf_event * ) ; int (*add)(struct perf_event * , int ) ; void (*del)(struct perf_event * , int ) ; void (*start)(struct perf_event * , int ) ; void (*stop)(struct perf_event * , int ) ; void (*read)(struct perf_event * ) ; void (*start_txn)(struct pmu * ) ; int (*commit_txn)(struct pmu * ) ; void (*cancel_txn)(struct pmu * ) ; int (*event_idx)(struct perf_event * ) ; void (*sched_task)(struct perf_event_context * , bool ) ; size_t task_ctx_size ; u64 (*count)(struct perf_event * ) ; void *(*setup_aux)(int , void ** , int , bool ) ; void (*free_aux)(void * ) ; int (*filter_match)(struct perf_event * ) ; }; enum perf_event_active_state { PERF_EVENT_STATE_EXIT = -3, PERF_EVENT_STATE_ERROR = -2, PERF_EVENT_STATE_OFF = -1, PERF_EVENT_STATE_INACTIVE = 0, PERF_EVENT_STATE_ACTIVE = 1 } ; struct perf_sample_data; struct perf_cgroup; struct event_filter; struct perf_event { struct list_head event_entry ; struct list_head group_entry ; struct list_head sibling_list ; struct list_head migrate_entry ; struct hlist_node hlist_entry ; struct list_head active_entry ; int nr_siblings ; int group_flags ; struct perf_event *group_leader ; struct pmu *pmu ; enum perf_event_active_state state ; unsigned int attach_state ; local64_t count ; atomic64_t child_count ; u64 total_time_enabled ; u64 total_time_running ; u64 tstamp_enabled ; u64 tstamp_running ; u64 tstamp_stopped ; u64 shadow_ctx_time ; struct perf_event_attr attr ; u16 header_size ; u16 id_header_size ; u16 read_size ; struct hw_perf_event hw ; struct perf_event_context *ctx ; atomic_long_t refcount ; atomic64_t child_total_time_enabled ; atomic64_t child_total_time_running ; struct mutex child_mutex ; struct list_head child_list ; struct perf_event *parent ; int oncpu ; int cpu ; struct list_head owner_entry ; struct task_struct *owner ; struct mutex mmap_mutex ; atomic_t mmap_count ; struct ring_buffer *rb ; struct list_head rb_entry ; unsigned long rcu_batches ; int rcu_pending ; wait_queue_head_t waitq ; struct fasync_struct *fasync ; int pending_wakeup ; int pending_kill ; int pending_disable ; struct irq_work pending ; atomic_t event_limit ; void (*destroy)(struct perf_event * ) ; struct callback_head callback_head ; struct pid_namespace *ns ; u64 id ; u64 (*clock)(void) ; void (*overflow_handler)(struct perf_event * , struct perf_sample_data * , struct pt_regs * ) ; void *overflow_handler_context ; struct trace_event_call *tp_event ; struct event_filter *filter ; struct ftrace_ops ftrace_ops ; struct perf_cgroup *cgrp ; int cgrp_defer_enabled ; }; struct perf_event_context { struct pmu *pmu ; raw_spinlock_t lock ; struct mutex mutex ; struct list_head active_ctx_list ; struct list_head pinned_groups ; struct list_head flexible_groups ; struct list_head event_list ; int nr_events ; int nr_active ; int is_active ; int nr_stat ; int nr_freq ; int rotate_disable ; atomic_t refcount ; struct task_struct *task ; u64 time ; u64 timestamp ; struct perf_event_context *parent_ctx ; u64 parent_gen ; u64 generation ; int pin_count ; int nr_cgroups ; void *task_ctx_data ; struct callback_head callback_head ; struct delayed_work orphans_remove ; bool orphans_remove_sched ; }; struct perf_cpu_context { struct perf_event_context ctx ; struct perf_event_context *task_ctx ; int active_oncpu ; int exclusive ; raw_spinlock_t hrtimer_lock ; struct hrtimer hrtimer ; ktime_t hrtimer_interval ; unsigned int hrtimer_active ; struct pmu *unique_pmu ; struct perf_cgroup *cgrp ; }; struct perf_cgroup_info { u64 time ; u64 timestamp ; }; struct perf_cgroup { struct cgroup_subsys_state css ; struct perf_cgroup_info *info ; }; struct __anonstruct_tid_entry_301 { u32 pid ; u32 tid ; }; struct __anonstruct_cpu_entry_302 { u32 cpu ; u32 reserved ; }; struct perf_sample_data { u64 addr ; struct perf_raw_record *raw ; struct perf_branch_stack *br_stack ; u64 period ; u64 weight ; u64 txn ; union perf_mem_data_src data_src ; u64 type ; u64 ip ; struct __anonstruct_tid_entry_301 tid_entry ; u64 time ; u64 id ; u64 stream_id ; struct __anonstruct_cpu_entry_302 cpu_entry ; struct perf_callchain_entry *callchain ; struct perf_regs regs_user ; struct pt_regs regs_user_copy ; struct perf_regs regs_intr ; u64 stack_user_size ; }; struct trace_array; struct trace_buffer; struct tracer; struct trace_iterator; struct trace_event; struct trace_entry { unsigned short type ; unsigned char flags ; unsigned char preempt_count ; int pid ; }; struct trace_iterator { struct trace_array *tr ; struct tracer *trace ; struct trace_buffer *trace_buffer ; void *private ; int cpu_file ; struct mutex mutex ; struct ring_buffer_iter **buffer_iter ; unsigned long iter_flags ; struct trace_seq tmp_seq ; cpumask_var_t started ; bool snapshot ; struct trace_seq seq ; struct trace_entry *ent ; unsigned long lost_events ; int leftover ; int ent_size ; int cpu ; u64 ts ; loff_t pos ; long idx ; }; enum print_line_t; struct trace_event_functions { enum print_line_t (*trace)(struct trace_iterator * , int , struct trace_event * ) ; enum print_line_t (*raw)(struct trace_iterator * , int , struct trace_event * ) ; enum print_line_t (*hex)(struct trace_iterator * , int , struct trace_event * ) ; enum print_line_t (*binary)(struct trace_iterator * , int , struct trace_event * ) ; }; struct trace_event { struct hlist_node node ; struct list_head list ; int type ; struct trace_event_functions *funcs ; }; enum print_line_t { TRACE_TYPE_PARTIAL_LINE = 0, TRACE_TYPE_HANDLED = 1, TRACE_TYPE_UNHANDLED = 2, TRACE_TYPE_NO_CONSUME = 3 } ; enum trace_reg { TRACE_REG_REGISTER = 0, TRACE_REG_UNREGISTER = 1, TRACE_REG_PERF_REGISTER = 2, TRACE_REG_PERF_UNREGISTER = 3, TRACE_REG_PERF_OPEN = 4, TRACE_REG_PERF_CLOSE = 5, TRACE_REG_PERF_ADD = 6, TRACE_REG_PERF_DEL = 7 } ; struct trace_event_class { char const *system ; void *probe ; void *perf_probe ; int (*reg)(struct trace_event_call * , enum trace_reg , void * ) ; int (*define_fields)(struct trace_event_call * ) ; struct list_head *(*get_fields)(struct trace_event_call * ) ; struct list_head fields ; int (*raw_init)(struct trace_event_call * ) ; }; union __anonunion____missing_field_name_303___0 { char *name ; struct tracepoint *tp ; }; struct trace_event_call { struct list_head list ; struct trace_event_class *class ; union __anonunion____missing_field_name_303___0 __annonCompField92 ; struct trace_event event ; char *print_fmt ; struct event_filter *filter ; void *mod ; void *data ; int flags ; int perf_refcount ; struct hlist_head *perf_events ; struct bpf_prog *prog ; int (*perf_perm)(struct trace_event_call * , struct perf_event * ) ; }; union __anonunion___u_380 { struct socket_wq *__val ; char __c[1U] ; }; typedef unsigned int uint; enum hrtimer_restart; enum ldv_34573 { LNET_ACK_REQ = 0, LNET_NOACK_REQ = 1 } ; typedef enum ldv_34573 lnet_ack_req_t; struct __anonstruct_lnet_test_peer_t_376 { struct list_head tp_list ; lnet_nid_t tp_nid ; unsigned int tp_threshold ; }; typedef struct __anonstruct_lnet_test_peer_t_376 lnet_test_peer_t; typedef struct lnet_peer lnet_peer_t; struct __anonstruct_lnet_route_t_378 { struct list_head lr_list ; struct list_head lr_gwlist ; lnet_peer_t *lr_gateway ; __u32 lr_net ; int lr_seq ; unsigned int lr_downis ; unsigned int lr_hops ; unsigned int lr_priority ; }; typedef struct __anonstruct_lnet_route_t_378 lnet_route_t; struct __anonstruct_lnet_remotenet_t_379 { struct list_head lrn_list ; struct list_head lrn_routes ; __u32 lrn_net ; }; typedef struct __anonstruct_lnet_remotenet_t_379 lnet_remotenet_t; struct __anonstruct_lnet_rtrbuf_t_381 { struct list_head rb_list ; lnet_rtrbufpool_t *rb_pool ; lnet_kiov_t rb_kiov[0U] ; }; typedef struct __anonstruct_lnet_rtrbuf_t_381 lnet_rtrbuf_t; enum hrtimer_restart; struct libcfs_ioctl_handler { struct list_head item ; int (*handle_ioctl)(unsigned int , struct libcfs_ioctl_data * ) ; }; enum hrtimer_restart; struct free_area { struct list_head free_list[6U] ; unsigned long nr_free ; }; struct pglist_data; struct zone_padding { char x[0U] ; }; struct zone_reclaim_stat { unsigned long recent_rotated[2U] ; unsigned long recent_scanned[2U] ; }; struct zone; struct lruvec { struct list_head lists[5U] ; struct zone_reclaim_stat reclaim_stat ; struct zone *zone ; }; struct per_cpu_pages { int count ; int high ; int batch ; struct list_head lists[3U] ; }; struct per_cpu_pageset { struct per_cpu_pages pcp ; s8 expire ; s8 stat_threshold ; s8 vm_stat_diff[39U] ; }; enum zone_type { ZONE_DMA = 0, ZONE_DMA32 = 1, ZONE_NORMAL = 2, ZONE_MOVABLE = 3, __MAX_NR_ZONES = 4 } ; struct zone { unsigned long watermark[3U] ; long lowmem_reserve[4U] ; int node ; unsigned int inactive_ratio ; struct pglist_data *zone_pgdat ; struct per_cpu_pageset *pageset ; unsigned long dirty_balance_reserve ; unsigned long min_unmapped_pages ; unsigned long min_slab_pages ; unsigned long zone_start_pfn ; unsigned long managed_pages ; unsigned long spanned_pages ; unsigned long present_pages ; char const *name ; int nr_migrate_reserve_block ; unsigned long nr_isolate_pageblock ; seqlock_t span_seqlock ; wait_queue_head_t *wait_table ; unsigned long wait_table_hash_nr_entries ; unsigned long wait_table_bits ; struct zone_padding _pad1_ ; struct free_area free_area[11U] ; unsigned long flags ; spinlock_t lock ; struct zone_padding _pad2_ ; spinlock_t lru_lock ; struct lruvec lruvec ; atomic_long_t inactive_age ; unsigned long percpu_drift_mark ; unsigned long compact_cached_free_pfn ; unsigned long compact_cached_migrate_pfn[2U] ; unsigned int compact_considered ; unsigned int compact_defer_shift ; int compact_order_failed ; bool compact_blockskip_flush ; struct zone_padding _pad3_ ; atomic_long_t vm_stat[39U] ; }; struct zonelist_cache { unsigned short z_to_n[4096U] ; unsigned long fullzones[64U] ; unsigned long last_full_zap ; }; struct zoneref { struct zone *zone ; int zone_idx ; }; struct zonelist { struct zonelist_cache *zlcache_ptr ; struct zoneref _zonerefs[4097U] ; struct zonelist_cache zlcache ; }; struct pglist_data { struct zone node_zones[4U] ; struct zonelist node_zonelists[2U] ; int nr_zones ; spinlock_t node_size_lock ; unsigned long node_start_pfn ; unsigned long node_present_pages ; unsigned long node_spanned_pages ; int node_id ; wait_queue_head_t kswapd_wait ; wait_queue_head_t pfmemalloc_wait ; struct task_struct *kswapd ; int kswapd_max_order ; enum zone_type classzone_idx ; spinlock_t numabalancing_migrate_lock ; unsigned long numabalancing_migrate_next_window ; unsigned long numabalancing_migrate_nr_pages ; unsigned long first_deferred_pfn ; }; typedef struct pglist_data pg_data_t; enum hrtimer_restart; enum hrtimer_restart; union __anonunion___u_355 { struct socket_wq *__val ; char __c[1U] ; }; struct __anonstruct_lnet_acceptor_connreq_t_367 { __u32 acr_magic ; __u32 acr_version ; __u64 acr_nid ; }; typedef struct __anonstruct_lnet_acceptor_connreq_t_367 lnet_acceptor_connreq_t; struct __anonstruct_lnet_acceptor_state_383 { int pta_shutdown ; struct socket *pta_sock ; struct completion pta_signal ; }; enum hrtimer_restart; __inline static long ldv__builtin_expect(long exp , long c ) ; __inline static int fls64(__u64 x ) { int bitpos ; { bitpos = -1; __asm__ ("bsrq %1,%q0": "+r" (bitpos): "rm" (x)); return (bitpos + 1); } } __inline static unsigned int fls_long(unsigned long l ) { int tmp___0 ; { tmp___0 = fls64((__u64 )l); return ((unsigned int )tmp___0); } } __inline static int __ilog2_u64(u64 n ) { int tmp ; { tmp = fls64(n); return (tmp + -1); } } __inline static unsigned long __roundup_pow_of_two(unsigned long n ) { unsigned int tmp ; { tmp = fls_long(n - 1UL); return (1UL << (int )tmp); } } extern void __might_fault(char const * , int ) ; extern int snprintf(char * , size_t , char const * , ...) ; __inline static void INIT_LIST_HEAD(struct list_head *list ) { { list->next = list; list->prev = list; return; } } extern void __list_add(struct list_head * , struct list_head * , struct list_head * ) ; __inline static void list_add(struct list_head *new , struct list_head *head ) { { __list_add(new, head, head->next); return; } } __inline static void list_add_tail(struct list_head *new , struct list_head *head ) { { __list_add(new, head->prev, head); return; } } extern void __list_del_entry(struct list_head * ) ; extern void list_del(struct list_head * ) ; __inline static void list_del_init(struct list_head *entry ) { { __list_del_entry(entry); INIT_LIST_HEAD(entry); return; } } __inline static void list_move(struct list_head *list , struct list_head *head ) { { __list_del_entry(list); list_add(list, head); return; } } __inline static int list_empty(struct list_head const *head ) { { return ((unsigned long )((struct list_head const *)head->next) == (unsigned long )head); } } extern void __bad_percpu_size(void) ; extern struct task_struct *current_task ; __inline static struct task_struct *get_current(void) { struct task_struct *pfo_ret__ ; { switch (8UL) { case 1UL: __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& current_task)); goto ldv_3129; case 2UL: __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task)); goto ldv_3129; case 4UL: __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task)); goto ldv_3129; case 8UL: __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task)); goto ldv_3129; default: __bad_percpu_size(); } ldv_3129: ; return (pfo_ret__); } } extern void *memset(void * , int , size_t ) ; extern void __xchg_wrong_size(void) ; __inline static int atomic_read(atomic_t const *v ) { int __var ; { __var = 0; return ((int )*((int const volatile *)(& v->counter))); } } __inline static void atomic_add(int i , atomic_t *v ) { { __asm__ volatile (".pushsection .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.popsection\n671:\n\tlock; addl %1,%0": "+m" (v->counter): "ir" (i)); return; } } __inline static void atomic_sub(int i , atomic_t *v ) { { __asm__ volatile (".pushsection .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.popsection\n671:\n\tlock; subl %1,%0": "+m" (v->counter): "ir" (i)); return; } } extern int __preempt_count ; __inline static int preempt_count(void) { int pfo_ret__ ; { switch (4UL) { case 1UL: __asm__ ("movb %%gs:%1,%0": "=q" (pfo_ret__): "m" (__preempt_count)); goto ldv_6002; case 2UL: __asm__ ("movw %%gs:%1,%0": "=r" (pfo_ret__): "m" (__preempt_count)); goto ldv_6002; case 4UL: __asm__ ("movl %%gs:%1,%0": "=r" (pfo_ret__): "m" (__preempt_count)); goto ldv_6002; case 8UL: __asm__ ("movq %%gs:%1,%0": "=r" (pfo_ret__): "m" (__preempt_count)); goto ldv_6002; default: __bad_percpu_size(); } ldv_6002: ; return (pfo_ret__ & 2147483647); } } extern void __raw_spin_lock_init(raw_spinlock_t * , char const * , struct lock_class_key * ) ; extern void _raw_spin_lock(raw_spinlock_t * ) ; extern void _raw_spin_unlock(raw_spinlock_t * ) ; __inline static raw_spinlock_t *spinlock_check(spinlock_t *lock ) { { return (& lock->__annonCompField18.rlock); } } __inline static void spin_lock(spinlock_t *lock ) { { _raw_spin_lock(& lock->__annonCompField18.rlock); return; } } __inline static void spin_unlock(spinlock_t *lock ) { { _raw_spin_unlock(& lock->__annonCompField18.rlock); return; } } extern void __init_waitqueue_head(wait_queue_head_t * , char const * , struct lock_class_key * ) ; extern void __mutex_init(struct mutex * , char const * , struct lock_class_key * ) ; extern void mutex_lock_nested(struct mutex * , unsigned int ) ; extern void mutex_unlock(struct mutex * ) ; extern unsigned long volatile jiffies ; extern unsigned long get_seconds(void) ; extern ktime_t ktime_get(void) ; __inline static u64 ktime_get_ns(void) { ktime_t tmp ; { tmp = ktime_get(); return ((u64 )tmp.tv64); } } extern int __request_module(bool , char const * , ...) ; extern long schedule_timeout(long ) ; extern void kfree(void const * ) ; extern void *ldv_malloc(size_t); void *__kmalloc(size_t size, gfp_t t) { return ldv_malloc(size); } void *ldv_malloc(size_t size ) ; __inline static void *kmalloc(size_t size , gfp_t flags ) { void *tmp___2 ; { tmp___2 = __kmalloc(size, flags); return (tmp___2); } } extern void *malloc(size_t ) ; extern void *calloc(size_t , size_t ) ; extern int __VERIFIER_nondet_int(void) ; extern unsigned long __VERIFIER_nondet_ulong(void) ; extern void abort(void); void assume_abort_if_not(int cond) { if(!cond) {abort();} } __inline static bool IS_ERR(void const *ptr ) ; void *ldv_malloc(size_t size ) { void *p ; void *tmp ; int tmp___0 ; { tmp___0 = __VERIFIER_nondet_int(); if (tmp___0 != 0) { return ((void *)0); } else { tmp = malloc(size); p = tmp; assume_abort_if_not((unsigned long )p != (unsigned long )((void *)0)); assume_abort_if_not(IS_ERR(p) == 0); return (p); } } } void *ldv_zalloc(size_t size ) { void *p ; void *tmp ; int tmp___0 ; { tmp___0 = __VERIFIER_nondet_int(); if (tmp___0 != 0) { return ((void *)0); } else { tmp = calloc(1UL, size); p = tmp; assume_abort_if_not((unsigned long )p != (unsigned long )((void *)0)); assume_abort_if_not(IS_ERR(p) == 0); return (p); } } } void *ldv_init_zalloc(size_t size ) { void *p ; void *tmp ; { tmp = calloc(1UL, size); p = tmp; assume_abort_if_not((unsigned long )p != (unsigned long )((void *)0)); return (p); } } void *ldv_memset(void *s , int c , size_t n ) { void *tmp ; { tmp = memset(s, c, n); return (tmp); } } int ldv_undef_int(void) { int tmp ; { tmp = __VERIFIER_nondet_int(); return (tmp); } } unsigned long ldv_undef_ulong(void) { unsigned long tmp ; { tmp = __VERIFIER_nondet_ulong(); return (tmp); } } __inline static long ldv__builtin_expect(long exp , long c ) { { return (exp); } } int LDV_IN_INTERRUPT = 1; extern unsigned long _copy_to_user(void * , void const * , unsigned int ) ; extern void __copy_to_user_overflow(void) ; __inline static unsigned long copy_to_user(void *to , void const *from , unsigned long n ) { int sz ; unsigned long tmp ; long tmp___0 ; { tmp = __builtin_object_size(from, 0); sz = (int )tmp; __might_fault("./arch/x86/include/asm/uaccess.h", 732); tmp___0 = ldv__builtin_expect((long )(sz < 0 || (unsigned long )sz >= n), 1L); if (tmp___0 != 0L) { n = _copy_to_user(to, from, (unsigned int )n); } else { __copy_to_user_overflow(); } return (n); } } extern void *vmalloc(unsigned long ) ; extern void *vmalloc_node(unsigned long , int ) ; extern void vfree(void const * ) ; __inline static unsigned long cfs_time_current(void) { { return ((unsigned long )jiffies); } } __inline static long cfs_time_seconds(int seconds ) { { return ((long )seconds * 250L); } } extern sigset_t cfs_block_allsigs(void) ; extern void cfs_restore_sigs(sigset_t ) ; extern unsigned int libcfs_subsystem_debug ; extern unsigned int libcfs_debug ; __inline static int cfs_cdebug_show(unsigned int mask , unsigned int subsystem ) { { return ((mask & 33948672U) != 0U || ((libcfs_debug & mask) != 0U && (libcfs_subsystem_debug & subsystem) != 0U)); } } extern int libcfs_debug_msg(struct libcfs_debug_msg_data * , char const * , ...) ; extern struct cfs_cpt_table *cfs_cpt_table ; extern int cfs_cpt_number(struct cfs_cpt_table * ) ; extern int cfs_cpt_current(struct cfs_cpt_table * , int ) ; extern int cfs_cpt_spread_node(struct cfs_cpt_table * , int ) ; extern void lbug_with_loc(struct libcfs_debug_msg_data * ) ; extern atomic_t libcfs_kmemory ; extern void *cfs_percpt_alloc(struct cfs_cpt_table * , unsigned int ) ; extern void cfs_percpt_free(void * ) ; extern int cfs_percpt_number(void * ) ; extern struct cfs_percpt_lock *cfs_percpt_lock_alloc(struct cfs_cpt_table * ) ; extern void cfs_percpt_lock_free(struct cfs_percpt_lock * ) ; extern void cfs_percpt_lock(struct cfs_percpt_lock * , int ) ; extern void cfs_percpt_unlock(struct cfs_percpt_lock * , int ) ; __inline static u64 hash_64(u64 val , unsigned int bits ) { u64 hash ; { hash = val; hash = hash * 0x9e37fffffffc0001ULL; return (hash >> (int )(64U - bits)); } } __inline static __u32 LNET_NIDNET(lnet_nid_t nid ) { { return ((__u32 )(nid >> 32)); } } __inline static __u32 LNET_NETTYP(__u32 net ) { { return (net >> 16); } } __inline static void LNetInvalidateHandle(lnet_handle_any_t *h ) { { h->cookie = 0xffffffffffffffffULL; return; } } int LNetNIInit(lnet_pid_t requested_pid ) ; int LNetNIFini(void) ; int LNetGetId(unsigned int index , lnet_process_id_t *id ) ; int LNetDist(lnet_nid_t dstnid , lnet_nid_t *srcnidp , __u32 *orderp ) ; void LNetSnprintHandle(char *str , int len , lnet_handle_any_t h ) ; int LNetMEAttach(unsigned int portal , lnet_process_id_t match_id , __u64 match_bits , __u64 ignore_bits , lnet_unlink_t unlink , lnet_ins_pos_t pos , lnet_handle_me_t *handle ) ; int LNetMEUnlink(lnet_handle_me_t meh ) ; int LNetMDAttach(lnet_handle_me_t meh , lnet_md_t umd , lnet_unlink_t unlink , lnet_handle_md_t *handle ) ; int LNetMDBind(lnet_md_t umd , lnet_unlink_t unlink , lnet_handle_md_t *handle ) ; int LNetMDUnlink(lnet_handle_md_t mdh ) ; int LNetEQAlloc(unsigned int count , void (*callback)(lnet_event_t * ) , lnet_handle_eq_t *handle ) ; int LNetEQFree(lnet_handle_eq_t eqh ) ; int LNetEQPoll(lnet_handle_eq_t *eventqs , int neq , int timeout_ms , lnet_event_t *event , int *which ) ; int LNetGet(lnet_nid_t self , lnet_handle_md_t mdh , lnet_process_id_t target , unsigned int portal , __u64 match_bits , unsigned int offset ) ; int LNetClearLazyPortal(int portal ) ; int LNetCtl(unsigned int cmd , void *arg ) ; extern int libcfs_isknown_lnd(int ) ; extern char *libcfs_lnd2modname(int ) ; extern char *libcfs_lnd2str(int ) ; extern char *libcfs_nid2str(lnet_nid_t ) ; extern char *libcfs_id2str(lnet_process_id_t ) ; lnet_t the_lnet ; __inline static void lnet_net_lock(int cpt ) { { cfs_percpt_lock(the_lnet.ln_net_lock, cpt); return; } } __inline static void lnet_net_unlock(int cpt ) { { cfs_percpt_unlock(the_lnet.ln_net_lock, cpt); return; } } __inline static int lnet_net_lock_current(void) { int cpt ; int tmp ; { tmp = cfs_cpt_current(the_lnet.ln_cpt_table, 1); cpt = tmp; lnet_net_lock(cpt); return (cpt); } } __inline static void lnet_eq_free(lnet_eq_t *eq ) { int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; int tmp___2 ; long tmp___3 ; { s = 88; tmp___0 = ldv__builtin_expect((unsigned long )eq == (unsigned long )((lnet_eq_t *)0), 0L); if (tmp___0 != 0L) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata.msg_fn = "lnet_eq_free"; msgdata.msg_line = 176; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'eq\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h", 176); } else { } goto ldv_50555; } else { } atomic_sub(s, & libcfs_kmemory); tmp___2 = cfs_cdebug_show(16U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata___0.msg_fn = "lnet_eq_free"; msgdata___0.msg_line = 176; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___1 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'eq\': %d at %p (tot %d).\n", s, eq, tmp___1); } else { } tmp___3 = ldv__builtin_expect(s > 8192, 0L); if (tmp___3 != 0L) { vfree((void const *)eq); } else { kfree((void const *)eq); } ldv_50555: ; return; } } __inline static void lnet_md_free(lnet_libmd_t *md ) { unsigned int size ; int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; int tmp___2 ; long tmp___3 ; { if ((md->md_options & 256U) != 0U) { size = (unsigned int )((unsigned long )md->md_niov + 7UL) * 16U; } else { size = (unsigned int )((unsigned long )md->md_niov + 7UL) * 16U; } s = (int )size; tmp___0 = ldv__builtin_expect((unsigned long )md == (unsigned long )((lnet_libmd_t *)0), 0L); if (tmp___0 != 0L) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata.msg_fn = "lnet_md_free"; msgdata.msg_line = 217; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'md\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h", 217); } else { } goto ldv_50578; } else { } atomic_sub(s, & libcfs_kmemory); tmp___2 = cfs_cdebug_show(16U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata___0.msg_fn = "lnet_md_free"; msgdata___0.msg_line = 217; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___1 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'md\': %d at %p (tot %d).\n", s, md, tmp___1); } else { } tmp___3 = ldv__builtin_expect(s > 8192, 0L); if (tmp___3 != 0L) { vfree((void const *)md); } else { kfree((void const *)md); } ldv_50578: ; return; } } lnet_libhandle_t *lnet_res_lh_lookup(struct lnet_res_container *rec , __u64 cookie ) ; void lnet_res_lh_initialize(struct lnet_res_container *rec , lnet_libhandle_t *lh ) ; __inline static void lnet_ni_addref_locked(lnet_ni_t *ni , int cpt ) { struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; { tmp = ldv__builtin_expect((long )(cpt < 0 || (unsigned int )cpt >= the_lnet.ln_cpt_number), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; __msg_data.msg_fn = "lnet_ni_addref_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 377; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"cpt >= 0 && cpt < (the_lnet.ln_cpt_number)"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(*(*(ni->ni_refs + (unsigned long )cpt)) < 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; __msg_data___0.msg_fn = "lnet_ni_addref_locked"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 378; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"*ni->ni_refs[cpt] >= 0"); lbug_with_loc(& __msg_data___0); } else { } *(*(ni->ni_refs + (unsigned long )cpt)) = *(*(ni->ni_refs + (unsigned long )cpt)) + 1; return; } } __inline static void lnet_ni_addref(lnet_ni_t *ni ) { { lnet_net_lock(0); lnet_ni_addref_locked(ni, 0); lnet_net_unlock(0); return; } } __inline static void lnet_ni_decref_locked(lnet_ni_t *ni , int cpt ) { struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; { tmp = ldv__builtin_expect((long )(cpt < 0 || (unsigned int )cpt >= the_lnet.ln_cpt_number), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; __msg_data.msg_fn = "lnet_ni_decref_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 394; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"cpt >= 0 && cpt < (the_lnet.ln_cpt_number)"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(*(*(ni->ni_refs + (unsigned long )cpt)) <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; __msg_data___0.msg_fn = "lnet_ni_decref_locked"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 395; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"*ni->ni_refs[cpt] > 0"); lbug_with_loc(& __msg_data___0); } else { } *(*(ni->ni_refs + (unsigned long )cpt)) = *(*(ni->ni_refs + (unsigned long )cpt)) - 1; return; } } __inline static void lnet_ni_decref(lnet_ni_t *ni ) { { lnet_net_lock(0); lnet_ni_decref_locked(ni, 0); lnet_net_unlock(0); return; } } void lnet_ni_free(struct lnet_ni *ni ) ; lnd_t the_lolnd ; int lnet_cpt_of_nid_locked(lnet_nid_t nid ) ; int lnet_cpt_of_nid(lnet_nid_t nid ) ; lnet_ni_t *lnet_nid2ni_locked(lnet_nid_t nid , int cpt ) ; lnet_ni_t *lnet_net2ni_locked(__u32 net , int cpt ) ; lnet_ni_t *lnet_net2ni(__u32 net ) ; int lnet_init(void) ; void lnet_fini(void) ; int lnet_notify(lnet_ni_t *ni , lnet_nid_t nid , int alive , unsigned long when ) ; int lnet_add_route(__u32 net , unsigned int hops , lnet_nid_t gateway , unsigned int priority ) ; int lnet_check_routes(void) ; int lnet_del_route(__u32 net , lnet_nid_t gw_nid ) ; void lnet_destroy_routes(void) ; int lnet_get_route(int idx , __u32 *net , __u32 *hops , lnet_nid_t *gateway , __u32 *alive , __u32 *priority ) ; void lnet_proc_init(void) ; void lnet_proc_fini(void) ; int lnet_rtrpools_alloc(int im_a_router ) ; void lnet_rtrpools_free(void) ; int lnet_islocalnid(lnet_nid_t nid ) ; int lnet_islocalnet(__u32 net ) ; int lnet_portals_create(void) ; void lnet_portals_destroy(void) ; void lnet_msg_containers_destroy(void) ; int lnet_msg_containers_create(void) ; int lnet_fail_nid(lnet_nid_t nid , unsigned int threshold ) ; void lnet_counters_get(lnet_counters_t *counters ) ; void lnet_counters_reset(void) ; void lnet_register_lnd(lnd_t *lnd ) ; void lnet_unregister_lnd(lnd_t *lnd ) ; int lnet_count_acceptor_nis(void) ; int lnet_acceptor_start(void) ; void lnet_acceptor_stop(void) ; int lnet_router_checker_start(void) ; void lnet_router_checker_stop(void) ; void lnet_swap_pinginfo(lnet_ping_info_t *info ) ; int lnet_ping_target_init(void) ; void lnet_ping_target_fini(void) ; int lnet_ping(lnet_process_id_t id , int timeout_ms , lnet_process_id_t *ids , int n_ids ) ; int lnet_parse_ip2nets(char **networksp , char *ip2nets___0 ) ; int lnet_parse_routes(char *routes___0 , int *im_a_router ) ; int lnet_parse_networks(struct list_head *nilist , char *networks___0 ) ; void lnet_peer_tables_cleanup(void) ; void lnet_peer_tables_destroy(void) ; int lnet_peer_tables_create(void) ; void lnet_debug_peer(lnet_nid_t nid ) ; static char const __kstrtab_the_lnet[9U] = { 't', 'h', 'e', '_', 'l', 'n', 'e', 't', '\000'}; struct kernel_symbol const __ksymtab_the_lnet ; struct kernel_symbol const __ksymtab_the_lnet = {(unsigned long )(& the_lnet), (char const *)(& __kstrtab_the_lnet)}; static char *ip2nets = (char *)""; static char *networks = (char *)""; static char *routes = (char *)""; static int rnet_htable_size = 128; static char *lnet_get_routes(void) { { return (routes); } } static char *lnet_get_networks(void) { char *nets ; int rc ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; { if ((int )((signed char )*networks) != 0 && (int )((signed char )*ip2nets) != 0) { tmp = cfs_cdebug_show(33685504U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_get_networks"; msgdata.msg_line = 78; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 33685504; libcfs_debug_msg(& msgdata, "%x-%x: Please specify EITHER \'networks\' or \'ip2nets\' but not both at once\n", 257, 0); } else { } return ((char *)0); } else { } if ((int )((signed char )*ip2nets) != 0) { rc = lnet_parse_ip2nets(& nets, ip2nets); return (rc == 0 ? nets : (char *)0); } else { } if ((int )((signed char )*networks) != 0) { return (networks); } else { } return ((char *)"tcp"); } } static void lnet_init_locks(void) { struct lock_class_key __key ; struct lock_class_key __key___0 ; struct lock_class_key __key___1 ; struct lock_class_key __key___2 ; { spinlock_check(& the_lnet.ln_eq_wait_lock); __raw_spin_lock_init(& the_lnet.ln_eq_wait_lock.__annonCompField18.rlock, "&(&the_lnet.ln_eq_wait_lock)->rlock", & __key); __init_waitqueue_head(& the_lnet.ln_eq_waitq, "&the_lnet.ln_eq_waitq", & __key___0); __mutex_init(& the_lnet.ln_lnd_mutex, "&the_lnet.ln_lnd_mutex", & __key___1); __mutex_init(& the_lnet.ln_api_mutex, "&the_lnet.ln_api_mutex", & __key___2); return; } } static int lnet_create_remote_nets_table(void) { int i ; struct list_head *hash ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; int tmp___1 ; long tmp___2 ; void *tmp___3 ; void *tmp___4 ; void *tmp___5 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___6 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___7 ; int tmp___8 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___9 ; int tmp___10 ; long tmp___11 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___12 ; { tmp = ldv__builtin_expect((unsigned long )the_lnet.ln_remote_nets_hash != (unsigned long )((struct list_head *)0), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_create_remote_nets_table"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 108; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_remote_nets_hash == ((void *)0)"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_remote_nets_hbits == 0U, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "lnet_create_remote_nets_table"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 109; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_remote_nets_hbits > 0"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = preempt_count(); tmp___2 = ldv__builtin_expect((long )(((unsigned long )tmp___1 & 2096896UL) != 0UL && 1), 0L); if (tmp___2 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___1.msg_fn = "lnet_create_remote_nets_table"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 110; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || ((((1 << the_lnet.ln_remote_nets_hbits) * sizeof(*hash))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data___1); } else { } if ((unsigned long )(1 << (int )the_lnet.ln_remote_nets_hbits) * 16UL <= 8192UL) { tmp___3 = kmalloc((unsigned long )(1 << (int )the_lnet.ln_remote_nets_hbits) * 16UL, 80U); tmp___5 = tmp___3; } else { tmp___4 = vmalloc((unsigned long )(1 << (int )the_lnet.ln_remote_nets_hbits) * 16UL); tmp___5 = tmp___4; } hash = (struct list_head *)tmp___5; tmp___11 = ldv__builtin_expect((unsigned long )hash == (unsigned long )((struct list_head *)0), 0L); if (tmp___11 != 0L) { tmp___6 = cfs_cdebug_show(131072U, 1024U); if (tmp___6 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_create_remote_nets_table"; msgdata.msg_line = 110; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LNET: out of memory at %s:%d (tried to alloc \'(hash)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c", 110, (int )(16U << (int )the_lnet.ln_remote_nets_hbits)); } else { } tmp___8 = cfs_cdebug_show(131072U, 1024U); if (tmp___8 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___0.msg_fn = "lnet_create_remote_nets_table"; msgdata___0.msg_line = 110; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___7 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "LNET: %d total bytes allocated by lnet\n", tmp___7); } else { } } else { memset((void *)hash, 0, (unsigned long )(1 << (int )the_lnet.ln_remote_nets_hbits) * 16UL); atomic_add((int )(16U << (int )the_lnet.ln_remote_nets_hbits), & libcfs_kmemory); tmp___10 = cfs_cdebug_show(16U, 1024U); if (tmp___10 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___1.msg_fn = "lnet_create_remote_nets_table"; msgdata___1.msg_line = 110; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___9 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "alloc \'(hash)\': %d at %p (tot %d).\n", (int )(16U << (int )the_lnet.ln_remote_nets_hbits), hash, tmp___9); } else { } } if ((unsigned long )hash == (unsigned long )((struct list_head *)0)) { tmp___12 = cfs_cdebug_show(131072U, 1024U); if (tmp___12 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___2.msg_fn = "lnet_create_remote_nets_table"; msgdata___2.msg_line = 112; msgdata___2.msg_cdls = & cdls___1; msgdata___2.msg_mask = 131072; libcfs_debug_msg(& msgdata___2, "Failed to create remote nets hash table\n"); } else { } return (-12); } else { } i = 0; goto ldv_51248; ldv_51247: INIT_LIST_HEAD(hash + (unsigned long )i); i = i + 1; ldv_51248: ; if (1 << (int )the_lnet.ln_remote_nets_hbits > i) { goto ldv_51247; } else { } the_lnet.ln_remote_nets_hash = hash; return (0); } } static void lnet_destroy_remote_nets_table(void) { int i ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___1 ; long tmp___2 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___3 ; int tmp___4 ; long tmp___5 ; { if ((unsigned long )the_lnet.ln_remote_nets_hash == (unsigned long )((struct list_head *)0)) { return; } else { } i = 0; goto ldv_51257; ldv_51256: tmp = list_empty((struct list_head const *)the_lnet.ln_remote_nets_hash + (unsigned long )i); tmp___0 = ldv__builtin_expect(tmp == 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_destroy_remote_nets_table"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 131; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&the_lnet.ln_remote_nets_hash[i])"); lbug_with_loc(& __msg_data); } else { } i = i + 1; ldv_51257: ; if (1 << (int )the_lnet.ln_remote_nets_hbits > i) { goto ldv_51256; } else { } s = (int )(16U << (int )the_lnet.ln_remote_nets_hbits); tmp___2 = ldv__builtin_expect((unsigned long )the_lnet.ln_remote_nets_hash == (unsigned long )((struct list_head *)0), 0L); if (tmp___2 != 0L) { tmp___1 = cfs_cdebug_show(131072U, 1024U); if (tmp___1 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_destroy_remote_nets_table"; msgdata.msg_line = 135; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'the_lnet.ln_remote_nets_hash\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c", 135); } else { } goto ldv_51262; } else { } atomic_sub(s, & libcfs_kmemory); tmp___4 = cfs_cdebug_show(16U, 1024U); if (tmp___4 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___0.msg_fn = "lnet_destroy_remote_nets_table"; msgdata___0.msg_line = 135; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___3 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'the_lnet.ln_remote_nets_hash\': %d at %p (tot %d).\n", s, the_lnet.ln_remote_nets_hash, tmp___3); } else { } tmp___5 = ldv__builtin_expect(s > 8192, 0L); if (tmp___5 != 0L) { vfree((void const *)the_lnet.ln_remote_nets_hash); } else { kfree((void const *)the_lnet.ln_remote_nets_hash); } ldv_51262: the_lnet.ln_remote_nets_hash = (struct list_head *)0; return; } } static void lnet_destroy_locks(void) { { if ((unsigned long )the_lnet.ln_res_lock != (unsigned long )((struct cfs_percpt_lock *)0)) { cfs_percpt_lock_free(the_lnet.ln_res_lock); the_lnet.ln_res_lock = (struct cfs_percpt_lock *)0; } else { } if ((unsigned long )the_lnet.ln_net_lock != (unsigned long )((struct cfs_percpt_lock *)0)) { cfs_percpt_lock_free(the_lnet.ln_net_lock); the_lnet.ln_net_lock = (struct cfs_percpt_lock *)0; } else { } return; } } static int lnet_create_locks(void) { { lnet_init_locks(); the_lnet.ln_res_lock = cfs_percpt_lock_alloc(the_lnet.ln_cpt_table); if ((unsigned long )the_lnet.ln_res_lock == (unsigned long )((struct cfs_percpt_lock *)0)) { goto failed; } else { } the_lnet.ln_net_lock = cfs_percpt_lock_alloc(the_lnet.ln_cpt_table); if ((unsigned long )the_lnet.ln_net_lock == (unsigned long )((struct cfs_percpt_lock *)0)) { goto failed; } else { } return (0); failed: lnet_destroy_locks(); return (-12); } } static void lnet_assert_wire_constants(void) { { switch (42) { case 1: ; case 0: ; goto ldv_51276; } ldv_51276: ; switch (42) { case 1: ; case 0: ; goto ldv_51279; } ldv_51279: ; switch (42) { case 1: ; case 0: ; goto ldv_51282; } ldv_51282: ; switch (42) { case 1: ; case 0: ; goto ldv_51285; } ldv_51285: ; switch (42) { case 1: ; case 0: ; goto ldv_51288; } ldv_51288: ; switch (42) { case 1: ; case 0: ; goto ldv_51291; } ldv_51291: ; switch (42) { case 1: ; case 0: ; goto ldv_51294; } ldv_51294: ; switch (42) { case 1: ; case 0: ; goto ldv_51297; } ldv_51297: ; switch (42) { case 1: ; case 0: ; goto ldv_51300; } ldv_51300: ; switch (42) { case 1: ; case 0: ; goto ldv_51303; } ldv_51303: ; switch (42) { case 1: ; case 0: ; goto ldv_51306; } ldv_51306: ; switch (42) { case 1: ; case 0: ; goto ldv_51309; } ldv_51309: ; switch (42) { case 1: ; case 0: ; goto ldv_51312; } ldv_51312: ; switch (42) { case 1: ; case 0: ; goto ldv_51315; } ldv_51315: ; switch (42) { case 1: ; case 0: ; goto ldv_51318; } ldv_51318: ; switch (42) { case 1: ; case 0: ; goto ldv_51321; } ldv_51321: ; switch (42) { case 1: ; case 0: ; goto ldv_51324; } ldv_51324: ; switch (42) { case 1: ; case 0: ; goto ldv_51327; } ldv_51327: ; switch (42) { case 1: ; case 0: ; goto ldv_51330; } ldv_51330: ; switch (42) { case 1: ; case 0: ; goto ldv_51333; } ldv_51333: ; switch (42) { case 1: ; case 0: ; goto ldv_51336; } ldv_51336: ; switch (42) { case 1: ; case 0: ; goto ldv_51339; } ldv_51339: ; switch (42) { case 1: ; case 0: ; goto ldv_51342; } ldv_51342: ; switch (42) { case 1: ; case 0: ; goto ldv_51345; } ldv_51345: ; switch (42) { case 1: ; case 0: ; goto ldv_51348; } ldv_51348: ; switch (42) { case 1: ; case 0: ; goto ldv_51351; } ldv_51351: ; switch (42) { case 1: ; case 0: ; goto ldv_51354; } ldv_51354: ; switch (42) { case 1: ; case 0: ; goto ldv_51357; } ldv_51357: ; switch (42) { case 1: ; case 0: ; goto ldv_51360; } ldv_51360: ; switch (42) { case 1: ; case 0: ; goto ldv_51363; } ldv_51363: ; switch (42) { case 1: ; case 0: ; goto ldv_51366; } ldv_51366: ; switch (42) { case 1: ; case 0: ; goto ldv_51369; } ldv_51369: ; switch (42) { case 1: ; case 0: ; goto ldv_51372; } ldv_51372: ; switch (42) { case 1: ; case 0: ; goto ldv_51375; } ldv_51375: ; switch (42) { case 1: ; case 0: ; goto ldv_51378; } ldv_51378: ; switch (42) { case 1: ; case 0: ; goto ldv_51381; } ldv_51381: ; switch (42) { case 1: ; case 0: ; goto ldv_51384; } ldv_51384: ; switch (42) { case 1: ; case 0: ; goto ldv_51387; } ldv_51387: ; switch (42) { case 1: ; case 0: ; goto ldv_51390; } ldv_51390: ; switch (42) { case 1: ; case 0: ; goto ldv_51393; } ldv_51393: ; switch (42) { case 1: ; case 0: ; goto ldv_51396; } ldv_51396: ; switch (42) { case 1: ; case 0: ; goto ldv_51399; } ldv_51399: ; switch (42) { case 1: ; case 0: ; goto ldv_51402; } ldv_51402: ; switch (42) { case 1: ; case 0: ; goto ldv_51405; } ldv_51405: ; switch (42) { case 1: ; case 0: ; goto ldv_51408; } ldv_51408: ; switch (42) { case 1: ; case 0: ; goto ldv_51411; } ldv_51411: ; switch (42) { case 1: ; case 0: ; goto ldv_51414; } ldv_51414: ; switch (42) { case 1: ; case 0: ; goto ldv_51417; } ldv_51417: ; switch (42) { case 1: ; case 0: ; goto ldv_51420; } ldv_51420: ; switch (42) { case 1: ; case 0: ; goto ldv_51423; } ldv_51423: ; switch (42) { case 1: ; case 0: ; goto ldv_51426; } ldv_51426: ; switch (42) { case 1: ; case 0: ; goto ldv_51429; } ldv_51429: ; switch (42) { case 1: ; case 0: ; goto ldv_51432; } ldv_51432: ; switch (42) { case 1: ; case 0: ; goto ldv_51435; } ldv_51435: ; switch (42) { case 1: ; case 0: ; goto ldv_51438; } ldv_51438: ; switch (42) { case 1: ; case 0: ; goto ldv_51441; } ldv_51441: ; switch (42) { case 1: ; case 0: ; goto ldv_51444; } ldv_51444: ; switch (42) { case 1: ; case 0: ; goto ldv_51447; } ldv_51447: ; switch (42) { case 1: ; case 0: ; goto ldv_51450; } ldv_51450: ; switch (42) { case 1: ; case 0: ; goto ldv_51453; } ldv_51453: ; switch (42) { case 1: ; case 0: ; goto ldv_51456; } ldv_51456: ; switch (42) { case 1: ; case 0: ; goto ldv_51459; } ldv_51459: ; switch (42) { case 1: ; case 0: ; goto ldv_51462; } ldv_51462: ; switch (42) { case 1: ; case 0: ; goto ldv_51465; } ldv_51465: ; switch (42) { case 1: ; case 0: ; goto ldv_51468; } ldv_51468: ; switch (42) { case 1: ; case 0: ; goto ldv_51471; } ldv_51471: ; switch (42) { case 1: ; case 0: ; goto ldv_51474; } ldv_51474: ; return; } } static lnd_t *lnet_find_lnd_by_type(int type ) { lnd_t *lnd ; struct list_head *tmp ; struct list_head const *__mptr ; { tmp = the_lnet.ln_lnds.next; goto ldv_51483; ldv_51482: __mptr = (struct list_head const *)tmp; lnd = (lnd_t *)__mptr; if ((int )lnd->lnd_type == type) { return (lnd); } else { } tmp = tmp->next; ldv_51483: ; if ((unsigned long )tmp != (unsigned long )(& the_lnet.ln_lnds)) { goto ldv_51482; } else { } return ((lnd_t *)0); } } void lnet_register_lnd(lnd_t *lnd ) { struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___0 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___1 ; lnd_t *tmp___2 ; long tmp___3 ; struct libcfs_debug_msg_data msgdata ; char *tmp___4 ; int tmp___5 ; { mutex_lock_nested(& the_lnet.ln_lnd_mutex, 0U); tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_register_lnd"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 288; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = libcfs_isknown_lnd((int )lnd->lnd_type); tmp___1 = ldv__builtin_expect(tmp___0 == 0, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "lnet_register_lnd"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 289; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"libcfs_isknown_lnd(lnd->lnd_type)"); lbug_with_loc(& __msg_data___0); } else { } tmp___2 = lnet_find_lnd_by_type((int )lnd->lnd_type); tmp___3 = ldv__builtin_expect((unsigned long )tmp___2 != (unsigned long )((lnd_t *)0), 0L); if (tmp___3 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___1.msg_fn = "lnet_register_lnd"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 290; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"lnet_find_lnd_by_type(lnd->lnd_type) == ((void *)0)"); lbug_with_loc(& __msg_data___1); } else { } list_add_tail(& lnd->lnd_list, & the_lnet.ln_lnds); lnd->lnd_refcount = 0; tmp___5 = cfs_cdebug_show(512U, 1024U); if (tmp___5 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_register_lnd"; msgdata.msg_line = 295; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; tmp___4 = libcfs_lnd2str((int )lnd->lnd_type); libcfs_debug_msg(& msgdata, "%s LND registered\n", tmp___4); } else { } mutex_unlock(& the_lnet.ln_lnd_mutex); return; } } static char const __kstrtab_lnet_register_lnd[18U] = { 'l', 'n', 'e', 't', '_', 'r', 'e', 'g', 'i', 's', 't', 'e', 'r', '_', 'l', 'n', 'd', '\000'}; struct kernel_symbol const __ksymtab_lnet_register_lnd ; struct kernel_symbol const __ksymtab_lnet_register_lnd = {(unsigned long )(& lnet_register_lnd), (char const *)(& __kstrtab_lnet_register_lnd)}; void lnet_unregister_lnd(lnd_t *lnd ) { struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; lnd_t *tmp___0 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___2 ; struct libcfs_debug_msg_data msgdata ; char *tmp___3 ; int tmp___4 ; { mutex_lock_nested(& the_lnet.ln_lnd_mutex, 0U); tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_unregister_lnd"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 306; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = lnet_find_lnd_by_type((int )lnd->lnd_type); tmp___1 = ldv__builtin_expect((unsigned long )tmp___0 != (unsigned long )lnd, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "lnet_unregister_lnd"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 307; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"lnet_find_lnd_by_type(lnd->lnd_type) == lnd"); lbug_with_loc(& __msg_data___0); } else { } tmp___2 = ldv__builtin_expect(lnd->lnd_refcount != 0, 0L); if (tmp___2 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___1.msg_fn = "lnet_unregister_lnd"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 308; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"lnd->lnd_refcount == 0"); lbug_with_loc(& __msg_data___1); } else { } list_del(& lnd->lnd_list); tmp___4 = cfs_cdebug_show(512U, 1024U); if (tmp___4 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_unregister_lnd"; msgdata.msg_line = 311; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; tmp___3 = libcfs_lnd2str((int )lnd->lnd_type); libcfs_debug_msg(& msgdata, "%s LND unregistered\n", tmp___3); } else { } mutex_unlock(& the_lnet.ln_lnd_mutex); return; } } static char const __kstrtab_lnet_unregister_lnd[20U] = { 'l', 'n', 'e', 't', '_', 'u', 'n', 'r', 'e', 'g', 'i', 's', 't', 'e', 'r', '_', 'l', 'n', 'd', '\000'}; struct kernel_symbol const __ksymtab_lnet_unregister_lnd ; struct kernel_symbol const __ksymtab_lnet_unregister_lnd = {(unsigned long )(& lnet_unregister_lnd), (char const *)(& __kstrtab_lnet_unregister_lnd)}; void lnet_counters_get(lnet_counters_t *counters ) { lnet_counters_t *ctr ; int i ; int tmp ; { memset((void *)counters, 0, 60UL); lnet_net_lock(-1); i = 0; goto ldv_51521; ldv_51520: counters->msgs_max = counters->msgs_max + ctr->msgs_max; counters->msgs_alloc = counters->msgs_alloc + ctr->msgs_alloc; counters->errors = counters->errors + ctr->errors; counters->send_count = counters->send_count + ctr->send_count; counters->recv_count = counters->recv_count + ctr->recv_count; counters->route_count = counters->route_count + ctr->route_count; counters->drop_count = counters->drop_count + ctr->drop_count; counters->send_length = counters->send_length + ctr->send_length; counters->recv_length = counters->recv_length + ctr->recv_length; counters->route_length = counters->route_length + ctr->route_length; counters->drop_length = counters->drop_length + ctr->drop_length; i = i + 1; ldv_51521: tmp = cfs_percpt_number((void *)the_lnet.ln_counters); if (tmp > i) { ctr = *(the_lnet.ln_counters + (unsigned long )i); if ((unsigned long )ctr != (unsigned long )((lnet_counters_t *)0)) { goto ldv_51520; } else { goto ldv_51522; } } else { } ldv_51522: lnet_net_unlock(-1); return; } } static char const __kstrtab_lnet_counters_get[18U] = { 'l', 'n', 'e', 't', '_', 'c', 'o', 'u', 'n', 't', 'e', 'r', 's', '_', 'g', 'e', 't', '\000'}; struct kernel_symbol const __ksymtab_lnet_counters_get ; struct kernel_symbol const __ksymtab_lnet_counters_get = {(unsigned long )(& lnet_counters_get), (char const *)(& __kstrtab_lnet_counters_get)}; void lnet_counters_reset(void) { lnet_counters_t *counters ; int i ; int tmp ; { lnet_net_lock(-1); i = 0; goto ldv_51536; ldv_51535: memset((void *)counters, 0, 60UL); i = i + 1; ldv_51536: tmp = cfs_percpt_number((void *)the_lnet.ln_counters); if (tmp > i) { counters = *(the_lnet.ln_counters + (unsigned long )i); if ((unsigned long )counters != (unsigned long )((lnet_counters_t *)0)) { goto ldv_51535; } else { goto ldv_51537; } } else { } ldv_51537: lnet_net_unlock(-1); return; } } static char const __kstrtab_lnet_counters_reset[20U] = { 'l', 'n', 'e', 't', '_', 'c', 'o', 'u', 'n', 't', 'e', 'r', 's', '_', 'r', 'e', 's', 'e', 't', '\000'}; struct kernel_symbol const __ksymtab_lnet_counters_reset ; struct kernel_symbol const __ksymtab_lnet_counters_reset = {(unsigned long )(& lnet_counters_reset), (char const *)(& __kstrtab_lnet_counters_reset)}; static __u64 lnet_create_interface_cookie(void) { u64 tmp ; { tmp = ktime_get_ns(); return (tmp); } } static char *lnet_res_type2str(int type ) { struct libcfs_debug_msg_data msgdata ; { switch (type) { default: msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_res_type2str"; msgdata.msg_subsys = 1024; msgdata.msg_line = 374; msgdata.msg_mask = 0; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 262144; lbug_with_loc(& msgdata); case 1: ; return ((char *)"MD"); case 2: ; return ((char *)"ME"); case 3: ; return ((char *)"EQ"); } } } static void lnet_res_container_cleanup(struct lnet_res_container *rec ) { int count ; struct list_head *e ; struct list_head const *__mptr ; struct list_head const *__mptr___0 ; struct libcfs_debug_msg_data msgdata ; int tmp ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___0 ; int tmp___1 ; int s ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___2 ; long tmp___3 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___4 ; int tmp___5 ; long tmp___6 ; { count = 0; if (rec->rec_type == 0U) { return; } else { } goto ldv_51568; ldv_51567: e = rec->rec_active.next; list_del_init(e); if (rec->rec_type == 3U) { __mptr = (struct list_head const *)e; lnet_eq_free((lnet_eq_t *)__mptr); } else if (rec->rec_type == 1U) { __mptr___0 = (struct list_head const *)e; lnet_md_free((lnet_libmd_t *)__mptr___0); } else { msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_res_container_cleanup"; msgdata.msg_subsys = 1024; msgdata.msg_line = 403; msgdata.msg_mask = 0; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 262144; lbug_with_loc(& msgdata); } count = count + 1; ldv_51568: tmp = list_empty((struct list_head const *)(& rec->rec_active)); if (tmp == 0) { goto ldv_51567; } else { } if (count > 0) { tmp___1 = cfs_cdebug_show(131072U, 1024U); if (tmp___1 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___0.msg_fn = "lnet_res_container_cleanup"; msgdata___0.msg_line = 413; msgdata___0.msg_cdls = & cdls; msgdata___0.msg_mask = 131072; tmp___0 = lnet_res_type2str((int )rec->rec_type); libcfs_debug_msg(& msgdata___0, "%d active elements on exit of %s container\n", count, tmp___0); } else { } } else { } if ((unsigned long )rec->rec_lh_hash != (unsigned long )((struct list_head *)0)) { s = 65536; tmp___3 = ldv__builtin_expect((unsigned long )rec->rec_lh_hash == (unsigned long )((struct list_head *)0), 0L); if (tmp___3 != 0L) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___1.msg_fn = "lnet_res_container_cleanup"; msgdata___1.msg_line = 418; msgdata___1.msg_cdls = & cdls___0; msgdata___1.msg_mask = 131072; libcfs_debug_msg(& msgdata___1, "LIBCFS: free NULL \'rec->rec_lh_hash\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c", 418); } else { } goto ldv_51575; } else { } atomic_sub(s, & libcfs_kmemory); tmp___5 = cfs_cdebug_show(16U, 1024U); if (tmp___5 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___2.msg_fn = "lnet_res_container_cleanup"; msgdata___2.msg_line = 418; msgdata___2.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___2.msg_mask = 16; tmp___4 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___2, "kfreed \'rec->rec_lh_hash\': %d at %p (tot %d).\n", s, rec->rec_lh_hash, tmp___4); } else { } tmp___6 = ldv__builtin_expect(s > 8192, 0L); if (tmp___6 != 0L) { vfree((void const *)rec->rec_lh_hash); } else { kfree((void const *)rec->rec_lh_hash); } ldv_51575: rec->rec_lh_hash = (struct list_head *)0; } else { } rec->rec_type = 0U; return; } } static int lnet_res_container_setup(struct lnet_res_container *rec , int cpt , int type ) { int rc ; int i ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___0 ; long tmp___1 ; int tmp___2 ; void *tmp___3 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___4 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___5 ; int tmp___6 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___7 ; int tmp___8 ; long tmp___9 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___2 ; char *tmp___10 ; int tmp___11 ; { rc = 0; tmp = ldv__builtin_expect(rec->rec_type != 0U, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_res_container_setup"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 431; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"rec->rec_type == 0"); lbug_with_loc(& __msg_data); } else { } rec->rec_type = (unsigned int )type; INIT_LIST_HEAD(& rec->rec_active); rec->rec_lh_cookie = (__u64 )((cpt << 2) | type); tmp___0 = preempt_count(); tmp___1 = ldv__builtin_expect((long )(((unsigned long )tmp___0 & 2096896UL) != 0UL && 1), 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "lnet_res_container_setup"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 439; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || ((((1ULL << 12) * sizeof(rec->rec_lh_hash[0]))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data___0); } else { } tmp___2 = cfs_cpt_spread_node(the_lnet.ln_cpt_table, cpt); tmp___3 = vmalloc_node(65536UL, tmp___2); rec->rec_lh_hash = (struct list_head *)tmp___3; tmp___9 = ldv__builtin_expect((unsigned long )rec->rec_lh_hash == (unsigned long )((struct list_head *)0), 0L); if (tmp___9 != 0L) { tmp___4 = cfs_cdebug_show(131072U, 1024U); if (tmp___4 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_res_container_setup"; msgdata.msg_line = 439; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LNET: out of memory at %s:%d (tried to alloc \'(rec->rec_lh_hash)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c", 439, 65536); } else { } tmp___6 = cfs_cdebug_show(131072U, 1024U); if (tmp___6 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___0.msg_fn = "lnet_res_container_setup"; msgdata___0.msg_line = 439; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___5 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "LNET: %d total bytes allocated by lnet\n", tmp___5); } else { } } else { memset((void *)rec->rec_lh_hash, 0, 65536UL); atomic_add(65536, & libcfs_kmemory); tmp___8 = cfs_cdebug_show(16U, 1024U); if (tmp___8 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___1.msg_fn = "lnet_res_container_setup"; msgdata___1.msg_line = 439; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___7 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "alloc \'(rec->rec_lh_hash)\': %d at %p (tot %d).\n", 65536, rec->rec_lh_hash, tmp___7); } else { } } if ((unsigned long )rec->rec_lh_hash == (unsigned long )((struct list_head *)0)) { rc = -12; goto out; } else { } i = 0; goto ldv_51594; ldv_51593: INIT_LIST_HEAD(rec->rec_lh_hash + (unsigned long )i); i = i + 1; ldv_51594: ; if ((unsigned int )i <= 4095U) { goto ldv_51593; } else { } return (0); out: tmp___11 = cfs_cdebug_show(131072U, 1024U); if (tmp___11 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___2.msg_fn = "lnet_res_container_setup"; msgdata___2.msg_line = 452; msgdata___2.msg_cdls = & cdls___1; msgdata___2.msg_mask = 131072; tmp___10 = lnet_res_type2str(type); libcfs_debug_msg(& msgdata___2, "Failed to setup %s resource container\n", tmp___10); } else { } lnet_res_container_cleanup(rec); return (rc); } } static void lnet_res_containers_destroy(struct lnet_res_container **recs ) { struct lnet_res_container *rec ; int i ; int tmp ; { i = 0; goto ldv_51604; ldv_51603: lnet_res_container_cleanup(rec); i = i + 1; ldv_51604: tmp = cfs_percpt_number((void *)recs); if (tmp > i) { rec = *(recs + (unsigned long )i); if ((unsigned long )rec != (unsigned long )((struct lnet_res_container *)0)) { goto ldv_51603; } else { goto ldv_51605; } } else { } ldv_51605: cfs_percpt_free((void *)recs); return; } } static struct lnet_res_container **lnet_res_containers_create(int type ) { struct lnet_res_container **recs ; struct lnet_res_container *rec ; int rc ; int i ; void *tmp ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp___0 ; int tmp___1 ; int tmp___2 ; { tmp = cfs_percpt_alloc(the_lnet.ln_cpt_table, 40U); recs = (struct lnet_res_container **)tmp; if ((unsigned long )recs == (unsigned long )((struct lnet_res_container **)0)) { tmp___1 = cfs_cdebug_show(131072U, 1024U); if (tmp___1 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_res_containers_create"; msgdata.msg_line = 480; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; tmp___0 = lnet_res_type2str(type); libcfs_debug_msg(& msgdata, "Failed to allocate %s resource containers\n", tmp___0); } else { } return ((struct lnet_res_container **)0); } else { } i = 0; goto ldv_51617; ldv_51616: rc = lnet_res_container_setup(rec, i, type); if (rc != 0) { lnet_res_containers_destroy(recs); return ((struct lnet_res_container **)0); } else { } i = i + 1; ldv_51617: tmp___2 = cfs_percpt_number((void *)recs); if (tmp___2 > i) { rec = *(recs + (unsigned long )i); if ((unsigned long )rec != (unsigned long )((struct lnet_res_container *)0)) { goto ldv_51616; } else { goto ldv_51618; } } else { } ldv_51618: ; return (recs); } } lnet_libhandle_t *lnet_res_lh_lookup(struct lnet_res_container *rec , __u64 cookie ) { struct list_head *head ; lnet_libhandle_t *lh ; unsigned int hash ; struct list_head const *__mptr ; struct list_head const *__mptr___0 ; { if ((cookie & 3ULL) != (unsigned long long )rec->rec_type) { return ((lnet_libhandle_t *)0); } else { } hash = (unsigned int )(cookie >> (int )(the_lnet.ln_cpt_bits + 2U)); head = rec->rec_lh_hash + ((unsigned long long )hash & 4095ULL); __mptr = (struct list_head const *)head->next; lh = (lnet_libhandle_t *)__mptr; goto ldv_51631; ldv_51630: ; if (lh->lh_cookie == cookie) { return (lh); } else { } __mptr___0 = (struct list_head const *)lh->lh_hash_chain.next; lh = (lnet_libhandle_t *)__mptr___0; ldv_51631: ; if ((unsigned long )(& lh->lh_hash_chain) != (unsigned long )head) { goto ldv_51630; } else { } return ((lnet_libhandle_t *)0); } } void lnet_res_lh_initialize(struct lnet_res_container *rec , lnet_libhandle_t *lh ) { unsigned int ibits ; unsigned int hash ; { ibits = the_lnet.ln_cpt_bits + 2U; lh->lh_cookie = rec->rec_lh_cookie; rec->rec_lh_cookie = rec->rec_lh_cookie + (__u64 )(1 << (int )ibits); hash = (unsigned int )(lh->lh_cookie >> (int )ibits) & 4095U; list_add(& lh->lh_hash_chain, rec->rec_lh_hash + (unsigned long )hash); return; } } int lnet_unprepare(void) ; static int lnet_prepare(lnet_pid_t requested_pid ) { struct lnet_res_container **recs ; int rc ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; void *tmp___1 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___2 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___3 ; { rc = 0; tmp = ldv__builtin_expect(the_lnet.ln_refcount != 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_prepare"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 542; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount == 0"); lbug_with_loc(& __msg_data); } else { } the_lnet.ln_routing = 0; tmp___0 = ldv__builtin_expect((int )requested_pid < 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "lnet_prepare"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 546; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"(requested_pid & 0x80000000) == 0"); lbug_with_loc(& __msg_data___0); } else { } the_lnet.ln_pid = requested_pid; INIT_LIST_HEAD(& the_lnet.ln_test_peers); INIT_LIST_HEAD(& the_lnet.ln_nis); INIT_LIST_HEAD(& the_lnet.ln_nis_cpt); INIT_LIST_HEAD(& the_lnet.ln_nis_zombie); INIT_LIST_HEAD(& the_lnet.ln_routers); rc = lnet_create_remote_nets_table(); if (rc != 0) { goto failed; } else { } the_lnet.ln_interface_cookie = lnet_create_interface_cookie(); tmp___1 = cfs_percpt_alloc(the_lnet.ln_cpt_table, 60U); the_lnet.ln_counters = (lnet_counters_t **)tmp___1; if ((unsigned long )the_lnet.ln_counters == (unsigned long )((lnet_counters_t **)0)) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_prepare"; msgdata.msg_line = 564; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Failed to allocate counters for LNet\n"); } else { } rc = -12; goto failed; } else { } rc = lnet_peer_tables_create(); if (rc != 0) { goto failed; } else { } rc = lnet_msg_containers_create(); if (rc != 0) { goto failed; } else { } rc = lnet_res_container_setup(& the_lnet.ln_eq_container, 0, 3); if (rc != 0) { goto failed; } else { } recs = lnet_res_containers_create(2); if ((unsigned long )recs == (unsigned long )((struct lnet_res_container **)0)) { rc = -12; goto failed; } else { } the_lnet.ln_me_containers = recs; recs = lnet_res_containers_create(1); if ((unsigned long )recs == (unsigned long )((struct lnet_res_container **)0)) { rc = -12; goto failed; } else { } the_lnet.ln_md_containers = recs; rc = lnet_portals_create(); if (rc != 0) { tmp___3 = cfs_cdebug_show(131072U, 1024U); if (tmp___3 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___0.msg_fn = "lnet_prepare"; msgdata___0.msg_line = 600; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "Failed to create portals for LNet: %d\n", rc); } else { } goto failed; } else { } return (0); failed: lnet_unprepare(); return (rc); } } int lnet_unprepare(void) { struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___0 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___1 ; int tmp___2 ; long tmp___3 ; struct libcfs_debug_msg_data __msg_data___2 ; int tmp___4 ; long tmp___5 ; struct libcfs_debug_msg_data __msg_data___3 ; int tmp___6 ; long tmp___7 ; { lnet_fail_nid(0xffffffffffffffffULL, 0U); tmp = ldv__builtin_expect(the_lnet.ln_refcount != 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_unprepare"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 621; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount == 0"); lbug_with_loc(& __msg_data); } else { } tmp___0 = list_empty((struct list_head const *)(& the_lnet.ln_test_peers)); tmp___1 = ldv__builtin_expect(tmp___0 == 0, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "lnet_unprepare"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 622; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&the_lnet.ln_test_peers)"); lbug_with_loc(& __msg_data___0); } else { } tmp___2 = list_empty((struct list_head const *)(& the_lnet.ln_nis)); tmp___3 = ldv__builtin_expect(tmp___2 == 0, 0L); if (tmp___3 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___1.msg_fn = "lnet_unprepare"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 623; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&the_lnet.ln_nis)"); lbug_with_loc(& __msg_data___1); } else { } tmp___4 = list_empty((struct list_head const *)(& the_lnet.ln_nis_cpt)); tmp___5 = ldv__builtin_expect(tmp___4 == 0, 0L); if (tmp___5 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___2.msg_fn = "lnet_unprepare"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 624; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&the_lnet.ln_nis_cpt)"); lbug_with_loc(& __msg_data___2); } else { } tmp___6 = list_empty((struct list_head const *)(& the_lnet.ln_nis_zombie)); tmp___7 = ldv__builtin_expect(tmp___6 == 0, 0L); if (tmp___7 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___3.msg_fn = "lnet_unprepare"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 625; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&the_lnet.ln_nis_zombie)"); lbug_with_loc(& __msg_data___3); } else { } lnet_portals_destroy(); if ((unsigned long )the_lnet.ln_md_containers != (unsigned long )((struct lnet_res_container **)0)) { lnet_res_containers_destroy(the_lnet.ln_md_containers); the_lnet.ln_md_containers = (struct lnet_res_container **)0; } else { } if ((unsigned long )the_lnet.ln_me_containers != (unsigned long )((struct lnet_res_container **)0)) { lnet_res_containers_destroy(the_lnet.ln_me_containers); the_lnet.ln_me_containers = (struct lnet_res_container **)0; } else { } lnet_res_container_cleanup(& the_lnet.ln_eq_container); lnet_msg_containers_destroy(); lnet_peer_tables_destroy(); lnet_rtrpools_free(); if ((unsigned long )the_lnet.ln_counters != (unsigned long )((lnet_counters_t **)0)) { cfs_percpt_free((void *)the_lnet.ln_counters); the_lnet.ln_counters = (lnet_counters_t **)0; } else { } lnet_destroy_remote_nets_table(); return (0); } } lnet_ni_t *lnet_net2ni_locked(__u32 net , int cpt ) { struct list_head *tmp ; lnet_ni_t *ni ; struct libcfs_debug_msg_data __msg_data ; long tmp___0 ; struct list_head const *__mptr ; __u32 tmp___1 ; { tmp___0 = ldv__builtin_expect(cpt == -1, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_net2ni_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 660; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"cpt != CFS_PERCPT_LOCK_EX"); lbug_with_loc(& __msg_data); } else { } tmp = the_lnet.ln_nis.next; goto ldv_51674; ldv_51673: __mptr = (struct list_head const *)tmp; ni = (lnet_ni_t *)__mptr + 0xffffffffffffffb8UL; tmp___1 = LNET_NIDNET(ni->ni_nid); if (tmp___1 == net) { lnet_ni_addref_locked(ni, cpt); return (ni); } else { } tmp = tmp->next; ldv_51674: ; if ((unsigned long )tmp != (unsigned long )(& the_lnet.ln_nis)) { goto ldv_51673; } else { } return ((lnet_ni_t *)0); } } lnet_ni_t *lnet_net2ni(__u32 net ) { lnet_ni_t *ni ; { lnet_net_lock(0); ni = lnet_net2ni_locked(net, 0); lnet_net_unlock(0); return (ni); } } static char const __kstrtab_lnet_net2ni[12U] = { 'l', 'n', 'e', 't', '_', 'n', 'e', 't', '2', 'n', 'i', '\000'}; struct kernel_symbol const __ksymtab_lnet_net2ni ; struct kernel_symbol const __ksymtab_lnet_net2ni = {(unsigned long )(& lnet_net2ni), (char const *)(& __kstrtab_lnet_net2ni)}; static unsigned int lnet_nid_cpt_hash(lnet_nid_t nid , unsigned int number ) { __u64 key ; unsigned int val ; struct libcfs_debug_msg_data __msg_data ; long tmp ; u64 tmp___0 ; { key = nid; tmp = ldv__builtin_expect((long )(number == 0U || the_lnet.ln_cpt_number < number), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_nid_cpt_hash"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 693; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"number >= 1 && number <= (the_lnet.ln_cpt_number)"); lbug_with_loc(& __msg_data); } else { } if (number == 1U) { return (0U); } else { } tmp___0 = hash_64(key, the_lnet.ln_cpt_bits); val = (unsigned int )tmp___0; if (val < number) { return (val); } else { } return ((((unsigned int )key + val) + (val >> 1)) % number); } } int lnet_cpt_of_nid_locked(lnet_nid_t nid ) { struct lnet_ni *ni ; struct list_head const *__mptr ; __u32 tmp ; __u32 tmp___0 ; struct libcfs_debug_msg_data __msg_data ; long tmp___1 ; unsigned int tmp___2 ; struct list_head const *__mptr___0 ; int tmp___3 ; unsigned int tmp___4 ; { if (the_lnet.ln_cpt_number == 1U) { return (0); } else { } tmp___3 = list_empty((struct list_head const *)(& the_lnet.ln_nis_cpt)); if (tmp___3 == 0) { __mptr = (struct list_head const *)the_lnet.ln_nis_cpt.next; ni = (struct lnet_ni *)__mptr + 0xffffffffffffffa8UL; goto ldv_51707; ldv_51706: tmp = LNET_NIDNET(ni->ni_nid); tmp___0 = LNET_NIDNET(nid); if (tmp != tmp___0) { goto ldv_51703; } else { } tmp___1 = ldv__builtin_expect((unsigned long )ni->ni_cpts == (unsigned long )((__u32 *)0U), 0L); if (tmp___1 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_cpt_of_nid_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 721; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"ni->ni_cpts != ((void *)0)"); lbug_with_loc(& __msg_data); } else { } tmp___2 = lnet_nid_cpt_hash(nid, (unsigned int )ni->ni_ncpts); return ((int )*(ni->ni_cpts + (unsigned long )tmp___2)); ldv_51703: __mptr___0 = (struct list_head const *)ni->ni_cptlist.next; ni = (struct lnet_ni *)__mptr___0 + 0xffffffffffffffa8UL; ldv_51707: ; if ((unsigned long )(& ni->ni_cptlist) != (unsigned long )(& the_lnet.ln_nis_cpt)) { goto ldv_51706; } else { } } else { } tmp___4 = lnet_nid_cpt_hash(nid, the_lnet.ln_cpt_number); return ((int )tmp___4); } } int lnet_cpt_of_nid(lnet_nid_t nid ) { int cpt ; int cpt2 ; unsigned int tmp ; int tmp___0 ; { if (the_lnet.ln_cpt_number == 1U) { return (0); } else { } tmp___0 = list_empty((struct list_head const *)(& the_lnet.ln_nis_cpt)); if (tmp___0 != 0) { tmp = lnet_nid_cpt_hash(nid, the_lnet.ln_cpt_number); return ((int )tmp); } else { } cpt = lnet_net_lock_current(); cpt2 = lnet_cpt_of_nid_locked(nid); lnet_net_unlock(cpt); return (cpt2); } } static char const __kstrtab_lnet_cpt_of_nid[16U] = { 'l', 'n', 'e', 't', '_', 'c', 'p', 't', '_', 'o', 'f', '_', 'n', 'i', 'd', '\000'}; struct kernel_symbol const __ksymtab_lnet_cpt_of_nid ; struct kernel_symbol const __ksymtab_lnet_cpt_of_nid = {(unsigned long )(& lnet_cpt_of_nid), (char const *)(& __kstrtab_lnet_cpt_of_nid)}; int lnet_islocalnet(__u32 net ) { struct lnet_ni *ni ; int cpt ; lnet_ni_t *tmp ; { cpt = lnet_net_lock_current(); tmp = lnet_net2ni_locked(net, cpt); ni = tmp; if ((unsigned long )ni != (unsigned long )((struct lnet_ni *)0)) { lnet_ni_decref_locked(ni, cpt); } else { } lnet_net_unlock(cpt); return ((unsigned long )ni != (unsigned long )((struct lnet_ni *)0)); } } lnet_ni_t *lnet_nid2ni_locked(lnet_nid_t nid , int cpt ) { struct lnet_ni *ni ; struct list_head *tmp ; struct libcfs_debug_msg_data __msg_data ; long tmp___0 ; struct list_head const *__mptr ; { tmp___0 = ldv__builtin_expect(cpt == -1, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_nid2ni_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 773; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"cpt != CFS_PERCPT_LOCK_EX"); lbug_with_loc(& __msg_data); } else { } tmp = the_lnet.ln_nis.next; goto ldv_51737; ldv_51736: __mptr = (struct list_head const *)tmp; ni = (lnet_ni_t *)__mptr + 0xffffffffffffffb8UL; if (ni->ni_nid == nid) { lnet_ni_addref_locked(ni, cpt); return (ni); } else { } tmp = tmp->next; ldv_51737: ; if ((unsigned long )tmp != (unsigned long )(& the_lnet.ln_nis)) { goto ldv_51736; } else { } return ((lnet_ni_t *)0); } } int lnet_islocalnid(lnet_nid_t nid ) { struct lnet_ni *ni ; int cpt ; lnet_ni_t *tmp ; { cpt = lnet_net_lock_current(); tmp = lnet_nid2ni_locked(nid, cpt); ni = tmp; if ((unsigned long )ni != (unsigned long )((struct lnet_ni *)0)) { lnet_ni_decref_locked(ni, cpt); } else { } lnet_net_unlock(cpt); return ((unsigned long )ni != (unsigned long )((struct lnet_ni *)0)); } } int lnet_count_acceptor_nis(void) { int count ; struct list_head *tmp ; struct lnet_ni *ni ; int cpt ; struct list_head const *__mptr ; { count = 0; cpt = lnet_net_lock_current(); tmp = the_lnet.ln_nis.next; goto ldv_51754; ldv_51753: __mptr = (struct list_head const *)tmp; ni = (lnet_ni_t *)__mptr + 0xffffffffffffffb8UL; if ((unsigned long )(ni->ni_lnd)->lnd_accept != (unsigned long )((int (*)(struct lnet_ni * , struct socket * ))0)) { count = count + 1; } else { } tmp = tmp->next; ldv_51754: ; if ((unsigned long )tmp != (unsigned long )(& the_lnet.ln_nis)) { goto ldv_51753; } else { } lnet_net_unlock(cpt); return (count); } } static int lnet_ni_tq_credits(lnet_ni_t *ni ) { int credits ; struct libcfs_debug_msg_data __msg_data ; long tmp ; int _max1 ; int _max2 ; int _min1 ; int _min2 ; { tmp = ldv__builtin_expect(ni->ni_ncpts <= 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_ni_tq_credits"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 829; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"ni->ni_ncpts >= 1"); lbug_with_loc(& __msg_data); } else { } if (ni->ni_ncpts == 1) { return (ni->ni_maxtxcredits); } else { } credits = ni->ni_maxtxcredits / ni->ni_ncpts; _max1 = credits; _max2 = ni->ni_peertxcredits * 8; credits = _max1 > _max2 ? _max1 : _max2; _min1 = credits; _min2 = ni->ni_maxtxcredits; credits = _min1 < _min2 ? _min1 : _min2; return (credits); } } static void lnet_shutdown_lndnis(void) { int i ; int islo ; lnet_ni_t *ni ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; int tmp___1 ; long tmp___2 ; struct list_head const *__mptr ; int tmp___3 ; int tmp___4 ; int *ref ; int j ; struct list_head const *__mptr___0 ; int tmp___5 ; struct libcfs_debug_msg_data msgdata ; char *tmp___6 ; int tmp___7 ; struct task_struct *tmp___8 ; long volatile __ret ; struct task_struct *tmp___9 ; struct task_struct *tmp___10 ; struct task_struct *tmp___11 ; struct task_struct *tmp___12 ; long tmp___13 ; int tmp___14 ; struct libcfs_debug_msg_data __msg_data___2 ; int tmp___15 ; long tmp___16 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___17 ; int tmp___18 ; int tmp___19 ; int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___20 ; long tmp___21 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___22 ; int tmp___23 ; long tmp___24 ; { tmp = ldv__builtin_expect(the_lnet.ln_shutdown != 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_shutdown_lndnis"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 851; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!the_lnet.ln_shutdown"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount != 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "lnet_shutdown_lndnis"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 852; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount == 0"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = list_empty((struct list_head const *)(& the_lnet.ln_nis_zombie)); tmp___2 = ldv__builtin_expect(tmp___1 == 0, 0L); if (tmp___2 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___1.msg_fn = "lnet_shutdown_lndnis"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 853; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&the_lnet.ln_nis_zombie)"); lbug_with_loc(& __msg_data___1); } else { } lnet_net_lock(-1); the_lnet.ln_shutdown = 1; goto ldv_51781; ldv_51780: __mptr = (struct list_head const *)the_lnet.ln_nis.next; ni = (lnet_ni_t *)__mptr + 0xffffffffffffffb8UL; list_move(& ni->ni_list, & the_lnet.ln_nis_zombie); lnet_ni_decref_locked(ni, 0); tmp___3 = list_empty((struct list_head const *)(& ni->ni_cptlist)); if (tmp___3 == 0) { list_del_init(& ni->ni_cptlist); lnet_ni_decref_locked(ni, 0); } else { } ldv_51781: tmp___4 = list_empty((struct list_head const *)(& the_lnet.ln_nis)); if (tmp___4 == 0) { goto ldv_51780; } else { } if ((unsigned long )the_lnet.ln_eq_waitni != (unsigned long )((lnet_ni_t *)0)) { lnet_ni_decref_locked(the_lnet.ln_eq_waitni, 0); the_lnet.ln_eq_waitni = (lnet_ni_t *)0; } else { } if ((unsigned long )the_lnet.ln_loni != (unsigned long )((lnet_ni_t *)0)) { lnet_ni_decref_locked(the_lnet.ln_loni, 0); the_lnet.ln_loni = (lnet_ni_t *)0; } else { } lnet_net_unlock(-1); i = 0; goto ldv_51784; ldv_51783: LNetClearLazyPortal(i); i = i + 1; ldv_51784: ; if (the_lnet.ln_nportals > i) { goto ldv_51783; } else { } lnet_peer_tables_cleanup(); lnet_net_lock(-1); i = 2; goto ldv_51803; ldv_51806: __mptr___0 = (struct list_head const *)the_lnet.ln_nis_zombie.next; ni = (lnet_ni_t *)__mptr___0 + 0xffffffffffffffb8UL; list_del_init(& ni->ni_list); j = 0; goto ldv_51793; ldv_51792: ; if (*ref == 0) { goto ldv_51790; } else { } list_add(& ni->ni_list, & the_lnet.ln_nis_zombie); goto ldv_51791; ldv_51790: j = j + 1; ldv_51793: tmp___5 = cfs_percpt_number((void *)ni->ni_refs); if (tmp___5 > j) { ref = *(ni->ni_refs + (unsigned long )j); if ((unsigned long )ref != (unsigned long )((int *)0)) { goto ldv_51792; } else { goto ldv_51791; } } else { } ldv_51791: tmp___14 = list_empty((struct list_head const *)(& ni->ni_list)); if (tmp___14 == 0) { lnet_net_unlock(-1); i = i + 1; if ((- i & i) == i) { tmp___7 = cfs_cdebug_show(1024U, 1024U); if (tmp___7 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_shutdown_lndnis"; msgdata.msg_line = 919; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 1024; tmp___6 = libcfs_nid2str(ni->ni_nid); libcfs_debug_msg(& msgdata, "Waiting for zombie LNI %s\n", tmp___6); } else { } } else { } tmp___8 = get_current(); tmp___8->task_state_change = 0UL; __ret = 2L; switch (8UL) { case 1UL: tmp___9 = get_current(); __asm__ volatile ("xchgb %b0, %1\n": "+q" (__ret), "+m" (tmp___9->state): : "memory", "cc"); goto ldv_51797; case 2UL: tmp___10 = get_current(); __asm__ volatile ("xchgw %w0, %1\n": "+r" (__ret), "+m" (tmp___10->state): : "memory", "cc"); goto ldv_51797; case 4UL: tmp___11 = get_current(); __asm__ volatile ("xchgl %0, %1\n": "+r" (__ret), "+m" (tmp___11->state): : "memory", "cc"); goto ldv_51797; case 8UL: tmp___12 = get_current(); __asm__ volatile ("xchgq %q0, %1\n": "+r" (__ret), "+m" (tmp___12->state): : "memory", "cc"); goto ldv_51797; default: __xchg_wrong_size(); } ldv_51797: tmp___13 = cfs_time_seconds(1); schedule_timeout(tmp___13); lnet_net_lock(-1); goto ldv_51803; } else { } (ni->ni_lnd)->lnd_refcount = (ni->ni_lnd)->lnd_refcount - 1; lnet_net_unlock(-1); islo = (ni->ni_lnd)->lnd_type == 9U; tmp___15 = preempt_count(); tmp___16 = ldv__builtin_expect(((unsigned long )tmp___15 & 2096896UL) != 0UL, 0L); if (tmp___16 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___2.msg_fn = "lnet_shutdown_lndnis"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 932; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4)))))"); lbug_with_loc(& __msg_data___2); } else { } (*((ni->ni_lnd)->lnd_shutdown))(ni); if (islo == 0) { tmp___18 = cfs_cdebug_show(33554432U, 1024U); if (tmp___18 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___0.msg_fn = "lnet_shutdown_lndnis"; msgdata___0.msg_line = 940; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 33554432; tmp___17 = libcfs_nid2str(ni->ni_nid); libcfs_debug_msg(& msgdata___0, "Removed LNI %s\n", tmp___17); } else { } } else { } lnet_ni_free(ni); i = 2; lnet_net_lock(-1); ldv_51803: tmp___19 = list_empty((struct list_head const *)(& the_lnet.ln_nis_zombie)); if (tmp___19 == 0) { goto ldv_51806; } else { } the_lnet.ln_shutdown = 0; lnet_net_unlock(-1); if ((unsigned long )the_lnet.ln_network_tokens != (unsigned long )((char *)0)) { s = the_lnet.ln_network_tokens_nob; tmp___21 = ldv__builtin_expect((unsigned long )the_lnet.ln_network_tokens == (unsigned long )((char *)0), 0L); if (tmp___21 != 0L) { tmp___20 = cfs_cdebug_show(131072U, 1024U); if (tmp___20 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___1.msg_fn = "lnet_shutdown_lndnis"; msgdata___1.msg_line = 953; msgdata___1.msg_cdls = & cdls; msgdata___1.msg_mask = 131072; libcfs_debug_msg(& msgdata___1, "LIBCFS: free NULL \'the_lnet.ln_network_tokens\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c", 953); } else { } goto ldv_51811; } else { } atomic_sub(s, & libcfs_kmemory); tmp___23 = cfs_cdebug_show(16U, 1024U); if (tmp___23 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___2.msg_fn = "lnet_shutdown_lndnis"; msgdata___2.msg_line = 953; msgdata___2.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___2.msg_mask = 16; tmp___22 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___2, "kfreed \'the_lnet.ln_network_tokens\': %d at %p (tot %d).\n", s, the_lnet.ln_network_tokens, tmp___22); } else { } tmp___24 = ldv__builtin_expect(s > 8192, 0L); if (tmp___24 != 0L) { vfree((void const *)the_lnet.ln_network_tokens); } else { kfree((void const *)the_lnet.ln_network_tokens); } ldv_51811: the_lnet.ln_network_tokens = (char *)0; } else { } return; } } static int lnet_startup_lndnis(void) { lnd_t *lnd ; struct lnet_ni *ni ; struct lnet_tx_queue *tq ; struct list_head nilist ; int i ; int rc ; int lnd_type ; int nicount ; char *nets ; char *tmp ; struct list_head const *__mptr ; __u32 tmp___0 ; __u32 tmp___1 ; struct libcfs_debug_msg_data __msg_data ; int tmp___2 ; long tmp___3 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp___4 ; int tmp___5 ; char *tmp___6 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___7 ; char *tmp___8 ; int tmp___9 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; char *tmp___10 ; int tmp___11 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___12 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___13 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___2 ; char *tmp___14 ; int tmp___15 ; int tmp___16 ; int tmp___17 ; int tmp___18 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___19 ; char *tmp___20 ; int tmp___21 ; int tmp___22 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___4 ; char *tmp___23 ; int tmp___24 ; struct list_head const *__mptr___0 ; int tmp___25 ; { rc = 0; nicount = 0; tmp = lnet_get_networks(); nets = tmp; INIT_LIST_HEAD(& nilist); if ((unsigned long )nets == (unsigned long )((char *)0)) { goto failed; } else { } rc = lnet_parse_networks(& nilist, nets); if (rc != 0) { goto failed; } else { } goto ldv_51838; ldv_51845: __mptr = (struct list_head const *)nilist.next; ni = (lnet_ni_t *)__mptr + 0xffffffffffffffb8UL; tmp___0 = LNET_NIDNET(ni->ni_nid); tmp___1 = LNET_NETTYP(tmp___0); lnd_type = (int )tmp___1; tmp___2 = libcfs_isknown_lnd(lnd_type); tmp___3 = ldv__builtin_expect(tmp___2 == 0, 0L); if (tmp___3 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_startup_lndnis"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 984; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"libcfs_isknown_lnd(lnd_type)"); lbug_with_loc(& __msg_data); } else { } if (((lnd_type == 6 || lnd_type == 7) || lnd_type == 8) || lnd_type == 11) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_startup_lndnis"; msgdata.msg_line = 991; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; tmp___4 = libcfs_lnd2str(lnd_type); libcfs_debug_msg(& msgdata, "LND %s obsoleted\n", tmp___4); } else { } goto failed; } else { } mutex_lock_nested(& the_lnet.ln_lnd_mutex, 0U); lnd = lnet_find_lnd_by_type(lnd_type); if ((unsigned long )lnd == (unsigned long )((lnd_t *)0)) { mutex_unlock(& the_lnet.ln_lnd_mutex); tmp___6 = libcfs_lnd2modname(lnd_type); rc = __request_module(1, "%s", tmp___6); mutex_lock_nested(& the_lnet.ln_lnd_mutex, 0U); lnd = lnet_find_lnd_by_type(lnd_type); if ((unsigned long )lnd == (unsigned long )((lnd_t *)0)) { mutex_unlock(& the_lnet.ln_lnd_mutex); tmp___9 = cfs_cdebug_show(131072U, 1024U); if (tmp___9 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___0.msg_fn = "lnet_startup_lndnis"; msgdata___0.msg_line = 1009; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___7 = libcfs_lnd2modname(lnd_type); tmp___8 = libcfs_lnd2str(lnd_type); libcfs_debug_msg(& msgdata___0, "Can\'t load LND %s, module %s, rc=%d\n", tmp___8, tmp___7, rc); } else { } goto failed; } else { } } else { } lnet_net_lock(-1); lnd->lnd_refcount = lnd->lnd_refcount + 1; lnet_net_unlock(-1); ni->ni_lnd = lnd; rc = (*(lnd->lnd_startup))(ni); mutex_unlock(& the_lnet.ln_lnd_mutex); if (rc != 0) { tmp___11 = cfs_cdebug_show(33685504U, 1024U); if (tmp___11 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___1.msg_fn = "lnet_startup_lndnis"; msgdata___1.msg_line = 1026; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 33685504; tmp___10 = libcfs_lnd2str((int )lnd->lnd_type); libcfs_debug_msg(& msgdata___1, "%x-%x: Error %d starting up LNI %s\n", 261, 4, rc, tmp___10); } else { } lnet_net_lock(-1); lnd->lnd_refcount = lnd->lnd_refcount - 1; lnet_net_unlock(-1); goto failed; } else { } tmp___12 = ldv__builtin_expect((long )(ni->ni_peertimeout > 0 && (unsigned long )lnd->lnd_query == (unsigned long )((void (*)(struct lnet_ni * , lnet_nid_t , unsigned long * ))0)), 0L); if (tmp___12 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "lnet_startup_lndnis"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1033; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"ni->ni_peertimeout <= 0 || lnd->lnd_query != ((void *)0)"); lbug_with_loc(& __msg_data___0); } else { } list_del(& ni->ni_list); lnet_net_lock(-1); lnet_ni_addref_locked(ni, 0); list_add_tail(& ni->ni_list, & the_lnet.ln_nis); if ((unsigned long )ni->ni_cpts != (unsigned long )((__u32 *)0U)) { list_add_tail(& ni->ni_cptlist, & the_lnet.ln_nis_cpt); lnet_ni_addref_locked(ni, 0); } else { } lnet_net_unlock(-1); if (lnd->lnd_type == 9U) { lnet_ni_addref(ni); tmp___13 = ldv__builtin_expect((unsigned long )the_lnet.ln_loni != (unsigned long )((lnet_ni_t *)0), 0L); if (tmp___13 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___1.msg_fn = "lnet_startup_lndnis"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 1051; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_loni == ((void *)0)"); lbug_with_loc(& __msg_data___1); } else { } the_lnet.ln_loni = ni; goto ldv_51838; } else { } if (ni->ni_peertxcredits == 0 || ni->ni_maxtxcredits == 0) { tmp___15 = cfs_cdebug_show(33685504U, 1024U); if (tmp___15 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___2.msg_fn = "lnet_startup_lndnis"; msgdata___2.msg_line = 1061; msgdata___2.msg_cdls = & cdls___2; msgdata___2.msg_mask = 33685504; tmp___14 = libcfs_lnd2str((int )lnd->lnd_type); libcfs_debug_msg(& msgdata___2, "%x-%x: LNI %s has no %scredits\n", 263, 6, tmp___14, ni->ni_peertxcredits == 0 ? (char *)"" : (char *)"per-peer "); } else { } goto failed; } else { } i = 0; goto ldv_51842; ldv_51841: tmp___17 = lnet_ni_tq_credits(ni); tq->tq_credits = tmp___17; tmp___16 = tmp___17; tq->tq_credits_max = tmp___16; tq->tq_credits_min = tmp___16; i = i + 1; ldv_51842: tmp___18 = cfs_percpt_number((void *)ni->ni_tx_queues); if (tmp___18 > i) { tq = *(ni->ni_tx_queues + (unsigned long )i); if ((unsigned long )tq != (unsigned long )((struct lnet_tx_queue *)0)) { goto ldv_51841; } else { goto ldv_51843; } } else { } ldv_51843: tmp___21 = cfs_cdebug_show(33554432U, 1024U); if (tmp___21 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___3.msg_fn = "lnet_startup_lndnis"; msgdata___3.msg_line = 1074; msgdata___3.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___3.msg_mask = 33554432; tmp___19 = lnet_ni_tq_credits(ni); tmp___20 = libcfs_nid2str(ni->ni_nid); libcfs_debug_msg(& msgdata___3, "Added LNI %s [%d/%d/%d/%d]\n", tmp___20, ni->ni_peertxcredits, (unsigned int )tmp___19 * the_lnet.ln_cpt_number, ni->ni_peerrtrcredits, ni->ni_peertimeout); } else { } nicount = nicount + 1; ldv_51838: tmp___22 = list_empty((struct list_head const *)(& nilist)); if (tmp___22 == 0) { goto ldv_51845; } else { } if ((unsigned long )the_lnet.ln_eq_waitni != (unsigned long )((lnet_ni_t *)0) && nicount > 1) { lnd_type = (int )((the_lnet.ln_eq_waitni)->ni_lnd)->lnd_type; tmp___24 = cfs_cdebug_show(33685504U, 1024U); if (tmp___24 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___4.msg_fn = "lnet_startup_lndnis"; msgdata___4.msg_line = 1082; msgdata___4.msg_cdls = & cdls___3; msgdata___4.msg_mask = 33685504; tmp___23 = libcfs_lnd2str(lnd_type); libcfs_debug_msg(& msgdata___4, "%x-%x: LND %s can only run single-network\n", 265, 8, tmp___23); } else { } goto failed; } else { } return (0); failed: lnet_shutdown_lndnis(); goto ldv_51852; ldv_51851: __mptr___0 = (struct list_head const *)nilist.next; ni = (lnet_ni_t *)__mptr___0 + 0xffffffffffffffb8UL; list_del(& ni->ni_list); lnet_ni_free(ni); ldv_51852: tmp___25 = list_empty((struct list_head const *)(& nilist)); if (tmp___25 == 0) { goto ldv_51851; } else { } return (-100); } } int lnet_init(void) { int rc ; struct libcfs_debug_msg_data __msg_data ; long tmp ; int tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___2 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___3 ; int __max1 ; int __max2 ; unsigned long tmp___4 ; int tmp___5 ; { lnet_assert_wire_constants(); tmp = ldv__builtin_expect(the_lnet.ln_init != 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_init"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1116; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } memset((void *)(& the_lnet), 0, 976UL); the_lnet.ln_cpt_table = cfs_cpt_table; tmp___0 = cfs_cpt_number(cfs_cpt_table); the_lnet.ln_cpt_number = (unsigned int )tmp___0; tmp___1 = ldv__builtin_expect(the_lnet.ln_cpt_number == 0U, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "lnet_init"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1124; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_cpt_number > 0"); lbug_with_loc(& __msg_data___0); } else { } if (the_lnet.ln_cpt_number > 256U) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_init"; msgdata.msg_line = 1128; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Can\'t have %d CPTs for LNet (max allowed is %d), please change setting of CPT-table and retry\n", the_lnet.ln_cpt_number, 256); } else { } return (-1); } else { } goto ldv_51864; ldv_51863: the_lnet.ln_cpt_bits = the_lnet.ln_cpt_bits + 1U; ldv_51864: ; if ((unsigned int )(1 << (int )the_lnet.ln_cpt_bits) < the_lnet.ln_cpt_number) { goto ldv_51863; } else { } rc = lnet_create_locks(); if (rc != 0) { tmp___3 = cfs_cdebug_show(131072U, 1024U); if (tmp___3 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___0.msg_fn = "lnet_init"; msgdata___0.msg_line = 1137; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "Can\'t create LNet global locks: %d\n", rc); } else { } return (-1); } else { } the_lnet.ln_refcount = 0; the_lnet.ln_init = 1; LNetInvalidateHandle(& the_lnet.ln_rc_eqh); INIT_LIST_HEAD(& the_lnet.ln_lnds); INIT_LIST_HEAD(& the_lnet.ln_rcd_zombie); INIT_LIST_HEAD(& the_lnet.ln_rcd_deathrow); if (rnet_htable_size <= 0) { rnet_htable_size = 128; } else if ((unsigned int )rnet_htable_size > 65536U) { rnet_htable_size = 65536; } else { } __max1 = 1; tmp___4 = __roundup_pow_of_two((unsigned long )rnet_htable_size); tmp___5 = __ilog2_u64((u64 )tmp___4); __max2 = tmp___5 + -1; the_lnet.ln_remote_nets_hbits = (unsigned int )(__max1 > __max2 ? __max1 : __max2); lnet_register_lnd(& the_lolnd); return (0); } } static char const __kstrtab_lnet_init[10U] = { 'l', 'n', 'e', 't', '_', 'i', 'n', 'i', 't', '\000'}; struct kernel_symbol const __ksymtab_lnet_init ; struct kernel_symbol const __ksymtab_lnet_init = {(unsigned long )(& lnet_init), (char const *)(& __kstrtab_lnet_init)}; void lnet_fini(void) { struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct list_head const *__mptr ; int tmp___1 ; { tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_fini"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1178; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount != 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "lnet_fini"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1179; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount == 0"); lbug_with_loc(& __msg_data___0); } else { } goto ldv_51886; ldv_51885: __mptr = (struct list_head const *)the_lnet.ln_lnds.next; lnet_unregister_lnd((lnd_t *)__mptr); ldv_51886: tmp___1 = list_empty((struct list_head const *)(& the_lnet.ln_lnds)); if (tmp___1 == 0) { goto ldv_51885; } else { } lnet_destroy_locks(); the_lnet.ln_init = 0; return; } } static char const __kstrtab_lnet_fini[10U] = { 'l', 'n', 'e', 't', '_', 'f', 'i', 'n', 'i', '\000'}; struct kernel_symbol const __ksymtab_lnet_fini ; struct kernel_symbol const __ksymtab_lnet_fini = {(unsigned long )(& lnet_fini), (char const *)(& __kstrtab_lnet_fini)}; int LNetNIInit(lnet_pid_t requested_pid ) { int im_a_router ; int rc ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; int tmp___1 ; char *tmp___2 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___3 ; { im_a_router = 0; mutex_lock_nested(& the_lnet.ln_api_mutex, 0U); tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "LNetNIInit"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1214; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = cfs_cdebug_show(4096U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "LNetNIInit"; msgdata.msg_line = 1215; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 4096; libcfs_debug_msg(& msgdata, "refs %d\n", the_lnet.ln_refcount); } else { } if (the_lnet.ln_refcount > 0) { tmp___1 = the_lnet.ln_refcount; the_lnet.ln_refcount = the_lnet.ln_refcount + 1; rc = tmp___1; goto out; } else { } if (requested_pid == 4294967295U) { rc = -100; goto failed0; } else { } rc = lnet_prepare(requested_pid); if (rc != 0) { goto failed0; } else { } rc = lnet_startup_lndnis(); if (rc != 0) { goto failed1; } else { } tmp___2 = lnet_get_routes(); rc = lnet_parse_routes(tmp___2, & im_a_router); if (rc != 0) { goto failed2; } else { } rc = lnet_check_routes(); if (rc != 0) { goto failed2; } else { } rc = lnet_rtrpools_alloc(im_a_router); if (rc != 0) { goto failed2; } else { } rc = lnet_acceptor_start(); if (rc != 0) { goto failed2; } else { } the_lnet.ln_refcount = 1; rc = lnet_ping_target_init(); if (rc != 0) { goto failed3; } else { } rc = lnet_router_checker_start(); if (rc != 0) { goto failed4; } else { } lnet_proc_init(); goto out; failed4: lnet_ping_target_fini(); failed3: the_lnet.ln_refcount = 0; lnet_acceptor_stop(); failed2: lnet_destroy_routes(); lnet_shutdown_lndnis(); failed1: lnet_unprepare(); failed0: tmp___3 = ldv__builtin_expect(rc >= 0, 0L); if (tmp___3 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "LNetNIInit"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1279; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"rc < 0"); lbug_with_loc(& __msg_data___0); } else { } out: mutex_unlock(& the_lnet.ln_api_mutex); return (rc); } } static char const __kstrtab_LNetNIInit[11U] = { 'L', 'N', 'e', 't', 'N', 'I', 'I', 'n', 'i', 't', '\000'}; struct kernel_symbol const __ksymtab_LNetNIInit ; struct kernel_symbol const __ksymtab_LNetNIInit = {(unsigned long )(& LNetNIInit), (char const *)(& __kstrtab_LNetNIInit)}; int LNetNIFini(void) { struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; { mutex_lock_nested(& the_lnet.ln_api_mutex, 0U); tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "LNetNIFini"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1300; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "LNetNIFini"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1301; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } if (the_lnet.ln_refcount != 1) { the_lnet.ln_refcount = the_lnet.ln_refcount - 1; } else { tmp___1 = ldv__builtin_expect(the_lnet.ln_niinit_self != 0, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___1.msg_fn = "LNetNIFini"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 1306; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"!the_lnet.ln_niinit_self"); lbug_with_loc(& __msg_data___1); } else { } lnet_proc_fini(); lnet_router_checker_stop(); lnet_ping_target_fini(); the_lnet.ln_refcount = 0; lnet_acceptor_stop(); lnet_destroy_routes(); lnet_shutdown_lndnis(); lnet_unprepare(); } mutex_unlock(& the_lnet.ln_api_mutex); return (0); } } static char const __kstrtab_LNetNIFini[11U] = { 'L', 'N', 'e', 't', 'N', 'I', 'F', 'i', 'n', 'i', '\000'}; struct kernel_symbol const __ksymtab_LNetNIFini ; struct kernel_symbol const __ksymtab_LNetNIFini = {(unsigned long )(& LNetNIFini), (char const *)(& __kstrtab_LNetNIFini)}; int LNetCtl(unsigned int cmd , void *arg ) { struct libcfs_ioctl_data *data ; lnet_process_id_t id ; lnet_ni_t *ni ; int rc ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; int tmp___1 ; int tmp___2 ; int tmp___3 ; int tmp___4 ; int tmp___5 ; unsigned long tmp___6 ; unsigned long tmp___7 ; long tmp___8 ; int tmp___9 ; __u32 tmp___10 ; struct libcfs_debug_msg_data msgdata ; char *tmp___11 ; int tmp___12 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___13 ; int tmp___14 ; { data = (struct libcfs_ioctl_data *)arg; id.nid = 0ULL; id.pid = 0U; tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "LNetCtl"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1347; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "LNetCtl"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1348; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } switch (cmd) { case 3221775666U: rc = LNetGetId(data->ioc_count, & id); data->ioc_nid = id.nid; return (rc); case 3221775667U: tmp___1 = lnet_fail_nid(data->ioc_nid, data->ioc_count); return (tmp___1); case 3221775668U: rc = lnet_add_route(data->ioc_net, data->ioc_count, data->ioc_nid, data->ioc_u32[0]); if (rc == 0) { tmp___2 = lnet_check_routes(); tmp___3 = tmp___2; } else { tmp___3 = rc; } return (tmp___3); case 3221775669U: tmp___4 = lnet_del_route(data->ioc_net, data->ioc_nid); return (tmp___4); case 3221775670U: tmp___5 = lnet_get_route((int )data->ioc_count, & data->ioc_net, & data->ioc_count, & data->ioc_nid, & data->ioc_flags, (__u32 *)(& data->ioc_u32)); return (tmp___5); case 3221775671U: tmp___6 = cfs_time_current(); tmp___7 = get_seconds(); tmp___8 = cfs_time_seconds((int )((unsigned int )tmp___7 - (unsigned int )data->ioc_u64[0])); tmp___9 = lnet_notify((lnet_ni_t *)0, data->ioc_nid, (int )data->ioc_flags, tmp___6 - (unsigned long )tmp___8); return (tmp___9); case 3221775673U: ; return (0); case 3221775674U: rc = LNetDist(data->ioc_nid, & data->ioc_nid, (__u32 *)(& data->ioc_u32) + 1UL); if (rc < 0 && rc != -113) { return (rc); } else { } data->ioc_u32[0] = (__u32 )rc; return (0); case 3221775676U: lnet_net_lock(-1); the_lnet.ln_testprotocompat = (int )data->ioc_flags; lnet_net_unlock(-1); return (0); case 3221775677U: id.nid = data->ioc_nid; id.pid = data->ioc_u32[0]; rc = lnet_ping(id, (int )data->ioc_u32[1], (lnet_process_id_t *)data->ioc_pbuf1, (int )(data->ioc_plen1 / 16U)); if (rc < 0) { return (rc); } else { } data->ioc_count = (__u32 )rc; return (0); case 3221775678U: id = *((lnet_process_id_t *)arg); lnet_debug_peer(id.nid); tmp___10 = LNET_NIDNET(id.nid); ni = lnet_net2ni(tmp___10); if ((unsigned long )ni == (unsigned long )((lnet_ni_t *)0)) { tmp___12 = cfs_cdebug_show(1024U, 1024U); if (tmp___12 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "LNetCtl"; msgdata.msg_line = 1416; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 1024; tmp___11 = libcfs_id2str(id); libcfs_debug_msg(& msgdata, "No NI for %s\n", tmp___11); } else { } } else { if ((unsigned long )(ni->ni_lnd)->lnd_ctl == (unsigned long )((int (*)(struct lnet_ni * , unsigned int , void * ))0)) { tmp___14 = cfs_cdebug_show(1024U, 1024U); if (tmp___14 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___0.msg_fn = "LNetCtl"; msgdata___0.msg_line = 1420; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 1024; tmp___13 = libcfs_id2str(id); libcfs_debug_msg(& msgdata___0, "No ctl for %s\n", tmp___13); } else { } } else { (*((ni->ni_lnd)->lnd_ctl))(ni, cmd, arg); } lnet_ni_decref(ni); } return (0); default: ni = lnet_net2ni(data->ioc_net); if ((unsigned long )ni == (unsigned long )((lnet_ni_t *)0)) { return (-22); } else { } if ((unsigned long )(ni->ni_lnd)->lnd_ctl == (unsigned long )((int (*)(struct lnet_ni * , unsigned int , void * ))0)) { rc = -22; } else { rc = (*((ni->ni_lnd)->lnd_ctl))(ni, cmd, arg); } lnet_ni_decref(ni); return (rc); } } } static char const __kstrtab_LNetCtl[8U] = { 'L', 'N', 'e', 't', 'C', 't', 'l', '\000'}; struct kernel_symbol const __ksymtab_LNetCtl ; struct kernel_symbol const __ksymtab_LNetCtl = {(unsigned long )(& LNetCtl), (char const *)(& __kstrtab_LNetCtl)}; int LNetGetId(unsigned int index , lnet_process_id_t *id ) { struct lnet_ni *ni ; struct list_head *tmp ; int cpt ; int rc ; struct libcfs_debug_msg_data __msg_data ; long tmp___0 ; unsigned int tmp___1 ; struct list_head const *__mptr ; { rc = -2; tmp___0 = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "LNetGetId"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1466; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } if (the_lnet.ln_refcount == 0) { return (rc); } else { } cpt = lnet_net_lock_current(); tmp = the_lnet.ln_nis.next; goto ldv_51977; ldv_51976: tmp___1 = index; index = index - 1U; if (tmp___1 != 0U) { goto ldv_51972; } else { } __mptr = (struct list_head const *)tmp; ni = (lnet_ni_t *)__mptr + 0xffffffffffffffb8UL; id->nid = ni->ni_nid; id->pid = the_lnet.ln_pid; rc = 0; goto ldv_51975; ldv_51972: tmp = tmp->next; ldv_51977: ; if ((unsigned long )tmp != (unsigned long )(& the_lnet.ln_nis)) { goto ldv_51976; } else { } ldv_51975: lnet_net_unlock(cpt); return (rc); } } static char const __kstrtab_LNetGetId[10U] = { 'L', 'N', 'e', 't', 'G', 'e', 't', 'I', 'd', '\000'}; struct kernel_symbol const __ksymtab_LNetGetId ; struct kernel_symbol const __ksymtab_LNetGetId = {(unsigned long )(& LNetGetId), (char const *)(& __kstrtab_LNetGetId)}; void LNetSnprintHandle(char *str , int len , lnet_handle_any_t h ) { { snprintf(str, (size_t )len, "%#llx", h.cookie); return; } } static char const __kstrtab_LNetSnprintHandle[18U] = { 'L', 'N', 'e', 't', 'S', 'n', 'p', 'r', 'i', 'n', 't', 'H', 'a', 'n', 'd', 'l', 'e', '\000'}; struct kernel_symbol const __ksymtab_LNetSnprintHandle ; struct kernel_symbol const __ksymtab_LNetSnprintHandle = {(unsigned long )(& LNetSnprintHandle), (char const *)(& __kstrtab_LNetSnprintHandle)}; static int lnet_create_ping_info(void) { int i ; int n ; int rc ; unsigned int infosz ; lnet_ni_t *ni ; lnet_process_id_t id ; lnet_ping_info_t *pinfo ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___0 ; long tmp___1 ; void *tmp___2 ; void *tmp___3 ; void *tmp___4 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___5 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___6 ; int tmp___7 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___8 ; int tmp___9 ; long tmp___10 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___11 ; lnet_ni_status_t *ns ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___12 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___13 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___14 ; { n = 0; ldv_52013: rc = LNetGetId((unsigned int )n, & id); if (rc == -2) { goto ldv_52010; } else { } tmp = ldv__builtin_expect(rc != 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_create_ping_info"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1518; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"rc == 0"); lbug_with_loc(& __msg_data); } else { } n = n + 1; goto ldv_52013; ldv_52010: infosz = (unsigned int )((unsigned long )n + 1UL) * 16U; tmp___0 = preempt_count(); tmp___1 = ldv__builtin_expect((long )(((unsigned long )tmp___0 & 2096896UL) != 0UL && 1), 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "lnet_create_ping_info"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1522; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((infosz)) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data___0); } else { } if (infosz <= 8192U) { tmp___2 = kmalloc((size_t )infosz, 80U); tmp___4 = tmp___2; } else { tmp___3 = vmalloc((unsigned long )infosz); tmp___4 = tmp___3; } pinfo = (lnet_ping_info_t *)tmp___4; tmp___10 = ldv__builtin_expect((unsigned long )pinfo == (unsigned long )((lnet_ping_info_t *)0), 0L); if (tmp___10 != 0L) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_create_ping_info"; msgdata.msg_line = 1522; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LNET: out of memory at %s:%d (tried to alloc \'(pinfo)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c", 1522, (int )infosz); } else { } tmp___7 = cfs_cdebug_show(131072U, 1024U); if (tmp___7 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___0.msg_fn = "lnet_create_ping_info"; msgdata___0.msg_line = 1522; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___6 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "LNET: %d total bytes allocated by lnet\n", tmp___6); } else { } } else { memset((void *)pinfo, 0, (size_t )infosz); atomic_add((int )infosz, & libcfs_kmemory); tmp___9 = cfs_cdebug_show(16U, 1024U); if (tmp___9 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___1.msg_fn = "lnet_create_ping_info"; msgdata___1.msg_line = 1522; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___8 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "alloc \'(pinfo)\': %d at %p (tot %d).\n", (int )infosz, pinfo, tmp___8); } else { } } if ((unsigned long )pinfo == (unsigned long )((lnet_ping_info_t *)0)) { tmp___11 = cfs_cdebug_show(131072U, 1024U); if (tmp___11 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___2.msg_fn = "lnet_create_ping_info"; msgdata___2.msg_line = 1524; msgdata___2.msg_cdls = & cdls___1; msgdata___2.msg_mask = 131072; libcfs_debug_msg(& msgdata___2, "Can\'t allocate ping info[%d]\n", n); } else { } return (-12); } else { } pinfo->pi_nnis = (__u32 )n; pinfo->pi_pid = the_lnet.ln_pid; pinfo->pi_magic = 1885957735U; pinfo->pi_features = 2U; i = 0; goto ldv_52027; ldv_52026: ns = (lnet_ni_status_t *)(& pinfo->pi_ni) + (unsigned long )i; rc = LNetGetId((unsigned int )i, & id); tmp___12 = ldv__builtin_expect(rc != 0, 0L); if (tmp___12 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___1.msg_fn = "lnet_create_ping_info"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 1537; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"rc == 0"); lbug_with_loc(& __msg_data___1); } else { } ns->ns_nid = id.nid; ns->ns_status = 363512030U; lnet_net_lock(0); ni = lnet_nid2ni_locked(id.nid, 0); tmp___13 = ldv__builtin_expect((unsigned long )ni == (unsigned long )((lnet_ni_t *)0), 0L); if (tmp___13 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___2.msg_fn = "lnet_create_ping_info"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 1545; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"ni != ((void *)0)"); lbug_with_loc(& __msg_data___2); } else { } spin_lock(& ni->ni_lock); tmp___14 = ldv__builtin_expect((unsigned long )ni->ni_status != (unsigned long )((lnet_ni_status_t *)0), 0L); if (tmp___14 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___3.msg_fn = "lnet_create_ping_info"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 1548; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"ni->ni_status == ((void *)0)"); lbug_with_loc(& __msg_data___3); } else { } ni->ni_status = ns; spin_unlock(& ni->ni_lock); lnet_ni_decref_locked(ni, 0); lnet_net_unlock(0); i = i + 1; ldv_52027: ; if (i < n) { goto ldv_52026; } else { } the_lnet.ln_ping_info = pinfo; return (0); } } static void lnet_destroy_ping_info(void) { struct lnet_ni *ni ; struct list_head const *__mptr ; struct list_head const *__mptr___0 ; int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; int tmp___2 ; long tmp___3 ; { lnet_net_lock(0); __mptr = (struct list_head const *)the_lnet.ln_nis.next; ni = (struct lnet_ni *)__mptr + 0xffffffffffffffb8UL; goto ldv_52038; ldv_52037: spin_lock(& ni->ni_lock); ni->ni_status = (lnet_ni_status_t *)0; spin_unlock(& ni->ni_lock); __mptr___0 = (struct list_head const *)ni->ni_list.next; ni = (struct lnet_ni *)__mptr___0 + 0xffffffffffffffb8UL; ldv_52038: ; if ((unsigned long )(& ni->ni_list) != (unsigned long )(& the_lnet.ln_nis)) { goto ldv_52037; } else { } lnet_net_unlock(0); s = (int )((unsigned int )((unsigned long )(the_lnet.ln_ping_info)->pi_nnis + 1UL) * 16U); tmp___0 = ldv__builtin_expect((unsigned long )the_lnet.ln_ping_info == (unsigned long )((lnet_ping_info_t *)0), 0L); if (tmp___0 != 0L) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_destroy_ping_info"; msgdata.msg_line = 1577; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'the_lnet.ln_ping_info\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c", 1577); } else { } goto ldv_52044; } else { } atomic_sub(s, & libcfs_kmemory); tmp___2 = cfs_cdebug_show(16U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___0.msg_fn = "lnet_destroy_ping_info"; msgdata___0.msg_line = 1577; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___1 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'the_lnet.ln_ping_info\': %d at %p (tot %d).\n", s, the_lnet.ln_ping_info, tmp___1); } else { } tmp___3 = ldv__builtin_expect(s > 8192, 0L); if (tmp___3 != 0L) { vfree((void const *)the_lnet.ln_ping_info); } else { kfree((void const *)the_lnet.ln_ping_info); } ldv_52044: the_lnet.ln_ping_info = (lnet_ping_info_t *)0; return; } } int lnet_ping_target_init(void) { lnet_md_t md ; lnet_handle_me_t meh ; lnet_process_id_t id ; int rc ; int rc2 ; int infosz ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___0 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___1 ; struct libcfs_debug_msg_data __msg_data ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___3 ; { md.start = (void *)0; md.length = 0U; md.threshold = 0; md.max_size = 0; md.options = 0U; md.user_ptr = 0; md.eq_handle.cookie = 0ULL; rc = lnet_create_ping_info(); if (rc != 0) { return (rc); } else { } rc = LNetEQAlloc(2U, (void (*)(lnet_event_t * ))0, & the_lnet.ln_ping_target_eq); if (rc != 0) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_ping_target_init"; msgdata.msg_line = 1599; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Can\'t allocate ping EQ: %d\n", rc); } else { } goto failed_0; } else { } memset((void *)(& id), 0, 16UL); id.nid = 0xffffffffffffffffULL; id.pid = 4294967295U; rc = LNetMEAttach(0U, id, 0x8000000000000000ULL, 0ULL, 1, 1, & meh); if (rc != 0) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___0.msg_fn = "lnet_ping_target_init"; msgdata___0.msg_line = 1612; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "Can\'t create ping ME: %d\n", rc); } else { } goto failed_1; } else { } infosz = (int )((unsigned int )((unsigned long )(the_lnet.ln_ping_info)->pi_nnis + 1UL) * 16U); md.start = (void *)the_lnet.ln_ping_info; md.length = (unsigned int )infosz; md.threshold = -1; md.max_size = 0; md.options = 22U; md.user_ptr = (void *)0; md.eq_handle = the_lnet.ln_ping_target_eq; rc = LNetMDAttach(meh, md, 0, & the_lnet.ln_ping_target_md); if (rc != 0) { tmp___1 = cfs_cdebug_show(131072U, 1024U); if (tmp___1 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___1.msg_fn = "lnet_ping_target_init"; msgdata___1.msg_line = 1632; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 131072; libcfs_debug_msg(& msgdata___1, "Can\'t attach ping MD: %d\n", rc); } else { } goto failed_2; } else { } return (0); failed_2: rc2 = LNetMEUnlink(meh); tmp___2 = ldv__builtin_expect(rc2 != 0, 0L); if (tmp___2 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_ping_target_init"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1640; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"rc2 == 0"); lbug_with_loc(& __msg_data); } else { } failed_1: rc2 = LNetEQFree(the_lnet.ln_ping_target_eq); tmp___3 = ldv__builtin_expect(rc2 != 0, 0L); if (tmp___3 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "lnet_ping_target_init"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1643; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"rc2 == 0"); lbug_with_loc(& __msg_data___0); } else { } failed_0: lnet_destroy_ping_info(); return (rc); } } void lnet_ping_target_fini(void) { lnet_event_t event ; int rc ; int which ; int timeout_ms ; sigset_t blocked ; sigset_t tmp ; struct libcfs_debug_msg_data __msg_data ; long tmp___0 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___1 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___2 ; { timeout_ms = 1000; tmp = cfs_block_allsigs(); blocked = tmp; LNetMDUnlink(the_lnet.ln_ping_target_md); ldv_52081: rc = LNetEQPoll(& the_lnet.ln_ping_target_eq, 1, timeout_ms, & event, & which); tmp___0 = ldv__builtin_expect((long )(rc < 0 && rc != -75), 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_ping_target_fini"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1666; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"rc >= 0 || rc == -75"); lbug_with_loc(& __msg_data); } else { } if (rc == 0) { tmp___1 = cfs_cdebug_show(1024U, 1024U); if (tmp___1 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_ping_target_fini"; msgdata.msg_line = 1670; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 1024; libcfs_debug_msg(& msgdata, "Still waiting for ping MD to unlink\n"); } else { } timeout_ms = timeout_ms * 2; goto ldv_52079; } else { } if (event.unlinked != 0) { goto ldv_52080; } else { } ldv_52079: ; goto ldv_52081; ldv_52080: rc = LNetEQFree(the_lnet.ln_ping_target_eq); tmp___2 = ldv__builtin_expect(rc != 0, 0L); if (tmp___2 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "lnet_ping_target_fini"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1681; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"rc == 0"); lbug_with_loc(& __msg_data___0); } else { } lnet_destroy_ping_info(); cfs_restore_sigs(blocked); return; } } int lnet_ping(lnet_process_id_t id , int timeout_ms , lnet_process_id_t *ids , int n_ids ) { lnet_handle_eq_t eqh ; lnet_handle_md_t mdh ; lnet_event_t event ; lnet_md_t md ; int which ; int unlinked ; int replied ; int a_long_time ; int infosz ; lnet_ping_info_t *info ; lnet_process_id_t tmpid ; int i ; int nob ; int rc ; int rc2 ; sigset_t blocked ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; void *tmp___1 ; void *tmp___2 ; void *tmp___3 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___4 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___5 ; int tmp___6 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___7 ; int tmp___8 ; long tmp___9 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___10 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___11 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___12 ; struct libcfs_debug_msg_data msgdata___4 ; int tmp___13 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___14 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___5 ; char *tmp___15 ; int tmp___16 ; struct cfs_debug_limit_state cdls___4 ; struct libcfs_debug_msg_data msgdata___6 ; char *tmp___17 ; int tmp___18 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___19 ; struct cfs_debug_limit_state cdls___5 ; struct libcfs_debug_msg_data msgdata___7 ; char *tmp___20 ; int tmp___21 ; struct cfs_debug_limit_state cdls___6 ; struct libcfs_debug_msg_data msgdata___8 ; char *tmp___22 ; int tmp___23 ; struct cfs_debug_limit_state cdls___7 ; struct libcfs_debug_msg_data msgdata___9 ; char *tmp___24 ; int tmp___25 ; struct cfs_debug_limit_state cdls___8 ; struct libcfs_debug_msg_data msgdata___10 ; char *tmp___26 ; int tmp___27 ; struct cfs_debug_limit_state cdls___9 ; struct libcfs_debug_msg_data msgdata___11 ; char *tmp___28 ; int tmp___29 ; unsigned long tmp___30 ; struct cfs_debug_limit_state cdls___10 ; struct libcfs_debug_msg_data msgdata___12 ; int tmp___31 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___32 ; int s ; struct cfs_debug_limit_state cdls___11 ; struct libcfs_debug_msg_data msgdata___13 ; int tmp___33 ; long tmp___34 ; struct libcfs_debug_msg_data msgdata___14 ; int tmp___35 ; int tmp___36 ; long tmp___37 ; { md.start = (void *)0; md.length = 0U; md.threshold = 0; md.max_size = 0; md.options = 0U; md.user_ptr = 0; md.eq_handle.cookie = 0ULL; unlinked = 0; replied = 0; a_long_time = 60000; infosz = (int )((unsigned int )((unsigned long )n_ids + 1UL) * 16U); if (((n_ids <= 0 || id.nid == 0xffffffffffffffffULL) || timeout_ms > 500000) || n_ids > 20) { return (-22); } else { } if (id.pid == 4294967295U) { id.pid = 12345U; } else { } tmp = preempt_count(); tmp___0 = ldv__builtin_expect((long )(((unsigned long )tmp & 2096896UL) != 0UL && 1), 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data.msg_fn = "lnet_ping"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1715; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((infosz)) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } if (infosz <= 8192) { tmp___1 = kmalloc((size_t )infosz, 80U); tmp___3 = tmp___1; } else { tmp___2 = vmalloc((unsigned long )infosz); tmp___3 = tmp___2; } info = (lnet_ping_info_t *)tmp___3; tmp___9 = ldv__builtin_expect((unsigned long )info == (unsigned long )((lnet_ping_info_t *)0), 0L); if (tmp___9 != 0L) { tmp___4 = cfs_cdebug_show(131072U, 1024U); if (tmp___4 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata.msg_fn = "lnet_ping"; msgdata.msg_line = 1715; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LNET: out of memory at %s:%d (tried to alloc \'(info)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c", 1715, infosz); } else { } tmp___6 = cfs_cdebug_show(131072U, 1024U); if (tmp___6 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___0.msg_fn = "lnet_ping"; msgdata___0.msg_line = 1715; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___5 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "LNET: %d total bytes allocated by lnet\n", tmp___5); } else { } } else { memset((void *)info, 0, (size_t )infosz); atomic_add(infosz, & libcfs_kmemory); tmp___8 = cfs_cdebug_show(16U, 1024U); if (tmp___8 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___1.msg_fn = "lnet_ping"; msgdata___1.msg_line = 1715; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___7 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "alloc \'(info)\': %d at %p (tot %d).\n", infosz, info, tmp___7); } else { } } if ((unsigned long )info == (unsigned long )((lnet_ping_info_t *)0)) { return (-12); } else { } rc = LNetEQAlloc(2U, (void (*)(lnet_event_t * ))0, & eqh); if (rc != 0) { tmp___10 = cfs_cdebug_show(131072U, 1024U); if (tmp___10 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___2.msg_fn = "lnet_ping"; msgdata___2.msg_line = 1722; msgdata___2.msg_cdls = & cdls___1; msgdata___2.msg_mask = 131072; libcfs_debug_msg(& msgdata___2, "Can\'t allocate EQ: %d\n", rc); } else { } goto out_0; } else { } md.start = (void *)info; md.length = (unsigned int )infosz; md.threshold = 2; md.max_size = 0; md.options = 16U; md.user_ptr = (void *)0; md.eq_handle = eqh; rc = LNetMDBind(md, 1, & mdh); if (rc != 0) { tmp___11 = cfs_cdebug_show(131072U, 1024U); if (tmp___11 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___3.msg_fn = "lnet_ping"; msgdata___3.msg_line = 1737; msgdata___3.msg_cdls = & cdls___2; msgdata___3.msg_mask = 131072; libcfs_debug_msg(& msgdata___3, "Can\'t bind MD: %d\n", rc); } else { } goto out_1; } else { } rc = LNetGet(0xffffffffffffffffULL, mdh, id, 0U, 0x8000000000000000ULL, 0U); if (rc != 0) { rc2 = LNetMDUnlink(mdh); tmp___12 = ldv__builtin_expect(rc2 != 0, 0L); if (tmp___12 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___0.msg_fn = "lnet_ping"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1749; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"rc2 == 0"); lbug_with_loc(& __msg_data___0); } else { } unlinked = 1; timeout_ms = a_long_time; } else { } ldv_52123: ; if (unlinked != 0) { blocked = cfs_block_allsigs(); } else { } rc2 = LNetEQPoll(& eqh, 1, timeout_ms, & event, & which); if (unlinked != 0) { cfs_restore_sigs(blocked); } else { } tmp___13 = cfs_cdebug_show(512U, 1024U); if (tmp___13 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___4.msg_fn = "lnet_ping"; msgdata___4.msg_line = 1769; msgdata___4.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___4.msg_mask = 512; libcfs_debug_msg(& msgdata___4, "poll %d(%d %d)%s\n", rc2, rc2 > 0 ? (unsigned int )event.type : 4294967295U, rc2 > 0 ? event.status : -1, rc2 > 0 && event.unlinked != 0 ? (char *)" unlinked" : (char *)""); } else { } tmp___14 = ldv__builtin_expect(rc2 == -75, 0L); if (tmp___14 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___1.msg_fn = "lnet_ping"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 1771; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"rc2 != -75"); lbug_with_loc(& __msg_data___1); } else { } if (rc2 <= 0 || event.status != 0) { if (replied == 0 && rc == 0) { rc = rc2 >= 0 ? (rc2 != 0 ? event.status : -110) : rc2; } else { } if (unlinked == 0) { LNetMDUnlink(mdh); unlinked = 1; timeout_ms = a_long_time; } else if (rc2 == 0) { tmp___16 = cfs_cdebug_show(1024U, 1024U); if (tmp___16 != 0) { msgdata___5.msg_subsys = 1024; msgdata___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___5.msg_fn = "lnet_ping"; msgdata___5.msg_line = 1789; msgdata___5.msg_cdls = & cdls___3; msgdata___5.msg_mask = 1024; tmp___15 = libcfs_id2str(id); libcfs_debug_msg(& msgdata___5, "ping %s: late network completion\n", tmp___15); } else { } } else { } } else if ((unsigned int )event.type == 3U) { replied = 1; rc = (int )event.mlength; } else { } if (rc2 <= 0 || event.unlinked == 0) { goto ldv_52123; } else { } if (replied == 0) { if (rc >= 0) { tmp___18 = cfs_cdebug_show(1024U, 1024U); if (tmp___18 != 0) { msgdata___6.msg_subsys = 1024; msgdata___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___6.msg_fn = "lnet_ping"; msgdata___6.msg_line = 1801; msgdata___6.msg_cdls = & cdls___4; msgdata___6.msg_mask = 1024; tmp___17 = libcfs_id2str(id); libcfs_debug_msg(& msgdata___6, "%s: Unexpected rc >= 0 but no reply!\n", tmp___17); } else { } } else { } rc = -5; goto out_1; } else { } nob = rc; tmp___19 = ldv__builtin_expect((long )(nob < 0 || nob > infosz), 0L); if (tmp___19 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___2.msg_fn = "lnet_ping"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 1807; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"nob >= 0 && nob <= infosz"); lbug_with_loc(& __msg_data___2); } else { } rc = -71; if (nob <= 7) { tmp___21 = cfs_cdebug_show(131072U, 1024U); if (tmp___21 != 0) { msgdata___7.msg_subsys = 1024; msgdata___7.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___7.msg_fn = "lnet_ping"; msgdata___7.msg_line = 1814; msgdata___7.msg_cdls = & cdls___5; msgdata___7.msg_mask = 131072; tmp___20 = libcfs_id2str(id); libcfs_debug_msg(& msgdata___7, "%s: ping info too short %d\n", tmp___20, nob); } else { } goto out_1; } else { } if (info->pi_magic == 1735289200U) { lnet_swap_pinginfo(info); } else if (info->pi_magic != 1885957735U) { tmp___23 = cfs_cdebug_show(131072U, 1024U); if (tmp___23 != 0) { msgdata___8.msg_subsys = 1024; msgdata___8.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___8.msg_fn = "lnet_ping"; msgdata___8.msg_line = 1822; msgdata___8.msg_cdls = & cdls___6; msgdata___8.msg_mask = 131072; tmp___22 = libcfs_id2str(id); libcfs_debug_msg(& msgdata___8, "%s: Unexpected magic %08x\n", tmp___22, info->pi_magic); } else { } goto out_1; } else { } if ((info->pi_features & 2U) == 0U) { tmp___25 = cfs_cdebug_show(131072U, 1024U); if (tmp___25 != 0) { msgdata___9.msg_subsys = 1024; msgdata___9.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___9.msg_fn = "lnet_ping"; msgdata___9.msg_line = 1828; msgdata___9.msg_cdls = & cdls___7; msgdata___9.msg_mask = 131072; tmp___24 = libcfs_id2str(id); libcfs_debug_msg(& msgdata___9, "%s: ping w/o NI status: 0x%x\n", tmp___24, info->pi_features); } else { } goto out_1; } else { } if ((unsigned int )nob <= 15U) { tmp___27 = cfs_cdebug_show(131072U, 1024U); if (tmp___27 != 0) { msgdata___10.msg_subsys = 1024; msgdata___10.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___10.msg_fn = "lnet_ping"; msgdata___10.msg_line = 1834; msgdata___10.msg_cdls = & cdls___8; msgdata___10.msg_mask = 131072; tmp___26 = libcfs_id2str(id); libcfs_debug_msg(& msgdata___10, "%s: Short reply %d(%d min)\n", tmp___26, nob, 16); } else { } goto out_1; } else { } if (info->pi_nnis < (__u32 )n_ids) { n_ids = (int )info->pi_nnis; } else { } if ((unsigned long )nob < ((unsigned long )n_ids + 1UL) * 16UL) { tmp___29 = cfs_cdebug_show(131072U, 1024U); if (tmp___29 != 0) { msgdata___11.msg_subsys = 1024; msgdata___11.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___11.msg_fn = "lnet_ping"; msgdata___11.msg_line = 1843; msgdata___11.msg_cdls = & cdls___9; msgdata___11.msg_mask = 131072; tmp___28 = libcfs_id2str(id); libcfs_debug_msg(& msgdata___11, "%s: Short reply %d(%d expected)\n", tmp___28, nob, (int )((unsigned int )((unsigned long )n_ids + 1UL) * 16U)); } else { } goto out_1; } else { } rc = -14; memset((void *)(& tmpid), 0, 16UL); i = 0; goto ldv_52139; ldv_52138: tmpid.pid = info->pi_pid; tmpid.nid = info->pi_ni[i].ns_nid; tmp___30 = copy_to_user((void *)ids + (unsigned long )i, (void const *)(& tmpid), 16UL); if (tmp___30 != 0UL) { goto out_1; } else { } i = i + 1; ldv_52139: ; if (i < n_ids) { goto ldv_52138; } else { } rc = (int )info->pi_nnis; out_1: rc2 = LNetEQFree(eqh); if (rc2 != 0) { tmp___31 = cfs_cdebug_show(131072U, 1024U); if (tmp___31 != 0) { msgdata___12.msg_subsys = 1024; msgdata___12.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___12.msg_fn = "lnet_ping"; msgdata___12.msg_line = 1861; msgdata___12.msg_cdls = & cdls___10; msgdata___12.msg_mask = 131072; libcfs_debug_msg(& msgdata___12, "rc2 %d\n", rc2); } else { } } else { } tmp___32 = ldv__builtin_expect(rc2 != 0, 0L); if (tmp___32 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; __msg_data___3.msg_fn = "lnet_ping"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 1862; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"rc2 == 0"); lbug_with_loc(& __msg_data___3); } else { } out_0: s = infosz; tmp___34 = ldv__builtin_expect((unsigned long )info == (unsigned long )((lnet_ping_info_t *)0), 0L); if (tmp___34 != 0L) { tmp___33 = cfs_cdebug_show(131072U, 1024U); if (tmp___33 != 0) { msgdata___13.msg_subsys = 1024; msgdata___13.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___13.msg_fn = "lnet_ping"; msgdata___13.msg_line = 1865; msgdata___13.msg_cdls = & cdls___11; msgdata___13.msg_mask = 131072; libcfs_debug_msg(& msgdata___13, "LIBCFS: free NULL \'info\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c", 1865); } else { } goto ldv_52147; } else { } atomic_sub(s, & libcfs_kmemory); tmp___36 = cfs_cdebug_show(16U, 1024U); if (tmp___36 != 0) { msgdata___14.msg_subsys = 1024; msgdata___14.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/api-ni.c"; msgdata___14.msg_fn = "lnet_ping"; msgdata___14.msg_line = 1865; msgdata___14.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___14.msg_mask = 16; tmp___35 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___14, "kfreed \'info\': %d at %p (tot %d).\n", s, info, tmp___35); } else { } tmp___37 = ldv__builtin_expect(s > 8192, 0L); if (tmp___37 != 0L) { vfree((void const *)info); } else { kfree((void const *)info); } ldv_52147: ; return (rc); } } __inline static long ldv__builtin_expect(long exp , long c ) ; extern int sscanf(char const * , char const * , ...) ; __inline static void __list_splice(struct list_head const *list , struct list_head *prev , struct list_head *next ) { struct list_head *first ; struct list_head *last ; { first = list->next; last = list->prev; first->prev = prev; prev->next = first; last->next = next; next->prev = last; return; } } __inline static void list_splice(struct list_head const *list , struct list_head *head ) { int tmp ; { tmp = list_empty(list); if (tmp == 0) { __list_splice(list, head, head->next); } else { } return; } } extern void *memcpy(void * , void const * , size_t ) ; extern size_t strlen(char const * ) ; extern char *strcpy(char * , char const * ) ; extern int strcmp(char const * , char const * ) ; extern char *strncpy(char * , char const * , __kernel_size_t ) ; extern char *strchr(char const * , int ) ; extern unsigned char const _ctype[] ; extern char *cfs_trimwhite(char * ) ; extern int cfs_expr_list_values(struct cfs_expr_list * , int , __u32 ** ) ; __inline static void cfs_expr_list_values_free(__u32 *values , int num ) { int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; int tmp___2 ; long tmp___3 ; { s = (int )((unsigned int )num * 4U); tmp___0 = ldv__builtin_expect((unsigned long )values == (unsigned long )((__u32 *)0U), 0L); if (tmp___0 != 0L) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/../libcfs/libcfs_string.h"; msgdata.msg_fn = "cfs_expr_list_values_free"; msgdata.msg_line = 94; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'values\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/../libcfs/libcfs_string.h", 94); } else { } goto ldv_49123; } else { } atomic_sub(s, & libcfs_kmemory); tmp___2 = cfs_cdebug_show(16U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/../libcfs/libcfs_string.h"; msgdata___0.msg_fn = "cfs_expr_list_values_free"; msgdata___0.msg_line = 94; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___1 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'values\': %d at %p (tot %d).\n", s, values, tmp___1); } else { } tmp___3 = ldv__builtin_expect(s > 8192, 0L); if (tmp___3 != 0L) { vfree((void const *)values); } else { kfree((void const *)values); } ldv_49123: ; return; } } extern void cfs_expr_list_free(struct cfs_expr_list * ) ; extern int cfs_expr_list_parse(char * , int , unsigned int , unsigned int , struct cfs_expr_list ** ) ; extern int cfs_ip_addr_parse(char * , int , struct list_head * ) ; extern int cfs_ip_addr_match(__u32 , struct list_head * ) ; extern void cfs_ip_addr_free(struct list_head * ) ; __inline static lnet_nid_t LNET_MKNID(__u32 net , __u32 addr ) { { return (((unsigned long long )net << 32) | (unsigned long long )addr); } } __inline static __u32 LNET_MKNET(__u32 type , __u32 num ) { { return ((type << 16) | num); } } extern char *libcfs_net2str(__u32 ) ; extern __u32 libcfs_str2net(char const * ) ; extern lnet_nid_t libcfs_str2nid(char const * ) ; int lnet_ipif_query(char *name , int *up___0 , __u32 *ip , __u32 *mask ) ; int lnet_ipif_enumerate(char ***namesp ) ; void lnet_ipif_free_enumeration(char **names , int n ) ; static int lnet_tbnob ; static void lnet_syntax(char *name , char *str , int offset , int width ) { char dots[4096U] ; char dashes[4096U] ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; size_t tmp___0 ; int tmp___1 ; { memset((void *)(& dots), 46, 4096UL); dots[4095UL] = 0; memset((void *)(& dashes), 45, 4096UL); dashes[4095UL] = 0; tmp = cfs_cdebug_show(33685504U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata.msg_fn = "lnet_syntax"; msgdata.msg_line = 61; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 33685504; libcfs_debug_msg(& msgdata, "%x-%x: Error parsing \'%s=\"%s\"\'\n", 271, 14, name, str); } else { } tmp___1 = cfs_cdebug_show(33685504U, 1024U); if (tmp___1 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___0.msg_fn = "lnet_syntax"; msgdata___0.msg_line = 64; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 33685504; tmp___0 = strlen((char const *)name); libcfs_debug_msg(& msgdata___0, "%x-%x: here...........%.*s..%.*s|%.*s|\n", 272, 0, (int )tmp___0, (char *)(& dots), offset, (char *)(& dots), width > 0 ? width + -1 : 0, (char *)(& dashes)); } else { } return; } } static int lnet_issep(char c ) { { switch ((int )c) { case 10: ; case 13: ; case 59: ; return (1); default: ; return (0); } } } static int lnet_net_unique(__u32 net , struct list_head *nilist ) { struct list_head *tmp ; lnet_ni_t *ni ; struct list_head const *__mptr ; __u32 tmp___0 ; { tmp = nilist->next; goto ldv_51160; ldv_51159: __mptr = (struct list_head const *)tmp; ni = (lnet_ni_t *)__mptr + 0xffffffffffffffb8UL; tmp___0 = LNET_NIDNET(ni->ni_nid); if (tmp___0 == net) { return (0); } else { } tmp = tmp->next; ldv_51160: ; if ((unsigned long )tmp != (unsigned long )nilist) { goto ldv_51159; } else { } return (1); } } void lnet_ni_free(struct lnet_ni *ni ) { int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; int tmp___2 ; long tmp___3 ; { if ((unsigned long )ni->ni_refs != (unsigned long )((int **)0)) { cfs_percpt_free((void *)ni->ni_refs); } else { } if ((unsigned long )ni->ni_tx_queues != (unsigned long )((struct lnet_tx_queue **)0)) { cfs_percpt_free((void *)ni->ni_tx_queues); } else { } if ((unsigned long )ni->ni_cpts != (unsigned long )((__u32 *)0U)) { cfs_expr_list_values_free(ni->ni_cpts, ni->ni_ncpts); } else { } s = 320; tmp___0 = ldv__builtin_expect((unsigned long )ni == (unsigned long )((struct lnet_ni *)0), 0L); if (tmp___0 != 0L) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata.msg_fn = "lnet_ni_free"; msgdata.msg_line = 108; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'ni\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c", 108); } else { } goto ldv_51169; } else { } atomic_sub(s, & libcfs_kmemory); tmp___2 = cfs_cdebug_show(16U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___0.msg_fn = "lnet_ni_free"; msgdata___0.msg_line = 108; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___1 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'ni\': %d at %p (tot %d).\n", s, ni, tmp___1); } else { } tmp___3 = ldv__builtin_expect(s > 8192, 0L); if (tmp___3 != 0L) { vfree((void const *)ni); } else { kfree((void const *)ni); } ldv_51169: ; return; } } static lnet_ni_t *lnet_ni_alloc(__u32 net , struct cfs_expr_list *el , struct list_head *nilist ) { struct lnet_tx_queue *tq ; struct lnet_ni *ni ; int rc ; int i ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp ; int tmp___0 ; int tmp___1 ; struct libcfs_debug_msg_data __msg_data ; int tmp___2 ; long tmp___3 ; void *tmp___4 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___5 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___6 ; int tmp___7 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___8 ; int tmp___9 ; long tmp___10 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___3 ; char *tmp___11 ; int tmp___12 ; struct lock_class_key __key ; void *tmp___13 ; void *tmp___14 ; int tmp___15 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___4 ; char *tmp___16 ; int tmp___17 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___18 ; int s ; struct cfs_debug_limit_state cdls___4 ; struct libcfs_debug_msg_data msgdata___5 ; int tmp___19 ; long tmp___20 ; struct libcfs_debug_msg_data msgdata___6 ; int tmp___21 ; int tmp___22 ; long tmp___23 ; unsigned long tmp___24 ; { tmp___1 = lnet_net_unique(net, nilist); if (tmp___1 == 0) { tmp___0 = cfs_cdebug_show(33685504U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata.msg_fn = "lnet_ni_alloc"; msgdata.msg_line = 121; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 33685504; tmp = libcfs_net2str(net); libcfs_debug_msg(& msgdata, "%x-%x: Duplicate network specified: %s\n", 273, 1, tmp); } else { } return ((lnet_ni_t *)0); } else { } tmp___2 = preempt_count(); tmp___3 = ldv__builtin_expect((long )(((unsigned long )tmp___2 & 2096896UL) != 0UL && 1), 0L); if (tmp___3 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data.msg_fn = "lnet_ni_alloc"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 125; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((sizeof(*ni))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } tmp___4 = kmalloc(320UL, 80U); ni = (struct lnet_ni *)tmp___4; tmp___10 = ldv__builtin_expect((unsigned long )ni == (unsigned long )((struct lnet_ni *)0), 0L); if (tmp___10 != 0L) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___0.msg_fn = "lnet_ni_alloc"; msgdata___0.msg_line = 125; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "LNET: out of memory at %s:%d (tried to alloc \'(ni)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c", 125, 320); } else { } tmp___7 = cfs_cdebug_show(131072U, 1024U); if (tmp___7 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___1.msg_fn = "lnet_ni_alloc"; msgdata___1.msg_line = 125; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 131072; tmp___6 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "LNET: %d total bytes allocated by lnet\n", tmp___6); } else { } } else { memset((void *)ni, 0, 320UL); atomic_add(320, & libcfs_kmemory); tmp___9 = cfs_cdebug_show(16U, 1024U); if (tmp___9 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___2.msg_fn = "lnet_ni_alloc"; msgdata___2.msg_line = 125; msgdata___2.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___2.msg_mask = 16; tmp___8 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___2, "alloc \'(ni)\': %d at %p (tot %d).\n", 320, ni, tmp___8); } else { } } if ((unsigned long )ni == (unsigned long )((struct lnet_ni *)0)) { tmp___12 = cfs_cdebug_show(131072U, 1024U); if (tmp___12 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___3.msg_fn = "lnet_ni_alloc"; msgdata___3.msg_line = 128; msgdata___3.msg_cdls = & cdls___2; msgdata___3.msg_mask = 131072; tmp___11 = libcfs_net2str(net); libcfs_debug_msg(& msgdata___3, "Out of memory creating network %s\n", tmp___11); } else { } return ((lnet_ni_t *)0); } else { } spinlock_check(& ni->ni_lock); __raw_spin_lock_init(& ni->ni_lock.__annonCompField18.rlock, "&(&ni->ni_lock)->rlock", & __key); INIT_LIST_HEAD(& ni->ni_cptlist); tmp___13 = cfs_percpt_alloc(the_lnet.ln_cpt_table, 4U); ni->ni_refs = (int **)tmp___13; if ((unsigned long )ni->ni_refs == (unsigned long )((int **)0)) { goto failed; } else { } tmp___14 = cfs_percpt_alloc(the_lnet.ln_cpt_table, 32U); ni->ni_tx_queues = (struct lnet_tx_queue **)tmp___14; if ((unsigned long )ni->ni_tx_queues == (unsigned long )((struct lnet_tx_queue **)0)) { goto failed; } else { } i = 0; goto ldv_51194; ldv_51193: INIT_LIST_HEAD(& tq->tq_delayed); i = i + 1; ldv_51194: tmp___15 = cfs_percpt_number((void *)ni->ni_tx_queues); if (tmp___15 > i) { tq = *(ni->ni_tx_queues + (unsigned long )i); if ((unsigned long )tq != (unsigned long )((struct lnet_tx_queue *)0)) { goto ldv_51193; } else { goto ldv_51195; } } else { } ldv_51195: ; if ((unsigned long )el == (unsigned long )((struct cfs_expr_list *)0)) { ni->ni_cpts = (__u32 *)0U; ni->ni_ncpts = (int )the_lnet.ln_cpt_number; } else { rc = cfs_expr_list_values(el, (int )the_lnet.ln_cpt_number, & ni->ni_cpts); if (rc <= 0) { tmp___17 = cfs_cdebug_show(131072U, 1024U); if (tmp___17 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___4.msg_fn = "lnet_ni_alloc"; msgdata___4.msg_line = 154; msgdata___4.msg_cdls = & cdls___3; msgdata___4.msg_mask = 131072; tmp___16 = libcfs_net2str(net); libcfs_debug_msg(& msgdata___4, "Failed to set CPTs for NI %s: %d\n", tmp___16, rc); } else { } goto failed; } else { } tmp___18 = ldv__builtin_expect((unsigned int )rc > the_lnet.ln_cpt_number, 0L); if (tmp___18 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data___0.msg_fn = "lnet_ni_alloc"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 158; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"rc <= (the_lnet.ln_cpt_number)"); lbug_with_loc(& __msg_data___0); } else { } if ((unsigned int )rc == the_lnet.ln_cpt_number) { s = (int )((unsigned int )rc * 4U); tmp___20 = ldv__builtin_expect((unsigned long )ni->ni_cpts == (unsigned long )((__u32 *)0U), 0L); if (tmp___20 != 0L) { tmp___19 = cfs_cdebug_show(131072U, 1024U); if (tmp___19 != 0) { msgdata___5.msg_subsys = 1024; msgdata___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___5.msg_fn = "lnet_ni_alloc"; msgdata___5.msg_line = 160; msgdata___5.msg_cdls = & cdls___4; msgdata___5.msg_mask = 131072; libcfs_debug_msg(& msgdata___5, "LIBCFS: free NULL \'ni->ni_cpts\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c", 160); } else { } goto ldv_51202; } else { } atomic_sub(s, & libcfs_kmemory); tmp___22 = cfs_cdebug_show(16U, 1024U); if (tmp___22 != 0) { msgdata___6.msg_subsys = 1024; msgdata___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___6.msg_fn = "lnet_ni_alloc"; msgdata___6.msg_line = 160; msgdata___6.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___6.msg_mask = 16; tmp___21 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___6, "kfreed \'ni->ni_cpts\': %d at %p (tot %d).\n", s, ni->ni_cpts, tmp___21); } else { } tmp___23 = ldv__builtin_expect(s > 8192, 0L); if (tmp___23 != 0L) { vfree((void const *)ni->ni_cpts); } else { kfree((void const *)ni->ni_cpts); } ldv_51202: ni->ni_cpts = (__u32 *)0U; } else { } ni->ni_ncpts = rc; } ni->ni_nid = LNET_MKNID(net, 0U); tmp___24 = get_seconds(); ni->ni_last_alive = (long )tmp___24; list_add_tail(& ni->ni_list, nilist); return (ni); failed: lnet_ni_free(ni); return ((lnet_ni_t *)0); } } int lnet_parse_networks(struct list_head *nilist , char *networks___0 ) { struct cfs_expr_list *el ; int tokensize ; size_t tmp ; char *tokens ; char *str ; char *tmp___0 ; struct lnet_ni *ni ; __u32 net ; int nnets ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___1 ; size_t tmp___2 ; struct libcfs_debug_msg_data __msg_data ; int tmp___3 ; long tmp___4 ; void *tmp___5 ; void *tmp___6 ; void *tmp___7 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___8 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___9 ; int tmp___10 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___11 ; int tmp___12 ; long tmp___13 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___14 ; __u32 tmp___15 ; lnet_ni_t *tmp___16 ; char *comma ; char *tmp___17 ; char *bracket ; char *tmp___18 ; char *square ; char *tmp___19 ; char *iface ; int niface ; int rc ; char *tmp___20 ; char *tmp___21 ; char *tmp___22 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___4 ; int tmp___23 ; __u32 tmp___24 ; __u32 tmp___25 ; lnet_ni_t *tmp___26 ; char *tmp___27 ; __u32 tmp___28 ; lnet_ni_t *tmp___29 ; char *tmp___30 ; struct cfs_debug_limit_state cdls___4 ; struct libcfs_debug_msg_data msgdata___5 ; char *tmp___31 ; int tmp___32 ; int tmp___33 ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___34 ; long tmp___35 ; size_t tmp___36 ; struct list_head const *__mptr ; int tmp___37 ; int s ; struct cfs_debug_limit_state cdls___5 ; struct libcfs_debug_msg_data msgdata___6 ; int tmp___38 ; long tmp___39 ; struct libcfs_debug_msg_data msgdata___7 ; int tmp___40 ; int tmp___41 ; long tmp___42 ; { el = (struct cfs_expr_list *)0; tmp = strlen((char const *)networks___0); tokensize = (int )((unsigned int )tmp + 1U); nnets = 0; tmp___2 = strlen((char const *)networks___0); if (tmp___2 > 4096UL) { tmp___1 = cfs_cdebug_show(33685504U, 1024U); if (tmp___1 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata.msg_fn = "lnet_parse_networks"; msgdata.msg_line = 192; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 33685504; libcfs_debug_msg(& msgdata, "%x-%x: Can\'t parse networks: string too long\n", 274, 2); } else { } return (-22); } else { } tmp___3 = preempt_count(); tmp___4 = ldv__builtin_expect((long )(((unsigned long )tmp___3 & 2096896UL) != 0UL && 1), 0L); if (tmp___4 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data.msg_fn = "lnet_parse_networks"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 196; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((tokensize)) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } if (tokensize <= 8192) { tmp___5 = kmalloc((size_t )tokensize, 80U); tmp___7 = tmp___5; } else { tmp___6 = vmalloc((unsigned long )tokensize); tmp___7 = tmp___6; } tokens = (char *)tmp___7; tmp___13 = ldv__builtin_expect((unsigned long )tokens == (unsigned long )((char *)0), 0L); if (tmp___13 != 0L) { tmp___8 = cfs_cdebug_show(131072U, 1024U); if (tmp___8 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___0.msg_fn = "lnet_parse_networks"; msgdata___0.msg_line = 196; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "LNET: out of memory at %s:%d (tried to alloc \'(tokens)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c", 196, tokensize); } else { } tmp___10 = cfs_cdebug_show(131072U, 1024U); if (tmp___10 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___1.msg_fn = "lnet_parse_networks"; msgdata___1.msg_line = 196; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 131072; tmp___9 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "LNET: %d total bytes allocated by lnet\n", tmp___9); } else { } } else { memset((void *)tokens, 0, (size_t )tokensize); atomic_add(tokensize, & libcfs_kmemory); tmp___12 = cfs_cdebug_show(16U, 1024U); if (tmp___12 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___2.msg_fn = "lnet_parse_networks"; msgdata___2.msg_line = 196; msgdata___2.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___2.msg_mask = 16; tmp___11 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___2, "alloc \'(tokens)\': %d at %p (tot %d).\n", tokensize, tokens, tmp___11); } else { } } if ((unsigned long )tokens == (unsigned long )((char *)0)) { tmp___14 = cfs_cdebug_show(131072U, 1024U); if (tmp___14 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___3.msg_fn = "lnet_parse_networks"; msgdata___3.msg_line = 198; msgdata___3.msg_cdls = & cdls___2; msgdata___3.msg_mask = 131072; libcfs_debug_msg(& msgdata___3, "Can\'t allocate net tokens\n"); } else { } return (-12); } else { } the_lnet.ln_network_tokens = tokens; the_lnet.ln_network_tokens_nob = tokensize; memcpy((void *)tokens, (void const *)networks___0, (size_t )tokensize); tmp___0 = tokens; str = tmp___0; tmp___15 = LNET_MKNET(9U, 0U); tmp___16 = lnet_ni_alloc(tmp___15, (struct cfs_expr_list *)0, nilist); ni = tmp___16; if ((unsigned long )ni == (unsigned long )((struct lnet_ni *)0)) { goto failed; } else { } goto ldv_51240; ldv_51245: tmp___17 = strchr((char const *)str, 44); comma = tmp___17; tmp___18 = strchr((char const *)str, 40); bracket = tmp___18; tmp___19 = strchr((char const *)str, 91); square = tmp___19; if ((unsigned long )square != (unsigned long )((char *)0) && ((unsigned long )comma == (unsigned long )((char *)0) || (unsigned long )square < (unsigned long )comma)) { if ((unsigned long )bracket != (unsigned long )((char *)0) && (unsigned long )bracket > (unsigned long )square) { tmp___0 = square; goto failed_syntax; } else { } tmp___0 = strchr((char const *)square, 93); if ((unsigned long )tmp___0 == (unsigned long )((char *)0)) { tmp___0 = square; goto failed_syntax; } else { } rc = cfs_expr_list_parse(square, (int )(((unsigned int )((long )tmp___0) - (unsigned int )((long )square)) + 1U), 0U, the_lnet.ln_cpt_number - 1U, & el); if (rc != 0) { tmp___0 = square; goto failed_syntax; } else { } goto ldv_51236; ldv_51235: tmp___20 = square; square = square + 1; *tmp___20 = 32; ldv_51236: ; if ((unsigned long )square <= (unsigned long )tmp___0) { goto ldv_51235; } else { } } else { } if ((unsigned long )bracket == (unsigned long )((char *)0) || ((unsigned long )comma != (unsigned long )((char *)0) && (unsigned long )comma < (unsigned long )bracket)) { if ((unsigned long )comma != (unsigned long )((char *)0)) { tmp___21 = comma; comma = comma + 1; *tmp___21 = 0; } else { } tmp___22 = cfs_trimwhite(str); net = libcfs_str2net((char const *)tmp___22); tmp___24 = LNET_NIDNET(0xffffffffffffffffULL); if (tmp___24 == net) { tmp___23 = cfs_cdebug_show(33685504U, 1024U); if (tmp___23 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___4.msg_fn = "lnet_parse_networks"; msgdata___4.msg_line = 259; msgdata___4.msg_cdls = & cdls___3; msgdata___4.msg_mask = 33685504; libcfs_debug_msg(& msgdata___4, "%x-%x: Unrecognised network type\n", 275, 3); } else { } tmp___0 = str; goto failed_syntax; } else { } tmp___25 = LNET_NETTYP(net); if (tmp___25 != 9U) { tmp___26 = lnet_ni_alloc(net, el, nilist); if ((unsigned long )tmp___26 == (unsigned long )((lnet_ni_t *)0)) { goto failed; } else { } } else { } if ((unsigned long )el != (unsigned long )((struct cfs_expr_list *)0)) { cfs_expr_list_free(el); el = (struct cfs_expr_list *)0; } else { } str = comma; goto ldv_51240; } else { } *bracket = 0; tmp___27 = cfs_trimwhite(str); net = libcfs_str2net((char const *)tmp___27); tmp___28 = LNET_NIDNET(0xffffffffffffffffULL); if (tmp___28 == net) { tmp___0 = str; goto failed_syntax; } else { } nnets = nnets + 1; tmp___29 = lnet_ni_alloc(net, el, nilist); ni = tmp___29; if ((unsigned long )ni == (unsigned long )((struct lnet_ni *)0)) { goto failed; } else { } if ((unsigned long )el != (unsigned long )((struct cfs_expr_list *)0)) { cfs_expr_list_free(el); el = (struct cfs_expr_list *)0; } else { } niface = 0; iface = bracket + 1UL; bracket = strchr((char const *)iface, 41); if ((unsigned long )bracket == (unsigned long )((char *)0)) { tmp___0 = iface; goto failed_syntax; } else { } *bracket = 0; ldv_51243: comma = strchr((char const *)iface, 44); if ((unsigned long )comma != (unsigned long )((char *)0)) { tmp___30 = comma; comma = comma + 1; *tmp___30 = 0; } else { } iface = cfs_trimwhite(iface); if ((int )((signed char )*iface) == 0) { tmp___0 = iface; goto failed_syntax; } else { } if (niface == 16) { tmp___32 = cfs_cdebug_show(33685504U, 1024U); if (tmp___32 != 0) { msgdata___5.msg_subsys = 1024; msgdata___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___5.msg_fn = "lnet_parse_networks"; msgdata___5.msg_line = 318; msgdata___5.msg_cdls = & cdls___4; msgdata___5.msg_mask = 33685504; tmp___31 = libcfs_net2str(net); libcfs_debug_msg(& msgdata___5, "%x-%x: Too many interfaces for net %s\n", 277, 5, tmp___31); } else { } goto failed; } else { } tmp___33 = niface; niface = niface + 1; ni->ni_interfaces[tmp___33] = iface; iface = comma; if ((unsigned long )iface != (unsigned long )((char *)0)) { goto ldv_51243; } else { } str = bracket + 1UL; comma = strchr((char const *)bracket + 1U, 44); if ((unsigned long )comma != (unsigned long )((char *)0)) { *comma = 0; str = cfs_trimwhite(str); if ((int )((signed char )*str) != 0) { tmp___0 = str; goto failed_syntax; } else { } str = comma + 1UL; goto ldv_51240; } else { } str = cfs_trimwhite(str); if ((int )((signed char )*str) != 0) { tmp___0 = str; goto failed_syntax; } else { } ldv_51240: ; if ((unsigned long )str != (unsigned long )((char *)0) && (int )((signed char )*str) != 0) { goto ldv_51245; } else { } tmp___34 = list_empty((struct list_head const *)nilist); tmp___35 = ldv__builtin_expect(tmp___34 != 0, 0L); if (tmp___35 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data___0.msg_fn = "lnet_parse_networks"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 346; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!list_empty(nilist)"); lbug_with_loc(& __msg_data___0); } else { } return (0); failed_syntax: tmp___36 = strlen((char const *)tmp___0); lnet_syntax((char *)"networks", networks___0, (int )((unsigned int )((long )tmp___0) - (unsigned int )((long )tokens)), (int )tmp___36); failed: ; goto ldv_51251; ldv_51250: __mptr = (struct list_head const *)nilist->next; ni = (lnet_ni_t *)__mptr + 0xffffffffffffffb8UL; list_del(& ni->ni_list); lnet_ni_free(ni); ldv_51251: tmp___37 = list_empty((struct list_head const *)nilist); if (tmp___37 == 0) { goto ldv_51250; } else { } if ((unsigned long )el != (unsigned long )((struct cfs_expr_list *)0)) { cfs_expr_list_free(el); } else { } s = tokensize; tmp___39 = ldv__builtin_expect((unsigned long )tokens == (unsigned long )((char *)0), 0L); if (tmp___39 != 0L) { tmp___38 = cfs_cdebug_show(131072U, 1024U); if (tmp___38 != 0) { msgdata___6.msg_subsys = 1024; msgdata___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___6.msg_fn = "lnet_parse_networks"; msgdata___6.msg_line = 362; msgdata___6.msg_cdls = & cdls___5; msgdata___6.msg_mask = 131072; libcfs_debug_msg(& msgdata___6, "LIBCFS: free NULL \'tokens\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c", 362); } else { } goto ldv_51256; } else { } atomic_sub(s, & libcfs_kmemory); tmp___41 = cfs_cdebug_show(16U, 1024U); if (tmp___41 != 0) { msgdata___7.msg_subsys = 1024; msgdata___7.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___7.msg_fn = "lnet_parse_networks"; msgdata___7.msg_line = 362; msgdata___7.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___7.msg_mask = 16; tmp___40 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___7, "kfreed \'tokens\': %d at %p (tot %d).\n", s, tokens, tmp___40); } else { } tmp___42 = ldv__builtin_expect(s > 8192, 0L); if (tmp___42 != 0L) { vfree((void const *)tokens); } else { kfree((void const *)tokens); } ldv_51256: the_lnet.ln_network_tokens = (char *)0; return (-22); } } static struct lnet_text_buf_t *lnet_new_text_buf(int str_len ) { struct lnet_text_buf_t *ltb ; int nob ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___0 ; struct libcfs_debug_msg_data __msg_data ; int tmp___1 ; long tmp___2 ; void *tmp___3 ; void *tmp___4 ; void *tmp___5 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___6 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___7 ; int tmp___8 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___9 ; int tmp___10 ; long tmp___11 ; { nob = (int )((unsigned int )str_len + 21U); if (nob > 4096) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata.msg_fn = "lnet_new_text_buf"; msgdata.msg_line = 378; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "text buffer too big\n"); } else { } return ((struct lnet_text_buf_t *)0); } else { } if (lnet_tbnob + nob > 65536) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___0.msg_fn = "lnet_new_text_buf"; msgdata___0.msg_line = 383; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "Too many text buffers\n"); } else { } return ((struct lnet_text_buf_t *)0); } else { } tmp___1 = preempt_count(); tmp___2 = ldv__builtin_expect((long )(((unsigned long )tmp___1 & 2096896UL) != 0UL && 1), 0L); if (tmp___2 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data.msg_fn = "lnet_new_text_buf"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 387; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((nob)) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } if (nob <= 8192) { tmp___3 = kmalloc((size_t )nob, 80U); tmp___5 = tmp___3; } else { tmp___4 = vmalloc((unsigned long )nob); tmp___5 = tmp___4; } ltb = (struct lnet_text_buf_t *)tmp___5; tmp___11 = ldv__builtin_expect((unsigned long )ltb == (unsigned long )((struct lnet_text_buf_t *)0), 0L); if (tmp___11 != 0L) { tmp___6 = cfs_cdebug_show(131072U, 1024U); if (tmp___6 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___1.msg_fn = "lnet_new_text_buf"; msgdata___1.msg_line = 387; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 131072; libcfs_debug_msg(& msgdata___1, "LNET: out of memory at %s:%d (tried to alloc \'(ltb)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c", 387, nob); } else { } tmp___8 = cfs_cdebug_show(131072U, 1024U); if (tmp___8 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___2.msg_fn = "lnet_new_text_buf"; msgdata___2.msg_line = 387; msgdata___2.msg_cdls = & cdls___2; msgdata___2.msg_mask = 131072; tmp___7 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___2, "LNET: %d total bytes allocated by lnet\n", tmp___7); } else { } } else { memset((void *)ltb, 0, (size_t )nob); atomic_add(nob, & libcfs_kmemory); tmp___10 = cfs_cdebug_show(16U, 1024U); if (tmp___10 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___3.msg_fn = "lnet_new_text_buf"; msgdata___3.msg_line = 387; msgdata___3.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___3.msg_mask = 16; tmp___9 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___3, "alloc \'(ltb)\': %d at %p (tot %d).\n", nob, ltb, tmp___9); } else { } } if ((unsigned long )ltb == (unsigned long )((struct lnet_text_buf_t *)0)) { return ((struct lnet_text_buf_t *)0); } else { } ltb->ltb_size = nob; ltb->ltb_text[0] = 0; lnet_tbnob = lnet_tbnob + nob; return (ltb); } } static void lnet_free_text_buf(struct lnet_text_buf_t *ltb ) { int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; int tmp___2 ; long tmp___3 ; { lnet_tbnob = lnet_tbnob - ltb->ltb_size; s = ltb->ltb_size; tmp___0 = ldv__builtin_expect((unsigned long )ltb == (unsigned long )((struct lnet_text_buf_t *)0), 0L); if (tmp___0 != 0L) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata.msg_fn = "lnet_free_text_buf"; msgdata.msg_line = 401; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'ltb\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c", 401); } else { } goto ldv_51281; } else { } atomic_sub(s, & libcfs_kmemory); tmp___2 = cfs_cdebug_show(16U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___0.msg_fn = "lnet_free_text_buf"; msgdata___0.msg_line = 401; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___1 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'ltb\': %d at %p (tot %d).\n", s, ltb, tmp___1); } else { } tmp___3 = ldv__builtin_expect(s > 8192, 0L); if (tmp___3 != 0L) { vfree((void const *)ltb); } else { kfree((void const *)ltb); } ldv_51281: ; return; } } static void lnet_free_text_bufs(struct list_head *tbs ) { struct lnet_text_buf_t *ltb ; struct list_head const *__mptr ; int tmp ; { goto ldv_51290; ldv_51289: __mptr = (struct list_head const *)tbs->next; ltb = (struct lnet_text_buf_t *)__mptr; list_del(& ltb->ltb_list); lnet_free_text_buf(ltb); ldv_51290: tmp = list_empty((struct list_head const *)tbs); if (tmp == 0) { goto ldv_51289; } else { } return; } } static int lnet_str2tbs_sep(struct list_head *tbs , char *str ) { struct list_head pending ; char *sep ; int nob ; int i ; struct lnet_text_buf_t *ltb ; int tmp ; int tmp___0 ; { INIT_LIST_HEAD(& pending); ldv_51313: ; goto ldv_51302; ldv_51301: str = str + 1; ldv_51302: ; if (((int )_ctype[(int )((unsigned char )*str)] & 32) != 0) { goto ldv_51301; } else { } sep = str; goto ldv_51306; ldv_51305: tmp = lnet_issep((int )*sep); if (tmp != 0 || (int )((signed char )*sep) == 35) { goto ldv_51304; } else { } sep = sep + 1; ldv_51306: ; if ((int )((signed char )*sep) != 0) { goto ldv_51305; } else { } ldv_51304: nob = (int )((unsigned int )((long )sep) - (unsigned int )((long )str)); if (nob > 0) { ltb = lnet_new_text_buf(nob); if ((unsigned long )ltb == (unsigned long )((struct lnet_text_buf_t *)0)) { lnet_free_text_bufs(& pending); return (-1); } else { } i = 0; goto ldv_51308; ldv_51307: ; if (((int )_ctype[(int )((unsigned char )*(str + (unsigned long )i))] & 32) != 0) { ltb->ltb_text[i] = 32; } else { ltb->ltb_text[i] = *(str + (unsigned long )i); } i = i + 1; ldv_51308: ; if (i < nob) { goto ldv_51307; } else { } ltb->ltb_text[nob] = 0; list_add_tail(& ltb->ltb_list, & pending); } else { } if ((int )((signed char )*sep) == 35) { ldv_51310: sep = sep + 1; if ((int )((signed char )*sep) != 0) { tmp___0 = lnet_issep((int )*sep); if (tmp___0 == 0) { goto ldv_51310; } else { goto ldv_51311; } } else { } ldv_51311: ; } else { } if ((int )((signed char )*sep) == 0) { goto ldv_51312; } else { } str = sep + 1UL; goto ldv_51313; ldv_51312: list_splice((struct list_head const *)(& pending), tbs->prev); return (0); } } static int lnet_expand1tb(struct list_head *list , char *str , char *sep1 , char *sep2 , char *item , int itemlen ) { int len1 ; int len2 ; size_t tmp ; struct lnet_text_buf_t *ltb ; struct libcfs_debug_msg_data __msg_data ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; { len1 = (int )((unsigned int )((long )sep1) - (unsigned int )((long )str)); tmp = strlen((char const *)sep2 + 1U); len2 = (int )tmp; tmp___0 = ldv__builtin_expect((int )((signed char )*sep1) != 91, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data.msg_fn = "lnet_expand1tb"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 484; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"*sep1 == \'[\'"); lbug_with_loc(& __msg_data); } else { } tmp___1 = ldv__builtin_expect((int )((signed char )*sep2) != 93, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data___0.msg_fn = "lnet_expand1tb"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 485; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"*sep2 == \']\'"); lbug_with_loc(& __msg_data___0); } else { } ltb = lnet_new_text_buf((len1 + itemlen) + len2); if ((unsigned long )ltb == (unsigned long )((struct lnet_text_buf_t *)0)) { return (-12); } else { } memcpy((void *)(& ltb->ltb_text), (void const *)str, (size_t )len1); memcpy((void *)(& ltb->ltb_text) + (unsigned long )len1, (void const *)item, (size_t )itemlen); memcpy((void *)(& ltb->ltb_text) + (unsigned long )(len1 + itemlen), (void const *)sep2 + 1U, (size_t )len2); ltb->ltb_text[(len1 + itemlen) + len2] = 0; list_add_tail(& ltb->ltb_list, list); return (0); } } static int lnet_str2tbs_expand(struct list_head *tbs , char *str ) { char num[16U] ; struct list_head pending ; char *sep ; char *sep2 ; char *parsed ; char *enditem ; int lo ; int hi ; int stride ; int i ; int nob ; int scanned ; int tmp ; int tmp___0 ; int tmp___1 ; size_t tmp___2 ; int tmp___3 ; { INIT_LIST_HEAD(& pending); sep = strchr((char const *)str, 91); if ((unsigned long )sep == (unsigned long )((char *)0)) { return (0); } else { } sep2 = strchr((char const *)sep, 93); if ((unsigned long )sep2 == (unsigned long )((char *)0)) { goto failed; } else { } parsed = sep; goto ldv_51353; ldv_51352: parsed = parsed + 1; enditem = parsed; goto ldv_51346; ldv_51345: enditem = enditem + 1; ldv_51346: ; if ((unsigned long )enditem < (unsigned long )sep2 && (int )((signed char )*enditem) != 44) { goto ldv_51345; } else { } if ((unsigned long )enditem == (unsigned long )parsed) { goto failed; } else { } tmp___1 = sscanf((char const *)parsed, "%d-%d/%d%n", & lo, & hi, & stride, & scanned); if (tmp___1 <= 2) { tmp___0 = sscanf((char const *)parsed, "%d-%d%n", & lo, & hi, & scanned); if (tmp___0 <= 1) { tmp = lnet_expand1tb(& pending, str, sep, sep2, parsed, (int )((unsigned int )((long )enditem) - (unsigned int )((long )parsed))); if (tmp != 0) { goto failed; } else { } goto ldv_51348; } else { } stride = 1; } else { } if ((unsigned long )(parsed + (unsigned long )scanned) != (unsigned long )enditem) { goto failed; } else { } if ((((hi < 0 || lo < 0) || stride < 0) || hi < lo) || (hi - lo) % stride != 0) { goto failed; } else { } i = lo; goto ldv_51350; ldv_51349: snprintf((char *)(& num), 16UL, "%d", i); tmp___2 = strlen((char const *)(& num)); nob = (int )tmp___2; if (nob == 15) { goto failed; } else { } tmp___3 = lnet_expand1tb(& pending, str, sep, sep2, (char *)(& num), nob); if (tmp___3 != 0) { goto failed; } else { } i = i + stride; ldv_51350: ; if (i <= hi) { goto ldv_51349; } else { } ldv_51348: parsed = enditem; ldv_51353: ; if ((unsigned long )parsed < (unsigned long )sep2) { goto ldv_51352; } else { } list_splice((struct list_head const *)(& pending), tbs->prev); return (1); failed: lnet_free_text_bufs(& pending); return (-1); } } static int lnet_parse_hops(char *str , unsigned int *hops ) { int len ; size_t tmp ; int nob ; int tmp___0 ; { tmp = strlen((char const *)str); len = (int )tmp; nob = len; tmp___0 = sscanf((char const *)str, "%u%n", hops, & nob); return (((tmp___0 > 0 && nob == len) && *hops != 0U) && *hops <= 255U); } } static int lnet_parse_priority(char *str , unsigned int *priority , char **token ) { int nob ; char *sep ; int len ; size_t tmp ; int tmp___0 ; struct libcfs_debug_msg_data msgdata ; int tmp___1 ; { sep = strchr((char const *)str, 58); if ((unsigned long )sep == (unsigned long )((char *)0)) { *priority = 0U; return (0); } else { } tmp = strlen((char const *)sep + 1U); len = (int )tmp; tmp___0 = sscanf((char const *)sep + 1U, "%u%n", priority, & nob); if (tmp___0 <= 0 || len != nob) { *token = *token + ((unsigned long )((long )sep - (long )str) + 1UL); return (-1); } else { } tmp___1 = cfs_cdebug_show(512U, 1024U); if (tmp___1 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata.msg_fn = "lnet_parse_priority"; msgdata.msg_line = 618; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; libcfs_debug_msg(& msgdata, "gateway %s, priority %d, nob %d\n", str, *priority, nob); } else { } *sep = 0; return (0); } } static int lnet_parse_route(char *str , int *im_a_router ) { char cmd[4096U] ; struct list_head nets ; struct list_head gateways ; struct list_head *tmp1 ; struct list_head *tmp2 ; __u32 net ; lnet_nid_t nid ; struct lnet_text_buf_t *ltb ; int rc ; char *sep ; char *token ; int ntokens ; int myrc ; unsigned int hops ; int got_hops ; unsigned int priority ; char *tmp ; char *tmp___0 ; int tmp___1 ; size_t tmp___2 ; struct list_head const *__mptr ; __u32 tmp___3 ; __u32 tmp___4 ; __u32 tmp___5 ; __u32 tmp___6 ; struct libcfs_debug_msg_data __msg_data ; int tmp___7 ; long tmp___8 ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___9 ; long tmp___10 ; struct list_head const *__mptr___0 ; struct libcfs_debug_msg_data __msg_data___1 ; __u32 tmp___11 ; long tmp___12 ; struct list_head const *__mptr___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___13 ; int tmp___14 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp___15 ; char *tmp___16 ; int tmp___17 ; size_t tmp___18 ; { token = str; ntokens = 0; myrc = -1; got_hops = 0; priority = 0U; INIT_LIST_HEAD(& gateways); INIT_LIST_HEAD(& nets); strncpy((char *)(& cmd), (char const *)str, 4095UL); cmd[4095UL] = 0; sep = str; ldv_51406: ; goto ldv_51392; ldv_51391: sep = sep + 1; ldv_51392: ; if (((int )_ctype[(int )((unsigned char )*sep)] & 32) != 0) { goto ldv_51391; } else { } if ((int )((signed char )*sep) == 0) { if ((got_hops != 0 ? 3 : 2) > ntokens) { goto token_error; } else { } goto ldv_51395; } else { } ntokens = ntokens + 1; tmp = sep; sep = sep + 1; token = tmp; goto ldv_51397; ldv_51396: sep = sep + 1; ldv_51397: ; if ((int )((signed char )*sep) != 0 && ((int )_ctype[(int )((unsigned char )*sep)] & 32) == 0) { goto ldv_51396; } else { } if ((int )((signed char )*sep) != 0) { tmp___0 = sep; sep = sep + 1; *tmp___0 = 0; } else { } if (ntokens == 1) { tmp2 = & nets; } else if (ntokens == 2) { tmp___1 = lnet_parse_hops(token, & hops); if (tmp___1 != 0) { got_hops = 1; goto ldv_51399; } else { tmp2 = & gateways; } } else { tmp2 = & gateways; } tmp___2 = strlen((char const *)token); ltb = lnet_new_text_buf((int )tmp___2); if ((unsigned long )ltb == (unsigned long )((struct lnet_text_buf_t *)0)) { goto out; } else { } strcpy((char *)(& ltb->ltb_text), (char const *)token); tmp1 = & ltb->ltb_list; list_add_tail(tmp1, tmp2); goto ldv_51403; ldv_51404: __mptr = (struct list_head const *)tmp1; ltb = (struct lnet_text_buf_t *)__mptr; rc = lnet_str2tbs_expand(tmp1->next, (char *)(& ltb->ltb_text)); if (rc < 0) { goto token_error; } else { } tmp1 = tmp1->next; if (rc > 0) { list_del(& ltb->ltb_list); lnet_free_text_buf(ltb); goto ldv_51403; } else { } if (ntokens == 1) { net = libcfs_str2net((char const *)(& ltb->ltb_text)); tmp___3 = LNET_NIDNET(0xffffffffffffffffULL); if (tmp___3 == net) { goto token_error; } else { tmp___4 = LNET_NETTYP(net); if (tmp___4 == 9U) { goto token_error; } else { } } } else { rc = lnet_parse_priority((char *)(& ltb->ltb_text), & priority, & token); if (rc < 0) { goto token_error; } else { } nid = libcfs_str2nid((char const *)(& ltb->ltb_text)); if (nid == 0xffffffffffffffffULL) { goto token_error; } else { tmp___5 = LNET_NIDNET(nid); tmp___6 = LNET_NETTYP(tmp___5); if (tmp___6 == 9U) { goto token_error; } else { } } } ldv_51403: ; if ((unsigned long )tmp1 != (unsigned long )tmp2) { goto ldv_51404; } else { } ldv_51399: ; goto ldv_51406; ldv_51395: ; if (got_hops == 0) { hops = 1U; } else { } tmp___7 = list_empty((struct list_head const *)(& nets)); tmp___8 = ldv__builtin_expect(tmp___7 != 0, 0L); if (tmp___8 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data.msg_fn = "lnet_parse_route"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 732; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!list_empty(&nets)"); lbug_with_loc(& __msg_data); } else { } tmp___9 = list_empty((struct list_head const *)(& gateways)); tmp___10 = ldv__builtin_expect(tmp___9 != 0, 0L); if (tmp___10 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data___0.msg_fn = "lnet_parse_route"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 733; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!list_empty(&gateways)"); lbug_with_loc(& __msg_data___0); } else { } tmp1 = nets.next; goto ldv_51423; ldv_51422: __mptr___0 = (struct list_head const *)tmp1; ltb = (struct lnet_text_buf_t *)__mptr___0; net = libcfs_str2net((char const *)(& ltb->ltb_text)); tmp___11 = LNET_NIDNET(0xffffffffffffffffULL); tmp___12 = ldv__builtin_expect(tmp___11 == net, 0L); if (tmp___12 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data___1.msg_fn = "lnet_parse_route"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 738; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"net != LNET_NIDNET(((lnet_nid_t) -1))"); lbug_with_loc(& __msg_data___1); } else { } tmp2 = gateways.next; goto ldv_51420; ldv_51419: __mptr___1 = (struct list_head const *)tmp2; ltb = (struct lnet_text_buf_t *)__mptr___1; nid = libcfs_str2nid((char const *)(& ltb->ltb_text)); tmp___13 = ldv__builtin_expect(nid == 0xffffffffffffffffULL, 0L); if (tmp___13 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data___2.msg_fn = "lnet_parse_route"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 744; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"nid != ((lnet_nid_t) -1)"); lbug_with_loc(& __msg_data___2); } else { } tmp___14 = lnet_islocalnid(nid); if (tmp___14 != 0) { *im_a_router = 1; goto ldv_51416; } else { } rc = lnet_add_route(net, hops, nid, priority); if (rc != 0) { tmp___17 = cfs_cdebug_show(131072U, 1024U); if (tmp___17 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata.msg_fn = "lnet_parse_route"; msgdata.msg_line = 755; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; tmp___15 = libcfs_nid2str(nid); tmp___16 = libcfs_net2str(net); libcfs_debug_msg(& msgdata, "Can\'t create route to %s via %s\n", tmp___16, tmp___15); } else { } goto out; } else { } ldv_51416: tmp2 = tmp2->next; ldv_51420: ; if ((unsigned long )(& gateways) != (unsigned long )tmp2) { goto ldv_51419; } else { } tmp1 = tmp1->next; ldv_51423: ; if ((unsigned long )(& nets) != (unsigned long )tmp1) { goto ldv_51422; } else { } myrc = 0; goto out; token_error: tmp___18 = strlen((char const *)token); lnet_syntax((char *)"routes", (char *)(& cmd), (int )((unsigned int )((long )token) - (unsigned int )((long )str)), (int )tmp___18); out: lnet_free_text_bufs(& nets); lnet_free_text_bufs(& gateways); return (myrc); } } static int lnet_parse_route_tbs(struct list_head *tbs , int *im_a_router ) { struct lnet_text_buf_t *ltb ; struct list_head const *__mptr ; int tmp ; int tmp___0 ; { goto ldv_51433; ldv_51432: __mptr = (struct list_head const *)tbs->next; ltb = (struct lnet_text_buf_t *)__mptr; tmp = lnet_parse_route((char *)(& ltb->ltb_text), im_a_router); if (tmp < 0) { lnet_free_text_bufs(tbs); return (-22); } else { } list_del(& ltb->ltb_list); lnet_free_text_buf(ltb); ldv_51433: tmp___0 = list_empty((struct list_head const *)tbs); if (tmp___0 == 0) { goto ldv_51432; } else { } return (0); } } int lnet_parse_routes(char *routes___0 , int *im_a_router ) { struct list_head tbs ; int rc ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; int tmp___0 ; struct libcfs_debug_msg_data __msg_data ; long tmp___1 ; { rc = 0; *im_a_router = 0; INIT_LIST_HEAD(& tbs); tmp___0 = lnet_str2tbs_sep(& tbs, routes___0); if (tmp___0 < 0) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata.msg_fn = "lnet_parse_routes"; msgdata.msg_line = 803; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Error parsing routes\n"); } else { } rc = -22; } else { rc = lnet_parse_route_tbs(& tbs, im_a_router); } tmp___1 = ldv__builtin_expect(lnet_tbnob != 0, 0L); if (tmp___1 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data.msg_fn = "lnet_parse_routes"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 809; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lnet_tbnob == 0"); lbug_with_loc(& __msg_data); } else { } return (rc); } } static int lnet_match_network_token(char *token , int len , __u32 *ipaddrs , int nip ) { struct list_head list ; int rc ; int i ; { list.next = & list; list.prev = & list; rc = cfs_ip_addr_parse(token, len, & list); if (rc != 0) { return (rc); } else { } i = 0; rc = i; goto ldv_51455; ldv_51454: rc = cfs_ip_addr_match(*(ipaddrs + (unsigned long )i), & list); i = i + 1; ldv_51455: ; if (rc == 0 && i < nip) { goto ldv_51454; } else { } cfs_ip_addr_free(& list); return (rc); } } static int lnet_match_network_tokens(char *net_entry , __u32 *ipaddrs , int nip ) { char tokens[4096U] ; int matched ; int ntokens ; int len ; char *net ; char *sep ; char *token ; int rc ; struct libcfs_debug_msg_data __msg_data ; size_t tmp ; long tmp___0 ; char *tmp___1 ; char *tmp___2 ; int tmp___3 ; size_t tmp___4 ; { matched = 0; ntokens = 0; net = (char *)0; tmp = strlen((char const *)net_entry); tmp___0 = ldv__builtin_expect(tmp > 4095UL, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data.msg_fn = "lnet_match_network_tokens"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 845; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"strlen(net_entry) < sizeof(tokens)"); lbug_with_loc(& __msg_data); } else { } strcpy((char *)(& tokens), (char const *)net_entry); sep = (char *)(& tokens); ldv_51480: ; goto ldv_51473; ldv_51472: sep = sep + 1; ldv_51473: ; if (((int )_ctype[(int )((unsigned char )*sep)] & 32) != 0) { goto ldv_51472; } else { } if ((int )((signed char )*sep) == 0) { goto ldv_51475; } else { } tmp___1 = sep; sep = sep + 1; token = tmp___1; goto ldv_51477; ldv_51476: sep = sep + 1; ldv_51477: ; if ((int )((signed char )*sep) != 0 && ((int )_ctype[(int )((unsigned char )*sep)] & 32) == 0) { goto ldv_51476; } else { } if ((int )((signed char )*sep) != 0) { tmp___2 = sep; sep = sep + 1; *tmp___2 = 0; } else { } tmp___3 = ntokens; ntokens = ntokens + 1; if (tmp___3 == 0) { net = token; goto ldv_51479; } else { } tmp___4 = strlen((char const *)token); len = (int )tmp___4; rc = lnet_match_network_token(token, len, ipaddrs, nip); if (rc < 0) { lnet_syntax((char *)"ip2nets", net_entry, (int )((unsigned int )((long )token) - (unsigned int )((long )(& tokens))), len); return (rc); } else { } matched = (rc != 0) | matched; ldv_51479: ; goto ldv_51480; ldv_51475: ; if (matched == 0) { return (0); } else { } strcpy(net_entry, (char const *)net); return (1); } } static __u32 lnet_netspec2net(char *netspec ) { char *bracket ; char *tmp ; __u32 net ; { tmp = strchr((char const *)netspec, 40); bracket = tmp; if ((unsigned long )bracket != (unsigned long )((char *)0)) { *bracket = 0; } else { } net = libcfs_str2net((char const *)netspec); if ((unsigned long )bracket != (unsigned long )((char *)0)) { *bracket = 40; } else { } return (net); } } static int lnet_splitnets(char *source , struct list_head *nets ) { int offset ; int offset2 ; int len ; struct lnet_text_buf_t *tb ; struct lnet_text_buf_t *tb2 ; struct list_head *t ; char *sep ; char *bracket ; __u32 net ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; struct list_head const *__mptr ; size_t tmp___2 ; char *tmp___3 ; size_t tmp___4 ; __u32 tmp___5 ; struct list_head const *__mptr___0 ; size_t tmp___6 ; __u32 tmp___7 ; size_t tmp___8 ; { offset = 0; tmp = list_empty((struct list_head const *)nets); tmp___0 = ldv__builtin_expect(tmp != 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data.msg_fn = "lnet_splitnets"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 919; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!list_empty(nets)"); lbug_with_loc(& __msg_data); } else { } tmp___1 = ldv__builtin_expect((unsigned long )nets->next != (unsigned long )nets->prev, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data___0.msg_fn = "lnet_splitnets"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 920; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"nets->next == nets->prev"); lbug_with_loc(& __msg_data___0); } else { } __mptr = (struct list_head const *)nets->next; tb = (struct lnet_text_buf_t *)__mptr; ldv_51510: sep = strchr((char const *)(& tb->ltb_text), 44); bracket = strchr((char const *)(& tb->ltb_text), 40); if (((unsigned long )sep != (unsigned long )((char *)0) && (unsigned long )bracket != (unsigned long )((char *)0)) && (unsigned long )bracket < (unsigned long )sep) { offset2 = (int )((unsigned int )((long )bracket) - (unsigned int )((long )(& tb->ltb_text))) + offset; tmp___2 = strlen((char const *)bracket); len = (int )tmp___2; bracket = strchr((char const *)bracket + 1U, 41); if ((unsigned long )bracket == (unsigned long )((char *)0) || ((int )((signed char )*(bracket + 1UL)) != 44 && (int )((signed char )*(bracket + 1UL)) != 0)) { lnet_syntax((char *)"ip2nets", source, offset2, len); return (-22); } else { } sep = (int )((signed char )*(bracket + 1UL)) != 0 ? bracket + 1UL : (char *)0; } else { } if ((unsigned long )sep != (unsigned long )((char *)0)) { tmp___3 = sep; sep = sep + 1; *tmp___3 = 0; } else { } net = lnet_netspec2net((char *)(& tb->ltb_text)); tmp___5 = LNET_NIDNET(0xffffffffffffffffULL); if (tmp___5 == net) { tmp___4 = strlen((char const *)(& tb->ltb_text)); lnet_syntax((char *)"ip2nets", source, offset, (int )tmp___4); return (-22); } else { } t = nets->next; goto ldv_51508; ldv_51507: __mptr___0 = (struct list_head const *)t; tb2 = (struct lnet_text_buf_t *)__mptr___0; if ((unsigned long )tb2 == (unsigned long )tb) { goto ldv_51506; } else { } tmp___7 = lnet_netspec2net((char *)(& tb2->ltb_text)); if (tmp___7 == net) { tmp___6 = strlen((char const *)(& tb->ltb_text)); lnet_syntax((char *)"ip2nets", source, offset, (int )tmp___6); return (-22); } else { } ldv_51506: t = t->next; ldv_51508: ; if ((unsigned long )t != (unsigned long )nets) { goto ldv_51507; } else { } if ((unsigned long )sep == (unsigned long )((char *)0)) { return (0); } else { } offset = (int )((unsigned int )((long )sep) - (unsigned int )((long )(& tb->ltb_text))) + offset; tmp___8 = strlen((char const *)sep); tb2 = lnet_new_text_buf((int )tmp___8); if ((unsigned long )tb2 == (unsigned long )((struct lnet_text_buf_t *)0)) { return (-12); } else { } strcpy((char *)(& tb2->ltb_text), (char const *)sep); list_add_tail(& tb2->ltb_list, nets); tb = tb2; goto ldv_51510; } } static int lnet_match_networks(char **networksp , char *ip2nets___0 , __u32 *ipaddrs , int nip ) { char networks___0[4096U] ; char source[4096U] ; struct list_head raw_entries ; struct list_head matched_nets ; struct list_head current_nets ; struct list_head *t ; struct list_head *t2 ; struct lnet_text_buf_t *tb ; struct lnet_text_buf_t *tb2 ; __u32 net1 ; __u32 net2 ; int len ; int count ; int dup ; int rc ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; struct libcfs_debug_msg_data __msg_data ; long tmp___0 ; int tmp___1 ; struct list_head const *__mptr ; struct list_head const *__mptr___0 ; struct libcfs_debug_msg_data __msg_data___0 ; __u32 tmp___2 ; long tmp___3 ; struct list_head const *__mptr___1 ; struct libcfs_debug_msg_data __msg_data___1 ; __u32 tmp___4 ; long tmp___5 ; struct list_head const *__mptr___2 ; int tmp___6 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___7 ; int tmp___8 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___9 ; { INIT_LIST_HEAD(& raw_entries); tmp___1 = lnet_str2tbs_sep(& raw_entries, ip2nets___0); if (tmp___1 < 0) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata.msg_fn = "lnet_match_networks"; msgdata.msg_line = 1008; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Error parsing ip2nets\n"); } else { } tmp___0 = ldv__builtin_expect(lnet_tbnob != 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data.msg_fn = "lnet_match_networks"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1009; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lnet_tbnob == 0"); lbug_with_loc(& __msg_data); } else { } return (-22); } else { } INIT_LIST_HEAD(& matched_nets); INIT_LIST_HEAD(& current_nets); networks___0[0] = 0; count = 0; len = 0; rc = 0; goto ldv_51539; ldv_51560: __mptr = (struct list_head const *)raw_entries.next; tb = (struct lnet_text_buf_t *)__mptr; strncpy((char *)(& source), (char const *)(& tb->ltb_text), 4095UL); source[4095UL] = 0; rc = lnet_match_network_tokens((char *)(& tb->ltb_text), ipaddrs, nip); if (rc < 0) { goto ldv_51538; } else { } list_del(& tb->ltb_list); if (rc == 0) { lnet_free_text_buf(tb); goto ldv_51539; } else { } INIT_LIST_HEAD(& current_nets); list_add(& tb->ltb_list, & current_nets); rc = lnet_splitnets((char *)(& source), & current_nets); if (rc < 0) { goto ldv_51538; } else { } dup = 0; t = current_nets.next; goto ldv_51551; ldv_51550: __mptr___0 = (struct list_head const *)t; tb = (struct lnet_text_buf_t *)__mptr___0; net1 = lnet_netspec2net((char *)(& tb->ltb_text)); tmp___2 = LNET_NIDNET(0xffffffffffffffffULL); tmp___3 = ldv__builtin_expect(tmp___2 == net1, 0L); if (tmp___3 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data___0.msg_fn = "lnet_match_networks"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1050; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"net1 != LNET_NIDNET(((lnet_nid_t) -1))"); lbug_with_loc(& __msg_data___0); } else { } t2 = matched_nets.next; goto ldv_51548; ldv_51547: __mptr___1 = (struct list_head const *)t2; tb2 = (struct lnet_text_buf_t *)__mptr___1; net2 = lnet_netspec2net((char *)(& tb2->ltb_text)); tmp___4 = LNET_NIDNET(0xffffffffffffffffULL); tmp___5 = ldv__builtin_expect(tmp___4 == net2, 0L); if (tmp___5 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data___1.msg_fn = "lnet_match_networks"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 1056; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"net2 != LNET_NIDNET(((lnet_nid_t) -1))"); lbug_with_loc(& __msg_data___1); } else { } if (net1 == net2) { dup = 1; goto ldv_51546; } else { } t2 = t2->next; ldv_51548: ; if ((unsigned long )(& matched_nets) != (unsigned long )t2) { goto ldv_51547; } else { } ldv_51546: ; if (dup != 0) { goto ldv_51549; } else { } t = t->next; ldv_51551: ; if ((unsigned long )(& current_nets) != (unsigned long )t) { goto ldv_51550; } else { } ldv_51549: ; if (dup != 0) { lnet_free_text_bufs(& current_nets); goto ldv_51539; } else { } t = current_nets.next; t2 = t->next; goto ldv_51558; ldv_51557: __mptr___2 = (struct list_head const *)t; tb = (struct lnet_text_buf_t *)__mptr___2; list_del(& tb->ltb_list); list_add_tail(& tb->ltb_list, & matched_nets); tmp___6 = snprintf((char *)(& networks___0) + (unsigned long )len, 4096UL - (unsigned long )len, "%s%s", len == 0 ? (char *)"" : (char *)",", (char *)(& tb->ltb_text)); len = tmp___6 + len; if ((unsigned int )len > 4095U) { tmp___7 = cfs_cdebug_show(131072U, 1024U); if (tmp___7 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___0.msg_fn = "lnet_match_networks"; msgdata___0.msg_line = 1084; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "Too many matched networks\n"); } else { } rc = -7; goto out; } else { } t = t2; t2 = t->next; ldv_51558: ; if ((unsigned long )(& current_nets) != (unsigned long )t) { goto ldv_51557; } else { } count = count + 1; ldv_51539: tmp___8 = list_empty((struct list_head const *)(& raw_entries)); if (tmp___8 == 0) { goto ldv_51560; } else { } ldv_51538: ; out: lnet_free_text_bufs(& raw_entries); lnet_free_text_bufs(& matched_nets); lnet_free_text_bufs(& current_nets); tmp___9 = ldv__builtin_expect(lnet_tbnob != 0, 0L); if (tmp___9 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data___2.msg_fn = "lnet_match_networks"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 1097; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"lnet_tbnob == 0"); lbug_with_loc(& __msg_data___2); } else { } if (rc < 0) { return (rc); } else { } *networksp = (char *)(& networks___0); return (count); } } static void lnet_ipaddr_free_enumeration(__u32 *ipaddrs , int nip ) { int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; int tmp___2 ; long tmp___3 ; { s = (int )((unsigned int )nip * 4U); tmp___0 = ldv__builtin_expect((unsigned long )ipaddrs == (unsigned long )((__u32 *)0U), 0L); if (tmp___0 != 0L) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata.msg_fn = "lnet_ipaddr_free_enumeration"; msgdata.msg_line = 1109; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'ipaddrs\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c", 1109); } else { } goto ldv_51570; } else { } atomic_sub(s, & libcfs_kmemory); tmp___2 = cfs_cdebug_show(16U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___0.msg_fn = "lnet_ipaddr_free_enumeration"; msgdata___0.msg_line = 1109; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___1 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'ipaddrs\': %d at %p (tot %d).\n", s, ipaddrs, tmp___1); } else { } tmp___3 = ldv__builtin_expect(s > 8192, 0L); if (tmp___3 != 0L) { vfree((void const *)ipaddrs); } else { kfree((void const *)ipaddrs); } ldv_51570: ; return; } } static int lnet_ipaddr_enumerate(__u32 **ipaddrsp ) { int up___0 ; __u32 netmask ; __u32 *ipaddrs ; __u32 *ipaddrs2 ; int nip ; char **ifnames ; int nif ; int tmp ; int i ; int rc ; struct libcfs_debug_msg_data __msg_data ; int tmp___0 ; long tmp___1 ; void *tmp___2 ; void *tmp___3 ; void *tmp___4 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___5 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___6 ; int tmp___7 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___8 ; int tmp___9 ; long tmp___10 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___11 ; int tmp___12 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___13 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___4 ; int tmp___14 ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___15 ; long tmp___16 ; void *tmp___17 ; void *tmp___18 ; void *tmp___19 ; struct cfs_debug_limit_state cdls___4 ; struct libcfs_debug_msg_data msgdata___5 ; int tmp___20 ; struct cfs_debug_limit_state cdls___5 ; struct libcfs_debug_msg_data msgdata___6 ; int tmp___21 ; int tmp___22 ; struct libcfs_debug_msg_data msgdata___7 ; int tmp___23 ; int tmp___24 ; long tmp___25 ; struct cfs_debug_limit_state cdls___6 ; struct libcfs_debug_msg_data msgdata___8 ; int tmp___26 ; { tmp = lnet_ipif_enumerate(& ifnames); nif = tmp; if (nif <= 0) { return (nif); } else { } tmp___0 = preempt_count(); tmp___1 = ldv__builtin_expect((long )(((unsigned long )tmp___0 & 2096896UL) != 0UL && 1), 0L); if (tmp___1 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data.msg_fn = "lnet_ipaddr_enumerate"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1128; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((nif * sizeof(*ipaddrs))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } if ((unsigned long )nif * 4UL <= 8192UL) { tmp___2 = kmalloc((unsigned long )nif * 4UL, 80U); tmp___4 = tmp___2; } else { tmp___3 = vmalloc((unsigned long )nif * 4UL); tmp___4 = tmp___3; } ipaddrs = (__u32 *)tmp___4; tmp___10 = ldv__builtin_expect((unsigned long )ipaddrs == (unsigned long )((__u32 *)0U), 0L); if (tmp___10 != 0L) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata.msg_fn = "lnet_ipaddr_enumerate"; msgdata.msg_line = 1128; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LNET: out of memory at %s:%d (tried to alloc \'(ipaddrs)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c", 1128, (int )((unsigned int )nif * 4U)); } else { } tmp___7 = cfs_cdebug_show(131072U, 1024U); if (tmp___7 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___0.msg_fn = "lnet_ipaddr_enumerate"; msgdata___0.msg_line = 1128; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___6 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "LNET: %d total bytes allocated by lnet\n", tmp___6); } else { } } else { memset((void *)ipaddrs, 0, (unsigned long )nif * 4UL); atomic_add((int )((unsigned int )nif * 4U), & libcfs_kmemory); tmp___9 = cfs_cdebug_show(16U, 1024U); if (tmp___9 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___1.msg_fn = "lnet_ipaddr_enumerate"; msgdata___1.msg_line = 1128; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___8 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "alloc \'(ipaddrs)\': %d at %p (tot %d).\n", (int )((unsigned int )nif * 4U), ipaddrs, tmp___8); } else { } } if ((unsigned long )ipaddrs == (unsigned long )((__u32 *)0U)) { tmp___11 = cfs_cdebug_show(131072U, 1024U); if (tmp___11 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___2.msg_fn = "lnet_ipaddr_enumerate"; msgdata___2.msg_line = 1130; msgdata___2.msg_cdls = & cdls___1; msgdata___2.msg_mask = 131072; libcfs_debug_msg(& msgdata___2, "Can\'t allocate ipaddrs[%d]\n", nif); } else { } lnet_ipif_free_enumeration(ifnames, nif); return (-12); } else { } nip = 0; i = nip; goto ldv_51599; ldv_51598: tmp___12 = strcmp((char const *)*(ifnames + (unsigned long )i), "lo"); if (tmp___12 == 0) { goto ldv_51593; } else { } rc = lnet_ipif_query(*(ifnames + (unsigned long )i), & up___0, ipaddrs + (unsigned long )nip, & netmask); if (rc != 0) { tmp___13 = cfs_cdebug_show(1024U, 1024U); if (tmp___13 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___3.msg_fn = "lnet_ipaddr_enumerate"; msgdata___3.msg_line = 1142; msgdata___3.msg_cdls = & cdls___2; msgdata___3.msg_mask = 1024; libcfs_debug_msg(& msgdata___3, "Can\'t query interface %s: %d\n", *(ifnames + (unsigned long )i), rc); } else { } goto ldv_51593; } else { } if (up___0 == 0) { tmp___14 = cfs_cdebug_show(1024U, 1024U); if (tmp___14 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___4.msg_fn = "lnet_ipaddr_enumerate"; msgdata___4.msg_line = 1148; msgdata___4.msg_cdls = & cdls___3; msgdata___4.msg_mask = 1024; libcfs_debug_msg(& msgdata___4, "Ignoring interface %s: it\'s down\n", *(ifnames + (unsigned long )i)); } else { } goto ldv_51593; } else { } nip = nip + 1; ldv_51593: i = i + 1; ldv_51599: ; if (i < nif) { goto ldv_51598; } else { } lnet_ipif_free_enumeration(ifnames, nif); if (nip == nif) { *ipaddrsp = ipaddrs; } else { if (nip > 0) { tmp___15 = preempt_count(); tmp___16 = ldv__builtin_expect((long )(((unsigned long )tmp___15 & 2096896UL) != 0UL && 1), 0L); if (tmp___16 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; __msg_data___0.msg_fn = "lnet_ipaddr_enumerate"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1161; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((nip * sizeof(*ipaddrs2))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data___0); } else { } if ((unsigned long )nip * 4UL <= 8192UL) { tmp___17 = kmalloc((unsigned long )nip * 4UL, 80U); tmp___19 = tmp___17; } else { tmp___18 = vmalloc((unsigned long )nip * 4UL); tmp___19 = tmp___18; } ipaddrs2 = (__u32 *)tmp___19; tmp___25 = ldv__builtin_expect((unsigned long )ipaddrs2 == (unsigned long )((__u32 *)0U), 0L); if (tmp___25 != 0L) { tmp___20 = cfs_cdebug_show(131072U, 1024U); if (tmp___20 != 0) { msgdata___5.msg_subsys = 1024; msgdata___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___5.msg_fn = "lnet_ipaddr_enumerate"; msgdata___5.msg_line = 1161; msgdata___5.msg_cdls = & cdls___4; msgdata___5.msg_mask = 131072; libcfs_debug_msg(& msgdata___5, "LNET: out of memory at %s:%d (tried to alloc \'(ipaddrs2)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c", 1161, (int )((unsigned int )nip * 4U)); } else { } tmp___22 = cfs_cdebug_show(131072U, 1024U); if (tmp___22 != 0) { msgdata___6.msg_subsys = 1024; msgdata___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___6.msg_fn = "lnet_ipaddr_enumerate"; msgdata___6.msg_line = 1161; msgdata___6.msg_cdls = & cdls___5; msgdata___6.msg_mask = 131072; tmp___21 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___6, "LNET: %d total bytes allocated by lnet\n", tmp___21); } else { } } else { memset((void *)ipaddrs2, 0, (unsigned long )nip * 4UL); atomic_add((int )((unsigned int )nip * 4U), & libcfs_kmemory); tmp___24 = cfs_cdebug_show(16U, 1024U); if (tmp___24 != 0) { msgdata___7.msg_subsys = 1024; msgdata___7.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___7.msg_fn = "lnet_ipaddr_enumerate"; msgdata___7.msg_line = 1161; msgdata___7.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___7.msg_mask = 16; tmp___23 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___7, "alloc \'(ipaddrs2)\': %d at %p (tot %d).\n", (int )((unsigned int )nip * 4U), ipaddrs2, tmp___23); } else { } } if ((unsigned long )ipaddrs2 == (unsigned long )((__u32 *)0U)) { tmp___26 = cfs_cdebug_show(131072U, 1024U); if (tmp___26 != 0) { msgdata___8.msg_subsys = 1024; msgdata___8.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___8.msg_fn = "lnet_ipaddr_enumerate"; msgdata___8.msg_line = 1163; msgdata___8.msg_cdls = & cdls___6; msgdata___8.msg_mask = 131072; libcfs_debug_msg(& msgdata___8, "Can\'t allocate ipaddrs[%d]\n", nip); } else { } nip = -12; } else { memcpy((void *)ipaddrs2, (void const *)ipaddrs, (unsigned long )nip * 4UL); *ipaddrsp = ipaddrs2; rc = nip; } } else { } lnet_ipaddr_free_enumeration(ipaddrs, nif); } return (nip); } } int lnet_parse_ip2nets(char **networksp , char *ip2nets___0 ) { __u32 *ipaddrs ; int nip ; int tmp ; int rc ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___2 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___3 ; { ipaddrs = (__u32 *)0U; tmp = lnet_ipaddr_enumerate(& ipaddrs); nip = tmp; if (nip < 0) { tmp___0 = cfs_cdebug_show(33685504U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata.msg_fn = "lnet_parse_ip2nets"; msgdata.msg_line = 1187; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 33685504; libcfs_debug_msg(& msgdata, "%x-%x: Error %d enumerating local IP interfaces for ip2nets to match\n", 279, 7, nip); } else { } return (nip); } else { } if (nip == 0) { tmp___1 = cfs_cdebug_show(33685504U, 1024U); if (tmp___1 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___0.msg_fn = "lnet_parse_ip2nets"; msgdata___0.msg_line = 1193; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 33685504; libcfs_debug_msg(& msgdata___0, "%x-%x: No local IP interfaces for ip2nets to match\n", 280, 8); } else { } return (-2); } else { } rc = lnet_match_networks(networksp, ip2nets___0, ipaddrs, nip); lnet_ipaddr_free_enumeration(ipaddrs, nip); if (rc < 0) { tmp___2 = cfs_cdebug_show(33685504U, 1024U); if (tmp___2 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___1.msg_fn = "lnet_parse_ip2nets"; msgdata___1.msg_line = 1201; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 33685504; libcfs_debug_msg(& msgdata___1, "%x-%x: Error %d parsing ip2nets\n", 281, 9, rc); } else { } return (rc); } else { } if (rc == 0) { tmp___3 = cfs_cdebug_show(33685504U, 1024U); if (tmp___3 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/config.c"; msgdata___2.msg_fn = "lnet_parse_ip2nets"; msgdata___2.msg_line = 1207; msgdata___2.msg_cdls = & cdls___2; msgdata___2.msg_mask = 33685504; libcfs_debug_msg(& msgdata___2, "%x-%x: ip2nets does not match any local IP interfaces\n", 282, 10); } else { } return (-2); } else { } return (0); } } __inline static long ldv__builtin_expect(long exp , long c ) ; int LNetMEInsert(lnet_handle_me_t current_meh , lnet_process_id_t match_id , __u64 match_bits , __u64 ignore_bits , lnet_unlink_t unlink , lnet_ins_pos_t pos , lnet_handle_me_t *handle ) ; __inline static int lnet_cpt_of_cookie(__u64 cookie ) { unsigned int cpt ; { cpt = (unsigned int )(cookie >> 2) & ((unsigned int )(1ULL << (int )the_lnet.ln_cpt_bits) - 1U); return ((int )(the_lnet.ln_cpt_number <= cpt ? cpt % the_lnet.ln_cpt_number : cpt)); } } __inline static void lnet_res_lock(int cpt ) { { cfs_percpt_lock(the_lnet.ln_res_lock, cpt); return; } } __inline static void lnet_res_unlock(int cpt ) { { cfs_percpt_unlock(the_lnet.ln_res_lock, cpt); return; } } __inline static lnet_me_t *lnet_me_alloc(void) { lnet_me_t *me ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; void *tmp___1 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___2 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___3 ; int tmp___4 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___5 ; int tmp___6 ; long tmp___7 ; { tmp = preempt_count(); tmp___0 = ldv__builtin_expect((long )(((unsigned long )tmp & 2096896UL) != 0UL && 1), 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; __msg_data.msg_fn = "lnet_me_alloc"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 225; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((sizeof(*me))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } tmp___1 = kmalloc(96UL, 80U); me = (lnet_me_t *)tmp___1; tmp___7 = ldv__builtin_expect((unsigned long )me == (unsigned long )((lnet_me_t *)0), 0L); if (tmp___7 != 0L) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata.msg_fn = "lnet_me_alloc"; msgdata.msg_line = 225; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LNET: out of memory at %s:%d (tried to alloc \'(me)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h", 225, 96); } else { } tmp___4 = cfs_cdebug_show(131072U, 1024U); if (tmp___4 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata___0.msg_fn = "lnet_me_alloc"; msgdata___0.msg_line = 225; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___3 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "LNET: %d total bytes allocated by lnet\n", tmp___3); } else { } } else { memset((void *)me, 0, 96UL); atomic_add(96, & libcfs_kmemory); tmp___6 = cfs_cdebug_show(16U, 1024U); if (tmp___6 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata___1.msg_fn = "lnet_me_alloc"; msgdata___1.msg_line = 225; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___5 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "alloc \'(me)\': %d at %p (tot %d).\n", 96, me, tmp___5); } else { } } return (me); } } __inline static void lnet_me_free(lnet_me_t *me ) { int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; int tmp___2 ; long tmp___3 ; { s = 96; tmp___0 = ldv__builtin_expect((unsigned long )me == (unsigned long )((lnet_me_t *)0), 0L); if (tmp___0 != 0L) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata.msg_fn = "lnet_me_free"; msgdata.msg_line = 232; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'me\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h", 232); } else { } goto ldv_50598; } else { } atomic_sub(s, & libcfs_kmemory); tmp___2 = cfs_cdebug_show(16U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata___0.msg_fn = "lnet_me_free"; msgdata___0.msg_line = 232; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___1 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'me\': %d at %p (tot %d).\n", s, me, tmp___1); } else { } tmp___3 = ldv__builtin_expect(s > 8192, 0L); if (tmp___3 != 0L) { vfree((void const *)me); } else { kfree((void const *)me); } ldv_50598: ; return; } } __inline static void lnet_res_lh_invalidate(lnet_libhandle_t *lh ) { { list_del(& lh->lh_hash_chain); return; } } __inline static void lnet_me2handle(lnet_handle_me_t *handle , lnet_me_t *me ) { { handle->cookie = me->me_lh.lh_cookie; return; } } __inline static lnet_me_t *lnet_handle2me(lnet_handle_me_t *handle ) { lnet_libhandle_t *lh ; int cpt ; { cpt = lnet_cpt_of_cookie(handle->cookie); lh = lnet_res_lh_lookup(*(the_lnet.ln_me_containers + (unsigned long )cpt), handle->cookie); if ((unsigned long )lh == (unsigned long )((lnet_libhandle_t *)0)) { return ((lnet_me_t *)0); } else { } return ((lnet_me_t *)((long )lh + -16L)); } } void lnet_build_unlink_event(lnet_libmd_t *md , lnet_event_t *ev ) ; void lnet_eq_enqueue_event(lnet_eq_t *eq , lnet_event_t *ev ) ; __inline static int lnet_ptl_is_unique(lnet_portal_t *ptl ) { { return ((ptl->ptl_options & 2U) != 0U); } } struct list_head *lnet_mt_match_head(struct lnet_match_table *mtable , lnet_process_id_t id , __u64 mbits ) ; struct lnet_match_table *lnet_mt_of_attach(unsigned int index , lnet_process_id_t id , __u64 mbits , __u64 ignore_bits , lnet_ins_pos_t pos ) ; void lnet_ptl_detach_md(lnet_me_t *me , lnet_libmd_t *md ) ; void lnet_me_unlink(lnet_me_t *me ) ; void lnet_md_unlink(lnet_libmd_t *md ) ; int LNetMEAttach(unsigned int portal , lnet_process_id_t match_id , __u64 match_bits , __u64 ignore_bits , lnet_unlink_t unlink , lnet_ins_pos_t pos , lnet_handle_me_t *handle ) { struct lnet_match_table *mtable ; struct lnet_me *me ; struct list_head *head ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; lnet_me_t *tmp___1 ; { tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-me.c"; __msg_data.msg_fn = "LNetMEAttach"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 86; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-me.c"; __msg_data___0.msg_fn = "LNetMEAttach"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 87; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } if ((int )portal >= the_lnet.ln_nportals) { return (-22); } else { } mtable = lnet_mt_of_attach(portal, match_id, match_bits, ignore_bits, pos); if ((unsigned long )mtable == (unsigned long )((struct lnet_match_table *)0)) { return (-1); } else { } tmp___1 = lnet_me_alloc(); me = tmp___1; if ((unsigned long )me == (unsigned long )((struct lnet_me *)0)) { return (-12); } else { } lnet_res_lock((int )mtable->mt_cpt); me->me_portal = portal; me->me_match_id = match_id; me->me_match_bits = match_bits; me->me_ignore_bits = ignore_bits; me->me_unlink = unlink; me->me_md = (struct lnet_libmd *)0; lnet_res_lh_initialize(*(the_lnet.ln_me_containers + (unsigned long )mtable->mt_cpt), & me->me_lh); if (ignore_bits != 0ULL) { head = mtable->mt_mhash + 256UL; } else { head = lnet_mt_match_head(mtable, match_id, match_bits); } me->me_pos = (unsigned int )(((long )head - (long )mtable->mt_mhash) / 16L); if ((unsigned int )pos == 1U || (unsigned int )pos == 2U) { list_add_tail(& me->me_list, head); } else { list_add(& me->me_list, head); } lnet_me2handle(handle, me); lnet_res_unlock((int )mtable->mt_cpt); return (0); } } static char const __kstrtab_LNetMEAttach[13U] = { 'L', 'N', 'e', 't', 'M', 'E', 'A', 't', 't', 'a', 'c', 'h', '\000'}; struct kernel_symbol const __ksymtab_LNetMEAttach ; struct kernel_symbol const __ksymtab_LNetMEAttach = {(unsigned long )(& LNetMEAttach), (char const *)(& __kstrtab_LNetMEAttach)}; int LNetMEInsert(lnet_handle_me_t current_meh , lnet_process_id_t match_id , __u64 match_bits , __u64 ignore_bits , lnet_unlink_t unlink , lnet_ins_pos_t pos , lnet_handle_me_t *handle ) { struct lnet_me *current_me ; struct lnet_me *new_me ; struct lnet_portal *ptl ; int cpt ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; lnet_me_t *tmp___1 ; lnet_me_t *tmp___2 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___3 ; int tmp___4 ; { tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-me.c"; __msg_data.msg_fn = "LNetMEInsert"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 159; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-me.c"; __msg_data___0.msg_fn = "LNetMEInsert"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 160; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } if ((unsigned int )pos == 2U) { return (-1); } else { } tmp___1 = lnet_me_alloc(); new_me = tmp___1; if ((unsigned long )new_me == (unsigned long )((struct lnet_me *)0)) { return (-12); } else { } cpt = lnet_cpt_of_cookie(current_meh.cookie); lnet_res_lock(cpt); tmp___2 = lnet_handle2me(& current_meh); current_me = tmp___2; if ((unsigned long )current_me == (unsigned long )((struct lnet_me *)0)) { lnet_me_free(new_me); lnet_res_unlock(cpt); return (-2); } else { } tmp___3 = ldv__builtin_expect(current_me->me_portal >= (unsigned int )the_lnet.ln_nportals, 0L); if (tmp___3 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-me.c"; __msg_data___1.msg_fn = "LNetMEInsert"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 181; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"current_me->me_portal < the_lnet.ln_nportals"); lbug_with_loc(& __msg_data___1); } else { } ptl = *(the_lnet.ln_portals + (unsigned long )current_me->me_portal); tmp___4 = lnet_ptl_is_unique(ptl); if (tmp___4 != 0) { lnet_me_free(new_me); lnet_res_unlock(cpt); return (-1); } else { } new_me->me_pos = current_me->me_pos; new_me->me_portal = current_me->me_portal; new_me->me_match_id = match_id; new_me->me_match_bits = match_bits; new_me->me_ignore_bits = ignore_bits; new_me->me_unlink = unlink; new_me->me_md = (struct lnet_libmd *)0; lnet_res_lh_initialize(*(the_lnet.ln_me_containers + (unsigned long )cpt), & new_me->me_lh); if ((unsigned int )pos == 1U) { list_add(& new_me->me_list, & current_me->me_list); } else { list_add_tail(& new_me->me_list, & current_me->me_list); } lnet_me2handle(handle, new_me); lnet_res_unlock(cpt); return (0); } } static char const __kstrtab_LNetMEInsert[13U] = { 'L', 'N', 'e', 't', 'M', 'E', 'I', 'n', 's', 'e', 'r', 't', '\000'}; struct kernel_symbol const __ksymtab_LNetMEInsert ; struct kernel_symbol const __ksymtab_LNetMEInsert = {(unsigned long )(& LNetMEInsert), (char const *)(& __kstrtab_LNetMEInsert)}; int LNetMEUnlink(lnet_handle_me_t meh ) { lnet_me_t *me ; lnet_libmd_t *md ; lnet_event_t ev ; int cpt ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; { tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-me.c"; __msg_data.msg_fn = "LNetMEUnlink"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 236; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-me.c"; __msg_data___0.msg_fn = "LNetMEUnlink"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 237; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } cpt = lnet_cpt_of_cookie(meh.cookie); lnet_res_lock(cpt); me = lnet_handle2me(& meh); if ((unsigned long )me == (unsigned long )((lnet_me_t *)0)) { lnet_res_unlock(cpt); return (-2); } else { } md = me->me_md; if ((unsigned long )md != (unsigned long )((lnet_libmd_t *)0)) { md->md_flags = md->md_flags | 4U; if ((unsigned long )md->md_eq != (unsigned long )((lnet_eq_t *)0) && md->md_refcount == 0) { lnet_build_unlink_event(md, & ev); lnet_eq_enqueue_event(md->md_eq, & ev); } else { } } else { } lnet_me_unlink(me); lnet_res_unlock(cpt); return (0); } } static char const __kstrtab_LNetMEUnlink[13U] = { 'L', 'N', 'e', 't', 'M', 'E', 'U', 'n', 'l', 'i', 'n', 'k', '\000'}; struct kernel_symbol const __ksymtab_LNetMEUnlink ; struct kernel_symbol const __ksymtab_LNetMEUnlink = {(unsigned long )(& LNetMEUnlink), (char const *)(& __kstrtab_LNetMEUnlink)}; void lnet_me_unlink(lnet_me_t *me ) { lnet_libmd_t *md ; { list_del(& me->me_list); if ((unsigned long )me->me_md != (unsigned long )((struct lnet_libmd *)0)) { md = me->me_md; lnet_ptl_detach_md(me, md); lnet_md_unlink(md); } else { } lnet_res_lh_invalidate(& me->me_lh); lnet_me_free(me); return; } } __inline static long ldv__builtin_expect(long exp , long c ) ; extern void *__kmalloc_node(size_t , gfp_t , int ) ; __inline static void *kmalloc_node(size_t size , gfp_t flags , int node ) { void *tmp___1 ; { tmp___1 = __kmalloc_node(size, flags, node); return (tmp___1); } } extern int cfs_cpt_weight(struct cfs_cpt_table * , int ) ; __inline static int lnet_md_exhausted(lnet_libmd_t *md ) { { return (md->md_threshold == 0 || ((md->md_options & 128U) != 0U && md->md_offset + md->md_max_size > md->md_length)); } } __inline static int lnet_md_unlinkable(lnet_libmd_t *md ) { int tmp ; int tmp___0 ; { if (md->md_refcount != 0) { return (0); } else { } if ((int )md->md_flags & 1) { return (1); } else { } if ((md->md_flags & 2U) != 0U) { tmp = lnet_md_exhausted(md); if (tmp != 0) { tmp___0 = 1; } else { tmp___0 = 0; } } else { tmp___0 = 0; } return (tmp___0); } } __inline static void lnet_msg_free(lnet_msg_t *msg ) { struct libcfs_debug_msg_data __msg_data ; long tmp ; int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; long tmp___1 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___2 ; int tmp___3 ; long tmp___4 ; { tmp = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 65UL) != 0U, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; __msg_data.msg_fn = "lnet_msg_free"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 249; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_onactivelist"); lbug_with_loc(& __msg_data); } else { } s = 352; tmp___1 = ldv__builtin_expect((unsigned long )msg == (unsigned long )((lnet_msg_t *)0), 0L); if (tmp___1 != 0L) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata.msg_fn = "lnet_msg_free"; msgdata.msg_line = 250; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'msg\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h", 250); } else { } goto ldv_50619; } else { } atomic_sub(s, & libcfs_kmemory); tmp___3 = cfs_cdebug_show(16U, 1024U); if (tmp___3 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata___0.msg_fn = "lnet_msg_free"; msgdata___0.msg_line = 250; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___2 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'msg\': %d at %p (tot %d).\n", s, msg, tmp___2); } else { } tmp___4 = ldv__builtin_expect(s > 8192, 0L); if (tmp___4 != 0L) { vfree((void const *)msg); } else { kfree((void const *)msg); } ldv_50619: ; return; } } __inline static void lnet_md2handle(lnet_handle_md_t *handle , lnet_libmd_t *md ) { { handle->cookie = md->md_lh.lh_cookie; return; } } void lnet_msg_attach_md(lnet_msg_t *msg , lnet_libmd_t *md , unsigned int offset , unsigned int mlen ) ; void lnet_msg_detach_md(lnet_msg_t *msg , int status ) ; void lnet_build_msg_event(lnet_msg_t *msg , lnet_event_kind_t ev_type ) ; void lnet_msg_commit(lnet_msg_t *msg , int cpt ) ; void lnet_msg_decommit(lnet_msg_t *msg , int cpt , int status ) ; void lnet_prep_send(lnet_msg_t *msg , int type , lnet_process_id_t target , unsigned int offset , unsigned int len ) ; int lnet_send(lnet_nid_t src_nid , lnet_msg_t *msg , lnet_nid_t rtr_nid ) ; void lnet_return_tx_credits_locked(lnet_msg_t *msg ) ; void lnet_return_rx_credits_locked(lnet_msg_t *msg ) ; void lnet_finalize(lnet_ni_t *ni , lnet_msg_t *msg , int status ) ; int lnet_msg_container_setup(struct lnet_msg_container *container , int cpt ) ; void lnet_msg_container_cleanup(struct lnet_msg_container *container ) ; void lnet_md_deconstruct(lnet_libmd_t *lmd , lnet_md_t *umd ) ; void lnet_build_unlink_event(lnet_libmd_t *md , lnet_event_t *ev ) { { memset((void *)ev, 0, 144UL); ev->status = 0; ev->unlinked = 1; ev->type = 6; lnet_md_deconstruct(md, & ev->md); lnet_md2handle(& ev->md_handle, md); return; } } void lnet_build_msg_event(lnet_msg_t *msg , lnet_event_kind_t ev_type ) { lnet_hdr_t *hdr ; lnet_event_t *ev ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data msgdata ; unsigned int tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; unsigned int tmp___2 ; { hdr = & msg->msg_hdr; ev = & msg->msg_ev; tmp = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) != 0U, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data.msg_fn = "lnet_build_msg_event"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 66; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_routing"); lbug_with_loc(& __msg_data); } else { } ev->type = ev_type; if ((unsigned int )ev_type == 5U) { ev->target.nid = hdr->dest_nid; ev->target.pid = hdr->dest_pid; ev->initiator.nid = 0xffffffffffffffffULL; ev->initiator.pid = the_lnet.ln_pid; ev->sender = 0xffffffffffffffffULL; } else { ev->target.pid = hdr->dest_pid; ev->target.nid = hdr->dest_nid; ev->initiator.pid = hdr->src_pid; ev->initiator.nid = hdr->src_nid; ev->rlength = hdr->payload_length; ev->sender = msg->msg_from; ev->mlength = msg->msg_wanted; ev->offset = msg->msg_offset; } switch ((unsigned int )ev_type) { default: msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; msgdata.msg_fn = "lnet_build_msg_event"; msgdata.msg_subsys = 1024; msgdata.msg_line = 92; msgdata.msg_mask = 0; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 262144; lbug_with_loc(& msgdata); case 2U: ev->pt_index = hdr->msg.put.ptl_index; ev->match_bits = hdr->msg.put.match_bits; ev->hdr_data = hdr->msg.put.hdr_data; return; case 1U: ev->pt_index = hdr->msg.get.ptl_index; ev->match_bits = hdr->msg.get.match_bits; ev->hdr_data = 0ULL; return; case 4U: ev->match_bits = hdr->msg.ack.match_bits; ev->mlength = hdr->msg.ack.mlength; return; case 3U: ; return; case 5U: ; if (msg->msg_type == 1U) { ev->pt_index = hdr->msg.put.ptl_index; ev->match_bits = hdr->msg.put.match_bits; ev->offset = hdr->msg.put.offset; tmp___0 = hdr->payload_length; ev->rlength = tmp___0; ev->mlength = tmp___0; ev->hdr_data = hdr->msg.put.hdr_data; } else { tmp___1 = ldv__builtin_expect(msg->msg_type != 2U, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___0.msg_fn = "lnet_build_msg_event"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 124; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_type == LNET_MSG_GET"); lbug_with_loc(& __msg_data___0); } else { } ev->pt_index = hdr->msg.get.ptl_index; ev->match_bits = hdr->msg.get.match_bits; tmp___2 = hdr->msg.get.sink_length; ev->rlength = tmp___2; ev->mlength = tmp___2; ev->offset = hdr->msg.get.src_offset; ev->hdr_data = 0ULL; } return; } } } void lnet_msg_commit(lnet_msg_t *msg , int cpt ) { struct lnet_msg_container *container ; lnet_counters_t *counters ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___3 ; { container = *(the_lnet.ln_msg_containers + (unsigned long )cpt); counters = *(the_lnet.ln_counters + (unsigned long )cpt); tmp = ldv__builtin_expect((long )*((unsigned char *)msg + 60UL) & 1L, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data.msg_fn = "lnet_msg_commit"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 143; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_tx_committed"); lbug_with_loc(& __msg_data); } else { } if ((unsigned int )*((unsigned char *)msg + 64UL) != 0U) { tmp___0 = ldv__builtin_expect((long )*((unsigned char *)msg + 65UL) & 1L, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___0.msg_fn = "lnet_msg_commit"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 146; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_receiving"); lbug_with_loc(& __msg_data___0); } else { } msg->msg_tx_cpt = (unsigned short )cpt; msg->msg_tx_committed = 1U; if ((unsigned int )*((unsigned char *)msg + 62UL) != 0U) { tmp___1 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 65UL) == 0U, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___1.msg_fn = "lnet_msg_commit"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 151; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_onactivelist"); lbug_with_loc(& __msg_data___1); } else { } return; } else { } } else { tmp___2 = ldv__builtin_expect((int )((signed char )*((unsigned char *)msg + 64UL)) < 0, 0L); if (tmp___2 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___2.msg_fn = "lnet_msg_commit"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 155; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_sending"); lbug_with_loc(& __msg_data___2); } else { } msg->msg_rx_cpt = (unsigned short )cpt; msg->msg_rx_committed = 1U; } tmp___3 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 65UL) != 0U, 0L); if (tmp___3 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___3.msg_fn = "lnet_msg_commit"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 160; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_onactivelist"); lbug_with_loc(& __msg_data___3); } else { } msg->msg_onactivelist = 1U; list_add(& msg->msg_activelist, & container->msc_active); counters->msgs_alloc = counters->msgs_alloc + 1U; if (counters->msgs_alloc > counters->msgs_max) { counters->msgs_max = counters->msgs_alloc; } else { } return; } } static void lnet_msg_decommit_tx(lnet_msg_t *msg , int status ) { lnet_counters_t *counters ; lnet_event_t *ev ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___3 ; struct libcfs_debug_msg_data __msg_data___4 ; long tmp___4 ; struct libcfs_debug_msg_data __msg_data___5 ; long tmp___5 ; struct libcfs_debug_msg_data __msg_data___6 ; long tmp___6 ; struct libcfs_debug_msg_data __msg_data___7 ; long tmp___7 ; { ev = & msg->msg_ev; tmp = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 60UL) == 0U, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data.msg_fn = "lnet_msg_decommit_tx"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 175; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_tx_committed"); lbug_with_loc(& __msg_data); } else { } if (status != 0) { goto out; } else { } counters = *(the_lnet.ln_counters + (unsigned long )msg->msg_tx_cpt); switch ((unsigned int )ev->type) { default: tmp___0 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) == 0U, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___0.msg_fn = "lnet_msg_decommit_tx"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 182; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_routing"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 62UL) == 0U, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___1.msg_fn = "lnet_msg_decommit_tx"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 183; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_rx_committed"); lbug_with_loc(& __msg_data___1); } else { } tmp___2 = ldv__builtin_expect((unsigned int )ev->type != 0U, 0L); if (tmp___2 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___2.msg_fn = "lnet_msg_decommit_tx"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 184; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"ev->type == 0"); lbug_with_loc(& __msg_data___2); } else { } counters->route_length = counters->route_length + (__u64 )msg->msg_len; counters->route_count = counters->route_count + 1U; goto out; case 2U: tmp___3 = ldv__builtin_expect((long )*((unsigned char *)msg + 62UL) & 1L, 0L); if (tmp___3 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___3.msg_fn = "lnet_msg_decommit_tx"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 192; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_rx_committed"); lbug_with_loc(& __msg_data___3); } else { } tmp___4 = ldv__builtin_expect(msg->msg_type != 0U, 0L); if (tmp___4 != 0L) { __msg_data___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___4.msg_fn = "lnet_msg_decommit_tx"; __msg_data___4.msg_subsys = 1024; __msg_data___4.msg_line = 194; __msg_data___4.msg_mask = 0; __msg_data___4.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___4.msg_mask = 262144; libcfs_debug_msg(& __msg_data___4, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_type == LNET_MSG_ACK"); lbug_with_loc(& __msg_data___4); } else { } msg->msg_type = 1U; goto ldv_51174; case 5U: tmp___5 = ldv__builtin_expect((long )*((unsigned char *)msg + 62UL) & 1L, 0L); if (tmp___5 != 0L) { __msg_data___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___5.msg_fn = "lnet_msg_decommit_tx"; __msg_data___5.msg_subsys = 1024; __msg_data___5.msg_line = 199; __msg_data___5.msg_mask = 0; __msg_data___5.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___5.msg_mask = 262144; libcfs_debug_msg(& __msg_data___5, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_rx_committed"); lbug_with_loc(& __msg_data___5); } else { } if (msg->msg_type == 1U) { counters->send_length = counters->send_length + (__u64 )msg->msg_len; } else { } goto ldv_51174; case 1U: tmp___6 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 62UL) == 0U, 0L); if (tmp___6 != 0L) { __msg_data___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___6.msg_fn = "lnet_msg_decommit_tx"; __msg_data___6.msg_subsys = 1024; __msg_data___6.msg_line = 205; __msg_data___6.msg_mask = 0; __msg_data___6.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___6.msg_mask = 262144; libcfs_debug_msg(& __msg_data___6, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_rx_committed"); lbug_with_loc(& __msg_data___6); } else { } tmp___7 = ldv__builtin_expect(msg->msg_type != 3U, 0L); if (tmp___7 != 0L) { __msg_data___7.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___7.msg_fn = "lnet_msg_decommit_tx"; __msg_data___7.msg_subsys = 1024; __msg_data___7.msg_line = 208; __msg_data___7.msg_mask = 0; __msg_data___7.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___7.msg_mask = 262144; libcfs_debug_msg(& __msg_data___7, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_type == LNET_MSG_REPLY"); lbug_with_loc(& __msg_data___7); } else { } msg->msg_type = 2U; goto ldv_51174; } ldv_51174: counters->send_count = counters->send_count + 1U; out: lnet_return_tx_credits_locked(msg); msg->msg_tx_committed = 0U; return; } } static void lnet_msg_decommit_rx(lnet_msg_t *msg , int status ) { lnet_counters_t *counters ; lnet_event_t *ev ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___3 ; struct libcfs_debug_msg_data __msg_data___4 ; long tmp___4 ; struct libcfs_debug_msg_data __msg_data___5 ; long tmp___5 ; struct libcfs_debug_msg_data __msg_data___6 ; long tmp___6 ; { ev = & msg->msg_ev; tmp = ldv__builtin_expect((long )*((unsigned char *)msg + 60UL) & 1L, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data.msg_fn = "lnet_msg_decommit_rx"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 225; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_tx_committed"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 62UL) == 0U, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___0.msg_fn = "lnet_msg_decommit_rx"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 226; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_rx_committed"); lbug_with_loc(& __msg_data___0); } else { } if (status != 0) { goto out; } else { } counters = *(the_lnet.ln_counters + (unsigned long )msg->msg_rx_cpt); switch ((unsigned int )ev->type) { default: tmp___1 = ldv__builtin_expect((unsigned int )ev->type != 0U, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___1.msg_fn = "lnet_msg_decommit_rx"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 234; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"ev->type == 0"); lbug_with_loc(& __msg_data___1); } else { } tmp___2 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) == 0U, 0L); if (tmp___2 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___2.msg_fn = "lnet_msg_decommit_rx"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 235; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_routing"); lbug_with_loc(& __msg_data___2); } else { } goto out; case 4U: tmp___3 = ldv__builtin_expect(msg->msg_type != 0U, 0L); if (tmp___3 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___3.msg_fn = "lnet_msg_decommit_rx"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 239; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_type == LNET_MSG_ACK"); lbug_with_loc(& __msg_data___3); } else { } goto ldv_51195; case 1U: tmp___4 = ldv__builtin_expect((long )(msg->msg_type != 3U && msg->msg_type != 2U), 0L); if (tmp___4 != 0L) { __msg_data___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___4.msg_fn = "lnet_msg_decommit_rx"; __msg_data___4.msg_subsys = 1024; __msg_data___4.msg_line = 248; __msg_data___4.msg_mask = 0; __msg_data___4.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___4.msg_mask = 262144; libcfs_debug_msg(& __msg_data___4, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_type == LNET_MSG_REPLY || msg->msg_type == LNET_MSG_GET"); lbug_with_loc(& __msg_data___4); } else { } counters->send_length = counters->send_length + (__u64 )msg->msg_wanted; goto ldv_51195; case 2U: tmp___5 = ldv__builtin_expect(msg->msg_type != 1U, 0L); if (tmp___5 != 0L) { __msg_data___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___5.msg_fn = "lnet_msg_decommit_rx"; __msg_data___5.msg_subsys = 1024; __msg_data___5.msg_line = 253; __msg_data___5.msg_mask = 0; __msg_data___5.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___5.msg_mask = 262144; libcfs_debug_msg(& __msg_data___5, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_type == LNET_MSG_PUT"); lbug_with_loc(& __msg_data___5); } else { } goto ldv_51195; case 3U: tmp___6 = ldv__builtin_expect((long )(msg->msg_type != 2U && msg->msg_type != 3U), 0L); if (tmp___6 != 0L) { __msg_data___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___6.msg_fn = "lnet_msg_decommit_rx"; __msg_data___6.msg_subsys = 1024; __msg_data___6.msg_line = 260; __msg_data___6.msg_mask = 0; __msg_data___6.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___6.msg_mask = 262144; libcfs_debug_msg(& __msg_data___6, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_type == LNET_MSG_GET || msg->msg_type == LNET_MSG_REPLY"); lbug_with_loc(& __msg_data___6); } else { } goto ldv_51195; } ldv_51195: counters->recv_count = counters->recv_count + 1U; if ((unsigned int )ev->type == 2U || (unsigned int )ev->type == 3U) { counters->recv_length = counters->recv_length + (__u64 )msg->msg_wanted; } else { } out: lnet_return_rx_credits_locked(msg); msg->msg_rx_committed = 0U; return; } } void lnet_msg_decommit(lnet_msg_t *msg , int cpt , int status ) { int cpt2 ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; { cpt2 = cpt; tmp = ldv__builtin_expect((long )((unsigned int )*((unsigned char *)msg + 60UL) == 0U && (unsigned int )*((unsigned char *)msg + 62UL) == 0U), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data.msg_fn = "lnet_msg_decommit"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 278; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_tx_committed || msg->msg_rx_committed"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 65UL) == 0U, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___0.msg_fn = "lnet_msg_decommit"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 279; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_onactivelist"); lbug_with_loc(& __msg_data___0); } else { } if ((unsigned int )*((unsigned char *)msg + 60UL) != 0U) { tmp___1 = ldv__builtin_expect((int )msg->msg_tx_cpt != cpt, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___1.msg_fn = "lnet_msg_decommit"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 282; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"cpt == msg->msg_tx_cpt"); lbug_with_loc(& __msg_data___1); } else { } lnet_msg_decommit_tx(msg, status); } else { } if ((unsigned int )*((unsigned char *)msg + 62UL) != 0U) { if ((int )msg->msg_rx_cpt != cpt) { lnet_net_unlock(cpt); cpt2 = (int )msg->msg_rx_cpt; lnet_net_lock(cpt2); } else { } lnet_msg_decommit_rx(msg, status); } else { } list_del(& msg->msg_activelist); msg->msg_onactivelist = 0U; (*(the_lnet.ln_counters + (unsigned long )cpt2))->msgs_alloc = (*(the_lnet.ln_counters + (unsigned long )cpt2))->msgs_alloc - 1U; if (cpt2 != cpt) { lnet_net_unlock(cpt2); lnet_net_lock(cpt); } else { } return; } } void lnet_msg_attach_md(lnet_msg_t *msg , lnet_libmd_t *md , unsigned int offset , unsigned int mlen ) { struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; { tmp = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) != 0U, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data.msg_fn = "lnet_msg_attach_md"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 316; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_routing"); lbug_with_loc(& __msg_data); } else { } msg->msg_md = md; if ((unsigned int )*((unsigned char *)msg + 65UL) != 0U) { msg->msg_offset = offset; msg->msg_wanted = mlen; } else { } md->md_refcount = md->md_refcount + 1; if (md->md_threshold != -1) { tmp___0 = ldv__builtin_expect(md->md_threshold <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___0.msg_fn = "lnet_msg_attach_md"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 326; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"md->md_threshold > 0"); lbug_with_loc(& __msg_data___0); } else { } md->md_threshold = md->md_threshold - 1; } else { } lnet_md2handle(& msg->msg_ev.md_handle, md); lnet_md_deconstruct(md, & msg->msg_ev.md); return; } } void lnet_msg_detach_md(lnet_msg_t *msg , int status ) { lnet_libmd_t *md ; int unlink ; struct libcfs_debug_msg_data __msg_data ; long tmp ; { md = msg->msg_md; md->md_refcount = md->md_refcount - 1; tmp = ldv__builtin_expect(md->md_refcount < 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data.msg_fn = "lnet_msg_detach_md"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 343; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"md->md_refcount >= 0"); lbug_with_loc(& __msg_data); } else { } unlink = lnet_md_unlinkable(md); if ((unsigned long )md->md_eq != (unsigned long )((lnet_eq_t *)0)) { msg->msg_ev.status = status; msg->msg_ev.unlinked = unlink; lnet_eq_enqueue_event(md->md_eq, & msg->msg_ev); } else { } if (unlink != 0) { lnet_md_unlink(md); } else { } msg->msg_md = (struct lnet_libmd *)0; return; } } static int lnet_complete_msg_locked(lnet_msg_t *msg , int cpt ) { lnet_handle_wire_t ack_wmd ; int rc ; int status ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___2 ; { status = msg->msg_ev.status; tmp = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 65UL) == 0U, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data.msg_fn = "lnet_complete_msg_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 365; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_onactivelist"); lbug_with_loc(& __msg_data); } else { } if (status == 0 && (unsigned int )*((unsigned char *)msg + 64UL) != 0U) { lnet_msg_decommit(msg, cpt, 0); msg->msg_ack = 0U; lnet_net_unlock(cpt); tmp___0 = ldv__builtin_expect((unsigned int )msg->msg_ev.type != 2U, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___0.msg_fn = "lnet_complete_msg_locked"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 375; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_ev.type == LNET_EVENT_PUT"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) != 0U, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___1.msg_fn = "lnet_complete_msg_locked"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 376; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_routing"); lbug_with_loc(& __msg_data___1); } else { } ack_wmd = msg->msg_hdr.msg.put.ack_wmd; lnet_prep_send(msg, 0, msg->msg_ev.initiator, 0U, 0U); msg->msg_hdr.msg.ack.dst_wmd = ack_wmd; msg->msg_hdr.msg.ack.match_bits = msg->msg_ev.match_bits; msg->msg_hdr.msg.ack.mlength = msg->msg_ev.mlength; rc = lnet_send(msg->msg_ev.target.nid, msg, 0xffffffffffffffffULL); lnet_net_lock(cpt); return (rc); } else if (status == 0 && ((unsigned int )*((unsigned char *)msg + 64UL) != 0U && (unsigned int )*((unsigned char *)msg + 64UL) == 0U)) { tmp___2 = ldv__builtin_expect((long )*((unsigned char *)msg + 65UL) & 1L, 0L); if (tmp___2 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___2.msg_fn = "lnet_complete_msg_locked"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 407; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_receiving"); lbug_with_loc(& __msg_data___2); } else { } lnet_net_unlock(cpt); rc = lnet_send(0xffffffffffffffffULL, msg, 0xffffffffffffffffULL); lnet_net_lock(cpt); return (rc); } else { } lnet_msg_decommit(msg, cpt, status); lnet_msg_free(msg); return (0); } } void lnet_finalize(lnet_ni_t *ni , lnet_msg_t *msg , int status ) { struct lnet_msg_container *container ; int my_slot ; int cpt ; int rc ; int i ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; struct task_struct *tmp___2 ; struct task_struct *tmp___3 ; struct list_head const *__mptr ; int tmp___4 ; { tmp = preempt_count(); tmp___0 = ldv__builtin_expect(((unsigned long )tmp & 2096896UL) != 0UL, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data.msg_fn = "lnet_finalize"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 443; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4)))))"); lbug_with_loc(& __msg_data); } else { } if ((unsigned long )msg == (unsigned long )((lnet_msg_t *)0)) { return; } else { } msg->msg_ev.status = status; if ((unsigned long )msg->msg_md != (unsigned long )((struct lnet_libmd *)0)) { cpt = lnet_cpt_of_cookie((msg->msg_md)->md_lh.lh_cookie); lnet_res_lock(cpt); lnet_msg_detach_md(msg, status); lnet_res_unlock(cpt); } else { } again: rc = 0; if ((unsigned int )*((unsigned char *)msg + 60UL) == 0U && (unsigned int )*((unsigned char *)msg + 62UL) == 0U) { tmp___1 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 65UL) != 0U, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data___0.msg_fn = "lnet_finalize"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 478; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_onactivelist"); lbug_with_loc(& __msg_data___0); } else { } lnet_msg_free(msg); return; } else { } cpt = (unsigned int )*((unsigned char *)msg + 60UL) != 0U ? (int )msg->msg_tx_cpt : (int )msg->msg_rx_cpt; lnet_net_lock(cpt); container = *(the_lnet.ln_msg_containers + (unsigned long )cpt); list_add_tail(& msg->msg_list, & container->msc_finalizing); my_slot = -1; i = 0; goto ldv_51257; ldv_51256: tmp___2 = get_current(); if ((unsigned long )*(container->msc_finalizers + (unsigned long )i) == (unsigned long )((void *)tmp___2)) { goto ldv_51255; } else { } if (my_slot < 0 && (unsigned long )*(container->msc_finalizers + (unsigned long )i) == (unsigned long )((void *)0)) { my_slot = i; } else { } i = i + 1; ldv_51257: ; if (container->msc_nfinalizers > i) { goto ldv_51256; } else { } ldv_51255: ; if (container->msc_nfinalizers > i || my_slot < 0) { lnet_net_unlock(cpt); return; } else { } tmp___3 = get_current(); *(container->msc_finalizers + (unsigned long )my_slot) = (void *)tmp___3; goto ldv_51262; ldv_51261: __mptr = (struct list_head const *)container->msc_finalizing.next; msg = (lnet_msg_t *)__mptr + 0xfffffffffffffff0UL; list_del(& msg->msg_list); rc = lnet_complete_msg_locked(msg, cpt); if (rc != 0) { goto ldv_51260; } else { } ldv_51262: tmp___4 = list_empty((struct list_head const *)(& container->msc_finalizing)); if (tmp___4 == 0) { goto ldv_51261; } else { } ldv_51260: *(container->msc_finalizers + (unsigned long )my_slot) = (void *)0; lnet_net_unlock(cpt); if (rc != 0) { goto again; } else { } return; } } static char const __kstrtab_lnet_finalize[14U] = { 'l', 'n', 'e', 't', '_', 'f', 'i', 'n', 'a', 'l', 'i', 'z', 'e', '\000'}; struct kernel_symbol const __ksymtab_lnet_finalize ; struct kernel_symbol const __ksymtab_lnet_finalize = {(unsigned long )(& lnet_finalize), (char const *)(& __kstrtab_lnet_finalize)}; void lnet_msg_container_cleanup(struct lnet_msg_container *container ) { int count ; lnet_msg_t *msg ; struct list_head const *__mptr ; struct libcfs_debug_msg_data __msg_data ; long tmp ; int tmp___0 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___1 ; int s ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___2 ; long tmp___3 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___4 ; int tmp___5 ; long tmp___6 ; { count = 0; if (container->msc_init == 0) { return; } else { } goto ldv_51282; ldv_51281: __mptr = (struct list_head const *)container->msc_active.next; msg = (lnet_msg_t *)__mptr; tmp = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 65UL) == 0U, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data.msg_fn = "lnet_msg_container_cleanup"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 546; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_onactivelist"); lbug_with_loc(& __msg_data); } else { } msg->msg_onactivelist = 0U; list_del(& msg->msg_activelist); lnet_msg_free(msg); count = count + 1; ldv_51282: tmp___0 = list_empty((struct list_head const *)(& container->msc_active)); if (tmp___0 == 0) { goto ldv_51281; } else { } if (count > 0) { tmp___1 = cfs_cdebug_show(131072U, 1024U); if (tmp___1 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; msgdata.msg_fn = "lnet_msg_container_cleanup"; msgdata.msg_line = 554; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "%d active msg on exit\n", count); } else { } } else { } if ((unsigned long )container->msc_finalizers != (unsigned long )((void **)0)) { s = (int )((unsigned int )container->msc_nfinalizers * 8U); tmp___3 = ldv__builtin_expect((unsigned long )container->msc_finalizers == (unsigned long )((void **)0), 0L); if (tmp___3 != 0L) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; msgdata___0.msg_fn = "lnet_msg_container_cleanup"; msgdata___0.msg_line = 559; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "LIBCFS: free NULL \'container->msc_finalizers\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c", 559); } else { } goto ldv_51289; } else { } atomic_sub(s, & libcfs_kmemory); tmp___5 = cfs_cdebug_show(16U, 1024U); if (tmp___5 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; msgdata___1.msg_fn = "lnet_msg_container_cleanup"; msgdata___1.msg_line = 559; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___4 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "kfreed \'container->msc_finalizers\': %d at %p (tot %d).\n", s, container->msc_finalizers, tmp___4); } else { } tmp___6 = ldv__builtin_expect(s > 8192, 0L); if (tmp___6 != 0L) { vfree((void const *)container->msc_finalizers); } else { kfree((void const *)container->msc_finalizers); } ldv_51289: container->msc_finalizers = (void **)0; } else { } container->msc_init = 0; return; } } int lnet_msg_container_setup(struct lnet_msg_container *container , int cpt ) { int rc ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; int tmp___1 ; void *tmp___2 ; int tmp___3 ; void *tmp___4 ; void *tmp___5 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___6 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___7 ; int tmp___8 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___9 ; int tmp___10 ; long tmp___11 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___12 ; { container->msc_init = 1; INIT_LIST_HEAD(& container->msc_active); INIT_LIST_HEAD(& container->msc_finalizing); rc = 0; container->msc_nfinalizers = cfs_cpt_weight(the_lnet.ln_cpt_table, cpt); tmp = preempt_count(); tmp___0 = ldv__builtin_expect((long )(((unsigned long )tmp & 2096896UL) != 0UL && 1), 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; __msg_data.msg_fn = "lnet_msg_container_setup"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 596; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((container->msc_nfinalizers * sizeof(*container->msc_finalizers))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } if ((unsigned long )container->msc_nfinalizers * 8UL <= 8192UL) { tmp___1 = cfs_cpt_spread_node(the_lnet.ln_cpt_table, cpt); tmp___2 = kmalloc_node((unsigned long )container->msc_nfinalizers * 8UL, 80U, tmp___1); tmp___5 = tmp___2; } else { tmp___3 = cfs_cpt_spread_node(the_lnet.ln_cpt_table, cpt); tmp___4 = vmalloc_node((unsigned long )container->msc_nfinalizers * 8UL, tmp___3); tmp___5 = tmp___4; } container->msc_finalizers = (void **)tmp___5; tmp___11 = ldv__builtin_expect((unsigned long )container->msc_finalizers == (unsigned long )((void **)0), 0L); if (tmp___11 != 0L) { tmp___6 = cfs_cdebug_show(131072U, 1024U); if (tmp___6 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; msgdata.msg_fn = "lnet_msg_container_setup"; msgdata.msg_line = 596; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LNET: out of memory at %s:%d (tried to alloc \'(container->msc_finalizers)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c", 596, (int )((unsigned int )container->msc_nfinalizers * 8U)); } else { } tmp___8 = cfs_cdebug_show(131072U, 1024U); if (tmp___8 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; msgdata___0.msg_fn = "lnet_msg_container_setup"; msgdata___0.msg_line = 596; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___7 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "LNET: %d total bytes allocated by lnet\n", tmp___7); } else { } } else { memset((void *)container->msc_finalizers, 0, (unsigned long )container->msc_nfinalizers * 8UL); atomic_add((int )((unsigned int )container->msc_nfinalizers * 8U), & libcfs_kmemory); tmp___10 = cfs_cdebug_show(16U, 1024U); if (tmp___10 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; msgdata___1.msg_fn = "lnet_msg_container_setup"; msgdata___1.msg_line = 596; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___9 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "alloc \'(container->msc_finalizers)\': %d at %p (tot %d).\n", (int )((unsigned int )container->msc_nfinalizers * 8U), container->msc_finalizers, tmp___9); } else { } } if ((unsigned long )container->msc_finalizers == (unsigned long )((void **)0)) { tmp___12 = cfs_cdebug_show(131072U, 1024U); if (tmp___12 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; msgdata___2.msg_fn = "lnet_msg_container_setup"; msgdata___2.msg_line = 599; msgdata___2.msg_cdls = & cdls___1; msgdata___2.msg_mask = 131072; libcfs_debug_msg(& msgdata___2, "Failed to allocate message finalizers\n"); } else { } lnet_msg_container_cleanup(container); return (-12); } else { } return (rc); } } void lnet_msg_containers_destroy(void) { struct lnet_msg_container *container ; int i ; int tmp ; { if ((unsigned long )the_lnet.ln_msg_containers == (unsigned long )((struct lnet_msg_container **)0)) { return; } else { } i = 0; goto ldv_51311; ldv_51310: lnet_msg_container_cleanup(container); i = i + 1; ldv_51311: tmp = cfs_percpt_number((void *)the_lnet.ln_msg_containers); if (tmp > i) { container = *(the_lnet.ln_msg_containers + (unsigned long )i); if ((unsigned long )container != (unsigned long )((struct lnet_msg_container *)0)) { goto ldv_51310; } else { goto ldv_51312; } } else { } ldv_51312: cfs_percpt_free((void *)the_lnet.ln_msg_containers); the_lnet.ln_msg_containers = (struct lnet_msg_container **)0; return; } } int lnet_msg_containers_create(void) { struct lnet_msg_container *container ; int rc ; int i ; void *tmp ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; int tmp___1 ; { tmp = cfs_percpt_alloc(the_lnet.ln_cpt_table, 48U); the_lnet.ln_msg_containers = (struct lnet_msg_container **)tmp; if ((unsigned long )the_lnet.ln_msg_containers == (unsigned long )((struct lnet_msg_container **)0)) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-msg.c"; msgdata.msg_fn = "lnet_msg_containers_create"; msgdata.msg_line = 634; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Failed to allocate cpu-partition data for network\n"); } else { } return (-12); } else { } i = 0; goto ldv_51323; ldv_51322: rc = lnet_msg_container_setup(container, i); if (rc != 0) { lnet_msg_containers_destroy(); return (rc); } else { } i = i + 1; ldv_51323: tmp___1 = cfs_percpt_number((void *)the_lnet.ln_msg_containers); if (tmp___1 > i) { container = *(the_lnet.ln_msg_containers + (unsigned long )i); if ((unsigned long )container != (unsigned long )((struct lnet_msg_container *)0)) { goto ldv_51322; } else { goto ldv_51324; } } else { } ldv_51324: ; return (0); } } __inline static long ldv__builtin_expect(long exp , long c ) ; extern int default_wake_function(wait_queue_t * , unsigned int , int , void * ) ; __inline static void init_waitqueue_entry(wait_queue_t *q , struct task_struct *p ) { { q->flags = 0U; q->private = (void *)p; q->func = & default_wake_function; return; } } __inline static int waitqueue_active(wait_queue_head_t *q ) { int tmp ; { tmp = list_empty((struct list_head const *)(& q->task_list)); return (tmp == 0); } } extern void add_wait_queue(wait_queue_head_t * , wait_queue_t * ) ; extern void remove_wait_queue(wait_queue_head_t * , wait_queue_t * ) ; extern void __wake_up(wait_queue_head_t * , unsigned int , int , void * ) ; extern void schedule(void) ; __inline static void cfs_duration_usec(long d , struct timeval *s ) { { s->tv_sec = d / 250L; s->tv_usec = ((s->tv_sec * -250L + d) * 1000000L) / 250L; return; } } __inline static unsigned long cfs_time_sub(unsigned long t1 , unsigned long t2 ) { { return (t1 - t2); } } int LNetEQGet(lnet_handle_eq_t eventq , lnet_event_t *event ) ; int LNetEQWait(lnet_handle_eq_t eventq , lnet_event_t *event ) ; __inline static lnet_eq_t *lnet_eq_alloc(void) { lnet_eq_t *eq ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; void *tmp___1 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___2 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___3 ; int tmp___4 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___5 ; int tmp___6 ; long tmp___7 ; { tmp = preempt_count(); tmp___0 = ldv__builtin_expect((long )(((unsigned long )tmp & 2096896UL) != 0UL && 1), 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; __msg_data.msg_fn = "lnet_eq_alloc"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 169; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((sizeof(*eq))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } tmp___1 = kmalloc(88UL, 80U); eq = (lnet_eq_t *)tmp___1; tmp___7 = ldv__builtin_expect((unsigned long )eq == (unsigned long )((lnet_eq_t *)0), 0L); if (tmp___7 != 0L) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata.msg_fn = "lnet_eq_alloc"; msgdata.msg_line = 169; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LNET: out of memory at %s:%d (tried to alloc \'(eq)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h", 169, 88); } else { } tmp___4 = cfs_cdebug_show(131072U, 1024U); if (tmp___4 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata___0.msg_fn = "lnet_eq_alloc"; msgdata___0.msg_line = 169; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___3 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "LNET: %d total bytes allocated by lnet\n", tmp___3); } else { } } else { memset((void *)eq, 0, 88UL); atomic_add(88, & libcfs_kmemory); tmp___6 = cfs_cdebug_show(16U, 1024U); if (tmp___6 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata___1.msg_fn = "lnet_eq_alloc"; msgdata___1.msg_line = 169; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___5 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "alloc \'(eq)\': %d at %p (tot %d).\n", 88, eq, tmp___5); } else { } } return (eq); } } __inline static void lnet_eq2handle(lnet_handle_eq_t *handle , lnet_eq_t *eq ) { { if ((unsigned long )eq == (unsigned long )((lnet_eq_t *)0)) { LNetInvalidateHandle(handle); return; } else { } handle->cookie = eq->eq_lh.lh_cookie; return; } } __inline static lnet_eq_t *lnet_handle2eq(lnet_handle_eq_t *handle ) { lnet_libhandle_t *lh ; { lh = lnet_res_lh_lookup(& the_lnet.ln_eq_container, handle->cookie); if ((unsigned long )lh == (unsigned long )((lnet_libhandle_t *)0)) { return ((lnet_eq_t *)0); } else { } return ((lnet_eq_t *)((long )lh + -16L)); } } int LNetEQAlloc(unsigned int count , void (*callback)(lnet_event_t * ) , lnet_handle_eq_t *handle ) { lnet_eq_t *eq ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; unsigned long tmp___1 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___2 ; struct libcfs_debug_msg_data __msg_data___1 ; int tmp___3 ; long tmp___4 ; void *tmp___5 ; void *tmp___6 ; void *tmp___7 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___8 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___9 ; int tmp___10 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___11 ; int tmp___12 ; long tmp___13 ; void *tmp___14 ; int s ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___15 ; long tmp___16 ; struct libcfs_debug_msg_data msgdata___4 ; int tmp___17 ; int tmp___18 ; long tmp___19 ; { tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; __msg_data.msg_fn = "LNetEQAlloc"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 75; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; __msg_data___0.msg_fn = "LNetEQAlloc"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 76; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = __roundup_pow_of_two((unsigned long )count); count = (unsigned int )tmp___1; if ((unsigned long )callback != (unsigned long )((void (*)(lnet_event_t * ))0) && count != 0U) { tmp___2 = cfs_cdebug_show(1024U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; msgdata.msg_fn = "LNetEQAlloc"; msgdata.msg_line = 85; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 1024; libcfs_debug_msg(& msgdata, "EQ callback is guaranteed to get every event, do you still want to set eqcount %d for polling event which will have locking overhead? Please contact with developer to confirm\n", count); } else { } } else { } if (count == 0U && (unsigned long )callback == (unsigned long )((void (*)(lnet_event_t * ))0)) { return (-22); } else { } eq = lnet_eq_alloc(); if ((unsigned long )eq == (unsigned long )((lnet_eq_t *)0)) { return (-12); } else { } if (count != 0U) { tmp___3 = preempt_count(); tmp___4 = ldv__builtin_expect((long )(((unsigned long )tmp___3 & 2096896UL) != 0UL && 1), 0L); if (tmp___4 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; __msg_data___1.msg_fn = "LNetEQAlloc"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 97; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((count * sizeof(lnet_event_t))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data___1); } else { } if ((unsigned long )count * 144UL <= 8192UL) { tmp___5 = kmalloc((unsigned long )count * 144UL, 80U); tmp___7 = tmp___5; } else { tmp___6 = vmalloc((unsigned long )count * 144UL); tmp___7 = tmp___6; } eq->eq_events = (lnet_event_t *)tmp___7; tmp___13 = ldv__builtin_expect((unsigned long )eq->eq_events == (unsigned long )((lnet_event_t *)0), 0L); if (tmp___13 != 0L) { tmp___8 = cfs_cdebug_show(131072U, 1024U); if (tmp___8 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; msgdata___0.msg_fn = "LNetEQAlloc"; msgdata___0.msg_line = 97; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "LNET: out of memory at %s:%d (tried to alloc \'(eq->eq_events)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c", 97, (int )(count * 144U)); } else { } tmp___10 = cfs_cdebug_show(131072U, 1024U); if (tmp___10 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; msgdata___1.msg_fn = "LNetEQAlloc"; msgdata___1.msg_line = 97; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 131072; tmp___9 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "LNET: %d total bytes allocated by lnet\n", tmp___9); } else { } } else { memset((void *)eq->eq_events, 0, (unsigned long )count * 144UL); atomic_add((int )(count * 144U), & libcfs_kmemory); tmp___12 = cfs_cdebug_show(16U, 1024U); if (tmp___12 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; msgdata___2.msg_fn = "LNetEQAlloc"; msgdata___2.msg_line = 97; msgdata___2.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___2.msg_mask = 16; tmp___11 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___2, "alloc \'(eq->eq_events)\': %d at %p (tot %d).\n", (int )(count * 144U), eq->eq_events, tmp___11); } else { } } if ((unsigned long )eq->eq_events == (unsigned long )((lnet_event_t *)0)) { goto failed; } else { } } else { } eq->eq_deq_seq = 1UL; eq->eq_enq_seq = 1UL; eq->eq_size = count; eq->eq_callback = callback; tmp___14 = cfs_percpt_alloc(the_lnet.ln_cpt_table, 4U); eq->eq_refs = (int **)tmp___14; if ((unsigned long )eq->eq_refs == (unsigned long )((int **)0)) { goto failed; } else { } lnet_res_lock(-1); spin_lock(& the_lnet.ln_eq_wait_lock); lnet_res_lh_initialize(& the_lnet.ln_eq_container, & eq->eq_lh); list_add(& eq->eq_list, & the_lnet.ln_eq_container.rec_active); spin_unlock(& the_lnet.ln_eq_wait_lock); lnet_res_unlock(-1); lnet_eq2handle(handle, eq); return (0); failed: ; if ((unsigned long )eq->eq_events != (unsigned long )((lnet_event_t *)0)) { s = (int )(count * 144U); tmp___16 = ldv__builtin_expect((unsigned long )eq->eq_events == (unsigned long )((lnet_event_t *)0), 0L); if (tmp___16 != 0L) { tmp___15 = cfs_cdebug_show(131072U, 1024U); if (tmp___15 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; msgdata___3.msg_fn = "LNetEQAlloc"; msgdata___3.msg_line = 131; msgdata___3.msg_cdls = & cdls___2; msgdata___3.msg_mask = 131072; libcfs_debug_msg(& msgdata___3, "LIBCFS: free NULL \'eq->eq_events\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c", 131); } else { } goto ldv_51147; } else { } atomic_sub(s, & libcfs_kmemory); tmp___18 = cfs_cdebug_show(16U, 1024U); if (tmp___18 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; msgdata___4.msg_fn = "LNetEQAlloc"; msgdata___4.msg_line = 131; msgdata___4.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___4.msg_mask = 16; tmp___17 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___4, "kfreed \'eq->eq_events\': %d at %p (tot %d).\n", s, eq->eq_events, tmp___17); } else { } tmp___19 = ldv__builtin_expect(s > 8192, 0L); if (tmp___19 != 0L) { vfree((void const *)eq->eq_events); } else { kfree((void const *)eq->eq_events); } ldv_51147: ; } else { } if ((unsigned long )eq->eq_refs != (unsigned long )((int **)0)) { cfs_percpt_free((void *)eq->eq_refs); } else { } lnet_eq_free(eq); return (-12); } } static char const __kstrtab_LNetEQAlloc[12U] = { 'L', 'N', 'e', 't', 'E', 'Q', 'A', 'l', 'l', 'o', 'c', '\000'}; struct kernel_symbol const __ksymtab_LNetEQAlloc ; struct kernel_symbol const __ksymtab_LNetEQAlloc = {(unsigned long )(& LNetEQAlloc), (char const *)(& __kstrtab_LNetEQAlloc)}; int LNetEQFree(lnet_handle_eq_t eqh ) { struct lnet_eq *eq ; lnet_event_t *events ; int **refs ; int *ref ; int rc ; int size ; int i ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; lnet_eq_t *tmp___1 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___2 ; struct libcfs_debug_msg_data msgdata ; int tmp___3 ; int tmp___4 ; int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___5 ; long tmp___6 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___7 ; int tmp___8 ; long tmp___9 ; { events = (lnet_event_t *)0; refs = (int **)0; rc = 0; size = 0; tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; __msg_data.msg_fn = "LNetEQFree"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 162; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; __msg_data___0.msg_fn = "LNetEQFree"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 163; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } lnet_res_lock(-1); spin_lock(& the_lnet.ln_eq_wait_lock); tmp___1 = lnet_handle2eq(& eqh); eq = tmp___1; if ((unsigned long )eq == (unsigned long )((struct lnet_eq *)0)) { rc = -2; goto out; } else { } i = 0; goto ldv_51176; ldv_51175: tmp___2 = ldv__builtin_expect(*ref < 0, 0L); if (tmp___2 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; __msg_data___1.msg_fn = "LNetEQFree"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 177; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"*ref >= 0"); lbug_with_loc(& __msg_data___1); } else { } if (*ref == 0) { goto ldv_51173; } else { } tmp___3 = cfs_cdebug_show(512U, 1024U); if (tmp___3 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; msgdata.msg_fn = "LNetEQFree"; msgdata.msg_line = 182; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; libcfs_debug_msg(& msgdata, "Event equeue (%d: %d) busy on destroy.\n", i, *ref); } else { } rc = -16; goto out; ldv_51173: i = i + 1; ldv_51176: tmp___4 = cfs_percpt_number((void *)eq->eq_refs); if (tmp___4 > i) { ref = *(eq->eq_refs + (unsigned long )i); if ((unsigned long )ref != (unsigned long )((int *)0)) { goto ldv_51175; } else { goto ldv_51177; } } else { } ldv_51177: events = eq->eq_events; size = (int )eq->eq_size; refs = eq->eq_refs; lnet_res_lh_invalidate(& eq->eq_lh); list_del(& eq->eq_list); lnet_eq_free(eq); out: spin_unlock(& the_lnet.ln_eq_wait_lock); lnet_res_unlock(-1); if ((unsigned long )events != (unsigned long )((lnet_event_t *)0)) { s = (int )((unsigned int )size * 144U); tmp___6 = ldv__builtin_expect((unsigned long )events == (unsigned long )((lnet_event_t *)0), 0L); if (tmp___6 != 0L) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; msgdata___0.msg_fn = "LNetEQFree"; msgdata___0.msg_line = 200; msgdata___0.msg_cdls = & cdls; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "LIBCFS: free NULL \'events\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c", 200); } else { } goto ldv_51181; } else { } atomic_sub(s, & libcfs_kmemory); tmp___8 = cfs_cdebug_show(16U, 1024U); if (tmp___8 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; msgdata___1.msg_fn = "LNetEQFree"; msgdata___1.msg_line = 200; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___7 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "kfreed \'events\': %d at %p (tot %d).\n", s, events, tmp___7); } else { } tmp___9 = ldv__builtin_expect(s > 8192, 0L); if (tmp___9 != 0L) { vfree((void const *)events); } else { kfree((void const *)events); } ldv_51181: ; } else { } if ((unsigned long )refs != (unsigned long )((int **)0)) { cfs_percpt_free((void *)refs); } else { } return (rc); } } static char const __kstrtab_LNetEQFree[11U] = { 'L', 'N', 'e', 't', 'E', 'Q', 'F', 'r', 'e', 'e', '\000'}; struct kernel_symbol const __ksymtab_LNetEQFree ; struct kernel_symbol const __ksymtab_LNetEQFree = {(unsigned long )(& LNetEQFree), (char const *)(& __kstrtab_LNetEQFree)}; void lnet_eq_enqueue_event(lnet_eq_t *eq , lnet_event_t *ev ) { int index ; struct libcfs_debug_msg_data __msg_data ; long tmp ; lnet_seq_t tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; int tmp___2 ; { if (eq->eq_size == 0U) { tmp = ldv__builtin_expect((unsigned long )eq->eq_callback == (unsigned long )((void (*)(lnet_event_t * ))0), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; __msg_data.msg_fn = "lnet_eq_enqueue_event"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 215; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"eq->eq_callback != ((void *)0)"); lbug_with_loc(& __msg_data); } else { } (*(eq->eq_callback))(ev); return; } else { } spin_lock(& the_lnet.ln_eq_wait_lock); tmp___0 = eq->eq_enq_seq; eq->eq_enq_seq = eq->eq_enq_seq + 1UL; ev->sequence = tmp___0; tmp___1 = ldv__builtin_expect(eq->eq_size != (eq->eq_size & - eq->eq_size), 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; __msg_data___0.msg_fn = "lnet_eq_enqueue_event"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 223; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"eq->eq_size == ((eq->eq_size) & ~((eq->eq_size) - 1))"); lbug_with_loc(& __msg_data___0); } else { } index = (int )((unsigned int )ev->sequence & (eq->eq_size - 1U)); *(eq->eq_events + (unsigned long )index) = *ev; if ((unsigned long )eq->eq_callback != (unsigned long )((void (*)(lnet_event_t * ))0)) { (*(eq->eq_callback))(ev); } else { } tmp___2 = waitqueue_active(& the_lnet.ln_eq_waitq); if (tmp___2 != 0) { __wake_up(& the_lnet.ln_eq_waitq, 3U, 0, (void *)0); } else { } spin_unlock(& the_lnet.ln_eq_wait_lock); return; } } static int lnet_eq_dequeue_event(lnet_eq_t *eq , lnet_event_t *ev ) { int new_index ; lnet_event_t *new_event ; int rc ; struct libcfs_debug_msg_data msgdata ; int tmp ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___0 ; { new_index = (int )((unsigned int )eq->eq_deq_seq & (eq->eq_size - 1U)); new_event = eq->eq_events + (unsigned long )new_index; if ((long )(eq->eq_deq_seq - (unsigned long )new_event->sequence) > 0L) { return (0); } else { } *ev = *new_event; tmp = cfs_cdebug_show(64U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; msgdata.msg_fn = "lnet_eq_dequeue_event"; msgdata.msg_line = 252; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 64; libcfs_debug_msg(& msgdata, "event: %p, sequence: %lu, eq->size: %u\n", new_event, eq->eq_deq_seq, eq->eq_size); } else { } if (eq->eq_deq_seq == (unsigned long )new_event->sequence) { rc = 1; } else { tmp___0 = cfs_cdebug_show(512U, 1024U); if (tmp___0 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; msgdata___0.msg_fn = "lnet_eq_dequeue_event"; msgdata___0.msg_line = 261; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 512; libcfs_debug_msg(& msgdata___0, "Event Queue Overflow: eq seq %lu ev seq %lu\n", eq->eq_deq_seq, new_event->sequence); } else { } rc = -75; } eq->eq_deq_seq = (unsigned long )new_event->sequence + 1UL; return (rc); } } int LNetEQGet(lnet_handle_eq_t eventq , lnet_event_t *event ) { int which ; int tmp ; { tmp = LNetEQPoll(& eventq, 1, 0, event, & which); return (tmp); } } static char const __kstrtab_LNetEQGet[10U] = { 'L', 'N', 'e', 't', 'E', 'Q', 'G', 'e', 't', '\000'}; struct kernel_symbol const __ksymtab_LNetEQGet ; struct kernel_symbol const __ksymtab_LNetEQGet = {(unsigned long )(& LNetEQGet), (char const *)(& __kstrtab_LNetEQGet)}; int LNetEQWait(lnet_handle_eq_t eventq , lnet_event_t *event ) { int which ; int tmp ; { tmp = LNetEQPoll(& eventq, 1, -1, event, & which); return (tmp); } } static char const __kstrtab_LNetEQWait[11U] = { 'L', 'N', 'e', 't', 'E', 'Q', 'W', 'a', 'i', 't', '\000'}; struct kernel_symbol const __ksymtab_LNetEQWait ; struct kernel_symbol const __ksymtab_LNetEQWait = {(unsigned long )(& LNetEQWait), (char const *)(& __kstrtab_LNetEQWait)}; static int lnet_eq_wait_locked(int *timeout_ms ) { int tms ; int wait ; wait_queue_t wl ; unsigned long now ; struct task_struct *tmp ; struct task_struct *tmp___0 ; long volatile __ret ; struct task_struct *tmp___1 ; struct task_struct *tmp___2 ; struct task_struct *tmp___3 ; struct task_struct *tmp___4 ; struct timeval tv ; long tmp___5 ; unsigned long tmp___6 ; unsigned long tmp___7 ; { tms = *timeout_ms; if (tms == 0) { return (-1); } else { } tmp = get_current(); init_waitqueue_entry(& wl, tmp); tmp___0 = get_current(); tmp___0->task_state_change = 0UL; __ret = 1L; switch (8UL) { case 1UL: tmp___1 = get_current(); __asm__ volatile ("xchgb %b0, %1\n": "+q" (__ret), "+m" (tmp___1->state): : "memory", "cc"); goto ldv_51243; case 2UL: tmp___2 = get_current(); __asm__ volatile ("xchgw %w0, %1\n": "+r" (__ret), "+m" (tmp___2->state): : "memory", "cc"); goto ldv_51243; case 4UL: tmp___3 = get_current(); __asm__ volatile ("xchgl %0, %1\n": "+r" (__ret), "+m" (tmp___3->state): : "memory", "cc"); goto ldv_51243; case 8UL: tmp___4 = get_current(); __asm__ volatile ("xchgq %q0, %1\n": "+r" (__ret), "+m" (tmp___4->state): : "memory", "cc"); goto ldv_51243; default: __xchg_wrong_size(); } ldv_51243: add_wait_queue(& the_lnet.ln_eq_waitq, & wl); spin_unlock(& the_lnet.ln_eq_wait_lock); if (tms < 0) { schedule(); } else { now = cfs_time_current(); tmp___5 = cfs_time_seconds(tms); schedule_timeout(tmp___5 / 1000L); tmp___6 = cfs_time_current(); tmp___7 = cfs_time_sub(tmp___6, now); cfs_duration_usec((long )tmp___7, & tv); tms = tms - (int )((unsigned int )tv.tv_sec * 1000U + (unsigned int )(tv.tv_usec / 1000L)); if (tms < 0) { tms = 0; } else { } } wait = tms != 0; *timeout_ms = tms; spin_lock(& the_lnet.ln_eq_wait_lock); remove_wait_queue(& the_lnet.ln_eq_waitq, & wl); return (wait); } } int LNetEQPoll(lnet_handle_eq_t *eventqs , int neq , int timeout_ms , lnet_event_t *event , int *which ) { int wait ; int rc ; int i ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; lnet_eq_t *eq ; lnet_eq_t *tmp___1 ; { wait = 1; tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; __msg_data.msg_fn = "LNetEQPoll"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 399; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-eq.c"; __msg_data___0.msg_fn = "LNetEQPoll"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 400; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } if (neq <= 0) { return (-2); } else { } spin_lock(& the_lnet.ln_eq_wait_lock); ldv_51268: i = 0; goto ldv_51265; ldv_51264: tmp___1 = lnet_handle2eq(eventqs + (unsigned long )i); eq = tmp___1; if ((unsigned long )eq == (unsigned long )((lnet_eq_t *)0)) { spin_unlock(& the_lnet.ln_eq_wait_lock); return (-2); } else { } rc = lnet_eq_dequeue_event(eq, event); if (rc != 0) { spin_unlock(& the_lnet.ln_eq_wait_lock); *which = i; return (rc); } else { } i = i + 1; ldv_51265: ; if (i < neq) { goto ldv_51264; } else { } if (wait == 0) { goto ldv_51267; } else { } wait = lnet_eq_wait_locked(& timeout_ms); if (wait < 0) { goto ldv_51267; } else { } goto ldv_51268; ldv_51267: spin_unlock(& the_lnet.ln_eq_wait_lock); return (0); } } __inline static long ldv__builtin_expect(long exp , long c ) ; __inline static int LNetHandleIsInvalid(lnet_handle_any_t h ) { { return (h.cookie == 0xffffffffffffffffULL); } } __inline static int lnet_res_lock_current(void) { int cpt ; int tmp ; { tmp = cfs_cpt_current(the_lnet.ln_cpt_table, 1); cpt = tmp; lnet_res_lock(cpt); return (cpt); } } __inline static lnet_libmd_t *lnet_md_alloc(lnet_md_t *umd ) { lnet_libmd_t *md ; unsigned int size ; unsigned int niov ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; void *tmp___1 ; void *tmp___2 ; void *tmp___3 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___4 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___5 ; int tmp___6 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___7 ; int tmp___8 ; long tmp___9 ; { if ((umd->options & 256U) != 0U) { niov = umd->length; size = (unsigned int )((unsigned long )niov + 7UL) * 16U; } else { niov = (umd->options & 64U) != 0U ? umd->length : 1U; size = (unsigned int )((unsigned long )niov + 7UL) * 16U; } tmp = preempt_count(); tmp___0 = ldv__builtin_expect((long )(((unsigned long )tmp & 2096896UL) != 0UL && 1), 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; __msg_data.msg_fn = "lnet_md_alloc"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 195; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((size)) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } if (size <= 8192U) { tmp___1 = kmalloc((size_t )size, 80U); tmp___3 = tmp___1; } else { tmp___2 = vmalloc((unsigned long )size); tmp___3 = tmp___2; } md = (lnet_libmd_t *)tmp___3; tmp___9 = ldv__builtin_expect((unsigned long )md == (unsigned long )((lnet_libmd_t *)0), 0L); if (tmp___9 != 0L) { tmp___4 = cfs_cdebug_show(131072U, 1024U); if (tmp___4 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata.msg_fn = "lnet_md_alloc"; msgdata.msg_line = 195; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LNET: out of memory at %s:%d (tried to alloc \'(md)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h", 195, (int )size); } else { } tmp___6 = cfs_cdebug_show(131072U, 1024U); if (tmp___6 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata___0.msg_fn = "lnet_md_alloc"; msgdata___0.msg_line = 195; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___5 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "LNET: %d total bytes allocated by lnet\n", tmp___5); } else { } } else { memset((void *)md, 0, (size_t )size); atomic_add((int )size, & libcfs_kmemory); tmp___8 = cfs_cdebug_show(16U, 1024U); if (tmp___8 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata___1.msg_fn = "lnet_md_alloc"; msgdata___1.msg_line = 195; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___7 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "alloc \'(md)\': %d at %p (tot %d).\n", (int )size, md, tmp___7); } else { } } if ((unsigned long )md != (unsigned long )((lnet_libmd_t *)0)) { md->md_options = umd->options; md->md_niov = niov; INIT_LIST_HEAD(& md->md_list); } else { } return (md); } } __inline static lnet_libmd_t *lnet_handle2md(lnet_handle_md_t *handle ) { lnet_libhandle_t *lh ; int cpt ; { cpt = lnet_cpt_of_cookie(handle->cookie); lh = lnet_res_lh_lookup(*(the_lnet.ln_md_containers + (unsigned long )cpt), handle->cookie); if ((unsigned long )lh == (unsigned long )((lnet_libhandle_t *)0)) { return ((lnet_libmd_t *)0); } else { } return ((lnet_libmd_t *)((long )lh + -16L)); } } void lnet_ptl_attach_md(lnet_me_t *me , lnet_libmd_t *md , struct list_head *matches , struct list_head *drops ) ; void lnet_drop_delayed_msg_list(struct list_head *head , char *reason ) ; void lnet_recv_delayed_msg_list(struct list_head *head ) ; void lnet_md_unlink(lnet_libmd_t *md ) { lnet_me_t *me ; struct libcfs_debug_msg_data msgdata ; int tmp ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___0 ; int cpt ; int tmp___1 ; struct libcfs_debug_msg_data __msg_data ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___3 ; long tmp___4 ; { if ((md->md_flags & 1U) == 0U) { me = md->md_me; md->md_flags = md->md_flags | 1U; if ((unsigned long )me != (unsigned long )((lnet_me_t *)0)) { lnet_ptl_detach_md(me, md); if ((unsigned int )me->me_unlink == 1U) { lnet_me_unlink(me); } else { } } else { } lnet_res_lh_invalidate(& md->md_lh); } else { } if (md->md_refcount != 0) { tmp = cfs_cdebug_show(512U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; msgdata.msg_fn = "lnet_md_unlink"; msgdata.msg_line = 70; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; libcfs_debug_msg(& msgdata, "Queueing unlink of md %p\n", md); } else { } return; } else { } tmp___0 = cfs_cdebug_show(512U, 1024U); if (tmp___0 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; msgdata___0.msg_fn = "lnet_md_unlink"; msgdata___0.msg_line = 74; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 512; libcfs_debug_msg(& msgdata___0, "Unlinking md %p\n", md); } else { } if ((unsigned long )md->md_eq != (unsigned long )((lnet_eq_t *)0)) { tmp___1 = lnet_cpt_of_cookie(md->md_lh.lh_cookie); cpt = tmp___1; tmp___2 = ldv__builtin_expect(*(*((md->md_eq)->eq_refs + (unsigned long )cpt)) <= 0, 0L); if (tmp___2 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; __msg_data.msg_fn = "lnet_md_unlink"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 79; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"*md->md_eq->eq_refs[cpt] > 0"); lbug_with_loc(& __msg_data); } else { } *(*((md->md_eq)->eq_refs + (unsigned long )cpt)) = *(*((md->md_eq)->eq_refs + (unsigned long )cpt)) - 1; } else { } tmp___3 = list_empty((struct list_head const *)(& md->md_list)); tmp___4 = ldv__builtin_expect(tmp___3 != 0, 0L); if (tmp___4 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; __msg_data___0.msg_fn = "lnet_md_unlink"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 83; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!list_empty(&md->md_list)"); lbug_with_loc(& __msg_data___0); } else { } list_del_init(& md->md_list); lnet_md_free(md); return; } } static int lnet_md_build(lnet_libmd_t *lmd , lnet_md_t *umd , int unlink ) { int i ; unsigned int niov ; int total_length ; { total_length = 0; lmd->md_me = (lnet_me_t *)0; lmd->md_start = (char *)umd->start; lmd->md_offset = 0U; lmd->md_max_size = (unsigned int )umd->max_size; lmd->md_options = umd->options; lmd->md_user_ptr = umd->user_ptr; lmd->md_eq = (lnet_eq_t *)0; lmd->md_threshold = umd->threshold; lmd->md_refcount = 0; lmd->md_flags = unlink == 1 ? 2U : 0U; if ((umd->options & 64U) != 0U) { if ((umd->options & 256U) != 0U) { return (-22); } else { } niov = umd->length; lmd->md_niov = niov; memcpy((void *)(& lmd->md_iov.iov), (void const *)umd->start, (unsigned long )niov * 16UL); i = 0; goto ldv_51145; ldv_51144: ; if (lmd->md_iov.iov[i].iov_len == 0UL) { return (-22); } else { } total_length = (int )((unsigned int )lmd->md_iov.iov[i].iov_len + (unsigned int )total_length); i = i + 1; ldv_51145: ; if ((int )niov > i) { goto ldv_51144; } else { } lmd->md_length = (unsigned int )total_length; if ((umd->options & 128U) != 0U && (umd->max_size < 0 || umd->max_size > total_length)) { return (-22); } else { } } else if ((umd->options & 256U) != 0U) { niov = umd->length; lmd->md_niov = niov; memcpy((void *)(& lmd->md_iov.kiov), (void const *)umd->start, (unsigned long )niov * 16UL); i = 0; goto ldv_51148; ldv_51147: ; if (lmd->md_iov.kiov[i].kiov_offset + lmd->md_iov.kiov[i].kiov_len > 4096U) { return (-22); } else { } total_length = (int )(lmd->md_iov.kiov[i].kiov_len + (unsigned int )total_length); i = i + 1; ldv_51148: ; if ((int )niov > i) { goto ldv_51147; } else { } lmd->md_length = (unsigned int )total_length; if ((umd->options & 128U) != 0U && (umd->max_size < 0 || umd->max_size > total_length)) { return (-22); } else { } } else { lmd->md_length = umd->length; niov = 1U; lmd->md_niov = niov; lmd->md_iov.iov[0].iov_base = umd->start; lmd->md_iov.iov[0].iov_len = (size_t )umd->length; if ((umd->options & 128U) != 0U && (umd->max_size < 0 || umd->max_size > (int )umd->length)) { return (-22); } else { } } return (0); } } static int lnet_md_link(lnet_libmd_t *md , lnet_handle_eq_t eq_handle , int cpt ) { struct lnet_res_container *container ; int tmp ; struct libcfs_debug_msg_data __msg_data ; int tmp___0 ; long tmp___1 ; { container = *(the_lnet.ln_md_containers + (unsigned long )cpt); tmp = LNetHandleIsInvalid(eq_handle); if (tmp == 0) { md->md_eq = lnet_handle2eq(& eq_handle); if ((unsigned long )md->md_eq == (unsigned long )((lnet_eq_t *)0)) { return (-2); } else { } *(*((md->md_eq)->eq_refs + (unsigned long )cpt)) = *(*((md->md_eq)->eq_refs + (unsigned long )cpt)) + 1; } else { } lnet_res_lh_initialize(container, & md->md_lh); tmp___0 = list_empty((struct list_head const *)(& md->md_list)); tmp___1 = ldv__builtin_expect(tmp___0 == 0, 0L); if (tmp___1 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; __msg_data.msg_fn = "lnet_md_link"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 195; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&md->md_list)"); lbug_with_loc(& __msg_data); } else { } list_add(& md->md_list, & container->rec_active); return (0); } } void lnet_md_deconstruct(lnet_libmd_t *lmd , lnet_md_t *umd ) { { umd->start = (void *)lmd->md_start; umd->length = (lmd->md_options & 320U) == 0U ? lmd->md_length : lmd->md_niov; umd->threshold = lmd->md_threshold; umd->max_size = (int )lmd->md_max_size; umd->options = lmd->md_options; umd->user_ptr = lmd->md_user_ptr; lnet_eq2handle(& umd->eq_handle, lmd->md_eq); return; } } static int lnet_md_validate(lnet_md_t *umd ) { struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___0 ; { if ((unsigned long )umd->start == (unsigned long )((void *)0) && umd->length != 0U) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; msgdata.msg_fn = "lnet_md_validate"; msgdata.msg_line = 226; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "MD start pointer can not be NULL with length %u\n", umd->length); } else { } return (-22); } else { } if ((umd->options & 320U) != 0U && umd->length > 256U) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; msgdata___0.msg_fn = "lnet_md_validate"; msgdata___0.msg_line = 233; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "Invalid option: too many fragments %u, %d max\n", umd->length, 256); } else { } return (-22); } else { } return (0); } } int LNetMDAttach(lnet_handle_me_t meh , lnet_md_t umd , lnet_unlink_t unlink , lnet_handle_md_t *handle ) { struct list_head matches ; struct list_head drops ; struct lnet_me *me ; struct lnet_libmd *md ; int cpt ; int rc ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; int tmp___1 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___2 ; lnet_libmd_t *tmp___3 ; lnet_me_t *tmp___4 ; { matches.next = & matches; matches.prev = & matches; drops.next = & drops; drops.prev = & drops; tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; __msg_data.msg_fn = "LNetMDAttach"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 276; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; __msg_data___0.msg_fn = "LNetMDAttach"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 277; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = lnet_md_validate(& umd); if (tmp___1 != 0) { return (-22); } else { } if ((umd.options & 3U) == 0U) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; msgdata.msg_fn = "LNetMDAttach"; msgdata.msg_line = 283; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Invalid option: no MD_OP set\n"); } else { } return (-22); } else { } tmp___3 = lnet_md_alloc(& umd); md = tmp___3; if ((unsigned long )md == (unsigned long )((struct lnet_libmd *)0)) { return (-12); } else { } rc = lnet_md_build(md, & umd, (int )unlink); cpt = lnet_cpt_of_cookie(meh.cookie); lnet_res_lock(cpt); if (rc != 0) { goto failed; } else { } tmp___4 = lnet_handle2me(& meh); me = tmp___4; if ((unsigned long )me == (unsigned long )((struct lnet_me *)0)) { rc = -2; } else if ((unsigned long )me->me_md != (unsigned long )((struct lnet_libmd *)0)) { rc = -16; } else { rc = lnet_md_link(md, umd.eq_handle, cpt); } if (rc != 0) { goto failed; } else { } lnet_ptl_attach_md(me, md, & matches, & drops); lnet_md2handle(handle, md); lnet_res_unlock(cpt); lnet_drop_delayed_msg_list(& drops, (char *)"Bad match"); lnet_recv_delayed_msg_list(& matches); return (0); failed: lnet_md_free(md); lnet_res_unlock(cpt); return (rc); } } static char const __kstrtab_LNetMDAttach[13U] = { 'L', 'N', 'e', 't', 'M', 'D', 'A', 't', 't', 'a', 'c', 'h', '\000'}; struct kernel_symbol const __ksymtab_LNetMDAttach ; struct kernel_symbol const __ksymtab_LNetMDAttach = {(unsigned long )(& LNetMDAttach), (char const *)(& __kstrtab_LNetMDAttach)}; int LNetMDBind(lnet_md_t umd , lnet_unlink_t unlink , lnet_handle_md_t *handle ) { lnet_libmd_t *md ; int cpt ; int rc ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; int tmp___1 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___2 ; { tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; __msg_data.msg_fn = "LNetMDBind"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 353; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; __msg_data___0.msg_fn = "LNetMDBind"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 354; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = lnet_md_validate(& umd); if (tmp___1 != 0) { return (-22); } else { } if ((umd.options & 3U) != 0U) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; msgdata.msg_fn = "LNetMDBind"; msgdata.msg_line = 360; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Invalid option: GET|PUT illegal on active MDs\n"); } else { } return (-22); } else { } md = lnet_md_alloc(& umd); if ((unsigned long )md == (unsigned long )((lnet_libmd_t *)0)) { return (-12); } else { } rc = lnet_md_build(md, & umd, (int )unlink); cpt = lnet_res_lock_current(); if (rc != 0) { goto failed; } else { } rc = lnet_md_link(md, umd.eq_handle, cpt); if (rc != 0) { goto failed; } else { } lnet_md2handle(handle, md); lnet_res_unlock(cpt); return (0); failed: lnet_md_free(md); lnet_res_unlock(cpt); return (rc); } } static char const __kstrtab_LNetMDBind[11U] = { 'L', 'N', 'e', 't', 'M', 'D', 'B', 'i', 'n', 'd', '\000'}; struct kernel_symbol const __ksymtab_LNetMDBind ; struct kernel_symbol const __ksymtab_LNetMDBind = {(unsigned long )(& LNetMDBind), (char const *)(& __kstrtab_LNetMDBind)}; int LNetMDUnlink(lnet_handle_md_t mdh ) { lnet_event_t ev ; lnet_libmd_t *md ; int cpt ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; { tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; __msg_data.msg_fn = "LNetMDUnlink"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 428; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-md.c"; __msg_data___0.msg_fn = "LNetMDUnlink"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 429; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } cpt = lnet_cpt_of_cookie(mdh.cookie); lnet_res_lock(cpt); md = lnet_handle2md(& mdh); if ((unsigned long )md == (unsigned long )((lnet_libmd_t *)0)) { lnet_res_unlock(cpt); return (-2); } else { } md->md_flags = md->md_flags | 4U; if ((unsigned long )md->md_eq != (unsigned long )((lnet_eq_t *)0) && md->md_refcount == 0) { lnet_build_unlink_event(md, & ev); lnet_eq_enqueue_event(md->md_eq, & ev); } else { } lnet_md_unlink(md); lnet_res_unlock(cpt); return (0); } } static char const __kstrtab_LNetMDUnlink[13U] = { 'L', 'N', 'e', 't', 'M', 'D', 'U', 'n', 'l', 'i', 'n', 'k', '\000'}; struct kernel_symbol const __ksymtab_LNetMDUnlink ; struct kernel_symbol const __ksymtab_LNetMDUnlink = {(unsigned long )(& LNetMDUnlink), (char const *)(& __kstrtab_LNetMDUnlink)}; __inline static long ldv__builtin_expect(long exp , long c ) ; __inline static void list_splice_init(struct list_head *list , struct list_head *head ) { int tmp ; { tmp = list_empty((struct list_head const *)list); if (tmp == 0) { __list_splice((struct list_head const *)list, head, head->next); INIT_LIST_HEAD(list); } else { } return; } } extern void *cfs_array_alloc(int , unsigned int ) ; extern void cfs_array_free(void * ) ; int LNetSetLazyPortal(int portal ) ; __inline static int lnet_ptl_is_lazy(lnet_portal_t *ptl ) { { return ((int )ptl->ptl_options & 1); } } __inline static int lnet_ptl_is_wildcard(lnet_portal_t *ptl ) { { return ((ptl->ptl_options & 4U) != 0U); } } __inline static void lnet_ptl_setopt(lnet_portal_t *ptl , int opt ) { { ptl->ptl_options = ptl->ptl_options | (unsigned int )opt; return; } } __inline static void lnet_ptl_unsetopt(lnet_portal_t *ptl , int opt ) { { ptl->ptl_options = ptl->ptl_options & (unsigned int )(~ opt); return; } } int lnet_mt_match_md(struct lnet_match_table *mtable , struct lnet_match_info *info , struct lnet_msg *msg ) ; int lnet_ptl_match_md(struct lnet_match_info *info , struct lnet_msg *msg ) ; int portal_rotor = 3; static int lnet_ptl_match_type(unsigned int index , lnet_process_id_t match_id , __u64 mbits , __u64 ignore_bits ) { struct lnet_portal *ptl ; int unique ; struct libcfs_debug_msg_data __msg_data ; int tmp ; int tmp___0 ; int tmp___1 ; long tmp___2 ; int tmp___3 ; int tmp___4 ; int tmp___5 ; long tmp___6 ; int tmp___7 ; int tmp___8 ; int tmp___9 ; long tmp___10 ; int tmp___11 ; int tmp___12 ; { ptl = *(the_lnet.ln_portals + (unsigned long )index); unique = (ignore_bits == 0ULL && match_id.nid != 0xffffffffffffffffULL) && match_id.pid != 4294967295U; tmp = lnet_ptl_is_unique(ptl); if (tmp != 0) { tmp___0 = lnet_ptl_is_wildcard(ptl); if (tmp___0 != 0) { tmp___1 = 1; } else { tmp___1 = 0; } } else { tmp___1 = 0; } tmp___2 = ldv__builtin_expect((long )tmp___1, 0L); if (tmp___2 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_ptl_match_type"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 57; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!lnet_ptl_is_unique(ptl) || !lnet_ptl_is_wildcard(ptl)"); lbug_with_loc(& __msg_data); } else { } tmp___3 = lnet_ptl_is_unique(ptl); if (tmp___3 != 0) { tmp___5 = 1; } else { tmp___4 = lnet_ptl_is_wildcard(ptl); if (tmp___4 != 0) { tmp___5 = 1; } else { tmp___5 = 0; } } tmp___6 = ldv__builtin_expect((long )tmp___5, 1L); if (tmp___6 != 0L) { goto match; } else { } spin_lock(& ptl->ptl_lock); tmp___7 = lnet_ptl_is_unique(ptl); if (tmp___7 != 0) { tmp___9 = 1; } else { tmp___8 = lnet_ptl_is_wildcard(ptl); if (tmp___8 != 0) { tmp___9 = 1; } else { tmp___9 = 0; } } tmp___10 = ldv__builtin_expect((long )tmp___9, 0L); if (tmp___10 != 0L) { spin_unlock(& ptl->ptl_lock); goto match; } else { } if (unique != 0) { lnet_ptl_setopt(ptl, 2); } else { lnet_ptl_setopt(ptl, 4); } spin_unlock(& ptl->ptl_lock); return (1); match: tmp___11 = lnet_ptl_is_unique(ptl); if (tmp___11 != 0 && unique == 0) { return (0); } else { tmp___12 = lnet_ptl_is_wildcard(ptl); if (tmp___12 != 0 && unique != 0) { return (0); } else { } } return (1); } } static void lnet_ptl_enable_mt(struct lnet_portal *ptl , int cpt ) { struct lnet_match_table *mtable ; int i ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; { mtable = *(ptl->ptl_mtables + (unsigned long )cpt); tmp = lnet_ptl_is_wildcard(ptl); tmp___0 = ldv__builtin_expect(tmp == 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_ptl_enable_mt"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 95; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lnet_ptl_is_wildcard(ptl)"); lbug_with_loc(& __msg_data); } else { } mtable->mt_enabled = 1U; ptl->ptl_mt_maps[ptl->ptl_mt_nmaps] = cpt; i = ptl->ptl_mt_nmaps + -1; goto ldv_51168; ldv_51167: tmp___1 = ldv__builtin_expect(ptl->ptl_mt_maps[i] == cpt, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data___0.msg_fn = "lnet_ptl_enable_mt"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 101; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"ptl->ptl_mt_maps[i] != cpt"); lbug_with_loc(& __msg_data___0); } else { } if (ptl->ptl_mt_maps[i] < cpt) { goto ldv_51166; } else { } ptl->ptl_mt_maps[i + 1] = ptl->ptl_mt_maps[i]; ptl->ptl_mt_maps[i] = cpt; i = i - 1; ldv_51168: ; if (i >= 0) { goto ldv_51167; } else { } ldv_51166: ptl->ptl_mt_nmaps = ptl->ptl_mt_nmaps + 1; return; } } static void lnet_ptl_disable_mt(struct lnet_portal *ptl , int cpt ) { struct lnet_match_table *mtable ; int i ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; { mtable = *(ptl->ptl_mtables + (unsigned long )cpt); tmp = lnet_ptl_is_wildcard(ptl); tmp___0 = ldv__builtin_expect(tmp == 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_ptl_disable_mt"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 120; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lnet_ptl_is_wildcard(ptl)"); lbug_with_loc(& __msg_data); } else { } if (the_lnet.ln_cpt_number == 1U) { return; } else { } mtable->mt_enabled = 0U; tmp___1 = ldv__builtin_expect((long )(ptl->ptl_mt_nmaps <= 0 || (unsigned int )ptl->ptl_mt_nmaps > the_lnet.ln_cpt_number), 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data___0.msg_fn = "lnet_ptl_disable_mt"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 128; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"ptl->ptl_mt_nmaps > 0 && ptl->ptl_mt_nmaps <= (the_lnet.ln_cpt_number)"); lbug_with_loc(& __msg_data___0); } else { } ptl->ptl_mt_nmaps = ptl->ptl_mt_nmaps - 1; i = 0; goto ldv_51179; ldv_51178: ; if (ptl->ptl_mt_maps[i] >= cpt) { ptl->ptl_mt_maps[i] = ptl->ptl_mt_maps[i + 1]; } else { } i = i + 1; ldv_51179: ; if (ptl->ptl_mt_nmaps > i) { goto ldv_51178; } else { } return; } } static int lnet_try_match_md(lnet_libmd_t *md , struct lnet_match_info *info , struct lnet_msg *msg ) { unsigned int offset ; unsigned int mlength ; lnet_me_t *me ; int tmp ; struct libcfs_debug_msg_data __msg_data ; long tmp___0 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp___1 ; int tmp___2 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___3 ; int tmp___4 ; int tmp___5 ; { me = md->md_me; tmp = lnet_md_exhausted(md); if (tmp != 0) { return (9); } else { } if ((md->md_options & info->mi_opc) == 0U) { return (1); } else { } if (me->me_match_id.nid != 0xffffffffffffffffULL && me->me_match_id.nid != info->mi_id.nid) { return (1); } else { } if (me->me_match_id.pid != 4294967295U && me->me_match_id.pid != info->mi_id.pid) { return (1); } else { } if (((me->me_match_bits ^ info->mi_mbits) & ~ me->me_ignore_bits) != 0ULL) { return (1); } else { } if ((md->md_options & 4U) == 0U) { offset = md->md_offset; } else { offset = info->mi_roffset; } if ((md->md_options & 128U) != 0U) { mlength = md->md_max_size; tmp___0 = ldv__builtin_expect(md->md_offset + mlength > md->md_length, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_try_match_md"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 178; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"md->md_offset + mlength <= md->md_length"); lbug_with_loc(& __msg_data); } else { } } else { mlength = md->md_length - offset; } if (info->mi_rlength <= mlength) { mlength = info->mi_rlength; } else if ((md->md_options & 16U) == 0U) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata.msg_fn = "lnet_try_match_md"; msgdata.msg_line = 189; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; tmp___1 = libcfs_id2str(info->mi_id); libcfs_debug_msg(& msgdata, "Matching packet from %s, match %llu length %d too big: %d left, %d allowed\n", tmp___1, info->mi_mbits, info->mi_rlength, md->md_length - offset, mlength); } else { } return (4); } else { } tmp___4 = cfs_cdebug_show(512U, 1024U); if (tmp___4 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata___0.msg_fn = "lnet_try_match_md"; msgdata___0.msg_line = 198; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 512; tmp___3 = libcfs_id2str(info->mi_id); libcfs_debug_msg(& msgdata___0, "Incoming %s index %x from %s of length %d/%d into md %#llx [%d] + %d\n", info->mi_opc == 1U ? (char *)"put" : (char *)"get", info->mi_portal, tmp___3, mlength, info->mi_rlength, md->md_lh.lh_cookie, md->md_niov, offset); } else { } lnet_msg_attach_md(msg, md, offset, mlength); md->md_offset = offset + mlength; tmp___5 = lnet_md_exhausted(md); if (tmp___5 == 0) { return (2); } else { } if ((md->md_flags & 2U) != 0U) { lnet_md_unlink(md); } else { } return (10); } } static struct lnet_match_table *lnet_match2mt(struct lnet_portal *ptl , lnet_process_id_t id , __u64 mbits ) { int tmp___0 ; struct lnet_match_table *tmp___1 ; int tmp___2 ; { if (the_lnet.ln_cpt_number == 1U) { return (*(ptl->ptl_mtables)); } else { } tmp___2 = lnet_ptl_is_unique(ptl); if (tmp___2 != 0) { tmp___0 = lnet_cpt_of_nid(id.nid); tmp___1 = *(ptl->ptl_mtables + (unsigned long )tmp___0); } else { tmp___1 = (struct lnet_match_table *)0; } return (tmp___1); } } struct lnet_match_table *lnet_mt_of_attach(unsigned int index , lnet_process_id_t id , __u64 mbits , __u64 ignore_bits , lnet_ins_pos_t pos ) { struct lnet_portal *ptl ; struct lnet_match_table *mtable ; struct libcfs_debug_msg_data __msg_data ; long tmp ; int tmp___0 ; int tmp___1 ; { tmp = ldv__builtin_expect((unsigned int )the_lnet.ln_nportals <= index, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_mt_of_attach"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 234; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"index < the_lnet.ln_nportals"); lbug_with_loc(& __msg_data); } else { } tmp___0 = lnet_ptl_match_type(index, id, mbits, ignore_bits); if (tmp___0 == 0) { return ((struct lnet_match_table *)0); } else { } ptl = *(the_lnet.ln_portals + (unsigned long )index); mtable = lnet_match2mt(ptl, id, mbits); if ((unsigned long )mtable != (unsigned long )((struct lnet_match_table *)0)) { return (mtable); } else { } switch ((unsigned int )pos) { default: ; return ((struct lnet_match_table *)0); case 0U: ; case 1U: ; return (*(ptl->ptl_mtables + (unsigned long )(ptl->ptl_index % the_lnet.ln_cpt_number))); case 2U: tmp___1 = cfs_cpt_current(the_lnet.ln_cpt_table, 1); return (*(ptl->ptl_mtables + (unsigned long )tmp___1)); } } } static struct lnet_match_table *lnet_mt_of_match(struct lnet_match_info *info , struct lnet_msg *msg ) { struct lnet_match_table *mtable ; struct lnet_portal *ptl ; unsigned int nmaps ; unsigned int rotor ; unsigned int cpt ; bool routed ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___0 ; int tmp___1 ; int tmp___2 ; long tmp___3 ; __u32 tmp___4 ; __u32 tmp___5 ; int tmp___6 ; unsigned int tmp___7 ; int tmp___8 ; { tmp = ldv__builtin_expect(info->mi_portal >= (unsigned int )the_lnet.ln_nportals, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_mt_of_match"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 271; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"info->mi_portal < the_lnet.ln_nportals"); lbug_with_loc(& __msg_data); } else { } ptl = *(the_lnet.ln_portals + (unsigned long )info->mi_portal); tmp___0 = lnet_ptl_is_wildcard(ptl); if (tmp___0 == 0) { tmp___1 = lnet_ptl_is_unique(ptl); if (tmp___1 == 0) { tmp___2 = 1; } else { tmp___2 = 0; } } else { tmp___2 = 0; } tmp___3 = ldv__builtin_expect((long )tmp___2, 0L); if (tmp___3 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data___0.msg_fn = "lnet_mt_of_match"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 274; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"lnet_ptl_is_wildcard(ptl) || lnet_ptl_is_unique(ptl)"); lbug_with_loc(& __msg_data___0); } else { } mtable = lnet_match2mt(ptl, info->mi_id, info->mi_mbits); if ((unsigned long )mtable != (unsigned long )((struct lnet_match_table *)0)) { return (mtable); } else { } tmp___4 = LNET_NIDNET(msg->msg_hdr.src_nid); tmp___5 = LNET_NIDNET(msg->msg_hdr.dest_nid); routed = tmp___4 != tmp___5; if (portal_rotor == 0 || (portal_rotor != 1 && ! routed)) { tmp___6 = cfs_cpt_current(the_lnet.ln_cpt_table, 1); cpt = (unsigned int )tmp___6; if ((*(ptl->ptl_mtables + (unsigned long )cpt))->mt_enabled != 0U) { return (*(ptl->ptl_mtables + (unsigned long )cpt)); } else { } } else { } tmp___7 = ptl->ptl_rotor; ptl->ptl_rotor = ptl->ptl_rotor + 1U; rotor = tmp___7; if (portal_rotor == 3 && (int )routed) { tmp___8 = lnet_cpt_of_nid(msg->msg_hdr.src_nid); cpt = (unsigned int )tmp___8; } else { cpt = rotor % the_lnet.ln_cpt_number; } if ((*(ptl->ptl_mtables + (unsigned long )cpt))->mt_enabled == 0U) { nmaps = (unsigned int )ptl->ptl_mt_nmaps; if (nmaps != 0U) { cpt = (unsigned int )ptl->ptl_mt_maps[rotor % nmaps]; } else { } } else { } return (*(ptl->ptl_mtables + (unsigned long )cpt)); } } static int lnet_mt_test_exhausted(struct lnet_match_table *mtable , int pos ) { __u64 *bmap___0 ; int i ; int tmp ; struct libcfs_debug_msg_data __msg_data ; long tmp___0 ; { tmp = lnet_ptl_is_wildcard(*(the_lnet.ln_portals + (unsigned long )mtable->mt_portal)); if (tmp == 0) { return (0); } else { } if (pos < 0) { i = 0; goto ldv_51234; ldv_51233: ; if (mtable->mt_exhausted[i] != 0xffffffffffffffffULL) { return (0); } else { } i = i + 1; ldv_51234: ; if (i <= 4) { goto ldv_51233; } else { } return (1); } else { } tmp___0 = ldv__builtin_expect(pos > 256, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_mt_test_exhausted"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 329; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"pos <= (1 << 8)"); lbug_with_loc(& __msg_data); } else { } bmap___0 = (__u64 *)(& mtable->mt_exhausted) + (unsigned long )(pos >> 6); pos = pos & 63; return ((int )(*bmap___0 >> pos) & 1); } } static void lnet_mt_set_exhausted(struct lnet_match_table *mtable , int pos , int exhausted ) { __u64 *bmap___0 ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; { tmp = lnet_ptl_is_wildcard(*(the_lnet.ln_portals + (unsigned long )mtable->mt_portal)); tmp___0 = ldv__builtin_expect(tmp == 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_mt_set_exhausted"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 342; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lnet_ptl_is_wildcard(the_lnet.ln_portals[mtable->mt_portal])"); lbug_with_loc(& __msg_data); } else { } tmp___1 = ldv__builtin_expect(pos > 256, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data___0.msg_fn = "lnet_mt_set_exhausted"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 343; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"pos <= (1 << 8)"); lbug_with_loc(& __msg_data___0); } else { } bmap___0 = (__u64 *)(& mtable->mt_exhausted) + (unsigned long )(pos >> 6); pos = pos & 63; if (exhausted == 0) { *bmap___0 = *bmap___0 & ~ (1ULL << pos); } else { *bmap___0 = *bmap___0 | (1ULL << pos); } return; } } struct list_head *lnet_mt_match_head(struct lnet_match_table *mtable , lnet_process_id_t id , __u64 mbits ) { struct lnet_portal *ptl ; unsigned long hash ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; u64 tmp___1 ; int tmp___2 ; { ptl = *(the_lnet.ln_portals + (unsigned long )mtable->mt_portal); tmp___2 = lnet_ptl_is_wildcard(ptl); if (tmp___2 != 0) { return (mtable->mt_mhash + (mbits & 255ULL)); } else { hash = (unsigned long )((id.nid + mbits) + (unsigned long long )id.pid); tmp = lnet_ptl_is_unique(ptl); tmp___0 = ldv__builtin_expect(tmp == 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_mt_match_head"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 366; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lnet_ptl_is_unique(ptl)"); lbug_with_loc(& __msg_data); } else { } tmp___1 = hash_64((u64 )hash, 8U); hash = (unsigned long )tmp___1; return (mtable->mt_mhash + hash); } } } int lnet_mt_match_md(struct lnet_match_table *mtable , struct lnet_match_info *info , struct lnet_msg *msg ) { struct list_head *head ; lnet_me_t *me ; lnet_me_t *tmp ; int exhausted ; int rc ; int tmp___0 ; int tmp___1 ; struct list_head const *__mptr ; struct list_head const *__mptr___0 ; struct libcfs_debug_msg_data __msg_data ; long tmp___2 ; struct list_head const *__mptr___1 ; int tmp___3 ; int tmp___4 ; { exhausted = 0; tmp___0 = list_empty((struct list_head const *)mtable->mt_mhash + 256U); if (tmp___0 == 0) { head = mtable->mt_mhash + 256UL; } else { head = lnet_mt_match_head(mtable, info->mi_id, info->mi_mbits); } again: tmp___1 = lnet_ptl_is_wildcard(*(the_lnet.ln_portals + (unsigned long )mtable->mt_portal)); if (tmp___1 != 0) { exhausted = 8; } else { } __mptr = (struct list_head const *)head->next; me = (lnet_me_t *)__mptr; __mptr___0 = (struct list_head const *)me->me_list.next; tmp = (lnet_me_t *)__mptr___0; goto ldv_51277; ldv_51276: ; if ((unsigned long )me->me_md == (unsigned long )((struct lnet_libmd *)0)) { goto ldv_51273; } else { } tmp___2 = ldv__builtin_expect((unsigned long )(me->me_md)->md_me != (unsigned long )me, 0L); if (tmp___2 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_mt_match_md"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 397; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"me == me->me_md->md_me"); lbug_with_loc(& __msg_data); } else { } rc = lnet_try_match_md(me->me_md, info, msg); if ((rc & 8) == 0) { exhausted = 0; } else { } if ((rc & 6) != 0) { return (rc & -9); } else { } ldv_51273: me = tmp; __mptr___1 = (struct list_head const *)tmp->me_list.next; tmp = (lnet_me_t *)__mptr___1; ldv_51277: ; if ((unsigned long )(& me->me_list) != (unsigned long )head) { goto ldv_51276; } else { } if (exhausted == 8) { lnet_mt_set_exhausted(mtable, (int )(((long )head - (long )mtable->mt_mhash) / 16L), 1); tmp___3 = lnet_mt_test_exhausted(mtable, -1); if (tmp___3 == 0) { exhausted = 0; } else { } } else { } if (exhausted == 0 && (unsigned long )(mtable->mt_mhash + 256UL) == (unsigned long )head) { head = lnet_mt_match_head(mtable, info->mi_id, info->mi_mbits); goto again; } else { } if (info->mi_opc == 2U) { return (exhausted | 4); } else { tmp___4 = lnet_ptl_is_lazy(*(the_lnet.ln_portals + (unsigned long )info->mi_portal)); if (tmp___4 == 0) { return (exhausted | 4); } else { } } return (exhausted | 1); } } static int lnet_ptl_match_early(struct lnet_portal *ptl , struct lnet_msg *msg ) { int rc ; int tmp ; int tmp___0 ; int tmp___1 ; long tmp___2 ; int tmp___3 ; int tmp___4 ; int tmp___5 ; { tmp = lnet_ptl_is_wildcard(ptl); if (tmp != 0) { tmp___1 = 1; } else { tmp___0 = lnet_ptl_is_unique(ptl); if (tmp___0 != 0) { tmp___1 = 1; } else { tmp___1 = 0; } } tmp___2 = ldv__builtin_expect((long )tmp___1, 1L); if (tmp___2 != 0L) { return (0); } else { } spin_lock(& ptl->ptl_lock); tmp___3 = lnet_ptl_is_wildcard(ptl); if (tmp___3 != 0) { spin_unlock(& ptl->ptl_lock); return (0); } else { tmp___4 = lnet_ptl_is_unique(ptl); if (tmp___4 != 0) { spin_unlock(& ptl->ptl_lock); return (0); } else { } } tmp___5 = lnet_ptl_is_lazy(ptl); if (tmp___5 != 0) { if ((unsigned int )*((unsigned char *)msg + 64UL) != 0U) { msg->msg_rx_delayed = 1U; list_add_tail(& msg->msg_list, & ptl->ptl_msg_delayed); } else { } rc = 1; } else { rc = 4; } spin_unlock(& ptl->ptl_lock); return (rc); } } static int lnet_ptl_match_delay(struct lnet_portal *ptl , struct lnet_match_info *info , struct lnet_msg *msg ) { int first ; int rc ; int i ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct lnet_match_table *mtable ; int cpt ; int tmp___1 ; int tmp___2 ; int tmp___3 ; { first = ptl->ptl_mt_maps[0]; rc = 0; tmp = lnet_ptl_is_wildcard(ptl); tmp___0 = ldv__builtin_expect(tmp == 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_ptl_match_delay"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 471; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lnet_ptl_is_wildcard(ptl)"); lbug_with_loc(& __msg_data); } else { } i = 0; goto ldv_51299; ldv_51298: cpt = (int )((unsigned int )(first + i) % the_lnet.ln_cpt_number); mtable = *(ptl->ptl_mtables + (unsigned long )cpt); if ((i != 0 && (unsigned int )i != the_lnet.ln_cpt_number - 1U) && mtable->mt_enabled == 0U) { goto ldv_51296; } else { } lnet_res_lock(cpt); spin_lock(& ptl->ptl_lock); if (i == 0) { list_add_tail(& msg->msg_list, & ptl->ptl_msg_stealing); } else { } tmp___1 = list_empty((struct list_head const *)(& msg->msg_list)); if (tmp___1 == 0) { rc = lnet_mt_match_md(mtable, info, msg); if ((rc & 8) != 0 && mtable->mt_enabled != 0U) { lnet_ptl_disable_mt(ptl, cpt); } else { } if ((rc & 6) != 0) { list_del_init(& msg->msg_list); } else { } } else { rc = (unsigned long )msg->msg_md == (unsigned long )((struct lnet_libmd *)0) ? 4 : 2; } tmp___3 = list_empty((struct list_head const *)(& msg->msg_list)); if (tmp___3 == 0 && (((unsigned int )i == the_lnet.ln_cpt_number - 1U || ptl->ptl_mt_nmaps == 0) || (ptl->ptl_mt_nmaps == 1 && ptl->ptl_mt_maps[0] == cpt))) { list_del_init(& msg->msg_list); tmp___2 = lnet_ptl_is_lazy(ptl); if (tmp___2 != 0) { msg->msg_rx_delayed = 1U; list_add_tail(& msg->msg_list, & ptl->ptl_msg_delayed); rc = 1; } else { rc = 4; } } else { } spin_unlock(& ptl->ptl_lock); lnet_res_unlock(cpt); if ((rc & 6) != 0 || (unsigned int )*((unsigned char *)msg + 64UL) != 0U) { goto ldv_51297; } else { } ldv_51296: i = i + 1; ldv_51299: ; if ((unsigned int )i < the_lnet.ln_cpt_number) { goto ldv_51298; } else { } ldv_51297: ; return (rc); } } int lnet_ptl_match_md(struct lnet_match_info *info , struct lnet_msg *msg ) { struct lnet_match_table *mtable ; struct lnet_portal *ptl ; int rc ; struct libcfs_debug_msg_data msgdata ; char *tmp ; int tmp___0 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; struct libcfs_debug_msg_data __msg_data ; int tmp___2 ; long tmp___3 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___4 ; int tmp___5 ; struct libcfs_debug_msg_data msgdata___1 ; char *tmp___6 ; int tmp___7 ; { tmp___0 = cfs_cdebug_show(512U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata.msg_fn = "lnet_ptl_match_md"; msgdata.msg_line = 544; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; tmp = libcfs_id2str(info->mi_id); libcfs_debug_msg(& msgdata, "Request from %s of length %d into portal %d MB=%#llx\n", tmp, info->mi_rlength, info->mi_portal, info->mi_mbits); } else { } if (info->mi_portal >= (unsigned int )the_lnet.ln_nportals) { tmp___1 = cfs_cdebug_show(131072U, 1024U); if (tmp___1 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata___0.msg_fn = "lnet_ptl_match_md"; msgdata___0.msg_line = 548; msgdata___0.msg_cdls = & cdls; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "Invalid portal %d not in [0-%d]\n", info->mi_portal, the_lnet.ln_nportals); } else { } return (4); } else { } ptl = *(the_lnet.ln_portals + (unsigned long )info->mi_portal); rc = lnet_ptl_match_early(ptl, msg); if (rc != 0) { return (rc); } else { } mtable = lnet_mt_of_match(info, msg); lnet_res_lock((int )mtable->mt_cpt); if (the_lnet.ln_shutdown != 0) { rc = 4; goto out1; } else { } rc = lnet_mt_match_md(mtable, info, msg); if ((rc & 8) != 0 && mtable->mt_enabled != 0U) { spin_lock(& ptl->ptl_lock); lnet_ptl_disable_mt(ptl, (int )mtable->mt_cpt); spin_unlock(& ptl->ptl_lock); } else { } if ((rc & 6) != 0) { goto out1; } else { } if ((unsigned int )*((unsigned char *)msg + 64UL) == 0U) { goto out1; } else { } tmp___2 = lnet_ptl_is_lazy(ptl); tmp___3 = ldv__builtin_expect(tmp___2 == 0, 0L); if (tmp___3 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_ptl_match_md"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 578; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lnet_ptl_is_lazy(ptl)"); lbug_with_loc(& __msg_data); } else { } tmp___4 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) != 0U, 0L); if (tmp___4 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data___0.msg_fn = "lnet_ptl_match_md"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 579; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_rx_delayed"); lbug_with_loc(& __msg_data___0); } else { } tmp___5 = lnet_ptl_is_unique(ptl); if (tmp___5 != 0 || the_lnet.ln_cpt_number == 1U) { spin_lock(& ptl->ptl_lock); msg->msg_rx_delayed = 1U; list_add_tail(& msg->msg_list, & ptl->ptl_msg_delayed); spin_unlock(& ptl->ptl_lock); lnet_res_unlock((int )mtable->mt_cpt); } else { lnet_res_unlock((int )mtable->mt_cpt); rc = lnet_ptl_match_delay(ptl, info, msg); } if ((unsigned int )*((unsigned char *)msg + 64UL) != 0U) { tmp___7 = cfs_cdebug_show(512U, 1024U); if (tmp___7 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata___1.msg_fn = "lnet_ptl_match_md"; msgdata___1.msg_line = 601; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 512; tmp___6 = libcfs_id2str(info->mi_id); libcfs_debug_msg(& msgdata___1, "Delaying %s from %s ptl %d MB %#llx off %d len %d\n", info->mi_opc == 1U ? (char *)"PUT" : (char *)"GET", tmp___6, info->mi_portal, info->mi_mbits, info->mi_roffset, info->mi_rlength); } else { } } else { } goto out0; out1: lnet_res_unlock((int )mtable->mt_cpt); out0: ; return (rc & -9); } } void lnet_ptl_detach_md(lnet_me_t *me , lnet_libmd_t *md ) { struct libcfs_debug_msg_data __msg_data ; long tmp ; { tmp = ldv__builtin_expect((long )((unsigned long )me->me_md != (unsigned long )md || (unsigned long )md->md_me != (unsigned long )me), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_ptl_detach_md"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 614; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"me->me_md == md && md->md_me == me"); lbug_with_loc(& __msg_data); } else { } me->me_md = (struct lnet_libmd *)0; md->md_me = (lnet_me_t *)0; return; } } void lnet_ptl_attach_md(lnet_me_t *me , lnet_libmd_t *md , struct list_head *matches , struct list_head *drops ) { struct lnet_portal *ptl ; struct lnet_match_table *mtable ; struct list_head *head ; lnet_msg_t *tmp ; lnet_msg_t *msg ; int exhausted ; int cpt ; struct libcfs_debug_msg_data __msg_data ; long tmp___0 ; int tmp___1 ; int tmp___2 ; int tmp___3 ; struct list_head const *__mptr ; struct list_head const *__mptr___0 ; struct lnet_match_info info ; lnet_hdr_t *hdr ; int rc ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___4 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___5 ; struct libcfs_debug_msg_data msgdata ; char *tmp___6 ; int tmp___7 ; struct list_head const *__mptr___1 ; int tmp___8 ; { ptl = *(the_lnet.ln_portals + (unsigned long )me->me_portal); exhausted = 0; tmp___0 = ldv__builtin_expect(md->md_refcount != 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_ptl_attach_md"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 633; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"md->md_refcount == 0"); lbug_with_loc(& __msg_data); } else { } me->me_md = md; md->md_me = me; cpt = lnet_cpt_of_cookie(md->md_lh.lh_cookie); mtable = *(ptl->ptl_mtables + (unsigned long )cpt); tmp___1 = list_empty((struct list_head const *)(& ptl->ptl_msg_stealing)); if (tmp___1 != 0) { tmp___2 = list_empty((struct list_head const *)(& ptl->ptl_msg_delayed)); if (tmp___2 != 0) { tmp___3 = lnet_mt_test_exhausted(mtable, (int )me->me_pos); if (tmp___3 == 0) { return; } else { } } else { } } else { } spin_lock(& ptl->ptl_lock); head = & ptl->ptl_msg_stealing; again: __mptr = (struct list_head const *)head->next; msg = (lnet_msg_t *)__mptr + 0xfffffffffffffff0UL; __mptr___0 = (struct list_head const *)msg->msg_list.next; tmp = (lnet_msg_t *)__mptr___0 + 0xfffffffffffffff0UL; goto ldv_51353; ldv_51352: tmp___4 = ldv__builtin_expect((long )((unsigned int )*((unsigned char *)msg + 64UL) == 0U && (unsigned long )(& ptl->ptl_msg_stealing) != (unsigned long )head), 0L); if (tmp___4 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data___0.msg_fn = "lnet_ptl_attach_md"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 654; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_rx_delayed || head == &ptl->ptl_msg_stealing"); lbug_with_loc(& __msg_data___0); } else { } hdr = & msg->msg_hdr; info.mi_id.nid = hdr->src_nid; info.mi_id.pid = hdr->src_pid; info.mi_opc = 1U; info.mi_portal = hdr->msg.put.ptl_index; info.mi_rlength = hdr->payload_length; info.mi_roffset = hdr->msg.put.offset; info.mi_mbits = hdr->msg.put.match_bits; rc = lnet_try_match_md(md, & info, msg); exhausted = (rc & 8) != 0; if (rc & 1) { if (exhausted != 0) { goto ldv_51348; } else { } goto ldv_51349; } else { } tmp___5 = ldv__builtin_expect((rc & 6) == 0, 0L); if (tmp___5 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data___1.msg_fn = "lnet_ptl_attach_md"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 675; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"(rc & LNET_MATCHMD_FINISH) != 0"); lbug_with_loc(& __msg_data___1); } else { } list_del_init(& msg->msg_list); if ((unsigned long )(& ptl->ptl_msg_stealing) == (unsigned long )head) { if (exhausted != 0) { goto ldv_51348; } else { } goto ldv_51349; } else { } if ((rc & 2) != 0) { list_add_tail(& msg->msg_list, matches); tmp___7 = cfs_cdebug_show(512U, 1024U); if (tmp___7 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata.msg_fn = "lnet_ptl_attach_md"; msgdata.msg_line = 691; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; tmp___6 = libcfs_id2str(info.mi_id); libcfs_debug_msg(& msgdata, "Resuming delayed PUT from %s portal %d match %llu offset %d length %d.\n", tmp___6, info.mi_portal, info.mi_mbits, info.mi_roffset, info.mi_rlength); } else { } } else { list_add_tail(& msg->msg_list, drops); } if (exhausted != 0) { goto ldv_51348; } else { } ldv_51349: msg = tmp; __mptr___1 = (struct list_head const *)tmp->msg_list.next; tmp = (lnet_msg_t *)__mptr___1 + 0xfffffffffffffff0UL; ldv_51353: ; if ((unsigned long )(& msg->msg_list) != (unsigned long )head) { goto ldv_51352; } else { } ldv_51348: ; if (exhausted == 0 && (unsigned long )(& ptl->ptl_msg_stealing) == (unsigned long )head) { head = & ptl->ptl_msg_delayed; goto again; } else { } tmp___8 = lnet_ptl_is_wildcard(ptl); if (tmp___8 != 0 && exhausted == 0) { lnet_mt_set_exhausted(mtable, (int )me->me_pos, 0); if (mtable->mt_enabled == 0U) { lnet_ptl_enable_mt(ptl, cpt); } else { } } else { } spin_unlock(& ptl->ptl_lock); return; } } static void lnet_ptl_cleanup(struct lnet_portal *ptl ) { struct lnet_match_table *mtable ; int i ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___1 ; long tmp___2 ; struct list_head *mhash ; lnet_me_t *me ; int j ; struct list_head const *__mptr ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___3 ; int tmp___4 ; int s ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___5 ; long tmp___6 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___7 ; int tmp___8 ; long tmp___9 ; int tmp___10 ; { if ((unsigned long )ptl->ptl_mtables == (unsigned long )((struct lnet_match_table **)0)) { return; } else { } tmp = list_empty((struct list_head const *)(& ptl->ptl_msg_delayed)); tmp___0 = ldv__builtin_expect(tmp == 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_ptl_cleanup"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 723; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&ptl->ptl_msg_delayed)"); lbug_with_loc(& __msg_data); } else { } tmp___1 = list_empty((struct list_head const *)(& ptl->ptl_msg_stealing)); tmp___2 = ldv__builtin_expect(tmp___1 == 0, 0L); if (tmp___2 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data___0.msg_fn = "lnet_ptl_cleanup"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 724; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&ptl->ptl_msg_stealing)"); lbug_with_loc(& __msg_data___0); } else { } i = 0; goto ldv_51382; ldv_51381: ; if ((unsigned long )mtable->mt_mhash == (unsigned long )((struct list_head *)0)) { goto ldv_51365; } else { } mhash = mtable->mt_mhash; j = 0; goto ldv_51374; ldv_51373: ; goto ldv_51371; ldv_51370: __mptr = (struct list_head const *)(mhash + (unsigned long )j)->next; me = (lnet_me_t *)__mptr; tmp___3 = cfs_cdebug_show(131072U, 1024U); if (tmp___3 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata.msg_fn = "lnet_ptl_cleanup"; msgdata.msg_line = 739; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Active ME %p on exit\n", me); } else { } list_del(& me->me_list); lnet_me_free(me); ldv_51371: tmp___4 = list_empty((struct list_head const *)mhash + (unsigned long )j); if (tmp___4 == 0) { goto ldv_51370; } else { } j = j + 1; ldv_51374: ; if (j <= 256) { goto ldv_51373; } else { } s = 4112; tmp___6 = ldv__builtin_expect((unsigned long )mhash == (unsigned long )((struct list_head *)0), 0L); if (tmp___6 != 0L) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata___0.msg_fn = "lnet_ptl_cleanup"; msgdata___0.msg_line = 745; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "LIBCFS: free NULL \'mhash\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c", 745); } else { } goto ldv_51379; } else { } atomic_sub(s, & libcfs_kmemory); tmp___8 = cfs_cdebug_show(16U, 1024U); if (tmp___8 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata___1.msg_fn = "lnet_ptl_cleanup"; msgdata___1.msg_line = 745; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___7 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "kfreed \'mhash\': %d at %p (tot %d).\n", s, mhash, tmp___7); } else { } tmp___9 = ldv__builtin_expect(s > 8192, 0L); if (tmp___9 != 0L) { vfree((void const *)mhash); } else { kfree((void const *)mhash); } ldv_51379: ; ldv_51365: i = i + 1; ldv_51382: tmp___10 = cfs_percpt_number((void *)ptl->ptl_mtables); if (tmp___10 > i) { mtable = *(ptl->ptl_mtables + (unsigned long )i); if ((unsigned long )mtable != (unsigned long )((struct lnet_match_table *)0)) { goto ldv_51381; } else { goto ldv_51383; } } else { } ldv_51383: cfs_percpt_free((void *)ptl->ptl_mtables); ptl->ptl_mtables = (struct lnet_match_table **)0; return; } } static int lnet_ptl_setup(struct lnet_portal *ptl , int index ) { struct lnet_match_table *mtable ; struct list_head *mhash ; int i ; int j ; void *tmp ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; struct lock_class_key __key ; struct libcfs_debug_msg_data __msg_data ; int tmp___1 ; long tmp___2 ; int tmp___3 ; void *tmp___4 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___5 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___6 ; int tmp___7 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___8 ; int tmp___9 ; long tmp___10 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___11 ; int tmp___12 ; { tmp = cfs_percpt_alloc(the_lnet.ln_cpt_table, 64U); ptl->ptl_mtables = (struct lnet_match_table **)tmp; if ((unsigned long )ptl->ptl_mtables == (unsigned long )((struct lnet_match_table **)0)) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata.msg_fn = "lnet_ptl_setup"; msgdata.msg_line = 763; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Failed to create match table for portal %d\n", index); } else { } return (-12); } else { } ptl->ptl_index = (unsigned int )index; INIT_LIST_HEAD(& ptl->ptl_msg_delayed); INIT_LIST_HEAD(& ptl->ptl_msg_stealing); spinlock_check(& ptl->ptl_lock); __raw_spin_lock_init(& ptl->ptl_lock.__annonCompField18.rlock, "&(&ptl->ptl_lock)->rlock", & __key); i = 0; goto ldv_51409; ldv_51408: tmp___1 = preempt_count(); tmp___2 = ldv__builtin_expect((long )(((unsigned long )tmp___1 & 2096896UL) != 0UL && 1), 0L); if (tmp___2 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; __msg_data.msg_fn = "lnet_ptl_setup"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 774; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((sizeof(*mhash) * ((1 << 8) + 1))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } tmp___3 = cfs_cpt_spread_node(the_lnet.ln_cpt_table, i); tmp___4 = kmalloc_node(4112UL, 80U, tmp___3); mhash = (struct list_head *)tmp___4; tmp___10 = ldv__builtin_expect((unsigned long )mhash == (unsigned long )((struct list_head *)0), 0L); if (tmp___10 != 0L) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata___0.msg_fn = "lnet_ptl_setup"; msgdata___0.msg_line = 774; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "LNET: out of memory at %s:%d (tried to alloc \'(mhash)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c", 774, 4112); } else { } tmp___7 = cfs_cdebug_show(131072U, 1024U); if (tmp___7 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata___1.msg_fn = "lnet_ptl_setup"; msgdata___1.msg_line = 774; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 131072; tmp___6 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "LNET: %d total bytes allocated by lnet\n", tmp___6); } else { } } else { memset((void *)mhash, 0, 4112UL); atomic_add(4112, & libcfs_kmemory); tmp___9 = cfs_cdebug_show(16U, 1024U); if (tmp___9 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata___2.msg_fn = "lnet_ptl_setup"; msgdata___2.msg_line = 774; msgdata___2.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___2.msg_mask = 16; tmp___8 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___2, "alloc \'(mhash)\': %d at %p (tot %d).\n", 4112, mhash, tmp___8); } else { } } if ((unsigned long )mhash == (unsigned long )((struct list_head *)0)) { tmp___11 = cfs_cdebug_show(131072U, 1024U); if (tmp___11 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata___3.msg_fn = "lnet_ptl_setup"; msgdata___3.msg_line = 777; msgdata___3.msg_cdls = & cdls___2; msgdata___3.msg_mask = 131072; libcfs_debug_msg(& msgdata___3, "Failed to create match hash for portal %d\n", index); } else { } goto failed; } else { } memset((void *)(& mtable->mt_exhausted), -1, 40UL); mtable->mt_mhash = mhash; j = 0; goto ldv_51406; ldv_51405: INIT_LIST_HEAD(mhash + (unsigned long )j); j = j + 1; ldv_51406: ; if (j <= 256) { goto ldv_51405; } else { } mtable->mt_portal = (unsigned int )index; mtable->mt_cpt = (unsigned int )i; i = i + 1; ldv_51409: tmp___12 = cfs_percpt_number((void *)ptl->ptl_mtables); if (tmp___12 > i) { mtable = *(ptl->ptl_mtables + (unsigned long )i); if ((unsigned long )mtable != (unsigned long )((struct lnet_match_table *)0)) { goto ldv_51408; } else { goto ldv_51410; } } else { } ldv_51410: ; return (0); failed: lnet_ptl_cleanup(ptl); return (-12); } } void lnet_portals_destroy(void) { int i ; { if ((unsigned long )the_lnet.ln_portals == (unsigned long )((lnet_portal_t **)0)) { return; } else { } i = 0; goto ldv_51416; ldv_51415: lnet_ptl_cleanup(*(the_lnet.ln_portals + (unsigned long )i)); i = i + 1; ldv_51416: ; if (the_lnet.ln_nportals > i) { goto ldv_51415; } else { } cfs_array_free((void *)the_lnet.ln_portals); the_lnet.ln_portals = (lnet_portal_t **)0; return; } } int lnet_portals_create(void) { int size ; int i ; void *tmp ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; int tmp___1 ; { size = (int )((unsigned int )((unsigned long )the_lnet.ln_cpt_number + 32UL) * 4U); the_lnet.ln_nportals = 64; tmp = cfs_array_alloc(the_lnet.ln_nportals, (unsigned int )size); the_lnet.ln_portals = (lnet_portal_t **)tmp; if ((unsigned long )the_lnet.ln_portals == (unsigned long )((lnet_portal_t **)0)) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata.msg_fn = "lnet_portals_create"; msgdata.msg_line = 824; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Failed to allocate portals table\n"); } else { } return (-12); } else { } i = 0; goto ldv_51427; ldv_51426: tmp___1 = lnet_ptl_setup(*(the_lnet.ln_portals + (unsigned long )i), i); if (tmp___1 != 0) { lnet_portals_destroy(); return (-12); } else { } i = i + 1; ldv_51427: ; if (the_lnet.ln_nportals > i) { goto ldv_51426; } else { } return (0); } } int LNetSetLazyPortal(int portal ) { struct lnet_portal *ptl ; struct libcfs_debug_msg_data msgdata ; int tmp ; { if (portal < 0 || the_lnet.ln_nportals <= portal) { return (-22); } else { } tmp = cfs_cdebug_show(512U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata.msg_fn = "LNetSetLazyPortal"; msgdata.msg_line = 874; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; libcfs_debug_msg(& msgdata, "Setting portal %d lazy\n", portal); } else { } ptl = *(the_lnet.ln_portals + (unsigned long )portal); lnet_res_lock(-1); spin_lock(& ptl->ptl_lock); lnet_ptl_setopt(ptl, 1); spin_unlock(& ptl->ptl_lock); lnet_res_unlock(-1); return (0); } } static char const __kstrtab_LNetSetLazyPortal[18U] = { 'L', 'N', 'e', 't', 'S', 'e', 't', 'L', 'a', 'z', 'y', 'P', 'o', 'r', 't', 'a', 'l', '\000'}; struct kernel_symbol const __ksymtab_LNetSetLazyPortal ; struct kernel_symbol const __ksymtab_LNetSetLazyPortal = {(unsigned long )(& LNetSetLazyPortal), (char const *)(& __kstrtab_LNetSetLazyPortal)}; int LNetClearLazyPortal(int portal ) { struct lnet_portal *ptl ; struct list_head zombies ; int tmp ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; { zombies.next = & zombies; zombies.prev = & zombies; if (portal < 0 || the_lnet.ln_nportals <= portal) { return (-22); } else { } ptl = *(the_lnet.ln_portals + (unsigned long )portal); lnet_res_lock(-1); spin_lock(& ptl->ptl_lock); tmp = lnet_ptl_is_lazy(ptl); if (tmp == 0) { spin_unlock(& ptl->ptl_lock); lnet_res_unlock(-1); return (0); } else { } if (the_lnet.ln_shutdown != 0) { tmp___0 = cfs_cdebug_show(1024U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata.msg_fn = "LNetClearLazyPortal"; msgdata.msg_line = 919; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 1024; libcfs_debug_msg(& msgdata, "Active lazy portal %d on exit\n", portal); } else { } } else { tmp___1 = cfs_cdebug_show(512U, 1024U); if (tmp___1 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-ptl.c"; msgdata___0.msg_fn = "LNetClearLazyPortal"; msgdata___0.msg_line = 921; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 512; libcfs_debug_msg(& msgdata___0, "clearing portal %d lazy\n", portal); } else { } } list_splice_init(& ptl->ptl_msg_delayed, & zombies); lnet_ptl_unsetopt(ptl, 1); spin_unlock(& ptl->ptl_lock); lnet_res_unlock(-1); lnet_drop_delayed_msg_list(& zombies, (char *)"Clearing lazy portal attr"); return (0); } } static char const __kstrtab_LNetClearLazyPortal[20U] = { 'L', 'N', 'e', 't', 'C', 'l', 'e', 'a', 'r', 'L', 'a', 'z', 'y', 'P', 'o', 'r', 't', 'a', 'l', '\000'}; struct kernel_symbol const __ksymtab_LNetClearLazyPortal ; struct kernel_symbol const __ksymtab_LNetClearLazyPortal = {(unsigned long )(& LNetClearLazyPortal), (char const *)(& __kstrtab_LNetClearLazyPortal)}; __inline static long ldv__builtin_expect(long exp , long c ) ; __inline static void __read_once_size(void const volatile *p , void *res , int size ) { { switch (size) { case 1: *((__u8 *)res) = *((__u8 volatile *)p); goto ldv_880; case 2: *((__u16 *)res) = *((__u16 volatile *)p); goto ldv_880; case 4: *((__u32 *)res) = *((__u32 volatile *)p); goto ldv_880; case 8: *((__u64 *)res) = *((__u64 volatile *)p); goto ldv_880; default: __asm__ volatile ("": : : "memory"); memcpy(res, (void const *)p, (unsigned long )size); __asm__ volatile ("": : : "memory"); } ldv_880: ; return; } } __inline static __u32 __arch_swab32(__u32 val ) { { __asm__ ("bswapl %0": "=r" (val): "0" (val)); return (val); } } __inline static __u16 __fswab16(__u16 val ) { { return ((__u16 )((int )((short )((int )val << 8)) | (int )((short )((int )val >> 8)))); } } __inline static __u32 __fswab32(__u32 val ) { __u32 tmp ; { tmp = __arch_swab32(val); return (tmp); } } bool ldv_is_err(void const *ptr ) ; long ldv_ptr_err(void const *ptr ) ; extern __kernel_size_t strnlen(char const * , __kernel_size_t ) ; __inline static long PTR_ERR(void const *ptr ) ; __inline static bool IS_ERR(void const *ptr ) ; extern struct tss_struct cpu_tss ; __inline static unsigned long current_top_of_stack(void) { u64 pfo_ret__ ; { switch (8UL) { case 1UL: __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& cpu_tss.x86_tss.sp0)); goto ldv_5437; case 2UL: __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& cpu_tss.x86_tss.sp0)); goto ldv_5437; case 4UL: __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& cpu_tss.x86_tss.sp0)); goto ldv_5437; case 8UL: __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& cpu_tss.x86_tss.sp0)); goto ldv_5437; default: __bad_percpu_size(); } ldv_5437: ; return ((unsigned long )pfo_ret__); } } __inline static struct thread_info *current_thread_info(void) { unsigned long tmp ; { tmp = current_top_of_stack(); return ((struct thread_info *)(tmp - 32768UL)); } } extern int debug_lockdep_rcu_enabled(void) ; extern int sock_create(int , int , int , struct socket ** ) ; extern int sock_create_lite(int , int , int , struct socket ** ) ; extern void sock_release(struct socket * ) ; extern struct file *sock_alloc_file(struct socket * , int , char const * ) ; extern int kernel_sendmsg(struct socket * , struct msghdr * , struct kvec * , size_t , size_t ) ; extern int kernel_recvmsg(struct socket * , struct msghdr * , struct kvec * , size_t , size_t , int ) ; extern int kernel_bind(struct socket * , struct sockaddr * , int ) ; extern int kernel_listen(struct socket * , int ) ; extern int kernel_connect(struct socket * , struct sockaddr * , int , int ) ; extern int kernel_getsockname(struct socket * , struct sockaddr * , int * ) ; extern int kernel_getpeername(struct socket * , struct sockaddr * , int * ) ; extern int kernel_setsockopt(struct socket * , int , int , char * , unsigned int ) ; extern void fput(struct file * ) ; __inline static wait_queue_head_t *sk_sleep(struct sock *sk ) { struct socket_wq *________p1 ; struct socket_wq *_________p1 ; union __anonunion___u_380 __u ; int tmp ; { __read_once_size((void const volatile *)(& sk->sk_wq), (void *)(& __u.__c), 8); _________p1 = __u.__val; ________p1 = _________p1; tmp = debug_lockdep_rcu_enabled(); return (& ________p1->wait); } } int lnet_sock_setbuf(struct socket *sock , int txbufsize , int rxbufsize ) ; int lnet_sock_getbuf(struct socket *sock , int *txbufsize , int *rxbufsize ) ; int lnet_sock_getaddr(struct socket *sock , bool remote , __u32 *ip , int *port ) ; int lnet_sock_write(struct socket *sock , void *buffer , int nob , int timeout ) ; int lnet_sock_read(struct socket *sock , void *buffer , int nob , int timeout ) ; int lnet_sock_listen(struct socket **sockp , __u32 local_ip , int local_port , int backlog ) ; int lnet_sock_accept(struct socket **newsockp , struct socket *sock ) ; int lnet_sock_connect(struct socket **sockp , int *fatal , __u32 local_ip , int local_port , __u32 peer_ip , int peer_port ) ; static int kernel_sock_unlocked_ioctl(struct file *filp , int cmd , unsigned long arg ) { mm_segment_t oldfs ; struct thread_info *tmp ; int err ; struct thread_info *tmp___0 ; mm_segment_t __constr_expr_0 ; long tmp___1 ; struct thread_info *tmp___2 ; { tmp = current_thread_info(); oldfs = tmp->addr_limit; tmp___0 = current_thread_info(); __constr_expr_0.seg = 0xffffffffffffffffUL; tmp___0->addr_limit = __constr_expr_0; tmp___1 = (*((filp->f_op)->unlocked_ioctl))(filp, (unsigned int )cmd, arg); err = (int )tmp___1; tmp___2 = current_thread_info(); tmp___2->addr_limit = oldfs; return (err); } } static int lnet_sock_ioctl(int cmd , unsigned long arg ) { struct file *sock_filp ; struct socket *sock ; int rc ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; long tmp___0 ; bool tmp___1 ; { rc = sock_create(2, 1, 0, & sock); if (rc != 0) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata.msg_fn = "lnet_sock_ioctl"; msgdata.msg_line = 68; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Can\'t create socket: %d\n", rc); } else { } return (rc); } else { } sock_filp = sock_alloc_file(sock, 0, (char const *)0); tmp___1 = IS_ERR((void const *)sock_filp); if ((int )tmp___1) { sock_release(sock); tmp___0 = PTR_ERR((void const *)sock_filp); rc = (int )tmp___0; goto out; } else { } rc = kernel_sock_unlocked_ioctl(sock_filp, cmd, arg); fput(sock_filp); out: ; return (rc); } } int lnet_ipif_query(char *name , int *up___0 , __u32 *ip , __u32 *mask ) { struct ifreq ifr ; int nob ; int rc ; __u32 val ; __kernel_size_t tmp ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___2 ; __u32 tmp___3 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___4 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___5 ; { tmp = strnlen((char const *)name, 16UL); nob = (int )tmp; if (nob == 16) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata.msg_fn = "lnet_ipif_query"; msgdata.msg_line = 96; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Interface name %s too long\n", name); } else { } return (-22); } else { } switch (42) { case 1: ; case 0: ; goto ldv_55024; } ldv_55024: strcpy((char *)(& ifr.ifr_ifrn.ifrn_name), (char const *)name); rc = lnet_sock_ioctl(35091, (unsigned long )(& ifr)); if (rc != 0) { tmp___1 = cfs_cdebug_show(131072U, 1024U); if (tmp___1 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___0.msg_fn = "lnet_ipif_query"; msgdata___0.msg_line = 105; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "Can\'t get flags for interface %s\n", name); } else { } return (rc); } else { } if (((int )ifr.ifr_ifru.ifru_flags & 1) == 0) { tmp___2 = cfs_cdebug_show(512U, 1024U); if (tmp___2 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___1.msg_fn = "lnet_ipif_query"; msgdata___1.msg_line = 110; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 512; libcfs_debug_msg(& msgdata___1, "Interface %s down\n", name); } else { } *up___0 = 0; tmp___3 = 0U; *mask = tmp___3; *ip = tmp___3; return (0); } else { } *up___0 = 1; strcpy((char *)(& ifr.ifr_ifrn.ifrn_name), (char const *)name); ifr.ifr_ifru.ifru_addr.sa_family = 2U; rc = lnet_sock_ioctl(35093, (unsigned long )(& ifr)); if (rc != 0) { tmp___4 = cfs_cdebug_show(131072U, 1024U); if (tmp___4 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___2.msg_fn = "lnet_ipif_query"; msgdata___2.msg_line = 121; msgdata___2.msg_cdls = & cdls___1; msgdata___2.msg_mask = 131072; libcfs_debug_msg(& msgdata___2, "Can\'t get IP address for interface %s\n", name); } else { } return (rc); } else { } val = ((struct sockaddr_in *)(& ifr.ifr_ifru.ifru_addr))->sin_addr.s_addr; *ip = __fswab32(val); strcpy((char *)(& ifr.ifr_ifrn.ifrn_name), (char const *)name); ifr.ifr_ifru.ifru_addr.sa_family = 2U; rc = lnet_sock_ioctl(35099, (unsigned long )(& ifr)); if (rc != 0) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___3.msg_fn = "lnet_ipif_query"; msgdata___3.msg_line = 132; msgdata___3.msg_cdls = & cdls___2; msgdata___3.msg_mask = 131072; libcfs_debug_msg(& msgdata___3, "Can\'t get netmask for interface %s\n", name); } else { } return (rc); } else { } val = ((struct sockaddr_in *)(& ifr.ifr_ifru.ifru_netmask))->sin_addr.s_addr; *mask = __fswab32(val); return (0); } } static char const __kstrtab_lnet_ipif_query[16U] = { 'l', 'n', 'e', 't', '_', 'i', 'p', 'i', 'f', '_', 'q', 'u', 'e', 'r', 'y', '\000'}; struct kernel_symbol const __ksymtab_lnet_ipif_query ; struct kernel_symbol const __ksymtab_lnet_ipif_query = {(unsigned long )(& lnet_ipif_query), (char const *)(& __kstrtab_lnet_ipif_query)}; int lnet_ipif_enumerate(char ***namesp ) { char **names ; int toobig ; int nalloc ; int nfound ; struct ifreq *ifr ; struct ifconf ifc ; int rc ; int nob ; int i ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; struct libcfs_debug_msg_data __msg_data ; int tmp___0 ; long tmp___1 ; void *tmp___2 ; void *tmp___3 ; void *tmp___4 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___5 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___6 ; int tmp___7 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___8 ; int tmp___9 ; long tmp___10 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___11 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___4 ; int tmp___12 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___13 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___14 ; int s ; struct cfs_debug_limit_state cdls___4 ; struct libcfs_debug_msg_data msgdata___5 ; int tmp___15 ; long tmp___16 ; struct libcfs_debug_msg_data msgdata___6 ; int tmp___17 ; int tmp___18 ; long tmp___19 ; struct libcfs_debug_msg_data __msg_data___2 ; int tmp___20 ; long tmp___21 ; void *tmp___22 ; void *tmp___23 ; void *tmp___24 ; struct cfs_debug_limit_state cdls___5 ; struct libcfs_debug_msg_data msgdata___7 ; int tmp___25 ; struct cfs_debug_limit_state cdls___6 ; struct libcfs_debug_msg_data msgdata___8 ; int tmp___26 ; int tmp___27 ; struct libcfs_debug_msg_data msgdata___9 ; int tmp___28 ; int tmp___29 ; long tmp___30 ; __kernel_size_t tmp___31 ; struct cfs_debug_limit_state cdls___7 ; struct libcfs_debug_msg_data msgdata___10 ; int tmp___32 ; struct libcfs_debug_msg_data __msg_data___3 ; int tmp___33 ; long tmp___34 ; void *tmp___35 ; struct cfs_debug_limit_state cdls___8 ; struct libcfs_debug_msg_data msgdata___11 ; int tmp___36 ; struct cfs_debug_limit_state cdls___9 ; struct libcfs_debug_msg_data msgdata___12 ; int tmp___37 ; int tmp___38 ; struct libcfs_debug_msg_data msgdata___13 ; int tmp___39 ; int tmp___40 ; long tmp___41 ; int s___0 ; struct cfs_debug_limit_state cdls___10 ; struct libcfs_debug_msg_data msgdata___14 ; int tmp___42 ; long tmp___43 ; struct libcfs_debug_msg_data msgdata___15 ; int tmp___44 ; int tmp___45 ; long tmp___46 ; { nalloc = 16; toobig = 0; ldv_55077: ; if ((unsigned long )nalloc * 40UL > 4096UL) { toobig = 1; nalloc = 102; tmp = cfs_cdebug_show(1024U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata.msg_fn = "lnet_ipif_enumerate"; msgdata.msg_line = 164; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 1024; libcfs_debug_msg(& msgdata, "Too many interfaces: only enumerating first %d\n", nalloc); } else { } } else { } tmp___0 = preempt_count(); tmp___1 = ldv__builtin_expect((long )(((unsigned long )tmp___0 & 2096896UL) != 0UL && 1), 0L); if (tmp___1 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; __msg_data.msg_fn = "lnet_ipif_enumerate"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 167; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((nalloc * sizeof(*ifr))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } if ((unsigned long )nalloc * 40UL <= 8192UL) { tmp___2 = kmalloc((unsigned long )nalloc * 40UL, 80U); tmp___4 = tmp___2; } else { tmp___3 = vmalloc((unsigned long )nalloc * 40UL); tmp___4 = tmp___3; } ifr = (struct ifreq *)tmp___4; tmp___10 = ldv__builtin_expect((unsigned long )ifr == (unsigned long )((struct ifreq *)0), 0L); if (tmp___10 != 0L) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___0.msg_fn = "lnet_ipif_enumerate"; msgdata___0.msg_line = 167; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "LNET: out of memory at %s:%d (tried to alloc \'(ifr)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c", 167, (int )((unsigned int )nalloc * 40U)); } else { } tmp___7 = cfs_cdebug_show(131072U, 1024U); if (tmp___7 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___1.msg_fn = "lnet_ipif_enumerate"; msgdata___1.msg_line = 167; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 131072; tmp___6 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "LNET: %d total bytes allocated by lnet\n", tmp___6); } else { } } else { memset((void *)ifr, 0, (unsigned long )nalloc * 40UL); atomic_add((int )((unsigned int )nalloc * 40U), & libcfs_kmemory); tmp___9 = cfs_cdebug_show(16U, 1024U); if (tmp___9 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___2.msg_fn = "lnet_ipif_enumerate"; msgdata___2.msg_line = 167; msgdata___2.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___2.msg_mask = 16; tmp___8 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___2, "alloc \'(ifr)\': %d at %p (tot %d).\n", (int )((unsigned int )nalloc * 40U), ifr, tmp___8); } else { } } if ((unsigned long )ifr == (unsigned long )((struct ifreq *)0)) { tmp___11 = cfs_cdebug_show(131072U, 1024U); if (tmp___11 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___3.msg_fn = "lnet_ipif_enumerate"; msgdata___3.msg_line = 170; msgdata___3.msg_cdls = & cdls___2; msgdata___3.msg_mask = 131072; libcfs_debug_msg(& msgdata___3, "ENOMEM enumerating up to %d interfaces\n", nalloc); } else { } rc = -12; goto out0; } else { } ifc.ifc_ifcu.ifcu_buf = (char *)ifr; ifc.ifc_len = (int )((unsigned int )nalloc * 40U); rc = lnet_sock_ioctl(35090, (unsigned long )(& ifc)); if (rc < 0) { tmp___12 = cfs_cdebug_show(131072U, 1024U); if (tmp___12 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___4.msg_fn = "lnet_ipif_enumerate"; msgdata___4.msg_line = 180; msgdata___4.msg_cdls = & cdls___3; msgdata___4.msg_mask = 131072; libcfs_debug_msg(& msgdata___4, "Error %d enumerating interfaces\n", rc); } else { } goto out1; } else { } tmp___13 = ldv__builtin_expect(rc != 0, 0L); if (tmp___13 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; __msg_data___0.msg_fn = "lnet_ipif_enumerate"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 184; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"rc == 0"); lbug_with_loc(& __msg_data___0); } else { } nfound = (int )((unsigned long )ifc.ifc_len / 40UL); tmp___14 = ldv__builtin_expect(nfound > nalloc, 0L); if (tmp___14 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; __msg_data___1.msg_fn = "lnet_ipif_enumerate"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 187; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"nfound <= nalloc"); lbug_with_loc(& __msg_data___1); } else { } if (nfound < nalloc || toobig != 0) { goto ldv_55071; } else { } s = (int )((unsigned int )nalloc * 40U); tmp___16 = ldv__builtin_expect((unsigned long )ifr == (unsigned long )((struct ifreq *)0), 0L); if (tmp___16 != 0L) { tmp___15 = cfs_cdebug_show(131072U, 1024U); if (tmp___15 != 0) { msgdata___5.msg_subsys = 1024; msgdata___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___5.msg_fn = "lnet_ipif_enumerate"; msgdata___5.msg_line = 192; msgdata___5.msg_cdls = & cdls___4; msgdata___5.msg_mask = 131072; libcfs_debug_msg(& msgdata___5, "LIBCFS: free NULL \'ifr\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c", 192); } else { } goto ldv_55075; } else { } atomic_sub(s, & libcfs_kmemory); tmp___18 = cfs_cdebug_show(16U, 1024U); if (tmp___18 != 0) { msgdata___6.msg_subsys = 1024; msgdata___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___6.msg_fn = "lnet_ipif_enumerate"; msgdata___6.msg_line = 192; msgdata___6.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___6.msg_mask = 16; tmp___17 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___6, "kfreed \'ifr\': %d at %p (tot %d).\n", s, ifr, tmp___17); } else { } tmp___19 = ldv__builtin_expect(s > 8192, 0L); if (tmp___19 != 0L) { vfree((void const *)ifr); } else { kfree((void const *)ifr); } ldv_55075: nalloc = nalloc * 2; goto ldv_55077; ldv_55071: ; if (nfound == 0) { goto out1; } else { } tmp___20 = preempt_count(); tmp___21 = ldv__builtin_expect((long )(((unsigned long )tmp___20 & 2096896UL) != 0UL && 1), 0L); if (tmp___21 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; __msg_data___2.msg_fn = "lnet_ipif_enumerate"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 199; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((nfound * sizeof(*names))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data___2); } else { } if ((unsigned long )nfound * 8UL <= 8192UL) { tmp___22 = kmalloc((unsigned long )nfound * 8UL, 80U); tmp___24 = tmp___22; } else { tmp___23 = vmalloc((unsigned long )nfound * 8UL); tmp___24 = tmp___23; } names = (char **)tmp___24; tmp___30 = ldv__builtin_expect((unsigned long )names == (unsigned long )((char **)0), 0L); if (tmp___30 != 0L) { tmp___25 = cfs_cdebug_show(131072U, 1024U); if (tmp___25 != 0) { msgdata___7.msg_subsys = 1024; msgdata___7.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___7.msg_fn = "lnet_ipif_enumerate"; msgdata___7.msg_line = 199; msgdata___7.msg_cdls = & cdls___5; msgdata___7.msg_mask = 131072; libcfs_debug_msg(& msgdata___7, "LNET: out of memory at %s:%d (tried to alloc \'(names)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c", 199, (int )((unsigned int )nfound * 8U)); } else { } tmp___27 = cfs_cdebug_show(131072U, 1024U); if (tmp___27 != 0) { msgdata___8.msg_subsys = 1024; msgdata___8.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___8.msg_fn = "lnet_ipif_enumerate"; msgdata___8.msg_line = 199; msgdata___8.msg_cdls = & cdls___6; msgdata___8.msg_mask = 131072; tmp___26 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___8, "LNET: %d total bytes allocated by lnet\n", tmp___26); } else { } } else { memset((void *)names, 0, (unsigned long )nfound * 8UL); atomic_add((int )((unsigned int )nfound * 8U), & libcfs_kmemory); tmp___29 = cfs_cdebug_show(16U, 1024U); if (tmp___29 != 0) { msgdata___9.msg_subsys = 1024; msgdata___9.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___9.msg_fn = "lnet_ipif_enumerate"; msgdata___9.msg_line = 199; msgdata___9.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___9.msg_mask = 16; tmp___28 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___9, "alloc \'(names)\': %d at %p (tot %d).\n", (int )((unsigned int )nfound * 8U), names, tmp___28); } else { } } if ((unsigned long )names == (unsigned long )((char **)0)) { rc = -12; goto out1; } else { } i = 0; goto ldv_55094; ldv_55093: tmp___31 = strnlen((char const *)(& (ifr + (unsigned long )i)->ifr_ifrn.ifrn_name), 16UL); nob = (int )tmp___31; if (nob == 16) { tmp___32 = cfs_cdebug_show(131072U, 1024U); if (tmp___32 != 0) { msgdata___10.msg_subsys = 1024; msgdata___10.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___10.msg_fn = "lnet_ipif_enumerate"; msgdata___10.msg_line = 210; msgdata___10.msg_cdls = & cdls___7; msgdata___10.msg_mask = 131072; libcfs_debug_msg(& msgdata___10, "interface name %.*s too long (%d max)\n", nob, (char *)(& (ifr + (unsigned long )i)->ifr_ifrn.ifrn_name), 16); } else { } rc = -36; goto out2; } else { } tmp___33 = preempt_count(); tmp___34 = ldv__builtin_expect((long )(((unsigned long )tmp___33 & 2096896UL) != 0UL && 1), 0L); if (tmp___34 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; __msg_data___3.msg_fn = "lnet_ipif_enumerate"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 215; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((16)) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data___3); } else { } tmp___35 = kmalloc(16UL, 80U); *(names + (unsigned long )i) = (char *)tmp___35; tmp___41 = ldv__builtin_expect((unsigned long )*(names + (unsigned long )i) == (unsigned long )((char *)0), 0L); if (tmp___41 != 0L) { tmp___36 = cfs_cdebug_show(131072U, 1024U); if (tmp___36 != 0) { msgdata___11.msg_subsys = 1024; msgdata___11.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___11.msg_fn = "lnet_ipif_enumerate"; msgdata___11.msg_line = 215; msgdata___11.msg_cdls = & cdls___8; msgdata___11.msg_mask = 131072; libcfs_debug_msg(& msgdata___11, "LNET: out of memory at %s:%d (tried to alloc \'(names[i])\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c", 215, 16); } else { } tmp___38 = cfs_cdebug_show(131072U, 1024U); if (tmp___38 != 0) { msgdata___12.msg_subsys = 1024; msgdata___12.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___12.msg_fn = "lnet_ipif_enumerate"; msgdata___12.msg_line = 215; msgdata___12.msg_cdls = & cdls___9; msgdata___12.msg_mask = 131072; tmp___37 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___12, "LNET: %d total bytes allocated by lnet\n", tmp___37); } else { } } else { memset((void *)*(names + (unsigned long )i), 0, 16UL); atomic_add(16, & libcfs_kmemory); tmp___40 = cfs_cdebug_show(16U, 1024U); if (tmp___40 != 0) { msgdata___13.msg_subsys = 1024; msgdata___13.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___13.msg_fn = "lnet_ipif_enumerate"; msgdata___13.msg_line = 215; msgdata___13.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___13.msg_mask = 16; tmp___39 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___13, "alloc \'(names[i])\': %d at %p (tot %d).\n", 16, *(names + (unsigned long )i), tmp___39); } else { } } if ((unsigned long )*(names + (unsigned long )i) == (unsigned long )((char *)0)) { rc = -12; goto out2; } else { } memcpy((void *)*(names + (unsigned long )i), (void const *)(& (ifr + (unsigned long )i)->ifr_ifrn.ifrn_name), (size_t )nob); *(*(names + (unsigned long )i) + (unsigned long )nob) = 0; i = i + 1; ldv_55094: ; if (i < nfound) { goto ldv_55093; } else { } *namesp = names; rc = nfound; out2: ; if (rc < 0) { lnet_ipif_free_enumeration(names, nfound); } else { } out1: s___0 = (int )((unsigned int )nalloc * 40U); tmp___43 = ldv__builtin_expect((unsigned long )ifr == (unsigned long )((struct ifreq *)0), 0L); if (tmp___43 != 0L) { tmp___42 = cfs_cdebug_show(131072U, 1024U); if (tmp___42 != 0) { msgdata___14.msg_subsys = 1024; msgdata___14.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___14.msg_fn = "lnet_ipif_enumerate"; msgdata___14.msg_line = 232; msgdata___14.msg_cdls = & cdls___10; msgdata___14.msg_mask = 131072; libcfs_debug_msg(& msgdata___14, "LIBCFS: free NULL \'ifr\' (%d bytes) at %s:%d\n", s___0, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c", 232); } else { } goto ldv_55099; } else { } atomic_sub(s___0, & libcfs_kmemory); tmp___45 = cfs_cdebug_show(16U, 1024U); if (tmp___45 != 0) { msgdata___15.msg_subsys = 1024; msgdata___15.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___15.msg_fn = "lnet_ipif_enumerate"; msgdata___15.msg_line = 232; msgdata___15.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___15.msg_mask = 16; tmp___44 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___15, "kfreed \'ifr\': %d at %p (tot %d).\n", s___0, ifr, tmp___44); } else { } tmp___46 = ldv__builtin_expect(s___0 > 8192, 0L); if (tmp___46 != 0L) { vfree((void const *)ifr); } else { kfree((void const *)ifr); } ldv_55099: ; out0: ; return (rc); } } static char const __kstrtab_lnet_ipif_enumerate[20U] = { 'l', 'n', 'e', 't', '_', 'i', 'p', 'i', 'f', '_', 'e', 'n', 'u', 'm', 'e', 'r', 'a', 't', 'e', '\000'}; struct kernel_symbol const __ksymtab_lnet_ipif_enumerate ; struct kernel_symbol const __ksymtab_lnet_ipif_enumerate = {(unsigned long )(& lnet_ipif_enumerate), (char const *)(& __kstrtab_lnet_ipif_enumerate)}; void lnet_ipif_free_enumeration(char **names , int n ) { int i ; struct libcfs_debug_msg_data __msg_data ; long tmp ; int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; long tmp___1 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___2 ; int tmp___3 ; long tmp___4 ; int s___0 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___5 ; long tmp___6 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___7 ; int tmp___8 ; long tmp___9 ; { tmp = ldv__builtin_expect(n <= 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; __msg_data.msg_fn = "lnet_ipif_free_enumeration"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 243; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"n > 0"); lbug_with_loc(& __msg_data); } else { } i = 0; goto ldv_55121; ldv_55120: s = 16; tmp___1 = ldv__builtin_expect((unsigned long )*(names + (unsigned long )i) == (unsigned long )((char *)0), 0L); if (tmp___1 != 0L) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata.msg_fn = "lnet_ipif_free_enumeration"; msgdata.msg_line = 246; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'names[i]\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c", 246); } else { } goto ldv_55118; } else { } atomic_sub(s, & libcfs_kmemory); tmp___3 = cfs_cdebug_show(16U, 1024U); if (tmp___3 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___0.msg_fn = "lnet_ipif_free_enumeration"; msgdata___0.msg_line = 246; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___2 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'names[i]\': %d at %p (tot %d).\n", s, *(names + (unsigned long )i), tmp___2); } else { } tmp___4 = ldv__builtin_expect(s > 8192, 0L); if (tmp___4 != 0L) { vfree((void const *)*(names + (unsigned long )i)); } else { kfree((void const *)*(names + (unsigned long )i)); } ldv_55118: i = i + 1; ldv_55121: ; if (i < n && (unsigned long )*(names + (unsigned long )i) != (unsigned long )((char *)0)) { goto ldv_55120; } else { } s___0 = (int )((unsigned int )n * 8U); tmp___6 = ldv__builtin_expect((unsigned long )names == (unsigned long )((char **)0), 0L); if (tmp___6 != 0L) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___1.msg_fn = "lnet_ipif_free_enumeration"; msgdata___1.msg_line = 248; msgdata___1.msg_cdls = & cdls___0; msgdata___1.msg_mask = 131072; libcfs_debug_msg(& msgdata___1, "LIBCFS: free NULL \'names\' (%d bytes) at %s:%d\n", s___0, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c", 248); } else { } goto ldv_55126; } else { } atomic_sub(s___0, & libcfs_kmemory); tmp___8 = cfs_cdebug_show(16U, 1024U); if (tmp___8 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___2.msg_fn = "lnet_ipif_free_enumeration"; msgdata___2.msg_line = 248; msgdata___2.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___2.msg_mask = 16; tmp___7 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___2, "kfreed \'names\': %d at %p (tot %d).\n", s___0, names, tmp___7); } else { } tmp___9 = ldv__builtin_expect(s___0 > 8192, 0L); if (tmp___9 != 0L) { vfree((void const *)names); } else { kfree((void const *)names); } ldv_55126: ; return; } } static char const __kstrtab_lnet_ipif_free_enumeration[27U] = { 'l', 'n', 'e', 't', '_', 'i', 'p', 'i', 'f', '_', 'f', 'r', 'e', 'e', '_', 'e', 'n', 'u', 'm', 'e', 'r', 'a', 't', 'i', 'o', 'n', '\000'}; struct kernel_symbol const __ksymtab_lnet_ipif_free_enumeration ; struct kernel_symbol const __ksymtab_lnet_ipif_free_enumeration = {(unsigned long )(& lnet_ipif_free_enumeration), (char const *)(& __kstrtab_lnet_ipif_free_enumeration)}; int lnet_sock_write(struct socket *sock , void *buffer , int nob , int timeout ) { int rc ; long ticks ; unsigned long then ; struct timeval tv ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct kvec iov ; struct msghdr msg ; struct timeval __constr_expr_0 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; { ticks = (long )(timeout * 250); tmp = ldv__builtin_expect(nob <= 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; __msg_data.msg_fn = "lnet_sock_write"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 260; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"nob > 0"); lbug_with_loc(& __msg_data); } else { } ldv_55155: iov.iov_base = buffer; iov.iov_len = (unsigned long )nob; msg.msg_name = 0; msg.msg_namelen = 0; msg.msg_iter.type = 0; msg.msg_iter.iov_offset = 0UL; msg.msg_iter.count = 0UL; msg.msg_iter.__annonCompField76.iov = 0; msg.msg_iter.nr_segs = 0UL; msg.msg_control = 0; msg.msg_controllen = 0UL; msg.msg_flags = timeout == 0 ? 64U : 0U; msg.msg_iocb = 0; if (timeout != 0) { __constr_expr_0.tv_sec = ticks / 250L; __constr_expr_0.tv_usec = ((ticks % 250L) * 1000000L) / 250L; tv = __constr_expr_0; rc = kernel_setsockopt(sock, 1, 21, (char *)(& tv), 16U); if (rc != 0) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata.msg_fn = "lnet_sock_write"; msgdata.msg_line = 283; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Can\'t set socket send timeout %ld.%06d: %d\n", tv.tv_sec, (int )tv.tv_usec, rc); } else { } return (rc); } else { } } else { } then = jiffies; rc = kernel_sendmsg(sock, & msg, & iov, 1UL, (size_t )nob); ticks = (long )((then - (unsigned long )jiffies) + (unsigned long )ticks); if (rc == nob) { return (0); } else { } if (rc < 0) { return (rc); } else { } if (rc == 0) { tmp___1 = cfs_cdebug_show(131072U, 1024U); if (tmp___1 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___0.msg_fn = "lnet_sock_write"; msgdata___0.msg_line = 299; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "Unexpected zero rc\n"); } else { } return (-103); } else { } if (ticks <= 0L) { return (-11); } else { } buffer = buffer + (unsigned long )rc; nob = nob - rc; goto ldv_55155; return (0); } } static char const __kstrtab_lnet_sock_write[16U] = { 'l', 'n', 'e', 't', '_', 's', 'o', 'c', 'k', '_', 'w', 'r', 'i', 't', 'e', '\000'}; struct kernel_symbol const __ksymtab_lnet_sock_write ; struct kernel_symbol const __ksymtab_lnet_sock_write = {(unsigned long )(& lnet_sock_write), (char const *)(& __kstrtab_lnet_sock_write)}; int lnet_sock_read(struct socket *sock , void *buffer , int nob , int timeout ) { int rc ; long ticks ; unsigned long then ; struct timeval tv ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct kvec iov ; struct msghdr msg ; struct timeval __constr_expr_0 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___1 ; { ticks = (long )(timeout * 250); tmp = ldv__builtin_expect(nob <= 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; __msg_data.msg_fn = "lnet_sock_read"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 321; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"nob > 0"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(ticks <= 0L, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; __msg_data___0.msg_fn = "lnet_sock_read"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 322; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"ticks > 0"); lbug_with_loc(& __msg_data___0); } else { } ldv_55184: iov.iov_base = buffer; iov.iov_len = (unsigned long )nob; msg.msg_name = 0; msg.msg_namelen = 0; msg.msg_iter.type = 0; msg.msg_iter.iov_offset = 0UL; msg.msg_iter.count = 0UL; msg.msg_iter.__annonCompField76.iov = 0; msg.msg_iter.nr_segs = 0UL; msg.msg_control = 0; msg.msg_controllen = 0UL; msg.msg_flags = 0U; msg.msg_iocb = 0; __constr_expr_0.tv_sec = ticks / 250L; __constr_expr_0.tv_usec = ((ticks % 250L) * 1000000L) / 250L; tv = __constr_expr_0; rc = kernel_setsockopt(sock, 1, 20, (char *)(& tv), 16U); if (rc != 0) { tmp___1 = cfs_cdebug_show(131072U, 1024U); if (tmp___1 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata.msg_fn = "lnet_sock_read"; msgdata.msg_line = 342; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Can\'t set socket recv timeout %ld.%06d: %d\n", tv.tv_sec, (int )tv.tv_usec, rc); } else { } return (rc); } else { } then = jiffies; rc = kernel_recvmsg(sock, & msg, & iov, 1UL, (size_t )nob, 0); ticks = (long )((then - (unsigned long )jiffies) + (unsigned long )ticks); if (rc < 0) { return (rc); } else { } if (rc == 0) { return (-104); } else { } buffer = buffer + (unsigned long )rc; nob = nob - rc; if (nob == 0) { return (0); } else { } if (ticks <= 0L) { return (-110); } else { } goto ldv_55184; } } static char const __kstrtab_lnet_sock_read[15U] = { 'l', 'n', 'e', 't', '_', 's', 'o', 'c', 'k', '_', 'r', 'e', 'a', 'd', '\000'}; struct kernel_symbol const __ksymtab_lnet_sock_read ; struct kernel_symbol const __ksymtab_lnet_sock_read = {(unsigned long )(& lnet_sock_read), (char const *)(& __kstrtab_lnet_sock_read)}; static int lnet_sock_create(struct socket **sockp , int *fatal , __u32 local_ip , int local_port ) { struct sockaddr_in locaddr ; struct socket *sock ; int rc ; int option ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___0 ; __u16 tmp___1 ; __u32 tmp___2 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___3 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___4 ; { *fatal = 1; rc = sock_create(2, 1, 0, & sock); *sockp = sock; if (rc != 0) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata.msg_fn = "lnet_sock_create"; msgdata.msg_line = 383; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Can\'t create socket: %d\n", rc); } else { } return (rc); } else { } option = 1; rc = kernel_setsockopt(sock, 1, 2, (char *)(& option), 4U); if (rc != 0) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___0.msg_fn = "lnet_sock_create"; msgdata___0.msg_line = 391; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "Can\'t set SO_REUSEADDR for socket: %d\n", rc); } else { } goto failed; } else { } if (local_ip != 0U || local_port != 0) { memset((void *)(& locaddr), 0, 16UL); locaddr.sin_family = 2U; tmp___1 = __fswab16((int )((__u16 )local_port)); locaddr.sin_port = tmp___1; if (local_ip != 0U) { tmp___2 = __fswab32(local_ip); locaddr.sin_addr.s_addr = tmp___2; } else { locaddr.sin_addr.s_addr = 0U; } rc = kernel_bind(sock, (struct sockaddr *)(& locaddr), 16); if (rc == -98) { tmp___3 = cfs_cdebug_show(512U, 1024U); if (tmp___3 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___1.msg_fn = "lnet_sock_create"; msgdata___1.msg_line = 405; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 512; libcfs_debug_msg(& msgdata___1, "Port %d already in use\n", local_port); } else { } *fatal = 0; goto failed; } else { } if (rc != 0) { tmp___4 = cfs_cdebug_show(131072U, 1024U); if (tmp___4 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___2.msg_fn = "lnet_sock_create"; msgdata___2.msg_line = 411; msgdata___2.msg_cdls = & cdls___1; msgdata___2.msg_mask = 131072; libcfs_debug_msg(& msgdata___2, "Error trying to bind to port %d: %d\n", local_port, rc); } else { } goto failed; } else { } } else { } return (0); failed: sock_release(sock); return (rc); } } int lnet_sock_setbuf(struct socket *sock , int txbufsize , int rxbufsize ) { int option ; int rc ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___0 ; { if (txbufsize != 0) { option = txbufsize; rc = kernel_setsockopt(sock, 1, 7, (char *)(& option), 4U); if (rc != 0) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata.msg_fn = "lnet_sock_setbuf"; msgdata.msg_line = 434; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Can\'t set send buffer %d: %d\n", option, rc); } else { } return (rc); } else { } } else { } if (rxbufsize != 0) { option = rxbufsize; rc = kernel_setsockopt(sock, 1, 8, (char *)(& option), 4U); if (rc != 0) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___0.msg_fn = "lnet_sock_setbuf"; msgdata___0.msg_line = 445; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "Can\'t set receive buffer %d: %d\n", option, rc); } else { } return (rc); } else { } } else { } return (0); } } static char const __kstrtab_lnet_sock_setbuf[17U] = { 'l', 'n', 'e', 't', '_', 's', 'o', 'c', 'k', '_', 's', 'e', 't', 'b', 'u', 'f', '\000'}; struct kernel_symbol const __ksymtab_lnet_sock_setbuf ; struct kernel_symbol const __ksymtab_lnet_sock_setbuf = {(unsigned long )(& lnet_sock_setbuf), (char const *)(& __kstrtab_lnet_sock_setbuf)}; int lnet_sock_getaddr(struct socket *sock , bool remote , __u32 *ip , int *port ) { struct sockaddr_in sin ; int len ; int rc ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; __u32 tmp___0 ; __u16 tmp___1 ; { len = 16; if ((int )remote) { rc = kernel_getpeername(sock, (struct sockaddr *)(& sin), & len); } else { rc = kernel_getsockname(sock, (struct sockaddr *)(& sin), & len); } if (rc != 0) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata.msg_fn = "lnet_sock_getaddr"; msgdata.msg_line = 466; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Error %d getting sock %s IP/port\n", rc, (int )remote ? (char *)"peer" : (char *)"local"); } else { } return (rc); } else { } if ((unsigned long )ip != (unsigned long )((__u32 *)0U)) { tmp___0 = __fswab32(sin.sin_addr.s_addr); *ip = tmp___0; } else { } if ((unsigned long )port != (unsigned long )((int *)0)) { tmp___1 = __fswab16((int )sin.sin_port); *port = (int )tmp___1; } else { } return (0); } } static char const __kstrtab_lnet_sock_getaddr[18U] = { 'l', 'n', 'e', 't', '_', 's', 'o', 'c', 'k', '_', 'g', 'e', 't', 'a', 'd', 'd', 'r', '\000'}; struct kernel_symbol const __ksymtab_lnet_sock_getaddr ; struct kernel_symbol const __ksymtab_lnet_sock_getaddr = {(unsigned long )(& lnet_sock_getaddr), (char const *)(& __kstrtab_lnet_sock_getaddr)}; int lnet_sock_getbuf(struct socket *sock , int *txbufsize , int *rxbufsize ) { { if ((unsigned long )txbufsize != (unsigned long )((int *)0)) { *txbufsize = (sock->sk)->sk_sndbuf; } else { } if ((unsigned long )rxbufsize != (unsigned long )((int *)0)) { *rxbufsize = (sock->sk)->sk_rcvbuf; } else { } return (0); } } static char const __kstrtab_lnet_sock_getbuf[17U] = { 'l', 'n', 'e', 't', '_', 's', 'o', 'c', 'k', '_', 'g', 'e', 't', 'b', 'u', 'f', '\000'}; struct kernel_symbol const __ksymtab_lnet_sock_getbuf ; struct kernel_symbol const __ksymtab_lnet_sock_getbuf = {(unsigned long )(& lnet_sock_getbuf), (char const *)(& __kstrtab_lnet_sock_getbuf)}; int lnet_sock_listen(struct socket **sockp , __u32 local_ip , int local_port , int backlog ) { int fatal ; int rc ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___0 ; { rc = lnet_sock_create(sockp, & fatal, local_ip, local_port); if (rc != 0) { if (fatal == 0) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata.msg_fn = "lnet_sock_listen"; msgdata.msg_line = 504; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Can\'t create socket: port %d already in use\n", local_port); } else { } } else { } return (rc); } else { } rc = kernel_listen(*sockp, backlog); if (rc == 0) { return (0); } else { } tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata___0.msg_fn = "lnet_sock_listen"; msgdata___0.msg_line = 512; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "Can\'t set listen backlog %d: %d\n", backlog, rc); } else { } sock_release(*sockp); return (rc); } } static char const __kstrtab_lnet_sock_listen[17U] = { 'l', 'n', 'e', 't', '_', 's', 'o', 'c', 'k', '_', 'l', 'i', 's', 't', 'e', 'n', '\000'}; struct kernel_symbol const __ksymtab_lnet_sock_listen ; struct kernel_symbol const __ksymtab_lnet_sock_listen = {(unsigned long )(& lnet_sock_listen), (char const *)(& __kstrtab_lnet_sock_listen)}; int lnet_sock_accept(struct socket **newsockp , struct socket *sock ) { wait_queue_t wait ; struct socket *newsock ; int rc ; struct task_struct *tmp ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; struct task_struct *tmp___1 ; long volatile __ret ; struct task_struct *tmp___2 ; struct task_struct *tmp___3 ; struct task_struct *tmp___4 ; struct task_struct *tmp___5 ; wait_queue_head_t *tmp___6 ; wait_queue_head_t *tmp___7 ; struct task_struct *tmp___8 ; long volatile __ret___0 ; struct task_struct *tmp___9 ; struct task_struct *tmp___10 ; struct task_struct *tmp___11 ; struct task_struct *tmp___12 ; { tmp = get_current(); init_waitqueue_entry(& wait, tmp); rc = sock_create_lite(17, (int )sock->type, 6, & newsock); if (rc != 0) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata.msg_fn = "lnet_sock_accept"; msgdata.msg_line = 531; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Can\'t allocate socket\n"); } else { } return (rc); } else { } newsock->ops = sock->ops; rc = (*((sock->ops)->accept))(sock, newsock, 2048); if (rc == -11) { tmp___1 = get_current(); tmp___1->task_state_change = 0UL; __ret = 1L; switch (8UL) { case 1UL: tmp___2 = get_current(); __asm__ volatile ("xchgb %b0, %1\n": "+q" (__ret), "+m" (tmp___2->state): : "memory", "cc"); goto ldv_55306; case 2UL: tmp___3 = get_current(); __asm__ volatile ("xchgw %w0, %1\n": "+r" (__ret), "+m" (tmp___3->state): : "memory", "cc"); goto ldv_55306; case 4UL: tmp___4 = get_current(); __asm__ volatile ("xchgl %0, %1\n": "+r" (__ret), "+m" (tmp___4->state): : "memory", "cc"); goto ldv_55306; case 8UL: tmp___5 = get_current(); __asm__ volatile ("xchgq %q0, %1\n": "+r" (__ret), "+m" (tmp___5->state): : "memory", "cc"); goto ldv_55306; default: __xchg_wrong_size(); } ldv_55306: tmp___6 = sk_sleep(sock->sk); add_wait_queue(tmp___6, & wait); schedule(); tmp___7 = sk_sleep(sock->sk); remove_wait_queue(tmp___7, & wait); tmp___8 = get_current(); tmp___8->task_state_change = 0UL; __ret___0 = 0L; switch (8UL) { case 1UL: tmp___9 = get_current(); __asm__ volatile ("xchgb %b0, %1\n": "+q" (__ret___0), "+m" (tmp___9->state): : "memory", "cc"); goto ldv_55314; case 2UL: tmp___10 = get_current(); __asm__ volatile ("xchgw %w0, %1\n": "+r" (__ret___0), "+m" (tmp___10->state): : "memory", "cc"); goto ldv_55314; case 4UL: tmp___11 = get_current(); __asm__ volatile ("xchgl %0, %1\n": "+r" (__ret___0), "+m" (tmp___11->state): : "memory", "cc"); goto ldv_55314; case 8UL: tmp___12 = get_current(); __asm__ volatile ("xchgq %q0, %1\n": "+r" (__ret___0), "+m" (tmp___12->state): : "memory", "cc"); goto ldv_55314; default: __xchg_wrong_size(); } ldv_55314: rc = (*((sock->ops)->accept))(sock, newsock, 2048); } else { } if (rc != 0) { goto failed; } else { } *newsockp = newsock; return (0); failed: sock_release(newsock); return (rc); } } static char const __kstrtab_lnet_sock_accept[17U] = { 'l', 'n', 'e', 't', '_', 's', 'o', 'c', 'k', '_', 'a', 'c', 'c', 'e', 'p', 't', '\000'}; struct kernel_symbol const __ksymtab_lnet_sock_accept ; struct kernel_symbol const __ksymtab_lnet_sock_accept = {(unsigned long )(& lnet_sock_accept), (char const *)(& __kstrtab_lnet_sock_accept)}; int lnet_sock_connect(struct socket **sockp , int *fatal , __u32 local_ip , int local_port , __u32 peer_ip , int peer_port ) { struct sockaddr_in srvaddr ; int rc ; __u16 tmp ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; { rc = lnet_sock_create(sockp, fatal, local_ip, local_port); if (rc != 0) { return (rc); } else { } memset((void *)(& srvaddr), 0, 16UL); srvaddr.sin_family = 2U; tmp = __fswab16((int )((__u16 )peer_port)); srvaddr.sin_port = tmp; srvaddr.sin_addr.s_addr = __fswab32(peer_ip); rc = kernel_connect(*sockp, (struct sockaddr *)(& srvaddr), 16, 0); if (rc == 0) { return (0); } else { } *fatal = rc != -99; tmp___0 = cfs_cdebug_show(*fatal != 0 ? 256U : 512U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-socket.c"; msgdata.msg_fn = "lnet_sock_connect"; msgdata.msg_line = 589; msgdata.msg_cdls = & cdls; msgdata.msg_mask = *fatal != 0 ? 256 : 512; libcfs_debug_msg(& msgdata, "Error %d connecting %pI4h/%d -> %pI4h/%d\n", rc, & local_ip, local_port, & peer_ip, peer_port); } else { } sock_release(*sockp); return (rc); } } static char const __kstrtab_lnet_sock_connect[18U] = { 'l', 'n', 'e', 't', '_', 's', 'o', 'c', 'k', '_', 'c', 'o', 'n', 'n', 'e', 'c', 't', '\000'}; struct kernel_symbol const __ksymtab_lnet_sock_connect ; struct kernel_symbol const __ksymtab_lnet_sock_connect = {(unsigned long )(& lnet_sock_connect), (char const *)(& __kstrtab_lnet_sock_connect)}; __inline static long PTR_ERR(void const *ptr ) { long tmp ; { tmp = ldv_ptr_err(ptr); return (tmp); } } __inline static bool IS_ERR(void const *ptr ) { bool tmp ; { tmp = ldv_is_err(ptr); return (tmp); } } __inline static long ldv__builtin_expect(long exp , long c ) ; extern void __might_sleep(char const * , int , int ) ; __inline static void *lowmem_page_address(struct page const *page ) { { return ((void *)((unsigned long )((unsigned long long )(((long )page + 24189255811072L) / 64L) << 12) + 0xffff880000000000UL)); } } __inline static void *kmap(struct page *page ) { void *tmp ; { __might_sleep("include/linux/highmem.h", 58, 0); tmp = lowmem_page_address((struct page const *)page); return (tmp); } } __inline static void kunmap(struct page *page ) { { return; } } __inline static unsigned long cfs_time_add(unsigned long t , long d ) { { return (t + (unsigned long )d); } } __inline static int cfs_time_after(unsigned long t1 , unsigned long t2 ) { { return ((long )(t2 - t1) < 0L); } } __inline static int cfs_time_aftereq(unsigned long t1 , unsigned long t2 ) { { return ((long )(t1 - t2) >= 0L); } } __inline static __u32 LNET_NETNUM(__u32 net ) { { return (net & 65535U); } } int LNetPut(lnet_nid_t self , lnet_handle_md_t mdh , lnet_ack_req_t ack , lnet_process_id_t target , unsigned int portal , __u64 match_bits , unsigned int offset , __u64 hdr_data ) ; __inline static int lnet_is_wire_handle_none(lnet_handle_wire_t *wh ) { { return (wh->wh_interface_cookie == 0xffffffffffffffffULL && wh->wh_object_cookie == 0xffffffffffffffffULL); } } __inline static lnet_msg_t *lnet_msg_alloc(void) { lnet_msg_t *msg ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; void *tmp___1 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___2 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___3 ; int tmp___4 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___5 ; int tmp___6 ; long tmp___7 ; { tmp = preempt_count(); tmp___0 = ldv__builtin_expect((long )(((unsigned long )tmp & 2096896UL) != 0UL && 1), 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; __msg_data.msg_fn = "lnet_msg_alloc"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 240; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((sizeof(*msg))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } tmp___1 = kmalloc(352UL, 80U); msg = (lnet_msg_t *)tmp___1; tmp___7 = ldv__builtin_expect((unsigned long )msg == (unsigned long )((lnet_msg_t *)0), 0L); if (tmp___7 != 0L) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata.msg_fn = "lnet_msg_alloc"; msgdata.msg_line = 240; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LNET: out of memory at %s:%d (tried to alloc \'(msg)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h", 240, 352); } else { } tmp___4 = cfs_cdebug_show(131072U, 1024U); if (tmp___4 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata___0.msg_fn = "lnet_msg_alloc"; msgdata___0.msg_line = 240; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___3 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "LNET: %d total bytes allocated by lnet\n", tmp___3); } else { } } else { memset((void *)msg, 0, 352UL); atomic_add(352, & libcfs_kmemory); tmp___6 = cfs_cdebug_show(16U, 1024U); if (tmp___6 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; msgdata___1.msg_fn = "lnet_msg_alloc"; msgdata___1.msg_line = 240; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___5 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "alloc \'(msg)\': %d at %p (tot %d).\n", 352, msg, tmp___5); } else { } } return (msg); } } __inline static lnet_libmd_t *lnet_wire_handle2md(lnet_handle_wire_t *wh ) { lnet_libhandle_t *lh ; int cpt ; { if (wh->wh_interface_cookie != the_lnet.ln_interface_cookie) { return ((lnet_libmd_t *)0); } else { } cpt = lnet_cpt_of_cookie(wh->wh_object_cookie); lh = lnet_res_lh_lookup(*(the_lnet.ln_md_containers + (unsigned long )cpt), wh->wh_object_cookie); if ((unsigned long )lh == (unsigned long )((lnet_libhandle_t *)0)) { return ((lnet_libmd_t *)0); } else { } return ((lnet_libmd_t *)((long )lh + -16L)); } } __inline static void lnet_peer_addref_locked(lnet_peer_t *lp ) { struct libcfs_debug_msg_data __msg_data ; long tmp ; { tmp = ldv__builtin_expect(lp->lp_refcount <= 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; __msg_data.msg_fn = "lnet_peer_addref_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 353; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lp->lp_refcount > 0"); lbug_with_loc(& __msg_data); } else { } lp->lp_refcount = lp->lp_refcount + 1; return; } } void lnet_destroy_peer_locked(lnet_peer_t *lp ) ; __inline static void lnet_peer_decref_locked(lnet_peer_t *lp ) { struct libcfs_debug_msg_data __msg_data ; long tmp ; { tmp = ldv__builtin_expect(lp->lp_refcount <= 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/inst/current/envs/linux-4.2-rc1.tar.xz/linux-4.2-rc1/drivers/staging/lustre/lnet/lnet/../../include/linux/lnet/lib-lnet.h"; __msg_data.msg_fn = "lnet_peer_decref_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 362; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lp->lp_refcount > 0"); lbug_with_loc(& __msg_data); } else { } lp->lp_refcount = lp->lp_refcount - 1; if (lp->lp_refcount == 0) { lnet_destroy_peer_locked(lp); } else { } return; } } __inline static int lnet_isrouter(lnet_peer_t *lp ) { { return (lp->lp_rtr_refcount != 0); } } __inline static struct list_head *lnet_net2rnethash(__u32 net ) { __u32 tmp ; __u32 tmp___0 ; { tmp = LNET_NETNUM(net); tmp___0 = LNET_NETTYP(net); return (the_lnet.ln_remote_nets_hash + (unsigned long )((tmp + tmp___0) & ((1U << (int )the_lnet.ln_remote_nets_hbits) - 1U))); } } int avoid_asym_router_failure ; void lnet_notify_locked(lnet_peer_t *lp , int notifylnd , int alive , unsigned long when ) ; lnet_remotenet_t *lnet_find_net_locked(__u32 net ) ; int lnet_parse(lnet_ni_t *ni , lnet_hdr_t *hdr , lnet_nid_t from_nid , void *private , int rdma_req ) ; lnet_msg_t *lnet_create_reply_msg(lnet_ni_t *ni , lnet_msg_t *getmsg ) ; void lnet_set_reply_msg_len(lnet_ni_t *ni , lnet_msg_t *reply , unsigned int len ) ; char *lnet_msgtyp2str(int type ) ; void lnet_print_hdr(lnet_hdr_t *hdr ) ; unsigned int lnet_iov_nob(unsigned int niov , struct kvec *iov ) ; int lnet_extract_iov(int dst_niov , struct kvec *dst , int src_niov , struct kvec *src , unsigned int offset , unsigned int len ) ; unsigned int lnet_kiov_nob(unsigned int niov , lnet_kiov_t *kiov ) ; int lnet_extract_kiov(int dst_niov , lnet_kiov_t *dst , int src_niov , lnet_kiov_t *src , unsigned int offset , unsigned int len ) ; void lnet_copy_iov2iov(unsigned int ndiov , struct kvec *diov , unsigned int doffset , unsigned int nsiov , struct kvec *siov , unsigned int soffset , unsigned int nob ) ; void lnet_copy_kiov2iov(unsigned int niov , struct kvec *iov , unsigned int iovoffset , unsigned int nkiov , lnet_kiov_t *kiov , unsigned int kiovoffset , unsigned int nob ) ; void lnet_copy_iov2kiov(unsigned int nkiov , lnet_kiov_t *kiov , unsigned int kiovoffset , unsigned int niov , struct kvec *iov , unsigned int iovoffset , unsigned int nob ) ; void lnet_copy_kiov2kiov(unsigned int ndiov , lnet_kiov_t *diov , unsigned int doffset , unsigned int nsiov , lnet_kiov_t *siov , unsigned int soffset , unsigned int nob ) ; void lnet_router_ni_update_locked(lnet_peer_t *gw , __u32 net ) ; int lnet_nid2peer_locked(lnet_peer_t **lpp , lnet_nid_t nid , int cpt ) ; __inline static void lnet_peer_set_alive(lnet_peer_t *lp ) { unsigned long tmp ; { tmp = get_seconds(); lp->lp_last_query = tmp; lp->lp_last_alive = tmp; if ((unsigned int )*((unsigned char *)lp + 80UL) == 0U) { lnet_notify_locked(lp, 0, 1, lp->lp_last_alive); } else { } return; } } static int local_nid_dist_zero = 1; int lnet_fail_nid(lnet_nid_t nid , unsigned int threshold ) { lnet_test_peer_t *tp ; struct list_head *el ; struct list_head *next ; struct list_head cull ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___0 ; long tmp___1 ; void *tmp___2 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___3 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___4 ; int tmp___5 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___6 ; int tmp___7 ; long tmp___8 ; struct list_head const *__mptr ; struct list_head const *__mptr___0 ; int s ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___9 ; long tmp___10 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___11 ; int tmp___12 ; long tmp___13 ; int tmp___14 ; { tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_fail_nid"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 57; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } if (threshold != 0U) { tmp___0 = preempt_count(); tmp___1 = ldv__builtin_expect((long )(((unsigned long )tmp___0 & 2096896UL) != 0UL && 1), 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_fail_nid"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 62; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((sizeof(*tp))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data___0); } else { } tmp___2 = kmalloc(32UL, 80U); tp = (lnet_test_peer_t *)tmp___2; tmp___8 = ldv__builtin_expect((unsigned long )tp == (unsigned long )((lnet_test_peer_t *)0), 0L); if (tmp___8 != 0L) { tmp___3 = cfs_cdebug_show(131072U, 1024U); if (tmp___3 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "lnet_fail_nid"; msgdata.msg_line = 62; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LNET: out of memory at %s:%d (tried to alloc \'(tp)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c", 62, 32); } else { } tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___0.msg_fn = "lnet_fail_nid"; msgdata___0.msg_line = 62; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___4 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "LNET: %d total bytes allocated by lnet\n", tmp___4); } else { } } else { memset((void *)tp, 0, 32UL); atomic_add(32, & libcfs_kmemory); tmp___7 = cfs_cdebug_show(16U, 1024U); if (tmp___7 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___1.msg_fn = "lnet_fail_nid"; msgdata___1.msg_line = 62; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___6 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "alloc \'(tp)\': %d at %p (tot %d).\n", 32, tp, tmp___6); } else { } } if ((unsigned long )tp == (unsigned long )((lnet_test_peer_t *)0)) { return (-12); } else { } tp->tp_nid = nid; tp->tp_threshold = threshold; lnet_net_lock(0); list_add_tail(& tp->tp_list, & the_lnet.ln_test_peers); lnet_net_unlock(0); return (0); } else { } INIT_LIST_HEAD(& cull); lnet_net_lock(0); el = the_lnet.ln_test_peers.next; next = el->next; goto ldv_51165; ldv_51164: __mptr = (struct list_head const *)el; tp = (lnet_test_peer_t *)__mptr; if ((tp->tp_threshold == 0U || nid == 0xffffffffffffffffULL) || tp->tp_nid == nid) { list_del(& tp->tp_list); list_add(& tp->tp_list, & cull); } else { } el = next; next = el->next; ldv_51165: ; if ((unsigned long )el != (unsigned long )(& the_lnet.ln_test_peers)) { goto ldv_51164; } else { } lnet_net_unlock(0); goto ldv_51175; ldv_51174: __mptr___0 = (struct list_head const *)cull.next; tp = (lnet_test_peer_t *)__mptr___0; list_del(& tp->tp_list); s = 32; tmp___10 = ldv__builtin_expect((unsigned long )tp == (unsigned long )((lnet_test_peer_t *)0), 0L); if (tmp___10 != 0L) { tmp___9 = cfs_cdebug_show(131072U, 1024U); if (tmp___9 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___2.msg_fn = "lnet_fail_nid"; msgdata___2.msg_line = 97; msgdata___2.msg_cdls = & cdls___1; msgdata___2.msg_mask = 131072; libcfs_debug_msg(& msgdata___2, "LIBCFS: free NULL \'tp\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c", 97); } else { } goto ldv_51172; } else { } atomic_sub(s, & libcfs_kmemory); tmp___12 = cfs_cdebug_show(16U, 1024U); if (tmp___12 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___3.msg_fn = "lnet_fail_nid"; msgdata___3.msg_line = 97; msgdata___3.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___3.msg_mask = 16; tmp___11 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___3, "kfreed \'tp\': %d at %p (tot %d).\n", s, tp, tmp___11); } else { } tmp___13 = ldv__builtin_expect(s > 8192, 0L); if (tmp___13 != 0L) { vfree((void const *)tp); } else { kfree((void const *)tp); } ldv_51172: ; ldv_51175: tmp___14 = list_empty((struct list_head const *)(& cull)); if (tmp___14 == 0) { goto ldv_51174; } else { } return (0); } } static int fail_peer(lnet_nid_t nid , int outgoing ) { lnet_test_peer_t *tp ; struct list_head *el ; struct list_head *next ; struct list_head cull ; int fail ; struct list_head const *__mptr ; struct list_head const *__mptr___0 ; int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; int tmp___2 ; long tmp___3 ; int tmp___4 ; { fail = 0; INIT_LIST_HEAD(& cull); lnet_net_lock(0); el = the_lnet.ln_test_peers.next; next = el->next; goto ldv_51191; ldv_51190: __mptr = (struct list_head const *)el; tp = (lnet_test_peer_t *)__mptr; if (tp->tp_threshold == 0U) { if (outgoing != 0) { list_del(& tp->tp_list); list_add(& tp->tp_list, & cull); } else { } goto ldv_51188; } else { } if (tp->tp_nid == 0xffffffffffffffffULL || tp->tp_nid == nid) { fail = 1; if (tp->tp_threshold != 4294967295U) { tp->tp_threshold = tp->tp_threshold - 1U; if (outgoing != 0 && tp->tp_threshold == 0U) { list_del(& tp->tp_list); list_add(& tp->tp_list, & cull); } else { } } else { } goto ldv_51189; } else { } ldv_51188: el = next; next = el->next; ldv_51191: ; if ((unsigned long )el != (unsigned long )(& the_lnet.ln_test_peers)) { goto ldv_51190; } else { } ldv_51189: lnet_net_unlock(0); goto ldv_51201; ldv_51200: __mptr___0 = (struct list_head const *)cull.next; tp = (lnet_test_peer_t *)__mptr___0; list_del(& tp->tp_list); s = 32; tmp___0 = ldv__builtin_expect((unsigned long )tp == (unsigned long )((lnet_test_peer_t *)0), 0L); if (tmp___0 != 0L) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "fail_peer"; msgdata.msg_line = 154; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'tp\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c", 154); } else { } goto ldv_51198; } else { } atomic_sub(s, & libcfs_kmemory); tmp___2 = cfs_cdebug_show(16U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___0.msg_fn = "fail_peer"; msgdata___0.msg_line = 154; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___1 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'tp\': %d at %p (tot %d).\n", s, tp, tmp___1); } else { } tmp___3 = ldv__builtin_expect(s > 8192, 0L); if (tmp___3 != 0L) { vfree((void const *)tp); } else { kfree((void const *)tp); } ldv_51198: ; ldv_51201: tmp___4 = list_empty((struct list_head const *)(& cull)); if (tmp___4 == 0) { goto ldv_51200; } else { } return (fail); } } unsigned int lnet_iov_nob(unsigned int niov , struct kvec *iov ) { unsigned int nob ; struct kvec *tmp ; unsigned int tmp___0 ; { nob = 0U; goto ldv_51209; ldv_51208: tmp = iov; iov = iov + 1; nob = (unsigned int )tmp->iov_len + nob; ldv_51209: tmp___0 = niov; niov = niov - 1U; if (tmp___0 != 0U) { goto ldv_51208; } else { } return (nob); } } static char const __kstrtab_lnet_iov_nob[13U] = { 'l', 'n', 'e', 't', '_', 'i', 'o', 'v', '_', 'n', 'o', 'b', '\000'}; struct kernel_symbol const __ksymtab_lnet_iov_nob ; struct kernel_symbol const __ksymtab_lnet_iov_nob = {(unsigned long )(& lnet_iov_nob), (char const *)(& __kstrtab_lnet_iov_nob)}; void lnet_copy_iov2iov(unsigned int ndiov , struct kvec *diov , unsigned int doffset , unsigned int nsiov , struct kvec *siov , unsigned int soffset , unsigned int nob ) { unsigned int this_nob ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___3 ; struct libcfs_debug_msg_data __msg_data___4 ; long tmp___4 ; size_t _min1 ; size_t _min2 ; unsigned int _min1___0 ; unsigned int _min2___0 ; { if (nob == 0U) { return; } else { } tmp = ldv__builtin_expect(ndiov == 0U, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_copy_iov2iov"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 184; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"ndiov > 0"); lbug_with_loc(& __msg_data); } else { } goto ldv_51233; ldv_51232: doffset = doffset - (unsigned int )diov->iov_len; diov = diov + 1; ndiov = ndiov - 1U; tmp___0 = ldv__builtin_expect(ndiov == 0U, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_copy_iov2iov"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 189; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"ndiov > 0"); lbug_with_loc(& __msg_data___0); } else { } ldv_51233: ; if ((size_t )doffset >= diov->iov_len) { goto ldv_51232; } else { } tmp___1 = ldv__builtin_expect(nsiov == 0U, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_copy_iov2iov"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 193; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"nsiov > 0"); lbug_with_loc(& __msg_data___1); } else { } goto ldv_51238; ldv_51237: soffset = soffset - (unsigned int )siov->iov_len; siov = siov + 1; nsiov = nsiov - 1U; tmp___2 = ldv__builtin_expect(nsiov == 0U, 0L); if (tmp___2 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_copy_iov2iov"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 198; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"nsiov > 0"); lbug_with_loc(& __msg_data___2); } else { } ldv_51238: ; if ((size_t )soffset >= siov->iov_len) { goto ldv_51237; } else { } ldv_51248: tmp___3 = ldv__builtin_expect(ndiov == 0U, 0L); if (tmp___3 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___3.msg_fn = "lnet_copy_iov2iov"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 202; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"ndiov > 0"); lbug_with_loc(& __msg_data___3); } else { } tmp___4 = ldv__builtin_expect(nsiov == 0U, 0L); if (tmp___4 != 0L) { __msg_data___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___4.msg_fn = "lnet_copy_iov2iov"; __msg_data___4.msg_subsys = 1024; __msg_data___4.msg_line = 203; __msg_data___4.msg_mask = 0; __msg_data___4.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___4.msg_mask = 262144; libcfs_debug_msg(& __msg_data___4, "ASSERTION( %s ) failed: \n", (char *)"nsiov > 0"); lbug_with_loc(& __msg_data___4); } else { } _min1 = diov->iov_len - (size_t )doffset; _min2 = siov->iov_len - (size_t )soffset; this_nob = (unsigned int )(_min1 < _min2 ? _min1 : _min2); _min1___0 = this_nob; _min2___0 = nob; this_nob = _min1___0 < _min2___0 ? _min1___0 : _min2___0; memcpy(diov->iov_base + (unsigned long )doffset, (void const *)siov->iov_base + (unsigned long )soffset, (size_t )this_nob); nob = nob - this_nob; if (diov->iov_len > (size_t )(doffset + this_nob)) { doffset = doffset + this_nob; } else { diov = diov + 1; ndiov = ndiov - 1U; doffset = 0U; } if (siov->iov_len > (size_t )(soffset + this_nob)) { soffset = soffset + this_nob; } else { siov = siov + 1; nsiov = nsiov - 1U; soffset = 0U; } if (nob != 0U) { goto ldv_51248; } else { } return; } } static char const __kstrtab_lnet_copy_iov2iov[18U] = { 'l', 'n', 'e', 't', '_', 'c', 'o', 'p', 'y', '_', 'i', 'o', 'v', '2', 'i', 'o', 'v', '\000'}; struct kernel_symbol const __ksymtab_lnet_copy_iov2iov ; struct kernel_symbol const __ksymtab_lnet_copy_iov2iov = {(unsigned long )(& lnet_copy_iov2iov), (char const *)(& __kstrtab_lnet_copy_iov2iov)}; int lnet_extract_iov(int dst_niov , struct kvec *dst , int src_niov , struct kvec *src , unsigned int offset , unsigned int len ) { unsigned int frag_len ; unsigned int niov ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___2 ; { if (len == 0U) { return (0); } else { } tmp = ldv__builtin_expect(src_niov <= 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_extract_iov"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 245; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"src_niov > 0"); lbug_with_loc(& __msg_data); } else { } goto ldv_51277; ldv_51276: offset = offset - (unsigned int )src->iov_len; src_niov = src_niov - 1; src = src + 1; tmp___0 = ldv__builtin_expect(src_niov <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_extract_iov"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 250; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"src_niov > 0"); lbug_with_loc(& __msg_data___0); } else { } ldv_51277: ; if ((size_t )offset >= src->iov_len) { goto ldv_51276; } else { } niov = 1U; ldv_51281: tmp___1 = ldv__builtin_expect(src_niov <= 0, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_extract_iov"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 255; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"src_niov > 0"); lbug_with_loc(& __msg_data___1); } else { } tmp___2 = ldv__builtin_expect((int )niov > dst_niov, 0L); if (tmp___2 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_extract_iov"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 256; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"(int)niov <= dst_niov"); lbug_with_loc(& __msg_data___2); } else { } frag_len = (unsigned int )src->iov_len - offset; dst->iov_base = src->iov_base + (unsigned long )offset; if (len <= frag_len) { dst->iov_len = (size_t )len; return ((int )niov); } else { } dst->iov_len = (size_t )frag_len; len = len - frag_len; dst = dst + 1; src = src + 1; niov = niov + 1U; src_niov = src_niov - 1; offset = 0U; goto ldv_51281; } } static char const __kstrtab_lnet_extract_iov[17U] = { 'l', 'n', 'e', 't', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', '_', 'i', 'o', 'v', '\000'}; struct kernel_symbol const __ksymtab_lnet_extract_iov ; struct kernel_symbol const __ksymtab_lnet_extract_iov = {(unsigned long )(& lnet_extract_iov), (char const *)(& __kstrtab_lnet_extract_iov)}; unsigned int lnet_kiov_nob(unsigned int niov , lnet_kiov_t *kiov ) { unsigned int nob ; lnet_kiov_t *tmp ; unsigned int tmp___0 ; { nob = 0U; goto ldv_51300; ldv_51299: tmp = kiov; kiov = kiov + 1; nob = tmp->kiov_len + nob; ldv_51300: tmp___0 = niov; niov = niov - 1U; if (tmp___0 != 0U) { goto ldv_51299; } else { } return (nob); } } static char const __kstrtab_lnet_kiov_nob[14U] = { 'l', 'n', 'e', 't', '_', 'k', 'i', 'o', 'v', '_', 'n', 'o', 'b', '\000'}; struct kernel_symbol const __ksymtab_lnet_kiov_nob ; struct kernel_symbol const __ksymtab_lnet_kiov_nob = {(unsigned long )(& lnet_kiov_nob), (char const *)(& __kstrtab_lnet_kiov_nob)}; void lnet_copy_kiov2kiov(unsigned int ndiov , lnet_kiov_t *diov , unsigned int doffset , unsigned int nsiov , lnet_kiov_t *siov , unsigned int soffset , unsigned int nob ) { unsigned int this_nob ; char *daddr ; char *saddr ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___3 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___4 ; struct libcfs_debug_msg_data __msg_data___4 ; long tmp___5 ; struct libcfs_debug_msg_data __msg_data___5 ; long tmp___6 ; unsigned int _min1 ; unsigned int _min2 ; unsigned int _min1___0 ; unsigned int _min2___0 ; void *tmp___7 ; void *tmp___8 ; { daddr = (char *)0; saddr = (char *)0; if (nob == 0U) { return; } else { } tmp = preempt_count(); tmp___0 = ldv__builtin_expect(((unsigned long )tmp & 2096896UL) != 0UL, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_copy_kiov2kiov"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 304; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4)))))"); lbug_with_loc(& __msg_data); } else { } tmp___1 = ldv__builtin_expect(ndiov == 0U, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_copy_kiov2kiov"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 306; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"ndiov > 0"); lbug_with_loc(& __msg_data___0); } else { } goto ldv_51327; ldv_51326: doffset = doffset - diov->kiov_len; diov = diov + 1; ndiov = ndiov - 1U; tmp___2 = ldv__builtin_expect(ndiov == 0U, 0L); if (tmp___2 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_copy_kiov2kiov"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 311; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"ndiov > 0"); lbug_with_loc(& __msg_data___1); } else { } ldv_51327: ; if (diov->kiov_len <= doffset) { goto ldv_51326; } else { } tmp___3 = ldv__builtin_expect(nsiov == 0U, 0L); if (tmp___3 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_copy_kiov2kiov"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 314; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"nsiov > 0"); lbug_with_loc(& __msg_data___2); } else { } goto ldv_51332; ldv_51331: soffset = soffset - siov->kiov_len; siov = siov + 1; nsiov = nsiov - 1U; tmp___4 = ldv__builtin_expect(nsiov == 0U, 0L); if (tmp___4 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___3.msg_fn = "lnet_copy_kiov2kiov"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 319; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"nsiov > 0"); lbug_with_loc(& __msg_data___3); } else { } ldv_51332: ; if (siov->kiov_len <= soffset) { goto ldv_51331; } else { } ldv_51342: tmp___5 = ldv__builtin_expect(ndiov == 0U, 0L); if (tmp___5 != 0L) { __msg_data___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___4.msg_fn = "lnet_copy_kiov2kiov"; __msg_data___4.msg_subsys = 1024; __msg_data___4.msg_line = 323; __msg_data___4.msg_mask = 0; __msg_data___4.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___4.msg_mask = 262144; libcfs_debug_msg(& __msg_data___4, "ASSERTION( %s ) failed: \n", (char *)"ndiov > 0"); lbug_with_loc(& __msg_data___4); } else { } tmp___6 = ldv__builtin_expect(nsiov == 0U, 0L); if (tmp___6 != 0L) { __msg_data___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___5.msg_fn = "lnet_copy_kiov2kiov"; __msg_data___5.msg_subsys = 1024; __msg_data___5.msg_line = 324; __msg_data___5.msg_mask = 0; __msg_data___5.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___5.msg_mask = 262144; libcfs_debug_msg(& __msg_data___5, "ASSERTION( %s ) failed: \n", (char *)"nsiov > 0"); lbug_with_loc(& __msg_data___5); } else { } _min1 = diov->kiov_len - doffset; _min2 = siov->kiov_len - soffset; this_nob = _min1 < _min2 ? _min1 : _min2; _min1___0 = this_nob; _min2___0 = nob; this_nob = _min1___0 < _min2___0 ? _min1___0 : _min2___0; if ((unsigned long )daddr == (unsigned long )((char *)0)) { tmp___7 = kmap(diov->kiov_page); daddr = (char *)tmp___7 + ((unsigned long )diov->kiov_offset + (unsigned long )doffset); } else { } if ((unsigned long )saddr == (unsigned long )((char *)0)) { tmp___8 = kmap(siov->kiov_page); saddr = (char *)tmp___8 + ((unsigned long )siov->kiov_offset + (unsigned long )soffset); } else { } memcpy((void *)daddr, (void const *)saddr, (size_t )this_nob); nob = nob - this_nob; if (diov->kiov_len > doffset + this_nob) { daddr = daddr + (unsigned long )this_nob; doffset = doffset + this_nob; } else { kunmap(diov->kiov_page); daddr = (char *)0; diov = diov + 1; ndiov = ndiov - 1U; doffset = 0U; } if (siov->kiov_len > soffset + this_nob) { saddr = saddr + (unsigned long )this_nob; soffset = soffset + this_nob; } else { kunmap(siov->kiov_page); saddr = (char *)0; siov = siov + 1; nsiov = nsiov - 1U; soffset = 0U; } if (nob != 0U) { goto ldv_51342; } else { } if ((unsigned long )daddr != (unsigned long )((char *)0)) { kunmap(diov->kiov_page); } else { } if ((unsigned long )saddr != (unsigned long )((char *)0)) { kunmap(siov->kiov_page); } else { } return; } } static char const __kstrtab_lnet_copy_kiov2kiov[20U] = { 'l', 'n', 'e', 't', '_', 'c', 'o', 'p', 'y', '_', 'k', 'i', 'o', 'v', '2', 'k', 'i', 'o', 'v', '\000'}; struct kernel_symbol const __ksymtab_lnet_copy_kiov2kiov ; struct kernel_symbol const __ksymtab_lnet_copy_kiov2kiov = {(unsigned long )(& lnet_copy_kiov2kiov), (char const *)(& __kstrtab_lnet_copy_kiov2kiov)}; void lnet_copy_kiov2iov(unsigned int niov , struct kvec *iov , unsigned int iovoffset , unsigned int nkiov , lnet_kiov_t *kiov , unsigned int kiovoffset , unsigned int nob ) { unsigned int this_nob ; char *addr ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___3 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___4 ; struct libcfs_debug_msg_data __msg_data___4 ; long tmp___5 ; struct libcfs_debug_msg_data __msg_data___5 ; long tmp___6 ; size_t _min1 ; unsigned long _min2 ; unsigned int _min1___0 ; unsigned int _min2___0 ; void *tmp___7 ; { addr = (char *)0; if (nob == 0U) { return; } else { } tmp = preempt_count(); tmp___0 = ldv__builtin_expect(((unsigned long )tmp & 2096896UL) != 0UL, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_copy_kiov2iov"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 385; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4)))))"); lbug_with_loc(& __msg_data); } else { } tmp___1 = ldv__builtin_expect(niov == 0U, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_copy_kiov2iov"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 387; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"niov > 0"); lbug_with_loc(& __msg_data___0); } else { } goto ldv_51373; ldv_51372: iovoffset = iovoffset - (unsigned int )iov->iov_len; iov = iov + 1; niov = niov - 1U; tmp___2 = ldv__builtin_expect(niov == 0U, 0L); if (tmp___2 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_copy_kiov2iov"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 392; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"niov > 0"); lbug_with_loc(& __msg_data___1); } else { } ldv_51373: ; if ((size_t )iovoffset >= iov->iov_len) { goto ldv_51372; } else { } tmp___3 = ldv__builtin_expect(nkiov == 0U, 0L); if (tmp___3 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_copy_kiov2iov"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 395; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"nkiov > 0"); lbug_with_loc(& __msg_data___2); } else { } goto ldv_51378; ldv_51377: kiovoffset = kiovoffset - kiov->kiov_len; kiov = kiov + 1; nkiov = nkiov - 1U; tmp___4 = ldv__builtin_expect(nkiov == 0U, 0L); if (tmp___4 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___3.msg_fn = "lnet_copy_kiov2iov"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 400; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"nkiov > 0"); lbug_with_loc(& __msg_data___3); } else { } ldv_51378: ; if (kiov->kiov_len <= kiovoffset) { goto ldv_51377; } else { } ldv_51388: tmp___5 = ldv__builtin_expect(niov == 0U, 0L); if (tmp___5 != 0L) { __msg_data___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___4.msg_fn = "lnet_copy_kiov2iov"; __msg_data___4.msg_subsys = 1024; __msg_data___4.msg_line = 404; __msg_data___4.msg_mask = 0; __msg_data___4.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___4.msg_mask = 262144; libcfs_debug_msg(& __msg_data___4, "ASSERTION( %s ) failed: \n", (char *)"niov > 0"); lbug_with_loc(& __msg_data___4); } else { } tmp___6 = ldv__builtin_expect(nkiov == 0U, 0L); if (tmp___6 != 0L) { __msg_data___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___5.msg_fn = "lnet_copy_kiov2iov"; __msg_data___5.msg_subsys = 1024; __msg_data___5.msg_line = 405; __msg_data___5.msg_mask = 0; __msg_data___5.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___5.msg_mask = 262144; libcfs_debug_msg(& __msg_data___5, "ASSERTION( %s ) failed: \n", (char *)"nkiov > 0"); lbug_with_loc(& __msg_data___5); } else { } _min1 = iov->iov_len - (size_t )iovoffset; _min2 = (unsigned long )kiov->kiov_len - (unsigned long )kiovoffset; this_nob = (unsigned int )(_min1 < _min2 ? _min1 : _min2); _min1___0 = this_nob; _min2___0 = nob; this_nob = _min1___0 < _min2___0 ? _min1___0 : _min2___0; if ((unsigned long )addr == (unsigned long )((char *)0)) { tmp___7 = kmap(kiov->kiov_page); addr = (char *)tmp___7 + ((unsigned long )kiov->kiov_offset + (unsigned long )kiovoffset); } else { } memcpy(iov->iov_base + (unsigned long )iovoffset, (void const *)addr, (size_t )this_nob); nob = nob - this_nob; if (iov->iov_len > (size_t )(iovoffset + this_nob)) { iovoffset = iovoffset + this_nob; } else { iov = iov + 1; niov = niov - 1U; iovoffset = 0U; } if (kiov->kiov_len > kiovoffset + this_nob) { addr = addr + (unsigned long )this_nob; kiovoffset = kiovoffset + this_nob; } else { kunmap(kiov->kiov_page); addr = (char *)0; kiov = kiov + 1; nkiov = nkiov - 1U; kiovoffset = 0U; } if (nob != 0U) { goto ldv_51388; } else { } if ((unsigned long )addr != (unsigned long )((char *)0)) { kunmap(kiov->kiov_page); } else { } return; } } static char const __kstrtab_lnet_copy_kiov2iov[19U] = { 'l', 'n', 'e', 't', '_', 'c', 'o', 'p', 'y', '_', 'k', 'i', 'o', 'v', '2', 'i', 'o', 'v', '\000'}; struct kernel_symbol const __ksymtab_lnet_copy_kiov2iov ; struct kernel_symbol const __ksymtab_lnet_copy_kiov2iov = {(unsigned long )(& lnet_copy_kiov2iov), (char const *)(& __kstrtab_lnet_copy_kiov2iov)}; void lnet_copy_iov2kiov(unsigned int nkiov , lnet_kiov_t *kiov , unsigned int kiovoffset , unsigned int niov , struct kvec *iov , unsigned int iovoffset , unsigned int nob ) { unsigned int this_nob ; char *addr ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___3 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___4 ; struct libcfs_debug_msg_data __msg_data___4 ; long tmp___5 ; struct libcfs_debug_msg_data __msg_data___5 ; long tmp___6 ; unsigned long _min1 ; size_t _min2 ; unsigned int _min1___0 ; unsigned int _min2___0 ; void *tmp___7 ; { addr = (char *)0; if (nob == 0U) { return; } else { } tmp = preempt_count(); tmp___0 = ldv__builtin_expect(((unsigned long )tmp & 2096896UL) != 0UL, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_copy_iov2kiov"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 456; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4)))))"); lbug_with_loc(& __msg_data); } else { } tmp___1 = ldv__builtin_expect(nkiov == 0U, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_copy_iov2kiov"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 458; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"nkiov > 0"); lbug_with_loc(& __msg_data___0); } else { } goto ldv_51419; ldv_51418: kiovoffset = kiovoffset - kiov->kiov_len; kiov = kiov + 1; nkiov = nkiov - 1U; tmp___2 = ldv__builtin_expect(nkiov == 0U, 0L); if (tmp___2 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_copy_iov2kiov"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 463; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"nkiov > 0"); lbug_with_loc(& __msg_data___1); } else { } ldv_51419: ; if (kiov->kiov_len <= kiovoffset) { goto ldv_51418; } else { } tmp___3 = ldv__builtin_expect(niov == 0U, 0L); if (tmp___3 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_copy_iov2kiov"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 466; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"niov > 0"); lbug_with_loc(& __msg_data___2); } else { } goto ldv_51424; ldv_51423: iovoffset = iovoffset - (unsigned int )iov->iov_len; iov = iov + 1; niov = niov - 1U; tmp___4 = ldv__builtin_expect(niov == 0U, 0L); if (tmp___4 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___3.msg_fn = "lnet_copy_iov2kiov"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 471; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"niov > 0"); lbug_with_loc(& __msg_data___3); } else { } ldv_51424: ; if ((size_t )iovoffset >= iov->iov_len) { goto ldv_51423; } else { } ldv_51434: tmp___5 = ldv__builtin_expect(nkiov == 0U, 0L); if (tmp___5 != 0L) { __msg_data___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___4.msg_fn = "lnet_copy_iov2kiov"; __msg_data___4.msg_subsys = 1024; __msg_data___4.msg_line = 475; __msg_data___4.msg_mask = 0; __msg_data___4.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___4.msg_mask = 262144; libcfs_debug_msg(& __msg_data___4, "ASSERTION( %s ) failed: \n", (char *)"nkiov > 0"); lbug_with_loc(& __msg_data___4); } else { } tmp___6 = ldv__builtin_expect(niov == 0U, 0L); if (tmp___6 != 0L) { __msg_data___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___5.msg_fn = "lnet_copy_iov2kiov"; __msg_data___5.msg_subsys = 1024; __msg_data___5.msg_line = 476; __msg_data___5.msg_mask = 0; __msg_data___5.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___5.msg_mask = 262144; libcfs_debug_msg(& __msg_data___5, "ASSERTION( %s ) failed: \n", (char *)"niov > 0"); lbug_with_loc(& __msg_data___5); } else { } _min1 = (unsigned long )kiov->kiov_len - (unsigned long )kiovoffset; _min2 = iov->iov_len - (size_t )iovoffset; this_nob = (unsigned int )(_min1 < _min2 ? _min1 : _min2); _min1___0 = this_nob; _min2___0 = nob; this_nob = _min1___0 < _min2___0 ? _min1___0 : _min2___0; if ((unsigned long )addr == (unsigned long )((char *)0)) { tmp___7 = kmap(kiov->kiov_page); addr = (char *)tmp___7 + ((unsigned long )kiov->kiov_offset + (unsigned long )kiovoffset); } else { } memcpy((void *)addr, (void const *)iov->iov_base + (unsigned long )iovoffset, (size_t )this_nob); nob = nob - this_nob; if (kiov->kiov_len > kiovoffset + this_nob) { addr = addr + (unsigned long )this_nob; kiovoffset = kiovoffset + this_nob; } else { kunmap(kiov->kiov_page); addr = (char *)0; kiov = kiov + 1; nkiov = nkiov - 1U; kiovoffset = 0U; } if (iov->iov_len > (size_t )(iovoffset + this_nob)) { iovoffset = iovoffset + this_nob; } else { iov = iov + 1; niov = niov - 1U; iovoffset = 0U; } if (nob != 0U) { goto ldv_51434; } else { } if ((unsigned long )addr != (unsigned long )((char *)0)) { kunmap(kiov->kiov_page); } else { } return; } } static char const __kstrtab_lnet_copy_iov2kiov[19U] = { 'l', 'n', 'e', 't', '_', 'c', 'o', 'p', 'y', '_', 'i', 'o', 'v', '2', 'k', 'i', 'o', 'v', '\000'}; struct kernel_symbol const __ksymtab_lnet_copy_iov2kiov ; struct kernel_symbol const __ksymtab_lnet_copy_iov2kiov = {(unsigned long )(& lnet_copy_iov2kiov), (char const *)(& __kstrtab_lnet_copy_iov2kiov)}; int lnet_extract_kiov(int dst_niov , lnet_kiov_t *dst , int src_niov , lnet_kiov_t *src , unsigned int offset , unsigned int len ) { unsigned int frag_len ; unsigned int niov ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___3 ; struct libcfs_debug_msg_data __msg_data___4 ; long tmp___4 ; { if (len == 0U) { return (0); } else { } tmp = ldv__builtin_expect(src_niov <= 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_extract_kiov"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 527; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"src_niov > 0"); lbug_with_loc(& __msg_data); } else { } goto ldv_51463; ldv_51462: offset = offset - src->kiov_len; src_niov = src_niov - 1; src = src + 1; tmp___0 = ldv__builtin_expect(src_niov <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_extract_kiov"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 532; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"src_niov > 0"); lbug_with_loc(& __msg_data___0); } else { } ldv_51463: ; if (src->kiov_len <= offset) { goto ldv_51462; } else { } niov = 1U; ldv_51469: tmp___1 = ldv__builtin_expect(src_niov <= 0, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_extract_kiov"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 537; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"src_niov > 0"); lbug_with_loc(& __msg_data___1); } else { } tmp___2 = ldv__builtin_expect((int )niov > dst_niov, 0L); if (tmp___2 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_extract_kiov"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 538; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"(int)niov <= dst_niov"); lbug_with_loc(& __msg_data___2); } else { } frag_len = src->kiov_len - offset; dst->kiov_page = src->kiov_page; dst->kiov_offset = src->kiov_offset + offset; if (len <= frag_len) { dst->kiov_len = len; tmp___3 = ldv__builtin_expect(dst->kiov_offset + dst->kiov_len > 4096U, 0L); if (tmp___3 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___3.msg_fn = "lnet_extract_kiov"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 547; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"dst->kiov_offset + dst->kiov_len <= ((1UL) << 12)"); lbug_with_loc(& __msg_data___3); } else { } return ((int )niov); } else { } dst->kiov_len = frag_len; tmp___4 = ldv__builtin_expect(dst->kiov_offset + dst->kiov_len > 4096U, 0L); if (tmp___4 != 0L) { __msg_data___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___4.msg_fn = "lnet_extract_kiov"; __msg_data___4.msg_subsys = 1024; __msg_data___4.msg_line = 552; __msg_data___4.msg_mask = 0; __msg_data___4.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___4.msg_mask = 262144; libcfs_debug_msg(& __msg_data___4, "ASSERTION( %s ) failed: \n", (char *)"dst->kiov_offset + dst->kiov_len <= ((1UL) << 12)"); lbug_with_loc(& __msg_data___4); } else { } len = len - frag_len; dst = dst + 1; src = src + 1; niov = niov + 1U; src_niov = src_niov - 1; offset = 0U; goto ldv_51469; } } static char const __kstrtab_lnet_extract_kiov[18U] = { 'l', 'n', 'e', 't', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', '_', 'k', 'i', 'o', 'v', '\000'}; struct kernel_symbol const __ksymtab_lnet_extract_kiov ; struct kernel_symbol const __ksymtab_lnet_extract_kiov = {(unsigned long )(& lnet_extract_kiov), (char const *)(& __kstrtab_lnet_extract_kiov)}; static void lnet_ni_recv(lnet_ni_t *ni , void *private , lnet_msg_t *msg , int delayed , unsigned int offset , unsigned int mlen , unsigned int rlen ) { unsigned int niov ; struct kvec *iov ; lnet_kiov_t *kiov ; int rc ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___3 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___4 ; struct libcfs_debug_msg_data __msg_data___4 ; long tmp___5 ; struct libcfs_debug_msg_data __msg_data___5 ; long tmp___6 ; struct libcfs_debug_msg_data __msg_data___6 ; long tmp___7 ; struct libcfs_debug_msg_data __msg_data___7 ; long tmp___8 ; struct libcfs_debug_msg_data __msg_data___8 ; long tmp___9 ; { niov = 0U; iov = (struct kvec *)0; kiov = (lnet_kiov_t *)0; tmp = preempt_count(); tmp___0 = ldv__builtin_expect(((unsigned long )tmp & 2096896UL) != 0UL, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_ni_recv"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 573; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4)))))"); lbug_with_loc(& __msg_data); } else { } tmp___1 = ldv__builtin_expect((long )(mlen != 0U && (unsigned long )msg == (unsigned long )((lnet_msg_t *)0)), 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_ni_recv"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 574; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"mlen == 0 || msg != ((void *)0)"); lbug_with_loc(& __msg_data___0); } else { } if ((unsigned long )msg != (unsigned long )((lnet_msg_t *)0)) { tmp___2 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 65UL) == 0U, 0L); if (tmp___2 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_ni_recv"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 577; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_receiving"); lbug_with_loc(& __msg_data___1); } else { } tmp___3 = ldv__builtin_expect((int )((signed char )*((unsigned char *)msg + 64UL)) < 0, 0L); if (tmp___3 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_ni_recv"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 578; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_sending"); lbug_with_loc(& __msg_data___2); } else { } tmp___4 = ldv__builtin_expect(msg->msg_len != rlen, 0L); if (tmp___4 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___3.msg_fn = "lnet_ni_recv"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 579; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"rlen == msg->msg_len"); lbug_with_loc(& __msg_data___3); } else { } tmp___5 = ldv__builtin_expect(msg->msg_len < mlen, 0L); if (tmp___5 != 0L) { __msg_data___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___4.msg_fn = "lnet_ni_recv"; __msg_data___4.msg_subsys = 1024; __msg_data___4.msg_line = 580; __msg_data___4.msg_mask = 0; __msg_data___4.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___4.msg_mask = 262144; libcfs_debug_msg(& __msg_data___4, "ASSERTION( %s ) failed: \n", (char *)"mlen <= msg->msg_len"); lbug_with_loc(& __msg_data___4); } else { } tmp___6 = ldv__builtin_expect(msg->msg_offset != offset, 0L); if (tmp___6 != 0L) { __msg_data___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___5.msg_fn = "lnet_ni_recv"; __msg_data___5.msg_subsys = 1024; __msg_data___5.msg_line = 581; __msg_data___5.msg_mask = 0; __msg_data___5.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___5.msg_mask = 262144; libcfs_debug_msg(& __msg_data___5, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_offset == offset"); lbug_with_loc(& __msg_data___5); } else { } tmp___7 = ldv__builtin_expect(msg->msg_wanted != mlen, 0L); if (tmp___7 != 0L) { __msg_data___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___6.msg_fn = "lnet_ni_recv"; __msg_data___6.msg_subsys = 1024; __msg_data___6.msg_line = 582; __msg_data___6.msg_mask = 0; __msg_data___6.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___6.msg_mask = 262144; libcfs_debug_msg(& __msg_data___6, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_wanted == mlen"); lbug_with_loc(& __msg_data___6); } else { } msg->msg_receiving = 0U; if (mlen != 0U) { niov = msg->msg_niov; iov = msg->msg_iov; kiov = msg->msg_kiov; tmp___8 = ldv__builtin_expect(niov == 0U, 0L); if (tmp___8 != 0L) { __msg_data___7.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___7.msg_fn = "lnet_ni_recv"; __msg_data___7.msg_subsys = 1024; __msg_data___7.msg_line = 591; __msg_data___7.msg_mask = 0; __msg_data___7.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___7.msg_mask = 262144; libcfs_debug_msg(& __msg_data___7, "ASSERTION( %s ) failed: \n", (char *)"niov > 0"); lbug_with_loc(& __msg_data___7); } else { } tmp___9 = ldv__builtin_expect((long )(((unsigned long )iov != (unsigned long )((struct kvec *)0)) ^ ((unsigned long )kiov == (unsigned long )((lnet_kiov_t *)0))), 0L); if (tmp___9 != 0L) { __msg_data___8.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___8.msg_fn = "lnet_ni_recv"; __msg_data___8.msg_subsys = 1024; __msg_data___8.msg_line = 592; __msg_data___8.msg_mask = 0; __msg_data___8.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___8.msg_mask = 262144; libcfs_debug_msg(& __msg_data___8, "ASSERTION( %s ) failed: \n", (char *)"(iov == ((void *)0)) != (kiov == ((void *)0))"); lbug_with_loc(& __msg_data___8); } else { } } else { } } else { } rc = (*((ni->ni_lnd)->lnd_recv))(ni, private, msg, delayed, niov, iov, kiov, offset, mlen, rlen); if (rc < 0) { lnet_finalize(ni, msg, rc); } else { } return; } } static void lnet_setpayloadbuffer(lnet_msg_t *msg ) { lnet_libmd_t *md ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___3 ; struct libcfs_debug_msg_data __msg_data___4 ; long tmp___4 ; { md = msg->msg_md; tmp = ldv__builtin_expect(msg->msg_len == 0U, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_setpayloadbuffer"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 607; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_len > 0"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) != 0U, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_setpayloadbuffer"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 608; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_routing"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = ldv__builtin_expect((unsigned long )md == (unsigned long )((lnet_libmd_t *)0), 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_setpayloadbuffer"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 609; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"md != ((void *)0)"); lbug_with_loc(& __msg_data___1); } else { } tmp___2 = ldv__builtin_expect(msg->msg_niov != 0U, 0L); if (tmp___2 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_setpayloadbuffer"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 610; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_niov == 0"); lbug_with_loc(& __msg_data___2); } else { } tmp___3 = ldv__builtin_expect((unsigned long )msg->msg_iov != (unsigned long )((struct kvec *)0), 0L); if (tmp___3 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___3.msg_fn = "lnet_setpayloadbuffer"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 611; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_iov == ((void *)0)"); lbug_with_loc(& __msg_data___3); } else { } tmp___4 = ldv__builtin_expect((unsigned long )msg->msg_kiov != (unsigned long )((lnet_kiov_t *)0), 0L); if (tmp___4 != 0L) { __msg_data___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___4.msg_fn = "lnet_setpayloadbuffer"; __msg_data___4.msg_subsys = 1024; __msg_data___4.msg_line = 612; __msg_data___4.msg_mask = 0; __msg_data___4.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___4.msg_mask = 262144; libcfs_debug_msg(& __msg_data___4, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_kiov == ((void *)0)"); lbug_with_loc(& __msg_data___4); } else { } msg->msg_niov = md->md_niov; if ((md->md_options & 256U) != 0U) { msg->msg_kiov = (lnet_kiov_t *)(& md->md_iov.kiov); } else { msg->msg_iov = (struct kvec *)(& md->md_iov.iov); } return; } } void lnet_prep_send(lnet_msg_t *msg , int type , lnet_process_id_t target , unsigned int offset , unsigned int len ) { { msg->msg_type = (__u32 )type; msg->msg_target = target; msg->msg_len = len; msg->msg_offset = offset; if (len != 0U) { lnet_setpayloadbuffer(msg); } else { } memset((void *)(& msg->msg_hdr), 0, 72UL); msg->msg_hdr.type = (unsigned int )type; msg->msg_hdr.dest_nid = target.nid; msg->msg_hdr.dest_pid = target.pid; msg->msg_hdr.src_pid = the_lnet.ln_pid; msg->msg_hdr.payload_length = len; return; } } static void lnet_ni_send(lnet_ni_t *ni , lnet_msg_t *msg ) { void *priv ; int rc ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; __u32 tmp___1 ; __u32 tmp___2 ; long tmp___3 ; { priv = msg->msg_private; tmp = preempt_count(); tmp___0 = ldv__builtin_expect(((unsigned long )tmp & 2096896UL) != 0UL, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_ni_send"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 648; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4)))))"); lbug_with_loc(& __msg_data); } else { } tmp___1 = LNET_NIDNET(ni->ni_nid); tmp___2 = LNET_NETTYP(tmp___1); tmp___3 = ldv__builtin_expect((long )(tmp___2 != 9U && ((unsigned int )*((unsigned char *)msg + 65UL) == 0U || (unsigned int )*((unsigned char *)msg + 65UL) == 0U)), 0L); if (tmp___3 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_ni_send"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 650; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"LNET_NETTYP(LNET_NIDNET(ni->ni_nid)) == LOLND || (msg->msg_txcredit && msg->msg_peertxcredit)"); lbug_with_loc(& __msg_data___0); } else { } rc = (*((ni->ni_lnd)->lnd_send))(ni, priv, msg); if (rc < 0) { lnet_finalize(ni, msg, rc); } else { } return; } } static int lnet_ni_eager_recv(lnet_ni_t *ni , lnet_msg_t *msg ) { int rc ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___2 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp___3 ; char *tmp___4 ; int tmp___5 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___6 ; { tmp = ldv__builtin_expect((int )((signed char )*((unsigned char *)msg + 64UL)) < 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_ni_eager_recv"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 662; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_sending"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 65UL) == 0U, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_ni_eager_recv"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 663; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_receiving"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) != 0U, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_ni_eager_recv"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 664; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_rx_ready_delay"); lbug_with_loc(& __msg_data___1); } else { } tmp___2 = ldv__builtin_expect((unsigned long )(ni->ni_lnd)->lnd_eager_recv == (unsigned long )((int (*)(struct lnet_ni * , void * , lnet_msg_t * , void ** ))0), 0L); if (tmp___2 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_ni_eager_recv"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 665; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"ni->ni_lnd->lnd_eager_recv != ((void *)0)"); lbug_with_loc(& __msg_data___2); } else { } msg->msg_rx_ready_delay = 1U; rc = (*((ni->ni_lnd)->lnd_eager_recv))(ni, msg->msg_private, msg, & msg->msg_private); if (rc != 0) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "lnet_ni_eager_recv"; msgdata.msg_line = 673; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; tmp___3 = libcfs_id2str(msg->msg_target); tmp___4 = libcfs_nid2str((msg->msg_rxpeer)->lp_nid); libcfs_debug_msg(& msgdata, "recv from %s / send to %s aborted: eager_recv failed %d\n", tmp___4, tmp___3, rc); } else { } tmp___6 = ldv__builtin_expect(rc >= 0, 0L); if (tmp___6 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___3.msg_fn = "lnet_ni_eager_recv"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 674; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"rc < 0"); lbug_with_loc(& __msg_data___3); } else { } } else { } return (rc); } } static void lnet_ni_query_locked(lnet_ni_t *ni , lnet_peer_t *lp ) { unsigned long last_alive ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; { last_alive = 0UL; tmp = ldv__builtin_expect((long )(the_lnet.ln_routing == 0 || (lp->lp_ni)->ni_peertimeout <= 0), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_ni_query_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 686; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"(the_lnet.ln_routing != 0 && (lp)->lp_ni->ni_peertimeout > 0)"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect((unsigned long )(ni->ni_lnd)->lnd_query == (unsigned long )((void (*)(struct lnet_ni * , lnet_nid_t , unsigned long * ))0), 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_ni_query_locked"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 687; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"ni->ni_lnd->lnd_query != ((void *)0)"); lbug_with_loc(& __msg_data___0); } else { } lnet_net_unlock(lp->lp_cpt); (*((ni->ni_lnd)->lnd_query))(ni, lp->lp_nid, & last_alive); lnet_net_lock(lp->lp_cpt); lp->lp_last_query = cfs_time_current(); if (last_alive != 0UL) { lp->lp_last_alive = last_alive; } else { } return; } } __inline static int lnet_peer_is_alive(lnet_peer_t *lp , unsigned long now ) { int alive ; unsigned long deadline ; struct libcfs_debug_msg_data __msg_data ; long tmp ; int tmp___0 ; long tmp___1 ; int tmp___2 ; { tmp = ldv__builtin_expect((long )(the_lnet.ln_routing == 0 || (lp->lp_ni)->ni_peertimeout <= 0), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_peer_is_alive"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 706; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"(the_lnet.ln_routing != 0 && (lp)->lp_ni->ni_peertimeout > 0)"); lbug_with_loc(& __msg_data); } else { } if ((unsigned int )*((unsigned char *)lp + 80UL) == 0U && lp->lp_alive_count > 0) { tmp___0 = cfs_time_aftereq(lp->lp_timestamp, lp->lp_last_alive); if (tmp___0 != 0) { return (0); } else { } } else { } tmp___1 = cfs_time_seconds((lp->lp_ni)->ni_peertimeout); deadline = cfs_time_add(lp->lp_last_alive, tmp___1); alive = cfs_time_after(deadline, now); if (alive != 0 && (unsigned int )*((unsigned char *)lp + 80UL) == 0U) { tmp___2 = lnet_isrouter(lp); if (tmp___2 == 0 || lp->lp_alive_count != 0) { lnet_notify_locked(lp, 0, 1, lp->lp_last_alive); } else { } } else { } return (alive); } } static int lnet_peer_alive_locked(lnet_peer_t *lp ) { unsigned long now ; unsigned long tmp ; int tmp___0 ; int lnet_queryinterval ; unsigned long next_query ; long tmp___1 ; unsigned long tmp___2 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp___3 ; int tmp___4 ; int tmp___5 ; { tmp = cfs_time_current(); now = tmp; if (the_lnet.ln_routing == 0 || (lp->lp_ni)->ni_peertimeout <= 0) { return (-19); } else { } tmp___0 = lnet_peer_is_alive(lp, now); if (tmp___0 != 0) { return (1); } else { } if (lp->lp_last_query != 0UL) { lnet_queryinterval = 1; tmp___1 = cfs_time_seconds(lnet_queryinterval); tmp___2 = cfs_time_add(lp->lp_last_query, tmp___1); next_query = tmp___2; if ((long )(now - next_query) < 0L) { if ((unsigned int )*((unsigned char *)lp + 80UL) != 0U) { tmp___4 = cfs_cdebug_show(1024U, 1024U); if (tmp___4 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "lnet_peer_alive_locked"; msgdata.msg_line = 759; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 1024; tmp___3 = libcfs_nid2str(lp->lp_nid); libcfs_debug_msg(& msgdata, "Unexpected aliveness of peer %s: %d < %d (%d/%d)\n", tmp___3, (int )now, (int )next_query, lnet_queryinterval, (lp->lp_ni)->ni_peertimeout); } else { } } else { } return (0); } else { } } else { } lnet_ni_query_locked(lp->lp_ni, lp); tmp___5 = lnet_peer_is_alive(lp, now); if (tmp___5 != 0) { return (1); } else { } lnet_notify_locked(lp, 0, 0, lp->lp_last_alive); return (0); } } static int lnet_post_send_locked(lnet_msg_t *msg , int do_send ) { lnet_peer_t *lp ; lnet_ni_t *ni ; int cpt ; struct lnet_tx_queue *tq ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp___2 ; int tmp___3 ; int tmp___4 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___5 ; int tmp___6 ; struct libcfs_debug_msg_data __msg_data___2 ; int tmp___7 ; long tmp___8 ; struct libcfs_debug_msg_data __msg_data___3 ; int tmp___9 ; long tmp___10 ; { lp = msg->msg_txpeer; ni = lp->lp_ni; cpt = (int )msg->msg_tx_cpt; tq = *(ni->ni_tx_queues + (unsigned long )cpt); tmp = ldv__builtin_expect((long )(do_send != 0 && (unsigned int )*((unsigned char *)msg + 64UL) == 0U), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_post_send_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 794; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!do_send || msg->msg_tx_delayed"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect((long )*((unsigned char *)msg + 65UL) & 1L, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_post_send_locked"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 795; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_receiving"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 60UL) == 0U, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_post_send_locked"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 796; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_tx_committed"); lbug_with_loc(& __msg_data___1); } else { } if ((int )msg->msg_target.pid >= 0) { tmp___4 = lnet_peer_alive_locked(lp); if (tmp___4 == 0) { (*(the_lnet.ln_counters + (unsigned long )cpt))->drop_count = (*(the_lnet.ln_counters + (unsigned long )cpt))->drop_count + 1U; (*(the_lnet.ln_counters + (unsigned long )cpt))->drop_length = (*(the_lnet.ln_counters + (unsigned long )cpt))->drop_length + (__u64 )msg->msg_len; lnet_net_unlock(cpt); tmp___3 = cfs_cdebug_show(256U, 1024U); if (tmp___3 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "lnet_post_send_locked"; msgdata.msg_line = 806; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 256; tmp___2 = libcfs_id2str(msg->msg_target); libcfs_debug_msg(& msgdata, "Dropping message for %s: peer not alive\n", tmp___2); } else { } if (do_send != 0) { lnet_finalize(ni, msg, -113); } else { } lnet_net_lock(cpt); return (113); } else { } } else { } if ((unsigned long )msg->msg_md != (unsigned long )((struct lnet_libmd *)0) && ((msg->msg_md)->md_flags & 4U) != 0U) { lnet_net_unlock(cpt); tmp___6 = cfs_cdebug_show(256U, 1024U); if (tmp___6 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___0.msg_fn = "lnet_post_send_locked"; msgdata___0.msg_line = 819; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 256; tmp___5 = libcfs_id2str(msg->msg_target); libcfs_debug_msg(& msgdata___0, "Aborting message for %s: LNetM[DE]Unlink() already called on the MD/ME.\n", tmp___5); } else { } if (do_send != 0) { lnet_finalize(ni, msg, -125); } else { } lnet_net_lock(cpt); return (125); } else { } if ((unsigned int )*((unsigned char *)msg + 65UL) == 0U) { tmp___7 = list_empty((struct list_head const *)(& lp->lp_txq)); tmp___8 = ldv__builtin_expect((long )((lp->lp_txcredits < 0) ^ (tmp___7 == 0)), 0L); if (tmp___8 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_post_send_locked"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 829; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"(lp->lp_txcredits < 0) == !list_empty(&lp->lp_txq)"); lbug_with_loc(& __msg_data___2); } else { } msg->msg_peertxcredit = 1U; lp->lp_txqnob = (long )(((unsigned long )lp->lp_txqnob + (unsigned long )msg->msg_len) + 72UL); lp->lp_txcredits = lp->lp_txcredits - 1; if (lp->lp_txcredits < lp->lp_mintxcredits) { lp->lp_mintxcredits = lp->lp_txcredits; } else { } if (lp->lp_txcredits < 0) { msg->msg_tx_delayed = 1U; list_add_tail(& msg->msg_list, & lp->lp_txq); return (11); } else { } } else { } if ((unsigned int )*((unsigned char *)msg + 65UL) == 0U) { tmp___9 = list_empty((struct list_head const *)(& tq->tq_delayed)); tmp___10 = ldv__builtin_expect((long )((tq->tq_credits < 0) ^ (tmp___9 == 0)), 0L); if (tmp___10 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___3.msg_fn = "lnet_post_send_locked"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 847; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"(tq->tq_credits < 0) == !list_empty(&tq->tq_delayed)"); lbug_with_loc(& __msg_data___3); } else { } msg->msg_txcredit = 1U; tq->tq_credits = tq->tq_credits - 1; if (tq->tq_credits < tq->tq_credits_min) { tq->tq_credits_min = tq->tq_credits; } else { } if (tq->tq_credits < 0) { msg->msg_tx_delayed = 1U; list_add_tail(& msg->msg_list, & tq->tq_delayed); return (11); } else { } } else { } if (do_send != 0) { lnet_net_unlock(cpt); lnet_ni_send(ni, msg); lnet_net_lock(cpt); } else { } return (0); } } static lnet_rtrbufpool_t *lnet_msg2bufpool(lnet_msg_t *msg ) { lnet_rtrbufpool_t *rbp ; int cpt ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; { tmp = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 62UL) == 0U, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_msg2bufpool"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 877; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_rx_committed"); lbug_with_loc(& __msg_data); } else { } cpt = (int )msg->msg_rx_cpt; rbp = *(the_lnet.ln_rtrpools + (unsigned long )cpt); tmp___0 = ldv__builtin_expect(msg->msg_len > 1048576U, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_msg2bufpool"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 882; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_len <= (1 << 20)"); lbug_with_loc(& __msg_data___0); } else { } goto ldv_51605; ldv_51604: rbp = rbp + 1; tmp___1 = ldv__builtin_expect((unsigned long )(*(the_lnet.ln_rtrpools + (unsigned long )cpt) + 3UL) <= (unsigned long )rbp, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_msg2bufpool"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 885; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"rbp < &the_lnet.ln_rtrpools[cpt][3]"); lbug_with_loc(& __msg_data___1); } else { } ldv_51605: ; if ((unsigned long )msg->msg_len > (unsigned long )((unsigned int )rbp->rbp_npages) * 4096UL) { goto ldv_51604; } else { } return (rbp); } } static int lnet_post_routed_recv_locked(lnet_msg_t *msg , int do_recv ) { lnet_peer_t *lp ; lnet_rtrbufpool_t *rbp ; lnet_rtrbuf_t *rb ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___3 ; struct libcfs_debug_msg_data __msg_data___4 ; long tmp___4 ; struct libcfs_debug_msg_data __msg_data___5 ; long tmp___5 ; struct libcfs_debug_msg_data __msg_data___6 ; int tmp___6 ; long tmp___7 ; struct libcfs_debug_msg_data __msg_data___7 ; long tmp___8 ; struct libcfs_debug_msg_data __msg_data___8 ; int tmp___9 ; long tmp___10 ; struct libcfs_debug_msg_data __msg_data___9 ; long tmp___11 ; struct libcfs_debug_msg_data __msg_data___10 ; int tmp___12 ; long tmp___13 ; struct list_head const *__mptr ; int cpt ; { lp = msg->msg_rxpeer; tmp = ldv__builtin_expect((unsigned long )msg->msg_iov != (unsigned long )((struct kvec *)0), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_post_routed_recv_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 901; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_iov == ((void *)0)"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect((unsigned long )msg->msg_kiov != (unsigned long )((lnet_kiov_t *)0), 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_post_routed_recv_locked"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 902; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_kiov == ((void *)0)"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = ldv__builtin_expect(msg->msg_niov != 0U, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_post_routed_recv_locked"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 903; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_niov == 0"); lbug_with_loc(& __msg_data___1); } else { } tmp___2 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) == 0U, 0L); if (tmp___2 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_post_routed_recv_locked"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 904; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_routing"); lbug_with_loc(& __msg_data___2); } else { } tmp___3 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 65UL) == 0U, 0L); if (tmp___3 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___3.msg_fn = "lnet_post_routed_recv_locked"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 905; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_receiving"); lbug_with_loc(& __msg_data___3); } else { } tmp___4 = ldv__builtin_expect((int )((signed char )*((unsigned char *)msg + 64UL)) < 0, 0L); if (tmp___4 != 0L) { __msg_data___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___4.msg_fn = "lnet_post_routed_recv_locked"; __msg_data___4.msg_subsys = 1024; __msg_data___4.msg_line = 906; __msg_data___4.msg_mask = 0; __msg_data___4.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___4.msg_mask = 262144; libcfs_debug_msg(& __msg_data___4, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_sending"); lbug_with_loc(& __msg_data___4); } else { } tmp___5 = ldv__builtin_expect((long )(do_recv != 0 && (unsigned int )*((unsigned char *)msg + 64UL) == 0U), 0L); if (tmp___5 != 0L) { __msg_data___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___5.msg_fn = "lnet_post_routed_recv_locked"; __msg_data___5.msg_subsys = 1024; __msg_data___5.msg_line = 909; __msg_data___5.msg_mask = 0; __msg_data___5.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___5.msg_mask = 262144; libcfs_debug_msg(& __msg_data___5, "ASSERTION( %s ) failed: \n", (char *)"!do_recv || msg->msg_rx_delayed"); lbug_with_loc(& __msg_data___5); } else { } if ((unsigned int )*((unsigned char *)msg + 65UL) == 0U) { tmp___6 = list_empty((struct list_head const *)(& lp->lp_rtrq)); tmp___7 = ldv__builtin_expect((long )((lp->lp_rtrcredits < 0) ^ (tmp___6 == 0)), 0L); if (tmp___7 != 0L) { __msg_data___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___6.msg_fn = "lnet_post_routed_recv_locked"; __msg_data___6.msg_subsys = 1024; __msg_data___6.msg_line = 913; __msg_data___6.msg_mask = 0; __msg_data___6.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___6.msg_mask = 262144; libcfs_debug_msg(& __msg_data___6, "ASSERTION( %s ) failed: \n", (char *)"(lp->lp_rtrcredits < 0) == !list_empty(&lp->lp_rtrq)"); lbug_with_loc(& __msg_data___6); } else { } msg->msg_peerrtrcredit = 1U; lp->lp_rtrcredits = lp->lp_rtrcredits - 1; if (lp->lp_rtrcredits < lp->lp_minrtrcredits) { lp->lp_minrtrcredits = lp->lp_rtrcredits; } else { } if (lp->lp_rtrcredits < 0) { tmp___8 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) == 0U, 0L); if (tmp___8 != 0L) { __msg_data___7.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___7.msg_fn = "lnet_post_routed_recv_locked"; __msg_data___7.msg_subsys = 1024; __msg_data___7.msg_line = 922; __msg_data___7.msg_mask = 0; __msg_data___7.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___7.msg_mask = 262144; libcfs_debug_msg(& __msg_data___7, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_rx_ready_delay"); lbug_with_loc(& __msg_data___7); } else { } msg->msg_rx_delayed = 1U; list_add_tail(& msg->msg_list, & lp->lp_rtrq); return (11); } else { } } else { } rbp = lnet_msg2bufpool(msg); if ((unsigned int )*((unsigned char *)msg + 65UL) == 0U) { tmp___9 = list_empty((struct list_head const *)(& rbp->rbp_msgs)); tmp___10 = ldv__builtin_expect((long )((rbp->rbp_credits < 0) ^ (tmp___9 == 0)), 0L); if (tmp___10 != 0L) { __msg_data___8.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___8.msg_fn = "lnet_post_routed_recv_locked"; __msg_data___8.msg_subsys = 1024; __msg_data___8.msg_line = 933; __msg_data___8.msg_mask = 0; __msg_data___8.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___8.msg_mask = 262144; libcfs_debug_msg(& __msg_data___8, "ASSERTION( %s ) failed: \n", (char *)"(rbp->rbp_credits < 0) == !list_empty(&rbp->rbp_msgs)"); lbug_with_loc(& __msg_data___8); } else { } msg->msg_rtrcredit = 1U; rbp->rbp_credits = rbp->rbp_credits - 1; if (rbp->rbp_credits < rbp->rbp_mincredits) { rbp->rbp_mincredits = rbp->rbp_credits; } else { } if (rbp->rbp_credits < 0) { tmp___11 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) == 0U, 0L); if (tmp___11 != 0L) { __msg_data___9.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___9.msg_fn = "lnet_post_routed_recv_locked"; __msg_data___9.msg_subsys = 1024; __msg_data___9.msg_line = 942; __msg_data___9.msg_mask = 0; __msg_data___9.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___9.msg_mask = 262144; libcfs_debug_msg(& __msg_data___9, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_rx_ready_delay"); lbug_with_loc(& __msg_data___9); } else { } msg->msg_rx_delayed = 1U; list_add_tail(& msg->msg_list, & rbp->rbp_msgs); return (11); } else { } } else { } tmp___12 = list_empty((struct list_head const *)(& rbp->rbp_bufs)); tmp___13 = ldv__builtin_expect(tmp___12 != 0, 0L); if (tmp___13 != 0L) { __msg_data___10.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___10.msg_fn = "lnet_post_routed_recv_locked"; __msg_data___10.msg_subsys = 1024; __msg_data___10.msg_line = 949; __msg_data___10.msg_mask = 0; __msg_data___10.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___10.msg_mask = 262144; libcfs_debug_msg(& __msg_data___10, "ASSERTION( %s ) failed: \n", (char *)"!list_empty(&rbp->rbp_bufs)"); lbug_with_loc(& __msg_data___10); } else { } __mptr = (struct list_head const *)rbp->rbp_bufs.next; rb = (lnet_rtrbuf_t *)__mptr; list_del(& rb->rb_list); msg->msg_niov = (unsigned int )rbp->rbp_npages; msg->msg_kiov = (lnet_kiov_t *)(& rb->rb_kiov); if (do_recv != 0) { cpt = (int )msg->msg_rx_cpt; lnet_net_unlock(cpt); lnet_ni_recv(lp->lp_ni, msg->msg_private, msg, 1, 0U, msg->msg_len, msg->msg_len); lnet_net_lock(cpt); } else { } return (0); } } void lnet_return_tx_credits_locked(lnet_msg_t *msg ) { lnet_peer_t *txpeer ; lnet_msg_t *msg2 ; struct lnet_ni *ni ; struct lnet_tx_queue *tq ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct list_head const *__mptr ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___2 ; int tmp___3 ; long tmp___4 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___5 ; struct list_head const *__mptr___0 ; struct libcfs_debug_msg_data __msg_data___4 ; long tmp___6 ; struct libcfs_debug_msg_data __msg_data___5 ; long tmp___7 ; { txpeer = msg->msg_txpeer; if ((unsigned int )*((unsigned char *)msg + 65UL) != 0U) { ni = txpeer->lp_ni; tq = *(ni->ni_tx_queues + (unsigned long )msg->msg_tx_cpt); msg->msg_txcredit = 0U; tmp = list_empty((struct list_head const *)(& tq->tq_delayed)); tmp___0 = ldv__builtin_expect((long )((tq->tq_credits < 0) ^ (tmp == 0)), 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_return_tx_credits_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 981; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"(tq->tq_credits < 0) == !list_empty(&tq->tq_delayed)"); lbug_with_loc(& __msg_data); } else { } tq->tq_credits = tq->tq_credits + 1; if (tq->tq_credits <= 0) { __mptr = (struct list_head const *)tq->tq_delayed.next; msg2 = (lnet_msg_t *)__mptr + 0xfffffffffffffff0UL; list_del(& msg2->msg_list); tmp___1 = ldv__builtin_expect((unsigned long )(msg2->msg_txpeer)->lp_ni != (unsigned long )ni, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_return_tx_credits_locked"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 989; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"msg2->msg_txpeer->lp_ni == ni"); lbug_with_loc(& __msg_data___0); } else { } tmp___2 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg2 + 64UL) == 0U, 0L); if (tmp___2 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_return_tx_credits_locked"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 990; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"msg2->msg_tx_delayed"); lbug_with_loc(& __msg_data___1); } else { } lnet_post_send_locked(msg2, 1); } else { } } else { } if ((unsigned int )*((unsigned char *)msg + 65UL) != 0U) { msg->msg_peertxcredit = 0U; tmp___3 = list_empty((struct list_head const *)(& txpeer->lp_txq)); tmp___4 = ldv__builtin_expect((long )((txpeer->lp_txcredits < 0) ^ (tmp___3 == 0)), 0L); if (tmp___4 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_return_tx_credits_locked"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 1001; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"(txpeer->lp_txcredits < 0) == !list_empty(&txpeer->lp_txq)"); lbug_with_loc(& __msg_data___2); } else { } txpeer->lp_txqnob = (long )(((unsigned long )txpeer->lp_txqnob - (unsigned long )msg->msg_len) - 72UL); tmp___5 = ldv__builtin_expect(txpeer->lp_txqnob < 0L, 0L); if (tmp___5 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___3.msg_fn = "lnet_return_tx_credits_locked"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 1004; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"txpeer->lp_txqnob >= 0"); lbug_with_loc(& __msg_data___3); } else { } txpeer->lp_txcredits = txpeer->lp_txcredits + 1; if (txpeer->lp_txcredits <= 0) { __mptr___0 = (struct list_head const *)txpeer->lp_txq.next; msg2 = (lnet_msg_t *)__mptr___0 + 0xfffffffffffffff0UL; list_del(& msg2->msg_list); tmp___6 = ldv__builtin_expect((unsigned long )msg2->msg_txpeer != (unsigned long )txpeer, 0L); if (tmp___6 != 0L) { __msg_data___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___4.msg_fn = "lnet_return_tx_credits_locked"; __msg_data___4.msg_subsys = 1024; __msg_data___4.msg_line = 1012; __msg_data___4.msg_mask = 0; __msg_data___4.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___4.msg_mask = 262144; libcfs_debug_msg(& __msg_data___4, "ASSERTION( %s ) failed: \n", (char *)"msg2->msg_txpeer == txpeer"); lbug_with_loc(& __msg_data___4); } else { } tmp___7 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg2 + 64UL) == 0U, 0L); if (tmp___7 != 0L) { __msg_data___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___5.msg_fn = "lnet_return_tx_credits_locked"; __msg_data___5.msg_subsys = 1024; __msg_data___5.msg_line = 1013; __msg_data___5.msg_mask = 0; __msg_data___5.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___5.msg_mask = 262144; libcfs_debug_msg(& __msg_data___5, "ASSERTION( %s ) failed: \n", (char *)"msg2->msg_tx_delayed"); lbug_with_loc(& __msg_data___5); } else { } lnet_post_send_locked(msg2, 1); } else { } } else { } if ((unsigned long )txpeer != (unsigned long )((lnet_peer_t *)0)) { msg->msg_txpeer = (struct lnet_peer *)0; lnet_peer_decref_locked(txpeer); } else { } return; } } void lnet_return_rx_credits_locked(lnet_msg_t *msg ) { lnet_peer_t *rxpeer ; lnet_msg_t *msg2 ; lnet_rtrbuf_t *rb ; lnet_rtrbufpool_t *rbp ; struct libcfs_debug_msg_data __msg_data ; long tmp ; lnet_kiov_t const *__mptr ; struct libcfs_debug_msg_data __msg_data___0 ; lnet_rtrbufpool_t *tmp___0 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___1 ; int tmp___2 ; long tmp___3 ; struct libcfs_debug_msg_data __msg_data___2 ; int tmp___4 ; long tmp___5 ; struct list_head const *__mptr___0 ; struct libcfs_debug_msg_data __msg_data___3 ; int tmp___6 ; long tmp___7 ; struct list_head const *__mptr___1 ; { rxpeer = msg->msg_rxpeer; if ((unsigned int )*((unsigned char *)msg + 65UL) != 0U) { tmp = ldv__builtin_expect((unsigned long )msg->msg_kiov == (unsigned long )((lnet_kiov_t *)0), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_return_rx_credits_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1039; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_kiov != ((void *)0)"); lbug_with_loc(& __msg_data); } else { } __mptr = (lnet_kiov_t const *)msg->msg_kiov; rb = (lnet_rtrbuf_t *)__mptr + 0xffffffffffffffe8UL; rbp = rb->rb_pool; tmp___0 = lnet_msg2bufpool(msg); tmp___1 = ldv__builtin_expect((unsigned long )tmp___0 != (unsigned long )rbp, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_return_rx_credits_locked"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1043; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"rbp == lnet_msg2bufpool(msg)"); lbug_with_loc(& __msg_data___0); } else { } msg->msg_kiov = (lnet_kiov_t *)0; msg->msg_rtrcredit = 0U; tmp___2 = list_empty((struct list_head const *)(& rbp->rbp_msgs)); tmp___3 = ldv__builtin_expect((long )((rbp->rbp_credits < 0) ^ (tmp___2 == 0)), 0L); if (tmp___3 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_return_rx_credits_locked"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 1049; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"(rbp->rbp_credits < 0) == !list_empty(&rbp->rbp_msgs)"); lbug_with_loc(& __msg_data___1); } else { } tmp___4 = list_empty((struct list_head const *)(& rbp->rbp_bufs)); tmp___5 = ldv__builtin_expect((long )((rbp->rbp_credits > 0) ^ (tmp___4 == 0)), 0L); if (tmp___5 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_return_rx_credits_locked"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 1051; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"(rbp->rbp_credits > 0) == !list_empty(&rbp->rbp_bufs)"); lbug_with_loc(& __msg_data___2); } else { } list_add(& rb->rb_list, & rbp->rbp_bufs); rbp->rbp_credits = rbp->rbp_credits + 1; if (rbp->rbp_credits <= 0) { __mptr___0 = (struct list_head const *)rbp->rbp_msgs.next; msg2 = (lnet_msg_t *)__mptr___0 + 0xfffffffffffffff0UL; list_del(& msg2->msg_list); lnet_post_routed_recv_locked(msg2, 1); } else { } } else { } if ((unsigned int )*((unsigned char *)msg + 65UL) != 0U) { msg->msg_peerrtrcredit = 0U; tmp___6 = list_empty((struct list_head const *)(& rxpeer->lp_rtrq)); tmp___7 = ldv__builtin_expect((long )((rxpeer->lp_rtrcredits < 0) ^ (tmp___6 == 0)), 0L); if (tmp___7 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___3.msg_fn = "lnet_return_rx_credits_locked"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 1069; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"(rxpeer->lp_rtrcredits < 0) == !list_empty(&rxpeer->lp_rtrq)"); lbug_with_loc(& __msg_data___3); } else { } rxpeer->lp_rtrcredits = rxpeer->lp_rtrcredits + 1; if (rxpeer->lp_rtrcredits <= 0) { __mptr___1 = (struct list_head const *)rxpeer->lp_rtrq.next; msg2 = (lnet_msg_t *)__mptr___1 + 0xfffffffffffffff0UL; list_del(& msg2->msg_list); lnet_post_routed_recv_locked(msg2, 1); } else { } } else { } if ((unsigned long )rxpeer != (unsigned long )((lnet_peer_t *)0)) { msg->msg_rxpeer = (struct lnet_peer *)0; lnet_peer_decref_locked(rxpeer); } else { } return; } } static int lnet_compare_routes(lnet_route_t *r1 , lnet_route_t *r2 ) { lnet_peer_t *p1 ; lnet_peer_t *p2 ; { p1 = r1->lr_gateway; p2 = r2->lr_gateway; if (r1->lr_priority < r2->lr_priority) { return (1); } else { } if (r1->lr_priority > r2->lr_priority) { return (-1); } else { } if (r1->lr_hops < r2->lr_hops) { return (1); } else { } if (r1->lr_hops > r2->lr_hops) { return (-1); } else { } if (p1->lp_txqnob < p2->lp_txqnob) { return (1); } else { } if (p1->lp_txqnob > p2->lp_txqnob) { return (-1); } else { } if (p1->lp_txcredits > p2->lp_txcredits) { return (1); } else { } if (p1->lp_txcredits < p2->lp_txcredits) { return (-1); } else { } if (r1->lr_seq - r2->lr_seq <= 0) { return (1); } else { } return (-1); } } static lnet_peer_t *lnet_find_route_locked(lnet_ni_t *ni , lnet_nid_t target , lnet_nid_t rtr_nid ) { lnet_remotenet_t *rnet ; lnet_route_t *rtr ; lnet_route_t *rtr_best ; lnet_route_t *rtr_last ; struct lnet_peer *lp_best ; struct lnet_peer *lp ; int rc ; __u32 tmp ; struct list_head const *__mptr ; struct list_head const *__mptr___0 ; { tmp = LNET_NIDNET(target); rnet = lnet_find_net_locked(tmp); if ((unsigned long )rnet == (unsigned long )((lnet_remotenet_t *)0)) { return ((lnet_peer_t *)0); } else { } lp_best = (struct lnet_peer *)0; rtr_last = (lnet_route_t *)0; rtr_best = rtr_last; __mptr = (struct list_head const *)rnet->lrn_routes.next; rtr = (lnet_route_t *)__mptr; goto ldv_51692; ldv_51691: lp = rtr->lr_gateway; if ((unsigned int )*((unsigned char *)lp + 80UL) == 0U || ((lp->lp_ping_feats & 2U) != 0U && rtr->lr_downis != 0U)) { goto ldv_51690; } else { } if ((unsigned long )ni != (unsigned long )((lnet_ni_t *)0) && (unsigned long )lp->lp_ni != (unsigned long )ni) { goto ldv_51690; } else { } if (lp->lp_nid == rtr_nid) { return (lp); } else { } if ((unsigned long )lp_best == (unsigned long )((struct lnet_peer *)0)) { rtr_last = rtr; rtr_best = rtr_last; lp_best = lp; goto ldv_51690; } else { } if (rtr_last->lr_seq - rtr->lr_seq < 0) { rtr_last = rtr; } else { } rc = lnet_compare_routes(rtr, rtr_best); if (rc < 0) { goto ldv_51690; } else { } rtr_best = rtr; lp_best = lp; ldv_51690: __mptr___0 = (struct list_head const *)rtr->lr_list.next; rtr = (lnet_route_t *)__mptr___0; ldv_51692: ; if ((unsigned long )(& rtr->lr_list) != (unsigned long )(& rnet->lrn_routes)) { goto ldv_51691; } else { } if ((unsigned long )rtr_best != (unsigned long )((lnet_route_t *)0)) { rtr_best->lr_seq = rtr_last->lr_seq + 1; } else { } return (lp_best); } } int lnet_send(lnet_nid_t src_nid , lnet_msg_t *msg , lnet_nid_t rtr_nid ) { lnet_nid_t dst_nid ; struct lnet_ni *src_ni ; struct lnet_ni *local_ni ; struct lnet_peer *lp ; int cpt ; int cpt2 ; int rc ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___3 ; lnet_ni_t *tmp___4 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp___5 ; char *tmp___6 ; int tmp___7 ; struct libcfs_debug_msg_data __msg_data___4 ; long tmp___8 ; __u32 tmp___9 ; lnet_ni_t *tmp___10 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___11 ; char *tmp___12 ; int tmp___13 ; struct libcfs_debug_msg_data __msg_data___5 ; long tmp___14 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; char *tmp___15 ; int tmp___16 ; struct libcfs_debug_msg_data __msg_data___6 ; long tmp___17 ; lnet_peer_t *tmp___18 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___2 ; char *tmp___19 ; char *tmp___20 ; int tmp___21 ; struct libcfs_debug_msg_data msgdata___3 ; char *tmp___22 ; char *tmp___23 ; char *tmp___24 ; int tmp___25 ; struct libcfs_debug_msg_data __msg_data___7 ; long tmp___26 ; struct libcfs_debug_msg_data __msg_data___8 ; long tmp___27 ; struct libcfs_debug_msg_data __msg_data___9 ; long tmp___28 ; struct libcfs_debug_msg_data __msg_data___10 ; long tmp___29 ; struct libcfs_debug_msg_data __msg_data___11 ; long tmp___30 ; { dst_nid = msg->msg_target.nid; tmp = ldv__builtin_expect((unsigned long )msg->msg_txpeer != (unsigned long )((struct lnet_peer *)0), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_send"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1197; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_txpeer == ((void *)0)"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect((int )((signed char )*((unsigned char *)msg + 64UL)) < 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_send"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1198; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_sending"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) != 0U, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_send"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 1199; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_target_is_router"); lbug_with_loc(& __msg_data___1); } else { } tmp___2 = ldv__builtin_expect((long )*((unsigned char *)msg + 65UL) & 1L, 0L); if (tmp___2 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_send"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 1200; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_receiving"); lbug_with_loc(& __msg_data___2); } else { } msg->msg_sending = 1U; tmp___3 = ldv__builtin_expect((long )*((unsigned char *)msg + 60UL) & 1L, 0L); if (tmp___3 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___3.msg_fn = "lnet_send"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 1204; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_tx_committed"); lbug_with_loc(& __msg_data___3); } else { } cpt = lnet_cpt_of_nid(rtr_nid == 0xffffffffffffffffULL ? dst_nid : rtr_nid); again: lnet_net_lock(cpt); if (the_lnet.ln_shutdown != 0) { lnet_net_unlock(cpt); return (-108); } else { } if (src_nid == 0xffffffffffffffffULL) { src_ni = (struct lnet_ni *)0; } else { tmp___4 = lnet_nid2ni_locked(src_nid, cpt); src_ni = tmp___4; if ((unsigned long )src_ni == (unsigned long )((struct lnet_ni *)0)) { lnet_net_unlock(cpt); tmp___7 = cfs_cdebug_show(33555456U, 1024U); if (tmp___7 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "lnet_send"; msgdata.msg_line = 1222; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 33555456; tmp___5 = libcfs_nid2str(src_nid); tmp___6 = libcfs_nid2str(dst_nid); libcfs_debug_msg(& msgdata, "Can\'t send to %s: src %s is not a local nid\n", tmp___6, tmp___5); } else { } return (-22); } else { } tmp___8 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) != 0U, 0L); if (tmp___8 != 0L) { __msg_data___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___4.msg_fn = "lnet_send"; __msg_data___4.msg_subsys = 1024; __msg_data___4.msg_line = 1225; __msg_data___4.msg_mask = 0; __msg_data___4.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___4.msg_mask = 262144; libcfs_debug_msg(& __msg_data___4, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_routing"); lbug_with_loc(& __msg_data___4); } else { } } tmp___9 = LNET_NIDNET(dst_nid); tmp___10 = lnet_net2ni_locked(tmp___9, cpt); local_ni = tmp___10; if ((unsigned long )local_ni != (unsigned long )((struct lnet_ni *)0)) { if ((unsigned long )src_ni == (unsigned long )((struct lnet_ni *)0)) { src_ni = local_ni; src_nid = src_ni->ni_nid; } else if ((unsigned long )src_ni == (unsigned long )local_ni) { lnet_ni_decref_locked(local_ni, cpt); } else { lnet_ni_decref_locked(local_ni, cpt); lnet_ni_decref_locked(src_ni, cpt); lnet_net_unlock(cpt); tmp___13 = cfs_cdebug_show(33555456U, 1024U); if (tmp___13 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___0.msg_fn = "lnet_send"; msgdata___0.msg_line = 1243; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 33555456; tmp___11 = libcfs_nid2str(src_nid); tmp___12 = libcfs_nid2str(dst_nid); libcfs_debug_msg(& msgdata___0, "No route to %s via from %s\n", tmp___12, tmp___11); } else { } return (-22); } tmp___14 = ldv__builtin_expect(src_nid == 0xffffffffffffffffULL, 0L); if (tmp___14 != 0L) { __msg_data___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___5.msg_fn = "lnet_send"; __msg_data___5.msg_subsys = 1024; __msg_data___5.msg_line = 1247; __msg_data___5.msg_mask = 0; __msg_data___5.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___5.msg_mask = 262144; libcfs_debug_msg(& __msg_data___5, "ASSERTION( %s ) failed: \n", (char *)"src_nid != ((lnet_nid_t) -1)"); lbug_with_loc(& __msg_data___5); } else { } lnet_msg_commit(msg, cpt); if ((unsigned int )*((unsigned char *)msg + 64UL) == 0U) { msg->msg_hdr.src_nid = src_nid; } else { } if ((unsigned long )the_lnet.ln_loni == (unsigned long )src_ni) { lnet_net_unlock(cpt); lnet_ni_send(src_ni, msg); lnet_net_lock(cpt); lnet_ni_decref_locked(src_ni, cpt); lnet_net_unlock(cpt); return (0); } else { } rc = lnet_nid2peer_locked(& lp, dst_nid, cpt); lnet_ni_decref_locked(src_ni, cpt); if (rc != 0) { lnet_net_unlock(cpt); tmp___16 = cfs_cdebug_show(33555456U, 1024U); if (tmp___16 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___1.msg_fn = "lnet_send"; msgdata___1.msg_line = 1270; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 33555456; tmp___15 = libcfs_nid2str(dst_nid); libcfs_debug_msg(& msgdata___1, "Error %d finding peer %s\n", rc, tmp___15); } else { } return (rc); } else { } tmp___17 = ldv__builtin_expect((unsigned long )lp->lp_ni != (unsigned long )src_ni, 0L); if (tmp___17 != 0L) { __msg_data___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___6.msg_fn = "lnet_send"; __msg_data___6.msg_subsys = 1024; __msg_data___6.msg_line = 1274; __msg_data___6.msg_mask = 0; __msg_data___6.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___6.msg_mask = 262144; libcfs_debug_msg(& __msg_data___6, "ASSERTION( %s ) failed: \n", (char *)"lp->lp_ni == src_ni"); lbug_with_loc(& __msg_data___6); } else { } } else { tmp___18 = lnet_find_route_locked(src_ni, dst_nid, rtr_nid); lp = tmp___18; if ((unsigned long )lp == (unsigned long )((struct lnet_peer *)0)) { if ((unsigned long )src_ni != (unsigned long )((struct lnet_ni *)0)) { lnet_ni_decref_locked(src_ni, cpt); } else { } lnet_net_unlock(cpt); tmp___21 = cfs_cdebug_show(33555456U, 1024U); if (tmp___21 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___2.msg_fn = "lnet_send"; msgdata___2.msg_line = 1285; msgdata___2.msg_cdls = & cdls___2; msgdata___2.msg_mask = 33555456; tmp___19 = libcfs_nid2str(src_nid); tmp___20 = libcfs_id2str(msg->msg_target); libcfs_debug_msg(& msgdata___2, "No route to %s via %s (all routers down)\n", tmp___20, tmp___19); } else { } return (-113); } else { } if (lp->lp_nid != rtr_nid) { cpt2 = lnet_cpt_of_nid_locked(lp->lp_nid); if (cpt2 != cpt) { if ((unsigned long )src_ni != (unsigned long )((struct lnet_ni *)0)) { lnet_ni_decref_locked(src_ni, cpt); } else { } lnet_net_unlock(cpt); rtr_nid = lp->lp_nid; cpt = cpt2; goto again; } else { } } else { } tmp___25 = cfs_cdebug_show(512U, 1024U); if (tmp___25 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___3.msg_fn = "lnet_send"; msgdata___3.msg_line = 1308; msgdata___3.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___3.msg_mask = 512; tmp___22 = lnet_msgtyp2str((int )msg->msg_type); tmp___23 = libcfs_nid2str(lp->lp_nid); tmp___24 = libcfs_nid2str(dst_nid); libcfs_debug_msg(& msgdata___3, "Best route to %s via %s for %s %d\n", tmp___24, tmp___23, tmp___22, msg->msg_len); } else { } if ((unsigned long )src_ni == (unsigned long )((struct lnet_ni *)0)) { src_ni = lp->lp_ni; src_nid = src_ni->ni_nid; } else { tmp___26 = ldv__builtin_expect((unsigned long )lp->lp_ni != (unsigned long )src_ni, 0L); if (tmp___26 != 0L) { __msg_data___7.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___7.msg_fn = "lnet_send"; __msg_data___7.msg_subsys = 1024; __msg_data___7.msg_line = 1314; __msg_data___7.msg_mask = 0; __msg_data___7.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___7.msg_mask = 262144; libcfs_debug_msg(& __msg_data___7, "ASSERTION( %s ) failed: \n", (char *)"src_ni == lp->lp_ni"); lbug_with_loc(& __msg_data___7); } else { } lnet_ni_decref_locked(src_ni, cpt); } lnet_peer_addref_locked(lp); tmp___27 = ldv__builtin_expect(src_nid == 0xffffffffffffffffULL, 0L); if (tmp___27 != 0L) { __msg_data___8.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___8.msg_fn = "lnet_send"; __msg_data___8.msg_subsys = 1024; __msg_data___8.msg_line = 1320; __msg_data___8.msg_mask = 0; __msg_data___8.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___8.msg_mask = 262144; libcfs_debug_msg(& __msg_data___8, "ASSERTION( %s ) failed: \n", (char *)"src_nid != ((lnet_nid_t) -1)"); lbug_with_loc(& __msg_data___8); } else { } lnet_msg_commit(msg, cpt); if ((unsigned int )*((unsigned char *)msg + 64UL) == 0U) { msg->msg_hdr.src_nid = src_nid; } else { } msg->msg_target_is_router = 1U; msg->msg_target.nid = lp->lp_nid; msg->msg_target.pid = 12345U; } tmp___28 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 65UL) != 0U, 0L); if (tmp___28 != 0L) { __msg_data___9.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___9.msg_fn = "lnet_send"; __msg_data___9.msg_subsys = 1024; __msg_data___9.msg_line = 1335; __msg_data___9.msg_mask = 0; __msg_data___9.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___9.msg_mask = 262144; libcfs_debug_msg(& __msg_data___9, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_peertxcredit"); lbug_with_loc(& __msg_data___9); } else { } tmp___29 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 65UL) != 0U, 0L); if (tmp___29 != 0L) { __msg_data___10.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___10.msg_fn = "lnet_send"; __msg_data___10.msg_subsys = 1024; __msg_data___10.msg_line = 1336; __msg_data___10.msg_mask = 0; __msg_data___10.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___10.msg_mask = 262144; libcfs_debug_msg(& __msg_data___10, "ASSERTION( %s ) failed: \n", (char *)"!msg->msg_txcredit"); lbug_with_loc(& __msg_data___10); } else { } tmp___30 = ldv__builtin_expect((unsigned long )msg->msg_txpeer != (unsigned long )((struct lnet_peer *)0), 0L); if (tmp___30 != 0L) { __msg_data___11.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___11.msg_fn = "lnet_send"; __msg_data___11.msg_subsys = 1024; __msg_data___11.msg_line = 1337; __msg_data___11.msg_mask = 0; __msg_data___11.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___11.msg_mask = 262144; libcfs_debug_msg(& __msg_data___11, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_txpeer == ((void *)0)"); lbug_with_loc(& __msg_data___11); } else { } msg->msg_txpeer = lp; rc = lnet_post_send_locked(msg, 0); lnet_net_unlock(cpt); if (rc == 113 || rc == 125) { return (- rc); } else { } if (rc == 0) { lnet_ni_send(src_ni, msg); } else { } return (0); } } static void lnet_drop_message(lnet_ni_t *ni , int cpt , void *private , unsigned int nob ) { { lnet_net_lock(cpt); (*(the_lnet.ln_counters + (unsigned long )cpt))->drop_count = (*(the_lnet.ln_counters + (unsigned long )cpt))->drop_count + 1U; (*(the_lnet.ln_counters + (unsigned long )cpt))->drop_length = (*(the_lnet.ln_counters + (unsigned long )cpt))->drop_length + (__u64 )nob; lnet_net_unlock(cpt); lnet_ni_recv(ni, private, (lnet_msg_t *)0, 0, 0U, 0U, nob); return; } } static void lnet_recv_put(lnet_ni_t *ni , lnet_msg_t *msg ) { lnet_hdr_t *hdr ; int tmp ; { hdr = & msg->msg_hdr; if (msg->msg_wanted != 0U) { lnet_setpayloadbuffer(msg); } else { } lnet_build_msg_event(msg, 2); tmp = lnet_is_wire_handle_none(& hdr->msg.put.ack_wmd); msg->msg_ack = (unsigned char )(tmp == 0 && ((msg->msg_md)->md_options & 32U) == 0U); lnet_ni_recv(ni, msg->msg_private, msg, (int )msg->msg_rx_delayed, msg->msg_offset, msg->msg_wanted, hdr->payload_length); return; } } static int lnet_parse_put(lnet_ni_t *ni , lnet_msg_t *msg ) { lnet_hdr_t *hdr ; struct lnet_match_info info ; int rc ; struct libcfs_debug_msg_data msgdata ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp ; int tmp___0 ; { hdr = & msg->msg_hdr; hdr->msg.put.match_bits = hdr->msg.put.match_bits; hdr->msg.put.ptl_index = hdr->msg.put.ptl_index; hdr->msg.put.offset = hdr->msg.put.offset; info.mi_id.nid = hdr->src_nid; info.mi_id.pid = hdr->src_pid; info.mi_opc = 1U; info.mi_portal = hdr->msg.put.ptl_index; info.mi_rlength = hdr->payload_length; info.mi_roffset = hdr->msg.put.offset; info.mi_mbits = hdr->msg.put.match_bits; msg->msg_rx_ready_delay = (unsigned long )(ni->ni_lnd)->lnd_eager_recv == (unsigned long )((int (*)(struct lnet_ni * , void * , lnet_msg_t * , void ** ))0); again: rc = lnet_ptl_match_md(& info, msg); switch (rc) { default: msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "lnet_parse_put"; msgdata.msg_subsys = 1024; msgdata.msg_line = 1409; msgdata.msg_mask = 0; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 262144; lbug_with_loc(& msgdata); case 2: lnet_recv_put(ni, msg); return (0); case 1: ; if ((unsigned int )*((unsigned char *)msg + 64UL) != 0U) { return (0); } else { } rc = lnet_ni_eager_recv(ni, msg); if (rc == 0) { goto again; } else { } case 4: tmp___0 = cfs_cdebug_show(256U, 1024U); if (tmp___0 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___0.msg_fn = "lnet_parse_put"; msgdata___0.msg_line = 1427; msgdata___0.msg_cdls = & cdls; msgdata___0.msg_mask = 256; tmp = libcfs_id2str(info.mi_id); libcfs_debug_msg(& msgdata___0, "Dropping PUT from %s portal %d match %llu offset %d length %d: %d\n", tmp, info.mi_portal, info.mi_mbits, info.mi_roffset, info.mi_rlength, rc); } else { } return (2); } } } static int lnet_parse_get(lnet_ni_t *ni , lnet_msg_t *msg , int rdma_get ) { struct lnet_match_info info ; lnet_hdr_t *hdr ; lnet_handle_wire_t reply_wmd ; int rc ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp ; int tmp___0 ; struct libcfs_debug_msg_data __msg_data ; long tmp___1 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___2 ; char *tmp___3 ; int tmp___4 ; { hdr = & msg->msg_hdr; hdr->msg.get.match_bits = hdr->msg.get.match_bits; hdr->msg.get.ptl_index = hdr->msg.get.ptl_index; hdr->msg.get.sink_length = hdr->msg.get.sink_length; hdr->msg.get.src_offset = hdr->msg.get.src_offset; info.mi_id.nid = hdr->src_nid; info.mi_id.pid = hdr->src_pid; info.mi_opc = 2U; info.mi_portal = hdr->msg.get.ptl_index; info.mi_rlength = hdr->msg.get.sink_length; info.mi_roffset = hdr->msg.get.src_offset; info.mi_mbits = hdr->msg.get.match_bits; rc = lnet_ptl_match_md(& info, msg); if (rc == 4) { tmp___0 = cfs_cdebug_show(256U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "lnet_parse_get"; msgdata.msg_line = 1459; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 256; tmp = libcfs_id2str(info.mi_id); libcfs_debug_msg(& msgdata, "Dropping GET from %s portal %d match %llu offset %d length %d\n", tmp, info.mi_portal, info.mi_mbits, info.mi_roffset, info.mi_rlength); } else { } return (2); } else { } tmp___1 = ldv__builtin_expect(rc != 2, 0L); if (tmp___1 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_parse_get"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1463; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"rc == LNET_MATCHMD_OK"); lbug_with_loc(& __msg_data); } else { } lnet_build_msg_event(msg, 1); reply_wmd = hdr->msg.get.return_wmd; lnet_prep_send(msg, 3, info.mi_id, msg->msg_offset, msg->msg_wanted); msg->msg_hdr.msg.reply.dst_wmd = reply_wmd; if (rdma_get != 0) { lnet_ni_recv(ni, msg->msg_private, msg, 0, msg->msg_offset, msg->msg_len, msg->msg_len); return (0); } else { } lnet_ni_recv(ni, msg->msg_private, (lnet_msg_t *)0, 0, 0U, 0U, 0U); msg->msg_receiving = 0U; rc = lnet_send(ni->ni_nid, msg, 0xffffffffffffffffULL); if (rc < 0) { tmp___4 = cfs_cdebug_show(131072U, 1024U); if (tmp___4 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___0.msg_fn = "lnet_parse_get"; msgdata___0.msg_line = 1489; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___2 = libcfs_id2str(info.mi_id); tmp___3 = libcfs_nid2str(ni->ni_nid); libcfs_debug_msg(& msgdata___0, "%s: Unable to send REPLY for GET from %s: %d\n", tmp___3, tmp___2, rc); } else { } lnet_finalize(ni, msg, rc); } else { } return (0); } } static int lnet_parse_reply(lnet_ni_t *ni , lnet_msg_t *msg ) { void *private ; lnet_hdr_t *hdr ; lnet_process_id_t src ; lnet_libmd_t *md ; int rlength ; int mlength ; int cpt ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp ; char *tmp___0 ; int tmp___1 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___2 ; struct libcfs_debug_msg_data __msg_data ; long tmp___3 ; uint __min1 ; uint __min2 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; char *tmp___4 ; char *tmp___5 ; int tmp___6 ; struct libcfs_debug_msg_data msgdata___2 ; char *tmp___7 ; char *tmp___8 ; int tmp___9 ; { private = msg->msg_private; hdr = & msg->msg_hdr; src.nid = 0ULL; src.pid = 0U; cpt = lnet_cpt_of_cookie(hdr->msg.reply.dst_wmd.wh_object_cookie); lnet_res_lock(cpt); src.nid = hdr->src_nid; src.pid = hdr->src_pid; md = lnet_wire_handle2md(& hdr->msg.reply.dst_wmd); if (((unsigned long )md == (unsigned long )((lnet_libmd_t *)0) || md->md_threshold == 0) || (unsigned long )md->md_me != (unsigned long )((lnet_me_t *)0)) { tmp___1 = cfs_cdebug_show(256U, 1024U); if (tmp___1 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "lnet_parse_reply"; msgdata.msg_line = 1521; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 256; tmp = libcfs_id2str(src); tmp___0 = libcfs_nid2str(ni->ni_nid); libcfs_debug_msg(& msgdata, "%s: Dropping REPLY from %s for %s MD %#llx.%#llx\n", tmp___0, tmp, (unsigned long )md == (unsigned long )((lnet_libmd_t *)0) ? (char *)"invalid" : (char *)"inactive", hdr->msg.reply.dst_wmd.wh_interface_cookie, hdr->msg.reply.dst_wmd.wh_object_cookie); } else { } if ((unsigned long )md != (unsigned long )((lnet_libmd_t *)0) && (unsigned long )md->md_me != (unsigned long )((lnet_me_t *)0)) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___0.msg_fn = "lnet_parse_reply"; msgdata___0.msg_line = 1524; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "REPLY MD also attached to portal %d\n", (md->md_me)->me_portal); } else { } } else { } lnet_res_unlock(cpt); return (2); } else { } tmp___3 = ldv__builtin_expect(md->md_offset != 0U, 0L); if (tmp___3 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_parse_reply"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1530; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"md->md_offset == 0"); lbug_with_loc(& __msg_data); } else { } rlength = (int )hdr->payload_length; __min1 = (uint )rlength; __min2 = md->md_length; mlength = (int )(__min1 < __min2 ? __min1 : __min2); if (mlength < rlength && (md->md_options & 16U) == 0U) { tmp___6 = cfs_cdebug_show(256U, 1024U); if (tmp___6 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___1.msg_fn = "lnet_parse_reply"; msgdata___1.msg_line = 1540; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 256; tmp___4 = libcfs_id2str(src); tmp___5 = libcfs_nid2str(ni->ni_nid); libcfs_debug_msg(& msgdata___1, "%s: Dropping REPLY from %s length %d for MD %#llx would overflow (%d)\n", tmp___5, tmp___4, rlength, hdr->msg.reply.dst_wmd.wh_object_cookie, mlength); } else { } lnet_res_unlock(cpt); return (2); } else { } tmp___9 = cfs_cdebug_show(512U, 1024U); if (tmp___9 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___2.msg_fn = "lnet_parse_reply"; msgdata___2.msg_line = 1547; msgdata___2.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___2.msg_mask = 512; tmp___7 = libcfs_id2str(src); tmp___8 = libcfs_nid2str(ni->ni_nid); libcfs_debug_msg(& msgdata___2, "%s: Reply from %s of length %d/%d into md %#llx\n", tmp___8, tmp___7, mlength, rlength, hdr->msg.reply.dst_wmd.wh_object_cookie); } else { } lnet_msg_attach_md(msg, md, 0U, (unsigned int )mlength); if (mlength != 0) { lnet_setpayloadbuffer(msg); } else { } lnet_res_unlock(cpt); lnet_build_msg_event(msg, 3); lnet_ni_recv(ni, private, msg, 0, 0U, (unsigned int )mlength, (unsigned int )rlength); return (0); } } static int lnet_parse_ack(lnet_ni_t *ni , lnet_msg_t *msg ) { lnet_hdr_t *hdr ; lnet_process_id_t src ; lnet_libmd_t *md ; int cpt ; struct libcfs_debug_msg_data msgdata ; char *tmp ; char *tmp___0 ; int tmp___1 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___2 ; struct libcfs_debug_msg_data msgdata___1 ; char *tmp___3 ; char *tmp___4 ; int tmp___5 ; { hdr = & msg->msg_hdr; src.nid = 0ULL; src.pid = 0U; src.nid = hdr->src_nid; src.pid = hdr->src_pid; hdr->msg.ack.match_bits = hdr->msg.ack.match_bits; hdr->msg.ack.mlength = hdr->msg.ack.mlength; cpt = lnet_cpt_of_cookie(hdr->msg.ack.dst_wmd.wh_object_cookie); lnet_res_lock(cpt); md = lnet_wire_handle2md(& hdr->msg.ack.dst_wmd); if (((unsigned long )md == (unsigned long )((lnet_libmd_t *)0) || md->md_threshold == 0) || (unsigned long )md->md_me != (unsigned long )((lnet_me_t *)0)) { tmp___1 = cfs_cdebug_show(512U, 1024U); if (tmp___1 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "lnet_parse_ack"; msgdata.msg_line = 1589; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; tmp = libcfs_id2str(src); tmp___0 = libcfs_nid2str(ni->ni_nid); libcfs_debug_msg(& msgdata, "%s: Dropping ACK from %s to %s MD %#llx.%#llx\n", tmp___0, tmp, (unsigned long )md == (unsigned long )((lnet_libmd_t *)0) ? (char *)"invalid" : (char *)"inactive", hdr->msg.ack.dst_wmd.wh_interface_cookie, hdr->msg.ack.dst_wmd.wh_object_cookie); } else { } if ((unsigned long )md != (unsigned long )((lnet_libmd_t *)0) && (unsigned long )md->md_me != (unsigned long )((lnet_me_t *)0)) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___0.msg_fn = "lnet_parse_ack"; msgdata___0.msg_line = 1592; msgdata___0.msg_cdls = & cdls; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "Source MD also attached to portal %d\n", (md->md_me)->me_portal); } else { } } else { } lnet_res_unlock(cpt); return (2); } else { } tmp___5 = cfs_cdebug_show(512U, 1024U); if (tmp___5 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___1.msg_fn = "lnet_parse_ack"; msgdata___1.msg_line = 1600; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 512; tmp___3 = libcfs_id2str(src); tmp___4 = libcfs_nid2str(ni->ni_nid); libcfs_debug_msg(& msgdata___1, "%s: ACK from %s into md %#llx\n", tmp___4, tmp___3, hdr->msg.ack.dst_wmd.wh_object_cookie); } else { } lnet_msg_attach_md(msg, md, 0U, 0U); lnet_res_unlock(cpt); lnet_build_msg_event(msg, 4); lnet_ni_recv(ni, msg->msg_private, msg, 0, 0U, 0U, msg->msg_len); return (0); } } static int lnet_parse_forward_locked(lnet_ni_t *ni , lnet_msg_t *msg ) { int rc ; lnet_rtrbufpool_t *tmp ; { rc = 0; if ((msg->msg_rxpeer)->lp_rtrcredits <= 0) { goto _L; } else { tmp = lnet_msg2bufpool(msg); if (tmp->rbp_credits <= 0) { _L: /* CIL Label */ if ((unsigned long )(ni->ni_lnd)->lnd_eager_recv == (unsigned long )((int (*)(struct lnet_ni * , void * , lnet_msg_t * , void ** ))0)) { msg->msg_rx_ready_delay = 1U; } else { lnet_net_unlock((int )msg->msg_rx_cpt); rc = lnet_ni_eager_recv(ni, msg); lnet_net_lock((int )msg->msg_rx_cpt); } } else { } } if (rc == 0) { rc = lnet_post_routed_recv_locked(msg, 0); } else { } return (rc); } } char *lnet_msgtyp2str(int type ) { { switch (type) { case 0: ; return ((char *)"ACK"); case 1: ; return ((char *)"PUT"); case 2: ; return ((char *)"GET"); case 3: ; return ((char *)"REPLY"); case 4: ; return ((char *)"HELLO"); default: ; return ((char *)""); } } } static char const __kstrtab_lnet_msgtyp2str[16U] = { 'l', 'n', 'e', 't', '_', 'm', 's', 'g', 't', 'y', 'p', '2', 's', 't', 'r', '\000'}; struct kernel_symbol const __ksymtab_lnet_msgtyp2str ; struct kernel_symbol const __ksymtab_lnet_msgtyp2str = {(unsigned long )(& lnet_msgtyp2str), (char const *)(& __kstrtab_lnet_msgtyp2str)}; void lnet_print_hdr(lnet_hdr_t *hdr ) { lnet_process_id_t src ; lnet_process_id_t dst ; char *type_str ; char *tmp ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___1 ; int tmp___2 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; char *tmp___3 ; int tmp___4 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___5 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___6 ; struct cfs_debug_limit_state cdls___4 ; struct libcfs_debug_msg_data msgdata___4 ; int tmp___7 ; struct cfs_debug_limit_state cdls___5 ; struct libcfs_debug_msg_data msgdata___5 ; int tmp___8 ; struct cfs_debug_limit_state cdls___6 ; struct libcfs_debug_msg_data msgdata___6 ; int tmp___9 ; struct cfs_debug_limit_state cdls___7 ; struct libcfs_debug_msg_data msgdata___7 ; int tmp___10 ; { src.nid = 0ULL; src.pid = 0U; dst.nid = 0ULL; dst.pid = 0U; tmp = lnet_msgtyp2str((int )hdr->type); type_str = tmp; src.nid = hdr->src_nid; src.pid = hdr->src_pid; dst.nid = hdr->dest_nid; dst.pid = hdr->dest_pid; tmp___0 = cfs_cdebug_show(1024U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "lnet_print_hdr"; msgdata.msg_line = 1666; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 1024; libcfs_debug_msg(& msgdata, "P3 Header at %p of type %s\n", hdr, type_str); } else { } tmp___2 = cfs_cdebug_show(1024U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___0.msg_fn = "lnet_print_hdr"; msgdata___0.msg_line = 1667; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 1024; tmp___1 = libcfs_id2str(src); libcfs_debug_msg(& msgdata___0, " From %s\n", tmp___1); } else { } tmp___4 = cfs_cdebug_show(1024U, 1024U); if (tmp___4 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___1.msg_fn = "lnet_print_hdr"; msgdata___1.msg_line = 1668; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 1024; tmp___3 = libcfs_id2str(dst); libcfs_debug_msg(& msgdata___1, " To %s\n", tmp___3); } else { } switch (hdr->type) { default: ; goto ldv_51843; case 1U: tmp___5 = cfs_cdebug_show(1024U, 1024U); if (tmp___5 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___2.msg_fn = "lnet_print_hdr"; msgdata___2.msg_line = 1679; msgdata___2.msg_cdls = & cdls___2; msgdata___2.msg_mask = 1024; libcfs_debug_msg(& msgdata___2, " Ptl index %d, ack md %#llx.%#llx, match bits %llu\n", hdr->msg.put.ptl_index, hdr->msg.put.ack_wmd.wh_interface_cookie, hdr->msg.put.ack_wmd.wh_object_cookie, hdr->msg.put.match_bits); } else { } tmp___6 = cfs_cdebug_show(1024U, 1024U); if (tmp___6 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___3.msg_fn = "lnet_print_hdr"; msgdata___3.msg_line = 1682; msgdata___3.msg_cdls = & cdls___3; msgdata___3.msg_mask = 1024; libcfs_debug_msg(& msgdata___3, " Length %d, offset %d, hdr data %#llx\n", hdr->payload_length, hdr->msg.put.offset, hdr->msg.put.hdr_data); } else { } goto ldv_51843; case 2U: tmp___7 = cfs_cdebug_show(1024U, 1024U); if (tmp___7 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___4.msg_fn = "lnet_print_hdr"; msgdata___4.msg_line = 1690; msgdata___4.msg_cdls = & cdls___4; msgdata___4.msg_mask = 1024; libcfs_debug_msg(& msgdata___4, " Ptl index %d, return md %#llx.%#llx, match bits %llu\n", hdr->msg.get.ptl_index, hdr->msg.get.return_wmd.wh_interface_cookie, hdr->msg.get.return_wmd.wh_object_cookie, hdr->msg.get.match_bits); } else { } tmp___8 = cfs_cdebug_show(1024U, 1024U); if (tmp___8 != 0) { msgdata___5.msg_subsys = 1024; msgdata___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___5.msg_fn = "lnet_print_hdr"; msgdata___5.msg_line = 1693; msgdata___5.msg_cdls = & cdls___5; msgdata___5.msg_mask = 1024; libcfs_debug_msg(& msgdata___5, " Length %d, src offset %d\n", hdr->msg.get.sink_length, hdr->msg.get.src_offset); } else { } goto ldv_51843; case 0U: tmp___9 = cfs_cdebug_show(1024U, 1024U); if (tmp___9 != 0) { msgdata___6.msg_subsys = 1024; msgdata___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___6.msg_fn = "lnet_print_hdr"; msgdata___6.msg_line = 1700; msgdata___6.msg_cdls = & cdls___6; msgdata___6.msg_mask = 1024; libcfs_debug_msg(& msgdata___6, " dst md %#llx.%#llx, manipulated length %d\n", hdr->msg.ack.dst_wmd.wh_interface_cookie, hdr->msg.ack.dst_wmd.wh_object_cookie, hdr->msg.ack.mlength); } else { } goto ldv_51843; case 3U: tmp___10 = cfs_cdebug_show(1024U, 1024U); if (tmp___10 != 0) { msgdata___7.msg_subsys = 1024; msgdata___7.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___7.msg_fn = "lnet_print_hdr"; msgdata___7.msg_line = 1707; msgdata___7.msg_cdls = & cdls___7; msgdata___7.msg_mask = 1024; libcfs_debug_msg(& msgdata___7, " dst md %#llx.%#llx, length %d\n", hdr->msg.reply.dst_wmd.wh_interface_cookie, hdr->msg.reply.dst_wmd.wh_object_cookie, hdr->payload_length); } else { } } ldv_51843: ; return; } } int lnet_parse(lnet_ni_t *ni , lnet_hdr_t *hdr , lnet_nid_t from_nid , void *private , int rdma_req ) { int rc ; int cpt ; int for_me ; struct lnet_msg *msg ; lnet_pid_t dest_pid ; lnet_nid_t dest_nid ; lnet_nid_t src_nid ; __u32 payload_length ; __u32 type ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp___1 ; char *tmp___2 ; char *tmp___3 ; int tmp___4 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___5 ; char *tmp___6 ; char *tmp___7 ; int tmp___8 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; char *tmp___9 ; char *tmp___10 ; int tmp___11 ; unsigned long tmp___12 ; unsigned long tmp___13 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___2 ; char *tmp___14 ; char *tmp___15 ; char *tmp___16 ; int tmp___17 ; __u32 tmp___18 ; __u32 tmp___19 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___3 ; char *tmp___20 ; char *tmp___21 ; char *tmp___22 ; int tmp___23 ; int tmp___24 ; struct cfs_debug_limit_state cdls___4 ; struct libcfs_debug_msg_data msgdata___4 ; char *tmp___25 ; char *tmp___26 ; char *tmp___27 ; int tmp___28 ; struct cfs_debug_limit_state cdls___5 ; struct libcfs_debug_msg_data msgdata___5 ; char *tmp___29 ; char *tmp___30 ; char *tmp___31 ; int tmp___32 ; struct cfs_debug_limit_state cdls___6 ; struct libcfs_debug_msg_data msgdata___6 ; char *tmp___33 ; char *tmp___34 ; char *tmp___35 ; int tmp___36 ; int tmp___37 ; int tmp___38 ; lnet_msg_t *tmp___39 ; struct cfs_debug_limit_state cdls___7 ; struct libcfs_debug_msg_data msgdata___7 ; char *tmp___40 ; char *tmp___41 ; char *tmp___42 ; int tmp___43 ; unsigned int tmp___44 ; struct cfs_debug_limit_state cdls___8 ; struct libcfs_debug_msg_data msgdata___8 ; char *tmp___45 ; char *tmp___46 ; char *tmp___47 ; int tmp___48 ; __u32 tmp___49 ; __u32 tmp___50 ; __u32 tmp___51 ; int tmp___52 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___53 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___54 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___55 ; { rc = 0; tmp = preempt_count(); tmp___0 = ldv__builtin_expect(((unsigned long )tmp & 2096896UL) != 0UL, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_parse"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1726; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4)))))"); lbug_with_loc(& __msg_data); } else { } type = hdr->type; src_nid = hdr->src_nid; dest_nid = hdr->dest_nid; dest_pid = hdr->dest_pid; payload_length = hdr->payload_length; for_me = ni->ni_nid == dest_nid; cpt = lnet_cpt_of_nid(from_nid); switch (type) { case 0U: ; case 2U: ; if (payload_length != 0U) { tmp___4 = cfs_cdebug_show(131072U, 1024U); if (tmp___4 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "lnet_parse"; msgdata.msg_line = 1744; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; tmp___1 = lnet_msgtyp2str((int )type); tmp___2 = libcfs_nid2str(src_nid); tmp___3 = libcfs_nid2str(from_nid); libcfs_debug_msg(& msgdata, "%s, src %s: bad %s payload %d (0 expected)\n", tmp___3, tmp___2, tmp___1, payload_length); } else { } return (-71); } else { } goto ldv_51882; case 1U: ; case 3U: ; if (payload_length > 1048576U) { tmp___8 = cfs_cdebug_show(131072U, 1024U); if (tmp___8 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___0.msg_fn = "lnet_parse"; msgdata___0.msg_line = 1758; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___5 = lnet_msgtyp2str((int )type); tmp___6 = libcfs_nid2str(src_nid); tmp___7 = libcfs_nid2str(from_nid); libcfs_debug_msg(& msgdata___0, "%s, src %s: bad %s payload %d (%d max expected)\n", tmp___7, tmp___6, tmp___5, payload_length, 1048576); } else { } return (-71); } else { } goto ldv_51882; default: tmp___11 = cfs_cdebug_show(131072U, 1024U); if (tmp___11 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___1.msg_fn = "lnet_parse"; msgdata___1.msg_line = 1766; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 131072; tmp___9 = libcfs_nid2str(src_nid); tmp___10 = libcfs_nid2str(from_nid); libcfs_debug_msg(& msgdata___1, "%s, src %s: Bad message type 0x%x\n", tmp___10, tmp___9, type); } else { } return (-71); } ldv_51882: ; if (the_lnet.ln_routing != 0) { tmp___13 = get_seconds(); if ((unsigned long )ni->ni_last_alive != tmp___13) { spin_lock(& ni->ni_lock); tmp___12 = get_seconds(); ni->ni_last_alive = (long )tmp___12; if ((unsigned long )ni->ni_status != (unsigned long )((lnet_ni_status_t *)0) && (ni->ni_status)->ns_status == 3735943886U) { (ni->ni_status)->ns_status = 363512030U; } else { } spin_unlock(& ni->ni_lock); } else { } } else { } if (for_me == 0) { tmp___18 = LNET_NIDNET(dest_nid); tmp___19 = LNET_NIDNET(ni->ni_nid); if (tmp___18 == tmp___19) { tmp___17 = cfs_cdebug_show(131072U, 1024U); if (tmp___17 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___2.msg_fn = "lnet_parse"; msgdata___2.msg_line = 1792; msgdata___2.msg_cdls = & cdls___2; msgdata___2.msg_mask = 131072; tmp___14 = libcfs_nid2str(dest_nid); tmp___15 = libcfs_nid2str(src_nid); tmp___16 = libcfs_nid2str(from_nid); libcfs_debug_msg(& msgdata___2, "%s, src %s: Bad dest nid %s (should have been sent direct)\n", tmp___16, tmp___15, tmp___14); } else { } return (-71); } else { } tmp___24 = lnet_islocalnid(dest_nid); if (tmp___24 != 0) { tmp___23 = cfs_cdebug_show(131072U, 1024U); if (tmp___23 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___3.msg_fn = "lnet_parse"; msgdata___3.msg_line = 1802; msgdata___3.msg_cdls = & cdls___3; msgdata___3.msg_mask = 131072; tmp___20 = libcfs_nid2str(dest_nid); tmp___21 = libcfs_nid2str(src_nid); tmp___22 = libcfs_nid2str(from_nid); libcfs_debug_msg(& msgdata___3, "%s, src %s: Bad dest nid %s (it\'s my nid but on a different network)\n", tmp___22, tmp___21, tmp___20); } else { } return (-71); } else { } if (rdma_req != 0 && type == 2U) { tmp___28 = cfs_cdebug_show(131072U, 1024U); if (tmp___28 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___4.msg_fn = "lnet_parse"; msgdata___4.msg_line = 1810; msgdata___4.msg_cdls = & cdls___4; msgdata___4.msg_mask = 131072; tmp___25 = libcfs_nid2str(dest_nid); tmp___26 = libcfs_nid2str(src_nid); tmp___27 = libcfs_nid2str(from_nid); libcfs_debug_msg(& msgdata___4, "%s, src %s: Bad optimized GET for %s (final destination must be me)\n", tmp___27, tmp___26, tmp___25); } else { } return (-71); } else { } if (the_lnet.ln_routing == 0) { tmp___32 = cfs_cdebug_show(131072U, 1024U); if (tmp___32 != 0) { msgdata___5.msg_subsys = 1024; msgdata___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___5.msg_fn = "lnet_parse"; msgdata___5.msg_line = 1818; msgdata___5.msg_cdls = & cdls___5; msgdata___5.msg_mask = 131072; tmp___29 = libcfs_nid2str(dest_nid); tmp___30 = libcfs_nid2str(src_nid); tmp___31 = libcfs_nid2str(from_nid); libcfs_debug_msg(& msgdata___5, "%s, src %s: Dropping message for %s (routing not enabled)\n", tmp___31, tmp___30, tmp___29); } else { } goto drop; } else { } } else { } tmp___37 = list_empty((struct list_head const *)(& the_lnet.ln_test_peers)); if (tmp___37 == 0) { tmp___38 = fail_peer(src_nid, 0); if (tmp___38 != 0) { tmp___36 = cfs_cdebug_show(131072U, 1024U); if (tmp___36 != 0) { msgdata___6.msg_subsys = 1024; msgdata___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___6.msg_fn = "lnet_parse"; msgdata___6.msg_line = 1830; msgdata___6.msg_cdls = & cdls___6; msgdata___6.msg_mask = 131072; tmp___33 = lnet_msgtyp2str((int )type); tmp___34 = libcfs_nid2str(src_nid); tmp___35 = libcfs_nid2str(from_nid); libcfs_debug_msg(& msgdata___6, "%s, src %s: Dropping %s to simulate failure\n", tmp___35, tmp___34, tmp___33); } else { } goto drop; } else { } } else { } tmp___39 = lnet_msg_alloc(); msg = tmp___39; if ((unsigned long )msg == (unsigned long )((struct lnet_msg *)0)) { tmp___43 = cfs_cdebug_show(131072U, 1024U); if (tmp___43 != 0) { msgdata___7.msg_subsys = 1024; msgdata___7.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___7.msg_fn = "lnet_parse"; msgdata___7.msg_line = 1838; msgdata___7.msg_cdls = & cdls___7; msgdata___7.msg_mask = 131072; tmp___40 = lnet_msgtyp2str((int )type); tmp___41 = libcfs_nid2str(src_nid); tmp___42 = libcfs_nid2str(from_nid); libcfs_debug_msg(& msgdata___7, "%s, src %s: Dropping %s (out of memory)\n", tmp___42, tmp___41, tmp___40); } else { } goto drop; } else { } msg->msg_type = type; msg->msg_private = private; msg->msg_receiving = 1U; tmp___44 = payload_length; msg->msg_wanted = tmp___44; msg->msg_len = tmp___44; msg->msg_offset = 0U; msg->msg_hdr = *hdr; msg->msg_from = from_nid; if (for_me == 0) { msg->msg_target.pid = dest_pid; msg->msg_target.nid = dest_nid; msg->msg_routing = 1U; } else { msg->msg_hdr.type = type; msg->msg_hdr.src_nid = src_nid; msg->msg_hdr.src_pid = msg->msg_hdr.src_pid; msg->msg_hdr.dest_nid = dest_nid; msg->msg_hdr.dest_pid = dest_pid; msg->msg_hdr.payload_length = payload_length; } lnet_net_lock(cpt); rc = lnet_nid2peer_locked(& msg->msg_rxpeer, from_nid, cpt); if (rc != 0) { lnet_net_unlock(cpt); tmp___48 = cfs_cdebug_show(131072U, 1024U); if (tmp___48 != 0) { msgdata___8.msg_subsys = 1024; msgdata___8.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___8.msg_fn = "lnet_parse"; msgdata___8.msg_line = 1875; msgdata___8.msg_cdls = & cdls___8; msgdata___8.msg_mask = 131072; tmp___45 = lnet_msgtyp2str((int )type); tmp___46 = libcfs_nid2str(src_nid); tmp___47 = libcfs_nid2str(from_nid); libcfs_debug_msg(& msgdata___8, "%s, src %s: Dropping %s (error %d looking up sender)\n", tmp___47, tmp___46, tmp___45, rc); } else { } lnet_msg_free(msg); goto drop; } else { } tmp___52 = lnet_isrouter(msg->msg_rxpeer); if (tmp___52 != 0) { lnet_peer_set_alive(msg->msg_rxpeer); if (avoid_asym_router_failure != 0) { tmp___50 = LNET_NIDNET(src_nid); tmp___51 = LNET_NIDNET(from_nid); if (tmp___50 != tmp___51) { tmp___49 = LNET_NIDNET(src_nid); lnet_router_ni_update_locked(msg->msg_rxpeer, tmp___49); } else { } } else { } } else { } lnet_msg_commit(msg, cpt); if (for_me == 0) { rc = lnet_parse_forward_locked(ni, msg); lnet_net_unlock(cpt); if (rc < 0) { goto free_drop; } else { } if (rc == 0) { lnet_ni_recv(ni, msg->msg_private, msg, 0, 0U, payload_length, payload_length); } else { } return (0); } else { } lnet_net_unlock(cpt); switch (type) { case 0U: rc = lnet_parse_ack(ni, msg); goto ldv_51907; case 1U: rc = lnet_parse_put(ni, msg); goto ldv_51907; case 2U: rc = lnet_parse_get(ni, msg, rdma_req); goto ldv_51907; case 3U: rc = lnet_parse_reply(ni, msg); goto ldv_51907; default: tmp___53 = ldv__builtin_expect(1L, 0L); if (tmp___53 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_parse"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1924; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"0"); lbug_with_loc(& __msg_data___0); } else { } rc = -71; goto free_drop; } ldv_51907: ; if (rc == 0) { return (0); } else { } tmp___54 = ldv__builtin_expect(rc != 2, 0L); if (tmp___54 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_parse"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 1932; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"rc == 2"); lbug_with_loc(& __msg_data___1); } else { } free_drop: tmp___55 = ldv__builtin_expect((unsigned long )msg->msg_md != (unsigned long )((struct lnet_libmd *)0), 0L); if (tmp___55 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_parse"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 1935; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_md == ((void *)0)"); lbug_with_loc(& __msg_data___2); } else { } lnet_finalize(ni, msg, rc); drop: lnet_drop_message(ni, cpt, private, payload_length); return (0); } } static char const __kstrtab_lnet_parse[11U] = { 'l', 'n', 'e', 't', '_', 'p', 'a', 'r', 's', 'e', '\000'}; struct kernel_symbol const __ksymtab_lnet_parse ; struct kernel_symbol const __ksymtab_lnet_parse = {(unsigned long )(& lnet_parse), (char const *)(& __kstrtab_lnet_parse)}; void lnet_drop_delayed_msg_list(struct list_head *head , char *reason ) { lnet_process_id_t id ; lnet_msg_t *msg ; struct list_head const *__mptr ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___2 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp___3 ; int tmp___4 ; int tmp___5 ; { goto ldv_51942; ldv_51941: id.nid = 0ULL; id.pid = 0U; __mptr = (struct list_head const *)head->next; msg = (lnet_msg_t *)__mptr + 0xfffffffffffffff0UL; list_del(& msg->msg_list); id.nid = msg->msg_hdr.src_nid; id.pid = msg->msg_hdr.src_pid; tmp = ldv__builtin_expect((unsigned long )msg->msg_md != (unsigned long )((struct lnet_libmd *)0), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_drop_delayed_msg_list"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1957; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_md == ((void *)0)"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) == 0U, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_drop_delayed_msg_list"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1958; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_rx_delayed"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = ldv__builtin_expect((unsigned long )msg->msg_rxpeer == (unsigned long )((struct lnet_peer *)0), 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_drop_delayed_msg_list"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 1959; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_rxpeer != ((void *)0)"); lbug_with_loc(& __msg_data___1); } else { } tmp___2 = ldv__builtin_expect(msg->msg_hdr.type != 1U, 0L); if (tmp___2 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_drop_delayed_msg_list"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 1960; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_hdr.type == LNET_MSG_PUT"); lbug_with_loc(& __msg_data___2); } else { } tmp___4 = cfs_cdebug_show(1024U, 1024U); if (tmp___4 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "lnet_drop_delayed_msg_list"; msgdata.msg_line = 1967; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 1024; tmp___3 = libcfs_id2str(id); libcfs_debug_msg(& msgdata, "Dropping delayed PUT from %s portal %d match %llu offset %d length %d: %s\n", tmp___3, msg->msg_hdr.msg.put.ptl_index, msg->msg_hdr.msg.put.match_bits, msg->msg_hdr.msg.put.offset, msg->msg_hdr.payload_length, reason); } else { } lnet_drop_message((msg->msg_rxpeer)->lp_ni, (msg->msg_rxpeer)->lp_cpt, msg->msg_private, msg->msg_len); lnet_finalize((msg->msg_rxpeer)->lp_ni, msg, -2); ldv_51942: tmp___5 = list_empty((struct list_head const *)head); if (tmp___5 == 0) { goto ldv_51941; } else { } return; } } void lnet_recv_delayed_msg_list(struct list_head *head ) { lnet_msg_t *msg ; lnet_process_id_t id ; struct list_head const *__mptr ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___2 ; struct libcfs_debug_msg_data msgdata ; char *tmp___3 ; int tmp___4 ; int tmp___5 ; { goto ldv_51958; ldv_51957: __mptr = (struct list_head const *)head->next; msg = (lnet_msg_t *)__mptr + 0xfffffffffffffff0UL; list_del(& msg->msg_list); id.nid = msg->msg_hdr.src_nid; id.pid = msg->msg_hdr.src_pid; tmp = ldv__builtin_expect((unsigned int )*((unsigned char *)msg + 64UL) == 0U, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_recv_delayed_msg_list"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 2001; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_rx_delayed"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect((unsigned long )msg->msg_md == (unsigned long )((struct lnet_libmd *)0), 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_recv_delayed_msg_list"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 2002; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_md != ((void *)0)"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = ldv__builtin_expect((unsigned long )msg->msg_rxpeer == (unsigned long )((struct lnet_peer *)0), 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_recv_delayed_msg_list"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 2003; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_rxpeer != ((void *)0)"); lbug_with_loc(& __msg_data___1); } else { } tmp___2 = ldv__builtin_expect(msg->msg_hdr.type != 1U, 0L); if (tmp___2 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_recv_delayed_msg_list"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 2004; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"msg->msg_hdr.type == LNET_MSG_PUT"); lbug_with_loc(& __msg_data___2); } else { } tmp___4 = cfs_cdebug_show(512U, 1024U); if (tmp___4 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "lnet_recv_delayed_msg_list"; msgdata.msg_line = 2010; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; tmp___3 = libcfs_id2str(id); libcfs_debug_msg(& msgdata, "Resuming delayed PUT from %s portal %d match %llu offset %d length %d.\n", tmp___3, msg->msg_hdr.msg.put.ptl_index, msg->msg_hdr.msg.put.match_bits, msg->msg_hdr.msg.put.offset, msg->msg_hdr.payload_length); } else { } lnet_recv_put((msg->msg_rxpeer)->lp_ni, msg); ldv_51958: tmp___5 = list_empty((struct list_head const *)head); if (tmp___5 == 0) { goto ldv_51957; } else { } return; } } int LNetPut(lnet_nid_t self , lnet_handle_md_t mdh , lnet_ack_req_t ack , lnet_process_id_t target , unsigned int portal , __u64 match_bits , unsigned int offset , __u64 hdr_data ) { struct lnet_msg *msg ; struct lnet_libmd *md ; int cpt ; int rc ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp___1 ; int tmp___2 ; int tmp___3 ; int tmp___4 ; lnet_msg_t *tmp___5 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___6 ; int tmp___7 ; struct task_struct *tmp___8 ; lnet_libmd_t *tmp___9 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; char *tmp___10 ; int tmp___11 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___12 ; struct libcfs_debug_msg_data msgdata___3 ; char *tmp___13 ; int tmp___14 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___4 ; char *tmp___15 ; int tmp___16 ; { tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "LNetPut"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 2071; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "LNetPut"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 2072; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } tmp___3 = list_empty((struct list_head const *)(& the_lnet.ln_test_peers)); if (tmp___3 == 0) { tmp___4 = fail_peer(target.nid, 1); if (tmp___4 != 0) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "LNetPut"; msgdata.msg_line = 2077; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; tmp___1 = libcfs_id2str(target); libcfs_debug_msg(& msgdata, "Dropping PUT to %s: simulated failure\n", tmp___1); } else { } return (-5); } else { } } else { } tmp___5 = lnet_msg_alloc(); msg = tmp___5; if ((unsigned long )msg == (unsigned long )((struct lnet_msg *)0)) { tmp___7 = cfs_cdebug_show(131072U, 1024U); if (tmp___7 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___0.msg_fn = "LNetPut"; msgdata___0.msg_line = 2084; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___6 = libcfs_id2str(target); libcfs_debug_msg(& msgdata___0, "Dropping PUT to %s: ENOMEM on lnet_msg_t\n", tmp___6); } else { } return (-12); } else { } tmp___8 = get_current(); msg->msg_vmflush = (tmp___8->flags & 2048U) != 0U; cpt = lnet_cpt_of_cookie(mdh.cookie); lnet_res_lock(cpt); tmp___9 = lnet_handle2md(& mdh); md = tmp___9; if (((unsigned long )md == (unsigned long )((struct lnet_libmd *)0) || md->md_threshold == 0) || (unsigned long )md->md_me != (unsigned long )((lnet_me_t *)0)) { tmp___11 = cfs_cdebug_show(131072U, 1024U); if (tmp___11 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___1.msg_fn = "LNetPut"; msgdata___1.msg_line = 2096; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 131072; tmp___10 = libcfs_id2str(target); libcfs_debug_msg(& msgdata___1, "Dropping PUT (%llu:%d:%s): MD (%d) invalid\n", match_bits, portal, tmp___10, (unsigned long )md != (unsigned long )((struct lnet_libmd *)0) ? md->md_threshold : -1); } else { } if ((unsigned long )md != (unsigned long )((struct lnet_libmd *)0) && (unsigned long )md->md_me != (unsigned long )((lnet_me_t *)0)) { tmp___12 = cfs_cdebug_show(131072U, 1024U); if (tmp___12 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___2.msg_fn = "LNetPut"; msgdata___2.msg_line = 2099; msgdata___2.msg_cdls = & cdls___2; msgdata___2.msg_mask = 131072; libcfs_debug_msg(& msgdata___2, "Source MD also attached to portal %d\n", (md->md_me)->me_portal); } else { } } else { } lnet_res_unlock(cpt); lnet_msg_free(msg); return (-2); } else { } tmp___14 = cfs_cdebug_show(512U, 1024U); if (tmp___14 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___3.msg_fn = "LNetPut"; msgdata___3.msg_line = 2106; msgdata___3.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___3.msg_mask = 512; tmp___13 = libcfs_id2str(target); libcfs_debug_msg(& msgdata___3, "LNetPut -> %s\n", tmp___13); } else { } lnet_msg_attach_md(msg, md, 0U, 0U); lnet_prep_send(msg, 1, target, 0U, md->md_length); msg->msg_hdr.msg.put.match_bits = match_bits; msg->msg_hdr.msg.put.ptl_index = portal; msg->msg_hdr.msg.put.offset = offset; msg->msg_hdr.msg.put.hdr_data = hdr_data; if ((unsigned int )ack == 0U) { msg->msg_hdr.msg.put.ack_wmd.wh_interface_cookie = the_lnet.ln_interface_cookie; msg->msg_hdr.msg.put.ack_wmd.wh_object_cookie = md->md_lh.lh_cookie; } else { msg->msg_hdr.msg.put.ack_wmd.wh_interface_cookie = 0xffffffffffffffffULL; msg->msg_hdr.msg.put.ack_wmd.wh_object_cookie = 0xffffffffffffffffULL; } lnet_res_unlock(cpt); lnet_build_msg_event(msg, 5); rc = lnet_send(self, msg, 0xffffffffffffffffULL); if (rc != 0) { tmp___16 = cfs_cdebug_show(256U, 1024U); if (tmp___16 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___4.msg_fn = "LNetPut"; msgdata___4.msg_line = 2137; msgdata___4.msg_cdls = & cdls___3; msgdata___4.msg_mask = 256; tmp___15 = libcfs_id2str(target); libcfs_debug_msg(& msgdata___4, "Error sending PUT to %s: %d\n", tmp___15, rc); } else { } lnet_finalize((lnet_ni_t *)0, msg, rc); } else { } return (0); } } static char const __kstrtab_LNetPut[8U] = { 'L', 'N', 'e', 't', 'P', 'u', 't', '\000'}; struct kernel_symbol const __ksymtab_LNetPut ; struct kernel_symbol const __ksymtab_LNetPut = {(unsigned long )(& LNetPut), (char const *)(& __kstrtab_LNetPut)}; lnet_msg_t *lnet_create_reply_msg(lnet_ni_t *ni , lnet_msg_t *getmsg ) { struct lnet_msg *msg ; lnet_msg_t *tmp ; struct lnet_libmd *getmd ; lnet_process_id_t peer_id ; int cpt ; struct libcfs_debug_msg_data __msg_data ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___2 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp___3 ; char *tmp___4 ; int tmp___5 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___6 ; char *tmp___7 ; int tmp___8 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___9 ; struct libcfs_debug_msg_data msgdata___1 ; char *tmp___10 ; char *tmp___11 ; int tmp___12 ; { tmp = lnet_msg_alloc(); msg = tmp; getmd = getmsg->msg_md; peer_id = getmsg->msg_target; tmp___0 = ldv__builtin_expect((unsigned int )*((unsigned char *)getmsg + 64UL) != 0U, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_create_reply_msg"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 2161; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!getmsg->msg_target_is_router"); lbug_with_loc(& __msg_data); } else { } tmp___1 = ldv__builtin_expect((unsigned int )*((unsigned char *)getmsg + 64UL) != 0U, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_create_reply_msg"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 2162; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!getmsg->msg_routing"); lbug_with_loc(& __msg_data___0); } else { } cpt = lnet_cpt_of_cookie(getmd->md_lh.lh_cookie); lnet_res_lock(cpt); tmp___2 = ldv__builtin_expect(getmd->md_refcount <= 0, 0L); if (tmp___2 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_create_reply_msg"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 2167; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"getmd->md_refcount > 0"); lbug_with_loc(& __msg_data___1); } else { } if ((unsigned long )msg == (unsigned long )((struct lnet_msg *)0)) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "lnet_create_reply_msg"; msgdata.msg_line = 2171; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; tmp___3 = libcfs_id2str(peer_id); tmp___4 = libcfs_nid2str(ni->ni_nid); libcfs_debug_msg(& msgdata, "%s: Dropping REPLY from %s: can\'t allocate msg\n", tmp___4, tmp___3); } else { } goto drop; } else { } if (getmd->md_threshold == 0) { tmp___8 = cfs_cdebug_show(131072U, 1024U); if (tmp___8 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___0.msg_fn = "lnet_create_reply_msg"; msgdata___0.msg_line = 2178; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___6 = libcfs_id2str(peer_id); tmp___7 = libcfs_nid2str(ni->ni_nid); libcfs_debug_msg(& msgdata___0, "%s: Dropping REPLY from %s for inactive MD %p\n", tmp___7, tmp___6, getmd); } else { } lnet_res_unlock(cpt); goto drop; } else { } tmp___9 = ldv__builtin_expect(getmd->md_offset != 0U, 0L); if (tmp___9 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_create_reply_msg"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 2183; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"getmd->md_offset == 0"); lbug_with_loc(& __msg_data___2); } else { } tmp___12 = cfs_cdebug_show(512U, 1024U); if (tmp___12 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___1.msg_fn = "lnet_create_reply_msg"; msgdata___1.msg_line = 2186; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 512; tmp___10 = libcfs_id2str(peer_id); tmp___11 = libcfs_nid2str(ni->ni_nid); libcfs_debug_msg(& msgdata___1, "%s: Reply from %s md %p\n", tmp___11, tmp___10, getmd); } else { } msg->msg_from = peer_id.nid; msg->msg_type = 2U; msg->msg_hdr.src_nid = peer_id.nid; msg->msg_hdr.payload_length = getmd->md_length; msg->msg_receiving = 1U; lnet_msg_attach_md(msg, getmd, getmd->md_offset, getmd->md_length); lnet_res_unlock(cpt); cpt = lnet_cpt_of_nid(peer_id.nid); lnet_net_lock(cpt); lnet_msg_commit(msg, cpt); lnet_net_unlock(cpt); lnet_build_msg_event(msg, 3); return (msg); drop: cpt = lnet_cpt_of_nid(peer_id.nid); lnet_net_lock(cpt); (*(the_lnet.ln_counters + (unsigned long )cpt))->drop_count = (*(the_lnet.ln_counters + (unsigned long )cpt))->drop_count + 1U; (*(the_lnet.ln_counters + (unsigned long )cpt))->drop_length = (*(the_lnet.ln_counters + (unsigned long )cpt))->drop_length + (__u64 )getmd->md_length; lnet_net_unlock(cpt); if ((unsigned long )msg != (unsigned long )((struct lnet_msg *)0)) { lnet_msg_free(msg); } else { } return ((lnet_msg_t *)0); } } static char const __kstrtab_lnet_create_reply_msg[22U] = { 'l', 'n', 'e', 't', '_', 'c', 'r', 'e', 'a', 't', 'e', '_', 'r', 'e', 'p', 'l', 'y', '_', 'm', 's', 'g', '\000'}; struct kernel_symbol const __ksymtab_lnet_create_reply_msg ; struct kernel_symbol const __ksymtab_lnet_create_reply_msg = {(unsigned long )(& lnet_create_reply_msg), (char const *)(& __kstrtab_lnet_create_reply_msg)}; void lnet_set_reply_msg_len(lnet_ni_t *ni , lnet_msg_t *reply , unsigned int len ) { struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___2 ; { tmp = ldv__builtin_expect((unsigned long )reply == (unsigned long )((lnet_msg_t *)0), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "lnet_set_reply_msg_len"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 2228; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"reply != ((void *)0)"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(reply->msg_type != 2U, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "lnet_set_reply_msg_len"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 2229; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"reply->msg_type == LNET_MSG_GET"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = ldv__builtin_expect((unsigned int )reply->msg_ev.type != 3U, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "lnet_set_reply_msg_len"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 2230; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"reply->msg_ev.type == LNET_EVENT_REPLY"); lbug_with_loc(& __msg_data___1); } else { } tmp___2 = ldv__builtin_expect(reply->msg_ev.mlength < len, 0L); if (tmp___2 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "lnet_set_reply_msg_len"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 2234; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"len <= reply->msg_ev.mlength"); lbug_with_loc(& __msg_data___2); } else { } reply->msg_ev.mlength = len; return; } } static char const __kstrtab_lnet_set_reply_msg_len[23U] = { 'l', 'n', 'e', 't', '_', 's', 'e', 't', '_', 'r', 'e', 'p', 'l', 'y', '_', 'm', 's', 'g', '_', 'l', 'e', 'n', '\000'}; struct kernel_symbol const __ksymtab_lnet_set_reply_msg_len ; struct kernel_symbol const __ksymtab_lnet_set_reply_msg_len = {(unsigned long )(& lnet_set_reply_msg_len), (char const *)(& __kstrtab_lnet_set_reply_msg_len)}; int LNetGet(lnet_nid_t self , lnet_handle_md_t mdh , lnet_process_id_t target , unsigned int portal , __u64 match_bits , unsigned int offset ) { struct lnet_msg *msg ; struct lnet_libmd *md ; int cpt ; int rc ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp___1 ; int tmp___2 ; int tmp___3 ; int tmp___4 ; lnet_msg_t *tmp___5 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___6 ; int tmp___7 ; lnet_libmd_t *tmp___8 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; char *tmp___9 ; int tmp___10 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___11 ; struct libcfs_debug_msg_data msgdata___3 ; char *tmp___12 ; int tmp___13 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___4 ; char *tmp___14 ; int tmp___15 ; { tmp = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "LNetGet"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 2271; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(the_lnet.ln_refcount <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "LNetGet"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 2272; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } tmp___3 = list_empty((struct list_head const *)(& the_lnet.ln_test_peers)); if (tmp___3 == 0) { tmp___4 = fail_peer(target.nid, 1); if (tmp___4 != 0) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata.msg_fn = "LNetGet"; msgdata.msg_line = 2277; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; tmp___1 = libcfs_id2str(target); libcfs_debug_msg(& msgdata, "Dropping GET to %s: simulated failure\n", tmp___1); } else { } return (-5); } else { } } else { } tmp___5 = lnet_msg_alloc(); msg = tmp___5; if ((unsigned long )msg == (unsigned long )((struct lnet_msg *)0)) { tmp___7 = cfs_cdebug_show(131072U, 1024U); if (tmp___7 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___0.msg_fn = "LNetGet"; msgdata___0.msg_line = 2284; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___6 = libcfs_id2str(target); libcfs_debug_msg(& msgdata___0, "Dropping GET to %s: ENOMEM on lnet_msg_t\n", tmp___6); } else { } return (-12); } else { } cpt = lnet_cpt_of_cookie(mdh.cookie); lnet_res_lock(cpt); tmp___8 = lnet_handle2md(& mdh); md = tmp___8; if (((unsigned long )md == (unsigned long )((struct lnet_libmd *)0) || md->md_threshold == 0) || (unsigned long )md->md_me != (unsigned long )((lnet_me_t *)0)) { tmp___10 = cfs_cdebug_show(131072U, 1024U); if (tmp___10 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___1.msg_fn = "LNetGet"; msgdata___1.msg_line = 2295; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 131072; tmp___9 = libcfs_id2str(target); libcfs_debug_msg(& msgdata___1, "Dropping GET (%llu:%d:%s): MD (%d) invalid\n", match_bits, portal, tmp___9, (unsigned long )md != (unsigned long )((struct lnet_libmd *)0) ? md->md_threshold : -1); } else { } if ((unsigned long )md != (unsigned long )((struct lnet_libmd *)0) && (unsigned long )md->md_me != (unsigned long )((lnet_me_t *)0)) { tmp___11 = cfs_cdebug_show(131072U, 1024U); if (tmp___11 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___2.msg_fn = "LNetGet"; msgdata___2.msg_line = 2298; msgdata___2.msg_cdls = & cdls___2; msgdata___2.msg_mask = 131072; libcfs_debug_msg(& msgdata___2, "REPLY MD also attached to portal %d\n", (md->md_me)->me_portal); } else { } } else { } lnet_res_unlock(cpt); lnet_msg_free(msg); return (-2); } else { } tmp___13 = cfs_cdebug_show(512U, 1024U); if (tmp___13 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___3.msg_fn = "LNetGet"; msgdata___3.msg_line = 2306; msgdata___3.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___3.msg_mask = 512; tmp___12 = libcfs_id2str(target); libcfs_debug_msg(& msgdata___3, "LNetGet -> %s\n", tmp___12); } else { } lnet_msg_attach_md(msg, md, 0U, 0U); lnet_prep_send(msg, 2, target, 0U, 0U); msg->msg_hdr.msg.get.match_bits = match_bits; msg->msg_hdr.msg.get.ptl_index = portal; msg->msg_hdr.msg.get.src_offset = offset; msg->msg_hdr.msg.get.sink_length = md->md_length; msg->msg_hdr.msg.get.return_wmd.wh_interface_cookie = the_lnet.ln_interface_cookie; msg->msg_hdr.msg.get.return_wmd.wh_object_cookie = md->md_lh.lh_cookie; lnet_res_unlock(cpt); lnet_build_msg_event(msg, 5); rc = lnet_send(self, msg, 0xffffffffffffffffULL); if (rc < 0) { tmp___15 = cfs_cdebug_show(256U, 1024U); if (tmp___15 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; msgdata___4.msg_fn = "LNetGet"; msgdata___4.msg_line = 2330; msgdata___4.msg_cdls = & cdls___3; msgdata___4.msg_mask = 256; tmp___14 = libcfs_id2str(target); libcfs_debug_msg(& msgdata___4, "Error sending GET to %s: %d\n", tmp___14, rc); } else { } lnet_finalize((lnet_ni_t *)0, msg, rc); } else { } return (0); } } static char const __kstrtab_LNetGet[8U] = { 'L', 'N', 'e', 't', 'G', 'e', 't', '\000'}; struct kernel_symbol const __ksymtab_LNetGet ; struct kernel_symbol const __ksymtab_LNetGet = {(unsigned long )(& LNetGet), (char const *)(& __kstrtab_LNetGet)}; int LNetDist(lnet_nid_t dstnid , lnet_nid_t *srcnidp , __u32 *orderp ) { struct list_head *e ; struct lnet_ni *ni ; lnet_remotenet_t *rnet ; __u32 dstnet ; __u32 tmp ; int hops ; int cpt ; __u32 order ; struct list_head *rn_list ; struct libcfs_debug_msg_data __msg_data ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; struct list_head const *__mptr ; __u32 tmp___2 ; __u32 tmp___3 ; __u32 tmp___4 ; struct list_head const *__mptr___0 ; lnet_route_t *route ; lnet_route_t *shortest ; struct libcfs_debug_msg_data __msg_data___1 ; int tmp___5 ; long tmp___6 ; struct list_head const *__mptr___1 ; struct list_head const *__mptr___2 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___7 ; { tmp = LNET_NIDNET(dstnid); dstnet = tmp; order = 2U; tmp___0 = ldv__builtin_expect(the_lnet.ln_init == 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data.msg_fn = "LNetDist"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 2370; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_init"); lbug_with_loc(& __msg_data); } else { } tmp___1 = ldv__builtin_expect(the_lnet.ln_refcount <= 0, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___0.msg_fn = "LNetDist"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 2371; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } cpt = lnet_net_lock_current(); e = the_lnet.ln_nis.next; goto ldv_52105; ldv_52104: __mptr = (struct list_head const *)e; ni = (lnet_ni_t *)__mptr + 0xffffffffffffffb8UL; if (ni->ni_nid == dstnid) { if ((unsigned long )srcnidp != (unsigned long )((lnet_nid_t *)0ULL)) { *srcnidp = dstnid; } else { } if ((unsigned long )orderp != (unsigned long )((__u32 *)0U)) { tmp___2 = LNET_NIDNET(dstnid); tmp___3 = LNET_NETTYP(tmp___2); if (tmp___3 == 9U) { *orderp = 0U; } else { *orderp = 1U; } } else { } lnet_net_unlock(cpt); return (local_nid_dist_zero == 0); } else { } tmp___4 = LNET_NIDNET(ni->ni_nid); if (tmp___4 == dstnet) { if ((unsigned long )srcnidp != (unsigned long )((lnet_nid_t *)0ULL)) { *srcnidp = ni->ni_nid; } else { } if ((unsigned long )orderp != (unsigned long )((__u32 *)0U)) { *orderp = order; } else { } lnet_net_unlock(cpt); return (1); } else { } order = order + 1U; e = e->next; ldv_52105: ; if ((unsigned long )e != (unsigned long )(& the_lnet.ln_nis)) { goto ldv_52104; } else { } rn_list = lnet_net2rnethash(dstnet); e = rn_list->next; goto ldv_52121; ldv_52120: __mptr___0 = (struct list_head const *)e; rnet = (lnet_remotenet_t *)__mptr___0; if (rnet->lrn_net == dstnet) { shortest = (lnet_route_t *)0; tmp___5 = list_empty((struct list_head const *)(& rnet->lrn_routes)); tmp___6 = ldv__builtin_expect(tmp___5 != 0, 0L); if (tmp___6 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___1.msg_fn = "LNetDist"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 2412; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"!list_empty(&rnet->lrn_routes)"); lbug_with_loc(& __msg_data___1); } else { } __mptr___1 = (struct list_head const *)rnet->lrn_routes.next; route = (lnet_route_t *)__mptr___1; goto ldv_52117; ldv_52116: ; if ((unsigned long )shortest == (unsigned long )((lnet_route_t *)0) || route->lr_hops < shortest->lr_hops) { shortest = route; } else { } __mptr___2 = (struct list_head const *)route->lr_list.next; route = (lnet_route_t *)__mptr___2; ldv_52117: ; if ((unsigned long )(& route->lr_list) != (unsigned long )(& rnet->lrn_routes)) { goto ldv_52116; } else { } tmp___7 = ldv__builtin_expect((unsigned long )shortest == (unsigned long )((lnet_route_t *)0), 0L); if (tmp___7 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lib-move.c"; __msg_data___2.msg_fn = "LNetDist"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 2421; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"shortest != ((void *)0)"); lbug_with_loc(& __msg_data___2); } else { } hops = (int )shortest->lr_hops; if ((unsigned long )srcnidp != (unsigned long )((lnet_nid_t *)0ULL)) { *srcnidp = ((shortest->lr_gateway)->lp_ni)->ni_nid; } else { } if ((unsigned long )orderp != (unsigned long )((__u32 *)0U)) { *orderp = order; } else { } lnet_net_unlock(cpt); return (hops + 1); } else { } order = order + 1U; e = e->next; ldv_52121: ; if ((unsigned long )e != (unsigned long )rn_list) { goto ldv_52120; } else { } lnet_net_unlock(cpt); return (-113); } } static char const __kstrtab_LNetDist[9U] = { 'L', 'N', 'e', 't', 'D', 'i', 's', 't', '\000'}; struct kernel_symbol const __ksymtab_LNetDist ; struct kernel_symbol const __ksymtab_LNetDist = {(unsigned long )(& LNetDist), (char const *)(& __kstrtab_LNetDist)}; __inline static long ldv__builtin_expect(long exp , long c ) ; __inline static bool IS_ERR(void const *ptr ) ; extern int wake_up_process(struct task_struct * ) ; __inline static void ldv_stop(void) { { LDV_STOP: ; goto LDV_STOP; } } int ldv_state_variable_1 ; int ref_cnt ; int ldv_state_variable_0 ; extern struct task_struct *kthread_create_on_node(int (*)(void * ) , void * , int , char const * , ...) ; extern int libcfs_register_ioctl(struct libcfs_ioctl_handler * ) ; extern int libcfs_deregister_ioctl(struct libcfs_ioctl_handler * ) ; static int config_on_load ; static struct mutex lnet_config_mutex ; static int lnet_configure(void *arg ) { int rc ; { rc = 0; mutex_lock_nested(& lnet_config_mutex, 0U); if (the_lnet.ln_niinit_self == 0) { rc = LNetNIInit(12345U); if (rc >= 0) { the_lnet.ln_niinit_self = 1; rc = 0; } else { } } else { } mutex_unlock(& lnet_config_mutex); return (rc); } } static int lnet_unconfigure(void) { int refcount ; { mutex_lock_nested(& lnet_config_mutex, 0U); if (the_lnet.ln_niinit_self != 0) { the_lnet.ln_niinit_self = 0; LNetNIFini(); } else { } mutex_lock_nested(& the_lnet.ln_api_mutex, 0U); refcount = the_lnet.ln_refcount; mutex_unlock(& the_lnet.ln_api_mutex); mutex_unlock(& lnet_config_mutex); return (refcount == 0 ? 0 : -16); } } static int lnet_ioctl(unsigned int cmd , struct libcfs_ioctl_data *data ) { int rc ; int tmp ; int tmp___0 ; { switch (cmd) { case 3221775675U: tmp = lnet_configure((void *)0); return (tmp); case 3221775672U: tmp___0 = lnet_unconfigure(); return (tmp___0); default: rc = LNetNIInit(4294967295U); if (rc >= 0) { rc = LNetCtl(cmd, (void *)data); LNetNIFini(); } else { } return (rc); } } } static struct libcfs_ioctl_handler lnet_ioctl_handler = {{& lnet_ioctl_handler.item, & lnet_ioctl_handler.item}, & lnet_ioctl}; static int init_lnet(void) { int rc ; struct lock_class_key __key ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; struct libcfs_debug_msg_data __msg_data ; long tmp___0 ; struct task_struct *__k ; struct task_struct *tmp___1 ; bool tmp___2 ; int tmp___3 ; { __mutex_init(& lnet_config_mutex, "&lnet_config_mutex", & __key); rc = lnet_init(); if (rc != 0) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/module.c"; msgdata.msg_fn = "init_lnet"; msgdata.msg_line = 122; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "lnet_init: error %d\n", rc); } else { } return (rc); } else { } rc = libcfs_register_ioctl(& lnet_ioctl_handler); tmp___0 = ldv__builtin_expect(rc != 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/module.c"; __msg_data.msg_fn = "init_lnet"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 127; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"rc == 0"); lbug_with_loc(& __msg_data); } else { } if (config_on_load != 0) { tmp___1 = kthread_create_on_node(& lnet_configure, (void *)0, -1, "lnet_initd"); __k = tmp___1; tmp___2 = IS_ERR((void const *)__k); if (tmp___2) { tmp___3 = 0; } else { tmp___3 = 1; } if (tmp___3) { wake_up_process(__k); } else { } } else { } return (0); } } static void fini_lnet(void) { int rc ; struct libcfs_debug_msg_data __msg_data ; long tmp ; { rc = libcfs_deregister_ioctl(& lnet_ioctl_handler); tmp = ldv__builtin_expect(rc != 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/module.c"; __msg_data.msg_fn = "fini_lnet"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 144; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"rc == 0"); lbug_with_loc(& __msg_data); } else { } lnet_fini(); return; } } int ldv_retval_0 ; extern void ldv_initialize(void) ; void ldv_check_final_state(void) ; int main(void) { struct libcfs_ioctl_data *ldvarg1 ; void *tmp ; unsigned int ldvarg0 ; int tmp___0 ; int tmp___1 ; int tmp___2 ; { tmp = ldv_init_zalloc(128UL); ldvarg1 = (struct libcfs_ioctl_data *)tmp; ldv_initialize(); ldv_memset((void *)(& ldvarg0), 0, 4UL); ldv_state_variable_1 = 0; ref_cnt = 0; ldv_state_variable_0 = 1; ldv_51225: tmp___0 = __VERIFIER_nondet_int(); switch (tmp___0) { case 0: ; if (ldv_state_variable_1 != 0) { tmp___1 = __VERIFIER_nondet_int(); switch (tmp___1) { case 0: ; if (ldv_state_variable_1 == 1) { lnet_ioctl(ldvarg0, ldvarg1); ldv_state_variable_1 = 1; } else { } goto ldv_51215; default: ldv_stop(); } ldv_51215: ; } else { } goto ldv_51217; case 1: ; if (ldv_state_variable_0 != 0) { tmp___2 = __VERIFIER_nondet_int(); switch (tmp___2) { case 0: ; if (ldv_state_variable_0 == 3 && ref_cnt == 0) { fini_lnet(); ldv_state_variable_0 = 2; goto ldv_final; } else { } goto ldv_51221; case 1: ; if (ldv_state_variable_0 == 1) { ldv_retval_0 = init_lnet(); if (ldv_retval_0 == 0) { ldv_state_variable_0 = 3; ldv_state_variable_1 = 1; } else { } if (ldv_retval_0 != 0) { ldv_state_variable_0 = 2; goto ldv_final; } else { } } else { } goto ldv_51221; default: ldv_stop(); } ldv_51221: ; } else { } goto ldv_51217; default: ldv_stop(); } ldv_51217: ; goto ldv_51225; ldv_final: ldv_check_final_state(); return 0; } } __inline static long ldv__builtin_expect(long exp , long c ) ; static int lolnd_send(lnet_ni_t *ni , void *private , lnet_msg_t *lntmsg ) { struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; int tmp___1 ; { tmp = ldv__builtin_expect((unsigned int )*((unsigned char *)lntmsg + 64UL) != 0U, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lo.c"; __msg_data.msg_fn = "lolnd_send"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 41; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!lntmsg->msg_routing"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect((unsigned int )*((unsigned char *)lntmsg + 64UL) != 0U, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lo.c"; __msg_data___0.msg_fn = "lolnd_send"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 42; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!lntmsg->msg_target_is_router"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = lnet_parse(ni, & lntmsg->msg_hdr, ni->ni_nid, (void *)lntmsg, 0); return (tmp___1); } } static int lolnd_recv(lnet_ni_t *ni , void *private , lnet_msg_t *lntmsg , int delayed , unsigned int niov , struct kvec *iov , lnet_kiov_t *kiov , unsigned int offset , unsigned int mlen , unsigned int rlen ) { lnet_msg_t *sendmsg ; { sendmsg = (lnet_msg_t *)private; if ((unsigned long )lntmsg != (unsigned long )((lnet_msg_t *)0)) { if ((unsigned long )sendmsg->msg_iov != (unsigned long )((struct kvec *)0)) { if ((unsigned long )iov != (unsigned long )((struct kvec *)0)) { lnet_copy_iov2iov(niov, iov, offset, sendmsg->msg_niov, sendmsg->msg_iov, sendmsg->msg_offset, mlen); } else { lnet_copy_iov2kiov(niov, kiov, offset, sendmsg->msg_niov, sendmsg->msg_iov, sendmsg->msg_offset, mlen); } } else if ((unsigned long )iov != (unsigned long )((struct kvec *)0)) { lnet_copy_kiov2iov(niov, iov, offset, sendmsg->msg_niov, sendmsg->msg_kiov, sendmsg->msg_offset, mlen); } else { lnet_copy_kiov2kiov(niov, kiov, offset, sendmsg->msg_niov, sendmsg->msg_kiov, sendmsg->msg_offset, mlen); } lnet_finalize(ni, lntmsg, 0); } else { } lnet_finalize(ni, sendmsg, 0); return (0); } } static int lolnd_instanced ; static void lolnd_shutdown(lnet_ni_t *ni ) { struct libcfs_debug_msg_data msgdata ; int tmp ; struct libcfs_debug_msg_data __msg_data ; long tmp___0 ; { tmp = cfs_cdebug_show(512U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lo.c"; msgdata.msg_fn = "lolnd_shutdown"; msgdata.msg_line = 92; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; libcfs_debug_msg(& msgdata, "shutdown\n"); } else { } tmp___0 = ldv__builtin_expect(lolnd_instanced == 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lo.c"; __msg_data.msg_fn = "lolnd_shutdown"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 93; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lolnd_instanced"); lbug_with_loc(& __msg_data); } else { } lolnd_instanced = 0; return; } } static int lolnd_startup(lnet_ni_t *ni ) { struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; { tmp = ldv__builtin_expect((unsigned long )ni->ni_lnd != (unsigned long )(& the_lolnd), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lo.c"; __msg_data.msg_fn = "lolnd_startup"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 101; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"ni->ni_lnd == &the_lolnd"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(lolnd_instanced != 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/lo.c"; __msg_data___0.msg_fn = "lolnd_startup"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 102; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!lolnd_instanced"); lbug_with_loc(& __msg_data___0); } else { } lolnd_instanced = 1; return (0); } } lnd_t the_lolnd = {{& the_lolnd.lnd_list, & the_lolnd.lnd_list}, 0, 9U, & lolnd_startup, & lolnd_shutdown, (int (*)(struct lnet_ni * , unsigned int , void * ))0, & lolnd_send, & lolnd_recv, (int (*)(struct lnet_ni * , void * , lnet_msg_t * , void ** ))0, (void (*)(struct lnet_ni * , lnet_nid_t , int ))0, (void (*)(struct lnet_ni * , lnet_nid_t , unsigned long * ))0, 0}; __inline static long ldv__builtin_expect(long exp , long c ) ; __inline static __u64 __arch_swab64(__u64 val ) { { __asm__ ("bswapq %0": "=r" (val): "0" (val)); return (val); } } __inline static __u64 __fswab64(__u64 val ) { __u64 tmp ; { tmp = __arch_swab64(val); return (tmp); } } __inline static __u32 __swab32p(__u32 const *p ) { __u32 tmp ; { tmp = __fswab32(*p); return (tmp); } } __inline static __u64 __swab64p(__u64 const *p ) { __u64 tmp ; { tmp = __fswab64(*p); return (tmp); } } __inline static void __swab32s(__u32 *p ) { { *p = __swab32p((__u32 const *)p); return; } } __inline static void __swab64s(__u64 *p ) { { *p = __swab64p((__u64 const *)p); return; } } extern void __bad_size_call_parameter(void) ; __inline static long PTR_ERR(void const *ptr ) ; __inline static bool IS_ERR(void const *ptr ) ; extern void lockdep_init_map(struct lockdep_map * , char const * , struct lock_class_key * , int ) ; extern void do_gettimeofday(struct timeval * ) ; extern pg_data_t *node_data[] ; extern int numa_node ; __inline static int numa_node_id(void) { int pscr_ret__ ; void const *__vpp_verify ; int pfo_ret__ ; int pfo_ret_____0 ; int pfo_ret_____1 ; int pfo_ret_____2 ; { __vpp_verify = (void const *)0; switch (4UL) { case 1UL: ; switch (4UL) { case 1UL: __asm__ ("movb %%gs:%1,%0": "=q" (pfo_ret__): "m" (numa_node)); goto ldv_13467; case 2UL: __asm__ ("movw %%gs:%1,%0": "=r" (pfo_ret__): "m" (numa_node)); goto ldv_13467; case 4UL: __asm__ ("movl %%gs:%1,%0": "=r" (pfo_ret__): "m" (numa_node)); goto ldv_13467; case 8UL: __asm__ ("movq %%gs:%1,%0": "=r" (pfo_ret__): "m" (numa_node)); goto ldv_13467; default: __bad_percpu_size(); } ldv_13467: pscr_ret__ = pfo_ret__; goto ldv_13473; case 2UL: ; switch (4UL) { case 1UL: __asm__ ("movb %%gs:%1,%0": "=q" (pfo_ret_____0): "m" (numa_node)); goto ldv_13477; case 2UL: __asm__ ("movw %%gs:%1,%0": "=r" (pfo_ret_____0): "m" (numa_node)); goto ldv_13477; case 4UL: __asm__ ("movl %%gs:%1,%0": "=r" (pfo_ret_____0): "m" (numa_node)); goto ldv_13477; case 8UL: __asm__ ("movq %%gs:%1,%0": "=r" (pfo_ret_____0): "m" (numa_node)); goto ldv_13477; default: __bad_percpu_size(); } ldv_13477: pscr_ret__ = pfo_ret_____0; goto ldv_13473; case 4UL: ; switch (4UL) { case 1UL: __asm__ ("movb %%gs:%1,%0": "=q" (pfo_ret_____1): "m" (numa_node)); goto ldv_13486; case 2UL: __asm__ ("movw %%gs:%1,%0": "=r" (pfo_ret_____1): "m" (numa_node)); goto ldv_13486; case 4UL: __asm__ ("movl %%gs:%1,%0": "=r" (pfo_ret_____1): "m" (numa_node)); goto ldv_13486; case 8UL: __asm__ ("movq %%gs:%1,%0": "=r" (pfo_ret_____1): "m" (numa_node)); goto ldv_13486; default: __bad_percpu_size(); } ldv_13486: pscr_ret__ = pfo_ret_____1; goto ldv_13473; case 8UL: ; switch (4UL) { case 1UL: __asm__ ("movb %%gs:%1,%0": "=q" (pfo_ret_____2): "m" (numa_node)); goto ldv_13495; case 2UL: __asm__ ("movw %%gs:%1,%0": "=r" (pfo_ret_____2): "m" (numa_node)); goto ldv_13495; case 4UL: __asm__ ("movl %%gs:%1,%0": "=r" (pfo_ret_____2): "m" (numa_node)); goto ldv_13495; case 8UL: __asm__ ("movq %%gs:%1,%0": "=r" (pfo_ret_____2): "m" (numa_node)); goto ldv_13495; default: __bad_percpu_size(); } ldv_13495: pscr_ret__ = pfo_ret_____2; goto ldv_13473; default: __bad_size_call_parameter(); goto ldv_13473; } ldv_13473: ; return (pscr_ret__); } } __inline static int gfp_zonelist(gfp_t flags ) { long tmp ; { tmp = ldv__builtin_expect((flags & 262144U) != 0U, 0L); if (tmp != 0L) { return (1); } else { } return (0); } } __inline static struct zonelist *node_zonelist(int nid , gfp_t flags ) { int tmp ; { tmp = gfp_zonelist(flags); return ((struct zonelist *)(& (node_data[nid])->node_zonelists) + (unsigned long )tmp); } } extern struct page *__alloc_pages_nodemask(gfp_t , unsigned int , struct zonelist * , nodemask_t * ) ; __inline static struct page *__alloc_pages(gfp_t gfp_mask , unsigned int order , struct zonelist *zonelist ) { struct page *tmp ; { tmp = __alloc_pages_nodemask(gfp_mask, order, zonelist, (nodemask_t *)0); return (tmp); } } __inline static struct page *alloc_pages_node(int nid , gfp_t gfp_mask , unsigned int order ) { struct zonelist *tmp ; struct page *tmp___0 ; { if (nid < 0) { nid = numa_node_id(); } else { } tmp = node_zonelist(nid, gfp_mask); tmp___0 = __alloc_pages(gfp_mask, order, tmp); return (tmp___0); } } extern void __free_pages(struct page * , unsigned int ) ; __inline static void sema_init(struct semaphore *sem , int val ) { struct lock_class_key __key ; struct semaphore __constr_expr_0 ; { __constr_expr_0.lock.raw_lock.val.counter = 0; __constr_expr_0.lock.magic = 3735899821U; __constr_expr_0.lock.owner_cpu = 4294967295U; __constr_expr_0.lock.owner = (void *)-1; __constr_expr_0.lock.dep_map.key = 0; __constr_expr_0.lock.dep_map.class_cache[0] = 0; __constr_expr_0.lock.dep_map.class_cache[1] = 0; __constr_expr_0.lock.dep_map.name = "(*sem).lock"; __constr_expr_0.lock.dep_map.cpu = 0; __constr_expr_0.lock.dep_map.ip = 0UL; __constr_expr_0.count = (unsigned int )val; __constr_expr_0.wait_list.next = & sem->wait_list; __constr_expr_0.wait_list.prev = & sem->wait_list; *sem = __constr_expr_0; lockdep_init_map(& sem->lock.dep_map, "semaphore->lock", & __key, 0); return; } } extern void down(struct semaphore * ) ; extern void up(struct semaphore * ) ; __inline static time_t cfs_duration_sec(long d ) { { return (d / 250L); } } extern unsigned int cfs_rand(void) ; extern void cfs_srand(unsigned int , unsigned int ) ; extern void cfs_get_random_bytes(void * , int ) ; __inline static unsigned long cfs_time_shift(int seconds ) { long tmp ; unsigned long tmp___0 ; unsigned long tmp___1 ; { tmp = cfs_time_seconds(seconds); tmp___0 = cfs_time_current(); tmp___1 = cfs_time_add(tmp___0, tmp); return (tmp___1); } } __inline static __u32 LNET_NIDADDR(lnet_nid_t nid ) { { return ((__u32 )nid); } } int lnet_peers_start_down(void) ; int lnet_peer_buffer_credits(lnet_ni_t *ni ) ; lnet_peer_t *lnet_find_peer_locked(struct lnet_peer_table *ptable , lnet_nid_t nid ) ; static char *forwarding = (char *)""; static int tiny_router_buffers ; static int small_router_buffers ; static int large_router_buffers ; static int peer_buffer_credits ; static int auto_down = 1; int lnet_peer_buffer_credits(lnet_ni_t *ni ) { { if (ni->ni_peerrtrcredits > 0) { return (ni->ni_peerrtrcredits); } else { } if (peer_buffer_credits > 0) { return (peer_buffer_credits); } else { } return (ni->ni_peertxcredits); } } static int lnet_router_checker(void *arg ) ; static int check_routers_before_use ; int avoid_asym_router_failure = 1; static int dead_router_check_interval = 60; static int live_router_check_interval = 60; static int router_ping_timeout = 50; int lnet_peers_start_down(void) { { return (check_routers_before_use); } } void lnet_notify_locked(lnet_peer_t *lp , int notifylnd , int alive , unsigned long when ) { struct libcfs_debug_msg_data msgdata ; int tmp ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___0 ; struct libcfs_debug_msg_data msgdata___1 ; char *tmp___1 ; int tmp___2 ; { if ((long )(when - lp->lp_timestamp) < 0L) { tmp = cfs_cdebug_show(512U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_notify_locked"; msgdata.msg_line = 103; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; libcfs_debug_msg(& msgdata, "Out of date\n"); } else { } return; } else { } lp->lp_timestamp = when; lp->lp_ping_deadline = 0UL; if (lp->lp_alive_count != 0 && ((unsigned int )*((unsigned char *)lp + 80UL) != 0U) ^ (alive == 0)) { tmp___0 = cfs_cdebug_show(512U, 1024U); if (tmp___0 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___0.msg_fn = "lnet_notify_locked"; msgdata___0.msg_line = 112; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 512; libcfs_debug_msg(& msgdata___0, "Old news\n"); } else { } return; } else { } lp->lp_alive_count = lp->lp_alive_count + 1; lp->lp_alive = alive != 0; lp->lp_notify = 1U; lp->lp_notifylnd = (unsigned char )((int )((signed char )lp->lp_notifylnd) | (int )((signed char )notifylnd)); if ((unsigned int )*((unsigned char *)lp + 80UL) != 0U) { lp->lp_ping_feats = 0U; } else { } tmp___2 = cfs_cdebug_show(512U, 1024U); if (tmp___2 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___1.msg_fn = "lnet_notify_locked"; msgdata___1.msg_line = 125; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 512; tmp___1 = libcfs_nid2str(lp->lp_nid); libcfs_debug_msg(& msgdata___1, "set %s %d\n", tmp___1, alive); } else { } return; } } static void lnet_ni_notify_locked(lnet_ni_t *ni , lnet_peer_t *lp ) { int alive ; int notifylnd ; { if ((unsigned int )*((unsigned char *)lp + 80UL) != 0U || (unsigned long )ni == (unsigned long )((lnet_ni_t *)0)) { return; } else { } lp->lp_notifying = 1U; goto ldv_51377; ldv_51376: alive = (int )lp->lp_alive; notifylnd = (int )lp->lp_notifylnd; lp->lp_notifylnd = 0U; lp->lp_notify = 0U; if (notifylnd != 0 && (unsigned long )(ni->ni_lnd)->lnd_notify != (unsigned long )((void (*)(struct lnet_ni * , lnet_nid_t , int ))0)) { lnet_net_unlock(lp->lp_cpt); (*((ni->ni_lnd)->lnd_notify))(ni, lp->lp_nid, alive); lnet_net_lock(lp->lp_cpt); } else { } ldv_51377: ; if ((unsigned int )*((unsigned char *)lp + 80UL) != 0U) { goto ldv_51376; } else { } lp->lp_notifying = 0U; return; } } static void lnet_rtr_addref_locked(lnet_peer_t *lp ) { struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct list_head *pos ; lnet_peer_t *rtr ; struct list_head const *__mptr ; { tmp = ldv__builtin_expect(lp->lp_refcount <= 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_rtr_addref_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 169; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lp->lp_refcount > 0"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(lp->lp_rtr_refcount < 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___0.msg_fn = "lnet_rtr_addref_locked"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 170; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"lp->lp_rtr_refcount >= 0"); lbug_with_loc(& __msg_data___0); } else { } lp->lp_rtr_refcount = lp->lp_rtr_refcount + 1; if (lp->lp_rtr_refcount == 1) { pos = the_lnet.ln_routers.prev; goto ldv_51391; ldv_51390: __mptr = (struct list_head const *)pos; rtr = (lnet_peer_t *)__mptr + 0xffffffffffffffd0UL; if (rtr->lp_nid < lp->lp_nid) { goto ldv_51389; } else { } pos = pos->prev; ldv_51391: ; if ((unsigned long )pos != (unsigned long )(& the_lnet.ln_routers)) { goto ldv_51390; } else { } ldv_51389: list_add(& lp->lp_rtr_list, pos); lnet_peer_addref_locked(lp); the_lnet.ln_routers_version = the_lnet.ln_routers_version + 1ULL; } else { } return; } } static void lnet_rtr_decref_locked(lnet_peer_t *lp ) { struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; int tmp___1 ; long tmp___2 ; { tmp = ldv__builtin_expect(lp->lp_refcount <= 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_rtr_decref_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 196; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lp->lp_refcount > 0"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(lp->lp_rtr_refcount <= 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___0.msg_fn = "lnet_rtr_decref_locked"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 197; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"lp->lp_rtr_refcount > 0"); lbug_with_loc(& __msg_data___0); } else { } lp->lp_rtr_refcount = lp->lp_rtr_refcount - 1; if (lp->lp_rtr_refcount == 0) { tmp___1 = list_empty((struct list_head const *)(& lp->lp_routes)); tmp___2 = ldv__builtin_expect(tmp___1 == 0, 0L); if (tmp___2 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___1.msg_fn = "lnet_rtr_decref_locked"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 202; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&lp->lp_routes)"); lbug_with_loc(& __msg_data___1); } else { } if ((unsigned long )lp->lp_rcd != (unsigned long )((lnet_rc_data_t *)0)) { list_add(& (lp->lp_rcd)->rcd_list, & the_lnet.ln_rcd_deathrow); lp->lp_rcd = (lnet_rc_data_t *)0; } else { } list_del(& lp->lp_rtr_list); lnet_peer_decref_locked(lp); the_lnet.ln_routers_version = the_lnet.ln_routers_version + 1ULL; } else { } return; } } lnet_remotenet_t *lnet_find_net_locked(__u32 net ) { lnet_remotenet_t *rnet ; struct list_head *tmp ; struct list_head *rn_list ; struct libcfs_debug_msg_data __msg_data ; long tmp___0 ; struct list_head const *__mptr ; { tmp___0 = ldv__builtin_expect(the_lnet.ln_shutdown != 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_find_net_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 224; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!the_lnet.ln_shutdown"); lbug_with_loc(& __msg_data); } else { } rn_list = lnet_net2rnethash(net); tmp = rn_list->next; goto ldv_51410; ldv_51409: __mptr = (struct list_head const *)tmp; rnet = (lnet_remotenet_t *)__mptr; if (rnet->lrn_net == net) { return (rnet); } else { } tmp = tmp->next; ldv_51410: ; if ((unsigned long )tmp != (unsigned long )rn_list) { goto ldv_51409; } else { } return ((lnet_remotenet_t *)0); } } static void lnet_shuffle_seed(void) { int seeded ; int lnd_type ; int seed[2U] ; struct timeval tv ; lnet_ni_t *ni ; struct list_head *tmp ; struct list_head const *__mptr ; __u32 tmp___0 ; __u32 tmp___1 ; __u32 tmp___2 ; { if (seeded != 0) { return; } else { } cfs_get_random_bytes((void *)(& seed), 8); tmp = the_lnet.ln_nis.next; goto ldv_51424; ldv_51423: __mptr = (struct list_head const *)tmp; ni = (lnet_ni_t *)__mptr + 0xffffffffffffffb8UL; tmp___0 = LNET_NIDNET(ni->ni_nid); tmp___1 = LNET_NETTYP(tmp___0); lnd_type = (int )tmp___1; if (lnd_type != 9) { tmp___2 = LNET_NIDADDR(ni->ni_nid); seed[0] = (int )((__u32 )seed[0] ^ (tmp___2 | (__u32 )lnd_type)); } else { } tmp = tmp->next; ldv_51424: ; if ((unsigned long )tmp != (unsigned long )(& the_lnet.ln_nis)) { goto ldv_51423; } else { } do_gettimeofday(& tv); cfs_srand((unsigned int )((int )tv.tv_sec ^ seed[0]), (unsigned int )((int )tv.tv_usec ^ seed[1])); seeded = 1; return; } } static void lnet_add_route_to_rnet(lnet_remotenet_t *rnet , lnet_route_t *route ) { unsigned int len ; unsigned int offset ; struct list_head *e ; unsigned int tmp ; { len = 0U; offset = 0U; lnet_shuffle_seed(); e = rnet->lrn_routes.next; goto ldv_51434; ldv_51433: len = len + 1U; e = e->next; ldv_51434: ; if ((unsigned long )(& rnet->lrn_routes) != (unsigned long )e) { goto ldv_51433; } else { } tmp = cfs_rand(); offset = tmp % (len + 1U); e = rnet->lrn_routes.next; goto ldv_51438; ldv_51437: ; if (offset == 0U) { goto ldv_51436; } else { } offset = offset - 1U; e = e->next; ldv_51438: ; if ((unsigned long )(& rnet->lrn_routes) != (unsigned long )e) { goto ldv_51437; } else { } ldv_51436: list_add(& route->lr_list, e); list_add(& route->lr_gwlist, & (route->lr_gateway)->lp_routes); the_lnet.ln_remote_nets_version = the_lnet.ln_remote_nets_version + 1ULL; lnet_rtr_addref_locked(route->lr_gateway); return; } } int lnet_add_route(__u32 net , unsigned int hops , lnet_nid_t gateway , unsigned int priority ) { struct list_head *e ; lnet_remotenet_t *rnet ; lnet_remotenet_t *rnet2 ; lnet_route_t *route ; lnet_ni_t *ni ; int add_route ; int rc ; struct libcfs_debug_msg_data msgdata ; char *tmp ; char *tmp___0 ; int tmp___1 ; __u32 tmp___2 ; __u32 tmp___3 ; __u32 tmp___4 ; __u32 tmp___5 ; __u32 tmp___6 ; int tmp___7 ; struct libcfs_debug_msg_data __msg_data ; int tmp___8 ; long tmp___9 ; void *tmp___10 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___11 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___12 ; int tmp___13 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___14 ; int tmp___15 ; long tmp___16 ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___17 ; long tmp___18 ; void *tmp___19 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___20 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___4 ; int tmp___21 ; int tmp___22 ; struct libcfs_debug_msg_data msgdata___5 ; int tmp___23 ; int tmp___24 ; long tmp___25 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___6 ; char *tmp___26 ; char *tmp___27 ; int tmp___28 ; int s ; struct cfs_debug_limit_state cdls___4 ; struct libcfs_debug_msg_data msgdata___7 ; int tmp___29 ; long tmp___30 ; struct libcfs_debug_msg_data msgdata___8 ; int tmp___31 ; int tmp___32 ; long tmp___33 ; int s___0 ; struct cfs_debug_limit_state cdls___5 ; struct libcfs_debug_msg_data msgdata___9 ; int tmp___34 ; long tmp___35 ; struct libcfs_debug_msg_data msgdata___10 ; int tmp___36 ; int tmp___37 ; long tmp___38 ; int s___1 ; struct cfs_debug_limit_state cdls___6 ; struct libcfs_debug_msg_data msgdata___11 ; int tmp___39 ; long tmp___40 ; struct libcfs_debug_msg_data msgdata___12 ; int tmp___41 ; int tmp___42 ; long tmp___43 ; int s___2 ; struct cfs_debug_limit_state cdls___7 ; struct libcfs_debug_msg_data msgdata___13 ; int tmp___44 ; long tmp___45 ; struct libcfs_debug_msg_data msgdata___14 ; int tmp___46 ; int tmp___47 ; long tmp___48 ; struct cfs_debug_limit_state cdls___8 ; struct libcfs_debug_msg_data msgdata___15 ; char *tmp___49 ; char *tmp___50 ; int tmp___51 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___52 ; struct list_head *tmp___53 ; lnet_route_t *route2 ; struct list_head const *__mptr ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___54 ; int s___3 ; struct cfs_debug_limit_state cdls___9 ; struct libcfs_debug_msg_data msgdata___16 ; int tmp___55 ; long tmp___56 ; struct libcfs_debug_msg_data msgdata___17 ; int tmp___57 ; int tmp___58 ; long tmp___59 ; int s___4 ; struct cfs_debug_limit_state cdls___10 ; struct libcfs_debug_msg_data msgdata___18 ; int tmp___60 ; long tmp___61 ; struct libcfs_debug_msg_data msgdata___19 ; int tmp___62 ; int tmp___63 ; long tmp___64 ; { tmp___1 = cfs_cdebug_show(512U, 1024U); if (tmp___1 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_add_route"; msgdata.msg_line = 305; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; tmp = libcfs_nid2str(gateway); tmp___0 = libcfs_net2str(net); libcfs_debug_msg(& msgdata, "Add route: net %s hops %u priority %u gw %s\n", tmp___0, hops, priority, tmp); } else { } if (gateway == 0xffffffffffffffffULL) { return (-22); } else { tmp___2 = LNET_NIDNET(gateway); tmp___3 = LNET_NETTYP(tmp___2); if (tmp___3 == 9U) { return (-22); } else { tmp___4 = LNET_NIDNET(0xffffffffffffffffULL); if (tmp___4 == net) { return (-22); } else { tmp___5 = LNET_NETTYP(net); if (tmp___5 == 9U) { return (-22); } else { tmp___6 = LNET_NIDNET(gateway); if (tmp___6 == net) { return (-22); } else if (hops == 0U) { return (-22); } else if (hops > 255U) { return (-22); } else { } } } } } tmp___7 = lnet_islocalnet(net); if (tmp___7 != 0) { return (0); } else { } tmp___8 = preempt_count(); tmp___9 = ldv__builtin_expect((long )(((unsigned long )tmp___8 & 2096896UL) != 0UL && 1), 0L); if (tmp___9 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_add_route"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 319; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((sizeof(*route))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } tmp___10 = kmalloc(64UL, 80U); route = (lnet_route_t *)tmp___10; tmp___16 = ldv__builtin_expect((unsigned long )route == (unsigned long )((lnet_route_t *)0), 0L); if (tmp___16 != 0L) { tmp___11 = cfs_cdebug_show(131072U, 1024U); if (tmp___11 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___0.msg_fn = "lnet_add_route"; msgdata___0.msg_line = 319; msgdata___0.msg_cdls = & cdls; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "LNET: out of memory at %s:%d (tried to alloc \'(route)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 319, 64); } else { } tmp___13 = cfs_cdebug_show(131072U, 1024U); if (tmp___13 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___1.msg_fn = "lnet_add_route"; msgdata___1.msg_line = 319; msgdata___1.msg_cdls = & cdls___0; msgdata___1.msg_mask = 131072; tmp___12 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "LNET: %d total bytes allocated by lnet\n", tmp___12); } else { } } else { memset((void *)route, 0, 64UL); atomic_add(64, & libcfs_kmemory); tmp___15 = cfs_cdebug_show(16U, 1024U); if (tmp___15 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___2.msg_fn = "lnet_add_route"; msgdata___2.msg_line = 319; msgdata___2.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___2.msg_mask = 16; tmp___14 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___2, "alloc \'(route)\': %d at %p (tot %d).\n", 64, route, tmp___14); } else { } } tmp___17 = preempt_count(); tmp___18 = ldv__builtin_expect((long )(((unsigned long )tmp___17 & 2096896UL) != 0UL && 1), 0L); if (tmp___18 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___0.msg_fn = "lnet_add_route"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 320; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((sizeof(*rnet))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data___0); } else { } tmp___19 = kmalloc(40UL, 80U); rnet = (lnet_remotenet_t *)tmp___19; tmp___25 = ldv__builtin_expect((unsigned long )rnet == (unsigned long )((lnet_remotenet_t *)0), 0L); if (tmp___25 != 0L) { tmp___20 = cfs_cdebug_show(131072U, 1024U); if (tmp___20 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___3.msg_fn = "lnet_add_route"; msgdata___3.msg_line = 320; msgdata___3.msg_cdls = & cdls___1; msgdata___3.msg_mask = 131072; libcfs_debug_msg(& msgdata___3, "LNET: out of memory at %s:%d (tried to alloc \'(rnet)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 320, 40); } else { } tmp___22 = cfs_cdebug_show(131072U, 1024U); if (tmp___22 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___4.msg_fn = "lnet_add_route"; msgdata___4.msg_line = 320; msgdata___4.msg_cdls = & cdls___2; msgdata___4.msg_mask = 131072; tmp___21 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___4, "LNET: %d total bytes allocated by lnet\n", tmp___21); } else { } } else { memset((void *)rnet, 0, 40UL); atomic_add(40, & libcfs_kmemory); tmp___24 = cfs_cdebug_show(16U, 1024U); if (tmp___24 != 0) { msgdata___5.msg_subsys = 1024; msgdata___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___5.msg_fn = "lnet_add_route"; msgdata___5.msg_line = 320; msgdata___5.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___5.msg_mask = 16; tmp___23 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___5, "alloc \'(rnet)\': %d at %p (tot %d).\n", 40, rnet, tmp___23); } else { } } if ((unsigned long )route == (unsigned long )((lnet_route_t *)0) || (unsigned long )rnet == (unsigned long )((lnet_remotenet_t *)0)) { tmp___28 = cfs_cdebug_show(131072U, 1024U); if (tmp___28 != 0) { msgdata___6.msg_subsys = 1024; msgdata___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___6.msg_fn = "lnet_add_route"; msgdata___6.msg_line = 323; msgdata___6.msg_cdls = & cdls___3; msgdata___6.msg_mask = 131072; tmp___26 = libcfs_nid2str(gateway); tmp___27 = libcfs_net2str(net); libcfs_debug_msg(& msgdata___6, "Out of memory creating route %s %d %s\n", tmp___27, hops, tmp___26); } else { } if ((unsigned long )route != (unsigned long )((lnet_route_t *)0)) { s = 64; tmp___30 = ldv__builtin_expect((unsigned long )route == (unsigned long )((lnet_route_t *)0), 0L); if (tmp___30 != 0L) { tmp___29 = cfs_cdebug_show(131072U, 1024U); if (tmp___29 != 0) { msgdata___7.msg_subsys = 1024; msgdata___7.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___7.msg_fn = "lnet_add_route"; msgdata___7.msg_line = 325; msgdata___7.msg_cdls = & cdls___4; msgdata___7.msg_mask = 131072; libcfs_debug_msg(& msgdata___7, "LIBCFS: free NULL \'route\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 325); } else { } goto ldv_51471; } else { } atomic_sub(s, & libcfs_kmemory); tmp___32 = cfs_cdebug_show(16U, 1024U); if (tmp___32 != 0) { msgdata___8.msg_subsys = 1024; msgdata___8.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___8.msg_fn = "lnet_add_route"; msgdata___8.msg_line = 325; msgdata___8.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___8.msg_mask = 16; tmp___31 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___8, "kfreed \'route\': %d at %p (tot %d).\n", s, route, tmp___31); } else { } tmp___33 = ldv__builtin_expect(s > 8192, 0L); if (tmp___33 != 0L) { vfree((void const *)route); } else { kfree((void const *)route); } ldv_51471: ; } else { } if ((unsigned long )rnet != (unsigned long )((lnet_remotenet_t *)0)) { s___0 = 40; tmp___35 = ldv__builtin_expect((unsigned long )rnet == (unsigned long )((lnet_remotenet_t *)0), 0L); if (tmp___35 != 0L) { tmp___34 = cfs_cdebug_show(131072U, 1024U); if (tmp___34 != 0) { msgdata___9.msg_subsys = 1024; msgdata___9.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___9.msg_fn = "lnet_add_route"; msgdata___9.msg_line = 327; msgdata___9.msg_cdls = & cdls___5; msgdata___9.msg_mask = 131072; libcfs_debug_msg(& msgdata___9, "LIBCFS: free NULL \'rnet\' (%d bytes) at %s:%d\n", s___0, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 327); } else { } goto ldv_51476; } else { } atomic_sub(s___0, & libcfs_kmemory); tmp___37 = cfs_cdebug_show(16U, 1024U); if (tmp___37 != 0) { msgdata___10.msg_subsys = 1024; msgdata___10.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___10.msg_fn = "lnet_add_route"; msgdata___10.msg_line = 327; msgdata___10.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___10.msg_mask = 16; tmp___36 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___10, "kfreed \'rnet\': %d at %p (tot %d).\n", s___0, rnet, tmp___36); } else { } tmp___38 = ldv__builtin_expect(s___0 > 8192, 0L); if (tmp___38 != 0L) { vfree((void const *)rnet); } else { kfree((void const *)rnet); } ldv_51476: ; } else { } return (-12); } else { } INIT_LIST_HEAD(& rnet->lrn_routes); rnet->lrn_net = net; route->lr_hops = hops; route->lr_net = net; route->lr_priority = priority; lnet_net_lock(-1); rc = lnet_nid2peer_locked(& route->lr_gateway, gateway, -1); if (rc != 0) { lnet_net_unlock(-1); s___1 = 64; tmp___40 = ldv__builtin_expect((unsigned long )route == (unsigned long )((lnet_route_t *)0), 0L); if (tmp___40 != 0L) { tmp___39 = cfs_cdebug_show(131072U, 1024U); if (tmp___39 != 0) { msgdata___11.msg_subsys = 1024; msgdata___11.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___11.msg_fn = "lnet_add_route"; msgdata___11.msg_line = 343; msgdata___11.msg_cdls = & cdls___6; msgdata___11.msg_mask = 131072; libcfs_debug_msg(& msgdata___11, "LIBCFS: free NULL \'route\' (%d bytes) at %s:%d\n", s___1, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 343); } else { } goto ldv_51481; } else { } atomic_sub(s___1, & libcfs_kmemory); tmp___42 = cfs_cdebug_show(16U, 1024U); if (tmp___42 != 0) { msgdata___12.msg_subsys = 1024; msgdata___12.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___12.msg_fn = "lnet_add_route"; msgdata___12.msg_line = 343; msgdata___12.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___12.msg_mask = 16; tmp___41 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___12, "kfreed \'route\': %d at %p (tot %d).\n", s___1, route, tmp___41); } else { } tmp___43 = ldv__builtin_expect(s___1 > 8192, 0L); if (tmp___43 != 0L) { vfree((void const *)route); } else { kfree((void const *)route); } ldv_51481: s___2 = 40; tmp___45 = ldv__builtin_expect((unsigned long )rnet == (unsigned long )((lnet_remotenet_t *)0), 0L); if (tmp___45 != 0L) { tmp___44 = cfs_cdebug_show(131072U, 1024U); if (tmp___44 != 0) { msgdata___13.msg_subsys = 1024; msgdata___13.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___13.msg_fn = "lnet_add_route"; msgdata___13.msg_line = 344; msgdata___13.msg_cdls = & cdls___7; msgdata___13.msg_mask = 131072; libcfs_debug_msg(& msgdata___13, "LIBCFS: free NULL \'rnet\' (%d bytes) at %s:%d\n", s___2, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 344); } else { } goto ldv_51486; } else { } atomic_sub(s___2, & libcfs_kmemory); tmp___47 = cfs_cdebug_show(16U, 1024U); if (tmp___47 != 0) { msgdata___14.msg_subsys = 1024; msgdata___14.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___14.msg_fn = "lnet_add_route"; msgdata___14.msg_line = 344; msgdata___14.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___14.msg_mask = 16; tmp___46 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___14, "kfreed \'rnet\': %d at %p (tot %d).\n", s___2, rnet, tmp___46); } else { } tmp___48 = ldv__builtin_expect(s___2 > 8192, 0L); if (tmp___48 != 0L) { vfree((void const *)rnet); } else { kfree((void const *)rnet); } ldv_51486: ; if (rc == -113) { return (0); } else { } tmp___51 = cfs_cdebug_show(131072U, 1024U); if (tmp___51 != 0) { msgdata___15.msg_subsys = 1024; msgdata___15.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___15.msg_fn = "lnet_add_route"; msgdata___15.msg_line = 350; msgdata___15.msg_cdls = & cdls___8; msgdata___15.msg_mask = 131072; tmp___49 = libcfs_nid2str(gateway); tmp___50 = libcfs_net2str(net); libcfs_debug_msg(& msgdata___15, "Error %d creating route %s %d %s\n", rc, tmp___50, hops, tmp___49); } else { } return (rc); } else { } tmp___52 = ldv__builtin_expect(the_lnet.ln_shutdown != 0, 0L); if (tmp___52 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___1.msg_fn = "lnet_add_route"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 355; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"!the_lnet.ln_shutdown"); lbug_with_loc(& __msg_data___1); } else { } rnet2 = lnet_find_net_locked(net); if ((unsigned long )rnet2 == (unsigned long )((lnet_remotenet_t *)0)) { tmp___53 = lnet_net2rnethash(net); list_add_tail(& rnet->lrn_list, tmp___53); rnet2 = rnet; } else { } add_route = 1; e = rnet2->lrn_routes.next; goto ldv_51497; ldv_51496: __mptr = (struct list_head const *)e; route2 = (lnet_route_t *)__mptr; if ((unsigned long )route2->lr_gateway == (unsigned long )route->lr_gateway) { add_route = 0; goto ldv_51494; } else { } tmp___54 = ldv__builtin_expect((route2->lr_gateway)->lp_nid == gateway, 0L); if (tmp___54 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___2.msg_fn = "lnet_add_route"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 375; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"route2->lr_gateway->lp_nid != gateway"); lbug_with_loc(& __msg_data___2); } else { } e = e->next; ldv_51497: ; if ((unsigned long )(& rnet2->lrn_routes) != (unsigned long )e) { goto ldv_51496; } else { } ldv_51494: ; if (add_route != 0) { lnet_peer_addref_locked(route->lr_gateway); lnet_add_route_to_rnet(rnet2, route); ni = (route->lr_gateway)->lp_ni; lnet_net_unlock(-1); if ((unsigned long )(ni->ni_lnd)->lnd_notify != (unsigned long )((void (*)(struct lnet_ni * , lnet_nid_t , int ))0)) { (*((ni->ni_lnd)->lnd_notify))(ni, gateway, 1); } else { } lnet_net_lock(-1); } else { } lnet_peer_decref_locked(route->lr_gateway); lnet_net_unlock(-1); if (add_route == 0) { s___3 = 64; tmp___56 = ldv__builtin_expect((unsigned long )route == (unsigned long )((lnet_route_t *)0), 0L); if (tmp___56 != 0L) { tmp___55 = cfs_cdebug_show(131072U, 1024U); if (tmp___55 != 0) { msgdata___16.msg_subsys = 1024; msgdata___16.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___16.msg_fn = "lnet_add_route"; msgdata___16.msg_line = 397; msgdata___16.msg_cdls = & cdls___9; msgdata___16.msg_mask = 131072; libcfs_debug_msg(& msgdata___16, "LIBCFS: free NULL \'route\' (%d bytes) at %s:%d\n", s___3, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 397); } else { } goto ldv_51501; } else { } atomic_sub(s___3, & libcfs_kmemory); tmp___58 = cfs_cdebug_show(16U, 1024U); if (tmp___58 != 0) { msgdata___17.msg_subsys = 1024; msgdata___17.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___17.msg_fn = "lnet_add_route"; msgdata___17.msg_line = 397; msgdata___17.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___17.msg_mask = 16; tmp___57 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___17, "kfreed \'route\': %d at %p (tot %d).\n", s___3, route, tmp___57); } else { } tmp___59 = ldv__builtin_expect(s___3 > 8192, 0L); if (tmp___59 != 0L) { vfree((void const *)route); } else { kfree((void const *)route); } ldv_51501: ; } else { } if ((unsigned long )rnet != (unsigned long )rnet2) { s___4 = 40; tmp___61 = ldv__builtin_expect((unsigned long )rnet == (unsigned long )((lnet_remotenet_t *)0), 0L); if (tmp___61 != 0L) { tmp___60 = cfs_cdebug_show(131072U, 1024U); if (tmp___60 != 0) { msgdata___18.msg_subsys = 1024; msgdata___18.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___18.msg_fn = "lnet_add_route"; msgdata___18.msg_line = 400; msgdata___18.msg_cdls = & cdls___10; msgdata___18.msg_mask = 131072; libcfs_debug_msg(& msgdata___18, "LIBCFS: free NULL \'rnet\' (%d bytes) at %s:%d\n", s___4, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 400); } else { } goto ldv_51506; } else { } atomic_sub(s___4, & libcfs_kmemory); tmp___63 = cfs_cdebug_show(16U, 1024U); if (tmp___63 != 0) { msgdata___19.msg_subsys = 1024; msgdata___19.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___19.msg_fn = "lnet_add_route"; msgdata___19.msg_line = 400; msgdata___19.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___19.msg_mask = 16; tmp___62 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___19, "kfreed \'rnet\': %d at %p (tot %d).\n", s___4, rnet, tmp___62); } else { } tmp___64 = ldv__builtin_expect(s___4 > 8192, 0L); if (tmp___64 != 0L) { vfree((void const *)rnet); } else { kfree((void const *)rnet); } ldv_51506: ; } else { } return (0); } } int lnet_check_routes(void) { lnet_remotenet_t *rnet ; lnet_route_t *route ; lnet_route_t *route2 ; struct list_head *e1 ; struct list_head *e2 ; int cpt ; struct list_head *rn_list ; int i ; struct list_head const *__mptr ; lnet_nid_t nid1 ; lnet_nid_t nid2 ; int net ; struct list_head const *__mptr___0 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp ; char *tmp___0 ; char *tmp___1 ; int tmp___2 ; { cpt = lnet_net_lock_current(); i = 0; goto ldv_51537; ldv_51536: rn_list = the_lnet.ln_remote_nets_hash + (unsigned long )i; e1 = rn_list->next; goto ldv_51534; ldv_51533: __mptr = (struct list_head const *)e1; rnet = (lnet_remotenet_t *)__mptr; route2 = (lnet_route_t *)0; e2 = rnet->lrn_routes.next; goto ldv_51531; ldv_51530: __mptr___0 = (struct list_head const *)e2; route = (lnet_route_t *)__mptr___0; if ((unsigned long )route2 == (unsigned long )((lnet_route_t *)0)) { route2 = route; goto ldv_51526; } else { } if ((unsigned long )(route->lr_gateway)->lp_ni == (unsigned long )(route2->lr_gateway)->lp_ni) { goto ldv_51526; } else { } nid1 = (route->lr_gateway)->lp_nid; nid2 = (route2->lr_gateway)->lp_nid; net = (int )rnet->lrn_net; lnet_net_unlock(cpt); tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_check_routes"; msgdata.msg_line = 451; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; tmp = libcfs_nid2str(nid2); tmp___0 = libcfs_nid2str(nid1); tmp___1 = libcfs_net2str((__u32 )net); libcfs_debug_msg(& msgdata, "Routes to %s via %s and %s not supported\n", tmp___1, tmp___0, tmp); } else { } return (-22); ldv_51526: e2 = e2->next; ldv_51531: ; if ((unsigned long )(& rnet->lrn_routes) != (unsigned long )e2) { goto ldv_51530; } else { } e1 = e1->next; ldv_51534: ; if ((unsigned long )e1 != (unsigned long )rn_list) { goto ldv_51533; } else { } i = i + 1; ldv_51537: ; if (1 << (int )the_lnet.ln_remote_nets_hbits > i) { goto ldv_51536; } else { } lnet_net_unlock(cpt); return (0); } } int lnet_del_route(__u32 net , lnet_nid_t gw_nid ) { struct lnet_peer *gateway ; lnet_remotenet_t *rnet ; lnet_route_t *route ; struct list_head *e1 ; struct list_head *e2 ; int rc ; struct list_head *rn_list ; int idx ; struct libcfs_debug_msg_data msgdata ; char *tmp ; char *tmp___0 ; int tmp___1 ; __u32 tmp___2 ; struct list_head const *__mptr ; __u32 tmp___3 ; struct list_head const *__mptr___0 ; int tmp___4 ; int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___5 ; long tmp___6 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___7 ; int tmp___8 ; long tmp___9 ; int s___0 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___10 ; long tmp___11 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___12 ; int tmp___13 ; long tmp___14 ; __u32 tmp___15 ; { rc = -2; idx = 0; tmp___1 = cfs_cdebug_show(512U, 1024U); if (tmp___1 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_del_route"; msgdata.msg_line = 474; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; tmp = libcfs_nid2str(gw_nid); tmp___0 = libcfs_net2str(net); libcfs_debug_msg(& msgdata, "Del route: net %s : gw %s\n", tmp___0, tmp); } else { } lnet_net_lock(-1); tmp___2 = LNET_NIDNET(0xffffffffffffffffULL); if (tmp___2 == net) { rn_list = the_lnet.ln_remote_nets_hash; } else { rn_list = lnet_net2rnethash(net); } again: e1 = rn_list->next; goto ldv_51574; ldv_51573: __mptr = (struct list_head const *)e1; rnet = (lnet_remotenet_t *)__mptr; tmp___3 = LNET_NIDNET(0xffffffffffffffffULL); if (tmp___3 != net && rnet->lrn_net != net) { goto ldv_51556; } else { } e2 = rnet->lrn_routes.next; goto ldv_51571; ldv_51570: __mptr___0 = (struct list_head const *)e2; route = (lnet_route_t *)__mptr___0; gateway = route->lr_gateway; if (gw_nid != 0xffffffffffffffffULL && gateway->lp_nid != gw_nid) { goto ldv_51559; } else { } list_del(& route->lr_list); list_del(& route->lr_gwlist); the_lnet.ln_remote_nets_version = the_lnet.ln_remote_nets_version + 1ULL; tmp___4 = list_empty((struct list_head const *)(& rnet->lrn_routes)); if (tmp___4 != 0) { list_del(& rnet->lrn_list); } else { rnet = (lnet_remotenet_t *)0; } lnet_rtr_decref_locked(gateway); lnet_peer_decref_locked(gateway); lnet_net_unlock(-1); s = 64; tmp___6 = ldv__builtin_expect((unsigned long )route == (unsigned long )((lnet_route_t *)0), 0L); if (tmp___6 != 0L) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___0.msg_fn = "lnet_del_route"; msgdata___0.msg_line = 515; msgdata___0.msg_cdls = & cdls; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "LIBCFS: free NULL \'route\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 515); } else { } goto ldv_51563; } else { } atomic_sub(s, & libcfs_kmemory); tmp___8 = cfs_cdebug_show(16U, 1024U); if (tmp___8 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___1.msg_fn = "lnet_del_route"; msgdata___1.msg_line = 515; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___7 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "kfreed \'route\': %d at %p (tot %d).\n", s, route, tmp___7); } else { } tmp___9 = ldv__builtin_expect(s > 8192, 0L); if (tmp___9 != 0L) { vfree((void const *)route); } else { kfree((void const *)route); } ldv_51563: ; if ((unsigned long )rnet != (unsigned long )((lnet_remotenet_t *)0)) { s___0 = 40; tmp___11 = ldv__builtin_expect((unsigned long )rnet == (unsigned long )((lnet_remotenet_t *)0), 0L); if (tmp___11 != 0L) { tmp___10 = cfs_cdebug_show(131072U, 1024U); if (tmp___10 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___2.msg_fn = "lnet_del_route"; msgdata___2.msg_line = 518; msgdata___2.msg_cdls = & cdls___0; msgdata___2.msg_mask = 131072; libcfs_debug_msg(& msgdata___2, "LIBCFS: free NULL \'rnet\' (%d bytes) at %s:%d\n", s___0, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 518); } else { } goto ldv_51568; } else { } atomic_sub(s___0, & libcfs_kmemory); tmp___13 = cfs_cdebug_show(16U, 1024U); if (tmp___13 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___3.msg_fn = "lnet_del_route"; msgdata___3.msg_line = 518; msgdata___3.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___3.msg_mask = 16; tmp___12 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___3, "kfreed \'rnet\': %d at %p (tot %d).\n", s___0, rnet, tmp___12); } else { } tmp___14 = ldv__builtin_expect(s___0 > 8192, 0L); if (tmp___14 != 0L) { vfree((void const *)rnet); } else { kfree((void const *)rnet); } ldv_51568: ; } else { } rc = 0; lnet_net_lock(-1); goto again; ldv_51559: e2 = e2->next; ldv_51571: ; if ((unsigned long )(& rnet->lrn_routes) != (unsigned long )e2) { goto ldv_51570; } else { } ldv_51556: e1 = e1->next; ldv_51574: ; if ((unsigned long )e1 != (unsigned long )rn_list) { goto ldv_51573; } else { } tmp___15 = LNET_NIDNET(0xffffffffffffffffULL); if (tmp___15 == net) { idx = idx + 1; if (idx < 1 << (int )the_lnet.ln_remote_nets_hbits) { rn_list = the_lnet.ln_remote_nets_hash + (unsigned long )idx; goto again; } else { } } else { } lnet_net_unlock(-1); return (rc); } } void lnet_destroy_routes(void) { __u32 tmp ; { tmp = LNET_NIDNET(0xffffffffffffffffULL); lnet_del_route(tmp, 0xffffffffffffffffULL); return; } } int lnet_get_route(int idx , __u32 *net , __u32 *hops , lnet_nid_t *gateway , __u32 *alive , __u32 *priority ) { struct list_head *e1 ; struct list_head *e2 ; lnet_remotenet_t *rnet ; lnet_route_t *route ; int cpt ; int i ; struct list_head *rn_list ; struct list_head const *__mptr ; struct list_head const *__mptr___0 ; int tmp ; { cpt = lnet_net_lock_current(); i = 0; goto ldv_51605; ldv_51604: rn_list = the_lnet.ln_remote_nets_hash + (unsigned long )i; e1 = rn_list->next; goto ldv_51602; ldv_51601: __mptr = (struct list_head const *)e1; rnet = (lnet_remotenet_t *)__mptr; e2 = rnet->lrn_routes.next; goto ldv_51599; ldv_51598: __mptr___0 = (struct list_head const *)e2; route = (lnet_route_t *)__mptr___0; tmp = idx; idx = idx - 1; if (tmp == 0) { *net = rnet->lrn_net; *hops = route->lr_hops; *priority = route->lr_priority; *gateway = (route->lr_gateway)->lp_nid; *alive = (__u32 )(route->lr_gateway)->lp_alive; lnet_net_unlock(cpt); return (0); } else { } e2 = e2->next; ldv_51599: ; if ((unsigned long )(& rnet->lrn_routes) != (unsigned long )e2) { goto ldv_51598; } else { } e1 = e1->next; ldv_51602: ; if ((unsigned long )e1 != (unsigned long )rn_list) { goto ldv_51601; } else { } i = i + 1; ldv_51605: ; if (1 << (int )the_lnet.ln_remote_nets_hbits > i) { goto ldv_51604; } else { } lnet_net_unlock(cpt); return (-2); } } void lnet_swap_pinginfo(lnet_ping_info_t *info ) { int i ; lnet_ni_status_t *stat ; { __swab32s(& info->pi_magic); __swab32s(& info->pi_features); __swab32s(& info->pi_pid); __swab32s(& info->pi_nnis); i = 0; goto ldv_51613; ldv_51612: stat = (lnet_ni_status_t *)(& info->pi_ni) + (unsigned long )i; __swab64s(& stat->ns_nid); __swab32s(& stat->ns_status); i = i + 1; ldv_51613: ; if ((__u32 )i < info->pi_nnis && i <= 15) { goto ldv_51612; } else { } return; } } static void lnet_parse_rc_info(lnet_rc_data_t *rcd ) { lnet_ping_info_t *info ; struct lnet_peer *gw ; lnet_route_t *rtr ; struct libcfs_debug_msg_data msgdata ; char *tmp ; int tmp___0 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___1 ; int tmp___2 ; struct list_head const *__mptr ; int ptl_status ; int down___0 ; int up___0 ; int i ; lnet_ni_status_t *stat ; lnet_nid_t nid ; struct libcfs_debug_msg_data msgdata___1 ; char *tmp___3 ; int tmp___4 ; __u32 tmp___5 ; __u32 tmp___6 ; __u32 tmp___7 ; __u32 tmp___8 ; __u32 tmp___9 ; __u32 tmp___10 ; __u32 tmp___11 ; struct libcfs_debug_msg_data msgdata___2 ; char *tmp___12 ; int tmp___13 ; struct list_head const *__mptr___0 ; { info = rcd->rcd_pinginfo; gw = rcd->rcd_gateway; if ((unsigned int )*((unsigned char *)gw + 80UL) == 0U) { return; } else { } if (info->pi_magic == 1735289200U) { lnet_swap_pinginfo(info); } else { } if (info->pi_magic != 1885957735U) { tmp___0 = cfs_cdebug_show(512U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_parse_rc_info"; msgdata.msg_line = 619; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; tmp = libcfs_nid2str(gw->lp_nid); libcfs_debug_msg(& msgdata, "%s: Unexpected magic %08x\n", tmp, info->pi_magic); } else { } gw->lp_ping_feats = 0U; return; } else { } gw->lp_ping_feats = info->pi_features; if ((gw->lp_ping_feats & 3U) == 0U) { tmp___2 = cfs_cdebug_show(512U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___0.msg_fn = "lnet_parse_rc_info"; msgdata___0.msg_line = 627; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 512; tmp___1 = libcfs_nid2str(gw->lp_nid); libcfs_debug_msg(& msgdata___0, "%s: Unexpected features 0x%x\n", tmp___1, gw->lp_ping_feats); } else { } return; } else { } if ((gw->lp_ping_feats & 2U) == 0U) { return; } else { } __mptr = (struct list_head const *)gw->lp_routes.next; rtr = (lnet_route_t *)__mptr + 0xfffffffffffffff0UL; goto ldv_51642; ldv_51641: ptl_status = 0; down___0 = 0; up___0 = 0; i = 0; goto ldv_51639; ldv_51638: stat = (lnet_ni_status_t *)(& info->pi_ni) + (unsigned long )i; nid = stat->ns_nid; if (nid == 0xffffffffffffffffULL) { tmp___4 = cfs_cdebug_show(512U, 1024U); if (tmp___4 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___1.msg_fn = "lnet_parse_rc_info"; msgdata___1.msg_line = 646; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 512; tmp___3 = libcfs_nid2str(gw->lp_nid); libcfs_debug_msg(& msgdata___1, "%s: unexpected LNET_NID_ANY\n", tmp___3); } else { } gw->lp_ping_feats = 0U; return; } else { } tmp___5 = LNET_NIDNET(nid); tmp___6 = LNET_NETTYP(tmp___5); if (tmp___6 == 9U) { goto ldv_51635; } else { } if (stat->ns_status == 3735943886U) { tmp___7 = LNET_NIDNET(nid); tmp___8 = LNET_NETTYP(tmp___7); if (tmp___8 != 4U) { down___0 = down___0 + 1; } else if (ptl_status != 363512030) { ptl_status = -559023410; } else { } goto ldv_51635; } else { } if (stat->ns_status == 363512030U) { tmp___9 = LNET_NIDNET(nid); if (tmp___9 == rtr->lr_net) { up___0 = 1; goto ldv_51636; } else { } tmp___10 = LNET_NIDNET(nid); tmp___11 = LNET_NETTYP(tmp___10); if (tmp___11 == 4U) { ptl_status = 363512030; } else { } goto ldv_51635; } else { } tmp___13 = cfs_cdebug_show(512U, 1024U); if (tmp___13 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___2.msg_fn = "lnet_parse_rc_info"; msgdata___2.msg_line = 675; msgdata___2.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___2.msg_mask = 512; tmp___12 = libcfs_nid2str(gw->lp_nid); libcfs_debug_msg(& msgdata___2, "%s: Unexpected status 0x%x\n", tmp___12, stat->ns_status); } else { } gw->lp_ping_feats = 0U; return; ldv_51635: i = i + 1; ldv_51639: ; if ((__u32 )i < info->pi_nnis && i <= 15) { goto ldv_51638; } else { } ldv_51636: ; if (up___0 != 0) { rtr->lr_downis = 0U; goto ldv_51640; } else { } rtr->lr_downis = (unsigned int )((ptl_status == -559023410) + down___0); ldv_51640: __mptr___0 = (struct list_head const *)rtr->lr_gwlist.next; rtr = (lnet_route_t *)__mptr___0 + 0xfffffffffffffff0UL; ldv_51642: ; if ((unsigned long )(& rtr->lr_gwlist) != (unsigned long )(& gw->lp_routes)) { goto ldv_51641; } else { } return; } } static void lnet_router_checker_event(lnet_event_t *event ) { lnet_rc_data_t *rcd ; struct lnet_peer *lp ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; int tmp___2 ; unsigned long tmp___3 ; { rcd = (lnet_rc_data_t *)event->md.user_ptr; tmp = ldv__builtin_expect((unsigned long )rcd == (unsigned long )((lnet_rc_data_t *)0), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_router_checker_event"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 694; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"rcd != ((void *)0)"); lbug_with_loc(& __msg_data); } else { } if (event->unlinked != 0) { LNetInvalidateHandle(& rcd->rcd_mdh); return; } else { } tmp___0 = ldv__builtin_expect((long )((unsigned int )event->type != 5U && (unsigned int )event->type != 3U), 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___0.msg_fn = "lnet_router_checker_event"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 702; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"event->type == LNET_EVENT_SEND || event->type == LNET_EVENT_REPLY"); lbug_with_loc(& __msg_data___0); } else { } lp = rcd->rcd_gateway; tmp___1 = ldv__builtin_expect((unsigned long )lp == (unsigned long )((struct lnet_peer *)0), 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___1.msg_fn = "lnet_router_checker_event"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 705; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"lp != ((void *)0)"); lbug_with_loc(& __msg_data___1); } else { } lnet_net_lock(lp->lp_cpt); tmp___2 = lnet_isrouter(lp); if (tmp___2 == 0 || (unsigned long )lp->lp_rcd != (unsigned long )rcd) { goto out; } else { } if ((unsigned int )event->type == 5U) { lp->lp_ping_notsent = 0U; if (event->status == 0) { goto out; } else { } } else { } tmp___3 = cfs_time_current(); lnet_notify_locked(lp, 1, event->status == 0, tmp___3); if (avoid_asym_router_failure != 0 && event->status == 0) { lnet_parse_rc_info(rcd); } else { } out: lnet_net_unlock(lp->lp_cpt); return; } } static void lnet_wait_known_routerstate(void) { lnet_peer_t *rtr ; struct list_head *entry ; int all_known ; struct libcfs_debug_msg_data __msg_data ; long tmp ; int cpt ; int tmp___0 ; struct list_head const *__mptr ; struct task_struct *tmp___1 ; long volatile __ret ; struct task_struct *tmp___2 ; struct task_struct *tmp___3 ; struct task_struct *tmp___4 ; struct task_struct *tmp___5 ; long tmp___6 ; { tmp = ldv__builtin_expect(the_lnet.ln_rc_state != 1, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_wait_known_routerstate"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 748; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_rc_state == 1"); lbug_with_loc(& __msg_data); } else { } ldv_51676: tmp___0 = lnet_net_lock_current(); cpt = tmp___0; all_known = 1; entry = the_lnet.ln_routers.next; goto ldv_51667; ldv_51666: __mptr = (struct list_head const *)entry; rtr = (lnet_peer_t *)__mptr + 0xffffffffffffffd0UL; if (rtr->lp_alive_count == 0) { all_known = 0; goto ldv_51665; } else { } entry = entry->next; ldv_51667: ; if ((unsigned long )entry != (unsigned long )(& the_lnet.ln_routers)) { goto ldv_51666; } else { } ldv_51665: lnet_net_unlock(cpt); if (all_known != 0) { return; } else { } tmp___1 = get_current(); tmp___1->task_state_change = 0UL; __ret = 2L; switch (8UL) { case 1UL: tmp___2 = get_current(); __asm__ volatile ("xchgb %b0, %1\n": "+q" (__ret), "+m" (tmp___2->state): : "memory", "cc"); goto ldv_51670; case 2UL: tmp___3 = get_current(); __asm__ volatile ("xchgw %w0, %1\n": "+r" (__ret), "+m" (tmp___3->state): : "memory", "cc"); goto ldv_51670; case 4UL: tmp___4 = get_current(); __asm__ volatile ("xchgl %0, %1\n": "+r" (__ret), "+m" (tmp___4->state): : "memory", "cc"); goto ldv_51670; case 8UL: tmp___5 = get_current(); __asm__ volatile ("xchgq %q0, %1\n": "+r" (__ret), "+m" (tmp___5->state): : "memory", "cc"); goto ldv_51670; default: __xchg_wrong_size(); } ldv_51670: tmp___6 = cfs_time_seconds(1); schedule_timeout(tmp___6); goto ldv_51676; } } void lnet_router_ni_update_locked(lnet_peer_t *gw , __u32 net ) { lnet_route_t *rte ; struct list_head const *__mptr ; struct list_head const *__mptr___0 ; { if ((gw->lp_ping_feats & 2U) != 0U) { __mptr = (struct list_head const *)gw->lp_routes.next; rte = (lnet_route_t *)__mptr + 0xfffffffffffffff0UL; goto ldv_51688; ldv_51687: ; if (rte->lr_net == net) { rte->lr_downis = 0U; goto ldv_51686; } else { } __mptr___0 = (struct list_head const *)rte->lr_gwlist.next; rte = (lnet_route_t *)__mptr___0 + 0xfffffffffffffff0UL; ldv_51688: ; if ((unsigned long )(& rte->lr_gwlist) != (unsigned long )(& gw->lp_routes)) { goto ldv_51687; } else { } ldv_51686: ; } else { } return; } } static void lnet_update_ni_status_locked(void) { lnet_ni_t *ni ; long now ; int timeout ; struct libcfs_debug_msg_data __msg_data ; long tmp ; int _max1 ; int _max2 ; unsigned long tmp___0 ; struct list_head const *__mptr ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; struct libcfs_debug_msg_data msgdata ; char *tmp___2 ; int tmp___3 ; struct list_head const *__mptr___0 ; { tmp = ldv__builtin_expect(the_lnet.ln_routing == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_update_ni_status_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 795; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_routing"); lbug_with_loc(& __msg_data); } else { } _max1 = live_router_check_interval; _max2 = dead_router_check_interval; timeout = (_max1 > _max2 ? _max1 : _max2) + router_ping_timeout; tmp___0 = get_seconds(); now = (long )tmp___0; __mptr = (struct list_head const *)the_lnet.ln_nis.next; ni = (lnet_ni_t *)__mptr + 0xffffffffffffffb8UL; goto ldv_51708; ldv_51707: ; if ((ni->ni_lnd)->lnd_type == 9U) { goto ldv_51704; } else { } if (ni->ni_last_alive + (long )timeout > now) { goto ldv_51704; } else { } spin_lock(& ni->ni_lock); if (ni->ni_last_alive + (long )timeout > now) { spin_unlock(& ni->ni_lock); goto ldv_51704; } else { } tmp___1 = ldv__builtin_expect((unsigned long )ni->ni_status == (unsigned long )((lnet_ni_status_t *)0), 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___0.msg_fn = "lnet_update_ni_status_locked"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 815; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"ni->ni_status != ((void *)0)"); lbug_with_loc(& __msg_data___0); } else { } if ((ni->ni_status)->ns_status != 3735943886U) { tmp___3 = cfs_cdebug_show(512U, 1024U); if (tmp___3 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_update_ni_status_locked"; msgdata.msg_line = 819; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; tmp___2 = libcfs_nid2str(ni->ni_nid); libcfs_debug_msg(& msgdata, "NI(%s:%d) status changed to down\n", tmp___2, timeout); } else { } (ni->ni_status)->ns_status = 3735943886U; } else { } spin_unlock(& ni->ni_lock); ldv_51704: __mptr___0 = (struct list_head const *)ni->ni_list.next; ni = (lnet_ni_t *)__mptr___0 + 0xffffffffffffffb8UL; ldv_51708: ; if ((unsigned long )(& ni->ni_list) != (unsigned long )(& the_lnet.ln_nis)) { goto ldv_51707; } else { } return; } } static void lnet_destroy_rc_data(lnet_rc_data_t *rcd ) { struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___1 ; long tmp___2 ; int cpt ; int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___3 ; long tmp___4 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___5 ; int tmp___6 ; long tmp___7 ; int s___0 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___8 ; long tmp___9 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___10 ; int tmp___11 ; long tmp___12 ; { tmp = list_empty((struct list_head const *)(& rcd->rcd_list)); tmp___0 = ldv__builtin_expect(tmp == 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_destroy_rc_data"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 831; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&rcd->rcd_list)"); lbug_with_loc(& __msg_data); } else { } tmp___1 = LNetHandleIsInvalid(rcd->rcd_mdh); tmp___2 = ldv__builtin_expect(tmp___1 == 0, 0L); if (tmp___2 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___0.msg_fn = "lnet_destroy_rc_data"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 833; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"LNetHandleIsInvalid(rcd->rcd_mdh)"); lbug_with_loc(& __msg_data___0); } else { } if ((unsigned long )rcd->rcd_gateway != (unsigned long )((struct lnet_peer *)0)) { cpt = (rcd->rcd_gateway)->lp_cpt; lnet_net_lock(cpt); lnet_peer_decref_locked(rcd->rcd_gateway); lnet_net_unlock(cpt); } else { } if ((unsigned long )rcd->rcd_pinginfo != (unsigned long )((lnet_ping_info_t *)0)) { s = 272; tmp___4 = ldv__builtin_expect((unsigned long )rcd->rcd_pinginfo == (unsigned long )((lnet_ping_info_t *)0), 0L); if (tmp___4 != 0L) { tmp___3 = cfs_cdebug_show(131072U, 1024U); if (tmp___3 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_destroy_rc_data"; msgdata.msg_line = 844; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'rcd->rcd_pinginfo\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 844); } else { } goto ldv_51720; } else { } atomic_sub(s, & libcfs_kmemory); tmp___6 = cfs_cdebug_show(16U, 1024U); if (tmp___6 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___0.msg_fn = "lnet_destroy_rc_data"; msgdata___0.msg_line = 844; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___5 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'rcd->rcd_pinginfo\': %d at %p (tot %d).\n", s, rcd->rcd_pinginfo, tmp___5); } else { } tmp___7 = ldv__builtin_expect(s > 8192, 0L); if (tmp___7 != 0L) { vfree((void const *)rcd->rcd_pinginfo); } else { kfree((void const *)rcd->rcd_pinginfo); } ldv_51720: ; } else { } s___0 = 40; tmp___9 = ldv__builtin_expect((unsigned long )rcd == (unsigned long )((lnet_rc_data_t *)0), 0L); if (tmp___9 != 0L) { tmp___8 = cfs_cdebug_show(131072U, 1024U); if (tmp___8 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___1.msg_fn = "lnet_destroy_rc_data"; msgdata___1.msg_line = 846; msgdata___1.msg_cdls = & cdls___0; msgdata___1.msg_mask = 131072; libcfs_debug_msg(& msgdata___1, "LIBCFS: free NULL \'rcd\' (%d bytes) at %s:%d\n", s___0, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 846); } else { } goto ldv_51725; } else { } atomic_sub(s___0, & libcfs_kmemory); tmp___11 = cfs_cdebug_show(16U, 1024U); if (tmp___11 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___2.msg_fn = "lnet_destroy_rc_data"; msgdata___2.msg_line = 846; msgdata___2.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___2.msg_mask = 16; tmp___10 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___2, "kfreed \'rcd\': %d at %p (tot %d).\n", s___0, rcd, tmp___10); } else { } tmp___12 = ldv__builtin_expect(s___0 > 8192, 0L); if (tmp___12 != 0L) { vfree((void const *)rcd); } else { kfree((void const *)rcd); } ldv_51725: ; return; } } static lnet_rc_data_t *lnet_create_rc_data_locked(lnet_peer_t *gateway ) { lnet_rc_data_t *rcd ; lnet_ping_info_t *pi ; int rc ; int i ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; void *tmp___1 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___2 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___3 ; int tmp___4 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___5 ; int tmp___6 ; long tmp___7 ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___8 ; long tmp___9 ; void *tmp___10 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___11 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___12 ; int tmp___13 ; struct libcfs_debug_msg_data msgdata___4 ; int tmp___14 ; int tmp___15 ; long tmp___16 ; struct libcfs_debug_msg_data __msg_data___1 ; int tmp___17 ; long tmp___18 ; lnet_md_t __constr_expr_0 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___5 ; int tmp___19 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___20 ; int tmp___21 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___22 ; int tmp___23 ; { rcd = (lnet_rc_data_t *)0; lnet_net_unlock(gateway->lp_cpt); tmp = preempt_count(); tmp___0 = ldv__builtin_expect((long )(((unsigned long )tmp & 2096896UL) != 0UL && 1), 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_create_rc_data_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 859; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((sizeof(*rcd))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } tmp___1 = kmalloc(40UL, 80U); rcd = (lnet_rc_data_t *)tmp___1; tmp___7 = ldv__builtin_expect((unsigned long )rcd == (unsigned long )((lnet_rc_data_t *)0), 0L); if (tmp___7 != 0L) { tmp___2 = cfs_cdebug_show(131072U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_create_rc_data_locked"; msgdata.msg_line = 859; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LNET: out of memory at %s:%d (tried to alloc \'(rcd)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 859, 40); } else { } tmp___4 = cfs_cdebug_show(131072U, 1024U); if (tmp___4 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___0.msg_fn = "lnet_create_rc_data_locked"; msgdata___0.msg_line = 859; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___3 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "LNET: %d total bytes allocated by lnet\n", tmp___3); } else { } } else { memset((void *)rcd, 0, 40UL); atomic_add(40, & libcfs_kmemory); tmp___6 = cfs_cdebug_show(16U, 1024U); if (tmp___6 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___1.msg_fn = "lnet_create_rc_data_locked"; msgdata___1.msg_line = 859; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___5 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "alloc \'(rcd)\': %d at %p (tot %d).\n", 40, rcd, tmp___5); } else { } } if ((unsigned long )rcd == (unsigned long )((lnet_rc_data_t *)0)) { goto out; } else { } LNetInvalidateHandle(& rcd->rcd_mdh); INIT_LIST_HEAD(& rcd->rcd_list); tmp___8 = preempt_count(); tmp___9 = ldv__builtin_expect((long )(((unsigned long )tmp___8 & 2096896UL) != 0UL && 1), 0L); if (tmp___9 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___0.msg_fn = "lnet_create_rc_data_locked"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 866; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((__builtin_offsetof(lnet_ping_info_t, pi_ni[16]))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data___0); } else { } tmp___10 = kmalloc(272UL, 80U); pi = (lnet_ping_info_t *)tmp___10; tmp___16 = ldv__builtin_expect((unsigned long )pi == (unsigned long )((lnet_ping_info_t *)0), 0L); if (tmp___16 != 0L) { tmp___11 = cfs_cdebug_show(131072U, 1024U); if (tmp___11 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___2.msg_fn = "lnet_create_rc_data_locked"; msgdata___2.msg_line = 866; msgdata___2.msg_cdls = & cdls___1; msgdata___2.msg_mask = 131072; libcfs_debug_msg(& msgdata___2, "LNET: out of memory at %s:%d (tried to alloc \'(pi)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 866, 272); } else { } tmp___13 = cfs_cdebug_show(131072U, 1024U); if (tmp___13 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___3.msg_fn = "lnet_create_rc_data_locked"; msgdata___3.msg_line = 866; msgdata___3.msg_cdls = & cdls___2; msgdata___3.msg_mask = 131072; tmp___12 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___3, "LNET: %d total bytes allocated by lnet\n", tmp___12); } else { } } else { memset((void *)pi, 0, 272UL); atomic_add(272, & libcfs_kmemory); tmp___15 = cfs_cdebug_show(16U, 1024U); if (tmp___15 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___4.msg_fn = "lnet_create_rc_data_locked"; msgdata___4.msg_line = 866; msgdata___4.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___4.msg_mask = 16; tmp___14 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___4, "alloc \'(pi)\': %d at %p (tot %d).\n", 272, pi, tmp___14); } else { } } if ((unsigned long )pi == (unsigned long )((lnet_ping_info_t *)0)) { goto out; } else { } i = 0; goto ldv_51749; ldv_51748: pi->pi_ni[i].ns_nid = 0xffffffffffffffffULL; pi->pi_ni[i].ns_status = 0U; i = i + 1; ldv_51749: ; if (i <= 15) { goto ldv_51748; } else { } rcd->rcd_pinginfo = pi; tmp___17 = LNetHandleIsInvalid(the_lnet.ln_rc_eqh); tmp___18 = ldv__builtin_expect(tmp___17 != 0, 0L); if (tmp___18 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___1.msg_fn = "lnet_create_rc_data_locked"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 876; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"!LNetHandleIsInvalid(the_lnet.ln_rc_eqh)"); lbug_with_loc(& __msg_data___1); } else { } __constr_expr_0.start = (void *)pi; __constr_expr_0.length = 272U; __constr_expr_0.threshold = -1; __constr_expr_0.max_size = 0; __constr_expr_0.options = 16U; __constr_expr_0.user_ptr = (void *)rcd; __constr_expr_0.eq_handle = the_lnet.ln_rc_eqh; rc = LNetMDBind(__constr_expr_0, 1, & rcd->rcd_mdh); if (rc < 0) { tmp___19 = cfs_cdebug_show(131072U, 1024U); if (tmp___19 != 0) { msgdata___5.msg_subsys = 1024; msgdata___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___5.msg_fn = "lnet_create_rc_data_locked"; msgdata___5.msg_line = 886; msgdata___5.msg_cdls = & cdls___3; msgdata___5.msg_mask = 131072; libcfs_debug_msg(& msgdata___5, "Can\'t bind MD: %d\n", rc); } else { } goto out; } else { } tmp___20 = ldv__builtin_expect(rc != 0, 0L); if (tmp___20 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___2.msg_fn = "lnet_create_rc_data_locked"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 889; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"rc == 0"); lbug_with_loc(& __msg_data___2); } else { } lnet_net_lock(gateway->lp_cpt); tmp___21 = lnet_isrouter(gateway); if (tmp___21 == 0 || (unsigned long )gateway->lp_rcd != (unsigned long )((lnet_rc_data_t *)0)) { lnet_net_unlock(gateway->lp_cpt); goto out; } else { } lnet_peer_addref_locked(gateway); rcd->rcd_gateway = gateway; gateway->lp_rcd = rcd; gateway->lp_ping_notsent = 0U; return (rcd); out: ; if ((unsigned long )rcd != (unsigned long )((lnet_rc_data_t *)0)) { tmp___23 = LNetHandleIsInvalid(rcd->rcd_mdh); if (tmp___23 == 0) { rc = LNetMDUnlink(rcd->rcd_mdh); tmp___22 = ldv__builtin_expect(rc != 0, 0L); if (tmp___22 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___3.msg_fn = "lnet_create_rc_data_locked"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 909; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"rc == 0"); lbug_with_loc(& __msg_data___3); } else { } } else { } lnet_destroy_rc_data(rcd); } else { } lnet_net_lock(gateway->lp_cpt); return (gateway->lp_rcd); } } static int lnet_router_check_interval(lnet_peer_t *rtr ) { int secs ; { secs = (unsigned int )*((unsigned char *)rtr + 80UL) != 0U ? live_router_check_interval : dead_router_check_interval; if (secs < 0) { secs = 0; } else { } return (secs); } } static void lnet_ping_router_locked(lnet_peer_t *rtr ) { lnet_rc_data_t *rcd ; unsigned long now ; unsigned long tmp ; int secs ; int tmp___0 ; int tmp___1 ; lnet_rc_data_t *tmp___2 ; struct libcfs_debug_msg_data msgdata ; char *tmp___3 ; int tmp___4 ; int rc ; lnet_process_id_t id ; lnet_handle_md_t mdh ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___5 ; int tmp___6 ; long tmp___7 ; unsigned long tmp___8 ; int tmp___9 ; { rcd = (lnet_rc_data_t *)0; tmp = cfs_time_current(); now = tmp; lnet_peer_addref_locked(rtr); if (rtr->lp_ping_deadline != 0UL) { tmp___0 = cfs_time_after(now, rtr->lp_ping_deadline); if (tmp___0 != 0) { lnet_notify_locked(rtr, 1, 0, now); } else { } } else { } lnet_ni_notify_locked(rtr->lp_ni, rtr); tmp___1 = lnet_isrouter(rtr); if (tmp___1 == 0 || the_lnet.ln_rc_state != 1) { lnet_peer_decref_locked(rtr); return; } else { } if ((unsigned long )rtr->lp_rcd != (unsigned long )((lnet_rc_data_t *)0)) { rcd = rtr->lp_rcd; } else { tmp___2 = lnet_create_rc_data_locked(rtr); rcd = tmp___2; } if ((unsigned long )rcd == (unsigned long )((lnet_rc_data_t *)0)) { return; } else { } secs = lnet_router_check_interval(rtr); tmp___4 = cfs_cdebug_show(512U, 1024U); if (tmp___4 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_ping_router_locked"; msgdata.msg_line = 966; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; tmp___3 = libcfs_nid2str(rtr->lp_nid); libcfs_debug_msg(& msgdata, "rtr %s %d: deadline %lu ping_notsent %d alive %d alive_count %d lp_ping_timestamp %lu\n", tmp___3, secs, rtr->lp_ping_deadline, rtr->lp_ping_notsent, (int )rtr->lp_alive, rtr->lp_alive_count, rtr->lp_ping_timestamp); } else { } if (secs != 0 && rtr->lp_ping_notsent == 0U) { tmp___7 = cfs_time_seconds(secs); tmp___8 = cfs_time_add(rtr->lp_ping_timestamp, tmp___7); tmp___9 = cfs_time_after(now, tmp___8); if (tmp___9 != 0) { id.nid = rtr->lp_nid; id.pid = 12345U; tmp___6 = cfs_cdebug_show(512U, 1024U); if (tmp___6 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___0.msg_fn = "lnet_ping_router_locked"; msgdata___0.msg_line = 977; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 512; tmp___5 = libcfs_id2str(id); libcfs_debug_msg(& msgdata___0, "Check: %s\n", tmp___5); } else { } rtr->lp_ping_notsent = 1U; rtr->lp_ping_timestamp = now; mdh = rcd->rcd_mdh; if (rtr->lp_ping_deadline == 0UL) { rtr->lp_ping_deadline = cfs_time_shift(router_ping_timeout); } else { } lnet_net_unlock(rtr->lp_cpt); rc = LNetGet(0xffffffffffffffffULL, mdh, id, 0U, 0x8000000000000000ULL, 0U); lnet_net_lock(rtr->lp_cpt); if (rc != 0) { rtr->lp_ping_notsent = 0U; } else { } } else { } } else { } lnet_peer_decref_locked(rtr); return; } } int lnet_router_checker_start(void) { int rc ; int eqsz ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; struct task_struct *__k ; struct task_struct *tmp___2 ; bool tmp___3 ; int tmp___4 ; long tmp___5 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___6 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___7 ; long tmp___8 ; { tmp = ldv__builtin_expect(the_lnet.ln_rc_state != 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_router_checker_start"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1008; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_rc_state == 0"); lbug_with_loc(& __msg_data); } else { } if (check_routers_before_use != 0 && dead_router_check_interval <= 0) { tmp___0 = cfs_cdebug_show(33685504U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_router_checker_start"; msgdata.msg_line = 1012; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 33685504; libcfs_debug_msg(& msgdata, "%x-%x: \'dead_router_check_interval\' must be set if \'check_routers_before_use\' is set\n", 266, 11); } else { } return (-22); } else { } if ((the_lnet.ln_routing == 0 && live_router_check_interval <= 0) && dead_router_check_interval <= 0) { return (0); } else { } sema_init(& the_lnet.ln_rc_signal, 0); eqsz = 0; rc = LNetEQAlloc((unsigned int )eqsz, & lnet_router_checker_event, & the_lnet.ln_rc_eqh); if (rc != 0) { tmp___1 = cfs_cdebug_show(131072U, 1024U); if (tmp___1 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___0.msg_fn = "lnet_router_checker_start"; msgdata___0.msg_line = 1028; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "Can\'t allocate EQ(%d): %d\n", eqsz, rc); } else { } return (-12); } else { } the_lnet.ln_rc_state = 1; tmp___2 = kthread_create_on_node(& lnet_router_checker, (void *)0, -1, "router_checker"); __k = tmp___2; tmp___3 = IS_ERR((void const *)__k); if (tmp___3) { tmp___4 = 0; } else { tmp___4 = 1; } if (tmp___4) { wake_up_process(__k); } else { } tmp___5 = PTR_ERR((void const *)__k); rc = (int )tmp___5; tmp___8 = ldv__builtin_expect((unsigned int )rc > 4294963200U, 0L); if (tmp___8 != 0L) { tmp___6 = cfs_cdebug_show(131072U, 1024U); if (tmp___6 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___1.msg_fn = "lnet_router_checker_start"; msgdata___1.msg_line = 1036; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 131072; libcfs_debug_msg(& msgdata___1, "Can\'t start router checker thread: %d\n", rc); } else { } down(& the_lnet.ln_rc_signal); rc = LNetEQFree(the_lnet.ln_rc_eqh); tmp___7 = ldv__builtin_expect(rc != 0, 0L); if (tmp___7 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___0.msg_fn = "lnet_router_checker_start"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1040; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"rc == 0"); lbug_with_loc(& __msg_data___0); } else { } the_lnet.ln_rc_state = 0; return (-12); } else { } if (check_routers_before_use != 0) { lnet_wait_known_routerstate(); } else { } return (0); } } void lnet_router_checker_stop(void) { int rc ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___1 ; { if (the_lnet.ln_rc_state == 0) { return; } else { } tmp = ldv__builtin_expect(the_lnet.ln_rc_state != 1, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_router_checker_stop"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1063; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_rc_state == 1"); lbug_with_loc(& __msg_data); } else { } the_lnet.ln_rc_state = 2; down(& the_lnet.ln_rc_signal); tmp___0 = ldv__builtin_expect(the_lnet.ln_rc_state != 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___0.msg_fn = "lnet_router_checker_stop"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1068; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_rc_state == 0"); lbug_with_loc(& __msg_data___0); } else { } rc = LNetEQFree(the_lnet.ln_rc_eqh); tmp___1 = ldv__builtin_expect(rc != 0, 0L); if (tmp___1 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___1.msg_fn = "lnet_router_checker_stop"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 1071; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"rc == 0"); lbug_with_loc(& __msg_data___1); } else { } return; } } static void lnet_prune_rc_data(int wait_unlink ) { lnet_rc_data_t *rcd ; lnet_rc_data_t *tmp ; lnet_peer_t *lp ; struct list_head head ; int i ; int tmp___0 ; int tmp___1 ; int tmp___2 ; long tmp___3 ; struct list_head const *__mptr ; struct libcfs_debug_msg_data __msg_data ; int tmp___4 ; long tmp___5 ; struct list_head const *__mptr___0 ; struct list_head const *__mptr___1 ; struct list_head const *__mptr___2 ; int tmp___6 ; struct list_head const *__mptr___3 ; struct list_head const *__mptr___4 ; int tmp___7 ; struct list_head const *__mptr___5 ; int tmp___8 ; int tmp___9 ; struct list_head const *__mptr___6 ; int tmp___10 ; struct libcfs_debug_msg_data msgdata ; int tmp___11 ; struct task_struct *tmp___12 ; long volatile __ret ; struct task_struct *tmp___13 ; struct task_struct *tmp___14 ; struct task_struct *tmp___15 ; struct task_struct *tmp___16 ; long tmp___17 ; int tmp___18 ; { i = 2; if (the_lnet.ln_rc_state == 1) { tmp___0 = list_empty((struct list_head const *)(& the_lnet.ln_rcd_deathrow)); if (tmp___0 != 0) { tmp___1 = list_empty((struct list_head const *)(& the_lnet.ln_rcd_zombie)); if (tmp___1 != 0) { tmp___2 = 1; } else { tmp___2 = 0; } } else { tmp___2 = 0; } } else { tmp___2 = 0; } tmp___3 = ldv__builtin_expect((long )tmp___2, 1L); if (tmp___3 != 0L) { return; } else { } INIT_LIST_HEAD(& head); lnet_net_lock(-1); if (the_lnet.ln_rc_state != 1) { __mptr = (struct list_head const *)the_lnet.ln_routers.next; lp = (lnet_peer_t *)__mptr + 0xffffffffffffffd0UL; goto ldv_51813; ldv_51812: ; if ((unsigned long )lp->lp_rcd == (unsigned long )((lnet_rc_data_t *)0)) { goto ldv_51809; } else { } tmp___4 = list_empty((struct list_head const *)(& (lp->lp_rcd)->rcd_list)); tmp___5 = ldv__builtin_expect(tmp___4 == 0, 0L); if (tmp___5 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_prune_rc_data"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1099; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&lp->lp_rcd->rcd_list)"); lbug_with_loc(& __msg_data); } else { } list_add(& (lp->lp_rcd)->rcd_list, & the_lnet.ln_rcd_deathrow); lp->lp_rcd = (lnet_rc_data_t *)0; ldv_51809: __mptr___0 = (struct list_head const *)lp->lp_rtr_list.next; lp = (lnet_peer_t *)__mptr___0 + 0xffffffffffffffd0UL; ldv_51813: ; if ((unsigned long )(& lp->lp_rtr_list) != (unsigned long )(& the_lnet.ln_routers)) { goto ldv_51812; } else { } } else { } list_splice_init(& the_lnet.ln_rcd_deathrow, & head); tmp___6 = list_empty((struct list_head const *)(& head)); if (tmp___6 == 0) { lnet_net_unlock(-1); __mptr___1 = (struct list_head const *)head.next; rcd = (lnet_rc_data_t *)__mptr___1; goto ldv_51820; ldv_51819: LNetMDUnlink(rcd->rcd_mdh); __mptr___2 = (struct list_head const *)rcd->rcd_list.next; rcd = (lnet_rc_data_t *)__mptr___2; ldv_51820: ; if ((unsigned long )(& rcd->rcd_list) != (unsigned long )(& head)) { goto ldv_51819; } else { } lnet_net_lock(-1); } else { } list_splice_init(& head, & the_lnet.ln_rcd_zombie); goto ldv_51846; ldv_51845: __mptr___3 = (struct list_head const *)the_lnet.ln_rcd_zombie.next; rcd = (lnet_rc_data_t *)__mptr___3; __mptr___4 = (struct list_head const *)rcd->rcd_list.next; tmp = (lnet_rc_data_t *)__mptr___4; goto ldv_51829; ldv_51828: tmp___7 = LNetHandleIsInvalid(rcd->rcd_mdh); if (tmp___7 != 0) { list_move(& rcd->rcd_list, & head); } else { } rcd = tmp; __mptr___5 = (struct list_head const *)tmp->rcd_list.next; tmp = (lnet_rc_data_t *)__mptr___5; ldv_51829: ; if ((unsigned long )(& rcd->rcd_list) != (unsigned long )(& the_lnet.ln_rcd_zombie)) { goto ldv_51828; } else { } if (wait_unlink != 0) { tmp___8 = list_empty((struct list_head const *)(& the_lnet.ln_rcd_zombie)); if (tmp___8 == 0) { tmp___9 = 1; } else { tmp___9 = 0; } } else { tmp___9 = 0; } wait_unlink = tmp___9; lnet_net_unlock(-1); goto ldv_51834; ldv_51833: __mptr___6 = (struct list_head const *)head.next; rcd = (lnet_rc_data_t *)__mptr___6; list_del_init(& rcd->rcd_list); lnet_destroy_rc_data(rcd); ldv_51834: tmp___10 = list_empty((struct list_head const *)(& head)); if (tmp___10 == 0) { goto ldv_51833; } else { } if (wait_unlink == 0) { return; } else { } i = i + 1; tmp___11 = cfs_cdebug_show((- i & i) == i ? 1024U : 512U, 1024U); if (tmp___11 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_prune_rc_data"; msgdata.msg_line = 1145; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = (- i & i) == i ? 1024 : 512; libcfs_debug_msg(& msgdata, "Waiting for rc buffers to unlink\n"); } else { } tmp___12 = get_current(); tmp___12->task_state_change = 0UL; __ret = 2L; switch (8UL) { case 1UL: tmp___13 = get_current(); __asm__ volatile ("xchgb %b0, %1\n": "+q" (__ret), "+m" (tmp___13->state): : "memory", "cc"); goto ldv_51839; case 2UL: tmp___14 = get_current(); __asm__ volatile ("xchgw %w0, %1\n": "+r" (__ret), "+m" (tmp___14->state): : "memory", "cc"); goto ldv_51839; case 4UL: tmp___15 = get_current(); __asm__ volatile ("xchgl %0, %1\n": "+r" (__ret), "+m" (tmp___15->state): : "memory", "cc"); goto ldv_51839; case 8UL: tmp___16 = get_current(); __asm__ volatile ("xchgq %q0, %1\n": "+r" (__ret), "+m" (tmp___16->state): : "memory", "cc"); goto ldv_51839; default: __xchg_wrong_size(); } ldv_51839: tmp___17 = cfs_time_seconds(1); schedule_timeout(tmp___17 / 4L); lnet_net_lock(-1); ldv_51846: tmp___18 = list_empty((struct list_head const *)(& the_lnet.ln_rcd_zombie)); if (tmp___18 == 0) { goto ldv_51845; } else { } lnet_net_unlock(-1); return; } } static int lnet_router_checker(void *arg ) { lnet_peer_t *rtr ; struct list_head *entry ; struct libcfs_debug_msg_data __msg_data ; long tmp ; __u64 version ; int cpt ; int cpt2 ; struct list_head const *__mptr ; struct task_struct *tmp___0 ; long volatile __ret ; struct task_struct *tmp___1 ; struct task_struct *tmp___2 ; struct task_struct *tmp___3 ; struct task_struct *tmp___4 ; long tmp___5 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___6 ; { cfs_block_allsigs(); tmp = ldv__builtin_expect(the_lnet.ln_rc_state != 1, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_router_checker"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1163; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_rc_state == 1"); lbug_with_loc(& __msg_data); } else { } goto ldv_51873; ldv_51872: cpt = lnet_net_lock_current(); rescan: version = the_lnet.ln_routers_version; entry = the_lnet.ln_routers.next; goto ldv_51862; ldv_51861: __mptr = (struct list_head const *)entry; rtr = (lnet_peer_t *)__mptr + 0xffffffffffffffd0UL; cpt2 = lnet_cpt_of_nid_locked(rtr->lp_nid); if (cpt != cpt2) { lnet_net_unlock(cpt); cpt = cpt2; lnet_net_lock(cpt); if (the_lnet.ln_routers_version != version) { goto rescan; } else { } } else { } lnet_ping_router_locked(rtr); if (the_lnet.ln_routers_version != version) { goto rescan; } else { } entry = entry->next; ldv_51862: ; if ((unsigned long )entry != (unsigned long )(& the_lnet.ln_routers)) { goto ldv_51861; } else { } if (the_lnet.ln_routing != 0) { lnet_update_ni_status_locked(); } else { } lnet_net_unlock(cpt); lnet_prune_rc_data(0); tmp___0 = get_current(); tmp___0->task_state_change = 0UL; __ret = 1L; switch (8UL) { case 1UL: tmp___1 = get_current(); __asm__ volatile ("xchgb %b0, %1\n": "+q" (__ret), "+m" (tmp___1->state): : "memory", "cc"); goto ldv_51866; case 2UL: tmp___2 = get_current(); __asm__ volatile ("xchgw %w0, %1\n": "+r" (__ret), "+m" (tmp___2->state): : "memory", "cc"); goto ldv_51866; case 4UL: tmp___3 = get_current(); __asm__ volatile ("xchgl %0, %1\n": "+r" (__ret), "+m" (tmp___3->state): : "memory", "cc"); goto ldv_51866; case 8UL: tmp___4 = get_current(); __asm__ volatile ("xchgq %q0, %1\n": "+r" (__ret), "+m" (tmp___4->state): : "memory", "cc"); goto ldv_51866; default: __xchg_wrong_size(); } ldv_51866: tmp___5 = cfs_time_seconds(1); schedule_timeout(tmp___5); ldv_51873: ; if (the_lnet.ln_rc_state == 1) { goto ldv_51872; } else { } tmp___6 = ldv__builtin_expect(the_lnet.ln_rc_state != 2, 0L); if (tmp___6 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___0.msg_fn = "lnet_router_checker"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1210; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_rc_state == 2"); lbug_with_loc(& __msg_data___0); } else { } lnet_prune_rc_data(1); the_lnet.ln_rc_state = 0; up(& the_lnet.ln_rc_signal); return (0); } } static void lnet_destroy_rtrbuf(lnet_rtrbuf_t *rb , int npages ) { int sz ; int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; int tmp___2 ; long tmp___3 ; { sz = (int )((unsigned int )((unsigned long )npages) * 16U + 24U); goto ldv_51882; ldv_51881: __free_pages(rb->rb_kiov[npages].kiov_page, 0U); ldv_51882: npages = npages - 1; if (npages >= 0) { goto ldv_51881; } else { } s = sz; tmp___0 = ldv__builtin_expect((unsigned long )rb == (unsigned long )((lnet_rtrbuf_t *)0), 0L); if (tmp___0 != 0L) { tmp = cfs_cdebug_show(131072U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_destroy_rtrbuf"; msgdata.msg_line = 1228; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'rb\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 1228); } else { } goto ldv_51888; } else { } atomic_sub(s, & libcfs_kmemory); tmp___2 = cfs_cdebug_show(16U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___0.msg_fn = "lnet_destroy_rtrbuf"; msgdata___0.msg_line = 1228; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___1 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'rb\': %d at %p (tot %d).\n", s, rb, tmp___1); } else { } tmp___3 = ldv__builtin_expect(s > 8192, 0L); if (tmp___3 != 0L) { vfree((void const *)rb); } else { kfree((void const *)rb); } ldv_51888: ; return; } } static lnet_rtrbuf_t *lnet_new_rtrbuf(lnet_rtrbufpool_t *rbp , int cpt ) { int npages ; int sz ; struct page *page ; lnet_rtrbuf_t *rb ; int i ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; int tmp___1 ; void *tmp___2 ; int tmp___3 ; void *tmp___4 ; void *tmp___5 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___6 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___7 ; int tmp___8 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___9 ; int tmp___10 ; long tmp___11 ; int tmp___12 ; int s ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___13 ; long tmp___14 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___15 ; int tmp___16 ; long tmp___17 ; { npages = rbp->rbp_npages; sz = (int )((unsigned int )((unsigned long )npages) * 16U + 24U); tmp = preempt_count(); tmp___0 = ldv__builtin_expect((long )(((unsigned long )tmp & 2096896UL) != 0UL && 1), 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_new_rtrbuf"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1240; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((sz)) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } if (sz <= 8192) { tmp___1 = cfs_cpt_spread_node(the_lnet.ln_cpt_table, cpt); tmp___2 = kmalloc_node((size_t )sz, 80U, tmp___1); tmp___5 = tmp___2; } else { tmp___3 = cfs_cpt_spread_node(the_lnet.ln_cpt_table, cpt); tmp___4 = vmalloc_node((unsigned long )sz, tmp___3); tmp___5 = tmp___4; } rb = (lnet_rtrbuf_t *)tmp___5; tmp___11 = ldv__builtin_expect((unsigned long )rb == (unsigned long )((lnet_rtrbuf_t *)0), 0L); if (tmp___11 != 0L) { tmp___6 = cfs_cdebug_show(131072U, 1024U); if (tmp___6 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_new_rtrbuf"; msgdata.msg_line = 1240; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LNET: out of memory at %s:%d (tried to alloc \'(rb)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 1240, sz); } else { } tmp___8 = cfs_cdebug_show(131072U, 1024U); if (tmp___8 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___0.msg_fn = "lnet_new_rtrbuf"; msgdata___0.msg_line = 1240; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___7 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "LNET: %d total bytes allocated by lnet\n", tmp___7); } else { } } else { memset((void *)rb, 0, (size_t )sz); atomic_add(sz, & libcfs_kmemory); tmp___10 = cfs_cdebug_show(16U, 1024U); if (tmp___10 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___1.msg_fn = "lnet_new_rtrbuf"; msgdata___1.msg_line = 1240; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___9 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "alloc \'(rb)\': %d at %p (tot %d).\n", sz, rb, tmp___9); } else { } } if ((unsigned long )rb == (unsigned long )((lnet_rtrbuf_t *)0)) { return ((lnet_rtrbuf_t *)0); } else { } rb->rb_pool = rbp; i = 0; goto ldv_51915; ldv_51914: tmp___12 = cfs_cpt_spread_node(the_lnet.ln_cpt_table, cpt); page = alloc_pages_node(tmp___12, 32960U, 0U); if ((unsigned long )page == (unsigned long )((struct page *)0)) { goto ldv_51907; ldv_51906: __free_pages(rb->rb_kiov[i].kiov_page, 0U); ldv_51907: i = i - 1; if (i >= 0) { goto ldv_51906; } else { } s = sz; tmp___14 = ldv__builtin_expect((unsigned long )rb == (unsigned long )((lnet_rtrbuf_t *)0), 0L); if (tmp___14 != 0L) { tmp___13 = cfs_cdebug_show(131072U, 1024U); if (tmp___13 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___2.msg_fn = "lnet_new_rtrbuf"; msgdata___2.msg_line = 1254; msgdata___2.msg_cdls = & cdls___1; msgdata___2.msg_mask = 131072; libcfs_debug_msg(& msgdata___2, "LIBCFS: free NULL \'rb\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c", 1254); } else { } goto ldv_51912; } else { } atomic_sub(s, & libcfs_kmemory); tmp___16 = cfs_cdebug_show(16U, 1024U); if (tmp___16 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___3.msg_fn = "lnet_new_rtrbuf"; msgdata___3.msg_line = 1254; msgdata___3.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___3.msg_mask = 16; tmp___15 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___3, "kfreed \'rb\': %d at %p (tot %d).\n", s, rb, tmp___15); } else { } tmp___17 = ldv__builtin_expect(s > 8192, 0L); if (tmp___17 != 0L) { vfree((void const *)rb); } else { kfree((void const *)rb); } ldv_51912: ; return ((lnet_rtrbuf_t *)0); } else { } rb->rb_kiov[i].kiov_len = 4096U; rb->rb_kiov[i].kiov_offset = 0U; rb->rb_kiov[i].kiov_page = page; i = i + 1; ldv_51915: ; if (i < npages) { goto ldv_51914; } else { } return (rb); } } static void lnet_rtrpool_free_bufs(lnet_rtrbufpool_t *rbp ) { int npages ; int nbuffers ; lnet_rtrbuf_t *rb ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___2 ; struct list_head const *__mptr ; int tmp___3 ; struct libcfs_debug_msg_data __msg_data___2 ; long tmp___4 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___5 ; int tmp___6 ; { npages = rbp->rbp_npages; nbuffers = 0; if (rbp->rbp_nbuffers == 0) { return; } else { } tmp = list_empty((struct list_head const *)(& rbp->rbp_msgs)); tmp___0 = ldv__builtin_expect(tmp == 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_rtrpool_free_bufs"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1276; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&rbp->rbp_msgs)"); lbug_with_loc(& __msg_data); } else { } tmp___1 = ldv__builtin_expect(rbp->rbp_credits != rbp->rbp_nbuffers, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___0.msg_fn = "lnet_rtrpool_free_bufs"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1277; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"rbp->rbp_credits == rbp->rbp_nbuffers"); lbug_with_loc(& __msg_data___0); } else { } goto ldv_51930; ldv_51929: tmp___2 = ldv__builtin_expect(rbp->rbp_credits <= 0, 0L); if (tmp___2 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___1.msg_fn = "lnet_rtrpool_free_bufs"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 1280; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"rbp->rbp_credits > 0"); lbug_with_loc(& __msg_data___1); } else { } __mptr = (struct list_head const *)rbp->rbp_bufs.next; rb = (lnet_rtrbuf_t *)__mptr; list_del(& rb->rb_list); lnet_destroy_rtrbuf(rb, npages); nbuffers = nbuffers + 1; ldv_51930: tmp___3 = list_empty((struct list_head const *)(& rbp->rbp_bufs)); if (tmp___3 == 0) { goto ldv_51929; } else { } tmp___4 = ldv__builtin_expect(rbp->rbp_nbuffers != nbuffers, 0L); if (tmp___4 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___2.msg_fn = "lnet_rtrpool_free_bufs"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 1289; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"rbp->rbp_nbuffers == nbuffers"); lbug_with_loc(& __msg_data___2); } else { } tmp___5 = ldv__builtin_expect(rbp->rbp_credits != nbuffers, 0L); if (tmp___5 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___3.msg_fn = "lnet_rtrpool_free_bufs"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 1290; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"rbp->rbp_credits == nbuffers"); lbug_with_loc(& __msg_data___3); } else { } tmp___6 = 0; rbp->rbp_credits = tmp___6; rbp->rbp_nbuffers = tmp___6; return; } } static int lnet_rtrpool_alloc_bufs(lnet_rtrbufpool_t *rbp , int nbufs , int cpt ) { lnet_rtrbuf_t *rb ; int i ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___1 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___2 ; { if (rbp->rbp_nbuffers != 0) { tmp = ldv__builtin_expect(rbp->rbp_nbuffers != nbufs, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_rtrpool_alloc_bufs"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1302; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"rbp->rbp_nbuffers == nbufs"); lbug_with_loc(& __msg_data); } else { } return (0); } else { } i = 0; goto ldv_51947; ldv_51946: rb = lnet_new_rtrbuf(rbp, cpt); if ((unsigned long )rb == (unsigned long )((lnet_rtrbuf_t *)0)) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_rtrpool_alloc_bufs"; msgdata.msg_line = 1311; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Failed to allocate %d router bufs of %d pages\n", nbufs, rbp->rbp_npages); } else { } return (-12); } else { } rbp->rbp_nbuffers = rbp->rbp_nbuffers + 1; rbp->rbp_credits = rbp->rbp_credits + 1; rbp->rbp_mincredits = rbp->rbp_mincredits + 1; list_add(& rb->rb_list, & rbp->rbp_bufs); tmp___1 = ldv__builtin_expect(the_lnet.ln_routing != 0, 0L); if (tmp___1 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___0.msg_fn = "lnet_rtrpool_alloc_bufs"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 1322; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"!the_lnet.ln_routing"); lbug_with_loc(& __msg_data___0); } else { } i = i + 1; ldv_51947: ; if (i < nbufs) { goto ldv_51946; } else { } tmp___2 = ldv__builtin_expect(rbp->rbp_credits != nbufs, 0L); if (tmp___2 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data___1.msg_fn = "lnet_rtrpool_alloc_bufs"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 1325; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"rbp->rbp_credits == nbufs"); lbug_with_loc(& __msg_data___1); } else { } return (0); } } static void lnet_rtrpool_init(lnet_rtrbufpool_t *rbp , int npages ) { { INIT_LIST_HEAD(& rbp->rbp_msgs); INIT_LIST_HEAD(& rbp->rbp_bufs); rbp->rbp_npages = npages; rbp->rbp_credits = 0; rbp->rbp_mincredits = 0; return; } } void lnet_rtrpools_free(void) { lnet_rtrbufpool_t *rtrp ; int i ; int tmp ; { if ((unsigned long )the_lnet.ln_rtrpools == (unsigned long )((lnet_rtrbufpool_t **)0)) { return; } else { } i = 0; goto ldv_51960; ldv_51959: lnet_rtrpool_free_bufs(rtrp); lnet_rtrpool_free_bufs(rtrp + 1UL); lnet_rtrpool_free_bufs(rtrp + 2UL); i = i + 1; ldv_51960: tmp = cfs_percpt_number((void *)the_lnet.ln_rtrpools); if (tmp > i) { rtrp = *(the_lnet.ln_rtrpools + (unsigned long )i); if ((unsigned long )rtrp != (unsigned long )((lnet_rtrbufpool_t *)0)) { goto ldv_51959; } else { goto ldv_51961; } } else { } ldv_51961: cfs_percpt_free((void *)the_lnet.ln_rtrpools); the_lnet.ln_rtrpools = (lnet_rtrbufpool_t **)0; return; } } static int lnet_nrb_tiny_calculate(int npages ) { int nrbs ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; int _max1 ; int _max2 ; { nrbs = 2048; if (tiny_router_buffers < 0) { tmp = cfs_cdebug_show(33685504U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_nrb_tiny_calculate"; msgdata.msg_line = 1367; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 33685504; libcfs_debug_msg(& msgdata, "%x-%x: tiny_router_buffers=%d invalid when routing enabled\n", 268, 13, tiny_router_buffers); } else { } return (-1); } else { } if (tiny_router_buffers > 0) { nrbs = tiny_router_buffers; } else { } nrbs = (int )((unsigned int )nrbs / the_lnet.ln_cpt_number); _max1 = nrbs; _max2 = 512; return (_max1 > _max2 ? _max1 : _max2); } } static int lnet_nrb_small_calculate(int npages ) { int nrbs ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; int _max1 ; int _max2 ; { nrbs = 16384; if (small_router_buffers < 0) { tmp = cfs_cdebug_show(33685504U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_nrb_small_calculate"; msgdata.msg_line = 1386; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 33685504; libcfs_debug_msg(& msgdata, "%x-%x: small_router_buffers=%d invalid when routing enabled\n", 268, 13, small_router_buffers); } else { } return (-1); } else { } if (small_router_buffers > 0) { nrbs = small_router_buffers; } else { } nrbs = (int )((unsigned int )nrbs / the_lnet.ln_cpt_number); _max1 = nrbs; _max2 = 4096; return (_max1 > _max2 ? _max1 : _max2); } } static int lnet_nrb_large_calculate(int npages ) { int nrbs ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; int _max1 ; int _max2 ; { nrbs = 1024; if (large_router_buffers < 0) { tmp = cfs_cdebug_show(33685504U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_nrb_large_calculate"; msgdata.msg_line = 1405; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 33685504; libcfs_debug_msg(& msgdata, "%x-%x: large_router_buffers=%d invalid when routing enabled\n", 268, 13, large_router_buffers); } else { } return (-1); } else { } if (large_router_buffers > 0) { nrbs = large_router_buffers; } else { } nrbs = (int )((unsigned int )nrbs / the_lnet.ln_cpt_number); _max1 = nrbs; _max2 = 256; return (_max1 > _max2 ? _max1 : _max2); } } int lnet_rtrpools_alloc(int im_a_router ) { lnet_rtrbufpool_t *rtrp ; int large_pages ; int small_pages ; int nrb_tiny ; int nrb_small ; int nrb_large ; int rc ; int i ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp ; int tmp___0 ; int tmp___1 ; int tmp___2 ; void *tmp___3 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___4 ; int tmp___5 ; { small_pages = 1; large_pages = 256; tmp___2 = strcmp((char const *)forwarding, ""); if (tmp___2 == 0) { if (im_a_router == 0) { return (0); } else { } } else { tmp___1 = strcmp((char const *)forwarding, "disabled"); if (tmp___1 == 0) { return (0); } else { tmp___0 = strcmp((char const *)forwarding, "enabled"); if (tmp___0 == 0) { } else { tmp = cfs_cdebug_show(33685504U, 1024U); if (tmp != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_rtrpools_alloc"; msgdata.msg_line = 1440; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 33685504; libcfs_debug_msg(& msgdata, "%x-%x: \'forwarding\' not set to either \'enabled\' or \'disabled\'\n", 267, 10); } else { } return (-22); } } } nrb_tiny = lnet_nrb_tiny_calculate(0); if (nrb_tiny < 0) { return (-22); } else { } nrb_small = lnet_nrb_small_calculate(small_pages); if (nrb_small < 0) { return (-22); } else { } nrb_large = lnet_nrb_large_calculate(large_pages); if (nrb_large < 0) { return (-22); } else { } tmp___3 = cfs_percpt_alloc(the_lnet.ln_cpt_table, 144U); the_lnet.ln_rtrpools = (lnet_rtrbufpool_t **)tmp___3; if ((unsigned long )the_lnet.ln_rtrpools == (unsigned long )((lnet_rtrbufpool_t **)0)) { tmp___4 = cfs_cdebug_show(33685504U, 1024U); if (tmp___4 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___0.msg_fn = "lnet_rtrpools_alloc"; msgdata___0.msg_line = 1461; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 33685504; libcfs_debug_msg(& msgdata___0, "%x-%x: Failed to initialize router buffe pool\n", 268, 13); } else { } return (-12); } else { } i = 0; goto ldv_52010; ldv_52009: lnet_rtrpool_init(rtrp, 0); rc = lnet_rtrpool_alloc_bufs(rtrp, nrb_tiny, i); if (rc != 0) { goto failed; } else { } lnet_rtrpool_init(rtrp + 1UL, small_pages); rc = lnet_rtrpool_alloc_bufs(rtrp + 1UL, nrb_small, i); if (rc != 0) { goto failed; } else { } lnet_rtrpool_init(rtrp + 2UL, large_pages); rc = lnet_rtrpool_alloc_bufs(rtrp + 2UL, nrb_large, i); if (rc != 0) { goto failed; } else { } i = i + 1; ldv_52010: tmp___5 = cfs_percpt_number((void *)the_lnet.ln_rtrpools); if (tmp___5 > i) { rtrp = *(the_lnet.ln_rtrpools + (unsigned long )i); if ((unsigned long )rtrp != (unsigned long )((lnet_rtrbufpool_t *)0)) { goto ldv_52009; } else { goto ldv_52011; } } else { } ldv_52011: lnet_net_lock(-1); the_lnet.ln_routing = 1; lnet_net_unlock(-1); return (0); failed: lnet_rtrpools_free(); return (rc); } } int lnet_notify(lnet_ni_t *ni , lnet_nid_t nid , int alive , unsigned long when ) { struct lnet_peer *lp ; unsigned long now ; unsigned long tmp ; int cpt ; int tmp___0 ; struct libcfs_debug_msg_data __msg_data ; int tmp___1 ; long tmp___2 ; struct libcfs_debug_msg_data msgdata ; char *tmp___3 ; char *tmp___4 ; char *tmp___5 ; int tmp___6 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___7 ; char *tmp___8 ; int tmp___9 ; __u32 tmp___10 ; __u32 tmp___11 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___1 ; unsigned long tmp___12 ; time_t tmp___13 ; char *tmp___14 ; char *tmp___15 ; char *tmp___16 ; int tmp___17 ; int tmp___18 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___19 ; lnet_peer_t *tmp___20 ; struct libcfs_debug_msg_data msgdata___3 ; char *tmp___21 ; int tmp___22 ; { lp = (struct lnet_peer *)0; tmp = cfs_time_current(); now = tmp; tmp___0 = lnet_cpt_of_nid(nid); cpt = tmp___0; tmp___1 = preempt_count(); tmp___2 = ldv__builtin_expect(((unsigned long )tmp___1 & 2096896UL) != 0UL, 0L); if (tmp___2 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; __msg_data.msg_fn = "lnet_notify"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 1500; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4)))))"); lbug_with_loc(& __msg_data); } else { } tmp___6 = cfs_cdebug_show(512U, 1024U); if (tmp___6 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata.msg_fn = "lnet_notify"; msgdata.msg_line = 1505; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 512; tmp___3 = libcfs_nid2str(nid); if ((unsigned long )ni != (unsigned long )((lnet_ni_t *)0)) { tmp___4 = libcfs_nid2str(ni->ni_nid); tmp___5 = tmp___4; } else { tmp___5 = (char *)"userspace"; } libcfs_debug_msg(& msgdata, "%s notifying %s: %s\n", tmp___5, tmp___3, alive != 0 ? (char *)"up" : (char *)"down"); } else { } if ((unsigned long )ni != (unsigned long )((lnet_ni_t *)0)) { tmp___10 = LNET_NIDNET(ni->ni_nid); tmp___11 = LNET_NIDNET(nid); if (tmp___10 != tmp___11) { tmp___9 = cfs_cdebug_show(1024U, 1024U); if (tmp___9 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___0.msg_fn = "lnet_notify"; msgdata___0.msg_line = 1511; msgdata___0.msg_cdls = & cdls; msgdata___0.msg_mask = 1024; tmp___7 = libcfs_nid2str(ni->ni_nid); tmp___8 = libcfs_nid2str(nid); libcfs_debug_msg(& msgdata___0, "Ignoring notification of %s %s by %s (different net)\n", tmp___8, alive != 0 ? (char *)"birth" : (char *)"death", tmp___7); } else { } return (-22); } else { } } else { } tmp___18 = cfs_time_after(when, now); if (tmp___18 != 0) { tmp___17 = cfs_cdebug_show(1024U, 1024U); if (tmp___17 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___1.msg_fn = "lnet_notify"; msgdata___1.msg_line = 1520; msgdata___1.msg_cdls = & cdls___0; msgdata___1.msg_mask = 1024; tmp___12 = cfs_time_sub(when, now); tmp___13 = cfs_duration_sec((long )tmp___12); tmp___14 = libcfs_nid2str(nid); if ((unsigned long )ni != (unsigned long )((lnet_ni_t *)0)) { tmp___15 = libcfs_nid2str(ni->ni_nid); tmp___16 = tmp___15; } else { tmp___16 = (char *)"userspace"; } libcfs_debug_msg(& msgdata___1, "Ignoring prediction from %s of %s %s %ld seconds in the future\n", tmp___16, tmp___14, alive != 0 ? (char *)"up" : (char *)"down", tmp___13); } else { } return (-22); } else { } if (((unsigned long )ni != (unsigned long )((lnet_ni_t *)0) && alive == 0) && auto_down == 0) { tmp___19 = cfs_cdebug_show(512U, 1024U); if (tmp___19 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___2.msg_fn = "lnet_notify"; msgdata___2.msg_line = 1526; msgdata___2.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___2.msg_mask = 512; libcfs_debug_msg(& msgdata___2, "Auto-down disabled\n"); } else { } return (0); } else { } lnet_net_lock(cpt); if (the_lnet.ln_shutdown != 0) { lnet_net_unlock(cpt); return (-108); } else { } tmp___20 = lnet_find_peer_locked(*(the_lnet.ln_peer_tables + (unsigned long )cpt), nid); lp = tmp___20; if ((unsigned long )lp == (unsigned long )((struct lnet_peer *)0)) { lnet_net_unlock(cpt); tmp___22 = cfs_cdebug_show(512U, 1024U); if (tmp___22 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/router.c"; msgdata___3.msg_fn = "lnet_notify"; msgdata___3.msg_line = 1541; msgdata___3.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___3.msg_mask = 512; tmp___21 = libcfs_nid2str(nid); libcfs_debug_msg(& msgdata___3, "%s not found\n", tmp___21); } else { } return (0); } else { } if (((unsigned long )ni != (unsigned long )((lnet_ni_t *)0) && alive == 0) && lp->lp_last_alive > when) { when = lp->lp_last_alive; } else { } lnet_notify_locked(lp, (unsigned long )ni == (unsigned long )((lnet_ni_t *)0), alive, when); lnet_ni_notify_locked(ni, lp); lnet_peer_decref_locked(lp); lnet_net_unlock(cpt); return (0); } } static char const __kstrtab_lnet_notify[12U] = { 'l', 'n', 'e', 't', '_', 'n', 'o', 't', 'i', 'f', 'y', '\000'}; struct kernel_symbol const __ksymtab_lnet_notify ; struct kernel_symbol const __ksymtab_lnet_notify = {(unsigned long )(& lnet_notify), (char const *)(& __kstrtab_lnet_notify)}; void lnet_proc_init(void) { { return; } } void lnet_proc_fini(void) { { return; } } __inline static long ldv__builtin_expect(long exp , long c ) ; __inline static long PTR_ERR(void const *ptr ) ; __inline static bool IS_ERR(void const *ptr ) ; __inline static void init_completion(struct completion *x ) { struct lock_class_key __key ; { x->done = 0U; __init_waitqueue_head(& x->wait, "&x->wait", & __key); return; } } extern void wait_for_completion(struct completion * ) ; extern void complete(struct completion * ) ; __inline static wait_queue_head_t *sk_sleep___0(struct sock *sk ) { struct socket_wq *________p1 ; struct socket_wq *_________p1 ; union __anonunion___u_355 __u ; int tmp ; { __read_once_size((void const volatile *)(& sk->sk_wq), (void *)(& __u.__c), 8); _________p1 = __u.__val; ________p1 = _________p1; tmp = debug_lockdep_rcu_enabled(); return (& ________p1->wait); } } int lnet_connect(struct socket **sockp , lnet_nid_t peer_nid , __u32 local_ip , __u32 peer_ip , int peer_port ) ; void lnet_connect_console_error(int rc , lnet_nid_t peer_nid , __u32 peer_ip , int peer_port ) ; int lnet_acceptor_timeout(void) ; int lnet_acceptor_port(void) ; static int accept_port = 988; static int accept_backlog = 127; static int accept_timeout = 5; static struct __anonstruct_lnet_acceptor_state_383 lnet_acceptor_state ; int lnet_acceptor_port(void) { { return (accept_port); } } static char const __kstrtab_lnet_acceptor_port[19U] = { 'l', 'n', 'e', 't', '_', 'a', 'c', 'c', 'e', 'p', 't', 'o', 'r', '_', 'p', 'o', 'r', 't', '\000'}; struct kernel_symbol const __ksymtab_lnet_acceptor_port ; struct kernel_symbol const __ksymtab_lnet_acceptor_port = {(unsigned long )(& lnet_acceptor_port), (char const *)(& __kstrtab_lnet_acceptor_port)}; __inline static int lnet_accept_magic(__u32 magic , __u32 constant ) { __u32 tmp ; int tmp___0 ; { if (magic == constant) { tmp___0 = 1; } else { tmp = __fswab32(constant); if (tmp == magic) { tmp___0 = 1; } else { tmp___0 = 0; } } return (tmp___0); } } static char *accept = (char *)"secure"; static char *accept_type ; static int lnet_acceptor_get_tunables(void) { { accept_type = accept; return (0); } } int lnet_acceptor_timeout(void) { { return (accept_timeout); } } static char const __kstrtab_lnet_acceptor_timeout[22U] = { 'l', 'n', 'e', 't', '_', 'a', 'c', 'c', 'e', 'p', 't', 'o', 'r', '_', 't', 'i', 'm', 'e', 'o', 'u', 't', '\000'}; struct kernel_symbol const __ksymtab_lnet_acceptor_timeout ; struct kernel_symbol const __ksymtab_lnet_acceptor_timeout = {(unsigned long )(& lnet_acceptor_timeout), (char const *)(& __kstrtab_lnet_acceptor_timeout)}; void lnet_connect_console_error(int rc , lnet_nid_t peer_nid , __u32 peer_ip , int peer_port ) { struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; char *tmp ; int tmp___0 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___1 ; int tmp___2 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; char *tmp___3 ; int tmp___4 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___2 ; char *tmp___5 ; char *tmp___6 ; int tmp___7 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___3 ; char *tmp___8 ; int tmp___9 ; struct cfs_debug_limit_state cdls___4 ; struct libcfs_debug_msg_data msgdata___4 ; char *tmp___10 ; int tmp___11 ; struct cfs_debug_limit_state cdls___5 ; struct libcfs_debug_msg_data msgdata___5 ; char *tmp___12 ; int tmp___13 ; { switch (rc) { case -111: tmp___0 = cfs_cdebug_show(256U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata.msg_fn = "lnet_connect_console_error"; msgdata.msg_line = 104; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 256; tmp = libcfs_nid2str(peer_nid); libcfs_debug_msg(& msgdata, "Connection to %s at host %pI4h on port %d was refused: check that Lustre is running on that node.\n", tmp, & peer_ip, peer_port); } else { } goto ldv_51247; case -113: ; case -101: tmp___2 = cfs_cdebug_show(256U, 1024U); if (tmp___2 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___0.msg_fn = "lnet_connect_console_error"; msgdata___0.msg_line = 109; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 256; tmp___1 = libcfs_nid2str(peer_nid); libcfs_debug_msg(& msgdata___0, "Connection to %s at host %pI4h was unreachable: the network or that node may be down, or Lustre may be misconfigured.\n", tmp___1, & peer_ip); } else { } goto ldv_51247; case -110: tmp___4 = cfs_cdebug_show(256U, 1024U); if (tmp___4 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___1.msg_fn = "lnet_connect_console_error"; msgdata___1.msg_line = 114; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 256; tmp___3 = libcfs_nid2str(peer_nid); libcfs_debug_msg(& msgdata___1, "Connection to %s at host %pI4h on port %d took too long: that node may be hung or experiencing high load.\n", tmp___3, & peer_ip, peer_port); } else { } goto ldv_51247; case -104: tmp___7 = cfs_cdebug_show(33685504U, 1024U); if (tmp___7 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___2.msg_fn = "lnet_connect_console_error"; msgdata___2.msg_line = 120; msgdata___2.msg_cdls = & cdls___2; msgdata___2.msg_mask = 33685504; tmp___5 = libcfs_nid2str(peer_nid); tmp___6 = libcfs_nid2str(peer_nid); libcfs_debug_msg(& msgdata___2, "%x-%x: Connection to %s at host %pI4h on port %d was reset: is it running a compatible version of Lustre and is %s one of its NIDs?\n", 283, 11, tmp___6, & peer_ip, peer_port, tmp___5); } else { } goto ldv_51247; case -71: tmp___9 = cfs_cdebug_show(33685504U, 1024U); if (tmp___9 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___3.msg_fn = "lnet_connect_console_error"; msgdata___3.msg_line = 125; msgdata___3.msg_cdls = & cdls___3; msgdata___3.msg_mask = 33685504; tmp___8 = libcfs_nid2str(peer_nid); libcfs_debug_msg(& msgdata___3, "%x-%x: Protocol error connecting to %s at host %pI4h on port %d: is it running a compatible version of Lustre?\n", 284, 12, tmp___8, & peer_ip, peer_port); } else { } goto ldv_51247; case -98: tmp___11 = cfs_cdebug_show(33685504U, 1024U); if (tmp___11 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___4.msg_fn = "lnet_connect_console_error"; msgdata___4.msg_line = 130; msgdata___4.msg_cdls = & cdls___4; msgdata___4.msg_mask = 33685504; tmp___10 = libcfs_nid2str(peer_nid); libcfs_debug_msg(& msgdata___4, "%x-%x: No privileged ports available to connect to %s at host %pI4h on port %d\n", 285, 13, tmp___10, & peer_ip, peer_port); } else { } goto ldv_51247; default: tmp___13 = cfs_cdebug_show(33685504U, 1024U); if (tmp___13 != 0) { msgdata___5.msg_subsys = 1024; msgdata___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___5.msg_fn = "lnet_connect_console_error"; msgdata___5.msg_line = 135; msgdata___5.msg_cdls = & cdls___5; msgdata___5.msg_mask = 33685504; tmp___12 = libcfs_nid2str(peer_nid); libcfs_debug_msg(& msgdata___5, "%x-%x: Unexpected error %d connecting to %s at host %pI4h on port %d\n", 286, 14, rc, tmp___12, & peer_ip, peer_port); } else { } goto ldv_51247; } ldv_51247: ; return; } } static char const __kstrtab_lnet_connect_console_error[27U] = { 'l', 'n', 'e', 't', '_', 'c', 'o', 'n', 'n', 'e', 'c', 't', '_', 'c', 'o', 'n', 's', 'o', 'l', 'e', '_', 'e', 'r', 'r', 'o', 'r', '\000'}; struct kernel_symbol const __ksymtab_lnet_connect_console_error ; struct kernel_symbol const __ksymtab_lnet_connect_console_error = {(unsigned long )(& lnet_connect_console_error), (char const *)(& __kstrtab_lnet_connect_console_error)}; int lnet_connect(struct socket **sockp , lnet_nid_t peer_nid , __u32 local_ip , __u32 peer_ip , int peer_port ) { lnet_acceptor_connreq_t cr ; struct socket *sock ; int rc ; int port ; int fatal ; { switch (42) { case 1: ; case 0: ; goto ldv_51291; } ldv_51291: port = 1023; goto ldv_51299; ldv_51298: rc = lnet_sock_connect(& sock, & fatal, local_ip, port, peer_ip, peer_port); if (rc != 0) { if (fatal != 0) { goto failed; } else { } goto ldv_51293; } else { } switch (42) { case 1: ; case 0: ; goto ldv_51296; } ldv_51296: cr.acr_magic = 2899210496U; cr.acr_version = 1U; cr.acr_nid = peer_nid; if (the_lnet.ln_testprotocompat != 0) { lnet_net_lock(-1); if ((the_lnet.ln_testprotocompat & 4) != 0) { cr.acr_version = cr.acr_version + 1U; the_lnet.ln_testprotocompat = the_lnet.ln_testprotocompat & -5; } else { } if ((the_lnet.ln_testprotocompat & 8) != 0) { cr.acr_magic = 1165125987U; the_lnet.ln_testprotocompat = the_lnet.ln_testprotocompat & -9; } else { } lnet_net_unlock(-1); } else { } rc = lnet_sock_write(sock, (void *)(& cr), 16, accept_timeout); if (rc != 0) { goto failed_sock; } else { } *sockp = sock; return (0); ldv_51293: port = port - 1; ldv_51299: ; if (port > 511) { goto ldv_51298; } else { } rc = -98; goto failed; failed_sock: sock_release(sock); failed: lnet_connect_console_error(rc, peer_nid, peer_ip, peer_port); return (rc); } } static char const __kstrtab_lnet_connect[13U] = { 'l', 'n', 'e', 't', '_', 'c', 'o', 'n', 'n', 'e', 'c', 't', '\000'}; struct kernel_symbol const __ksymtab_lnet_connect ; struct kernel_symbol const __ksymtab_lnet_connect = {(unsigned long )(& lnet_connect), (char const *)(& __kstrtab_lnet_connect)}; static int lnet_accept(struct socket *sock , __u32 magic ) { lnet_acceptor_connreq_t cr ; __u32 peer_ip ; int peer_port ; int rc ; int flip ; lnet_ni_t *ni ; char *str ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___1 ; int tmp___2 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___3 ; int tmp___4 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___5 ; int peer_version ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___6 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___7 ; __u32 tmp___8 ; struct cfs_debug_limit_state cdls___4 ; struct libcfs_debug_msg_data msgdata___4 ; char *tmp___9 ; int tmp___10 ; struct cfs_debug_limit_state cdls___5 ; struct libcfs_debug_msg_data msgdata___5 ; char *tmp___11 ; int tmp___12 ; struct libcfs_debug_msg_data msgdata___6 ; char *tmp___13 ; int tmp___14 ; { tmp = ldv__builtin_expect(0L, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; __msg_data.msg_fn = "lnet_accept"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 219; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"sizeof(cr) <= 16"); lbug_with_loc(& __msg_data); } else { } rc = lnet_sock_getaddr(sock, 1, & peer_ip, & peer_port); tmp___0 = ldv__builtin_expect(rc != 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; __msg_data___0.msg_fn = "lnet_accept"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 222; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"rc == 0"); lbug_with_loc(& __msg_data___0); } else { } tmp___4 = lnet_accept_magic(magic, 2899210496U); if (tmp___4 == 0) { tmp___2 = lnet_accept_magic(magic, 1165125987U); if (tmp___2 != 0) { memset((void *)(& cr), 0, 16UL); cr.acr_magic = 2899210496U; cr.acr_version = 1U; rc = lnet_sock_write(sock, (void *)(& cr), 16, accept_timeout); if (rc != 0) { tmp___1 = cfs_cdebug_show(131072U, 1024U); if (tmp___1 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata.msg_fn = "lnet_accept"; msgdata.msg_line = 240; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Error sending magic+version in response to LNET magic from %pI4h: %d\n", & peer_ip, rc); } else { } } else { } return (-71); } else { } if (magic == 4005301741U) { str = (char *)"\'old\' socknal/tcpnal"; } else { str = (char *)"unrecognised"; } tmp___3 = cfs_cdebug_show(33685504U, 1024U); if (tmp___3 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___0.msg_fn = "lnet_accept"; msgdata___0.msg_line = 250; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 33685504; libcfs_debug_msg(& msgdata___0, "%x-%x: Refusing connection from %pI4h magic %08x: %s acceptor protocol\n", 287, 15, & peer_ip, magic, str); } else { } return (-71); } else { } flip = magic != 2899210496U; rc = lnet_sock_read(sock, (void *)(& cr.acr_version), 4, accept_timeout); if (rc != 0) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___1.msg_fn = "lnet_accept"; msgdata___1.msg_line = 260; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 131072; libcfs_debug_msg(& msgdata___1, "Error %d reading connection request version from %pI4h\n", rc, & peer_ip); } else { } return (-5); } else { } if (flip != 0) { __swab32s(& cr.acr_version); } else { } if (cr.acr_version != 1U) { peer_version = (int )cr.acr_version; memset((void *)(& cr), 0, 16UL); cr.acr_magic = 2899210496U; cr.acr_version = 1U; rc = lnet_sock_write(sock, (void *)(& cr), 16, accept_timeout); if (rc != 0) { tmp___6 = cfs_cdebug_show(131072U, 1024U); if (tmp___6 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___2.msg_fn = "lnet_accept"; msgdata___2.msg_line = 281; msgdata___2.msg_cdls = & cdls___2; msgdata___2.msg_mask = 131072; libcfs_debug_msg(& msgdata___2, "Error sending magic+version in response to version %d from %pI4h: %d\n", peer_version, & peer_ip, rc); } else { } } else { } return (-71); } else { } rc = lnet_sock_read(sock, (void *)(& cr.acr_nid), 8, accept_timeout); if (rc != 0) { tmp___7 = cfs_cdebug_show(131072U, 1024U); if (tmp___7 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___3.msg_fn = "lnet_accept"; msgdata___3.msg_line = 291; msgdata___3.msg_cdls = & cdls___3; msgdata___3.msg_mask = 131072; libcfs_debug_msg(& msgdata___3, "Error %d reading connection request from %pI4h\n", rc, & peer_ip); } else { } return (-5); } else { } if (flip != 0) { __swab64s(& cr.acr_nid); } else { } tmp___8 = LNET_NIDNET(cr.acr_nid); ni = lnet_net2ni(tmp___8); if ((unsigned long )ni == (unsigned long )((lnet_ni_t *)0) || ni->ni_nid != cr.acr_nid) { if ((unsigned long )ni != (unsigned long )((lnet_ni_t *)0)) { lnet_ni_decref(ni); } else { } tmp___10 = cfs_cdebug_show(33685504U, 1024U); if (tmp___10 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___4.msg_fn = "lnet_accept"; msgdata___4.msg_line = 304; msgdata___4.msg_cdls = & cdls___4; msgdata___4.msg_mask = 33685504; tmp___9 = libcfs_nid2str(cr.acr_nid); libcfs_debug_msg(& msgdata___4, "%x-%x: Refusing connection from %pI4h for %s: No matching NI\n", 288, 3, & peer_ip, tmp___9); } else { } return (-1); } else { } if ((unsigned long )(ni->ni_lnd)->lnd_accept == (unsigned long )((int (*)(struct lnet_ni * , struct socket * ))0)) { lnet_ni_decref(ni); tmp___12 = cfs_cdebug_show(33685504U, 1024U); if (tmp___12 != 0) { msgdata___5.msg_subsys = 1024; msgdata___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___5.msg_fn = "lnet_accept"; msgdata___5.msg_line = 312; msgdata___5.msg_cdls = & cdls___5; msgdata___5.msg_mask = 33685504; tmp___11 = libcfs_nid2str(cr.acr_nid); libcfs_debug_msg(& msgdata___5, "%x-%x: Refusing connection from %pI4h for %s: NI doesn not accept IP connections\n", 289, 2, & peer_ip, tmp___11); } else { } return (-1); } else { } tmp___14 = cfs_cdebug_show(512U, 1024U); if (tmp___14 != 0) { msgdata___6.msg_subsys = 1024; msgdata___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___6.msg_fn = "lnet_accept"; msgdata___6.msg_line = 317; msgdata___6.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___6.msg_mask = 512; tmp___13 = libcfs_nid2str(cr.acr_nid); libcfs_debug_msg(& msgdata___6, "Accept %s from %pI4h\n", tmp___13, & peer_ip); } else { } rc = (*((ni->ni_lnd)->lnd_accept))(ni, sock); lnet_ni_decref(ni); return (rc); } } static int lnet_acceptor(void *arg ) { struct socket *newsock ; int rc ; __u32 magic ; __u32 peer_ip ; int peer_port ; int secure ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___1 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___2 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___3 ; struct task_struct *tmp___4 ; long volatile __ret ; struct task_struct *tmp___5 ; struct task_struct *tmp___6 ; struct task_struct *tmp___7 ; struct task_struct *tmp___8 ; long tmp___9 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___10 ; struct cfs_debug_limit_state cdls___3 ; struct libcfs_debug_msg_data msgdata___4 ; int tmp___11 ; struct cfs_debug_limit_state cdls___4 ; struct libcfs_debug_msg_data msgdata___5 ; int tmp___12 ; struct libcfs_debug_msg_data msgdata___6 ; int tmp___13 ; { secure = (int )((long )arg); tmp = ldv__builtin_expect((unsigned long )lnet_acceptor_state.pta_sock != (unsigned long )((struct socket *)0), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; __msg_data.msg_fn = "lnet_acceptor"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 335; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lnet_acceptor_state.pta_sock == ((void *)0)"); lbug_with_loc(& __msg_data); } else { } cfs_block_allsigs(); rc = lnet_sock_listen(& lnet_acceptor_state.pta_sock, 0U, accept_port, accept_backlog); if (rc != 0) { if (rc == -98) { tmp___0 = cfs_cdebug_show(33685504U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata.msg_fn = "lnet_acceptor"; msgdata.msg_line = 344; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 33685504; libcfs_debug_msg(& msgdata, "%x-%x: Can\'t start acceptor on port %d: port already in use\n", 290, 1, accept_port); } else { } } else { tmp___1 = cfs_cdebug_show(33685504U, 1024U); if (tmp___1 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___0.msg_fn = "lnet_acceptor"; msgdata___0.msg_line = 347; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 33685504; libcfs_debug_msg(& msgdata___0, "%x-%x: Can\'t start acceptor on port %d: unexpected error %d\n", 291, 0, accept_port, rc); } else { } } lnet_acceptor_state.pta_sock = (struct socket *)0; } else { tmp___2 = cfs_cdebug_show(33554432U, 1024U); if (tmp___2 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___1.msg_fn = "lnet_acceptor"; msgdata___1.msg_line = 351; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 33554432; libcfs_debug_msg(& msgdata___1, "Accept %s, port %d\n", accept_type, accept_port); } else { } } lnet_acceptor_state.pta_shutdown = rc; complete(& lnet_acceptor_state.pta_signal); if (rc != 0) { return (rc); } else { } goto ldv_51368; ldv_51377: rc = lnet_sock_accept(& newsock, lnet_acceptor_state.pta_sock); if (rc != 0) { if (rc != -11) { tmp___3 = cfs_cdebug_show(1024U, 1024U); if (tmp___3 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___2.msg_fn = "lnet_acceptor"; msgdata___2.msg_line = 366; msgdata___2.msg_cdls = & cdls___1; msgdata___2.msg_mask = 1024; libcfs_debug_msg(& msgdata___2, "Accept error %d: pausing...\n", rc); } else { } tmp___4 = get_current(); tmp___4->task_state_change = 0UL; __ret = 2L; switch (8UL) { case 1UL: tmp___5 = get_current(); __asm__ volatile ("xchgb %b0, %1\n": "+q" (__ret), "+m" (tmp___5->state): : "memory", "cc"); goto ldv_51362; case 2UL: tmp___6 = get_current(); __asm__ volatile ("xchgw %w0, %1\n": "+r" (__ret), "+m" (tmp___6->state): : "memory", "cc"); goto ldv_51362; case 4UL: tmp___7 = get_current(); __asm__ volatile ("xchgl %0, %1\n": "+r" (__ret), "+m" (tmp___7->state): : "memory", "cc"); goto ldv_51362; case 8UL: tmp___8 = get_current(); __asm__ volatile ("xchgq %q0, %1\n": "+r" (__ret), "+m" (tmp___8->state): : "memory", "cc"); goto ldv_51362; default: __xchg_wrong_size(); } ldv_51362: tmp___9 = cfs_time_seconds(1); schedule_timeout(tmp___9); } else { } goto ldv_51368; } else { } if (lnet_acceptor_state.pta_shutdown != 0) { sock_release(newsock); goto ldv_51369; } else { } rc = lnet_sock_getaddr(newsock, 1, & peer_ip, & peer_port); if (rc != 0) { tmp___10 = cfs_cdebug_show(131072U, 1024U); if (tmp___10 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___3.msg_fn = "lnet_acceptor"; msgdata___3.msg_line = 381; msgdata___3.msg_cdls = & cdls___2; msgdata___3.msg_mask = 131072; libcfs_debug_msg(& msgdata___3, "Can\'t determine new connection\'s address\n"); } else { } goto failed; } else { } if (secure != 0 && peer_port > 1023) { tmp___11 = cfs_cdebug_show(131072U, 1024U); if (tmp___11 != 0) { msgdata___4.msg_subsys = 1024; msgdata___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___4.msg_fn = "lnet_acceptor"; msgdata___4.msg_line = 387; msgdata___4.msg_cdls = & cdls___3; msgdata___4.msg_mask = 131072; libcfs_debug_msg(& msgdata___4, "Refusing connection from %pI4h: insecure port %d\n", & peer_ip, peer_port); } else { } goto failed; } else { } rc = lnet_sock_read(newsock, (void *)(& magic), 4, accept_timeout); if (rc != 0) { tmp___12 = cfs_cdebug_show(131072U, 1024U); if (tmp___12 != 0) { msgdata___5.msg_subsys = 1024; msgdata___5.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___5.msg_fn = "lnet_acceptor"; msgdata___5.msg_line = 395; msgdata___5.msg_cdls = & cdls___4; msgdata___5.msg_mask = 131072; libcfs_debug_msg(& msgdata___5, "Error %d reading connection request from %pI4h\n", rc, & peer_ip); } else { } goto failed; } else { } rc = lnet_accept(newsock, magic); if (rc != 0) { goto failed; } else { } goto ldv_51368; failed: sock_release(newsock); ldv_51368: ; if (lnet_acceptor_state.pta_shutdown == 0) { goto ldv_51377; } else { } ldv_51369: sock_release(lnet_acceptor_state.pta_sock); lnet_acceptor_state.pta_sock = (struct socket *)0; tmp___13 = cfs_cdebug_show(512U, 1024U); if (tmp___13 != 0) { msgdata___6.msg_subsys = 1024; msgdata___6.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata___6.msg_fn = "lnet_acceptor"; msgdata___6.msg_line = 412; msgdata___6.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___6.msg_mask = 512; libcfs_debug_msg(& msgdata___6, "Acceptor stopping\n"); } else { } complete(& lnet_acceptor_state.pta_signal); return (0); } } __inline static int accept2secure(char const *acc , long *sec ) { int tmp ; int tmp___0 ; int tmp___1 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___2 ; { tmp___1 = strcmp(acc, "secure"); if (tmp___1 == 0) { *sec = 1L; return (1); } else { tmp___0 = strcmp(acc, "all"); if (tmp___0 == 0) { *sec = 0L; return (1); } else { tmp = strcmp(acc, "none"); if (tmp == 0) { return (0); } else { } } } tmp___2 = cfs_cdebug_show(33685504U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata.msg_fn = "accept2secure"; msgdata.msg_line = 433; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 33685504; libcfs_debug_msg(& msgdata, "%x-%x: Can\'t parse \'accept=\"%s\"\'\n", 292, 7, acc); } else { } return (-22); } } int lnet_acceptor_start(void) { int rc ; long rc2 ; long secure ; struct libcfs_debug_msg_data __msg_data ; long tmp ; int tmp___0 ; struct task_struct *__k ; struct task_struct *tmp___1 ; bool tmp___2 ; int tmp___3 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___4 ; long tmp___5 ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___6 ; struct libcfs_debug_msg_data __msg_data___1 ; long tmp___7 ; { tmp = ldv__builtin_expect((unsigned long )lnet_acceptor_state.pta_sock != (unsigned long )((struct socket *)0), 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; __msg_data.msg_fn = "lnet_acceptor_start"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 444; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lnet_acceptor_state.pta_sock == ((void *)0)"); lbug_with_loc(& __msg_data); } else { } rc = lnet_acceptor_get_tunables(); if (rc != 0) { return (rc); } else { } init_completion(& lnet_acceptor_state.pta_signal); rc = accept2secure((char const *)accept_type, & secure); if (rc <= 0) { return (rc); } else { } tmp___0 = lnet_count_acceptor_nis(); if (tmp___0 == 0) { return (0); } else { } tmp___1 = kthread_create_on_node(& lnet_acceptor, (void *)secure, -1, "acceptor_%03ld", secure); __k = tmp___1; tmp___2 = IS_ERR((void const *)__k); if (tmp___2) { tmp___3 = 0; } else { tmp___3 = 1; } if (tmp___3) { wake_up_process(__k); } else { } rc2 = PTR_ERR((void const *)__k); tmp___5 = ldv__builtin_expect((unsigned long )rc2 > 0xfffffffffffff000UL, 0L); if (tmp___5 != 0L) { tmp___4 = cfs_cdebug_show(131072U, 1024U); if (tmp___4 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; msgdata.msg_fn = "lnet_acceptor_start"; msgdata.msg_line = 463; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Can\'t start acceptor thread: %ld\n", rc2); } else { } return (-3); } else { } wait_for_completion(& lnet_acceptor_state.pta_signal); if (lnet_acceptor_state.pta_shutdown == 0) { tmp___6 = ldv__builtin_expect((unsigned long )lnet_acceptor_state.pta_sock == (unsigned long )((struct socket *)0), 0L); if (tmp___6 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; __msg_data___0.msg_fn = "lnet_acceptor_start"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 473; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"lnet_acceptor_state.pta_sock != ((void *)0)"); lbug_with_loc(& __msg_data___0); } else { } return (0); } else { } tmp___7 = ldv__builtin_expect((unsigned long )lnet_acceptor_state.pta_sock != (unsigned long )((struct socket *)0), 0L); if (tmp___7 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/acceptor.c"; __msg_data___1.msg_fn = "lnet_acceptor_start"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 477; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"lnet_acceptor_state.pta_sock == ((void *)0)"); lbug_with_loc(& __msg_data___1); } else { } return (-100); } } void lnet_acceptor_stop(void) { wait_queue_head_t *tmp ; { if ((unsigned long )lnet_acceptor_state.pta_sock == (unsigned long )((struct socket *)0)) { return; } else { } lnet_acceptor_state.pta_shutdown = 1; tmp = sk_sleep___0((lnet_acceptor_state.pta_sock)->sk); __wake_up(tmp, 3U, 0, (void *)0); wait_for_completion(& lnet_acceptor_state.pta_signal); return; } } __inline static long ldv__builtin_expect(long exp , long c ) ; __inline static int lnet_nid2peerhash(lnet_nid_t nid ) { u64 tmp ; { tmp = hash_64(nid, 9U); return ((int )tmp); } } int lnet_peer_tables_create(void) { struct lnet_peer_table *ptable ; struct list_head *hash ; int i ; int j ; void *tmp ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___0 ; struct libcfs_debug_msg_data __msg_data ; int tmp___1 ; long tmp___2 ; int tmp___3 ; void *tmp___4 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___5 ; struct cfs_debug_limit_state cdls___1 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___6 ; int tmp___7 ; struct libcfs_debug_msg_data msgdata___2 ; int tmp___8 ; int tmp___9 ; long tmp___10 ; struct cfs_debug_limit_state cdls___2 ; struct libcfs_debug_msg_data msgdata___3 ; int tmp___11 ; int tmp___12 ; { tmp = cfs_percpt_alloc(the_lnet.ln_cpt_table, 32U); the_lnet.ln_peer_tables = (struct lnet_peer_table **)tmp; if ((unsigned long )the_lnet.ln_peer_tables == (unsigned long )((struct lnet_peer_table **)0)) { tmp___0 = cfs_cdebug_show(131072U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata.msg_fn = "lnet_peer_tables_create"; msgdata.msg_line = 54; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "Failed to allocate cpu-partition peer tables\n"); } else { } return (-12); } else { } i = 0; goto ldv_51148; ldv_51147: INIT_LIST_HEAD(& ptable->pt_deathrow); tmp___1 = preempt_count(); tmp___2 = ldv__builtin_expect((long )(((unsigned long )tmp___1 & 2096896UL) != 0UL && 1), 0L); if (tmp___2 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; __msg_data.msg_fn = "lnet_peer_tables_create"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 62; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || ((((1 << 9) * sizeof(*hash))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } tmp___3 = cfs_cpt_spread_node(the_lnet.ln_cpt_table, i); tmp___4 = kmalloc_node(8192UL, 80U, tmp___3); hash = (struct list_head *)tmp___4; tmp___10 = ldv__builtin_expect((unsigned long )hash == (unsigned long )((struct list_head *)0), 0L); if (tmp___10 != 0L) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata___0.msg_fn = "lnet_peer_tables_create"; msgdata___0.msg_line = 62; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "LNET: out of memory at %s:%d (tried to alloc \'(hash)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c", 62, 8192); } else { } tmp___7 = cfs_cdebug_show(131072U, 1024U); if (tmp___7 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata___1.msg_fn = "lnet_peer_tables_create"; msgdata___1.msg_line = 62; msgdata___1.msg_cdls = & cdls___1; msgdata___1.msg_mask = 131072; tmp___6 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "LNET: %d total bytes allocated by lnet\n", tmp___6); } else { } } else { memset((void *)hash, 0, 8192UL); atomic_add(8192, & libcfs_kmemory); tmp___9 = cfs_cdebug_show(16U, 1024U); if (tmp___9 != 0) { msgdata___2.msg_subsys = 1024; msgdata___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata___2.msg_fn = "lnet_peer_tables_create"; msgdata___2.msg_line = 62; msgdata___2.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___2.msg_mask = 16; tmp___8 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___2, "alloc \'(hash)\': %d at %p (tot %d).\n", 8192, hash, tmp___8); } else { } } if ((unsigned long )hash == (unsigned long )((struct list_head *)0)) { tmp___11 = cfs_cdebug_show(131072U, 1024U); if (tmp___11 != 0) { msgdata___3.msg_subsys = 1024; msgdata___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata___3.msg_fn = "lnet_peer_tables_create"; msgdata___3.msg_line = 64; msgdata___3.msg_cdls = & cdls___2; msgdata___3.msg_mask = 131072; libcfs_debug_msg(& msgdata___3, "Failed to create peer hash table\n"); } else { } lnet_peer_tables_destroy(); return (-12); } else { } j = 0; goto ldv_51145; ldv_51144: INIT_LIST_HEAD(hash + (unsigned long )j); j = j + 1; ldv_51145: ; if (j <= 511) { goto ldv_51144; } else { } ptable->pt_hash = hash; i = i + 1; ldv_51148: tmp___12 = cfs_percpt_number((void *)the_lnet.ln_peer_tables); if (tmp___12 > i) { ptable = *(the_lnet.ln_peer_tables + (unsigned long )i); if ((unsigned long )ptable != (unsigned long )((struct lnet_peer_table *)0)) { goto ldv_51147; } else { goto ldv_51149; } } else { } ldv_51149: ; return (0); } } void lnet_peer_tables_destroy(void) { struct lnet_peer_table *ptable ; struct list_head *hash ; int i ; int j ; struct libcfs_debug_msg_data __msg_data ; int tmp ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___0 ; int tmp___1 ; long tmp___2 ; int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___3 ; long tmp___4 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___5 ; int tmp___6 ; long tmp___7 ; int tmp___8 ; { if ((unsigned long )the_lnet.ln_peer_tables == (unsigned long )((struct lnet_peer_table **)0)) { return; } else { } i = 0; goto ldv_51170; ldv_51169: hash = ptable->pt_hash; if ((unsigned long )hash == (unsigned long )((struct list_head *)0)) { goto ldv_51157; } else { } tmp = list_empty((struct list_head const *)(& ptable->pt_deathrow)); tmp___0 = ldv__builtin_expect(tmp == 0, 0L); if (tmp___0 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; __msg_data.msg_fn = "lnet_peer_tables_destroy"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 93; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&ptable->pt_deathrow)"); lbug_with_loc(& __msg_data); } else { } ptable->pt_hash = (struct list_head *)0; j = 0; goto ldv_51162; ldv_51161: tmp___1 = list_empty((struct list_head const *)hash + (unsigned long )j); tmp___2 = ldv__builtin_expect(tmp___1 == 0, 0L); if (tmp___2 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; __msg_data___0.msg_fn = "lnet_peer_tables_destroy"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 97; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&hash[j])"); lbug_with_loc(& __msg_data___0); } else { } j = j + 1; ldv_51162: ; if (j <= 511) { goto ldv_51161; } else { } s = 8192; tmp___4 = ldv__builtin_expect((unsigned long )hash == (unsigned long )((struct list_head *)0), 0L); if (tmp___4 != 0L) { tmp___3 = cfs_cdebug_show(131072U, 1024U); if (tmp___3 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata.msg_fn = "lnet_peer_tables_destroy"; msgdata.msg_line = 99; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LIBCFS: free NULL \'hash\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c", 99); } else { } goto ldv_51167; } else { } atomic_sub(s, & libcfs_kmemory); tmp___6 = cfs_cdebug_show(16U, 1024U); if (tmp___6 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata___0.msg_fn = "lnet_peer_tables_destroy"; msgdata___0.msg_line = 99; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 16; tmp___5 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "kfreed \'hash\': %d at %p (tot %d).\n", s, hash, tmp___5); } else { } tmp___7 = ldv__builtin_expect(s > 8192, 0L); if (tmp___7 != 0L) { vfree((void const *)hash); } else { kfree((void const *)hash); } ldv_51167: i = i + 1; ldv_51170: tmp___8 = cfs_percpt_number((void *)the_lnet.ln_peer_tables); if (tmp___8 > i) { ptable = *(the_lnet.ln_peer_tables + (unsigned long )i); if ((unsigned long )ptable != (unsigned long )((struct lnet_peer_table *)0)) { goto ldv_51169; } else { goto ldv_51157; } } else { } ldv_51157: cfs_percpt_free((void *)the_lnet.ln_peer_tables); the_lnet.ln_peer_tables = (struct lnet_peer_table **)0; return; } } void lnet_peer_tables_cleanup(void) { struct lnet_peer_table *ptable ; int i ; int j ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct list_head *peers ; lnet_peer_t *lp ; struct list_head const *__mptr ; int tmp___0 ; int tmp___1 ; struct list_head deathrow ; lnet_peer_t *lp___0 ; struct libcfs_debug_msg_data msgdata ; int tmp___2 ; struct task_struct *tmp___3 ; long volatile __ret ; struct task_struct *tmp___4 ; struct task_struct *tmp___5 ; struct task_struct *tmp___6 ; struct task_struct *tmp___7 ; long tmp___8 ; struct list_head const *__mptr___0 ; int s ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___9 ; long tmp___10 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___11 ; int tmp___12 ; long tmp___13 ; int tmp___14 ; int tmp___15 ; { tmp = ldv__builtin_expect(the_lnet.ln_shutdown == 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; __msg_data.msg_fn = "lnet_peer_tables_cleanup"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 113; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"the_lnet.ln_shutdown"); lbug_with_loc(& __msg_data); } else { } i = 0; goto ldv_51190; ldv_51189: lnet_net_lock(i); j = 0; goto ldv_51187; ldv_51186: peers = ptable->pt_hash + (unsigned long )j; goto ldv_51184; ldv_51183: __mptr = (struct list_head const *)peers->next; lp = (lnet_peer_t *)__mptr; list_del_init(& lp->lp_hashlist); lnet_peer_decref_locked(lp); ldv_51184: tmp___0 = list_empty((struct list_head const *)peers); if (tmp___0 == 0) { goto ldv_51183; } else { } j = j + 1; ldv_51187: ; if (j <= 511) { goto ldv_51186; } else { } lnet_net_unlock(i); i = i + 1; ldv_51190: tmp___1 = cfs_percpt_number((void *)the_lnet.ln_peer_tables); if (tmp___1 > i) { ptable = *(the_lnet.ln_peer_tables + (unsigned long )i); if ((unsigned long )ptable != (unsigned long )((struct lnet_peer_table *)0)) { goto ldv_51189; } else { goto ldv_51191; } } else { } ldv_51191: i = 0; goto ldv_51217; ldv_51216: deathrow.next = & deathrow; deathrow.prev = & deathrow; lnet_net_lock(i); j = 3; goto ldv_51204; ldv_51203: lnet_net_unlock(i); if (((j + -1) & j) == 0) { tmp___2 = cfs_cdebug_show(1024U, 1024U); if (tmp___2 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata.msg_fn = "lnet_peer_tables_cleanup"; msgdata.msg_line = 146; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 1024; libcfs_debug_msg(& msgdata, "Waiting for %d peers on peer table\n", ptable->pt_number); } else { } } else { } tmp___3 = get_current(); tmp___3->task_state_change = 0UL; __ret = 2L; switch (8UL) { case 1UL: tmp___4 = get_current(); __asm__ volatile ("xchgb %b0, %1\n": "+q" (__ret), "+m" (tmp___4->state): : "memory", "cc"); goto ldv_51197; case 2UL: tmp___5 = get_current(); __asm__ volatile ("xchgw %w0, %1\n": "+r" (__ret), "+m" (tmp___5->state): : "memory", "cc"); goto ldv_51197; case 4UL: tmp___6 = get_current(); __asm__ volatile ("xchgl %0, %1\n": "+r" (__ret), "+m" (tmp___6->state): : "memory", "cc"); goto ldv_51197; case 8UL: tmp___7 = get_current(); __asm__ volatile ("xchgq %q0, %1\n": "+r" (__ret), "+m" (tmp___7->state): : "memory", "cc"); goto ldv_51197; default: __xchg_wrong_size(); } ldv_51197: tmp___8 = cfs_time_seconds(1); schedule_timeout(tmp___8 / 2L); lnet_net_lock(i); j = j + 1; ldv_51204: ; if (ptable->pt_number != 0) { goto ldv_51203; } else { } list_splice_init(& ptable->pt_deathrow, & deathrow); lnet_net_unlock(i); goto ldv_51214; ldv_51213: __mptr___0 = (struct list_head const *)deathrow.next; lp___0 = (lnet_peer_t *)__mptr___0; list_del(& lp___0->lp_hashlist); s = 200; tmp___10 = ldv__builtin_expect((unsigned long )lp___0 == (unsigned long )((lnet_peer_t *)0), 0L); if (tmp___10 != 0L) { tmp___9 = cfs_cdebug_show(131072U, 1024U); if (tmp___9 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata___0.msg_fn = "lnet_peer_tables_cleanup"; msgdata___0.msg_line = 160; msgdata___0.msg_cdls = & cdls; msgdata___0.msg_mask = 131072; libcfs_debug_msg(& msgdata___0, "LIBCFS: free NULL \'lp\' (%d bytes) at %s:%d\n", s, (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c", 160); } else { } goto ldv_51211; } else { } atomic_sub(s, & libcfs_kmemory); tmp___12 = cfs_cdebug_show(16U, 1024U); if (tmp___12 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata___1.msg_fn = "lnet_peer_tables_cleanup"; msgdata___1.msg_line = 160; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___11 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "kfreed \'lp\': %d at %p (tot %d).\n", s, lp___0, tmp___11); } else { } tmp___13 = ldv__builtin_expect(s > 8192, 0L); if (tmp___13 != 0L) { vfree((void const *)lp___0); } else { kfree((void const *)lp___0); } ldv_51211: ; ldv_51214: tmp___14 = list_empty((struct list_head const *)(& deathrow)); if (tmp___14 == 0) { goto ldv_51213; } else { } i = i + 1; ldv_51217: tmp___15 = cfs_percpt_number((void *)the_lnet.ln_peer_tables); if (tmp___15 > i) { ptable = *(the_lnet.ln_peer_tables + (unsigned long )i); if ((unsigned long )ptable != (unsigned long )((struct lnet_peer_table *)0)) { goto ldv_51216; } else { goto ldv_51218; } } else { } ldv_51218: ; return; } } void lnet_destroy_peer_locked(lnet_peer_t *lp ) { struct lnet_peer_table *ptable ; struct libcfs_debug_msg_data __msg_data ; long tmp ; struct libcfs_debug_msg_data __msg_data___0 ; long tmp___0 ; struct libcfs_debug_msg_data __msg_data___1 ; int tmp___1 ; long tmp___2 ; struct libcfs_debug_msg_data __msg_data___2 ; int tmp___3 ; long tmp___4 ; struct libcfs_debug_msg_data __msg_data___3 ; long tmp___5 ; struct libcfs_debug_msg_data __msg_data___4 ; long tmp___6 ; { tmp = ldv__builtin_expect(lp->lp_refcount != 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; __msg_data.msg_fn = "lnet_destroy_peer_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 170; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"lp->lp_refcount == 0"); lbug_with_loc(& __msg_data); } else { } tmp___0 = ldv__builtin_expect(lp->lp_rtr_refcount != 0, 0L); if (tmp___0 != 0L) { __msg_data___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; __msg_data___0.msg_fn = "lnet_destroy_peer_locked"; __msg_data___0.msg_subsys = 1024; __msg_data___0.msg_line = 171; __msg_data___0.msg_mask = 0; __msg_data___0.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___0.msg_mask = 262144; libcfs_debug_msg(& __msg_data___0, "ASSERTION( %s ) failed: \n", (char *)"lp->lp_rtr_refcount == 0"); lbug_with_loc(& __msg_data___0); } else { } tmp___1 = list_empty((struct list_head const *)(& lp->lp_txq)); tmp___2 = ldv__builtin_expect(tmp___1 == 0, 0L); if (tmp___2 != 0L) { __msg_data___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; __msg_data___1.msg_fn = "lnet_destroy_peer_locked"; __msg_data___1.msg_subsys = 1024; __msg_data___1.msg_line = 172; __msg_data___1.msg_mask = 0; __msg_data___1.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___1.msg_mask = 262144; libcfs_debug_msg(& __msg_data___1, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&lp->lp_txq)"); lbug_with_loc(& __msg_data___1); } else { } tmp___3 = list_empty((struct list_head const *)(& lp->lp_hashlist)); tmp___4 = ldv__builtin_expect(tmp___3 == 0, 0L); if (tmp___4 != 0L) { __msg_data___2.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; __msg_data___2.msg_fn = "lnet_destroy_peer_locked"; __msg_data___2.msg_subsys = 1024; __msg_data___2.msg_line = 173; __msg_data___2.msg_mask = 0; __msg_data___2.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___2.msg_mask = 262144; libcfs_debug_msg(& __msg_data___2, "ASSERTION( %s ) failed: \n", (char *)"list_empty(&lp->lp_hashlist)"); lbug_with_loc(& __msg_data___2); } else { } tmp___5 = ldv__builtin_expect(lp->lp_txqnob != 0L, 0L); if (tmp___5 != 0L) { __msg_data___3.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; __msg_data___3.msg_fn = "lnet_destroy_peer_locked"; __msg_data___3.msg_subsys = 1024; __msg_data___3.msg_line = 174; __msg_data___3.msg_mask = 0; __msg_data___3.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___3.msg_mask = 262144; libcfs_debug_msg(& __msg_data___3, "ASSERTION( %s ) failed: \n", (char *)"lp->lp_txqnob == 0"); lbug_with_loc(& __msg_data___3); } else { } ptable = *(the_lnet.ln_peer_tables + (unsigned long )lp->lp_cpt); tmp___6 = ldv__builtin_expect(ptable->pt_number <= 0, 0L); if (tmp___6 != 0L) { __msg_data___4.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; __msg_data___4.msg_fn = "lnet_destroy_peer_locked"; __msg_data___4.msg_subsys = 1024; __msg_data___4.msg_line = 177; __msg_data___4.msg_mask = 0; __msg_data___4.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data___4.msg_mask = 262144; libcfs_debug_msg(& __msg_data___4, "ASSERTION( %s ) failed: \n", (char *)"ptable->pt_number > 0"); lbug_with_loc(& __msg_data___4); } else { } ptable->pt_number = ptable->pt_number - 1; lnet_ni_decref_locked(lp->lp_ni, lp->lp_cpt); lp->lp_ni = (lnet_ni_t *)0; list_add(& lp->lp_hashlist, & ptable->pt_deathrow); return; } } lnet_peer_t *lnet_find_peer_locked(struct lnet_peer_table *ptable , lnet_nid_t nid ) { struct list_head *peers ; lnet_peer_t *lp ; struct libcfs_debug_msg_data __msg_data ; long tmp ; int tmp___0 ; struct list_head const *__mptr ; struct list_head const *__mptr___0 ; { tmp = ldv__builtin_expect(the_lnet.ln_shutdown != 0, 0L); if (tmp != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; __msg_data.msg_fn = "lnet_find_peer_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 192; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!the_lnet.ln_shutdown"); lbug_with_loc(& __msg_data); } else { } tmp___0 = lnet_nid2peerhash(nid); peers = ptable->pt_hash + (unsigned long )tmp___0; __mptr = (struct list_head const *)peers->next; lp = (lnet_peer_t *)__mptr; goto ldv_51243; ldv_51242: ; if (lp->lp_nid == nid) { lnet_peer_addref_locked(lp); return (lp); } else { } __mptr___0 = (struct list_head const *)lp->lp_hashlist.next; lp = (lnet_peer_t *)__mptr___0; ldv_51243: ; if ((unsigned long )(& lp->lp_hashlist) != (unsigned long )peers) { goto ldv_51242; } else { } return ((lnet_peer_t *)0); } } int lnet_nid2peer_locked(lnet_peer_t **lpp , lnet_nid_t nid , int cpt ) { struct lnet_peer_table *ptable ; lnet_peer_t *lp ; lnet_peer_t *lp2 ; int cpt2 ; int rc ; int tmp ; struct list_head const *__mptr ; int tmp___0 ; struct libcfs_debug_msg_data __msg_data ; int tmp___1 ; long tmp___2 ; int tmp___3 ; void *tmp___4 ; struct cfs_debug_limit_state cdls ; struct libcfs_debug_msg_data msgdata ; int tmp___5 ; struct cfs_debug_limit_state cdls___0 ; struct libcfs_debug_msg_data msgdata___0 ; int tmp___6 ; int tmp___7 ; struct libcfs_debug_msg_data msgdata___1 ; int tmp___8 ; int tmp___9 ; long tmp___10 ; int tmp___11 ; __u32 tmp___12 ; int tmp___13 ; int tmp___14 ; int tmp___15 ; { lp = (lnet_peer_t *)0; rc = 0; *lpp = (lnet_peer_t *)0; if (the_lnet.ln_shutdown != 0) { return (-108); } else { } if (cpt == -1) { tmp = lnet_cpt_of_nid_locked(nid); cpt2 = tmp; } else { cpt2 = cpt; } ptable = *(the_lnet.ln_peer_tables + (unsigned long )cpt2); lp = lnet_find_peer_locked(ptable, nid); if ((unsigned long )lp != (unsigned long )((lnet_peer_t *)0)) { *lpp = lp; return (0); } else { } tmp___0 = list_empty((struct list_head const *)(& ptable->pt_deathrow)); if (tmp___0 == 0) { __mptr = (struct list_head const *)ptable->pt_deathrow.next; lp = (lnet_peer_t *)__mptr; list_del(& lp->lp_hashlist); } else { } ptable->pt_number = ptable->pt_number + 1; lnet_net_unlock(cpt); if ((unsigned long )lp != (unsigned long )((lnet_peer_t *)0)) { memset((void *)lp, 0, 200UL); } else { tmp___1 = preempt_count(); tmp___2 = ldv__builtin_expect((long )(((unsigned long )tmp___1 & 2096896UL) != 0UL && 1), 0L); if (tmp___2 != 0L) { __msg_data.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; __msg_data.msg_fn = "lnet_nid2peer_locked"; __msg_data.msg_subsys = 1024; __msg_data.msg_line = 244; __msg_data.msg_mask = 0; __msg_data.msg_cdls = (struct cfs_debug_limit_state *)0; __msg_data.msg_mask = 262144; libcfs_debug_msg(& __msg_data, "ASSERTION( %s ) failed: \n", (char *)"!((preempt_count() & ((((1UL << (4))-1) << ((0 + 8) + 8)) | (((1UL << (8))-1) << (0 + 8)) | (((1UL << (1))-1) << (((0 + 8) + 8) + 4))))) || (((sizeof(*lp))) <= (2 << 12) && (((((( gfp_t)0x10u) | (( gfp_t)0x40u)))) & (( gfp_t)0x10u)) == 0)"); lbug_with_loc(& __msg_data); } else { } tmp___3 = cfs_cpt_spread_node(the_lnet.ln_cpt_table, cpt2); tmp___4 = kmalloc_node(200UL, 80U, tmp___3); lp = (lnet_peer_t *)tmp___4; tmp___10 = ldv__builtin_expect((unsigned long )lp == (unsigned long )((lnet_peer_t *)0), 0L); if (tmp___10 != 0L) { tmp___5 = cfs_cdebug_show(131072U, 1024U); if (tmp___5 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata.msg_fn = "lnet_nid2peer_locked"; msgdata.msg_line = 244; msgdata.msg_cdls = & cdls; msgdata.msg_mask = 131072; libcfs_debug_msg(& msgdata, "LNET: out of memory at %s:%d (tried to alloc \'(lp)\' = %d)\n", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c", 244, 200); } else { } tmp___7 = cfs_cdebug_show(131072U, 1024U); if (tmp___7 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata___0.msg_fn = "lnet_nid2peer_locked"; msgdata___0.msg_line = 244; msgdata___0.msg_cdls = & cdls___0; msgdata___0.msg_mask = 131072; tmp___6 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___0, "LNET: %d total bytes allocated by lnet\n", tmp___6); } else { } } else { memset((void *)lp, 0, 200UL); atomic_add(200, & libcfs_kmemory); tmp___9 = cfs_cdebug_show(16U, 1024U); if (tmp___9 != 0) { msgdata___1.msg_subsys = 1024; msgdata___1.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata___1.msg_fn = "lnet_nid2peer_locked"; msgdata___1.msg_line = 244; msgdata___1.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___1.msg_mask = 16; tmp___8 = atomic_read((atomic_t const *)(& libcfs_kmemory)); libcfs_debug_msg(& msgdata___1, "alloc \'(lp)\': %d at %p (tot %d).\n", 200, lp, tmp___8); } else { } } } if ((unsigned long )lp == (unsigned long )((lnet_peer_t *)0)) { rc = -12; lnet_net_lock(cpt); goto out; } else { } INIT_LIST_HEAD(& lp->lp_txq); INIT_LIST_HEAD(& lp->lp_rtrq); INIT_LIST_HEAD(& lp->lp_routes); lp->lp_notify = 0U; lp->lp_notifylnd = 0U; lp->lp_notifying = 0U; lp->lp_alive_count = 0; lp->lp_timestamp = 0UL; tmp___11 = lnet_peers_start_down(); lp->lp_alive = tmp___11 == 0; lp->lp_last_alive = cfs_time_current(); lp->lp_last_query = 0UL; lp->lp_ping_timestamp = 0UL; lp->lp_ping_feats = 0U; lp->lp_nid = nid; lp->lp_cpt = cpt2; lp->lp_refcount = 2; lp->lp_rtr_refcount = 0; lnet_net_lock(cpt); if (the_lnet.ln_shutdown != 0) { rc = -108; goto out; } else { } lp2 = lnet_find_peer_locked(ptable, nid); if ((unsigned long )lp2 != (unsigned long )((lnet_peer_t *)0)) { *lpp = lp2; goto out; } else { } tmp___12 = LNET_NIDNET(nid); lp->lp_ni = lnet_net2ni_locked(tmp___12, cpt2); if ((unsigned long )lp->lp_ni == (unsigned long )((lnet_ni_t *)0)) { rc = -113; goto out; } else { } tmp___13 = (lp->lp_ni)->ni_peertxcredits; lp->lp_mintxcredits = tmp___13; lp->lp_txcredits = tmp___13; tmp___14 = lnet_peer_buffer_credits(lp->lp_ni); lp->lp_minrtrcredits = tmp___14; lp->lp_rtrcredits = tmp___14; tmp___15 = lnet_nid2peerhash(nid); list_add_tail(& lp->lp_hashlist, ptable->pt_hash + (unsigned long )tmp___15); ptable->pt_version = ptable->pt_version + 1; *lpp = lp; return (0); out: ; if ((unsigned long )lp != (unsigned long )((lnet_peer_t *)0)) { list_add(& lp->lp_hashlist, & ptable->pt_deathrow); } else { } ptable->pt_number = ptable->pt_number - 1; return (rc); } } void lnet_debug_peer(lnet_nid_t nid ) { char *aliveness ; lnet_peer_t *lp ; int rc ; int cpt ; struct libcfs_debug_msg_data msgdata ; char *tmp ; int tmp___0 ; int tmp___1 ; struct libcfs_debug_msg_data msgdata___0 ; char *tmp___2 ; int tmp___3 ; { aliveness = (char *)"NA"; cpt = lnet_cpt_of_nid(nid); lnet_net_lock(cpt); rc = lnet_nid2peer_locked(& lp, nid, cpt); if (rc != 0) { lnet_net_unlock(cpt); tmp___0 = cfs_cdebug_show(1024U, 1024U); if (tmp___0 != 0) { msgdata.msg_subsys = 1024; msgdata.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata.msg_fn = "lnet_debug_peer"; msgdata.msg_line = 322; msgdata.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata.msg_mask = 1024; tmp = libcfs_nid2str(nid); libcfs_debug_msg(& msgdata, "No peer %s\n", tmp); } else { } return; } else { } tmp___1 = lnet_isrouter(lp); if (tmp___1 != 0 || (the_lnet.ln_routing != 0 && (lp->lp_ni)->ni_peertimeout > 0)) { aliveness = (unsigned int )*((unsigned char *)lp + 80UL) != 0U ? (char *)"up" : (char *)"down"; } else { } tmp___3 = cfs_cdebug_show(1024U, 1024U); if (tmp___3 != 0) { msgdata___0.msg_subsys = 1024; msgdata___0.msg_file = "/work/ldvuser/mutilin/launch/work/current--X--drivers/--X--defaultlinux-4.2-rc1.tar.xz--X--08_1a--X--cpachecker/linux-4.2-rc1.tar.xz/csd_deg_dscv/7207/dscv_tempdir/dscv/ri/08_1a/drivers/staging/lustre/lnet/lnet/peer.c"; msgdata___0.msg_fn = "lnet_debug_peer"; msgdata___0.msg_line = 333; msgdata___0.msg_cdls = (struct cfs_debug_limit_state *)0; msgdata___0.msg_mask = 1024; tmp___2 = libcfs_nid2str(lp->lp_nid); libcfs_debug_msg(& msgdata___0, "%-24s %4d %5s %5d %5d %5d %5d %5d %ld\n", tmp___2, lp->lp_refcount, aliveness, (lp->lp_ni)->ni_peertxcredits, lp->lp_rtrcredits, lp->lp_minrtrcredits, lp->lp_txcredits, lp->lp_mintxcredits, lp->lp_txqnob); } else { } lnet_peer_decref_locked(lp); lnet_net_unlock(cpt); return; } } extern void *memset(void * , int , size_t ) ; __inline static void ldv_error(void) { { ERROR: ; {reach_error();} } } bool ldv_is_err(void const *ptr ) { { return ((unsigned long )ptr > 2012UL); } } void *ldv_err_ptr(long error ) { { return ((void *)(2012L - error)); } } long ldv_ptr_err(void const *ptr ) { { return ((long )(2012UL - (unsigned long )ptr)); } } bool ldv_is_err_or_null(void const *ptr ) { bool tmp ; int tmp___0 ; { if ((unsigned long )ptr == (unsigned long )((void const *)0)) { tmp___0 = 1; } else { tmp = ldv_is_err(ptr); if ((int )tmp) { tmp___0 = 1; } else { tmp___0 = 0; } } return ((bool )tmp___0); } } int ldv_module_refcounter = 1; void ldv_module_get(struct module *module ) { { if ((unsigned long )module != (unsigned long )((struct module *)0)) { ldv_module_refcounter = ldv_module_refcounter + 1; } else { } return; } } int ldv_try_module_get(struct module *module ) { int module_get_succeeded ; { if ((unsigned long )module != (unsigned long )((struct module *)0)) { module_get_succeeded = ldv_undef_int(); if (module_get_succeeded == 1) { ldv_module_refcounter = ldv_module_refcounter + 1; return (1); } else { return (0); } } else { } return (0); } } void ldv_module_put(struct module *module ) { { if ((unsigned long )module != (unsigned long )((struct module *)0)) { if (ldv_module_refcounter <= 1) { ldv_error(); } else { } ldv_module_refcounter = ldv_module_refcounter - 1; } else { } return; } } void ldv_module_put_and_exit(void) { { ldv_module_put((struct module *)1); LDV_STOP: ; goto LDV_STOP; } } unsigned int ldv_module_refcount(void) { { return ((unsigned int )(ldv_module_refcounter + -1)); } } void ldv_check_final_state(void) { { if (ldv_module_refcounter != 1) { ldv_error(); } else { } return; } } #include "model/linux-4.2-rc1.tar.xz-08_1a-drivers--staging--lustre--lnet--lnet--lnet.ko-entry_point_true-unreach-call.cil.out.env.c" #include "model/common.env.c"