Kernel/VM/探検隊online part1での発表資料
JQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMF201 /:VUBSP )BZBLBXBZIBZBLBXB!HNBJMDPN
View Slide
8IPBN*• :VUBSP )BZBLBXB 5XJUUFS!:VUBSP)BZBLBXB• 48&!-*/&גࣜձࣾ• ࣗࣾΫϥυͷωοτϫʔΫιϑτΣΞ։ൃνʔϜ• ιϑτΣΞϩʔυόϥϯαͷ։ൃɾӡ༻• ͦͷଞ• F#1'Λ'SFF#4%ʹҠ২͢Δ(4P$ϓϩδΣΫτ ݱࡏ։ൃத• Χʔωϧ7.ճ લճ͖ͬͱ໌͔ΒཱͭF#1'ͷΈJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB
"HFOEB• -JOVYͷωοτϫʔΫػೳͷσόοάπʔϧJQGUSBDFΛ࡞ͬͨJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB
JQGUSBDF• -JOVYͷOFUXPSLػೳʹಛԽͨؔ͠ίʔϧτϨʔαʔ• ΧʔωϧͷதͰ͋Δύέοτ͕ͲͷؔΛ௨͔ͬͨͷτϨʔε͕औΕΔJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB // TCP10.0.0.10 # iptables -t raw -A OUTPUT -p tcp -d 10.0.0.10 -j MARK --set-mark 0xdeadbeef# ipft -m 0xdeadbeef
0VUQVUJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB Attaching program (total 1803, succeeded 1052, failed 751 filtered: 0)Trace ready!Samples: 246 Lost: 0^CTrace done!===3347634373462 0000 selinux_ipv4_output (len: 5764 gso_type: tcpv4)3347634379670 0000 ip_output (len: 5764 gso_type: tcpv4)3347634382597 0000 nf_hook_slow (len: 5764 gso_type: tcpv4)3347634385879 0000 selinux_ipv4_postroute (len: 5764 gso_type: tcpv4)3347634388958 0000 selinux_ip_postroute (len: 5764 gso_type: tcpv4)3347634391979 0000 ip_finish_output (len: 5764 gso_type: tcpv4)3347634394932 0000 __cgroup_bpf_run_filter_skb (len: 5764 gso_type: tcpv4)3347634398196 0000 ip_finish_output2 (len: 5764 gso_type: tcpv4)3347634401431 0000 neigh_direct_output (len: 5764 gso_type: tcpv4)3347634404503 0000 dev_queue_xmit (len: 5764 gso_type: tcpv4)3347634407363 0000 __dev_queue_xmit (len: 5764 gso_type: tcpv4)3347634410290 0000 netdev_pick_tx (len: 5764 gso_type: tcpv4)3347634413287 0000 validate_xmit_skb (len: 5764 gso_type: tcpv4)3347634416425 0000 netif_skb_features (len: 5764 gso_type: tcpv4)3347634419602 0000 skb_network_protocol (len: 5764 gso_type: tcpv4)3347634422951 0000 skb_csum_hwoffload_help (len: 5764 gso_type: tcpv4)ύέοτ͕ʮ௨ͬͨʯؔ$16*%5JNF4UBNQЋϢʔβఆٛͷσʔλ
0VUQVUJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB 3347634425930 0000 validate_xmit_xfrm (len: 5764 gso_type: tcpv4)3347634429001 0000 dev_hard_start_xmit (len: 5764 gso_type: tcpv4)3347634432145 0000 iptunnel_handle_offloads (len: 5764 gso_type: tcpv4)3347634435381 0000 ip_rt_update_pmtu (len: 5764 gso_type: tcpv4|ipxip4)3347634438569 0000 iptunnel_xmit (len: 5764 gso_type: tcpv4|ipxip4)3347634441580 0000 skb_scrub_packet (len: 5764 gso_type: tcpv4|ipxip4)3347634444653 0000 skb_push (len: 5764 gso_type: tcpv4|ipxip4)3347634447795 0000 ip_local_out (len: 5784 gso_type: tcpv4|ipxip4)3347634450651 0000 __ip_local_out (len: 5784 gso_type: tcpv4|ipxip4)3347634453520 0000 nf_hook_slow (len: 5784 gso_type: tcpv4|ipxip4)3347634456546 0000 selinux_ipv4_output (len: 5784 gso_type: tcpv4|ipxip4)3347634459478 0000 ip_output (len: 5784 gso_type: tcpv4|ipxip4)3347634462317 0000 nf_hook_slow (len: 5784 gso_type: tcpv4|ipxip4)3347634465284 0000 selinux_ipv4_postroute (len: 5784 gso_type: tcpv4|ipxip4)3347634468208 0000 selinux_ip_postroute (len: 5784 gso_type: tcpv4|ipxip4)3347634471081 0000 ip_finish_output (len: 5784 gso_type: tcpv4|ipxip4)3347634474005 0000 ip_finish_output2 (len: 5784 gso_type: tcpv4|ipxip4)3347634477149 0000 neigh_resolve_output (len: 5784 gso_type: tcpv4|ipxip4)3347634480256 0000 eth_header (len: 5784 gso_type: tcpv4|ipxip4)3347634483169 0000 skb_push (len: 5784 gso_type: tcpv4|ipxip4)3347634486125 0000 dev_queue_xmit (len: 5798 gso_type: tcpv4|ipxip4)
0VUQVUJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB 3347634488963 0000 __dev_queue_xmit (len: 5798 gso_type: tcpv4|ipxip4)3347634491902 0000 netdev_pick_tx (len: 5798 gso_type: tcpv4|ipxip4)3347634494765 0000 validate_xmit_skb (len: 5798 gso_type: tcpv4|ipxip4)3347634497750 0000 netif_skb_features (len: 5798 gso_type: tcpv4|ipxip4)3347634500779 0000 passthru_features_check (len: 5798 gso_type: tcpv4|ipxip4)3347634503730 0000 skb_network_protocol (len: 5798 gso_type: tcpv4|ipxip4)3347634506729 0000 skb_csum_hwoffload_help (len: 5798 gso_type: tcpv4|ipxip4)3347634509655 0000 validate_xmit_xfrm (len: 5798 gso_type: tcpv4|ipxip4)3347634512554 0000 dev_hard_start_xmit (len: 5798 gso_type: tcpv4|ipxip4)3347634515513 0000 dev_forward_skb (len: 5798 gso_type: tcpv4|ipxip4)3347634518497 0000 __dev_forward_skb (len: 5798 gso_type: tcpv4|ipxip4)3347634521441 0000 skb_scrub_packet (len: 5798 gso_type: tcpv4|ipxip4)
.PUJWBUJPO• ࣄฑ-JOVYͷωοτϫʔΫػೳΛϔϏʔʹ͏• ϧʔλʔͱͯ͠ /"5ͱͯ͠ '8ͱͯ͠ -#ͱͯ͠• ύέοτԟʑʹͯ͠Ͳ͔͍ͬ͘!• ຊʹͲ͏ͯ͠ݪҼ͕Θ͔Βͳ͍ͱ͖ʹιʔεΛݟΔ͔͠ͳ͍• ιʔεಡΜ͚ͩͩͰΘ͔Δ͜ͱগͳ͍• ࣮ߦͯ͠ڍಈΛ֬ೝ͍ͨ͠JQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB
4ZTUFN5BQ CQGUSBDF• $ͱBXLΛ߹ΘͤͨΑ͏ͳ%4-ΛͬͯτϨʔε͕ॻ͚Δ• ؔͷݺͼग़͠ͳͲΛϑοΫͯ͠ҾͷͳͲΛग़ྗ͢Δ͜ͱ͕Ͱ͖Δ• τϨʔε͢ΔରϢʔβ͕બͿඞཁ͕͋ΔͷͰԿख͕͔Γ͕ͳ͍ঢ়ଶͰগʑ͍ͮΒ͍JQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB // bpftrace"// open(2)!! tracepoint:syscalls:sys_enter_open {printf("%s %s¥n", comm, str(args->filename));}// IO tracepoint:block:block_rq_issue {@[args->comm] = hist(args->bytes);}
GUSBDF• Χʔωϧશମͷؔݺͼग़͠ͷτϨʔε͕औΕΔπʔϧ• Կख͕͔Γ͕ͳ͍ঢ়ଶͰ͍͍͕͢ εΫϦϓςΟϯάͷػೳͳ͍• ग़ྗ͕ϑΝδʔʹͳΓ͕ͪ ωοτϫʔΫͷॲཧҎ֎ࠞͬͯ͘͟ΔJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB # _-----=> irqs-off# / _----=> need-resched# | / _---=> hardirq/softirq# || / _--=> preempt-depth# ||| / delay# TASK-PID CPU# |||| TIMESTAMP FUNCTION# | | | |||| | |gdbus-8688 [003] .... 105981.564554: vfs_read <-SyS_readbamfdaemon-8170 [002] .... 105981.564584: vfs_writev <-do_writevgdbus-8688 [003] .... 105981.564590: vfs_read <-SyS_readgdbus-8688 [003] .... 105981.564590: __vfs_read <-vfs_readcompiz-8331 [007] .... 105981.564706: vfs_writev <-do_writevgdbus-8688 [003] .... 105981.564822: vfs_write <-SyS_writegdbus-8688 [003] .... 105981.564823: __vfs_write <-vfs_writegdbus-8688 [003] .... 105981.983184: vfs_read <-SyS_readgdbus-8688 [003] .... 105981.983187: __vfs_read <-vfs_read
/FUXPSLEPNBJOTQFDJGJDSFRVJSFNFOU• ωοτϫʔΫػೳΛτϨʔε͍ͨ͠ͱ͖ݻ༗ͷ• ಛఆͷʮύέοτʯʹؔ͢Δॲཧ͚ͩݟΔ͜ͱ͕Ͱ͖ͳ͍• ྫ͑• 5$1൪Ѽͷύέοτ• Ѽઌ͕ͷ*$.1ύέοτ• ؔݺͼग़͠ͷτϨʔε͚ͩͰͲͷύέοτΛॲཧ͍ͯ͠Δ͔Θ͔Βͳ͍JQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB
3FRVJSFNFOU• ͜ΜͳτϨʔαʔ͕ཉ͍͠• Կख͕͔Γ͕ͳ͍ঢ়ଶͰ͍͍͢ ؔίʔϧτϨʔαʔ• ύέοτΛॲཧ͢ΔؔҎ֎ʹͦΜͳʹڵຯ͕ͳ͍• ύέοτ୯ҐͰτϨʔε͍ͨ͠• 4ZTUFN5BQͱ͔CQGUSBDFΈ͍ͨͳTDSJQUJOHͷػೳཉ͍͠• ͜ΕΛશ෦ຬͨ͢Α͏ͳτϨʔαʔͳ͔ͬͨͷͰࣗͰ࡞ͬͨJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB
)PXJQGUSBDF XPSLTJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB [email protected]@TLC [email protected] [email protected]@YNJU• -JOVYͷωοτϫʔΫͷॲཧύέοτ [email protected] ΛҾʹͱΔؔʹύέοτΛ௨͍ͯ͘͠Α͏ͳܗΛ͍ͯ͠Δint ip_output(struct net *net, struct sock *sk, struct sk_buff *skb)'SPNTPDLFUUP/*$TLC
)PXJQGUSBDF XPSLTJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB • TLCΛҾʹऔΔ͚ؔͩΛશ෦ϑοΫͯ͠TLCͷϙΠϯλ͝ͱͰτϨʔεϩάΛऔΕύέοτ͕௨ͬͨؔͷϦετ͕ಘΒΕΔ[email protected]@TLC [email protected] [email protected]@YNJU'SPNTPDLFUUP/*$TLC#-PH -PH -PHTLC" BEESFTT<[email protected]@TLCz [email protected] [email protected]@YNJUz>TLC# BEESFTT<[email protected]@TLCz [email protected] [email protected]@YNJUz>TLC"
)PXJQGUSBDF XPSLTJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB • TLCʹ lNBSLzΛ͚ͭͯͦΕΛݟΔ͜ͱʹΑͬͯಛఆͷύέοτ͚ͩΛτϨʔεͰ͖Δ[email protected]@TLC [email protected] [email protected]@YNJU'SPNTPDLFUUP/*$TLC"-PHJGNBSLUBSHFUNBSLTLC" BEESFTT<[email protected]@TLCz [email protected] [email protected]@YNJUz>NBSL-PHJGNBSLUBSHFUNBSL-PHJGNBSLUBSHFUNBSL
*NQMFNFOUBUJPOJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB • TLCΛҾʹऔΔؔΛશ෦औಘ͢Δ• σόοάใ %8"3'PS#5'Λ͏໊ؔϙΠϯλܕͷใϙΠϯλ͕ࢦ͍ͯ͠Δσʔλͷܕใ
*NQMFNFOUBUJPOJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB • TLCΛҾʹऔΔؔΛશ෦ϑοΫͯ͠τϨʔεϩάΛग़͢• LQSPCF F#1' [email protected][email protected]@TLCF#1'1SPHSBN[email protected]F#1'1SPHSBNJQGU QSPDFTT5SBDF-PHT&WFOUEBUB1FSGSJOHCVGGFS6TFS,FSOFM"UUBDILQSPCF
*NQMFNFOUBUJPOJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB • TLCʹNBSLΛ͚ͭΔ• TLCNBSLͱ͍͏ࣗ༝ʹ͑ΔCJUͷϑΟʔϧυ͕͋Δ• JQUBCMFT OFUGJMUFSUD TFUTPDLPQU [email protected]"3,ͳͲͰॻ͖ࠐΈ͕Ͱ͖Δ• ͜ΕΒͰهड़Ͱ͖Δҙͷ݅ͰύέοτʹϚʔΫΛ͚ͭΒΕΔ• OFUOTΛ·͙ͨͱফ͑Δ ίϯςφͷτϨʔγϯάʹศར// TCP10.0.0.10 # iptables -t raw -A OUTPUT -p tcp -d 10.0.0.10 -j MARK --set-mark 0xdeadbeef# ipft -m 0xdeadbeef
4DSJQUJOHJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB • ͕ؔݺͼग़͞Εͨ࣌ͷTLCʹ͍͍ͭͯΔσʔλͪΐͬͱݟ͍ͨ• ͪΐͬͱͨ͠ϓϩάϥϚϏϦςΟ͕ཉ͍͠• -VBͰ֦ுΛॻ͚ΔػೳAttaching program (total 1803, succeeded 1052, failed 751 filtered: 0)Trace ready!Samples: 246 Lost: 0^CTrace done!===3347634373462 0000 selinux_ipv4_output (len: 5764 gso_type: tcpv4)3347634379670 0000 ip_output (len: 5764 gso_type: tcpv4)3347634382597 0000 nf_hook_slow (len: 5764 gso_type: tcpv4)3347634385879 0000 selinux_ipv4_postroute (len: 5764 gso_type: tcpv4)3347634388958 0000 selinux_ip_postroute (len: 5764 gso_type: tcpv4)3347634391979 0000 ip_finish_output (len: 5764 gso_type: tcpv4)͜ͷ෦
4DSJQUJOHJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB -- void-- custom_function(uint8_t *buf, void *ctx,-- struct sk_buff *skb)--function emit()return BPF.emit({...-- Get skb->lenBPF.MOV64_REG(BPF.R1, BPF.R6),BPF.MOV64_IMM(BPF.R2, uint_size),BPF.MOV64_REG(BPF.R3, BPF.R8),BPF.ALU64_IMM(BPF.ADD, BPF.R3, len_offset),BPF.CALL_INSN(BPF.FUNC.probe_read),...})endfunction dump(data)len, gso_type = string.unpack(“=I4I4, data)return string.format("(len: %d gso_type: %s)",len, flags2str(gso_type))end• -VBͰFNJU EVNQͷͭΛॻ͘ͱग़ྗΛΧελϚΠζͰ͖Δ• FNJUՃͷσʔλΛूΊΔF#1'ͷόΠτίʔυΛు͘ϚΫϩΞηϯϒϥͰॻ͚Δ• EVNQFNJUͰूΊͨσʔλΛܗͨ͠จࣈྻΛు͘
-JOVYWFSTJPOBSDIJUFDUVSFEFQFOEFODZJTTVF• -JOVYͷόʔδϣϯ͕มΘΔͱߏମͷϑΥʔϚοτ͕มΘΔ• -VBεΫϦϓτͰࢀর͍ͯ͠ΔTLCͷϝϯό• JQGUSBDFຊମͰ͍ͬͯΔTLCNBSLಉ༷• ͜ΕΒ-JOVYͷόʔδϣϯʹΑͬͯΦϑηοταΠζ͕มΘͬͯ͠·͏• Ͳ͏͢Δ͔ʁJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB
-JOVYWFSTJPOBSDIJUFDUVSFEFQFOEFODZJTTVF• σόοάใΛͬͯߏମͷϝϯόͷΦϑηοτσʔλܕͷαΠζΛ࣮ߦ࣌ʹղܾ͢Δ• -VB͔ΒJQGUPGGTFUPGTJ[FPGUZQFPGΛͬͯσόοάใΛΫΤϦͰ͖ΔΑ͏ʹ͢Δ• ͜ΕͰ-JOVYͷόʔδϣϯʹґଘ͠ͳ͍Α͏ʹॻ͚ΔʂJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB function emit()return BPF.emit({...-- Get skb->lenBPF.MOV64_REG(BPF.R1, BPF.R6),BPF.MOV64_IMM(BPF.R2,ipft.sizeof(ipft.typeof(”sk_buff”, “len”))),BPF.MOV64_REG(BPF.R3, BPF.R8),BPF.ALU64_IMM(BPF.ADD, BPF.R3,ipft.offsetof(”sk_buff”, ”len”)),BPF.CALL_INSN(BPF.FUNC.probe_read),...})end
)PXVTFGVMJUJT• -JOVYͷ43Wͷ540(40ͷॲཧʹόά͕͋Γ ಛఆͷઃఆͰੑೳ͕ѱ͘ͳΔ• JQGUSBDFΛ༻ͯ͠ݪҼΛಛఆ• मਖ਼ύονΛVQTUSFBNJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB 2 : : [email protected] 9 6 - 9 1 : 940. 80 /0 : .2 1 9 83 17 36 .97
$PODMVTJPO• -JOVYͷωοτϫʔΫػೳʹಛԽͨ͠σόοάπʔϧJQGUSBDFΛհ• ָ͍͍ͬͯͯ͠πʔϧͰ͢Χʔωϧ୳ݕ͕Γ·͢• /FUXPSLͳํʑੋඇͬͯΈ͍ͯͩ͘͞JQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB IUUQTHJUIVCDPN:VUBSP)BZBLBXBJQGUSBDF
"QQFOEJY• JQUBCMFTͰύέοτ͕མ͍ͪͯΔ༷ࢠJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB 548333116979692 0000 iptable_mangle_hook548333116988109 0000 tcp_v4_early_demux548333116992390 0000 ip_route_input_noref548333117014187 0000 ip_route_input_rcu548333117020308 0000 __fib_validate_source548333117025321 0000 ip_local_deliver548333117028313 0000 iptable_mangle_hook548333117031775 0000 kfree_skb548333117035025 0000 skb_release_all548333117037921 0000 skb_release_head_state548333117040797 0000 skb_release_data548333117044159 0000 skb_free_head548333117069838 0000 kfree_skbmemiptables –A INPUT –t mangle –s 1.1.1.1 –j DROP͜ͷลΓͰϧʔςΟϯάNBOHMFUBCMFͷೖΓޱ
"QQFOEJY• [email protected]ʹΑͬͯύέοτ͕མͪΔ༷ࢠJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB 593441693907269 0000 ip_rcv_finish593441693921407 0000 ip_route_input_noref593441693926953 0000 ip_route_input_rcu593441693930384 0000 ip_route_input_slow593441693935998 0000 fib_validate_source593441693940631 0000 __fib_validate_source593441693945170 0000 kfree_skb593441693949104 0000 skb_release_all593441693953039 0000 skb_release_head_state593441693956357 0000 skb_release_data593441693960079 0000 skb_free_head593441693964360 0000 kfree_skbmemιʔεΞυϨεͷݕࠪΛ͢Δؔ
"QQFOEJYJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB 402343336955099 0000 tcp_v4_fill_cb402343336958653 0000 tcp_add_backlog402343336962128 0000 skb_condense402343336993878 0000 tcp_v4_do_rcv402343336998126 0000 tcp_rcv_established402343337004807 0000 __kfree_skb402343337008443 0000 skb_release_all402343337011794 0000 skb_release_head_state402343337015133 0000 skb_release_data402343337018458 0000 skb_free_head402343337021844 0000 kfree_skbmem402343337527315 0000 iptable_mangle_hook402343337531219 0000 ip_output402343337534572 0000 nf_hook_slow402343337537925 0000 iptable_mangle_hook402343337541373 0000 ip_finish_output402343337544750 0000 __cgroup_bpf_run_filter_skb402343337548311 0000 __ip_finish_outputTLCΛղ์͢Δؔ
"QQFOEJYJQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB 402343336955099 0000 tcp_v4_fill_cb402343336958653 0000 tcp_add_backlog402343336962128 0000 skb_condense402343336993878 0000 tcp_v4_do_rcv402343336998126 0000 tcp_rcv_established402343337004807 0000 __kfree_skb402343337008443 0000 skb_release_all402343337011794 0000 skb_release_head_state402343337015133 0000 skb_release_data402343337018458 0000 skb_free_head402343337021844 0000 kfree_skbmem===402343337527315 0000 iptable_mangle_hook402343337531219 0000 ip_output402343337534572 0000 nf_hook_slow402343337537925 0000 iptable_mangle_hook402343337541373 0000 ip_finish_output402343337544750 0000 __cgroup_bpf_run_filter_skb402343337548311 0000 __ip_finish_output͜͏ͳͬͯ΄͍͠ͳ͔ͥͭͷτϨʔε͕ͬͭ͘͘!ͦΕ݁ߏͳසͰ
"QQFOEJY• -JOVYΩϟογϡͷώοτΛ্͛ΔͨΊʹಉ͡TLCͷϝϞϦΛ͍ճ͢• JQGUSBDFTLCͷΞυϨεΛͬͯύέοτΛ۠ผ͢Δ• ਓ͕ؒݟΕΘ͔Δ͕ࣗಈͰڥΛݟΔͷ͍͠JQGUSBDF"-JOVY'VODUJPO5SBDFSGPS/FUXPSL1FPQMFc:VUBSP )BZBLBXB 402343337004807 0000 __kfree_skb402343337008443 0000 skb_release_all402343337011794 0000 skb_release_head_state402343337015133 0000 skb_release_data402343337018458 0000 skb_free_head402343337021844 0000 kfree_skbmem402343337527315 0000 iptable_mangle_hook