Files
Shailend ChandandgVisor bot 4d04fdafe5 Allow netlink sockets to send to RTMGRP_LINK
sendmsg() to the multicast group now works. connect() is still disallowed.

This patch also reduces the length for which a netlink socket's mu is held.
Previously, once it was taken in Socket.sendMsg(), it was held throughout
Protocol.Receive() -> Socket.ProcessMessages() -> Socket.SendResponse().
When in fact the only field it was needed for was Socket.portID.

PiperOrigin-RevId: 836418153
2025-11-24 17:25:11 -08:00

43 lines
1.1 KiB
Python

load("//tools:defs.bzl", "go_library")
package(
default_applicable_licenses = ["//:license"],
licenses = ["notice"],
)
go_library(
name = "netlink",
srcs = [
"provider.go",
"socket.go",
],
visibility = ["//pkg/sentry:internal"],
deps = [
"//pkg/abi/linux",
"//pkg/abi/linux/errno",
"//pkg/atomicbitops",
"//pkg/context",
"//pkg/errors/linuxerr",
"//pkg/hostarch",
"//pkg/marshal",
"//pkg/marshal/primitive",
"//pkg/sentry/arch",
"//pkg/sentry/fsimpl/sockfs",
"//pkg/sentry/inet",
"//pkg/sentry/kernel",
"//pkg/sentry/kernel/auth",
"//pkg/sentry/ktime",
"//pkg/sentry/socket",
"//pkg/sentry/socket/control",
"//pkg/sentry/socket/netlink/nlmsg",
"//pkg/sentry/socket/netlink/port",
"//pkg/sentry/socket/unix",
"//pkg/sentry/socket/unix/transport",
"//pkg/sentry/vfs",
"//pkg/sync",
"//pkg/syserr",
"//pkg/usermem",
"//pkg/waiter",
],
)