From 3f4e03d38122e83c44607143aece25e2ffde186e Mon Sep 17 00:00:00 2001 From: "M. Mert Yildiran" Date: Thu, 2 Jun 2022 05:19:36 +0300 Subject: [PATCH] Set all buffer sizes to `CHUNK_SIZE` --- tap/tlstapper/bpf/golang_uprobes.c | 9 +++------ tap/tlstapper/tlstapper_bpfeb.go | 2 +- tap/tlstapper/tlstapper_bpfeb.o | Bin 126056 -> 126008 bytes tap/tlstapper/tlstapper_bpfel.go | 2 +- tap/tlstapper/tlstapper_bpfel.o | Bin 126056 -> 126008 bytes 5 files changed, 5 insertions(+), 8 deletions(-) diff --git a/tap/tlstapper/bpf/golang_uprobes.c b/tap/tlstapper/bpf/golang_uprobes.c index de259f300..f473e9c54 100644 --- a/tap/tlstapper/bpf/golang_uprobes.c +++ b/tap/tlstapper/bpf/golang_uprobes.c @@ -9,9 +9,6 @@ Copyright (C) UP9 Inc. #include "include/headers.h" #include "include/maps.h" -#define BUFFER_SIZE_READ_WRITE (1 << 19) // 512 KiB -#define CRYPTO_TLS_READ_LEN (1 << 12) // constant 4KiB is observed - struct golang_read_write { __u32 pid; @@ -20,7 +17,7 @@ struct golang_read_write { bool is_request; __u32 len; __u32 cap; - __u8 data[BUFFER_SIZE_READ_WRITE]; + __u8 data[CHUNK_SIZE]; }; const struct golang_read_write *unused __attribute__((unused)); @@ -60,7 +57,7 @@ static __always_inline int golang_crypto_tls_write_uprobe(struct pt_regs *ctx) { b->len = ctx->rcx; b->cap = ctx->rdi; - status = bpf_probe_read(&b->data, CRYPTO_TLS_READ_LEN, (void*)ctx->rbx); + status = bpf_probe_read(&b->data, CHUNK_SIZE, (void*)ctx->rbx); if (status < 0) { bpf_printk("[golang_crypto_tls_write_uprobe] error reading data: %d", status); bpf_ringbuf_discard(b, BPF_RB_FORCE_WAKEUP); @@ -98,7 +95,7 @@ static __always_inline int golang_crypto_tls_read_uprobe(struct pt_regs *ctx) { return 0; } - status = bpf_probe_read(&b->data, CRYPTO_TLS_READ_LEN, (void*)(data_p)); + status = bpf_probe_read(&b->data, CHUNK_SIZE, (void*)(data_p)); if (status < 0) { bpf_printk("[golang_crypto_tls_read_uprobe] error reading data: %d", status); bpf_ringbuf_discard(b, BPF_RB_FORCE_WAKEUP); diff --git a/tap/tlstapper/tlstapper_bpfeb.go b/tap/tlstapper/tlstapper_bpfeb.go index a4afc9fd9..f22a5ad65 100644 --- a/tap/tlstapper/tlstapper_bpfeb.go +++ b/tap/tlstapper/tlstapper_bpfeb.go @@ -21,7 +21,7 @@ type tlsTapperGolangReadWrite struct { _ [3]byte Len uint32 Cap uint32 - Data [524288]uint8 + Data [4096]uint8 } type tlsTapperTlsChunk struct { diff --git a/tap/tlstapper/tlstapper_bpfeb.o b/tap/tlstapper/tlstapper_bpfeb.o index 0e29b030a20e01a209b12eb01595d014949f1627..b6f21af74953752553f6baaf73ccc494434ecd95 100644 GIT binary patch delta 5320 zcmbuDe{2-T702J(J;R-2%3&L@@xh(JCWa7vfMXvq4#%%@DUdi6t4>KYxRSU! zaY=hG#=L?1N?cjge~&xb8Mlg&AbwF2s9%;A6lqFI#i8_x7w5LUk2y%!!@5m=sfB3H z>z`&0>B-B^yy<|>2M~{7B$v3TGl>CRQ;__HP79d=!Sk{d6Q-NF{1gIPdv}DOkmpU z#@gdVwc+$XGqcx3V7C-k3@x>$p2U5Msdu0~ZtA_LKl~X0$`iP-=e6t7D_@HC>?~;A zTfqAZSQYRq1$?1^|60J~5^gdB+!2lG8!uHjwI8PWcI6RE=hx4WR)yi>VvqR!!-+67VV3CCol*n3+vOTPcEo@Xu1w|45BZ~4+;h> zY&rA($@|JeskX;9edY6yesRN@;$QukEqwLYe<|&`hQY=vLDll7EM5-Jmo08U1Ws7o zjEuT!@oMD3Ig8gLdS$14`zgeqM6l1Bk+1XLIurWC-Y1rIqFvTB9f2?%M!IUi(8}X? ziM}lw#59M|-lv9YIJ%~<9L*i3`Dvm<7(!hZF9LU4d_TC?VpUNKGlNJj8Zyndh>nH8 z!-nq=Wxzb3c?PC^UfA@{IEu|t-7wQLBEdXnhW&=LEM+k=Cf*FCXqUxuLYRq_eUrEq3#XoLJ)pFac$+lzS}X?p zHJAN>xLx>wX2ctJ$Pxxj|0&{5IXE+>-=FX)t6u^yYxoXvKa!!x51BG)fV4Df4UhvP zr@0i;9)q+{)00r7Jq7TxPn0n2<15_864tXm@-peJ_UFi1B2tER|LhbpN%bz`NRQOy z$%O8~E;+5TOGz{G5OPZ5w^cJVakg3UKKqyCbVx#V6!dp%#-=*mvdf;x(Aa-|K=;>r z17z0+tp{YP8H-hNF{b)wa`qq)IjDO?oL&*fEUMx`a{7cn*8L*RL5SlW`}MGhQW?dC z!>B_5c7&aGh;~c^!_Fk5Pd-|N-2lGru*4}6sg+T6buk~=<+o44xDh=LHC;wES9TKZ zk)@9tJ9}{QW4t7e*qyonNejOm(_91<2Bp8wJpVJC}5KkN6)fh@k};5v`GoUg*->jHd9AbI^yBTCgsz4kT7qj;PXyD`=;Zm%8- zU1@9#>IAaI8!)Us zT*jM%;tO-gD#UM%>Riq>PohZzX&9^bzO&ZB4T?N9ug&wAxB3qXR{uf4>L>D7zX4`M zlnGh=h&Jolmmjm*c|RhK#lU8D?jEF`jQ`k7>b{BBJ;bp{q2xoWDFg|Mzt_7dMn_e`I`2&Wm0peiH@Br~49JX#wbMZ68 z8GQ1)W|^_qhzEtuGRYK4aIx==kKtQBY%%%*G5oD(Pasfd99|@TSq8Lf79G!Gg@Ja> z)m5sc5eWs`s2*d^nN(urW#FMBvyD zo9YR?J0&S{`Y|Mp(;!J?l<-*m8YSj##~T&nv74S7kC8<3+7h=oX`EGZ(%_j%mXjt% z)ab3lIFu|Bo*yA+y+oW*0?Ig>F+uJy{kzq(2_0eccdOr`YLd%o#~kLrMMP_Gp?KE* zO-`?XnGTK?r>{Vzz526;TuxTT8%NhY(_$^J2`AG4KQ(8)GHZXJ@z zN(Q$9$rGqB4iAyLL^!6IObNs_BbnR=^aT)gajrLOa84yt~+ol?Ws`4MOPhzi~S##QPD@Jr*WU$9jT%Pp*eIo!HbN^Wu0 zFSi3~SZ=K7Dj|sN^V`MUvBU#x3~(v=QXC@gWH{O ZE0|Tox;1#4SBGBJD=GP%I`DU{_#b)x2)Y0O delta 5326 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