diff options
author | Alexander V. Chernikov <melifaro@FreeBSD.org> | 2021-04-27 08:04:19 +0000 |
---|---|---|
committer | Alexander V. Chernikov <melifaro@FreeBSD.org> | 2021-04-27 19:59:27 +0000 |
commit | fbe149eef7d8f225138809528e2824bfabc4419c (patch) | |
tree | 238552dc965fba4364bcf83137fe6640fc526b1f | |
parent | 447133ecfd2fb6fa065b7ffce14f717777813566 (diff) | |
download | src-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.c | 2 |
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); |