Commit 8e929a82 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman
Browse files

greybus: core: add lower-limit for host-device buffers



Make sure we never end up with a host device with maximum buffer size
smaller than the shortest Greybus message.

Signed-off-by: default avatarJohan Hovold <johan@hovoldconsulting.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent c38cf10b
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -188,6 +188,11 @@ struct greybus_host_device *greybus_create_hd(struct greybus_host_driver *driver
		return NULL;
	}

	if (buffer_size_max < GB_OPERATION_MESSAGE_SIZE_MIN) {
		dev_err(parent, "greybus host-device buffers too small\n");
		return NULL;
	}

	/*
	 * Make sure to never allocate messages larger than what the Greybus
	 * protocol supports.
+1 −0
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ struct gb_operation_msg_hdr {
	__u8	pad[2];		/* must be zero (ignore when read) */
} __aligned(sizeof(u64));

#define GB_OPERATION_MESSAGE_SIZE_MIN	sizeof(struct gb_operation_msg_hdr)
#define GB_OPERATION_MESSAGE_SIZE_MAX	U16_MAX

/*