Date: Wed, 11 Nov 2015 23:39:47 +0000 From: "cameronsparr_gmail.com (Cameron Sparr)" <phabric-noreply@FreeBSD.org> To: freebsd-net@freebsd.org Subject: [Differential] [Updated, 12 lines] D4129: Bug 204438 - setsockopt() handling of kern.ipc.maxsockbuf limit Message-ID: <85fc570f11f400cfa3e2cf3facea6f1a@localhost.localdomain> In-Reply-To: <differential-rev-PHID-DREV-nsgeoanyr2bjbgvnlcon-req@FreeBSD.org> References: <differential-rev-PHID-DREV-nsgeoanyr2bjbgvnlcon-req@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--b1_85fc570f11f400cfa3e2cf3facea6f1a Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit cameronsparr_gmail.com removed rS FreeBSD src repository as the repository for this revision. cameronsparr_gmail.com updated this revision to Diff 10121. cameronsparr_gmail.com added a comment. spaces to tabs CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D4129?vs=10120&id=10121 REVISION DETAIL https://reviews.freebsd.org/D4129 AFFECTED FILES sys/kern/uipc_sockbuf.c CHANGE DETAILS diff --git a/sys/kern/uipc_sockbuf.c b/sys/kern/uipc_sockbuf.c --- a/sys/kern/uipc_sockbuf.c +++ b/sys/kern/uipc_sockbuf.c @@ -397,7 +397,7 @@ sb_max_adj = (u_quad_t)sb_max * MCLBYTES / (MSIZE + MCLBYTES); return (0); } - + /* * Allot mbufs to a sockbuf. Attempt to scale mbmax so that mbcnt doesn't * become limiting if buffering efficiency is near the normal case. @@ -417,8 +417,12 @@ * appropriate thread resource limits are available. In that case, * we don't apply a process limit. */ - if (cc > sb_max_adj) + if (cc > sb_max) return (0); + + if (cc > sb_max_adj) + cc = sb_max_adj; + if (td != NULL) { sbsize_limit = lim_cur(td, RLIMIT_SBSIZE); } else @@ -433,7 +437,7 @@ } int -sbreserve(struct sockbuf *sb, u_long cc, struct socket *so, +sbreserve(struct sockbuf *sb, u_long cc, struct socket *so, struct thread *td) { int error; @@ -1297,7 +1301,7 @@ xsb->sb_cc = sb->sb_ccc; xsb->sb_hiwat = sb->sb_hiwat; xsb->sb_mbcnt = sb->sb_mbcnt; - xsb->sb_mcnt = sb->sb_mcnt; + xsb->sb_mcnt = sb->sb_mcnt; xsb->sb_ccnt = sb->sb_ccnt; xsb->sb_mbmax = sb->sb_mbmax; xsb->sb_lowat = sb->sb_lowat; EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: cameronsparr_gmail.com, Contributor Reviewers, network Cc: freebsd-net-list, imp --b1_85fc570f11f400cfa3e2cf3facea6f1a Content-Type: text/x-patch; charset=utf-8; name="D4129.10121.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D4129.10121.patch" ZGlmZiAtLWdpdCBhL3N5cy9rZXJuL3VpcGNfc29ja2J1Zi5jIGIvc3lzL2tlcm4vdWlwY19zb2Nr YnVmLmMKLS0tIGEvc3lzL2tlcm4vdWlwY19zb2NrYnVmLmMKKysrIGIvc3lzL2tlcm4vdWlwY19z b2NrYnVmLmMKQEAgLTM5Nyw3ICszOTcsNyBAQAogCXNiX21heF9hZGogPSAodV9xdWFkX3Qpc2Jf bWF4ICogTUNMQllURVMgLyAoTVNJWkUgKyBNQ0xCWVRFUyk7CiAJcmV0dXJuICgwKTsKIH0KLQkK KwogLyoKICAqIEFsbG90IG1idWZzIHRvIGEgc29ja2J1Zi4gIEF0dGVtcHQgdG8gc2NhbGUgbWJt YXggc28gdGhhdCBtYmNudCBkb2Vzbid0CiAgKiBiZWNvbWUgbGltaXRpbmcgaWYgYnVmZmVyaW5n IGVmZmljaWVuY3kgaXMgbmVhciB0aGUgbm9ybWFsIGNhc2UuCkBAIC00MTcsOCArNDE3LDEyIEBA CiAJICogYXBwcm9wcmlhdGUgdGhyZWFkIHJlc291cmNlIGxpbWl0cyBhcmUgYXZhaWxhYmxlLiAg SW4gdGhhdCBjYXNlLAogCSAqIHdlIGRvbid0IGFwcGx5IGEgcHJvY2VzcyBsaW1pdC4KIAkgKi8K LQlpZiAoY2MgPiBzYl9tYXhfYWRqKQorCWlmIChjYyA+IHNiX21heCkKIAkJcmV0dXJuICgwKTsK KworCWlmIChjYyA+IHNiX21heF9hZGopCisJCWNjID0gc2JfbWF4X2FkajsKKwogCWlmICh0ZCAh PSBOVUxMKSB7CiAJCXNic2l6ZV9saW1pdCA9IGxpbV9jdXIodGQsIFJMSU1JVF9TQlNJWkUpOwog CX0gZWxzZQpAQCAtNDMzLDcgKzQzNyw3IEBACiB9CiAKIGludAotc2JyZXNlcnZlKHN0cnVjdCBz b2NrYnVmICpzYiwgdV9sb25nIGNjLCBzdHJ1Y3Qgc29ja2V0ICpzbywgCitzYnJlc2VydmUoc3Ry dWN0IHNvY2tidWYgKnNiLCB1X2xvbmcgY2MsIHN0cnVjdCBzb2NrZXQgKnNvLAogICAgIHN0cnVj dCB0aHJlYWQgKnRkKQogewogCWludCBlcnJvcjsKQEAgLTEyOTcsNyArMTMwMSw3IEBACiAJeHNi LT5zYl9jYyA9IHNiLT5zYl9jY2M7CiAJeHNiLT5zYl9oaXdhdCA9IHNiLT5zYl9oaXdhdDsKIAl4 c2ItPnNiX21iY250ID0gc2ItPnNiX21iY250OwotCXhzYi0+c2JfbWNudCA9IHNiLT5zYl9tY250 OwkKKwl4c2ItPnNiX21jbnQgPSBzYi0+c2JfbWNudDsKIAl4c2ItPnNiX2NjbnQgPSBzYi0+c2Jf Y2NudDsKIAl4c2ItPnNiX21ibWF4ID0gc2ItPnNiX21ibWF4OwogCXhzYi0+c2JfbG93YXQgPSBz Yi0+c2JfbG93YXQ7Cgo= --b1_85fc570f11f400cfa3e2cf3facea6f1a--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?85fc570f11f400cfa3e2cf3facea6f1a>