aboutgitcodebugslistschat
path: root/passt.h
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2022-03-15 23:17:44 +0100
committerStefano Brivio <sbrivio@redhat.com>2022-03-29 15:35:38 +0200
commit3eb19cfd8a7c03920aeecae6692048429288af88 (patch)
tree88ffb6c69fab2da82a9d9910da1c57d34804d739 /passt.h
parent66a95e331ec930e72bc06c54b283ea88b30ecbaa (diff)
downloadpasst-3eb19cfd8a7c03920aeecae6692048429288af88.tar
passt-3eb19cfd8a7c03920aeecae6692048429288af88.tar.gz
passt-3eb19cfd8a7c03920aeecae6692048429288af88.tar.bz2
passt-3eb19cfd8a7c03920aeecae6692048429288af88.tar.lz
passt-3eb19cfd8a7c03920aeecae6692048429288af88.tar.xz
passt-3eb19cfd8a7c03920aeecae6692048429288af88.tar.zst
passt-3eb19cfd8a7c03920aeecae6692048429288af88.zip
tcp, udp, util: Enforce 24-bit limit on socket numbers
This should never happen, but there are no formal guarantees: ensure socket numbers are below SOCKET_MAX. Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'passt.h')
-rw-r--r--passt.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/passt.h b/passt.h
index 8344fca..3a62b15 100644
--- a/passt.h
+++ b/passt.h
@@ -45,7 +45,9 @@ union epoll_ref;
union epoll_ref {
struct {
int32_t proto:8,
- s:24;
+#define SOCKET_REF_BITS 24
+#define SOCKET_MAX (1 << SOCKET_REF_BITS)
+ s:SOCKET_REF_BITS;
union {
union tcp_epoll_ref tcp;
union udp_epoll_ref udp;