Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755482AbbGEIid (ORCPT ); Sun, 5 Jul 2015 04:38:33 -0400 Received: from mail-wg0-f46.google.com ([74.125.82.46]:36100 "EHLO mail-wg0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753106AbbGEIiW (ORCPT ); Sun, 5 Jul 2015 04:38:22 -0400 From: David Herrmann To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , daniel@zonque.org, tixxdz@opendz.org, Sergei Zviagintsev , David Herrmann Subject: [PATCH v2 2/6] kdbus: drop redundant KDBUS_MSG_MAX_ITEMS Date: Sat, 4 Jul 2015 13:22:47 +0200 Message-Id: <1436008967-18753-1-git-send-email-dh.herrmann@gmail.com> X-Mailer: git-send-email 2.4.5 In-Reply-To: <1435825714-3567-3-git-send-email-dh.herrmann@gmail.com> References: <1435825714-3567-3-git-send-email-dh.herrmann@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2435 Lines: 78 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 --- 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/