Commit c45674fb authored by Alexander Aring's avatar Alexander Aring Committed by David Teigland
Browse files

fs: dlm: change allocation limits



While running tcpkill I experienced invalid header length values while
receiving to check that a node doesn't try to send a invalid dlm message
we also check on applications minimum allocation limit. Also use
DEFAULT_BUFFER_SIZE as maximum allocation limit. The define
LOWCOMMS_MAX_TX_BUFFER_LEN is to calculate maximum buffer limits on
application layer, future midcomms layer will subtract their needs from
this define.

Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
parent 51746163
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1376,9 +1376,11 @@ void *dlm_lowcomms_get_buffer(int nodeid, int len, gfp_t allocation, char **ppc)
	struct writequeue_entry *e;
	int offset = 0;

	if (len > LOWCOMMS_MAX_TX_BUFFER_LEN) {
		BUILD_BUG_ON(PAGE_SIZE < LOWCOMMS_MAX_TX_BUFFER_LEN);
	if (len > DEFAULT_BUFFER_SIZE ||
	    len < sizeof(struct dlm_header)) {
		BUILD_BUG_ON(PAGE_SIZE < DEFAULT_BUFFER_SIZE);
		log_print("failed to allocate a buffer of size %d", len);
		WARN_ON(1);
		return NULL;
	}