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

Commit 57e67900 authored by Pranith Kumar's avatar Pranith Kumar Committed by Shuah Khan
Browse files

memfd_test: Make it work on 32-bit systems



This test currently fails on 32-bit systems since we use u64 type to pass the
flags to fcntl.

This commit changes this to use 'unsigned int' type for flags to fcntl making it
work on 32-bit systems.

Signed-off-by: default avatarPranith Kumar <bobby.prani@gmail.com>
Reviewed-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
Signed-off-by: default avatarShuah Khan <shuahkh@osg.samsung.com>
parent 69e273c0
Loading
Loading
Loading
Loading
+16 −18
Original line number Diff line number Diff line
@@ -59,9 +59,9 @@ static void mfd_fail_new(const char *name, unsigned int flags)
	}
}

static __u64 mfd_assert_get_seals(int fd)
static unsigned int mfd_assert_get_seals(int fd)
{
	long r;
	int r;

	r = fcntl(fd, F_GET_SEALS);
	if (r < 0) {
@@ -69,50 +69,48 @@ static __u64 mfd_assert_get_seals(int fd)
		abort();
	}

	return r;
	return (unsigned int)r;
}

static void mfd_assert_has_seals(int fd, __u64 seals)
static void mfd_assert_has_seals(int fd, unsigned int seals)
{
	__u64 s;
	unsigned int s;

	s = mfd_assert_get_seals(fd);
	if (s != seals) {
		printf("%llu != %llu = GET_SEALS(%d)\n",
		       (unsigned long long)seals, (unsigned long long)s, fd);
		printf("%u != %u = GET_SEALS(%d)\n", seals, s, fd);
		abort();
	}
}

static void mfd_assert_add_seals(int fd, __u64 seals)
static void mfd_assert_add_seals(int fd, unsigned int seals)
{
	long r;
	__u64 s;
	int r;
	unsigned int s;

	s = mfd_assert_get_seals(fd);
	r = fcntl(fd, F_ADD_SEALS, seals);
	if (r < 0) {
		printf("ADD_SEALS(%d, %llu -> %llu) failed: %m\n",
		       fd, (unsigned long long)s, (unsigned long long)seals);
		printf("ADD_SEALS(%d, %u -> %u) failed: %m\n", fd, s, seals);
		abort();
	}
}

static void mfd_fail_add_seals(int fd, __u64 seals)
static void mfd_fail_add_seals(int fd, unsigned int seals)
{
	long r;
	__u64 s;
	int r;
	unsigned int s;

	r = fcntl(fd, F_GET_SEALS);
	if (r < 0)
		s = 0;
	else
		s = r;
		s = (unsigned int)r;

	r = fcntl(fd, F_ADD_SEALS, seals);
	if (r >= 0) {
		printf("ADD_SEALS(%d, %llu -> %llu) didn't fail as expected\n",
		       fd, (unsigned long long)s, (unsigned long long)seals);
		printf("ADD_SEALS(%d, %u -> %u) didn't fail as expected\n",
				fd, s, seals);
		abort();
	}
}