LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Nadav Amit <namit@vmware.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Xavier Deguillard <xdeguillard@vmware.com>,
	<linux-kernel@vger.kernel.org>, Arnd Bergmann <arnd@arndb.de>,
	Nadav Amit <namit@vmware.com>, <stable@vger.kernel.org>,
	Nadav Amit <nadav.amit@gmail.com>
Subject: [PATCH v2 2/7] vmw_balloon: do not use 2MB without batching
Date: Wed, 13 Jun 2018 06:54:07 -0700	[thread overview]
Message-ID: <20180613135412.81660-3-namit@vmware.com> (raw)
In-Reply-To: <20180613135412.81660-1-namit@vmware.com>

If the hypervisor sets 2MB batching is on, while batching is cleared,
the balloon code breaks. In this case the legacy mechanism is used with
2MB page. The VM would report a 2MB page is ballooned, and the
hypervisor would only take the first 4KB.

While the hypervisor should not report such settings, make the code more
robust by not enabling 2MB support without batching.

Fixes: 365bd7ef7ec8e ("VMware balloon: Support 2m page ballooning.")

Cc: stable@vger.kernel.org
Reviewed-by: Xavier Deguillard <xdeguillard@vmware.com>
Signed-off-by: Nadav Amit <nadav.amit@gmail.com>
---
 drivers/misc/vmw_balloon.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/vmw_balloon.c b/drivers/misc/vmw_balloon.c
index 28e77ab1e136..60ab83d3d0ef 100644
--- a/drivers/misc/vmw_balloon.c
+++ b/drivers/misc/vmw_balloon.c
@@ -341,7 +341,13 @@ static bool vmballoon_send_start(struct vmballoon *b, unsigned long req_caps)
 		success = false;
 	}
 
-	if (b->capabilities & VMW_BALLOON_BATCHED_2M_CMDS)
+	/*
+	 * 2MB pages are only supported with batching. If batching is for some
+	 * reason disabled, do not use 2MB pages, since otherwise the legacy
+	 * mechanism is used with 2MB pages, causing a failure.
+	 */
+	if ((b->capabilities & VMW_BALLOON_BATCHED_2M_CMDS) &&
+	    (b->capabilities & VMW_BALLOON_BATCHED_CMDS))
 		b->supported_page_sizes = 2;
 	else
 		b->supported_page_sizes = 1;
-- 
2.17.0


  parent reply	other threads:[~2018-06-13 21:09 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-13 13:54 [PATCH v2 0/7] vmw_balloon: addressing bugs and issues Nadav Amit
2018-06-13 13:54 ` [PATCH v2 1/7] vmw_balloon: fix inflation of 64-bit GFNs Nadav Amit
2018-06-14  5:23   ` Greg Kroah-Hartman
2018-06-14  5:41     ` Nadav Amit
2018-06-14  5:50       ` Greg Kroah-Hartman
2018-06-14  5:56         ` Nadav Amit
2018-06-13 13:54 ` Nadav Amit [this message]
2018-06-13 13:54 ` [PATCH v2 3/7] vmw_balloon: VMCI_DOORBELL_SET does not check status Nadav Amit
2018-06-13 13:54 ` [PATCH v2 4/7] vmw_balloon: fix VMCI use when balloon built into kernel Nadav Amit
2018-06-13 13:54 ` [PATCH v2 5/7] vmw_balloon: remove inflation rate limiting Nadav Amit
2018-06-13 13:54 ` [PATCH v2 6/7] vmw_balloon: update copyright message Nadav Amit
2018-06-14  5:24   ` Greg Kroah-Hartman
2018-06-14  5:33     ` Nadav Amit
2018-06-14  5:48       ` Greg Kroah-Hartman
2018-06-15 20:35       ` valdis.kletnieks
2018-06-15 20:38         ` Nadav Amit
2018-06-16  8:03           ` Greg Kroah-Hartman
2018-06-13 13:54 ` [PATCH v2 7/7] vmw_balloon: update maintainers list Nadav Amit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180613135412.81660-3-namit@vmware.com \
    --to=namit@vmware.com \
    --cc=arnd@arndb.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nadav.amit@gmail.com \
    --cc=stable@vger.kernel.org \
    --cc=xdeguillard@vmware.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).