aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Jude <allanjude@FreeBSD.org>2021-11-04 12:55:33 +0000
committerAllan Jude <allanjude@FreeBSD.org>2021-11-04 12:56:09 +0000
commitc441592a0e1591591665cd037a8a5e9b54675f99 (patch)
treec658ff90e9ffd615e634e7c10301aad95c2867d7
parent9c0287e0920ad7a16c75e62e914cd69c439dba1c (diff)
downloadsrc-c441592a0e1591591665cd037a8a5e9b54675f99.tar.gz
src-c441592a0e1591591665cd037a8a5e9b54675f99.zip
Allow kern.ipc.maxsockets to be set to current value without error
Normally setting kern.ipc.maxsockets returns EINVAL if the new value is not greater than the previous value. This can cause spurious error messages when sysctl.conf is processed multiple times, or when automation systems try to ensure the sysctl is set to the correct value. If the value is unchanged, then just do nothing. PR: 243532 Reviewed by: markj MFC after: 3 days Sponsored by: Modirum MDPay Sponsored by: Klara Inc. Differential Revision: https://reviews.freebsd.org/D32775
-rw-r--r--sys/kern/uipc_socket.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index 267a33feac3b..e033b2d77f1d 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -364,7 +364,7 @@ sysctl_maxsockets(SYSCTL_HANDLER_ARGS)
newmaxsockets = maxsockets;
error = sysctl_handle_int(oidp, &newmaxsockets, 0, req);
- if (error == 0 && req->newptr) {
+ if (error == 0 && req->newptr && newmaxsockets != maxsockets) {
if (newmaxsockets > maxsockets &&
newmaxsockets <= maxfiles) {
maxsockets = newmaxsockets;