git: a290c3d70398 - stable/13 - Remove PAGE_SIZE from hastd

From: Andrew Turner <andrew_at_FreeBSD.org>
Date: Tue, 19 Jul 2022 07:37:19 UTC
The branch stable/13 has been updated by andrew:

URL: https://cgit.FreeBSD.org/src/commit/?id=a290c3d703981a54f3c24333d046727a7109db59

commit a290c3d703981a54f3c24333d046727a7109db59
Author:     Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2022-05-03 13:59:33 +0000
Commit:     Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2022-07-19 07:03:30 +0000

    Remove PAGE_SIZE from hastd
    
    It may not be known at compile time so we should detect it at run time.
    
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D35118
    
    (cherry picked from commit ea578b34cb35505e7253c4d8f279fed1d38380ee)
---
 sbin/hastd/ebuf.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/sbin/hastd/ebuf.c b/sbin/hastd/ebuf.c
index 22d3251ec75c..83f99f834288 100644
--- a/sbin/hastd/ebuf.c
+++ b/sbin/hastd/ebuf.c
@@ -70,12 +70,14 @@ struct ebuf *
 ebuf_alloc(size_t size)
 {
 	struct ebuf *eb;
+	size_t page_size;
 	int rerrno;
 
 	eb = malloc(sizeof(*eb));
 	if (eb == NULL)
 		return (NULL);
-	size += PAGE_SIZE;
+	page_size = getpagesize();
+	size += page_size;
 	eb->eb_start = malloc(size);
 	if (eb->eb_start == NULL) {
 		rerrno = errno;
@@ -88,7 +90,7 @@ ebuf_alloc(size_t size)
 	 * We set start address for real data not at the first entry, because
 	 * we want to be able to add data at the front.
 	 */
-	eb->eb_used = eb->eb_start + PAGE_SIZE / 4;
+	eb->eb_used = eb->eb_start + page_size / 4;
 	eb->eb_size = 0;
 	eb->eb_magic = EBUF_MAGIC;
 
@@ -215,17 +217,18 @@ static int
 ebuf_head_extend(struct ebuf *eb, size_t size)
 {
 	unsigned char *newstart, *newused;
-	size_t newsize;
+	size_t newsize, page_size;
 
 	PJDLOG_ASSERT(eb != NULL && eb->eb_magic == EBUF_MAGIC);
 
-	newsize = eb->eb_end - eb->eb_start + (PAGE_SIZE / 4) + size;
+	page_size = getpagesize();
+	newsize = eb->eb_end - eb->eb_start + (page_size / 4) + size;
 
 	newstart = malloc(newsize);
 	if (newstart == NULL)
 		return (-1);
 	newused =
-	    newstart + (PAGE_SIZE / 4) + size + (eb->eb_used - eb->eb_start);
+	    newstart + (page_size / 4) + size + (eb->eb_used - eb->eb_start);
 
 	bcopy(eb->eb_used, newused, eb->eb_size);
 
@@ -243,11 +246,12 @@ static int
 ebuf_tail_extend(struct ebuf *eb, size_t size)
 {
 	unsigned char *newstart;
-	size_t newsize;
+	size_t newsize, page_size;
 
 	PJDLOG_ASSERT(eb != NULL && eb->eb_magic == EBUF_MAGIC);
 
-	newsize = eb->eb_end - eb->eb_start + size + ((3 * PAGE_SIZE) / 4);
+	page_size = getpagesize();
+	newsize = eb->eb_end - eb->eb_start + size + ((3 * page_size) / 4);
 
 	newstart = realloc(eb->eb_start, newsize);
 	if (newstart == NULL)