github.com/mdlayher/netlink assumes that NLMSG_DONE messages are either empty or contain a struct nlmsgerr: mdlayher/netlink#70 (comment) (?)
This assumption does not hold with NETLINK_CONNECTOR, which uses NLMSG_DONE for all payloads, which leads to spurious netlink errors on all received messages as it parses the cn_msg header as a nlmsgerr.
Hacked in the vendored fork, needs some upstream fix: mdlayher/netlink@master...SpComb:fix/netlink-receive-done-error