@@ -842,7 +842,6 @@ static int virtio_balloon_register_shrinker(struct virtio_balloon *vb)
static int virtballoon_probe(struct virtio_device *vdev)
{
struct virtio_balloon *vb;
- __u32 poison_val;
int err;
if (!vdev->config->get) {
@@ -909,11 +908,19 @@ static int virtballoon_probe(struct virtio_device *vdev)
VIRTIO_BALLOON_CMD_ID_STOP);
spin_lock_init(&vb->free_page_list_lock);
INIT_LIST_HEAD(&vb->free_page_list);
- if (virtio_has_feature(vdev, VIRTIO_BALLOON_F_PAGE_POISON)) {
- memset(&poison_val, PAGE_POISON, sizeof(poison_val));
- virtio_cwrite(vb->vdev, struct virtio_balloon_config,
- poison_val, &poison_val);
- }
+ }
+ if (virtio_has_feature(vdev, VIRTIO_BALLOON_F_PAGE_POISON)) {
+ __u32 poison_val = 0;
+
+#if !defined(CONFIG_PAGE_POISONING_NO_SANITY)
+ /*
+ * Let hypervisor know that we are expecting a specific
+ * value to be written back in unused pages.
+ */
+ memset(&poison_val, PAGE_POISON, sizeof(poison_val));
+#endif
+ virtio_cwrite(vb->vdev, struct virtio_balloon_config,
+ poison_val, &poison_val);
}
/*
* We continue to use VIRTIO_BALLOON_F_DEFLATE_ON_OOM to decide if a
@@ -250,7 +250,7 @@ void __page_reporting_free_stats(struct zone *zone)
void page_reporting_shutdown(struct page_reporting_dev_info *phdev)
{
- mutex_lock(page_reporting_mutex);
+ mutex_lock(&page_reporting_mutex);
if (rcu_access_pointer(ph_dev_info) == phdev) {
/* Disable page reporting notification */
@@ -266,7 +266,7 @@ void page_reporting_shutdown(struct page_reporting_dev_info *phdev)
phdev->sg = NULL;
}
- mutex_unlock(page_reporting_mutex);
+ mutex_unlock(&page_reporting_mutex);
}
EXPORT_SYMBOL_GPL(page_reporting_shutdown);
@@ -275,7 +275,7 @@ int page_reporting_startup(struct page_reporting_dev_info *phdev)
struct zone *zone;
int err = 0;
- mutex_lock(page_reporting_mutex);
+ mutex_lock(&page_reporting_mutex);
/* nothing to do if already in use */
if (rcu_access_pointer(ph_dev_info)) {
@@ -305,7 +305,7 @@ int page_reporting_startup(struct page_reporting_dev_info *phdev)
/* enable page reporting notification */
static_key_slow_inc(&page_reporting_notify_enabled);
err_out:
- mutex_unlock(page_reporting_mutex);
+ mutex_unlock(&page_reporting_mutex);
return err;
}