@@ -39,19 +39,19 @@ static __always_inline struct file *bpf_fget(int fd)
3939 if (!task )
4040 return NULL ;
4141
42- files = _READ (task -> files );
42+ files = _SYSDIG_READ (task , files );
4343 if (!files )
4444 return NULL ;
4545
46- fdt = _READ (files -> fdt );
46+ fdt = _SYSDIG_READ (files , fdt );
4747 if (!fdt )
4848 return NULL ;
4949
50- max_fds = _READ (fdt -> max_fds );
50+ max_fds = _SYSDIG_READ (fdt , max_fds );
5151 if (fd >= max_fds )
5252 return NULL ;
5353
54- fds = _READ (fdt -> fd );
54+ fds = _SYSDIG_READ (fdt , fd );
5555 fil = _READ (fds [fd ]);
5656
5757 return fil ;
@@ -71,11 +71,11 @@ static __always_inline struct socket *bpf_sockfd_lookup(struct filler_data *data
7171 if (!file )
7272 return NULL ;
7373
74- fop = _READ (file -> f_op );
74+ fop = _SYSDIG_READ (file , f_op );
7575 if (fop != data -> settings -> socket_file_ops )
7676 return NULL ;
7777
78- sock = _READ (file -> private_data );
78+ sock = _SYSDIG_READ (file , private_data );
7979 return sock ;
8080}
8181
@@ -98,18 +98,18 @@ static __always_inline bool bpf_get_fd_dev_ino(int fd, unsigned long *dev, unsig
9898 if (!file )
9999 return false;
100100
101- inode = _READ (file -> f_inode );
101+ inode = _SYSDIG_READ (file , f_inode );
102102 if (!inode )
103103 return false;
104104
105- sb = _READ (inode -> i_sb );
105+ sb = _SYSDIG_READ (inode , i_sb );
106106 if (!sb )
107107 return false;
108108
109- kdev = _READ (sb -> s_dev );
109+ kdev = _SYSDIG_READ (sb , s_dev );
110110 * dev = bpf_encode_dev (kdev );
111111
112- * ino = _READ (inode -> i_ino );
112+ * ino = _SYSDIG_READ (inode , i_ino );
113113
114114 return true;
115115}
@@ -128,11 +128,11 @@ static __always_inline bool bpf_getsockname(struct socket *sock,
128128 struct sock * sk ;
129129 sa_family_t family ;
130130
131- sk = _READ (sock -> sk );
131+ sk = _SYSDIG_READ (sock , sk );
132132 if (!sk )
133133 return false;
134134
135- family = _READ (sk -> sk_family );
135+ family = _SYSDIG_READ (sk , sk_family );
136136
137137 switch (family ) {
138138 case AF_INET :
@@ -142,14 +142,14 @@ static __always_inline bool bpf_getsockname(struct socket *sock,
142142
143143 sin -> sin_family = AF_INET ;
144144 if (peer ) {
145- sin -> sin_port = _READ (inet -> inet_dport );
146- sin -> sin_addr .s_addr = _READ (inet -> inet_daddr );
145+ sin -> sin_port = _SYSDIG_READ (inet , inet_dport );
146+ sin -> sin_addr .s_addr = _SYSDIG_READ (inet , inet_daddr );
147147 } else {
148- u32 addr = _READ (inet -> inet_rcv_saddr );
148+ u32 addr = _SYSDIG_READ (inet , inet_rcv_saddr );
149149
150150 if (!addr )
151- addr = _READ (inet -> inet_saddr );
152- sin -> sin_port = _READ (inet -> inet_sport );
151+ addr = _SYSDIG_READ (inet , inet_saddr );
152+ sin -> sin_port = _SYSDIG_READ (inet , inet_sport );
153153 sin -> sin_addr .s_addr = addr ;
154154 }
155155
@@ -162,17 +162,17 @@ static __always_inline bool bpf_getsockname(struct socket *sock,
162162 struct ipv6_pinfo {
163163 struct in6_addr saddr ;
164164 };
165- struct ipv6_pinfo * np = (struct ipv6_pinfo * )_READ (inet -> pinet6 );
165+ struct ipv6_pinfo * np = (struct ipv6_pinfo * )_SYSDIG_READ (inet , pinet6 );
166166
167167 sin -> sin6_family = AF_INET6 ;
168168 if (peer ) {
169- sin -> sin6_port = _READ (inet -> inet_dport );
170- sin -> sin6_addr = _READ (sk -> sk_v6_daddr );
169+ sin -> sin6_port = _SYSDIG_READ (inet , inet_dport );
170+ sin -> sin6_addr = _SYSDIG_READ (sk , sk_v6_daddr );
171171 } else {
172- sin -> sin6_addr = _READ (sk -> sk_v6_rcv_saddr );
172+ sin -> sin6_addr = _SYSDIG_READ (sk , sk_v6_rcv_saddr );
173173 if (bpf_ipv6_addr_any (& sin -> sin6_addr ))
174- sin -> sin6_addr = _READ (np -> saddr );
175- sin -> sin6_port = _READ (inet -> inet_sport );
174+ sin -> sin6_addr = _SYSDIG_READ (np , saddr );
175+ sin -> sin6_port = _SYSDIG_READ (inet , inet_sport );
176176 }
177177
178178 break ;
@@ -184,15 +184,15 @@ static __always_inline bool bpf_getsockname(struct socket *sock,
184184 struct unix_address * addr ;
185185
186186 if (peer )
187- sk = _READ (((struct unix_sock * )sk )-> peer );
187+ sk = _SYSDIG_READ (((struct unix_sock * )sk ), peer );
188188
189189 u = (struct unix_sock * )sk ;
190- addr = _READ ( u -> addr );
190+ addr = _SYSDIG_READ ( u , addr );
191191 if (!addr ) {
192192 sunaddr -> sun_family = AF_UNIX ;
193193 sunaddr -> sun_path [0 ] = 0 ;
194194 } else {
195- unsigned int len = _READ (addr -> len );
195+ unsigned int len = _SYSDIG_READ (addr , len );
196196
197197 if (len > sizeof (struct sockaddr_storage ))
198198 len = sizeof (struct sockaddr_storage );
@@ -217,8 +217,8 @@ static __always_inline bool bpf_getsockname(struct socket *sock,
217217static __always_inline int bpf_addr_to_kernel (void * uaddr , int ulen ,
218218 struct sockaddr * kaddr )
219219{
220- if (ulen < 0 || ulen > sizeof ( struct sockaddr_storage ) )
221- return - EINVAL ;
220+ if (ulen > BPF_MAX_VAR_SIZE )
221+ return - EINVAL ;
222222
223223 if (ulen == 0 )
224224 return 0 ;
@@ -256,11 +256,11 @@ static __always_inline u32 bpf_compute_snaplen(struct filler_data *data,
256256 if (!fil )
257257 return res ;
258258
259- f_inode = _READ (fil -> f_inode );
259+ f_inode = _SYSDIG_READ (fil , f_inode );
260260 if (!f_inode )
261261 return res ;
262262
263- i_rdev = _READ (f_inode -> i_rdev );
263+ i_rdev = _SYSDIG_READ (f_inode , i_rdev );
264264 if (i_rdev == PPM_NULL_RDEV )
265265 return RW_SNAPLEN_EVENT ;
266266 }
@@ -325,11 +325,11 @@ static __always_inline u32 bpf_compute_snaplen(struct filler_data *data,
325325 return res ;
326326 }
327327
328- sk = _READ (sock -> sk );
328+ sk = _SYSDIG_READ (sock , sk );
329329 if (!sk )
330330 return res ;
331331
332- sa_family_t family = _READ (sk -> sk_family );
332+ sa_family_t family = _SYSDIG_READ (sk , sk_family );
333333
334334 if (family == AF_INET ) {
335335 sport = ntohs (((struct sockaddr_in * )sock_address )-> sin_port );
@@ -528,11 +528,11 @@ static __always_inline long bpf_fd_to_socktuple(struct filler_data *data,
528528 if (!bpf_getsockname (sock , sock_address , 0 ))
529529 return 0 ;
530530
531- sk = _READ (sock -> sk );
531+ sk = _SYSDIG_READ (sock , sk );
532532 if (!sk )
533533 return 0 ;
534534
535- family = _READ (sk -> sk_family );
535+ family = _SYSDIG_READ (sk , sk_family );
536536
537537 switch (family ) {
538538 case AF_INET :
@@ -652,7 +652,7 @@ static __always_inline long bpf_fd_to_socktuple(struct filler_data *data,
652652 * Retrieve the addresses
653653 */
654654 struct unix_sock * us = (struct unix_sock * )sk ;
655- struct sock * speer = _READ (us -> peer );
655+ struct sock * speer = _SYSDIG_READ (us , peer );
656656 char * us_name ;
657657
658658 data -> buf [data -> state -> tail_ctx .curoff & SCRATCH_SIZE_HALF ] = socket_family_to_scap (family );
@@ -943,13 +943,13 @@ static __always_inline bool bpf_in_ia32_syscall()
943943 task = (struct task_struct * )bpf_get_current_task ();
944944
945945#if LINUX_VERSION_CODE < KERNEL_VERSION (4 , 14 , 18 )
946- status = _READ (task -> thread .status );
946+ status = _SYSDIG_READ (task , thread .status );
947947#elif LINUX_VERSION_CODE < KERNEL_VERSION (4 , 15 , 0 )
948- status = _READ (task -> thread_info .status );
948+ status = _SYSDIG_READ (task , thread_info .status );
949949#elif LINUX_VERSION_CODE < KERNEL_VERSION (4 , 15 , 2 )
950- status = _READ (task -> thread .status );
950+ status = _SYSDIG_READ (task , thread .status );
951951#else
952- status = _READ (task -> thread_info .status );
952+ status = _SYSDIG_READ (task , thread_info .status );
953953#endif
954954
955955 return status & TS_COMPAT ;
0 commit comments