.file 1 "filter.c" .section .mdebug.abi32 .previous #APP .macro _ssnop; sll $0, $0, 1; .endm .macro _ehb; sll $0, $0, 3; .endm .macro mtc0_tlbw_hazard; nop; nop; .endm .macro tlbw_use_hazard; nop; nop; nop; .endm .macro tlb_probe_hazard; nop; nop; nop; .endm .macro irq_enable_hazard; _ssnop; _ssnop; _ssnop;; .endm .macro irq_disable_hazard; nop; nop; nop; .endm .macro back_to_back_c0_hazard; _ssnop; _ssnop; _ssnop;; .endm .macro raw_local_irq_enable .set push .set reorder .set noat mfc0 $1,$12 ori $1,0x1f xori $1,0x1e mtc0 $1,$12 irq_enable_hazard .set pop .endm .macro raw_local_irq_disable .set push .set noat mfc0 $1,$12 ori $1,0x1f xori $1,0x1f .set noreorder mtc0 $1,$12 irq_disable_hazard .set pop .endm .macro raw_local_save_flags flags .set push .set reorder mfc0 \flags, $12 .set pop .endm .macro raw_local_irq_save result .set push .set reorder .set noat mfc0 \result, $12 ori $1, \result, 0x1f xori $1, 0x1f .set noreorder mtc0 $1, $12 irq_disable_hazard .set pop .endm .macro raw_local_irq_restore flags .set push .set noreorder .set noat mfc0 $1, $12 andi \flags, 1 ori $1, 0x1f xori $1, 0x1f or \flags, $1 mtc0 \flags, $12 irq_disable_hazard .set pop .endm #NO_APP .globl fast_path_cusRspTCPEndAck_func .data .align 2 .type fast_path_cusRspTCPEndAck_func, @object .size fast_path_cusRspTCPEndAck_func, 4 fast_path_cusRspTCPEndAck_func: .word 0 .globl fast_path_cusRspTCPFinAck_func .align 2 .type fast_path_cusRspTCPFinAck_func, @object .size fast_path_cusRspTCPFinAck_func, 4 fast_path_cusRspTCPFinAck_func: .word 0 .globl fast_path_cusRsp401_func .align 2 .type fast_path_cusRsp401_func, @object .size fast_path_cusRsp401_func, 4 fast_path_cusRsp401_func: .word 0 .globl filter_tlb .align 2 .type filter_tlb, @object .size filter_tlb, 40 filter_tlb: .word 0 .word 0 .word 1 .word rtl_ip_range_filter_fastpath .word 2 .word rtl_mac_filter_fastpath .word 3 .word rtl_url_filter_fastpath .word 4 .word rtl_schedule_filter_fastpath .align 2 .type res3, @object .size res3, 4 res3: .word 0 .section .dram-l34-fwd,"aw",@progbits .type url_count, @object .size url_count, 1 url_count: .byte 0 .align 2 .type none_dos_drop_pkt_cnt, @object .size none_dos_drop_pkt_cnt, 4 none_dos_drop_pkt_cnt: .word 0 .align 2 .type item, @object .size item, 4 item: .word 0 .data .align 2 .type item_backup, @object .size item_backup, 4 item_backup: .word 0 .align 2 .type block, @object .size block, 4 block: .word 0 .align 2 .type block_time, @object .size block_time, 4 block_time: .word 0 .align 2 .type block_count, @object .size block_count, 4 block_count: .word 0 .align 2 .type url_cache, @object .size url_cache, 20 url_cache: .half 0 .space 2 .word 0 .word 0 .half 0 .byte 0 .byte 0 .space 4 .align 2 .type endStateClientSeq, @object .size endStateClientSeq, 4 endStateClientSeq: .word 0 .align 1 .type endStateClientPort, @object .size endStateClientPort, 2 endStateClientPort: .half 0 .align 2 .type finStateClientSeq, @object .size finStateClientSeq, 4 finStateClientSeq: .word 0 .align 1 .type finStateClientPort, @object .size finStateClientPort, 2 finStateClientPort: .half 0 .align 2 .type block_message, @object .size block_message, 4 block_message: .word 0 .align 2 .type res12, @object .size res12, 4 res12: .word 0 .align 2 .type url_filter_mode, @object .size url_filter_mode, 4 url_filter_mode: .word 0 .align 2 .type log_enable, @object .size log_enable, 4 log_enable: .word 0 .align 2 .type url_filter_flag, @object .size url_filter_flag, 4 url_filter_flag: .word 0 .rdata .align 2 $LC0: .ascii "br0\000" .align 2 $LC1: .ascii "ppp0\000" .align 2 $LC2: .ascii "eth1\000" .align 2 $LC3: .ascii "wlan0\000" .section .text.need_filter,"ax",@progbits .align 2 .globl need_filter .ent need_filter .type need_filter, @function need_filter: .set nomips16 .frame $sp,48,$31 # vars= 16, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 addiu $sp,$sp,-48 sw $16,32($sp) sw $17,36($sp) sw $31,40($sp) .set noreorder .set nomacro jal rtl_ip_hdr lui $16,%hi($LC0) .set macro .set reorder addiu $4,$16,%lo($LC0) .set noreorder .set nomacro jal rtl_get_dev_by_name move $17,$2 .set macro .set reorder beq $2,$0,$L2 lw $2,292($2) .set noreorder .set nomacro beq $2,$0,$L2 sw $2,16($sp) .set macro .set reorder lw $5,12($2) $L60: .set noreorder .set nomacro beq $5,$0,$L2 addiu $2,$16,%lo($LC0) .set macro .set reorder addiu $3,$5,35 #APP .set noreorder .set noat lbu $4,($2) 1: lbu $1,($3) addiu $2,1 bne $1,$4,2f addiu $3,1 bnez $4,1b lbu $4,($2) move $4,$1 2: subu $4,$1 3: .set at .set reorder #NO_APP beq $4,$0,$L8 lw $5,0($5) j $L60 $L8: .set noreorder .set nomacro beq $5,$0,$L66 lui $16,%hi($LC1) .set macro .set reorder lw $3,20($5) lw $2,16($17) .set noreorder .set nomacro beq $2,$3,$L1 move $4,$0 .set macro .set reorder $L2: lui $16,%hi($LC1) $L66: .set noreorder .set nomacro jal rtl_get_dev_by_name addiu $4,$16,%lo($LC1) .set macro .set reorder beq $2,$0,$L15 lw $2,292($2) .set noreorder .set nomacro beq $2,$0,$L28 sw $2,20($sp) .set macro .set reorder lw $5,12($2) $L61: .set noreorder .set nomacro beq $5,$0,$L28 addiu $2,$16,%lo($LC1) .set macro .set reorder addiu $3,$5,35 #APP .set noreorder .set noat lbu $4,($2) 1: lbu $1,($3) addiu $2,1 bne $1,$4,2f addiu $3,1 bnez $4,1b lbu $4,($2) move $4,$1 2: subu $4,$1 3: .set at .set reorder #NO_APP beq $4,$0,$L21 lw $5,0($5) j $L61 $L21: .set noreorder .set nomacro beq $5,$0,$L28 move $4,$0 .set macro .set reorder lw $3,16($17) lw $2,16($5) j $L65 $L15: lui $16,%hi($LC2) .set noreorder .set nomacro jal rtl_get_dev_by_name addiu $4,$16,%lo($LC2) .set macro .set reorder beq $2,$0,$L29 lw $2,292($2) .set noreorder .set nomacro beq $2,$0,$L28 sw $2,24($sp) .set macro .set reorder lw $5,12($2) $L62: .set noreorder .set nomacro beq $5,$0,$L28 addiu $2,$16,%lo($LC2) .set macro .set reorder addiu $3,$5,35 #APP .set noreorder .set noat lbu $4,($2) 1: lbu $1,($3) addiu $2,1 bne $1,$4,2f addiu $3,1 bnez $4,1b lbu $4,($2) move $4,$1 2: subu $4,$1 3: .set at .set reorder #NO_APP beq $4,$0,$L49 lw $5,0($5) j $L62 $L29: lui $16,%hi($LC3) .set noreorder .set nomacro jal rtl_get_dev_by_name addiu $4,$16,%lo($LC3) .set macro .set reorder beq $2,$0,$L28 lw $2,292($2) .set noreorder .set nomacro beq $2,$0,$L28 sw $2,28($sp) .set macro .set reorder lw $5,12($2) $L63: .set noreorder .set nomacro beq $5,$0,$L28 addiu $2,$16,%lo($LC3) .set macro .set reorder addiu $3,$5,35 #APP .set noreorder .set noat lbu $4,($2) 1: lbu $1,($3) addiu $2,1 bne $1,$4,2f addiu $3,1 bnez $4,1b lbu $4,($2) move $4,$1 2: subu $4,$1 3: .set at .set reorder #NO_APP beq $4,$0,$L49 lw $5,0($5) j $L63 $L49: .set noreorder .set nomacro beq $5,$0,$L28 move $4,$0 .set macro .set reorder lw $3,16($17) lw $2,20($5) $L65: beq $3,$2,$L1 $L28: li $4,1 # 0x1 $L1: lw $31,40($sp) move $2,$4 lw $17,36($sp) lw $16,32($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,48 .set macro .set reorder .end need_filter .section .text.str2hexnum,"ax",@progbits .align 2 .globl str2hexnum .ent str2hexnum .type str2hexnum, @function str2hexnum: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lbu $3,0($4) move $7,$0 $L80: beq $3,$0,$L79 andi $5,$3,0x00ff addiu $2,$5,-97 addiu $3,$5,-48 sltu $6,$2,6 sltu $2,$3,10 beq $2,$0,$L71 addiu $2,$5,-65 j $L70 move $5,$3 $L71: beq $6,$0,$L73 sltu $2,$2,6 j $L70 addiu $5,$5,-87 $L73: bne $2,$0,$L70 addiu $5,$5,-55 j $31 li $2,-1 # 0xffffffff $L70: addiu $4,$4,1 sll $2,$7,4 lbu $3,0($4) j $L80 addu $7,$2,$5 $L79: j $31 move $2,$7 .set macro .set reorder .end str2hexnum .section .text.find_pattern,"ax",@progbits .align 2 .ent find_pattern .type find_pattern, @function find_pattern: .set nomips16 .frame $sp,56,$31 # vars= 0, regs= 10/0, args= 16, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-56 sw $fp,48($sp) sw $21,36($sp) lw $fp,80($sp) lw $21,76($sp) sw $23,44($sp) move $23,$6 sw $22,40($sp) move $22,$5 sw $20,32($sp) sw $19,28($sp) move $19,$4 lb $20,75($sp) sw $18,24($sp) move $18,$7 sw $17,20($sp) move $17,$0 sw $16,16($sp) move $16,$0 sw $0,0($fp) sw $31,52($sp) sw $0,0($21) addu $4,$19,$17 $L108: li $2,13 # 0xd lb $5,0($4) bne $5,$2,$L85 andi $3,$16,0x1 beq $3,$0,$L88 addiu $16,$16,1 j $L104 move $16,$0 $L85: li $2,10 # 0xa bne $5,$2,$L89 addiu $16,$16,1 bne $3,$0,$L107 slt $2,$16,4 $L89: j $L104 move $16,$0 $L88: slt $2,$16,4 $L107: beq $2,$0,$L81 move $2,$0 $L104: move $5,$23 jal memcmp move $6,$18 bne $2,$0,$L84 subu $3,$22,$18 addu $2,$17,$18 move $5,$0 sw $2,0($21) move $3,$2 addu $2,$19,$2 lb $2,0($2) $L106: beq $2,$20,$L103 li $2,1 # 0x1 sltu $2,$22,$3 addiu $3,$3,1 addiu $5,$5,1 bne $2,$0,$L83 addu $4,$19,$3 lb $2,0($4) j $L106 nop $L103: j $L81 sw $5,0($fp) $L84: addiu $17,$17,1 sltu $2,$3,$17 beq $2,$0,$L108 addu $4,$19,$17 $L83: move $2,$0 $L81: lw $31,52($sp) lw $fp,48($sp) lw $23,44($sp) lw $22,40($sp) lw $21,36($sp) lw $20,32($sp) lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,56 .set macro .set reorder .end find_pattern .rdata .align 2 $LC4: .ascii "GET \000" .align 2 $LC5: .ascii "Host: \000" .align 2 $LC6: .ascii "%s\000" .section .text.rtl_url_filter_fastpath,"ax",@progbits .align 2 .globl rtl_url_filter_fastpath .ent rtl_url_filter_fastpath .type rtl_url_filter_fastpath, @function rtl_url_filter_fastpath: .set nomips16 .frame $sp,88,$31 # vars= 24, regs= 8/0, args= 32, gp= 0 .mask 0x807f0000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-88 sw $16,56($sp) move $16,$4 move $4,$5 sw $22,80($sp) move $22,$5 sw $31,84($sp) sw $21,76($sp) sw $20,72($sp) sw $19,68($sp) sw $18,64($sp) .set noreorder .set nomacro jal strlen sw $17,60($sp) .set macro .set reorder sltu $2,$2,2 .set noreorder .set nomacro bne $2,$0,$L109 move $4,$0 .set macro .set reorder .set noreorder .set nomacro jal rtl_ip_hdr move $4,$16 .set macro .set reorder lbu $3,9($2) move $16,$2 li $2,6 # 0x6 .set noreorder .set nomacro bne $3,$2,$L109 move $4,$0 .set macro .set reorder $L117: $L158: lbu $2,0($16) lui $3,%hi(malloc_sizes+68) lw $4,%lo(malloc_sizes+68)($3) li $5,208 # 0xd0 andi $2,$2,0xf sll $2,$2,2 addu $2,$16,$2 lw $3,12($2) srl $3,$3,28 sll $3,$3,2 .set noreorder .set nomacro jal kmem_cache_alloc addu $18,$2,$3 .set macro .set reorder move $4,$0 .set noreorder .set nomacro beq $2,$0,$L109 move $17,$2 .set macro .set reorder lbu $2,0($16) lui $21,%hi($LC4) lhu $3,2($16) move $4,$18 andi $2,$2,0xf addiu $5,$21,%lo($LC4) sll $2,$2,3 li $6,4 # 0x4 .set noreorder .set nomacro jal memcmp subu $16,$3,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L167 lui $6,%hi($LC5) .set macro .set reorder li $20,13 # 0xd addiu $19,$sp,40 addiu $2,$sp,44 addiu $6,$6,%lo($LC5) move $4,$18 move $5,$16 li $7,6 # 0x6 sw $2,24($sp) sw $20,16($sp) .set noreorder .set nomacro jal find_pattern sw $19,20($sp) .set macro .set reorder beq $2,$0,$L167 lw $2,40($sp) lw $4,44($sp) .set noreorder .set nomacro beq $4,$0,$L165 addu $3,$18,$2 .set macro .set reorder move $2,$17 #APP .set noreorder .set noat 1: lbu $1,($3) subu $4,1 sb $1,($2) beqz $1,2f addiu $2,1 bnez $4,1b addiu $3,1 2: .set at .set reorder #NO_APP $L165: lw $2,44($sp) move $5,$16 addiu $6,$21,%lo($LC4) move $4,$18 addu $2,$17,$2 li $7,4 # 0x4 sb $0,0($2) addiu $2,$sp,48 sw $20,16($sp) sw $19,20($sp) .set noreorder .set nomacro jal find_pattern sw $2,24($sp) .set macro .set reorder beq $2,$0,$L167 lw $2,48($sp) addiu $5,$2,-9 .set noreorder .set nomacro bgtz $5,$L166 sw $5,48($sp) .set macro .set reorder $L167: .set noreorder .set nomacro jal kfree move $4,$17 .set macro .set reorder .set noreorder .set nomacro j $L109 move $4,$0 .set macro .set reorder $L166: lw $3,44($sp) lw $2,40($sp) addu $3,$17,$3 addu $2,$18,$2 #APP .set noreorder .set noat 1: lbu $1,($2) subu $5,1 sb $1,($3) beqz $1,2f addiu $3,1 bnez $5,1b addiu $2,1 2: .set at .set reorder #NO_APP lw $2,48($sp) move $4,$17 lw $3,44($sp) move $19,$0 addu $2,$17,$2 addu $2,$2,$3 .set noreorder .set nomacro jal strlen sb $0,0($2) .set macro .set reorder move $4,$22 .set noreorder .set nomacro jal strlen move $16,$2 .set macro .set reorder sltu $16,$16,$2 .set noreorder .set nomacro bne $16,$0,$L171 move $18,$2 .set macro .set reorder .set noreorder .set nomacro j $L170 addu $3,$17,$2 .set macro .set reorder $L182: .set noreorder .set nomacro j $L171 li $19,1 # 0x1 .set macro .set reorder $L170: lb $2,0($3) .set noreorder .set nomacro beq $2,$0,$L181 move $19,$0 .set macro .set reorder move $16,$3 $L177: addu $4,$17,$19 move $5,$22 move $6,$18 .set noreorder .set nomacro jal memcmp addiu $16,$16,1 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L182 addiu $19,$19,1 .set macro .set reorder lb $2,0($16) bne $2,$0,$L177 $L181: move $19,$0 $L171: lui $4,%hi(log_info) lui $6,%hi($LC6) addiu $4,$4,%lo(log_info) addiu $6,$6,%lo($LC6) li $5,32 # 0x20 .set noreorder .set nomacro jal snprintf move $7,$17 .set macro .set reorder .set noreorder .set nomacro jal kfree move $4,$17 .set macro .set reorder lui $2,%hi(url_filter_mode) lw $3,%lo(url_filter_mode)($2) li $2,1 # 0x1 .set noreorder .set nomacro bne $3,$2,$L109 sltu $4,$0,$19 .set macro .set reorder .set noreorder .set nomacro bne $19,$0,$L109 lui $2,%hi(url_filter_flag) .set macro .set reorder sw $3,%lo(url_filter_flag)($2) sltu $4,$0,$19 $L109: lw $31,84($sp) move $2,$4 lw $22,80($sp) lw $21,76($sp) lw $20,72($sp) lw $19,68($sp) lw $18,64($sp) lw $17,60($sp) lw $16,56($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,88 .set macro .set reorder .end rtl_url_filter_fastpath .section .text.rtl_mac_filter_fastpath,"ax",@progbits .align 2 .globl rtl_mac_filter_fastpath .ent rtl_mac_filter_fastpath .type rtl_mac_filter_fastpath, @function rtl_mac_filter_fastpath: .set nomips16 .frame $sp,40,$31 # vars= 0, regs= 5/0, args= 16, gp= 0 .mask 0x800f0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-40 sw $19,28($sp) move $19,$4 sw $18,24($sp) move $18,$5 sw $17,20($sp) move $17,$0 sw $31,32($sp) sw $16,16($sp) addu $2,$18,$17 $L193: lbu $16,0($2) jal rtl_skb_mac_header move $4,$19 addu $2,$2,$17 lbu $2,6($2) bne $16,$2,$L192 xori $2,$17,0x6 addiu $17,$17,1 slt $2,$17,6 bne $2,$0,$L193 addu $2,$18,$17 xori $2,$17,0x6 $L192: lw $31,32($sp) sltu $2,$2,1 lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,40 .set macro .set reorder .end rtl_mac_filter_fastpath .section .text.rtl_ip_range_filter_fastpath,"ax",@progbits .align 2 .ent rtl_ip_range_filter_fastpath .type rtl_ip_range_filter_fastpath, @function rtl_ip_range_filter_fastpath: .set nomips16 .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $16,16($sp) sw $31,20($sp) jal rtl_ip_hdr move $16,$5 lw $5,12($2) lw $2,0($16) sltu $2,$5,$2 bne $2,$0,$L195 li $3,1 # 0x1 lw $2,4($16) sltu $2,$2,$5 beq $2,$0,$L194 nop $L195: move $3,$0 $L194: lw $31,20($sp) move $2,$3 lw $16,16($sp) j $31 addiu $sp,$sp,24 .set macro .set reorder .end rtl_ip_range_filter_fastpath .section .text.rtl_schedule_filter_fastpath,"ax",@progbits .align 2 .ent rtl_schedule_filter_fastpath .type rtl_schedule_filter_fastpath, @function rtl_schedule_filter_fastpath: .set nomips16 .frame $sp,32,$31 # vars= 8, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 addiu $4,$sp,16 sw $16,24($sp) sw $31,28($sp) jal do_gettimeofday move $16,$5 li $6,-1851654144 # 0x91a20000 lw $2,16($sp) ori $6,$6,0xb3c5 li $7,-2004353024 # 0x88880000 li $5,-1037172736 # 0xc22e0000 mult $2,$6 ori $7,$7,0x8889 ori $5,$5,0x4507 sra $3,$2,31 li $4,715784192 # 0x2aaa0000 ori $4,$4,0xaaab mfhi $6 mult $2,$7 addu $6,$6,$2 sra $6,$6,11 subu $6,$6,$3 mfhi $8 mult $2,$5 addu $8,$8,$2 sra $8,$8,5 subu $8,$8,$3 mfhi $5 mult $6,$4 addu $5,$5,$2 sra $5,$5,16 subu $5,$5,$3 li $3,-1840709632 # 0x92490000 addiu $5,$5,4 ori $3,$3,0x2493 mfhi $4 sra $2,$6,31 mult $8,$7 sra $4,$4,2 subu $10,$4,$2 sll $2,$10,1 sra $4,$8,31 addu $2,$2,$10 mfhi $7 sll $2,$2,3 mult $5,$3 addu $7,$7,$8 sra $7,$7,5 subu $7,$7,$4 subu $10,$6,$2 sll $4,$7,4 sra $2,$5,31 mfhi $3 subu $4,$4,$7 addu $3,$3,$5 sll $4,$4,2 sra $3,$3,2 subu $7,$8,$4 subu $9,$3,$2 sll $2,$10,4 sll $3,$9,3 subu $2,$2,$10 lw $6,8($16) subu $3,$3,$9 sll $2,$2,2 subu $9,$5,$3 addu $7,$2,$7 li $2,1 # 0x1 sll $2,$2,$9 andi $4,$6,0x80 bne $4,$0,$L198 and $3,$6,$2 beq $3,$0,$L196 move $2,$0 $L198: lw $2,0($16) bne $2,$0,$L201 sltu $3,$7,$2 lw $2,4($16) beq $2,$0,$L200 nop j $L203 sltu $2,$2,$7 $L201: bne $3,$0,$L196 move $2,$0 lw $2,4($16) sltu $2,$2,$7 $L203: bne $2,$0,$L197 nop $L200: j $L196 li $2,1 # 0x1 $L197: move $2,$0 $L196: lw $31,28($sp) lw $16,24($sp) j $31 addiu $sp,$sp,32 .set macro .set reorder .end rtl_schedule_filter_fastpath .section .text.filter_table_head_init,"ax",@progbits .align 2 .globl filter_table_head_init .ent filter_table_head_init .type filter_table_head_init, @function filter_table_head_init: .set nomips16 .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 move $5,$0 sw $16,16($sp) lui $16,%hi(table_list_head) addiu $4,$16,%lo(table_list_head) sw $31,20($sp) jal memset li $6,32 # 0x20 addiu $3,$16,%lo(table_list_head) li $4,1 # 0x1 lui $6,%hi(table_list_head+8) sw $4,24($3) addiu $5,$6,%lo(table_list_head+8) sw $3,%lo(table_list_head)($16) move $2,$0 lw $31,20($sp) lw $16,16($sp) addiu $sp,$sp,24 sw $5,4($5) sw $5,%lo(table_list_head+8)($6) sw $3,4($3) sw $0,16($3) sw $0,20($3) j $31 sw $0,28($3) .set macro .set reorder .end filter_table_head_init .section .text.filter_table_regist,"ax",@progbits .align 2 .globl filter_table_regist .ent filter_table_regist .type filter_table_regist, @function filter_table_regist: .set nomips16 .frame $sp,48,$31 # vars= 8, regs= 5/0, args= 16, gp= 0 .mask 0x800f0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-48 sw $17,28($sp) lui $17,%hi(table_list_head) sw $16,24($sp) addiu $16,$17,%lo(table_list_head) lw $2,24($16) sw $19,36($sp) move $19,$4 sw $18,32($sp) move $18,$5 bne $2,$0,$L208 sw $31,40($sp) jal filter_table_head_init nop $L208: $L213: $L254: lui $2,%hi(malloc_sizes+4) lw $4,%lo(malloc_sizes+4)($2) jal kmem_cache_alloc li $5,208 # 0xd0 li $3,1 # 0x1 move $4,$2 addiu $5,$2,8 sw $3,24($4) move $2,$0 sw $19,16($4) sw $18,28($4) sw $4,0($4) sw $0,20($4) sw $5,8($4) lw $3,%lo(table_list_head)($17) sw $5,4($5) sw $3,0($4) sw $4,4($3) sw $16,4($4) lw $3,24($16) lw $31,40($sp) addiu $3,$3,1 sw $4,%lo(table_list_head)($17) lw $19,36($sp) sw $3,24($16) lw $18,32($sp) lw $17,28($sp) lw $16,24($sp) j $31 addiu $sp,$sp,48 .set macro .set reorder .end filter_table_regist .rdata .align 2 $LC7: .ascii "type=%d num=%d\n\000" .align 2 $LC15: .ascii "unknow table type\n\000" .align 2 $LC8: .ascii "index=%d\t\000" .align 2 $LC9: .ascii "mac=%02x:%02x:%02x:%02x:%02x:%02x\n\000" .align 2 $LC10: .ascii "index=%d\t\t\000" .align 2 $LC11: .ascii "url=%s\n\000" .align 2 $LC12: .ascii "start=%x\t\000" .align 2 $LC13: .ascii "end=%x\t\000" .align 2 $LC14: .ascii "day=%x\n\000" .align 2 $LC16: .ascii "Mode:%d %s\n\000" .section .text.filter_table_read_proc,"ax",@progbits .align 2 .ent filter_table_read_proc .type filter_table_read_proc, @function filter_table_read_proc: .set nomips16 .frame $sp,88,$31 # vars= 16, regs= 10/0, args= 32, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro $L266: $L307: addiu $sp,$sp,-88 lui $2,%hi(malloc_sizes) sw $fp,80($sp) move $fp,$4 sw $23,76($sp) move $23,$7 sw $22,72($sp) move $22,$6 sw $18,56($sp) sw $16,48($sp) addiu $16,$2,%lo(malloc_sizes) sw $5,92($sp) sw $31,84($sp) sw $21,68($sp) sw $20,64($sp) sw $19,60($sp) sw $17,52($sp) lw $4,52($16) jal kmem_cache_alloc li $5,208 # 0xd0 move $18,$2 beq $18,$0,$L261 move $2,$0 $L315: $L356: move $4,$18 move $5,$0 jal memset li $6,512 # 0x200 lw $4,44($16) jal kmem_cache_alloc li $5,208 # 0xd0 bne $2,$0,$L359 move $17,$2 jal kfree move $4,$18 j $L261 move $2,$0 $L359: lui $21,%hi(table_list_head) move $4,$2 move $5,$0 jal memset li $6,256 # 0x100 addiu $2,$21,%lo(table_list_head) lw $19,%lo(table_list_head)($21) $L393: beq $19,$2,$L386 lui $5,%hi($LC7) lw $7,24($19) lw $6,16($19) addiu $5,$5,%lo($LC7) addiu $7,$7,-1 jal sprintf move $4,$18 li $2,3 # 0x3 lw $3,16($19) beq $3,$2,$L369 sltu $2,$3,4 beq $2,$0,$L380 li $2,4 # 0x4 li $2,2 # 0x2 beq $3,$2,$L364 lui $5,%hi($LC15) j $L398 move $4,$17 $L380: beq $3,$2,$L374 lui $5,%hi($LC15) j $L379 move $4,$17 $L364: lw $16,8($19) addiu $20,$19,8 $L394: beq $16,$20,$L362 lui $5,%hi($LC8) lw $6,20($16) addiu $5,$5,%lo($LC8) jal sprintf move $4,$17 move $4,$18 jal strcat move $5,$17 lui $5,%hi($LC9) lbu $2,30($16) addiu $5,$5,%lo($LC9) lbu $6,28($16) move $4,$17 lbu $7,29($16) sw $2,16($sp) lbu $2,31($16) sw $2,20($sp) lbu $2,32($16) sw $2,24($sp) lbu $2,33($16) jal sprintf sw $2,28($sp) move $4,$18 jal strcat move $5,$17 lw $16,0($16) j $L394 nop $L369: lw $16,8($19) addiu $20,$19,8 $L395: beq $16,$20,$L362 lui $5,%hi($LC10) lw $6,20($16) addiu $5,$5,%lo($LC10) jal sprintf move $4,$17 move $4,$18 jal strcat move $5,$17 lui $5,%hi($LC11) addiu $6,$16,28 move $4,$17 jal sprintf addiu $5,$5,%lo($LC11) move $4,$18 jal strcat move $5,$17 lw $16,0($16) j $L395 nop $L374: lw $16,8($19) addiu $20,$19,8 $L396: beq $16,$20,$L362 lui $5,%hi($LC8) lw $6,20($16) addiu $5,$5,%lo($LC8) jal sprintf move $4,$17 move $4,$18 jal strcat move $5,$17 lui $5,%hi($LC12) lw $6,28($16) move $4,$17 jal sprintf addiu $5,$5,%lo($LC12) move $4,$18 jal strcat move $5,$17 lui $5,%hi($LC13) lw $6,32($16) move $4,$17 jal sprintf addiu $5,$5,%lo($LC13) move $4,$18 jal strcat move $5,$17 lui $5,%hi($LC14) lw $6,36($16) move $4,$17 jal sprintf addiu $5,$5,%lo($LC14) move $4,$18 jal strcat move $5,$17 lw $16,0($16) j $L396 nop $L379: $L398: jal sprintf addiu $5,$5,%lo($LC15) move $4,$18 jal strcat move $5,$17 $L362: lw $19,0($19) j $L393 addiu $2,$21,%lo(table_list_head) $L386: lui $2,%hi(url_filter_mode) lui $5,%hi($LC16) lw $6,%lo(url_filter_mode)($2) addiu $5,$5,%lo($LC16) move $4,$fp jal sprintf move $7,$18 move $16,$2 addu $2,$22,$23 slt $2,$2,$16 bne $2,$0,$L382 li $3,1 # 0x1 lw $2,104($sp) sw $3,0($2) $L382: subu $16,$16,$22 addu $3,$fp,$22 slt $2,$23,$16 move $4,$18 movn $16,$23,$2 #conditional move lw $2,92($sp) sw $3,0($2) slt $2,$16,0 jal kfree movn $16,$0,$2 #conditional move jal kfree move $4,$17 move $2,$16 $L261: lw $31,84($sp) lw $fp,80($sp) lw $23,76($sp) lw $22,72($sp) lw $21,68($sp) lw $20,64($sp) lw $19,60($sp) lw $18,56($sp) lw $17,52($sp) lw $16,48($sp) j $31 addiu $sp,$sp,88 .set macro .set reorder .end filter_table_read_proc .section .text.scan_table,"ax",@progbits .align 2 .globl scan_table .ent scan_table .type scan_table, @function scan_table: .set nomips16 .frame $sp,56,$31 # vars= 0, regs= 10/0, args= 16, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-56 sw $23,44($sp) lui $23,%hi(url_filter_flag) sw $fp,48($sp) move $fp,$5 sw $22,40($sp) move $22,$7 sw $20,32($sp) move $20,$4 sw $19,28($sp) move $19,$6 sw $18,24($sp) move $18,$0 sw $31,52($sp) sw $21,36($sp) sw $17,20($sp) sw $16,16($sp) beq $6,$0,$L442 sw $0,%lo(url_filter_flag)($23) lw $2,28($6) beq $2,$0,$L442 addiu $21,$6,8 lw $17,8($6) beq $17,$21,$L448 lui $2,%hi(url_filter_mode) $L432: lw $3,16($17) andi $2,$3,0x1 bne $2,$0,$L406 move $16,$17 lw $2,20($17) bne $fp,$2,$L404 nop $L406: andi $2,$3,0x200 beq $2,$0,$L407 andi $2,$3,0x100 andi $2,$3,0x2 lw $6,0($22) beq $2,$0,$L408 nop beq $6,$0,$L442 move $4,$20 lw $5,20($16) jal scan_table move $7,$6 move $18,$2 $L408: beq $18,$0,$L404 li $5,1 # 0x1 j $L399 nop $L407: bne $2,$0,$L414 move $4,$20 lw $2,28($19) jal $2 addiu $5,$16,28 blez $2,$L404 nop $L414: lw $3,16($16) andi $2,$3,0x2 bne $2,$0,$L415 andi $2,$3,0x1 beq $2,$0,$L399 li $5,1 # 0x1 j $L447 andi $2,$3,0x8 $L415: lw $6,0($22) beq $6,$0,$L442 move $4,$20 lw $5,20($16) jal scan_table move $7,$6 beq $2,$0,$L404 move $18,$2 lw $5,16($16) andi $2,$5,0x1 beq $2,$0,$L424 lui $3,%hi(url_filter_mode) lw $2,%lo(url_filter_mode)($3) bne $2,$0,$L443 srl $2,$5,3 andi $2,$5,0x8 $L447: j $L399 sltu $5,$2,1 $L424: lw $2,%lo(url_filter_mode)($3) beq $2,$0,$L399 li $5,1 # 0x1 j $L444 move $5,$0 $L404: lw $17,0($17) bne $17,$21,$L432 nop bne $16,$0,$L433 lui $2,%hi(url_filter_mode) $L448: li $5,1 # 0x1 lw $3,%lo(url_filter_mode)($2) li $2,-1 # 0xffffffff j $L399 movz $5,$2,$3 #conditional move $L433: lw $2,%lo(url_filter_flag)($23) bne $2,$0,$L399 li $5,1 # 0x1 lw $3,16($16) andi $2,$3,0x1 beq $2,$0,$L399 move $5,$0 j $L446 srl $2,$3,3 $L442: j $L399 li $5,-1 # 0xffffffff $L443: $L446: andi $5,$2,0x1 $L444: $L399: lw $31,52($sp) move $2,$5 lw $fp,48($sp) lw $23,44($sp) lw $22,40($sp) lw $21,36($sp) lw $20,32($sp) lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,56 .set macro .set reorder .end scan_table .rdata .align 2 $LC17: .ascii "[ip_range_filter]%d.%d.%d.%d ===> %d.%d.%d.%d [Blocked]" .ascii "\n\000" .align 2 $LC18: .ascii "[mac_filter]%d.%d.%d.%d(%02x:%02x:%02x:%02x:%02x:%02x) =" .ascii "==> %d.%d.%d.%d [Blocked]\n\000" .align 2 $LC19: .ascii "[url_key_filter]%d.%d.%d.%d ==> %d.%d.%d.%d(%s) [Blocke" .ascii "d]\n\000" .align 2 $LC20: .ascii "[schedule_filter]%d.%d.%d.%d ===> %d.%d.%d.%d [Blocked]" .ascii "\n\000" .section .text.log_fastFilter,"ax",@progbits .align 2 .globl log_fastFilter .ent log_fastFilter .type log_fastFilter, @function log_fastFilter: .set nomips16 .frame $sp,176,$31 # vars= 8, regs= 8/0, args= 136, gp= 0 .mask 0x807f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-176 sw $21,164($sp) move $21,$5 sw $16,144($sp) move $16,$4 addiu $4,$sp,136 sw $31,172($sp) sw $22,168($sp) sw $20,160($sp) sw $19,156($sp) sw $18,152($sp) jal do_gettimeofday sw $17,148($sp) jal rtl_ip_hdr move $4,$21 move $4,$21 jal rtl_eth_hdr move $22,$2 move $3,$2 li $2,2 # 0x2 beq $16,$2,$L453 slt $2,$16,3 beq $2,$0,$L462 li $2,3 # 0x3 li $2,1 # 0x1 beq $16,$2,$L451 nop j $L450 nop $L462: beq $16,$2,$L456 li $2,4 # 0x4 beq $16,$2,$L458 nop j $L450 nop $L451: beq $22,$0,$L450 lui $4,%hi($LC17) lw $5,12($22) j $L464 addiu $4,$4,%lo($LC17) $L453: beq $3,$0,$L450 nop beq $22,$0,$L450 nop jal rtl_eth_hdr move $4,$21 move $4,$21 jal rtl_eth_hdr move $16,$2 move $4,$21 jal rtl_eth_hdr move $17,$2 move $4,$21 jal rtl_eth_hdr move $18,$2 move $4,$21 jal rtl_eth_hdr move $19,$2 move $4,$21 jal rtl_eth_hdr move $20,$2 lui $4,%hi($LC18) lw $5,12($22) addiu $4,$4,%lo($LC18) andi $3,$5,0xff srl $6,$5,16 sw $3,16($sp) srl $7,$5,8 lbu $15,84($16) srl $5,$5,24 lbu $9,85($16) andi $6,$6,0x00ff lbu $14,88($16) sll $15,$15,24 lbu $8,89($16) sll $9,$9,16 lbu $3,92($16) sll $14,$14,24 lbu $12,93($16) sll $8,$8,16 lbu $13,86($16) or $9,$9,$15 lbu $10,90($16) or $8,$8,$14 lbu $11,94($16) sll $3,$3,24 sll $12,$12,16 sll $13,$13,8 sll $10,$10,8 or $12,$12,$3 or $13,$13,$9 or $10,$10,$8 lbu $9,87($16) sll $11,$11,8 lbu $8,91($16) or $11,$11,$12 lbu $3,95($16) or $9,$9,$13 or $8,$8,$10 andi $7,$7,0x00ff or $3,$3,$11 sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) lbu $3,96($16) sb $3,32($sp) lbu $3,97($16) sb $3,33($sp) lbu $15,98($17) lbu $9,99($17) lbu $14,102($17) sll $15,$15,24 lbu $8,103($17) sll $9,$9,16 lbu $3,106($17) sll $14,$14,24 lbu $12,107($17) sll $8,$8,16 lbu $13,100($17) or $9,$9,$15 lbu $11,104($17) or $8,$8,$14 lbu $10,108($17) sll $3,$3,24 sll $12,$12,16 sll $13,$13,8 sll $11,$11,8 or $12,$12,$3 or $13,$13,$9 or $11,$11,$8 lbu $9,101($17) sll $10,$10,8 lbu $8,105($17) or $10,$10,$12 lbu $3,109($17) or $9,$9,$13 or $8,$8,$11 or $3,$3,$10 sw $9,36($sp) sw $8,40($sp) sw $3,44($sp) lbu $3,110($17) sb $3,48($sp) lbu $3,111($17) sb $3,49($sp) lbu $15,112($18) lbu $9,113($18) lbu $14,116($18) sll $15,$15,24 lbu $8,117($18) sll $9,$9,16 lbu $3,120($18) sll $14,$14,24 lbu $12,121($18) sll $8,$8,16 lbu $13,114($18) or $9,$9,$15 lbu $11,118($18) or $8,$8,$14 lbu $10,122($18) sll $3,$3,24 sll $12,$12,16 sll $13,$13,8 sll $11,$11,8 or $12,$12,$3 or $13,$13,$9 or $11,$11,$8 lbu $9,115($18) sll $10,$10,8 lbu $8,119($18) or $10,$10,$12 lbu $3,123($18) or $9,$9,$13 or $8,$8,$11 or $3,$3,$10 sw $9,52($sp) sw $8,56($sp) sw $3,60($sp) lbu $3,124($18) sb $3,64($sp) lbu $3,125($18) sb $3,65($sp) lbu $15,126($19) lbu $9,127($19) lbu $14,130($19) sll $15,$15,24 lbu $8,131($19) sll $9,$9,16 lbu $3,134($19) sll $14,$14,24 lbu $12,135($19) sll $8,$8,16 lbu $13,128($19) or $9,$9,$15 lbu $11,132($19) or $8,$8,$14 lbu $10,136($19) sll $3,$3,24 sll $12,$12,16 sll $13,$13,8 sll $11,$11,8 or $12,$12,$3 or $13,$13,$9 or $11,$11,$8 lbu $9,129($19) sll $10,$10,8 lbu $8,133($19) or $10,$10,$12 lbu $3,137($19) or $9,$9,$13 or $8,$8,$11 or $3,$3,$10 sw $9,68($sp) sw $8,72($sp) sw $3,76($sp) lbu $3,138($19) sb $3,80($sp) lbu $3,139($19) sb $3,81($sp) lbu $15,140($20) lbu $9,141($20) lbu $14,144($20) sll $15,$15,24 lbu $8,145($20) sll $9,$9,16 lbu $3,148($20) sll $14,$14,24 lbu $12,149($20) sll $8,$8,16 lbu $13,142($20) or $9,$9,$15 lbu $11,146($20) or $8,$8,$14 lbu $10,150($20) sll $3,$3,24 sll $12,$12,16 sll $13,$13,8 sll $11,$11,8 or $12,$12,$3 or $13,$13,$9 or $11,$11,$8 lbu $9,143($20) sll $10,$10,8 lbu $8,147($20) or $10,$10,$12 lbu $3,151($20) or $9,$9,$13 or $8,$8,$11 or $3,$3,$10 sw $9,84($sp) sw $8,88($sp) sw $3,92($sp) lbu $3,152($20) sb $3,96($sp) lbu $3,153($20) sb $3,97($sp) lbu $15,154($2) lbu $9,155($2) lbu $14,158($2) sll $15,$15,24 lbu $8,159($2) sll $9,$9,16 lbu $3,162($2) sll $14,$14,24 lbu $12,163($2) sll $8,$8,16 lbu $13,156($2) or $9,$9,$15 lbu $11,160($2) or $8,$8,$14 lbu $10,164($2) sll $3,$3,24 sll $12,$12,16 sll $13,$13,8 sll $11,$11,8 or $12,$12,$3 or $13,$13,$9 or $11,$11,$8 lbu $9,157($2) sll $10,$10,8 lbu $8,161($2) or $10,$10,$12 lbu $3,165($2) or $9,$9,$13 or $8,$8,$11 or $3,$3,$10 sw $9,100($sp) sw $8,104($sp) sw $3,108($sp) lbu $3,166($2) sb $3,112($sp) lbu $2,167($2) sb $2,113($sp) lbu $2,16($22) sw $2,116($sp) lbu $2,17($22) sw $2,120($sp) lbu $2,18($22) sw $2,124($sp) lbu $2,19($22) jal scrlog_printk sw $2,128($sp) j $L450 nop $L456: beq $22,$0,$L450 lui $4,%hi($LC19) lw $5,12($22) addiu $4,$4,%lo($LC19) andi $2,$5,0xff srl $6,$5,16 sw $2,16($sp) srl $7,$5,8 lbu $2,16($22) srl $5,$5,24 andi $6,$6,0x00ff andi $7,$7,0x00ff sw $2,20($sp) lbu $2,17($22) sw $2,24($sp) lbu $2,18($22) sw $2,28($sp) lui $2,%hi(log_info) lbu $3,19($22) addiu $2,$2,%lo(log_info) sw $2,36($sp) j $L463 sw $3,32($sp) $L458: beq $22,$0,$L450 lui $4,%hi($LC20) lw $5,12($22) addiu $4,$4,%lo($LC20) $L464: andi $2,$5,0xff srl $6,$5,16 sw $2,16($sp) srl $7,$5,8 lbu $2,16($22) srl $5,$5,24 andi $6,$6,0x00ff andi $7,$7,0x00ff sw $2,20($sp) lbu $2,17($22) sw $2,24($sp) lbu $2,18($22) sw $2,28($sp) lbu $2,19($22) sw $2,32($sp) $L463: jal scrlog_printk nop $L450: lw $31,172($sp) move $2,$0 lw $22,168($sp) lw $21,164($sp) lw $20,160($sp) lw $19,156($sp) lw $18,152($sp) lw $17,148($sp) lw $16,144($sp) j $31 addiu $sp,$sp,176 .set macro .set reorder .end log_fastFilter .section .text.do_filter,"ax",@progbits .align 2 .globl do_filter .ent do_filter .type do_filter, @function do_filter: .set nomips16 .frame $sp,32,$31 # vars= 0, regs= 4/0, args= 16, gp= 0 .mask 0x80070000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 sw $17,20($sp) lui $17,%hi(table_list_head) sw $16,16($sp) addiu $2,$17,%lo(table_list_head) lw $16,%lo(table_list_head)($17) sw $18,24($sp) move $18,$4 beq $16,$2,$L475 sw $31,28($sp) move $4,$18 $L476: move $6,$16 move $7,$16 jal scan_table move $5,$0 move $3,$2 li $2,-1 # 0xffffffff beq $3,$2,$L475 addiu $4,$17,%lo(table_list_head) li $2,1 # 0x1 bne $3,$2,$L468 lui $2,%hi(log_enable) lw $2,%lo(log_enable)($2) beq $2,$0,$L472 nop lw $4,16($16) jal log_fastFilter move $5,$18 $L472: j $L465 li $2,1 # 0x1 $L468: lw $16,0($16) bne $16,$4,$L476 move $4,$18 $L475: move $2,$0 $L465: lw $31,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,32 .set macro .set reorder .end do_filter .section .text.FilterWeb_v2,"ax",@progbits .align 2 .globl FilterWeb_v2 .ent FilterWeb_v2 .type FilterWeb_v2, @function FilterWeb_v2: .set nomips16 .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $16,16($sp) sw $31,20($sp) jal rtl_ip_hdr move $16,$4 jal need_filter move $4,$16 beq $2,$0,$L479 move $4,$16 lw $31,20($sp) lw $16,16($sp) j do_filter addiu $sp,$sp,24 $L479: lw $31,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,24 .set macro .set reorder .end FilterWeb_v2 .rdata .align 2 $LC22: .ascii "filter_table\000" .section .text.filter_table_init,"ax",@progbits .align 2 .globl filter_table_init .ent filter_table_init .type filter_table_init, @function filter_table_init: .set nomips16 .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0 .mask 0x80000000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $31,16($sp) jal filter_table_head_init nop lui $4,%hi($LC22) addiu $4,$4,%lo($LC22) move $5,$0 jal create_proc_entry move $6,$0 lui $5,%hi(res12) move $4,$2 sw $2,%lo(res12)($5) beq $4,$0,$L481 move $2,$0 lui $3,%hi(filter_table_read_proc) addiu $3,$3,%lo(filter_table_read_proc) sw $3,64($4) lui $3,%hi(filter_table_write_proc) lw $4,%lo(res12)($5) addiu $3,$3,%lo(filter_table_write_proc) sw $3,68($4) $L481: lw $31,16($sp) j $31 addiu $sp,$sp,24 .set macro .set reorder .end filter_table_init .section .text.filter_init_fastpath,"ax",@progbits .align 2 .globl filter_init_fastpath .ent filter_init_fastpath .type filter_init_fastpath, @function filter_init_fastpath: .set nomips16 .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0 .mask 0x80000000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 li $3,1 # 0x1 lui $2,%hi(filter_rule_num) sw $31,16($sp) jal filter_table_init sw $3,%lo(filter_rule_num)($2) move $2,$0 lw $31,16($sp) j $31 addiu $sp,$sp,24 .set macro .set reorder .end filter_init_fastpath .section .text.filter_exit_fastpath,"ax",@progbits .align 2 .globl filter_exit_fastpath .ent filter_exit_fastpath .type filter_exit_fastpath, @function filter_exit_fastpath: .set nomips16 .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 lui $4,%hi($LC22) sw $16,16($sp) lui $16,%hi(res12) lw $2,%lo(res12)($16) addiu $4,$4,%lo($LC22) sw $31,20($sp) beq $2,$0,$L484 move $5,$2 jal remove_proc_entry nop sw $0,%lo(res12)($16) $L484: lw $31,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,24 .set macro .set reorder .end filter_exit_fastpath .rdata .align 2 $LC23: .ascii "dos_filter: alloc skb fail!\n\000" .section .text.GenerateTCPENDACK,"ax",@progbits .align 2 .ent GenerateTCPENDACK .type GenerateTCPENDACK, @function GenerateTCPENDACK: .set nomips16 .frame $sp,120,$31 # vars= 64, regs= 10/0, args= 16, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-120 sw $4,120($sp) lui $4,%hi($LC0) addiu $4,$4,%lo($LC0) sw $31,116($sp) sw $23,108($sp) sw $22,104($sp) li $22,20 # 0x14 sw $19,92($sp) sw $16,80($sp) sw $fp,112($sp) sw $21,100($sp) sw $20,96($sp) sw $18,88($sp) .set noreorder .set nomacro jal rtl_get_dev_by_name sw $17,84($sp) .set macro .set reorder lw $4,120($sp) .set noreorder .set nomacro jal rtl_ip_hdr move $16,$2 .set macro .set reorder lui $3,%hi(endStateClientPort) move $23,$2 lbu $2,0($2) lhu $3,%lo(endStateClientPort)($3) andi $2,$2,0xf sll $2,$2,2 addu $19,$23,$2 lhu $2,0($19) .set noreorder .set nomacro bne $3,$2,$L485 lui $2,%hi(endStateClientSeq) .set macro .set reorder lw $3,%lo(endStateClientSeq)($2) lw $2,4($19) .set noreorder .set nomacro bne $3,$2,$L485 move $5,$16 .set macro .set reorder .set noreorder .set nomacro jal rtl_neigh_lookup addiu $4,$23,12 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L485 move $18,$2 .set macro .set reorder .set noreorder .set nomacro jal rtl_get_hh_from_neigh move $4,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L488 li $5,32 # 0x20 .set macro .set reorder #APP 1: ll $3, 72($18) # atomic_sub_return nop subu $2, $3, 1 sc $2, 72($18) beqz $2, 2f subu $2, $3, 1 .subsection 2 2: b 1b .previous #NO_APP bne $2,$0,$L485 .set noreorder .set nomacro jal neigh_destroy move $4,$18 .set macro .set reorder j $L485 $L488: lw $4,120($sp) move $6,$0 .set noreorder .set nomacro jal skb_copy_expand li $7,32 # 0x20 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L494 move $21,$2 .set macro .set reorder #APP 1: ll $3, 72($18) # atomic_sub_return nop subu $2, $3, 1 sc $2, 72($18) beqz $2, 2f subu $2, $3, 1 .subsection 2 2: b 1b .previous #NO_APP bne $2,$0,$L495 .set noreorder .set nomacro jal neigh_destroy move $4,$18 .set macro .set reorder $L495: lui $4,%hi($LC23) .set noreorder .set nomacro jal scrlog_printk addiu $4,$4,%lo($LC23) .set macro .set reorder j $L485 $L521: addu $16,$20,$22 addiu $4,$sp,68 move $5,$16 addiu $17,$16,4 .set noreorder .set nomacro jal memcpy li $6,4 # 0x4 .set macro .set reorder addiu $4,$sp,72 move $5,$17 .set noreorder .set nomacro jal memcpy li $6,4 # 0x4 .set macro .set reorder move $4,$16 addiu $5,$sp,72 .set noreorder .set nomacro jal memcpy li $6,4 # 0x4 .set macro .set reorder move $4,$17 addiu $5,$sp,68 .set noreorder .set nomacro jal memcpy li $6,4 # 0x4 .set macro .set reorder .set noreorder .set nomacro j $L522 sh $0,16($20) .set macro .set reorder $L494: .set noreorder .set nomacro jal rtl_ip_hdr move $4,$2 .set macro .set reorder move $4,$21 lbu $5,0($2) andi $5,$5,0xf sll $5,$5,2 .set noreorder .set nomacro jal skb_trim addiu $5,$5,20 .set macro .set reorder move $4,$21 .set noreorder .set nomacro jal skb_put move $5,$0 .set macro .set reorder .set noreorder .set nomacro jal rtl_get_hh_from_neigh move $4,$18 .set macro .set reorder addiu $4,$sp,64 move $5,$2 .set noreorder .set nomacro jal rtl_get_lock_from_hh move $17,$2 .set macro .set reorder jal local_bh_disable .set noreorder .set nomacro jal rtl_get_skb_data move $4,$21 .set macro .set reorder move $4,$17 .set noreorder .set nomacro jal rtl_get_data_from_hh addiu $16,$2,-16 .set macro .set reorder li $6,16 # 0x10 move $4,$16 .set noreorder .set nomacro jal memcpy move $5,$2 .set macro .set reorder jal local_bh_enable .set noreorder .set nomacro jal rtl_get_len_from_hh move $4,$17 .set macro .set reorder move $4,$21 .set noreorder .set nomacro jal skb_push move $5,$2 .set macro .set reorder #APP 1: ll $3, 72($18) # atomic_sub_return nop subu $2, $3, 1 sc $2, 72($18) beqz $2, 2f subu $2, $3, 1 .subsection 2 2: b 1b .previous #NO_APP .set noreorder .set nomacro bne $2,$0,$L523 move $4,$21 .set macro .set reorder .set noreorder .set nomacro jal neigh_destroy move $4,$18 .set macro .set reorder move $4,$21 $L523: .set noreorder .set nomacro jal rtl_set_skb_nfct move $5,$0 .set macro .set reorder li $2,268369920 # 0xfff0000 lw $3,52($sp) ori $2,$2,0xffff lhu $4,2($19) lui $fp,%hi(url_cache) and $3,$3,$2 li $2,1342177280 # 0x50000000 sh $4,40($sp) or $3,$3,$2 lw $5,4($19) addiu $2,$fp,%lo(url_cache) lw $8,8($19) move $4,$21 lhu $7,0($19) addiu $5,$5,1 sw $3,52($sp) addiu $20,$sp,40 sb $0,53($sp) lhu $6,12($2) li $2,-327680 # 0xfffb0000 lw $3,52($sp) ori $2,$2,0xffff sh $7,42($sp) and $3,$3,$2 li $2,1048576 # 0x100000 or $3,$3,$2 li $2,-131072 # 0xfffe0000 ori $2,$2,0xffff and $3,$3,$2 sw $3,52($sp) sw $8,44($sp) sw $5,48($sp) sh $6,54($sp) .set noreorder .set nomacro jal rtl_get_skb_len sh $0,58($sp) .set macro .set reorder lw $3,12($19) addiu $19,$2,-34 srl $3,$3,28 sll $3,$3,2 sltu $2,$22,$3 .set noreorder .set nomacro beq $2,$0,$L508 addu $2,$20,$22 .set macro .set reorder li $6,8 # 0x8 $L524: addiu $4,$22,1 lbu $5,0($2) sltu $2,$5,2 .set noreorder .set nomacro bne $2,$0,$L507 move $22,$4 .set macro .set reorder addu $2,$20,$4 lbu $2,0($2) .set noreorder .set nomacro beq $5,$6,$L521 addiu $22,$4,1 .set macro .set reorder addu $2,$22,$2 addiu $22,$2,-2 $L507: sltu $2,$22,$3 .set noreorder .set nomacro bne $2,$0,$L524 addu $2,$20,$22 .set macro .set reorder $L508: sh $0,16($20) $L522: move $5,$19 move $6,$0 move $4,$20 lw $18,12($23) andi $17,$19,0xffff lw $16,16($23) .set noreorder .set nomacro jal csum_partial addiu $17,$17,6 .set macro .set reorder move $4,$21 #APP .set push # csum_tcpudp_nofold .set noat addu $16, $18 sltu $1, $16, $18 addu $16, $1 addu $16, $17 sltu $1, $16, $17 addu $16, $1 addu $16, $2 sltu $1, $16, $2 addu $16, $1 .set pop .set push # csum_fold .set noat sll $1, $16, 16 addu $16, $1 sltu $1, $16, $1 srl $16, $16, 16 addu $16, $1 xori $16, 0xffff .set pop #NO_APP .set noreorder .set nomacro jal rtl_get_skb_data sh $16,16($20) .set macro .set reorder move $5,$20 addiu $4,$2,34 .set noreorder .set nomacro jal memcpy li $6,20 # 0x14 .set macro .set reorder li $2,268369920 # 0xfff0000 lw $3,16($sp) ori $2,$2,0xffff addiu $6,$fp,%lo(url_cache) move $5,$0 and $3,$3,$2 li $2,1073741824 # 0x40000000 or $3,$3,$2 li $2,-251723776 # 0xf0ff0000 ori $2,$2,0xffff and $3,$3,$2 li $2,83886080 # 0x5000000 or $3,$3,$2 sw $3,16($sp) lw $2,12($23) lbu $6,14($6) sw $2,32($sp) li $2,6 # 0x6 lw $3,16($23) lw $4,120($sp) sb $2,25($sp) sw $3,28($sp) sb $6,24($sp) sh $0,22($sp) .set noreorder .set nomacro jal rtl_set_skb_ip_summed sb $0,17($sp) .set macro .set reorder li $2,40 lhu $3,%lo(url_cache)($fp) addiu $6,$sp,16 sh $2,18($sp) addiu $3,$3,1 sh $3,20($sp) lw $3,16($sp) lw $4,20($sp) srl $2,$3,22 addu $5,$3,$4 andi $2,$2,0x3c sh $0,26($sp) sltu $4,$5,$4 addu $7,$6,$2 addu $5,$5,$4 lw $2,24($sp) addiu $6,$sp,32 lw $3,28($sp) addu $5,$5,$2 sltu $4,$5,$2 addu $5,$5,$4 addu $5,$5,$3 sltu $4,$5,$3 addu $5,$5,$4 $L515: lw $2,0($6) addiu $6,$6,4 addu $5,$5,$2 sltu $4,$5,$2 .set noreorder .set nomacro bne $6,$7,$L515 addu $5,$5,$4 .set macro .set reorder move $4,$21 #APP .set push # csum_fold .set noat sll $1, $5, 16 addu $5, $1 sltu $1, $5, $1 srl $5, $5, 16 addu $5, $1 xori $5, 0xffff .set pop #NO_APP .set noreorder .set nomacro jal rtl_get_skb_data sh $5,26($sp) .set macro .set reorder addiu $5,$sp,16 addiu $4,$2,14 .set noreorder .set nomacro jal memcpy li $6,20 # 0x14 .set macro .set reorder addiu $2,$fp,%lo(url_cache) move $4,$21 .set noreorder .set nomacro jal dev_queue_xmit sb $0,16($2) .set macro .set reorder $L485: lw $31,116($sp) move $2,$0 lw $fp,112($sp) lw $23,108($sp) lw $22,104($sp) lw $21,100($sp) lw $20,96($sp) lw $19,92($sp) lw $18,88($sp) lw $17,84($sp) lw $16,80($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,120 .set macro .set reorder .end GenerateTCPENDACK .section .text.GenerateTCPFINACK,"ax",@progbits .align 2 .ent GenerateTCPFINACK .type GenerateTCPFINACK, @function GenerateTCPFINACK: .set nomips16 .frame $sp,120,$31 # vars= 64, regs= 10/0, args= 16, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-120 sw $4,120($sp) lui $4,%hi($LC0) addiu $4,$4,%lo($LC0) sw $31,116($sp) sw $23,108($sp) sw $22,104($sp) li $22,20 # 0x14 sw $19,92($sp) sw $16,80($sp) sw $fp,112($sp) sw $21,100($sp) sw $20,96($sp) sw $18,88($sp) .set noreorder .set nomacro jal rtl_get_dev_by_name sw $17,84($sp) .set macro .set reorder lw $4,120($sp) .set noreorder .set nomacro jal rtl_ip_hdr move $16,$2 .set macro .set reorder lui $3,%hi(finStateClientPort) move $23,$2 lbu $2,0($2) lhu $3,%lo(finStateClientPort)($3) andi $2,$2,0xf sll $2,$2,2 addu $19,$23,$2 lhu $2,0($19) .set noreorder .set nomacro bne $3,$2,$L525 lui $2,%hi(finStateClientSeq) .set macro .set reorder lw $3,%lo(finStateClientSeq)($2) lw $2,4($19) .set noreorder .set nomacro bne $3,$2,$L525 move $5,$16 .set macro .set reorder .set noreorder .set nomacro jal rtl_neigh_lookup addiu $4,$23,12 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L525 move $18,$2 .set macro .set reorder .set noreorder .set nomacro jal rtl_get_hh_from_neigh move $4,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L528 li $5,32 # 0x20 .set macro .set reorder #APP 1: ll $3, 72($18) # atomic_sub_return nop subu $2, $3, 1 sc $2, 72($18) beqz $2, 2f subu $2, $3, 1 .subsection 2 2: b 1b .previous #NO_APP bne $2,$0,$L525 .set noreorder .set nomacro jal neigh_destroy move $4,$18 .set macro .set reorder j $L525 $L528: lw $4,120($sp) move $6,$0 .set noreorder .set nomacro jal skb_copy_expand li $7,32 # 0x20 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L534 move $21,$2 .set macro .set reorder #APP 1: ll $3, 72($18) # atomic_sub_return nop subu $2, $3, 1 sc $2, 72($18) beqz $2, 2f subu $2, $3, 1 .subsection 2 2: b 1b .previous #NO_APP bne $2,$0,$L535 .set noreorder .set nomacro jal neigh_destroy move $4,$18 .set macro .set reorder $L535: lui $4,%hi($LC23) .set noreorder .set nomacro jal scrlog_printk addiu $4,$4,%lo($LC23) .set macro .set reorder j $L525 $L561: addu $16,$20,$22 addiu $4,$sp,68 move $5,$16 addiu $17,$16,4 .set noreorder .set nomacro jal memcpy li $6,4 # 0x4 .set macro .set reorder addiu $4,$sp,72 move $5,$17 .set noreorder .set nomacro jal memcpy li $6,4 # 0x4 .set macro .set reorder move $4,$16 addiu $5,$sp,72 .set noreorder .set nomacro jal memcpy li $6,4 # 0x4 .set macro .set reorder move $4,$17 addiu $5,$sp,68 .set noreorder .set nomacro jal memcpy li $6,4 # 0x4 .set macro .set reorder j $L548 $L534: .set noreorder .set nomacro jal rtl_ip_hdr move $4,$2 .set macro .set reorder move $4,$21 lbu $5,0($2) andi $5,$5,0xf sll $5,$5,2 .set noreorder .set nomacro jal skb_trim addiu $5,$5,20 .set macro .set reorder move $4,$21 .set noreorder .set nomacro jal skb_put move $5,$0 .set macro .set reorder .set noreorder .set nomacro jal rtl_get_hh_from_neigh move $4,$18 .set macro .set reorder addiu $4,$sp,64 move $5,$2 .set noreorder .set nomacro jal rtl_get_lock_from_hh move $17,$2 .set macro .set reorder jal local_bh_disable .set noreorder .set nomacro jal rtl_get_skb_data move $4,$21 .set macro .set reorder move $4,$17 .set noreorder .set nomacro jal rtl_get_data_from_hh addiu $16,$2,-16 .set macro .set reorder li $6,16 # 0x10 move $4,$16 .set noreorder .set nomacro jal memcpy move $5,$2 .set macro .set reorder jal local_bh_enable .set noreorder .set nomacro jal rtl_get_len_from_hh move $4,$17 .set macro .set reorder move $4,$21 .set noreorder .set nomacro jal skb_push move $5,$2 .set macro .set reorder #APP 1: ll $3, 72($18) # atomic_sub_return nop subu $2, $3, 1 sc $2, 72($18) beqz $2, 2f subu $2, $3, 1 .subsection 2 2: b 1b .previous #NO_APP .set noreorder .set nomacro bne $2,$0,$L562 move $4,$21 .set macro .set reorder .set noreorder .set nomacro jal neigh_destroy move $4,$18 .set macro .set reorder move $4,$21 $L562: .set noreorder .set nomacro jal rtl_set_skb_nfct move $5,$0 .set macro .set reorder li $2,268369920 # 0xfff0000 lw $3,52($sp) ori $2,$2,0xffff lhu $4,2($19) lui $fp,%hi(url_cache) and $3,$3,$2 li $2,1342177280 # 0x50000000 sh $4,40($sp) or $3,$3,$2 lw $8,4($19) addiu $2,$fp,%lo(url_cache) lw $7,8($19) move $4,$21 lhu $6,0($19) addiu $20,$sp,40 sw $3,52($sp) sb $0,53($sp) lhu $5,12($2) li $2,-327680 # 0xfffb0000 lw $3,52($sp) ori $2,$2,0xffff sh $6,42($sp) and $3,$3,$2 li $2,1048576 # 0x100000 or $3,$3,$2 li $2,65536 # 0x10000 or $3,$3,$2 sw $3,52($sp) sw $7,44($sp) sw $8,48($sp) sh $5,54($sp) .set noreorder .set nomacro jal rtl_get_skb_len sh $0,58($sp) .set macro .set reorder lw $3,12($19) addiu $19,$2,-34 srl $3,$3,28 sll $3,$3,2 sltu $2,$22,$3 .set noreorder .set nomacro beq $2,$0,$L548 addu $2,$20,$22 .set macro .set reorder li $6,8 # 0x8 $L563: addiu $4,$22,1 lbu $5,0($2) sltu $2,$5,2 .set noreorder .set nomacro bne $2,$0,$L547 move $22,$4 .set macro .set reorder addu $2,$20,$4 lbu $2,0($2) .set noreorder .set nomacro beq $5,$6,$L561 addiu $22,$4,1 .set macro .set reorder addu $2,$22,$2 addiu $22,$2,-2 $L547: sltu $2,$22,$3 .set noreorder .set nomacro bne $2,$0,$L563 addu $2,$20,$22 .set macro .set reorder $L548: lhu $3,2($20) lui $2,%hi(endStateClientPort) lw $4,8($20) move $5,$19 sh $3,%lo(endStateClientPort)($2) lui $2,%hi(endStateClientSeq) sw $4,%lo(endStateClientSeq)($2) move $6,$0 sh $0,16($20) move $4,$20 lw $18,12($23) andi $17,$19,0xffff lw $16,16($23) .set noreorder .set nomacro jal csum_partial addiu $17,$17,6 .set macro .set reorder move $4,$21 #APP .set push # csum_tcpudp_nofold .set noat addu $16, $18 sltu $1, $16, $18 addu $16, $1 addu $16, $17 sltu $1, $16, $17 addu $16, $1 addu $16, $2 sltu $1, $16, $2 addu $16, $1 .set pop .set push # csum_fold .set noat sll $1, $16, 16 addu $16, $1 sltu $1, $16, $1 srl $16, $16, 16 addu $16, $1 xori $16, 0xffff .set pop #NO_APP .set noreorder .set nomacro jal rtl_get_skb_data sh $16,16($20) .set macro .set reorder move $5,$20 addiu $4,$2,34 .set noreorder .set nomacro jal memcpy li $6,20 # 0x14 .set macro .set reorder li $2,268369920 # 0xfff0000 lw $3,16($sp) ori $2,$2,0xffff addiu $6,$fp,%lo(url_cache) move $5,$0 and $3,$3,$2 li $2,1073741824 # 0x40000000 or $3,$3,$2 li $2,-251723776 # 0xf0ff0000 ori $2,$2,0xffff and $3,$3,$2 li $2,83886080 # 0x5000000 or $3,$3,$2 sw $3,16($sp) lw $2,12($23) lbu $6,14($6) sw $2,32($sp) li $2,6 # 0x6 lw $3,16($23) lw $4,120($sp) sb $2,25($sp) sw $3,28($sp) sb $6,24($sp) sh $0,22($sp) .set noreorder .set nomacro jal rtl_set_skb_ip_summed sb $0,17($sp) .set macro .set reorder li $2,40 lhu $3,%lo(url_cache)($fp) addiu $6,$sp,16 sh $2,18($sp) addiu $3,$3,1 sh $3,20($sp) lw $3,16($sp) lw $4,20($sp) srl $2,$3,22 addu $5,$3,$4 andi $2,$2,0x3c sh $0,26($sp) sltu $4,$5,$4 addu $7,$6,$2 addu $5,$5,$4 lw $2,24($sp) addiu $6,$sp,32 lw $3,28($sp) addu $5,$5,$2 sltu $4,$5,$2 addu $5,$5,$4 addu $5,$5,$3 sltu $4,$5,$3 addu $5,$5,$4 $L555: lw $2,0($6) addiu $6,$6,4 addu $5,$5,$2 sltu $4,$5,$2 .set noreorder .set nomacro bne $6,$7,$L555 addu $5,$5,$4 .set macro .set reorder move $4,$21 #APP .set push # csum_fold .set noat sll $1, $5, 16 addu $5, $1 sltu $1, $5, $1 srl $5, $5, 16 addu $5, $1 xori $5, 0xffff .set pop #NO_APP .set noreorder .set nomacro jal rtl_get_skb_data sh $5,26($sp) .set macro .set reorder addiu $5,$sp,16 addiu $4,$2,14 .set noreorder .set nomacro jal memcpy li $6,20 # 0x14 .set macro .set reorder addiu $3,$fp,%lo(url_cache) li $2,1 move $4,$21 sb $2,16($3) .set noreorder .set nomacro jal dev_queue_xmit sb $0,15($3) .set macro .set reorder $L525: lw $31,116($sp) move $2,$0 lw $fp,112($sp) lw $23,108($sp) lw $22,104($sp) lw $21,100($sp) lw $20,96($sp) lw $19,92($sp) lw $18,88($sp) lw $17,84($sp) lw $16,80($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,120 .set macro .set reorder .end GenerateTCPFINACK .rdata .align 2 $LC24: .ascii "HTTP/1.1 401 The web site is blocked by administrator\r\n" .ascii "Server: Embedded HTTP Server 2.00\r\n" .ascii "Connection: close\r\n\r\n" .ascii "401 The web site is blocked by admini" .ascii "strator\n" .ascii "

