aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander V. Chernikov <melifaro@FreeBSD.org>2021-04-27 08:04:19 +0000
committerAlexander V. Chernikov <melifaro@FreeBSD.org>2021-04-27 19:59:27 +0000
commitfbe149eef7d8f225138809528e2824bfabc4419c (patch)
tree238552dc965fba4364bcf83137fe6640fc526b1f
parent447133ecfd2fb6fa065b7ffce14f717777813566 (diff)
downloadsrc-fbe149eef7d8f225138809528e2824bfabc4419c.tar.gz
src-fbe149eef7d8f225138809528e2824bfabc4419c.zip
Fix rtsock sockaddr alignment.
b31fbebeb3 introduced alloc_sockaddr_aligned() which, in fact, failed to produce aligned addresses. Reported by: Oskar Holmlund <oskar.holmlund at yahoo.com> MFC after: immediately (cherry picked from commit 25682e6a495fc6669d799bb64acdaf14d653173e)
-rw-r--r--sys/net/rtsock.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c
index b7a7e5170c74..405300a394de 100644
--- a/sys/net/rtsock.c
+++ b/sys/net/rtsock.c
@@ -1009,7 +1009,7 @@ save_add_notification(struct rib_cmd_info *rc, void *_cbdata)
static struct sockaddr *
alloc_sockaddr_aligned(struct linear_buffer *lb, int len)
{
- len |= (sizeof(uint64_t) - 1);
+ len = roundup2(len, sizeof(uint64_t));
if (lb->offset + len > lb->size)
return (NULL);
struct sockaddr *sa = (struct sockaddr *)(lb->base + lb->offset);