lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1436008967-18753-1-git-send-email-dh.herrmann@gmail.com>
Date:	Sat,  4 Jul 2015 13:22:47 +0200
From:	David Herrmann <dh.herrmann@...il.com>
To:	linux-kernel@...r.kernel.org
Cc:	Greg Kroah-Hartman <gregkh@...uxfoundation.org>, daniel@...que.org,
	tixxdz@...ndz.org, Sergei Zviagintsev <sergei@...v.net>,
	David Herrmann <dh.herrmann@...il.com>
Subject: [PATCH v2 2/6] kdbus: drop redundant KDBUS_MSG_MAX_ITEMS

We already limit the size of the message object, there's no reason to add
an arbitrary additional limit on the number of items. We don't do this for
other item-arrays, so lets stop restricting the messages in this way.

Signed-off-by: David Herrmann <dh.herrmann@...il.com>
---
v2:
 - drop redundant "n = 0" assignment
 - rename 'n' to 'n_res'

 ipc/kdbus/limits.h  |  3 ---
 ipc/kdbus/message.c | 12 ++++--------
 2 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/ipc/kdbus/limits.h b/ipc/kdbus/limits.h
index 6450f58..c54925a 100644
--- a/ipc/kdbus/limits.h
+++ b/ipc/kdbus/limits.h
@@ -19,9 +19,6 @@
 /* maximum size of message header and items */
 #define KDBUS_MSG_MAX_SIZE		SZ_8K
 
-/* maximum number of message items */
-#define KDBUS_MSG_MAX_ITEMS		128
-
 /* maximum number of memfd items per message */
 #define KDBUS_MSG_MAX_MEMFD_ITEMS	16
 
diff --git a/ipc/kdbus/message.c b/ipc/kdbus/message.c
index 066e816..e9da672 100644
--- a/ipc/kdbus/message.c
+++ b/ipc/kdbus/message.c
@@ -214,7 +214,7 @@ static int kdbus_msg_scan_items(struct kdbus_kmsg *kmsg,
 	struct kdbus_msg_resources *res = kmsg->res;
 	const struct kdbus_msg *msg = &kmsg->msg;
 	const struct kdbus_item *item;
-	size_t n, n_vecs, n_memfds;
+	size_t n_res, n_vecs, n_memfds;
 	bool has_bloom = false;
 	bool has_name = false;
 	bool has_fds = false;
@@ -243,9 +243,9 @@ static int kdbus_msg_scan_items(struct kdbus_kmsg *kmsg,
 		}
 	}
 
-	n = n_vecs + n_memfds;
-	if (n > 0) {
-		res->data = kcalloc(n, sizeof(*res->data), GFP_KERNEL);
+	n_res = n_vecs + n_memfds;
+	if (n_res > 0) {
+		res->data = kcalloc(n_res, sizeof(*res->data), GFP_KERNEL);
 		if (!res->data)
 			return -ENOMEM;
 	}
@@ -257,15 +257,11 @@ static int kdbus_msg_scan_items(struct kdbus_kmsg *kmsg,
 	}
 
 	/* import data payloads */
-	n = 0;
 	vec_size = 0;
 	KDBUS_ITEMS_FOREACH(item, msg->items, KDBUS_ITEMS_SIZE(msg, items)) {
 		size_t payload_size = KDBUS_ITEM_PAYLOAD_SIZE(item);
 		struct iovec *iov = kmsg->iov + kmsg->iov_count;
 
-		if (++n > KDBUS_MSG_MAX_ITEMS)
-			return -E2BIG;
-
 		switch (item->type) {
 		case KDBUS_ITEM_PAYLOAD_VEC: {
 			struct kdbus_msg_data *d = res->data + res->data_count;
-- 
2.4.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