401 The web site is blocke" .ascii "d by administrator

\n\000" .section .text.GenerateHTTP401,"ax",@progbits .align 2 .globl GenerateHTTP401 .ent GenerateHTTP401 .type GenerateHTTP401, @function GenerateHTTP401: .set nomips16 .frame $sp,176,$31 # vars= 120, regs= 10/0, args= 16, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-176 sw $4,176($sp) lui $4,%hi($LC0) addiu $4,$4,%lo($LC0) sw $31,172($sp) sw $22,160($sp) li $22,20 # 0x14 sw $18,144($sp) sw $16,136($sp) sw $fp,168($sp) sw $23,164($sp) sw $21,156($sp) sw $20,152($sp) sw $19,148($sp) .set noreorder .set nomacro jal rtl_get_dev_by_name sw $17,140($sp) .set macro .set reorder lw $4,176($sp) .set noreorder .set nomacro jal rtl_ip_hdr move $16,$2 .set macro .set reorder move $5,$16 .set noreorder .set nomacro jal rtl_neigh_lookup addiu $4,$2,12 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L564 move $18,$2 .set macro .set reorder .set noreorder .set nomacro jal rtl_get_hh_from_neigh move $4,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L565 lui $fp,%hi(block_message) .set macro .set reorder #APP 1: ll $3, 72($18) # atomic_sub_return nop subu $2, $3, 1 sc $2, 72($18) beqz $2, 2f subu $2, $3, 1 .subsection 2 2: b 1b .previous #NO_APP bne $2,$0,$L564 .set noreorder .set nomacro jal neigh_destroy move $4,$18 .set macro .set reorder j $L564 $L565: lw $4,%lo(block_message)($fp) bne $4,$0,$L605 lui $4,%hi($LC24) addiu $4,$4,%lo($LC24) $L605: jal strlen li $5,32 # 0x20 lw $4,176($sp) move $6,$2 .set noreorder .set nomacro jal skb_copy_expand li $7,32 # 0x20 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L573 move $21,$2 .set macro .set reorder .set noreorder .set nomacro beq $18,$0,$L609 lui $4,%hi($LC23) .set macro .set reorder #APP 1: ll $3, 72($18) # atomic_sub_return nop subu $2, $3, 1 sc $2, 72($18) beqz $2, 2f subu $2, $3, 1 .subsection 2 2: b 1b .previous #NO_APP bne $2,$0,$L574 .set noreorder .set nomacro jal neigh_destroy move $4,$18 .set macro .set reorder $L574: lui $4,%hi($LC23) $L609: .set noreorder .set nomacro jal scrlog_printk addiu $4,$4,%lo($LC23) .set macro .set reorder j $L564 $L573: .set noreorder .set nomacro jal rtl_ip_hdr move $4,$2 .set macro .set reorder move $4,$21 lbu $5,0($2) move $20,$2 andi $5,$5,0xf sll $2,$5,2 addu $23,$20,$2 lw $2,12($23) srl $2,$2,28 addu $5,$5,$2 .set noreorder .set nomacro jal skb_trim sll $5,$5,2 .set macro .set reorder lw $4,%lo(block_message)($fp) bne $4,$0,$L606 lui $4,%hi($LC24) addiu $4,$4,%lo($LC24) $L606: jal strlen move $4,$21 .set noreorder .set nomacro jal skb_put move $5,$2 .set macro .set reorder .set noreorder .set nomacro jal rtl_get_hh_from_neigh move $4,$18 .set macro .set reorder addiu $4,$sp,120 move $5,$2 .set noreorder .set nomacro jal rtl_get_lock_from_hh move $17,$2 .set macro .set reorder jal local_bh_disable .set noreorder .set nomacro jal rtl_get_skb_data move $4,$21 .set macro .set reorder move $4,$17 .set noreorder .set nomacro jal rtl_get_data_from_hh addiu $16,$2,-16 .set macro .set reorder li $6,16 # 0x10 move $4,$16 .set noreorder .set nomacro jal memcpy move $5,$2 .set macro .set reorder jal local_bh_enable .set noreorder .set nomacro jal rtl_get_len_from_hh move $4,$17 .set macro .set reorder move $4,$21 .set noreorder .set nomacro jal skb_push move $5,$2 .set macro .set reorder #APP 1: ll $3, 72($18) # atomic_sub_return nop subu $2, $3, 1 sc $2, 72($18) beqz $2, 2f subu $2, $3, 1 .subsection 2 2: b 1b .previous #NO_APP .set noreorder .set nomacro bne $2,$0,$L610 move $4,$21 .set macro .set reorder .set noreorder .set nomacro jal neigh_destroy move $4,$18 .set macro .set reorder move $4,$21 $L610: .set noreorder .set nomacro jal rtl_set_skb_nfct move $5,$0 .set macro .set reorder lbu $2,0($20) lw $3,12($20) lw $4,16($20) andi $2,$2,0xf sll $2,$2,2 sw $3,16($20) addu $19,$20,$2 sw $4,12($20) lhu $4,0($19) lhu $3,2($19) lw $2,12($19) sh $3,0($19) sh $4,2($19) srl $2,$2,28 lw $4,%lo(block_message)($fp) sll $2,$2,2 .set noreorder .set nomacro beq $4,$0,$L588 addu $17,$19,$2 .set macro .set reorder jal strlen move $4,$17 lw $5,%lo(block_message)($fp) .set noreorder .set nomacro j $L607 addiu $6,$2,1 .set macro .set reorder $L604: addu $16,$19,$22 addiu $4,$sp,124 move $5,$16 addiu $17,$16,4 .set noreorder .set nomacro jal memcpy li $6,4 # 0x4 .set macro .set reorder addiu $4,$sp,128 move $5,$17 .set noreorder .set nomacro jal memcpy li $6,4 # 0x4 .set macro .set reorder move $4,$16 addiu $5,$sp,128 .set noreorder .set nomacro jal memcpy li $6,4 # 0x4 .set macro .set reorder move $4,$17 addiu $5,$sp,124 .set noreorder .set nomacro jal memcpy li $6,4 # 0x4 .set macro .set reorder .set noreorder .set nomacro j $L608 move $5,$18 .set macro .set reorder $L588: lui $16,%hi($LC24) .set noreorder .set nomacro jal strlen addiu $4,$16,%lo($LC24) .set macro .set reorder move $4,$17 addiu $5,$16,%lo($LC24) move $6,$2 $L607: .set noreorder .set nomacro jal memcpy lui $fp,%hi(url_cache) .set macro .set reorder lw $2,8($19) lw $4,176($sp) lw $16,4($19) .set noreorder .set nomacro jal rtl_get_skb_len sw $2,4($19) .set macro .set reorder addiu $4,$fp,%lo(url_cache) lw $3,12($23) addu $16,$16,$2 lbu $2,0($20) srl $3,$3,28 sll $3,$3,2 andi $2,$2,0xf subu $16,$16,$3 sll $2,$2,2 subu $16,$16,$2 sw $16,8($19) lhu $2,12($4) move $4,$21 sb $0,13($19) sh $2,14($19) li $2,-327680 # 0xfffb0000 lw $3,12($19) ori $2,$2,0xffff sh $0,18($19) and $3,$3,$2 li $2,1048576 # 0x100000 or $3,$3,$2 li $2,524288 # 0x80000 or $3,$3,$2 li $2,-131072 # 0xfffe0000 ori $2,$2,0xffff and $3,$3,$2 .set noreorder .set nomacro jal rtl_get_skb_len sw $3,12($19) .set macro .set reorder lw $3,12($23) lbu $4,0($20) srl $3,$3,28 andi $4,$4,0xf sll $5,$3,2 sll $4,$4,2 sltu $3,$22,$5 subu $2,$2,$4 .set noreorder .set nomacro beq $3,$0,$L591 addiu $18,$2,-14 .set macro .set reorder li $6,8 # 0x8 addu $2,$19,$22 $L611: addiu $3,$22,1 lbu $4,0($2) sltu $2,$4,2 .set noreorder .set nomacro bne $2,$0,$L590 move $22,$3 .set macro .set reorder addu $2,$19,$3 lbu $2,0($2) .set noreorder .set nomacro beq $4,$6,$L604 addiu $22,$3,1 .set macro .set reorder addu $2,$22,$2 addiu $22,$2,-2 $L590: sltu $2,$22,$5 .set noreorder .set nomacro bne $2,$0,$L611 addu $2,$19,$22 .set macro .set reorder $L591: move $5,$18 $L608: move $6,$0 sh $0,16($19) move $4,$19 andi $17,$18,0xffff lw $16,16($20) lw $18,12($20) .set noreorder .set nomacro jal csum_partial addiu $17,$17,6 .set macro .set reorder move $4,$21 #APP .set push # csum_tcpudp_nofold .set noat addu $16, $18 sltu $1, $16, $18 addu $16, $1 addu $16, $17 sltu $1, $16, $17 addu $16, $1 addu $16, $2 sltu $1, $16, $2 addu $16, $1 .set pop .set push # csum_fold .set noat sll $1, $16, 16 addu $16, $1 sltu $1, $16, $1 srl $16, $16, 16 addu $16, $1 xori $16, 0xffff .set pop #NO_APP .set noreorder .set nomacro jal rtl_get_skb_len sh $16,16($19) .set macro .set reorder addiu $3,$fp,%lo(url_cache) addiu $2,$2,-14 addiu $6,$20,16 sh $2,2($20) lbu $2,14($3) sh $0,6($20) sb $2,8($20) lhu $2,%lo(url_cache)($fp) lw $4,0($20) addiu $2,$2,2 sh $2,4($20) srl $2,$4,22 lw $3,4($20) andi $2,$2,0x3c sh $0,10($20) addu $7,$20,$2 addu $4,$4,$3 sltu $5,$4,$3 lw $2,8($20) addu $4,$4,$5 lw $3,12($20) addu $4,$4,$2 sltu $5,$4,$2 addu $4,$4,$5 addu $4,$4,$3 sltu $5,$4,$3 addu $4,$4,$5 $L598: lw $2,0($6) addiu $6,$6,4 addu $4,$4,$2 sltu $5,$4,$2 .set noreorder .set nomacro bne $6,$7,$L598 addu $4,$4,$5 .set macro .set reorder addiu $3,$fp,%lo(url_cache) li $2,1 #APP .set push # csum_fold .set noat sll $1, $4, 16 addu $4, $1 sltu $1, $4, $1 srl $4, $4, 16 addu $4, $1 xori $4, 0xffff .set pop #NO_APP sh $4,10($20) move $4,$21 .set noreorder .set nomacro jal rtl_get_skb_data sb $2,15($3) .set macro .set reorder addiu $4,$sp,16 move $5,$2 .set noreorder .set nomacro jal memcpy li $6,54 # 0x36 .set macro .set reorder lui $2,%hi(finStateClientPort) lhu $3,2($19) move $4,$21 sh $3,%lo(finStateClientPort)($2) lui $2,%hi(finStateClientSeq) lw $3,8($19) .set noreorder .set nomacro jal dev_queue_xmit sw $3,%lo(finStateClientSeq)($2) .set macro .set reorder $L564: lw $31,172($sp) move $2,$0 lw $fp,168($sp) lw $23,164($sp) lw $22,160($sp) lw $21,156($sp) lw $20,152($sp) lw $19,148($sp) lw $18,144($sp) lw $17,140($sp) lw $16,136($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,176 .set macro .set reorder .end GenerateHTTP401 .section .text.strtoint,"ax",@progbits .align 2 .globl strtoint .ent strtoint .type strtoint, @function strtoint: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lbu $3,0($4) move $7,$0 $L620: beq $3,$0,$L614 sll $3,$3,24 sll $2,$7,2 sra $3,$3,24 addu $2,$2,$7 addiu $5,$3,-48 sll $6,$2,1 sltu $2,$5,10 beq $2,$0,$L614 addiu $4,$4,1 lbu $3,0($4) j $L620 addu $7,$6,$5 $L614: j $31 move $2,$7 .set macro .set reorder .end strtoint .section .text.Add_Pattern_ACL_For_ContentFilter,"ax",@progbits .align 2 .globl Add_Pattern_ACL_For_ContentFilter .ent Add_Pattern_ACL_For_ContentFilter .type Add_Pattern_ACL_For_ContentFilter, @function Add_Pattern_ACL_For_ContentFilter: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro j rtl_Add_Pattern_ACL_For_ContentFilter nop .set macro .set reorder .end Add_Pattern_ACL_For_ContentFilter .section .text.filter_item_regist,"ax",@progbits .align 2 .globl filter_item_regist .ent filter_item_regist .type filter_item_regist, @function filter_item_regist: .set nomips16 .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0 .mask 0x80000000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 lui $3,%hi(table_list_head) sw $31,16($sp) addiu $2,$3,%lo(table_list_head) lw $6,%lo(table_list_head)($3) beq $6,$2,$L622 li $2,-1 # 0xffffffff $L630: lw $2,16($6) bne $2,$4,$L625 addiu $7,$3,%lo(table_list_head) lw $2,8($6) addiu $3,$6,8 sw $2,0($5) sw $5,4($2) sw $3,4($5) lw $2,24($6) sw $5,8($6) addiu $3,$2,1 li $2,3 # 0x3 bne $4,$2,$L629 sw $3,24($6) li $2,2 # 0x2 bne $3,$2,$L629 nop jal Add_Pattern_ACL_For_ContentFilter nop $L629: j $L622 move $2,$0 $L625: lw $6,0($6) bne $6,$7,$L630 li $2,-1 # 0xffffffff $L622: lw $31,16($sp) j $31 addiu $sp,$sp,24 .set macro .set reorder .end filter_item_regist .rdata .align 2 .type __func__.0, @object .size __func__.0, 34 __func__.0: .ascii "Del_Pattern_ACL_For_ContentFilter\000" .section .text.Del_Pattern_ACL_For_ContentFilter,"ax",@progbits .align 2 .globl Del_Pattern_ACL_For_ContentFilter .ent Del_Pattern_ACL_For_ContentFilter .type Del_Pattern_ACL_For_ContentFilter, @function Del_Pattern_ACL_For_ContentFilter: .set nomips16 .frame $sp,80,$31 # vars= 56, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-80 move $5,$0 li $6,52 # 0x34 addiu $4,$sp,16 sw $31,76($sp) .set noreorder .set nomacro jal memset sw $16,72($sp) .set macro .set reorder li $2,-125894656 # 0xf87f0000 lw $3,52($sp) ori $2,$2,0xffff lui $4,%hi($LC0) and $3,$3,$2 li $2,25165824 # 0x1800000 or $3,$3,$2 li $2,134152192 # 0x7ff0000 ori $2,$2,0xffff addiu $4,$4,%lo($LC0) and $3,$3,$2 li $2,268435456 # 0x10000000 or $3,$3,$2 li $2,-7405568 # 0xff8f0000 ori $2,$2,0xffff and $3,$3,$2 li $2,6291456 # 0x600000 or $3,$3,$2 lw $2,36($sp) sw $3,52($sp) ori $2,$2,0x30 .set noreorder .set nomacro jal rtl_get_dev_by_name sw $2,36($sp) .set macro .set reorder move $16,$2 .set noreorder .set nomacro beq $2,$0,$L633 move $4,$2 .set macro .set reorder jal rtl_get_ps_drv_netif_mapping_by_psdev #APP 1: ll $3, 452($16) # atomic_sub nop subu $3, 1 sc $3, 452($16) beqz $3, 2f .subsection 2 2: b 1b .previous #NO_APP addiu $5,$2,12 .set noreorder .set nomacro beq $2,$0,$L633 addiu $4,$sp,16 .set macro .set reorder jal rtl865x_del_pattern_acl_for_contentFilter $L633: lw $31,76($sp) move $2,$0 lw $16,72($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,80 .set macro .set reorder .end Del_Pattern_ACL_For_ContentFilter .section .text.filter_table_flush,"ax",@progbits .align 2 .globl filter_table_flush .ent filter_table_flush .type filter_table_flush, @function filter_table_flush: .set nomips16 .frame $sp,40,$31 # vars= 0, regs= 6/0, args= 16, gp= 0 .mask 0x801f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-40 sw $19,28($sp) lui $19,%hi(table_list_head) sw $16,16($sp) addiu $2,$19,%lo(table_list_head) lw $16,%lo(table_list_head)($19) sw $31,36($sp) sw $20,32($sp) sw $18,24($sp) sw $17,20($sp) lw $20,0($16) beq $16,$2,$L658 li $3,1 # 0x1 $L652: lw $6,8($16) addiu $18,$16,8 $L657: lw $17,0($6) beq $6,$18,$L656 li $2,1048576 # 0x100000 lw $5,4($6) lw $3,0($6) ori $2,$2,0x100 move $4,$6 sw $3,0($5) sw $2,0($6) li $2,2097152 # 0x200000 ori $2,$2,0x200 sw $5,4($3) jal kfree sw $2,4($6) move $6,$17 lw $2,24($16) addiu $2,$2,-1 j $L657 sw $2,24($16) $L656: lw $3,16($16) li $2,3 # 0x3 bne $3,$2,$L649 li $2,1 # 0x1 lw $3,24($16) bne $3,$2,$L649 nop jal Del_Pattern_ACL_For_ContentFilter nop $L649: lw $3,0($16) li $2,1048576 # 0x100000 lw $5,4($16) ori $2,$2,0x100 move $4,$16 sw $3,0($5) sw $2,0($16) li $2,2097152 # 0x200000 ori $2,$2,0x200 sw $5,4($3) sw $2,4($16) jal kfree move $16,$20 addiu $3,$19,%lo(table_list_head) lw $2,24($3) lw $20,0($20) addiu $2,$2,-1 bne $16,$3,$L652 sw $2,24($3) li $3,1 # 0x1 $L658: lui $2,%hi(filter_rule_num) sw $3,%lo(filter_rule_num)($2) lui $3,%hi(log_enable) lw $31,36($sp) move $2,$0 lw $20,32($sp) lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) addiu $sp,$sp,40 sw $0,%lo(log_enable)($3) lui $3,%hi(url_filter_mode) j $31 sw $0,%lo(url_filter_mode)($3) .set macro .set reorder .end filter_table_flush .rdata .align 2 $LC26: .ascii "init\000" .align 2 $LC28: .ascii "flush\000" .align 2 $LC27: .ascii " \000" .align 2 $LC29: .ascii "enable_log\000" .align 2 $LC30: .ascii "white\000" .align 2 $LC31: .ascii "black\000" .align 2 $LC32: .ascii "add:\000" .align 2 $LC33: .ascii ":\000" .align 2 $LC34: .ascii ";\000" .align 2 $LC35: .ascii "#\000" .align 2 $LC37: .ascii "-\000" .section .text.filter_table_write_proc,"ax",@progbits .align 2 .ent filter_table_write_proc .type filter_table_write_proc, @function filter_table_write_proc: .set nomips16 .frame $sp,96,$31 # vars= 48, regs= 8/0, args= 16, gp= 0 .mask 0x807f0000,-4 .fmask 0x00000000,0 $L664: $L705: addiu $sp,$sp,-96 lui $2,%hi(malloc_sizes+60) sw $20,80($sp) move $20,$6 sw $19,76($sp) sw $17,68($sp) move $17,$5 sw $31,92($sp) sw $22,88($sp) sw $21,84($sp) sw $18,72($sp) sw $16,64($sp) lw $4,%lo(malloc_sizes+60)($2) .set noreorder .set nomacro jal kmem_cache_alloc li $5,208 # 0xd0 .set macro .set reorder move $19,$2 .set noreorder .set nomacro beq $19,$0,$L659 li $2,-14 # 0xfffffff2 .set macro .set reorder lui $16,%hi(get_info_from_usr_space) addiu $4,$16,%lo(get_info_from_usr_space) .set noreorder .set nomacro jal strlen sw $19,40($sp) .set macro .set reorder addiu $4,$16,%lo(get_info_from_usr_space) move $6,$2 .set noreorder .set nomacro jal memset move $5,$0 .set macro .set reorder .set noreorder .set nomacro beq $17,$0,$L977 addu $3,$17,$20 .set macro .set reorder addiu $7,$16,%lo(get_info_from_usr_space) or $3,$17,$3 lw $2,24($28) or $3,$3,$20 and $2,$2,$3 .set noreorder .set nomacro bne $2,$0,$L710 move $6,$20 .set macro .set reorder move $5,$17 move $4,$7 #APP .set noreorder jal __copy_user .set noat addu $1, $5, $6 .set at .set reorder #NO_APP $L710: bne $6,$0,$L977 .set noreorder .set nomacro beq $20,$0,$L983 move $4,$7 .set macro .set reorder move $4,$19 move $3,$7 move $2,$20 #APP .set noreorder .set noat 1: lbu $1,($3) subu $2,1 sb $1,($4) beqz $1,2f addiu $4,1 bnez $2,1b addiu $3,1 2: .set at .set reorder #NO_APP move $4,$7 $L983: .set noreorder .set nomacro jal strlen lui $16,%hi($LC26) .set macro .set reorder addiu $4,$16,%lo($LC26) addu $2,$19,$2 .set noreorder .set nomacro jal strlen sb $0,-1($2) .set macro .set reorder addiu $5,$16,%lo($LC26) lw $4,40($sp) .set noreorder .set nomacro jal memcmp move $6,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L719 lui $16,%hi($LC28) .set macro .set reorder lui $16,%hi($LC27) addiu $4,$sp,40 .set noreorder .set nomacro jal strsep addiu $5,$16,%lo($LC27) .set macro .set reorder sw $2,48($sp) addiu $5,$16,%lo($LC27) $L984: .set noreorder .set nomacro jal strsep addiu $4,$sp,40 .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,48($sp) .set macro .set reorder lui $3,%hi(filter_tlb) sll $5,$2,3 addiu $3,$3,%lo(filter_tlb) addu $5,$5,$3 lw $5,4($5) .set noreorder .set nomacro jal filter_table_regist move $4,$2 .set macro .set reorder lw $2,40($sp) .set noreorder .set nomacro bne $2,$0,$L984 addiu $5,$16,%lo($LC27) .set macro .set reorder j $L981 $L719: .set noreorder .set nomacro jal strlen addiu $4,$16,%lo($LC28) .set macro .set reorder addiu $5,$16,%lo($LC28) lw $4,40($sp) .set noreorder .set nomacro jal memcmp move $6,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L724 lui $16,%hi($LC29) .set macro .set reorder .set noreorder .set nomacro jal filter_table_flush move $4,$0 .set macro .set reorder j $L981 $L724: .set noreorder .set nomacro jal strlen addiu $4,$16,%lo($LC29) .set macro .set reorder addiu $5,$16,%lo($LC29) lw $4,40($sp) .set noreorder .set nomacro jal memcmp move $6,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L726 li $3,1 # 0x1 .set macro .set reorder lui $2,%hi(log_enable) .set noreorder .set nomacro j $L981 sw $3,%lo(log_enable)($2) .set macro .set reorder $L726: lui $16,%hi($LC30) .set noreorder .set nomacro jal strlen addiu $4,$16,%lo($LC30) .set macro .set reorder addiu $5,$16,%lo($LC30) lw $4,40($sp) .set noreorder .set nomacro jal memcmp move $6,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L728 li $3,1 # 0x1 .set macro .set reorder lui $2,%hi(url_filter_mode) .set noreorder .set nomacro j $L981 sw $3,%lo(url_filter_mode)($2) .set macro .set reorder $L728: lui $16,%hi($LC31) .set noreorder .set nomacro jal strlen addiu $4,$16,%lo($LC31) .set macro .set reorder addiu $5,$16,%lo($LC31) lw $4,40($sp) .set noreorder .set nomacro jal memcmp move $6,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L730 lui $2,%hi(url_filter_mode) .set macro .set reorder .set noreorder .set nomacro j $L981 sw $0,%lo(url_filter_mode)($2) .set macro .set reorder $L730: lui $16,%hi($LC32) .set noreorder .set nomacro jal strlen addiu $4,$16,%lo($LC32) .set macro .set reorder addiu $5,$16,%lo($LC32) lw $4,40($sp) .set noreorder .set nomacro jal memcmp move $6,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L981 lui $5,%hi($LC33) .set macro .set reorder addiu $4,$sp,40 .set noreorder .set nomacro jal strsep addiu $5,$5,%lo($LC33) .set macro .set reorder sw $2,44($sp) lui $5,%hi($LC34) $L991: addiu $4,$sp,40 .set noreorder .set nomacro jal strsep addiu $5,$5,%lo($LC34) .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L981 sw $2,44($sp) .set macro .set reorder lui $5,%hi($LC27) move $4,$2 addiu $5,$5,%lo($LC27) .set noreorder .set nomacro jal memcmp li $6,1 # 0x1 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L985 lui $22,%hi($LC35) .set macro .set reorder lw $4,44($sp) jal strlen li $3,1 # 0x1 beq $2,$3,$L981 $L985: addiu $4,$sp,44 .set noreorder .set nomacro jal strsep addiu $5,$22,%lo($LC35) .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,48($sp) .set macro .set reorder li $3,-1 # 0xffffffff beq $2,$3,$L981 addiu $4,$sp,44 $L990: addiu $5,$22,%lo($LC35) .set noreorder .set nomacro jal strsep lui $18,%hi($LC27) .set macro .set reorder addiu $5,$18,%lo($LC27) addiu $4,$sp,48 .set noreorder .set nomacro jal strsep sw $2,48($sp) .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,56($sp) .set macro .set reorder addiu $4,$sp,48 addiu $5,$18,%lo($LC27) .set noreorder .set nomacro jal strsep move $16,$2 .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,56($sp) .set macro .set reorder move $21,$2 li $2,2 # 0x2 .set noreorder .set nomacro beq $16,$2,$L799 slt $2,$16,3 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L976 li $2,3 # 0x3 .set macro .set reorder li $2,1 # 0x1 .set noreorder .set nomacro beq $16,$2,$L986 lui $2,%hi(malloc_sizes+20) .set macro .set reorder j $L741 $L976: .set noreorder .set nomacro beq $16,$2,$L856 li $2,4 # 0x4 .set macro .set reorder .set noreorder .set nomacro beq $16,$2,$L987 lui $2,%hi(malloc_sizes+20) .set macro .set reorder j $L741 $L744: $L751: $L792: $L986: lw $4,%lo(malloc_sizes+20)($2) .set noreorder .set nomacro jal kmem_cache_alloc li $5,208 # 0xd0 .set macro .set reorder addiu $5,$18,%lo($LC27) move $16,$2 addiu $4,$sp,48 .set noreorder .set nomacro beq $16,$0,$L981 addiu $2,$2,8 .set macro .set reorder sw $16,4($16) sw $2,8($16) sw $2,4($2) lui $2,%hi(filter_rule_num) sw $16,0($16) sw $0,24($16) lw $2,%lo(filter_rule_num)($2) sw $21,16($16) .set noreorder .set nomacro jal strsep sw $2,20($16) .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,56($sp) .set macro .set reorder li $6,4 # 0x4 addiu $4,$16,28 addiu $5,$sp,52 .set noreorder .set nomacro jal memcpy sw $2,52($sp) .set macro .set reorder addiu $5,$18,%lo($LC27) .set noreorder .set nomacro jal strsep addiu $4,$sp,48 .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,56($sp) .set macro .set reorder addiu $4,$16,32 addiu $5,$sp,52 li $6,4 # 0x4 .set noreorder .set nomacro jal memcpy sw $2,52($sp) .set macro .set reorder move $5,$16 .set noreorder .set nomacro jal filter_item_regist li $4,1 # 0x1 .set macro .set reorder lw $2,48($sp) .set noreorder .set nomacro bne $2,$0,$L744 lui $2,%hi(malloc_sizes+20) .set macro .set reorder j $L741 $L799: $L804: $L845: lui $2,%hi(malloc_sizes+20) lw $4,%lo(malloc_sizes+20)($2) .set noreorder .set nomacro jal kmem_cache_alloc li $5,208 # 0xd0 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L981 move $17,$2 .set macro .set reorder addiu $2,$2,8 addiu $5,$18,%lo($LC27) sw $17,4($17) addiu $4,$sp,48 sw $2,4($2) move $18,$0 sw $2,8($17) lui $2,%hi(filter_rule_num) sw $17,0($17) sw $0,24($17) lw $2,%lo(filter_rule_num)($2) sw $21,16($17) .set noreorder .set nomacro jal strsep sw $2,20($17) .set macro .set reorder sw $2,56($sp) lui $5,%hi($LC37) $L988: addiu $4,$sp,56 addiu $5,$5,%lo($LC37) .set noreorder .set nomacro jal strsep addu $16,$18,$17 .set macro .set reorder addiu $18,$18,1 .set noreorder .set nomacro jal str2hexnum move $4,$2 .set macro .set reorder sb $2,28($16) lw $2,56($sp) .set noreorder .set nomacro bne $2,$0,$L988 lui $5,%hi($LC37) .set macro .set reorder move $5,$17 .set noreorder .set nomacro jal filter_item_regist li $4,2 # 0x2 .set macro .set reorder j $L741 $L856: $L863: $L904: lui $2,%hi(malloc_sizes+20) $L989: lw $4,%lo(malloc_sizes+20)($2) .set noreorder .set nomacro jal kmem_cache_alloc li $5,208 # 0xd0 .set macro .set reorder addiu $5,$18,%lo($LC27) move $16,$2 .set noreorder .set nomacro beq $2,$0,$L981 addiu $4,$sp,48 .set macro .set reorder jal strsep sw $2,56($sp) lb $2,0($2) .set noreorder .set nomacro beq $2,$0,$L858 addiu $3,$16,8 .set macro .set reorder sw $16,4($16) lui $2,%hi(filter_rule_num) sw $3,4($3) sw $16,0($16) sw $3,8($16) sw $0,24($16) lw $2,%lo(filter_rule_num)($2) sw $21,16($16) sw $2,20($16) lw $4,56($sp) jal strlen sltu $2,$2,41 .set noreorder .set nomacro beq $2,$0,$L913 li $5,39 # 0x27 .set macro .set reorder lw $4,56($sp) jal strlen move $5,$2 $L913: lw $4,56($sp) .set noreorder .set nomacro beq $5,$0,$L915 addiu $3,$16,28 .set macro .set reorder move $2,$5 #APP .set noreorder .set noat 1: lbu $1,($4) subu $2,1 sb $1,($3) beqz $1,2f addiu $3,1 bnez $2,1b addiu $4,1 2: .set at .set reorder #NO_APP $L915: addu $2,$5,$16 li $4,3 # 0x3 move $5,$16 .set noreorder .set nomacro jal filter_item_regist sb $0,28($2) .set macro .set reorder $L858: lw $2,48($sp) .set noreorder .set nomacro bne $2,$0,$L989 lui $2,%hi(malloc_sizes+20) .set macro .set reorder j $L741 $L917: $L924: $L965: $L987: li $5,208 # 0xd0 lw $4,%lo(malloc_sizes+20)($2) .set noreorder .set nomacro jal kmem_cache_alloc lui $17,%hi($LC27) .set macro .set reorder addiu $5,$17,%lo($LC27) move $16,$2 addiu $4,$sp,48 .set noreorder .set nomacro beq $16,$0,$L981 addiu $2,$2,8 .set macro .set reorder sw $16,4($16) sw $2,8($16) sw $2,4($2) lui $2,%hi(filter_rule_num) sw $16,0($16) sw $0,24($16) lw $2,%lo(filter_rule_num)($2) sw $21,16($16) .set noreorder .set nomacro jal strsep sw $2,20($16) .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,56($sp) .set macro .set reorder li $6,4 # 0x4 addiu $4,$16,28 addiu $5,$sp,60 .set noreorder .set nomacro jal memcpy sw $2,60($sp) .set macro .set reorder addiu $4,$sp,48 .set noreorder .set nomacro jal strsep addiu $5,$17,%lo($LC27) .set macro .set reorder move $4,$2 sw $2,56($sp) lw $2,60($sp) bne $2,$0,$L972 jal str2hexnum .set noreorder .set nomacro beq $2,$0,$L982 li $2,1440 # 0x5a0 .set macro .set reorder $L972: lw $4,56($sp) jal str2hexnum $L982: li $6,4 # 0x4 addiu $4,$16,32 addiu $5,$sp,60 .set noreorder .set nomacro jal memcpy sw $2,60($sp) .set macro .set reorder addiu $5,$17,%lo($LC27) .set noreorder .set nomacro jal strsep addiu $4,$sp,48 .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,56($sp) .set macro .set reorder addiu $4,$16,36 addiu $5,$sp,60 li $6,4 # 0x4 .set noreorder .set nomacro bne $2,$0,$L974 sw $2,60($sp) .set macro .set reorder li $2,255 # 0xff sw $2,60($sp) $L974: jal memcpy move $5,$16 .set noreorder .set nomacro jal filter_item_regist li $4,4 # 0x4 .set macro .set reorder lw $2,48($sp) .set noreorder .set nomacro bne $2,$0,$L917 lui $2,%hi(malloc_sizes+20) .set macro .set reorder $L741: lw $2,44($sp) .set noreorder .set nomacro bne $2,$0,$L990 addiu $4,$sp,44 .set macro .set reorder lui $2,%hi(filter_rule_num) lw $3,%lo(filter_rule_num)($2) addiu $3,$3,1 sw $3,%lo(filter_rule_num)($2) lw $2,40($sp) .set noreorder .set nomacro bne $2,$0,$L991 lui $5,%hi($LC34) .set macro .set reorder $L981: .set noreorder .set nomacro jal kfree move $4,$19 .set macro .set reorder .set noreorder .set nomacro j $L659 move $2,$20 .set macro .set reorder $L977: .set noreorder .set nomacro jal kfree move $4,$19 .set macro .set reorder li $2,-14 # 0xfffffff2 $L659: lw $31,92($sp) lw $22,88($sp) lw $21,84($sp) lw $20,80($sp) lw $19,76($sp) lw $18,72($sp) lw $17,68($sp) lw $16,64($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,96 .set macro .set reorder .end filter_table_write_proc .section .text.dos_pkt_locate,"ax",@progbits .align 2 .ent dos_pkt_locate .type dos_pkt_locate, @function dos_pkt_locate: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $6,12($4) lui $2,%hi(ConnectedIp) addiu $2,$2,%lo(ConnectedIp) andi $3,$6,0xff andi $5,$6,0x3ff sll $3,$3,2 sll $4,$5,3 addu $3,$3,$2 addu $4,$4,$5 lui $2,%hi(dos_pkt) sll $4,$4,2 lw $3,0($3) addiu $2,$2,%lo(dos_pkt) bne $6,$3,$L993 addu $4,$4,$2 lw $2,24($4) bne $2,$6,$L999 move $5,$0 j $L992 sb $0,0($4) $L993: lw $2,24($4) $L999: beq $2,$6,$L998 move $5,$0 lb $2,0($4) bne $2,$0,$L992 nop lui $2,%hi(cur_p_pkt) li $5,1 # 0x1 sw $4,%lo(cur_p_pkt)($2) li $2,1 sw $6,24($4) j $L992 sb $2,0($4) $L998: lb $3,0($4) li $2,1 # 0x1 bne $3,$2,$L992 nop lui $2,%hi(cur_p_pkt) li $5,1 # 0x1 sw $4,%lo(cur_p_pkt)($2) $L992: j $31 move $2,$5 .set macro .set reorder .end dos_pkt_locate .rdata .align 2 $LC38: .ascii "DoS: Whole System SYN Flood Attack\n\000" .align 2 $LC39: .ascii "DoS: Whole System FIN Flood Attack\n\000" .align 2 $LC40: .ascii "DoS: Whole System UDP Flood Attack\n\000" .align 2 $LC41: .ascii "DoS: Whole System ICMP Flood Attack\n\000" .align 2 $LC42: .ascii "DoS: Per-source SYN Flood Attack source=%u.%u.%u.%u dest" .ascii "ination=%u.%u.%u.%u\n\000" .align 2 $LC43: .ascii "DoS: Per-source FIN Flood Attack source=%u.%u.%u.%u dest" .ascii "ination=%u.%u.%u.%u\n\000" .align 2 $LC44: .ascii "DoS: Per-source UDP Flood Attack source=%u.%u.%u.%u dest" .ascii "ination=%u.%u.%u.%u\n\000" .align 2 $LC45: .ascii "DoS: Per-source ICMP Flood Attack source=%u.%u.%u.%u des" .ascii "tination=%u.%u.%u.%u\n\000" .align 2 $LC46: .ascii "DoS: Port Scan Attack source=%u.%u.%u.%u destination=%u." .ascii "%u.%u.%u\n\000" .align 2 $LC47: .ascii "DoS: Tcp Scan Attack source=%u.%u.%u.%u destination=%u.%" .ascii "u.%u.%u\n\000" .align 2 $LC48: .ascii "DoS: Tcp SYN With Data Attack source=%u.%u.%u.%u destina" .ascii "tion=%u.%u.%u.%u\n\000" .align 2 $LC49: .ascii "DoS: IP Land Attack source=%u.%u.%u.%u destination=%u.%u" .ascii ".%u.%u\n\000" .align 2 $LC50: .ascii "DoS: UdpEchoChargen Attack source=%u.%u.%u.%u destinatio" .ascii "n=%u.%u.%u.%u\n\000" .align 2 $LC51: .ascii "DoS: UdpBomb Attack source=%u.%u.%u.%u destination=%u.%u" .ascii ".%u.%u\n\000" .align 2 $LC52: .ascii "DoS: PingOfDeath Attack source=%u.%u.%u.%u destination=%" .ascii "u.%u.%u.%u\n\000" .align 2 $LC53: .ascii "DoS: IcmpSmurf Attack source=%u.%u.%u.%u destination=%u." .ascii "%u.%u.%u\n\000" .align 2 $LC54: .ascii "DoS: IpSpoof Attack source=%u.%u.%u.%u destination=%u.%u" .ascii ".%u.%u\n\000" .align 2 $LC55: .ascii "DoS: TearDrop Attack source=%u.%u.%u.%u destination=%u.%" .ascii "u.%u.%u\n\000" .section .text.dos_timer_fn,"ax",@progbits .align 2 .ent dos_timer_fn .type dos_timer_fn, @function dos_timer_fn: .set nomips16 .frame $sp,56,$31 # vars= 0, regs= 3/0, args= 40, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-56 lui $6,%hi(item) sw $31,48($sp) sw $17,44($sp) sw $16,40($sp) lw $5,%lo(item)($6) beq $5,$0,$L1001 lui $2,%hi(block_time) lui $4,%hi(block_count) lw $3,%lo(block_time)($2) lw $2,%lo(block_count)($4) slt $2,$2,$3 bne $2,$0,$L1050 lui $2,%hi(block) sw $0,%lo(block)($2) sw $0,%lo(block_count)($4) lui $2,%hi(block) $L1050: lw $3,%lo(block)($2) li $2,1 # 0x1 bne $3,$2,$L1051 andi $2,$5,0x1e lw $2,%lo(block_count)($4) addiu $2,$2,1 sw $2,%lo(block_count)($4) andi $2,$5,0x1e $L1051: move $8,$0 move $9,$0 move $10,$0 beq $2,$0,$L1017 move $12,$0 lw $3,%lo(item)($6) lui $2,%hi(dos_pkt) addiu $5,$2,%lo(dos_pkt) li $6,1 # 0x1 andi $15,$3,0x10 andi $14,$3,0x2 andi $13,$3,0x4 andi $11,$3,0x8 li $7,1023 # 0x3ff $L1012: lbu $4,0($5) sll $2,$4,24 sra $2,$2,24 bne $2,$6,$L1052 sll $2,$4,24 beq $14,$0,$L1053 sra $2,$2,24 lw $2,4($5) slt $3,$0,$2 addu $2,$8,$2 movn $8,$2,$3 #conditional move sll $2,$4,24 $L1052: sra $2,$2,24 $L1053: bne $2,$6,$L1054 sll $2,$4,24 beq $13,$0,$L1055 sra $2,$2,24 lw $2,8($5) slt $3,$0,$2 addu $2,$9,$2 movn $9,$2,$3 #conditional move sll $2,$4,24 $L1054: sra $2,$2,24 $L1055: bne $2,$6,$L1056 sll $2,$4,24 beq $11,$0,$L1057 sra $2,$2,24 lw $2,12($5) slt $3,$0,$2 addu $2,$10,$2 movn $10,$2,$3 #conditional move sll $2,$4,24 $L1056: sra $2,$2,24 $L1057: bne $2,$6,$L1007 nop beq $15,$0,$L1007 nop lw $2,16($5) slt $3,$0,$2 addu $2,$12,$2 movn $12,$2,$3 #conditional move $L1007: addiu $7,$7,-1 bgez $7,$L1012 addiu $5,$5,36 lui $2,%hi(whole_syn_threshold) lw $3,%lo(whole_syn_threshold)($2) slt $2,$3,$8 beq $2,$0,$L1058 lui $2,%hi(whole_fin_threshold) lui $2,%hi(item) lw $2,%lo(item)($2) andi $2,$2,0x2 beq $2,$0,$L1058 lui $2,%hi(whole_fin_threshold) blez $3,$L1058 lui $3,%hi(LogFlag) lw $2,%lo(LogFlag)($3) ori $2,$2,0x2 sw $2,%lo(LogFlag)($3) lui $2,%hi(whole_fin_threshold) $L1058: lw $3,%lo(whole_fin_threshold)($2) slt $2,$3,$9 beq $2,$0,$L1059 lui $2,%hi(whole_udp_threshold) lui $2,%hi(item) lw $2,%lo(item)($2) andi $2,$2,0x4 beq $2,$0,$L1059 lui $2,%hi(whole_udp_threshold) blez $3,$L1059 lui $3,%hi(LogFlag) lw $2,%lo(LogFlag)($3) ori $2,$2,0x4 sw $2,%lo(LogFlag)($3) lui $2,%hi(whole_udp_threshold) $L1059: lw $3,%lo(whole_udp_threshold)($2) slt $2,$3,$10 beq $2,$0,$L1060 lui $2,%hi(whole_icmp_threshold) lui $2,%hi(item) lw $2,%lo(item)($2) andi $2,$2,0x8 beq $2,$0,$L1060 lui $2,%hi(whole_icmp_threshold) blez $3,$L1060 lui $3,%hi(LogFlag) lw $2,%lo(LogFlag)($3) ori $2,$2,0x8 sw $2,%lo(LogFlag)($3) lui $2,%hi(whole_icmp_threshold) $L1060: lw $3,%lo(whole_icmp_threshold)($2) slt $2,$3,$12 beq $2,$0,$L1061 lui $17,%hi(LogFlag) lui $2,%hi(item) lw $2,%lo(item)($2) andi $2,$2,0x10 beq $2,$0,$L1061 nop blez $3,$L1061 lui $3,%hi(LogFlag) lw $2,%lo(LogFlag)($3) ori $2,$2,0x10 sw $2,%lo(LogFlag)($3) $L1017: lui $17,%hi(LogFlag) $L1061: lw $16,%lo(LogFlag)($17) andi $2,$16,0x2 beq $2,$0,$L1062 andi $2,$16,0x4 lui $4,%hi($LC38) jal scrlog_printk addiu $4,$4,%lo($LC38) andi $2,$16,0x4 $L1062: beq $2,$0,$L1063 andi $2,$16,0x8 lui $4,%hi($LC39) jal scrlog_printk addiu $4,$4,%lo($LC39) andi $2,$16,0x8 $L1063: beq $2,$0,$L1064 andi $2,$16,0x10 lui $4,%hi($LC40) jal scrlog_printk addiu $4,$4,%lo($LC40) andi $2,$16,0x10 $L1064: beq $2,$0,$L1065 andi $2,$16,0x20 lui $4,%hi($LC41) jal scrlog_printk addiu $4,$4,%lo($LC41) andi $2,$16,0x20 $L1065: beq $2,$0,$L1066 andi $2,$16,0x40 lui $2,%hi(attack_saddr+4) lui $4,%hi($LC42) lbu $5,%lo(attack_saddr+4)($2) lui $2,%hi(attack_saddr+5) lbu $6,%lo(attack_saddr+5)($2) lui $2,%hi(attack_saddr+6) lbu $7,%lo(attack_saddr+6)($2) lui $2,%hi(attack_saddr+7) lbu $10,%lo(attack_saddr+7)($2) lui $2,%hi(attack_daddr+4) lbu $9,%lo(attack_daddr+4)($2) lui $2,%hi(attack_daddr+5) lbu $8,%lo(attack_daddr+5)($2) lui $2,%hi(attack_daddr+6) lbu $3,%lo(attack_daddr+6)($2) lui $2,%hi(attack_daddr+7) lbu $2,%lo(attack_daddr+7)($2) addiu $4,$4,%lo($LC42) sw $10,16($sp) sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) jal scrlog_printk sw $2,32($sp) andi $2,$16,0x40 $L1066: beq $2,$0,$L1067 andi $2,$16,0x80 lui $2,%hi(attack_saddr+8) lui $4,%hi($LC43) lbu $5,%lo(attack_saddr+8)($2) lui $2,%hi(attack_saddr+9) lbu $6,%lo(attack_saddr+9)($2) lui $2,%hi(attack_saddr+10) lbu $7,%lo(attack_saddr+10)($2) lui $2,%hi(attack_saddr+11) lbu $10,%lo(attack_saddr+11)($2) lui $2,%hi(attack_daddr+8) lbu $9,%lo(attack_daddr+8)($2) lui $2,%hi(attack_daddr+9) lbu $8,%lo(attack_daddr+9)($2) lui $2,%hi(attack_daddr+10) lbu $3,%lo(attack_daddr+10)($2) lui $2,%hi(attack_daddr+11) lbu $2,%lo(attack_daddr+11)($2) addiu $4,$4,%lo($LC43) sw $10,16($sp) sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) jal scrlog_printk sw $2,32($sp) andi $2,$16,0x80 $L1067: beq $2,$0,$L1068 andi $2,$16,0x100 lui $2,%hi(attack_saddr+12) lui $4,%hi($LC44) lbu $5,%lo(attack_saddr+12)($2) lui $2,%hi(attack_saddr+13) lbu $6,%lo(attack_saddr+13)($2) lui $2,%hi(attack_saddr+14) lbu $7,%lo(attack_saddr+14)($2) lui $2,%hi(attack_saddr+15) lbu $10,%lo(attack_saddr+15)($2) lui $2,%hi(attack_daddr+12) lbu $9,%lo(attack_daddr+12)($2) lui $2,%hi(attack_daddr+13) lbu $8,%lo(attack_daddr+13)($2) lui $2,%hi(attack_daddr+14) lbu $3,%lo(attack_daddr+14)($2) lui $2,%hi(attack_daddr+15) lbu $2,%lo(attack_daddr+15)($2) addiu $4,$4,%lo($LC44) sw $10,16($sp) sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) jal scrlog_printk sw $2,32($sp) andi $2,$16,0x100 $L1068: beq $2,$0,$L1069 andi $2,$16,0x200 lui $2,%hi(attack_saddr+16) lui $4,%hi($LC45) lbu $5,%lo(attack_saddr+16)($2) lui $2,%hi(attack_saddr+17) lbu $6,%lo(attack_saddr+17)($2) lui $2,%hi(attack_saddr+18) lbu $7,%lo(attack_saddr+18)($2) lui $2,%hi(attack_saddr+19) lbu $10,%lo(attack_saddr+19)($2) lui $2,%hi(attack_daddr+16) lbu $9,%lo(attack_daddr+16)($2) lui $2,%hi(attack_daddr+17) lbu $8,%lo(attack_daddr+17)($2) lui $2,%hi(attack_daddr+18) lbu $3,%lo(attack_daddr+18)($2) lui $2,%hi(attack_daddr+19) lbu $2,%lo(attack_daddr+19)($2) addiu $4,$4,%lo($LC45) sw $10,16($sp) sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) jal scrlog_printk sw $2,32($sp) andi $2,$16,0x200 $L1069: beq $2,$0,$L1070 andi $2,$16,0x8000 lui $2,%hi(attack_saddr+20) lui $4,%hi($LC46) lbu $5,%lo(attack_saddr+20)($2) lui $2,%hi(attack_saddr+21) lbu $6,%lo(attack_saddr+21)($2) lui $2,%hi(attack_saddr+22) lbu $7,%lo(attack_saddr+22)($2) lui $2,%hi(attack_saddr+23) lbu $10,%lo(attack_saddr+23)($2) lui $2,%hi(attack_daddr+20) lbu $9,%lo(attack_daddr+20)($2) lui $2,%hi(attack_daddr+21) lbu $8,%lo(attack_daddr+21)($2) lui $2,%hi(attack_daddr+22) lbu $3,%lo(attack_daddr+22)($2) lui $2,%hi(attack_daddr+23) lbu $2,%lo(attack_daddr+23)($2) addiu $4,$4,%lo($LC46) sw $10,16($sp) sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) jal scrlog_printk sw $2,32($sp) andi $2,$16,0x8000 $L1070: beq $2,$0,$L1071 li $2,65536 # 0x10000 lui $2,%hi(attack_saddr+44) lui $4,%hi($LC47) lbu $5,%lo(attack_saddr+44)($2) lui $2,%hi(attack_saddr+45) lbu $6,%lo(attack_saddr+45)($2) lui $2,%hi(attack_saddr+46) lbu $7,%lo(attack_saddr+46)($2) lui $2,%hi(attack_saddr+47) lbu $10,%lo(attack_saddr+47)($2) lui $2,%hi(attack_daddr+44) lbu $9,%lo(attack_daddr+44)($2) lui $2,%hi(attack_daddr+45) lbu $8,%lo(attack_daddr+45)($2) lui $2,%hi(attack_daddr+46) lbu $3,%lo(attack_daddr+46)($2) lui $2,%hi(attack_daddr+47) lbu $2,%lo(attack_daddr+47)($2) addiu $4,$4,%lo($LC47) sw $10,16($sp) sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) jal scrlog_printk sw $2,32($sp) li $2,65536 # 0x10000 $L1071: and $2,$16,$2 beq $2,$0,$L1072 andi $2,$16,0x800 lui $2,%hi(attack_saddr+48) lui $4,%hi($LC48) lbu $5,%lo(attack_saddr+48)($2) lui $2,%hi(attack_saddr+49) lbu $6,%lo(attack_saddr+49)($2) lui $2,%hi(attack_saddr+50) lbu $7,%lo(attack_saddr+50)($2) lui $2,%hi(attack_saddr+51) lbu $10,%lo(attack_saddr+51)($2) lui $2,%hi(attack_daddr+48) lbu $9,%lo(attack_daddr+48)($2) lui $2,%hi(attack_daddr+49) lbu $8,%lo(attack_daddr+49)($2) lui $2,%hi(attack_daddr+50) lbu $3,%lo(attack_daddr+50)($2) lui $2,%hi(attack_daddr+51) lbu $2,%lo(attack_daddr+51)($2) addiu $4,$4,%lo($LC48) sw $10,16($sp) sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) jal scrlog_printk sw $2,32($sp) andi $2,$16,0x800 $L1072: beq $2,$0,$L1073 li $2,262144 # 0x40000 lui $2,%hi(attack_saddr+28) lui $4,%hi($LC49) lbu $5,%lo(attack_saddr+28)($2) lui $2,%hi(attack_saddr+29) lbu $6,%lo(attack_saddr+29)($2) lui $2,%hi(attack_saddr+30) lbu $7,%lo(attack_saddr+30)($2) lui $2,%hi(attack_saddr+31) lbu $10,%lo(attack_saddr+31)($2) lui $2,%hi(attack_daddr+28) lbu $9,%lo(attack_daddr+28)($2) lui $2,%hi(attack_daddr+29) lbu $8,%lo(attack_daddr+29)($2) lui $2,%hi(attack_daddr+30) lbu $3,%lo(attack_daddr+30)($2) lui $2,%hi(attack_daddr+31) lbu $2,%lo(attack_daddr+31)($2) addiu $4,$4,%lo($LC49) sw $10,16($sp) sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) jal scrlog_printk sw $2,32($sp) li $2,262144 # 0x40000 $L1073: and $2,$16,$2 beq $2,$0,$L1074 li $2,131072 # 0x20000 lui $2,%hi(attack_saddr+56) lui $4,%hi($LC50) lbu $5,%lo(attack_saddr+56)($2) lui $2,%hi(attack_saddr+57) lbu $6,%lo(attack_saddr+57)($2) lui $2,%hi(attack_saddr+58) lbu $7,%lo(attack_saddr+58)($2) lui $2,%hi(attack_saddr+59) lbu $10,%lo(attack_saddr+59)($2) lui $2,%hi(attack_daddr+56) lbu $9,%lo(attack_daddr+56)($2) lui $2,%hi(attack_daddr+57) lbu $8,%lo(attack_daddr+57)($2) lui $2,%hi(attack_daddr+58) lbu $3,%lo(attack_daddr+58)($2) lui $2,%hi(attack_daddr+59) lbu $2,%lo(attack_daddr+59)($2) addiu $4,$4,%lo($LC50) sw $10,16($sp) sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) jal scrlog_printk sw $2,32($sp) li $2,131072 # 0x20000 $L1074: and $2,$16,$2 beq $2,$0,$L1075 andi $2,$16,0x4000 lui $2,%hi(attack_saddr+52) lui $4,%hi($LC51) lbu $5,%lo(attack_saddr+52)($2) lui $2,%hi(attack_saddr+53) lbu $6,%lo(attack_saddr+53)($2) lui $2,%hi(attack_saddr+54) lbu $7,%lo(attack_saddr+54)($2) lui $2,%hi(attack_saddr+55) lbu $10,%lo(attack_saddr+55)($2) lui $2,%hi(attack_daddr+52) lbu $9,%lo(attack_daddr+52)($2) lui $2,%hi(attack_daddr+53) lbu $8,%lo(attack_daddr+53)($2) lui $2,%hi(attack_daddr+54) lbu $3,%lo(attack_daddr+54)($2) lui $2,%hi(attack_daddr+55) lbu $2,%lo(attack_daddr+55)($2) addiu $4,$4,%lo($LC51) sw $10,16($sp) sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) jal scrlog_printk sw $2,32($sp) andi $2,$16,0x4000 $L1075: beq $2,$0,$L1076 andi $2,$16,0x400 lui $2,%hi(attack_saddr+40) lui $4,%hi($LC52) lbu $5,%lo(attack_saddr+40)($2) lui $2,%hi(attack_saddr+41) lbu $6,%lo(attack_saddr+41)($2) lui $2,%hi(attack_saddr+42) lbu $7,%lo(attack_saddr+42)($2) lui $2,%hi(attack_saddr+43) lbu $10,%lo(attack_saddr+43)($2) lui $2,%hi(attack_daddr+40) lbu $9,%lo(attack_daddr+40)($2) lui $2,%hi(attack_daddr+41) lbu $8,%lo(attack_daddr+41)($2) lui $2,%hi(attack_daddr+42) lbu $3,%lo(attack_daddr+42)($2) lui $2,%hi(attack_daddr+43) lbu $2,%lo(attack_daddr+43)($2) addiu $4,$4,%lo($LC52) sw $10,16($sp) sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) jal scrlog_printk sw $2,32($sp) andi $2,$16,0x400 $L1076: beq $2,$0,$L1077 andi $2,$16,0x1000 lui $2,%hi(attack_saddr+24) lui $4,%hi($LC53) lbu $5,%lo(attack_saddr+24)($2) lui $2,%hi(attack_saddr+25) lbu $6,%lo(attack_saddr+25)($2) lui $2,%hi(attack_saddr+26) lbu $7,%lo(attack_saddr+26)($2) lui $2,%hi(attack_saddr+27) lbu $10,%lo(attack_saddr+27)($2) lui $2,%hi(attack_daddr+24) lbu $9,%lo(attack_daddr+24)($2) lui $2,%hi(attack_daddr+25) lbu $8,%lo(attack_daddr+25)($2) lui $2,%hi(attack_daddr+26) lbu $3,%lo(attack_daddr+26)($2) lui $2,%hi(attack_daddr+27) lbu $2,%lo(attack_daddr+27)($2) addiu $4,$4,%lo($LC53) sw $10,16($sp) sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) jal scrlog_printk sw $2,32($sp) andi $2,$16,0x1000 $L1077: beq $2,$0,$L1078 andi $2,$16,0x2000 lui $2,%hi(attack_saddr+32) lui $4,%hi($LC54) lbu $5,%lo(attack_saddr+32)($2) lui $2,%hi(attack_saddr+33) lbu $6,%lo(attack_saddr+33)($2) lui $2,%hi(attack_saddr+34) lbu $7,%lo(attack_saddr+34)($2) lui $2,%hi(attack_saddr+35) lbu $10,%lo(attack_saddr+35)($2) lui $2,%hi(attack_daddr+32) lbu $9,%lo(attack_daddr+32)($2) lui $2,%hi(attack_daddr+33) lbu $8,%lo(attack_daddr+33)($2) lui $2,%hi(attack_daddr+34) lbu $3,%lo(attack_daddr+34)($2) lui $2,%hi(attack_daddr+35) lbu $2,%lo(attack_daddr+35)($2) addiu $4,$4,%lo($LC54) sw $10,16($sp) sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) jal scrlog_printk sw $2,32($sp) andi $2,$16,0x2000 $L1078: beq $2,$0,$L1035 nop lui $2,%hi(attack_saddr+36) lui $4,%hi($LC55) lbu $5,%lo(attack_saddr+36)($2) lui $2,%hi(attack_saddr+37) lbu $6,%lo(attack_saddr+37)($2) lui $2,%hi(attack_saddr+38) lbu $7,%lo(attack_saddr+38)($2) lui $2,%hi(attack_saddr+39) lbu $10,%lo(attack_saddr+39)($2) lui $2,%hi(attack_daddr+36) lbu $9,%lo(attack_daddr+36)($2) lui $2,%hi(attack_daddr+37) lbu $8,%lo(attack_daddr+37)($2) lui $2,%hi(attack_daddr+38) lbu $3,%lo(attack_daddr+38)($2) lui $2,%hi(attack_daddr+39) lbu $2,%lo(attack_daddr+39)($2) addiu $4,$4,%lo($LC55) sw $10,16($sp) sw $9,20($sp) sw $8,24($sp) sw $3,28($sp) jal scrlog_printk sw $2,32($sp) $L1035: lui $2,%hi(dos_pkt) li $3,1023 # 0x3ff sw $0,%lo(LogFlag)($17) addiu $2,$2,%lo(dos_pkt) $L1040: addiu $3,$3,-1 sb $0,0($2) sw $0,24($2) sw $0,4($2) sw $0,8($2) sw $0,12($2) sw $0,16($2) sw $0,20($2) bgez $3,$L1040 addiu $2,$2,36 $L1001: lui $6,%hi(none_dos_drop_pkt_cnt) lw $2,%lo(none_dos_drop_pkt_cnt)($6) sltu $2,$2,3001 bne $2,$0,$L1042 lui $4,%hi(item_backup) lui $4,%hi(item) lw $3,%lo(item)($4) beq $3,$0,$L1079 lui $2,%hi(jiffies) lui $2,%hi(item_backup) sw $3,%lo(item_backup)($2) j $L1044 sw $0,%lo(item)($4) $L1042: lw $3,%lo(item_backup)($4) beq $3,$0,$L1079 lui $2,%hi(jiffies) lui $2,%hi(item) sw $3,%lo(item)($2) sw $0,%lo(item_backup)($4) $L1044: lui $2,%hi(jiffies) $L1079: lui $4,%hi(dos_timer) lw $5,%lo(jiffies)($2) addiu $4,$4,%lo(dos_timer) lw $31,48($sp) lw $17,44($sp) addiu $5,$5,100 lw $16,40($sp) addiu $sp,$sp,56 j mod_timer sw $0,%lo(none_dos_drop_pkt_cnt)($6) .set macro .set reorder .end dos_timer_fn .rdata .align 2 $LC56: .ascii "%s\n\000" .section .text.dos_read_proc,"ax",@progbits .align 2 .ent dos_read_proc .type dos_read_proc, @function dos_read_proc: .set nomips16 .frame $sp,40,$31 # vars= 0, regs= 5/0, args= 16, gp= 0 .mask 0x800f0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-40 sw $19,28($sp) move $19,$5 sw $17,20($sp) lui $5,%hi($LC56) move $17,$6 lui $6,%hi(dos_flag) addiu $5,$5,%lo($LC56) addiu $6,$6,%lo(dos_flag) sw $18,24($sp) move $18,$4 sw $16,16($sp) move $16,$7 sw $31,32($sp) jal sprintf addu $18,$18,$17 move $4,$2 addu $2,$17,$16 slt $2,$2,$4 subu $4,$4,$17 slt $3,$16,$4 movn $4,$16,$3 #conditional move bne $2,$0,$L1081 slt $5,$4,0 lw $2,56($sp) li $3,1 # 0x1 sw $3,0($2) $L1081: sw $18,0($19) move $2,$0 lw $31,32($sp) movz $2,$4,$5 #conditional move lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,40 .set macro .set reorder .end dos_read_proc .section .text.strtok,"ax",@progbits .align 2 .globl strtok .ent strtok .type strtok, @function strtok: .set nomips16 .frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 move $3,$0 sw $17,20($sp) move $17,$5 sw $16,16($sp) move $16,$4 bne $4,$0,$L1086 sw $31,24($sp) lui $2,%hi(___strtok) lw $16,%lo(___strtok)($2) beq $16,$0,$L1084 nop $L1086: jal strspn move $4,$16 move $5,$17 addu $16,$16,$2 move $3,$0 lb $2,0($16) bne $2,$0,$L1087 move $4,$16 lui $2,%hi(___strtok) j $L1084 sw $0,%lo(___strtok)($2) $L1087: jal strpbrk nop beq $2,$0,$L1088 move $3,$2 lb $2,0($2) beq $2,$0,$L1089 lui $2,%hi(___strtok) sb $0,0($3) addiu $3,$3,1 $L1088: lui $2,%hi(___strtok) $L1089: sw $3,%lo(___strtok)($2) move $3,$16 $L1084: lw $31,24($sp) move $2,$3 lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,32 .set macro .set reorder .end strtok .section .text.dos_write_proc,"ax",@progbits .align 2 .ent dos_write_proc .type dos_write_proc, @function dos_write_proc: .set nomips16 .frame $sp,120,$31 # vars= 80, regs= 5/0, args= 16, gp= 0 .mask 0x800f0000,-8 .fmask 0x00000000,0 addiu $sp,$sp,-120 sltu $2,$6,2 sw $19,108($sp) li $3,-14 # 0xfffffff2 sw $18,104($sp) move $19,$6 sw $17,100($sp) li $18,1 # 0x1 sw $31,112($sp) addiu $17,$sp,16 .set noreorder .set nomacro bne $2,$0,$L1090 sw $16,96($sp) .set macro .set reorder .set noreorder .set nomacro beq $5,$0,$L1092 addiu $3,$5,80 .set macro .set reorder lw $2,24($28) or $3,$5,$3 and $2,$2,$3 lui $3,%hi(dos_flag) .set noreorder .set nomacro bne $2,$0,$L1092 addiu $3,$3,%lo(dos_flag) .set macro .set reorder move $4,$3 li $6,80 # 0x50 #APP .set noreorder jal __copy_user .set noat addu $1, $5, $6 .set at .set reorder #NO_APP .set noreorder .set nomacro bne $6,$0,$L1092 li $2,80 # 0x50 .set macro .set reorder move $4,$17 #APP .set noreorder .set noat 1: lbu $1,($3) subu $2,1 sb $1,($4) beqz $1,2f addiu $4,1 bnez $2,1b addiu $3,1 2: .set at .set reorder #NO_APP .set noreorder .set nomacro j $L1121 lui $5,%hi($LC27) .set macro .set reorder $L1120: move $4,$16 move $5,$0 move $6,$0 .set noreorder .set nomacro jal simple_strtol move $17,$0 .set macro .set reorder addiu $3,$18,-1 move $4,$2 sltu $2,$3,13 .set noreorder .set nomacro beq $2,$0,$L1122 addiu $2,$18,1 .set macro .set reorder sll $2,$3,2 lui $3,%hi($L1119) addiu $3,$3,%lo($L1119) addu $2,$2,$3 lw $2,0($2) j $2 .rdata .align 2 $L1119: .word $L1105 .word $L1106 .word $L1107 .word $L1108 .word $L1109 .word $L1110 .word $L1111 .word $L1112 .word $L1113 .word $L1114 .word $L1115 .word $L1116 .word $L1117 .section .text.dos_write_proc $L1105: lui $2,%hi(op_mode) .set noreorder .set nomacro j $L1104 sb $4,%lo(op_mode)($2) .set macro .set reorder $L1106: move $4,$16 move $5,$0 .set noreorder .set nomacro jal simple_strtol li $6,16 # 0x10 .set macro .set reorder lui $3,%hi(lan_addr) .set noreorder .set nomacro j $L1104 sw $2,%lo(lan_addr)($3) .set macro .set reorder $L1107: move $4,$16 move $5,$0 .set noreorder .set nomacro jal simple_strtol li $6,16 # 0x10 .set macro .set reorder lui $3,%hi(lan_mask) .set noreorder .set nomacro j $L1104 sw $2,%lo(lan_mask)($3) .set macro .set reorder $L1108: lui $2,%hi(item) sw $4,%lo(item)($2) lui $2,%hi(item_backup) .set noreorder .set nomacro j $L1104 sw $0,%lo(item_backup)($2) .set macro .set reorder $L1109: lui $2,%hi(whole_syn_threshold) .set noreorder .set nomacro j $L1104 sw $4,%lo(whole_syn_threshold)($2) .set macro .set reorder $L1110: lui $2,%hi(whole_fin_threshold) .set noreorder .set nomacro j $L1104 sw $4,%lo(whole_fin_threshold)($2) .set macro .set reorder $L1111: lui $2,%hi(whole_udp_threshold) .set noreorder .set nomacro j $L1104 sw $4,%lo(whole_udp_threshold)($2) .set macro .set reorder $L1112: lui $2,%hi(whole_icmp_threshold) .set noreorder .set nomacro j $L1104 sw $4,%lo(whole_icmp_threshold)($2) .set macro .set reorder $L1113: lui $2,%hi(per_syn_threshold) .set noreorder .set nomacro j $L1104 sw $4,%lo(per_syn_threshold)($2) .set macro .set reorder $L1114: lui $2,%hi(per_fin_threshold) .set noreorder .set nomacro j $L1104 sw $4,%lo(per_fin_threshold)($2) .set macro .set reorder $L1115: lui $2,%hi(per_udp_threshold) .set noreorder .set nomacro j $L1104 sw $4,%lo(per_udp_threshold)($2) .set macro .set reorder $L1116: lui $2,%hi(per_icmp_threshold) .set noreorder .set nomacro j $L1104 sw $4,%lo(per_icmp_threshold)($2) .set macro .set reorder $L1117: lui $2,%hi(block_time) sw $4,%lo(block_time)($2) $L1104: addiu $2,$18,1 $L1122: andi $18,$2,0x00ff lui $5,%hi($LC27) $L1121: move $4,$17 .set noreorder .set nomacro jal strtok addiu $5,$5,%lo($LC27) .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L1120 move $16,$2 .set macro .set reorder .set noreorder .set nomacro j $L1090 move $3,$19 .set macro .set reorder $L1092: li $3,-14 # 0xfffffff2 $L1090: lw $31,112($sp) move $2,$3 lw $19,108($sp) lw $18,104($sp) lw $17,100($sp) lw $16,96($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,120 .set macro .set reorder .end dos_write_proc .section .text.filter_addconnect,"ax",@progbits .align 2 .globl filter_addconnect .ent filter_addconnect .type filter_addconnect, @function filter_addconnect: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro andi $3,$4,0xff lui $2,%hi(ConnectedIp) sll $3,$3,2 addiu $2,$2,%lo(ConnectedIp) addu $3,$3,$2 j $31 sw $4,0($3) .set macro .set reorder .end filter_addconnect .section .text.filter_delconnect,"ax",@progbits .align 2 .globl filter_delconnect .ent filter_delconnect .type filter_delconnect, @function filter_delconnect: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro andi $4,$4,0x00ff lui $2,%hi(ConnectedIp) sll $4,$4,2 addiu $2,$2,%lo(ConnectedIp) addu $4,$4,$2 j $31 sw $0,0($4) .set macro .set reorder .end filter_delconnect .section .text.filter_checkConnect,"ax",@progbits .align 2 .globl filter_checkConnect .ent filter_checkConnect .type filter_checkConnect, @function filter_checkConnect: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro andi $3,$4,0xff lui $2,%hi(ConnectedIp) sll $3,$3,2 addiu $2,$2,%lo(ConnectedIp) addu $3,$3,$2 lw $3,0($3) beq $3,$0,$L1127 move $5,$0 beq $3,$4,$L1126 nop $L1127: li $5,1 # 0x1 $L1126: j $31 move $2,$5 .set macro .set reorder .end filter_checkConnect .section .text.unregister_customRspStr,"ax",@progbits .align 2 .globl unregister_customRspStr .ent unregister_customRspStr .type unregister_customRspStr, @function unregister_customRspStr: .set nomips16 .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $16,16($sp) lui $16,%hi(block_message) lw $2,%lo(block_message)($16) sw $31,20($sp) beq $2,$0,$L1128 move $4,$2 jal kfree nop sw $0,%lo(block_message)($16) $L1128: lw $31,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,24 .set macro .set reorder .end unregister_customRspStr .section .text.register_customRspStr,"ax",@progbits .align 2 .globl register_customRspStr .ent register_customRspStr .type register_customRspStr, @function register_customRspStr: .set nomips16 .frame $sp,48,$31 # vars= 16, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-48 sw $16,32($sp) move $16,$4 sw $17,36($sp) sw $31,40($sp) jal unregister_customRspStr lui $17,%hi($LC24) beq $16,$0,$L1131 move $4,$16 $L1136: $L1177: jal strlen nop li $5,208 # 0xd0 jal __kmalloc addiu $4,$2,1 lui $5,%hi($LC6) move $4,$2 addiu $5,$5,%lo($LC6) j $L1232 move $6,$16 $L1131: $L1186: $L1227: jal strlen addiu $4,$17,%lo($LC24) li $5,208 # 0xd0 jal __kmalloc move $4,$2 lui $5,%hi($LC6) move $4,$2 addiu $5,$5,%lo($LC6) addiu $6,$17,%lo($LC24) $L1232: lui $3,%hi(block_message) beq $2,$0,$L1130 sw $2,%lo(block_message)($3) jal sprintf nop $L1130: lw $31,40($sp) lw $17,36($sp) lw $16,32($sp) j $31 addiu $sp,$sp,48 .set macro .set reorder .end register_customRspStr .section .text.register_customRspHook,"ax",@progbits .align 2 .globl register_customRspHook .ent register_customRspHook .type register_customRspHook, @function register_customRspHook: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro beq $4,$0,$L1234 lui $3,%hi(fast_path_cusRsp401_func) j $L1235 sw $4,%lo(fast_path_cusRsp401_func)($3) $L1234: lui $2,%hi(GenerateHTTP401) addiu $2,$2,%lo(GenerateHTTP401) sw $2,%lo(fast_path_cusRsp401_func)($3) $L1235: beq $5,$0,$L1236 lui $3,%hi(fast_path_cusRspTCPFinAck_func) j $L1237 sw $5,%lo(fast_path_cusRspTCPFinAck_func)($3) $L1236: lui $2,%hi(GenerateTCPFINACK) addiu $2,$2,%lo(GenerateTCPFINACK) sw $2,%lo(fast_path_cusRspTCPFinAck_func)($3) $L1237: beq $6,$0,$L1238 lui $3,%hi(fast_path_cusRspTCPEndAck_func) j $31 sw $6,%lo(fast_path_cusRspTCPEndAck_func)($3) $L1238: lui $2,%hi(GenerateTCPENDACK) addiu $2,$2,%lo(GenerateTCPENDACK) j $31 sw $2,%lo(fast_path_cusRspTCPEndAck_func)($3) .set macro .set reorder .end register_customRspHook .section .text.unregister_customRspHook,"ax",@progbits .align 2 .globl unregister_customRspHook .ent unregister_customRspHook .type unregister_customRspHook, @function unregister_customRspHook: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lui $2,%hi(fast_path_cusRsp401_func) sw $0,%lo(fast_path_cusRsp401_func)($2) lui $2,%hi(fast_path_cusRspTCPFinAck_func) sw $0,%lo(fast_path_cusRspTCPFinAck_func)($2) lui $2,%hi(fast_path_cusRspTCPEndAck_func) j $31 sw $0,%lo(fast_path_cusRspTCPEndAck_func)($2) .set macro .set reorder .end unregister_customRspHook .section .text.filter_enter,"ax",@progbits .align 2 .globl filter_enter .ent filter_enter .type filter_enter, @function filter_enter: .set nomips16 .frame $sp,56,$31 # vars= 0, regs= 9/0, args= 16, gp= 0 .mask 0x80ff0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-56 sw $21,36($sp) lui $21,%hi(item) lw $2,%lo(item)($21) sw $23,44($sp) move $23,$4 sw $31,48($sp) sw $22,40($sp) sw $20,32($sp) sw $19,28($sp) sw $18,24($sp) sw $17,20($sp) bne $2,$0,$L1242 sw $16,16($sp) lui $2,%hi(table_list_head+24) lw $2,%lo(table_list_head+24)($2) sltu $2,$2,2 bne $2,$0,$L1346 lui $3,%hi(none_dos_drop_pkt_cnt) $L1242: jal rtl_get_skb_type move $4,$23 bne $2,$0,$L1241 li $4,4 # 0x4 jal rtl_get_skb_protocol move $4,$23 li $3,2048 # 0x800 bne $2,$3,$L1241 li $4,4 # 0x4 lui $2,%hi(table_list_head+24) lw $2,%lo(table_list_head+24)($2) sltu $2,$2,2 bne $2,$0,$L1245 nop jal FilterWeb_v2 move $4,$23 beq $2,$0,$L1246 lui $3,%hi(fast_path_cusRsp401_func) lw $2,%lo(fast_path_cusRsp401_func)($3) j $L1345 nop $L1246: lw $2,%lo(fast_path_cusRsp401_func)($3) beq $2,$0,$L1245 lui $2,%hi(url_cache) li $4,1 # 0x1 addiu $3,$2,%lo(url_cache) lbu $2,15($3) bne $2,$4,$L1251 lui $2,%hi(fast_path_cusRspTCPFinAck_func) lw $2,%lo(fast_path_cusRspTCPFinAck_func)($2) j $L1345 nop $L1251: lbu $2,16($3) bne $2,$4,$L1245 lui $2,%hi(fast_path_cusRspTCPEndAck_func) lw $2,%lo(fast_path_cusRspTCPEndAck_func)($2) $L1345: beq $2,$0,$L1255 nop jal $2 move $4,$23 $L1255: j $L1241 move $4,$0 $L1245: lw $2,%lo(item)($21) andi $2,$2,0x1 beq $2,$0,$L1256 lui $22,%hi(item) move $4,$23 jal rtl_ip_hdr lui $20,%hi(wan_ppp_dev) lui $4,%hi($LC1) move $16,$2 addiu $4,$4,%lo($LC1) lbu $2,0($2) lui $19,%hi(wan_dev) move $17,$0 andi $2,$2,0xf sll $2,$2,2 jal rtl_get_dev_by_name addu $18,$16,$2 lui $4,%hi($LC2) addiu $4,$4,%lo($LC2) jal rtl_get_dev_by_name sw $2,%lo(wan_ppp_dev)($20) move $4,$23 jal rtl_get_skb_dev sw $2,%lo(wan_dev)($19) beq $2,$0,$L1256 nop jal rtl_get_skb_dev move $4,$23 lw $3,%lo(wan_dev)($19) beq $2,$3,$L1259 nop jal rtl_get_skb_dev move $4,$23 lw $3,%lo(wan_ppp_dev)($20) bne $2,$3,$L1256 nop $L1259: lw $2,%lo(item)($22) andi $2,$2,0x3fe beq $2,$0,$L1347 lui $6,%hi(item) jal dos_pkt_locate move $4,$16 beq $2,$0,$L1347 lui $6,%hi(item) lw $6,%lo(item)($22) andi $2,$6,0x22 beq $2,$0,$L1262 lui $3,%hi(cur_p_pkt) lbu $2,9($16) lw $5,%lo(cur_p_pkt)($3) li $3,6 # 0x6 bne $2,$3,$L1263 li $3,2 # 0x2 lbu $2,13($18) andi $2,$2,0x3f bne $2,$3,$L1263 lui $7,%hi(block) li $2,1 # 0x1 lw $3,%lo(block)($7) bne $3,$2,$L1264 lui $2,%hi(attack_saddr+4) lw $3,%lo(attack_saddr+4)($2) lw $2,12($16) beq $3,$2,$L1265 li $4,-1 # 0xffffffff $L1264: lw $2,4($5) lui $3,%hi(per_syn_threshold) addiu $2,$2,1 sw $2,4($5) lw $3,%lo(per_syn_threshold)($3) slt $2,$3,$2 beq $2,$0,$L1263 andi $2,$6,0x20 beq $2,$0,$L1265 move $4,$0 blez $3,$L1265 lui $2,%hi(attack_saddr+4) lw $3,12($16) lui $5,%hi(LogFlag) sw $3,%lo(attack_saddr+4)($2) lui $2,%hi(attack_daddr+4) lw $4,16($16) lw $3,%lo(LogFlag)($5) sw $4,%lo(attack_daddr+4)($2) li $2,1 # 0x1 ori $3,$3,0x20 sw $2,%lo(block)($7) sw $3,%lo(LogFlag)($5) $L1263: move $4,$0 $L1265: move $17,$4 $L1262: lw $6,%lo(item)($21) andi $2,$6,0x44 beq $2,$0,$L1348 andi $2,$6,0x88 lui $3,%hi(cur_p_pkt) lbu $2,9($16) lw $5,%lo(cur_p_pkt)($3) li $3,6 # 0x6 bne $2,$3,$L1270 move $4,$0 lbu $2,13($18) andi $3,$2,0x3f li $2,1 # 0x1 bne $3,$2,$L1270 lui $7,%hi(block) lw $2,%lo(block)($7) bne $2,$3,$L1269 lui $2,%hi(attack_saddr+8) lw $3,%lo(attack_saddr+8)($2) lw $2,12($16) beq $3,$2,$L1270 li $4,-1 # 0xffffffff $L1269: lw $2,8($5) lui $3,%hi(per_fin_threshold) addiu $2,$2,1 sw $2,8($5) lw $3,%lo(per_fin_threshold)($3) slt $2,$3,$2 beq $2,$0,$L1268 andi $2,$6,0x40 beq $2,$0,$L1270 move $4,$0 blez $3,$L1270 lui $2,%hi(attack_saddr+8) lw $3,12($16) lui $5,%hi(LogFlag) sw $3,%lo(attack_saddr+8)($2) lui $2,%hi(attack_daddr+8) lw $4,16($16) lw $3,%lo(LogFlag)($5) sw $4,%lo(attack_daddr+8)($2) li $2,1 # 0x1 ori $3,$3,0x40 sw $2,%lo(block)($7) sw $3,%lo(LogFlag)($5) $L1268: move $4,$0 $L1270: or $17,$17,$4 lw $6,%lo(item)($21) andi $2,$6,0x88 $L1348: beq $2,$0,$L1272 lui $3,%hi(cur_p_pkt) lbu $2,9($16) lw $5,%lo(cur_p_pkt)($3) li $3,17 # 0x11 bne $2,$3,$L1275 move $4,$0 lui $7,%hi(block) li $2,1 # 0x1 lw $3,%lo(block)($7) bne $3,$2,$L1274 lui $2,%hi(attack_saddr+12) lw $3,%lo(attack_saddr+12)($2) lw $2,12($16) beq $3,$2,$L1275 li $4,-1 # 0xffffffff $L1274: lw $2,12($5) lui $3,%hi(per_udp_threshold) addiu $2,$2,1 sw $2,12($5) lw $3,%lo(per_udp_threshold)($3) slt $2,$3,$2 beq $2,$0,$L1273 andi $2,$6,0x80 beq $2,$0,$L1275 move $4,$0 blez $3,$L1275 lui $2,%hi(attack_saddr+12) lw $3,12($16) lui $5,%hi(LogFlag) sw $3,%lo(attack_saddr+12)($2) lui $2,%hi(attack_daddr+12) lw $4,16($16) lw $3,%lo(LogFlag)($5) sw $4,%lo(attack_daddr+12)($2) li $2,1 # 0x1 ori $3,$3,0x80 sw $2,%lo(block)($7) sw $3,%lo(LogFlag)($5) $L1273: move $4,$0 $L1275: or $17,$17,$4 $L1272: lw $6,%lo(item)($21) andi $2,$6,0x110 beq $2,$0,$L1277 lui $2,%hi(cur_p_pkt) lbu $3,9($16) lw $5,%lo(cur_p_pkt)($2) li $2,1 # 0x1 bne $3,$2,$L1280 move $4,$0 lui $7,%hi(block) lw $2,%lo(block)($7) bne $2,$3,$L1279 lui $2,%hi(attack_saddr+16) lw $3,%lo(attack_saddr+16)($2) lw $2,12($16) beq $3,$2,$L1280 li $4,-1 # 0xffffffff $L1279: lw $2,16($5) lui $3,%hi(per_icmp_threshold) addiu $2,$2,1 sw $2,16($5) lw $3,%lo(per_icmp_threshold)($3) slt $2,$3,$2 beq $2,$0,$L1278 andi $2,$6,0x100 beq $2,$0,$L1280 move $4,$0 blez $3,$L1280 lui $2,%hi(attack_saddr+16) lw $3,12($16) lui $5,%hi(LogFlag) sw $3,%lo(attack_saddr+16)($2) lui $2,%hi(attack_daddr+16) lw $4,16($16) lw $3,%lo(LogFlag)($5) sw $4,%lo(attack_daddr+16)($2) li $2,1 # 0x1 ori $3,$3,0x100 sw $2,%lo(block)($7) sw $3,%lo(LogFlag)($5) $L1278: move $4,$0 $L1280: or $17,$17,$4 $L1277: lw $2,%lo(item)($21) andi $2,$2,0x200 beq $2,$0,$L1349 lui $2,%hi(item) lui $3,%hi(cur_p_pkt) lbu $2,9($16) lw $4,%lo(cur_p_pkt)($3) li $3,6 # 0x6 bne $2,$3,$L1283 nop lhu $5,32($4) andi $3,$5,0xffff beq $3,$0,$L1284 nop lhu $2,2($18) beq $3,$2,$L1284 nop lw $2,20($4) addiu $2,$2,1 sw $2,20($4) $L1284: bne $5,$0,$L1283 nop lhu $2,2($18) sh $2,32($4) $L1283: lbu $3,9($16) li $2,17 # 0x11 bne $3,$2,$L1286 nop lhu $5,32($4) andi $3,$5,0xffff beq $3,$0,$L1287 nop lhu $2,2($18) beq $3,$2,$L1287 nop lw $2,20($4) addiu $2,$2,1 sw $2,20($4) $L1287: bne $5,$0,$L1286 nop lhu $2,2($18) sh $2,32($4) $L1286: lw $2,%lo(item)($21) li $3,8388608 # 0x800000 and $2,$2,$3 beq $2,$0,$L1289 nop lw $2,20($4) slt $2,$2,11 bne $2,$0,$L1289 lui $3,%hi(LogFlag) lw $2,%lo(LogFlag)($3) ori $2,$2,0x200 sw $2,%lo(LogFlag)($3) lui $2,%hi(attack_saddr+20) lw $3,12($16) sw $3,%lo(attack_saddr+20)($2) lui $2,%hi(attack_daddr+20) lw $3,16($16) sw $3,%lo(attack_daddr+20)($2) $L1289: lw $2,%lo(item)($21) li $3,8388608 # 0x800000 and $2,$2,$3 bne $2,$0,$L1349 lui $2,%hi(item) lw $2,20($4) slt $2,$2,201 bne $2,$0,$L1349 lui $2,%hi(item) lui $3,%hi(LogFlag) lw $2,%lo(LogFlag)($3) ori $2,$2,0x200 sw $2,%lo(LogFlag)($3) lui $2,%hi(attack_saddr+20) lw $3,12($16) sw $3,%lo(attack_saddr+20)($2) lui $2,%hi(attack_daddr+20) lw $3,16($16) sw $3,%lo(attack_daddr+20)($2) lui $2,%hi(item) $L1349: li $3,4194304 # 0x400000 lw $2,%lo(item)($2) and $2,$2,$3 movz $17,$0,$2 #conditional move lui $6,%hi(item) $L1347: lw $2,%lo(item)($6) andi $2,$2,0x8000 beq $2,$0,$L1293 li $2,6 # 0x6 lbu $3,9($16) bne $3,$2,$L1296 move $4,$0 lbu $2,13($18) lui $3,%hi(_tcpDosScanBitmap) addiu $3,$3,%lo(_tcpDosScanBitmap) andi $2,$2,0x3f addu $2,$2,$3 lb $2,0($2) beq $2,$0,$L1294 lui $3,%hi(LogFlag) li $4,-1 # 0xffffffff lw $2,%lo(LogFlag)($3) ori $2,$2,0x8000 sw $2,%lo(LogFlag)($3) lui $2,%hi(attack_saddr+44) lw $3,12($16) sw $3,%lo(attack_saddr+44)($2) lui $2,%hi(attack_daddr+44) lw $3,16($16) sw $3,%lo(attack_daddr+44)($2) $L1294: $L1296: or $17,$17,$4 $L1293: lw $2,%lo(item)($6) li $5,65536 # 0x10000 and $2,$2,$5 beq $2,$0,$L1297 li $2,6 # 0x6 lbu $3,9($16) bne $3,$2,$L1300 move $4,$0 lbu $2,13($18) li $3,2 # 0x2 andi $2,$2,0x3f bne $2,$3,$L1300 nop lbu $2,0($16) lw $3,12($18) andi $2,$2,0xf lhu $4,2($16) sll $2,$2,2 srl $3,$3,28 subu $4,$4,$2 sll $3,$3,2 bne $4,$3,$L1350 lui $3,%hi(LogFlag) lhu $2,6($16) andi $2,$2,0x2000 beq $2,$0,$L1298 nop $L1350: li $4,-1 # 0xffffffff lw $2,%lo(LogFlag)($3) or $2,$2,$5 sw $2,%lo(LogFlag)($3) lui $2,%hi(attack_saddr+48) lw $3,12($16) sw $3,%lo(attack_saddr+48)($2) lui $2,%hi(attack_daddr+48) lw $3,16($16) j $L1300 sw $3,%lo(attack_daddr+48)($2) $L1298: move $4,$0 $L1300: or $17,$17,$4 $L1297: lw $2,%lo(item)($6) andi $2,$2,0x800 beq $2,$0,$L1302 nop lw $3,12($16) lw $2,16($16) bne $3,$2,$L1304 move $4,$0 lui $3,%hi(LogFlag) li $4,-1 # 0xffffffff lw $2,%lo(LogFlag)($3) ori $2,$2,0x800 sw $2,%lo(LogFlag)($3) lui $2,%hi(attack_saddr+28) lw $3,12($16) sw $3,%lo(attack_saddr+28)($2) lui $2,%hi(attack_daddr+28) lw $3,16($16) sw $3,%lo(attack_daddr+28)($2) $L1304: or $17,$17,$4 $L1302: lw $2,%lo(item)($6) li $3,262144 # 0x40000 and $2,$2,$3 beq $2,$0,$L1305 li $2,17 # 0x11 lbu $3,9($16) bne $3,$2,$L1309 move $5,$0 lhu $2,2($18) li $5,7 # 0x7 beq $2,$5,$L1351 lui $4,%hi(LogFlag) beq $2,$3,$L1308 li $4,19 # 0x13 beq $2,$4,$L1308 nop lhu $2,0($18) beq $2,$5,$L1308 nop beq $2,$3,$L1308 nop bne $2,$4,$L1306 nop $L1308: lui $4,%hi(LogFlag) $L1351: li $3,262144 # 0x40000 lw $2,%lo(LogFlag)($4) li $5,-1 # 0xffffffff or $2,$2,$3 sw $2,%lo(LogFlag)($4) lui $2,%hi(attack_saddr+56) lw $3,12($16) sw $3,%lo(attack_saddr+56)($2) lui $2,%hi(attack_daddr+56) lw $3,16($16) j $L1309 sw $3,%lo(attack_daddr+56)($2) $L1306: move $5,$0 $L1309: or $17,$17,$5 $L1305: lw $2,%lo(item)($6) li $5,131072 # 0x20000 and $2,$2,$5 beq $2,$0,$L1310 li $2,17 # 0x11 lbu $3,9($16) bne $3,$2,$L1314 move $4,$0 lhu $2,6($16) andi $2,$2,0x3fff bne $2,$0,$L1314 nop lbu $2,0($16) lhu $4,2($16) andi $2,$2,0xf sll $2,$2,2 lhu $3,4($18) subu $4,$4,$2 slt $3,$3,$4 beq $3,$0,$L1311 lui $3,%hi(LogFlag) li $4,-1 # 0xffffffff lw $2,%lo(LogFlag)($3) or $2,$2,$5 sw $2,%lo(LogFlag)($3) lui $2,%hi(attack_saddr+52) lw $3,12($16) sw $3,%lo(attack_saddr+52)($2) lui $2,%hi(attack_daddr+52) lw $3,16($16) j $L1314 sw $3,%lo(attack_daddr+52)($2) $L1311: move $4,$0 $L1314: or $17,$17,$4 $L1310: lw $2,%lo(item)($6) andi $2,$2,0x4000 beq $2,$0,$L1315 nop lhu $3,6($16) andi $2,$3,0x2000 bne $2,$0,$L1318 move $4,$0 andi $3,$3,0x1fff beq $3,$0,$L1318 sll $3,$3,3 lbu $2,0($16) lhu $4,2($16) andi $2,$2,0xf sll $2,$2,2 addu $3,$3,$4 subu $3,$3,$2 li $2,65535 # 0xffff sltu $2,$2,$3 beq $2,$0,$L1316 lui $3,%hi(LogFlag) li $4,-1 # 0xffffffff lw $2,%lo(LogFlag)($3) ori $2,$2,0x4000 sw $2,%lo(LogFlag)($3) lui $2,%hi(attack_saddr+40) lw $3,12($16) sw $3,%lo(attack_saddr+40)($2) lui $2,%hi(attack_daddr+40) lw $3,16($16) j $L1318 sw $3,%lo(attack_daddr+40)($2) $L1316: move $4,$0 $L1318: or $17,$17,$4 $L1315: lw $2,%lo(item)($6) andi $2,$2,0x400 beq $2,$0,$L1319 nop lbu $2,0($16) lbu $3,9($16) andi $2,$2,0xf sll $2,$2,2 addu $4,$16,$2 li $2,1 # 0x1 bne $3,$2,$L1320 li $2,8 # 0x8 lbu $3,0($4) bne $3,$2,$L1322 move $4,$0 lui $2,%hi(lan_mask) lw $4,%lo(lan_mask)($2) lui $2,%hi(lan_addr) lw $3,%lo(lan_addr)($2) lw $2,12($16) and $3,$3,$4 and $2,$2,$4 bne $2,$3,$L1320 lui $3,%hi(LogFlag) li $4,-1 # 0xffffffff lw $2,%lo(LogFlag)($3) ori $2,$2,0x400 sw $2,%lo(LogFlag)($3) lui $2,%hi(attack_saddr+24) lw $3,12($16) sw $3,%lo(attack_saddr+24)($2) lui $2,%hi(attack_daddr+24) lw $3,16($16) j $L1322 sw $3,%lo(attack_daddr+24)($2) $L1320: move $4,$0 $L1322: or $17,$17,$4 $L1319: lw $2,%lo(item)($6) andi $2,$2,0x1000 beq $2,$0,$L1323 lui $2,%hi(lan_mask) lw $4,%lo(lan_mask)($2) lui $2,%hi(lan_addr) lw $3,%lo(lan_addr)($2) lw $2,12($16) and $3,$3,$4 and $2,$2,$4 bne $2,$3,$L1325 move $4,$0 lbu $3,9($16) li $2,1 # 0x1 beq $3,$2,$L1325 lui $3,%hi(LogFlag) li $4,-1 # 0xffffffff lw $2,%lo(LogFlag)($3) ori $2,$2,0x1000 sw $2,%lo(LogFlag)($3) lui $2,%hi(attack_saddr+32) lw $3,12($16) sw $3,%lo(attack_saddr+32)($2) lui $2,%hi(attack_daddr+32) lw $3,16($16) sw $3,%lo(attack_daddr+32)($2) $L1325: or $17,$17,$4 $L1323: lw $2,%lo(item)($6) andi $2,$2,0x2000 beq $2,$0,$L1258 nop jal dos_pkt_locate move $4,$16 beq $2,$0,$L1329 move $4,$0 lui $2,%hi(cur_p_pkt) lw $5,%lo(cur_p_pkt)($2) lhu $7,4($16) lhu $3,28($5) andi $2,$7,0xffff beq $2,$3,$L1330 nop bne $3,$0,$L1329 nop $L1330: lhu $4,6($16) andi $2,$4,0x3fff beq $2,$0,$L1331 andi $2,$4,0x1fff lhu $6,30($5) sll $2,$2,3 andi $3,$6,0xffff slt $2,$2,$3 bne $2,$0,$L1332 andi $2,$4,0x2000 bne $2,$0,$L1333 nop sh $0,30($5) j $L1331 sh $0,28($5) $L1333: sh $7,28($5) lbu $2,0($16) lhu $3,2($16) andi $2,$2,0xf addu $3,$6,$3 sll $2,$2,2 subu $3,$3,$2 j $L1331 sh $3,30($5) $L1332: lui $3,%hi(LogFlag) li $4,-1 # 0xffffffff lw $2,%lo(LogFlag)($3) ori $2,$2,0x2000 sw $2,%lo(LogFlag)($3) lui $2,%hi(attack_saddr+36) lw $3,12($16) sw $3,%lo(attack_saddr+36)($2) lui $2,%hi(attack_daddr+36) lw $3,16($16) j $L1329 sw $3,%lo(attack_daddr+36)($2) $L1331: move $4,$0 $L1329: or $17,$17,$4 $L1258: bne $17,$0,$L1241 move $4,$0 $L1256: jal rtl_ip_hdr move $4,$23 lbu $3,9($2) li $2,1 # 0x1 beq $3,$2,$L1241 li $4,4 # 0x4 lui $3,%hi(none_dos_drop_pkt_cnt) $L1346: li $4,1 # 0x1 lw $2,%lo(none_dos_drop_pkt_cnt)($3) addiu $2,$2,1 sw $2,%lo(none_dos_drop_pkt_cnt)($3) $L1241: lw $31,48($sp) move $2,$4 lw $23,44($sp) lw $22,40($sp) lw $21,36($sp) lw $20,32($sp) lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,56 .set macro .set reorder .end filter_enter .rdata .align 2 $LC57: .ascii "enable_dos\000" .section .init.text,"ax",@progbits .align 2 .globl filter_init .ent filter_init .type filter_init, @function filter_init: .set nomips16 .frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro lui $2,%hi(item) lui $4,%hi($LC57) sw $0,%lo(item)($2) lui $2,%hi(none_dos_drop_pkt_cnt) addiu $sp,$sp,-32 addiu $4,$4,%lo($LC57) move $5,$0 move $6,$0 sw $0,%lo(none_dos_drop_pkt_cnt)($2) lui $2,%hi(url_count) sw $17,20($sp) lui $17,%hi(dos_timer) sw $16,16($sp) lui $16,%hi(_tcpDosScanBitmap) sw $31,24($sp) jal create_proc_entry sb $0,%lo(url_count)($2) lui $7,%hi(res3) move $3,$2 move $6,$0 addiu $4,$17,%lo(dos_timer) move $5,$0 beq $2,$0,$L1353 sw $2,%lo(res3)($7) lui $2,%hi(dos_read_proc) addiu $2,$2,%lo(dos_read_proc) sw $2,64($3) lui $2,%hi(dos_write_proc) lw $3,%lo(res3)($7) addiu $2,$2,%lo(dos_write_proc) sw $2,68($3) $L1353: jal init_timer_key nop lui $4,%hi(jiffies) lw $2,%lo(jiffies)($4) addiu $3,$17,%lo(dos_timer) lw $5,%lo(jiffies)($4) move $4,$3 addiu $2,$2,100 sw $2,8($3) lui $2,%hi(dos_timer_fn) addiu $2,$2,%lo(dos_timer_fn) addiu $5,$5,100 sw $2,12($3) jal mod_timer sw $0,16($3) addiu $4,$16,%lo(_tcpDosScanBitmap) move $5,$0 jal memset li $6,64 # 0x40 addiu $3,$16,%lo(_tcpDosScanBitmap) li $2,1 sb $2,3($3) sb $2,63($3) sb $2,58($3) sb $2,41($3) sb $2,40($3) sb $2,33($3) sb $2,32($3) sb $2,9($3) sb $2,8($3) jal filter_init_fastpath sb $2,%lo(_tcpDosScanBitmap)($16) jal igmp_delete_init_netlink nop move $2,$0 lw $31,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,32 .set macro .set reorder .end filter_init .section .exit.text,"ax",@progbits .align 2 .globl filter_exit .ent filter_exit .type filter_exit, @function filter_exit: .set nomips16 .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 lui $4,%hi($LC57) sw $16,16($sp) lui $16,%hi(res3) sw $31,20($sp) addiu $4,$4,%lo($LC57) lw $2,%lo(res3)($16) beq $2,$0,$L1355 move $5,$2 jal remove_proc_entry nop sw $0,%lo(res3)($16) $L1355: lui $4,%hi(dos_timer) jal del_timer addiu $4,$4,%lo(dos_timer) lw $31,20($sp) lw $16,16($sp) j filter_exit_fastpath addiu $sp,$sp,24 .set macro .set reorder .end filter_exit .globl table_list_head .section .bss .align 2 .type table_list_head, @object .size table_list_head, 32 table_list_head: .space 32 .local get_info_from_usr_space .comm get_info_from_usr_space,1024,4 .local log_info .comm log_info,32,4 .local filter_rule_num .comm filter_rule_num,4,4 .local LogFlag .comm LogFlag,4,4 .local ConnectedIp .comm ConnectedIp,1024,4 .local dos_pkt .comm dos_pkt,36864,4 .local cur_p_pkt .comm cur_p_pkt,4,4 .local dos_timer .comm dos_timer,24,4 .local _tcpDosScanBitmap .comm _tcpDosScanBitmap,64,4 .local op_mode .comm op_mode,1,1 .local whole_syn_threshold .comm whole_syn_threshold,4,4 .local whole_fin_threshold .comm whole_fin_threshold,4,4 .local whole_udp_threshold .comm whole_udp_threshold,4,4 .local whole_icmp_threshold .comm whole_icmp_threshold,4,4 .local per_syn_threshold .comm per_syn_threshold,4,4 .local per_fin_threshold .comm per_fin_threshold,4,4 .local per_udp_threshold .comm per_udp_threshold,4,4 .local per_icmp_threshold .comm per_icmp_threshold,4,4 .local lan_addr .comm lan_addr,4,4 .local lan_mask .comm lan_mask,4,4 .local attack_saddr .comm attack_saddr,56,4 .local attack_daddr .comm attack_daddr,56,4 .local dos_flag .comm dos_flag,80,4 .globl wan_dev .align 2 .type wan_dev, @object .size wan_dev, 4 wan_dev: .space 4 .globl wan_ppp_dev .align 2 .type wan_ppp_dev, @object .size wan_ppp_dev, 4 wan_ppp_dev: .space 4 .globl ___strtok .align 2 .type ___strtok, @object .size ___strtok, 4 ___strtok: .space 4 .ident "GCC: (GNU) 3.4.6-1.3.6"