Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f89406ca authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'for-linus-4.11b-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull xen fix from Juergen Gross:
 "A minor fix for using the appropriate refcount_t instead of atomic_t"

* tag 'for-linus-4.11b-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
  drivers, xen: convert grant_map.users from atomic_t to refcount_t
parents 102ed8c3 c5f7c5a9
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@
#include <linux/spinlock.h>
#include <linux/slab.h>
#include <linux/highmem.h>
#include <linux/refcount.h>

#include <xen/xen.h>
#include <xen/grant_table.h>
@@ -86,7 +87,7 @@ struct grant_map {
	int index;
	int count;
	int flags;
	atomic_t users;
	refcount_t users;
	struct unmap_notify notify;
	struct ioctl_gntdev_grant_ref *grants;
	struct gnttab_map_grant_ref   *map_ops;
@@ -166,7 +167,7 @@ static struct grant_map *gntdev_alloc_map(struct gntdev_priv *priv, int count)

	add->index = 0;
	add->count = count;
	atomic_set(&add->users, 1);
	refcount_set(&add->users, 1);

	return add;

@@ -212,7 +213,7 @@ static void gntdev_put_map(struct gntdev_priv *priv, struct grant_map *map)
	if (!map)
		return;

	if (!atomic_dec_and_test(&map->users))
	if (!refcount_dec_and_test(&map->users))
		return;

	atomic_sub(map->count, &pages_mapped);
@@ -400,7 +401,7 @@ static void gntdev_vma_open(struct vm_area_struct *vma)
	struct grant_map *map = vma->vm_private_data;

	pr_debug("gntdev_vma_open %p\n", vma);
	atomic_inc(&map->users);
	refcount_inc(&map->users);
}

static void gntdev_vma_close(struct vm_area_struct *vma)
@@ -1004,7 +1005,7 @@ static int gntdev_mmap(struct file *flip, struct vm_area_struct *vma)
		goto unlock_out;
	}

	atomic_inc(&map->users);
	refcount_inc(&map->users);

	vma->vm_ops = &gntdev_vmops;