Skip to content

Commit

Permalink
selftests/mm: remove unused pkey helpers
Browse files Browse the repository at this point in the history
Commit 5f23f6d ("x86/pkeys: Add self-tests") introduced a
number of helpers and functions that don't seem to have ever been
used. Let's remove them.

Link: https://lkml.kernel.org/r/20241209095019.1732120-7-kevin.brodsky@arm.com
Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: Aruna Ramakrishna <aruna.ramakrishna@oracle.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Joey Gouly <joey.gouly@arm.com>
Cc: Keith Lucas <keith.lucas@oracle.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
  • Loading branch information
Kevin Brodsky authored and Andrew Morton committed Jan 14, 2025
1 parent 4603618 commit 31fdc96
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 68 deletions.
34 changes: 0 additions & 34 deletions tools/testing/selftests/mm/pkey-helpers.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,7 @@
#ifndef DEBUG_LEVEL
#define DEBUG_LEVEL 0
#endif
#define DPRINT_IN_SIGNAL_BUF_SIZE 4096
extern int dprint_in_signal;
extern char dprint_in_signal_buffer[DPRINT_IN_SIGNAL_BUF_SIZE];

extern int test_nr;
extern int iteration_nr;
Expand Down Expand Up @@ -171,38 +169,6 @@ static inline void write_pkey_reg(u64 pkey_reg)
pkey_reg, __read_pkey_reg());
}

/*
* These are technically racy. since something could
* change PKEY register between the read and the write.
*/
static inline void __pkey_access_allow(int pkey, int do_allow)
{
u64 pkey_reg = read_pkey_reg();
int bit = pkey * 2;

if (do_allow)
pkey_reg &= (1<<bit);
else
pkey_reg |= (1<<bit);

dprintf4("pkey_reg now: %016llx\n", read_pkey_reg());
write_pkey_reg(pkey_reg);
}

static inline void __pkey_write_allow(int pkey, int do_allow_write)
{
u64 pkey_reg = read_pkey_reg();
int bit = pkey * 2 + 1;

if (do_allow_write)
pkey_reg &= (1<<bit);
else
pkey_reg |= (1<<bit);

write_pkey_reg(pkey_reg);
dprintf4("pkey_reg now: %016llx\n", read_pkey_reg());
}

#define ALIGN_UP(x, align_to) (((x) + ((align_to)-1)) & ~((align_to)-1))
#define ALIGN_DOWN(x, align_to) ((x) & ~((align_to)-1))
#define ALIGN_PTR_UP(p, ptr_align_to) \
Expand Down
34 changes: 0 additions & 34 deletions tools/testing/selftests/mm/protection_keys.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ int test_nr;

u64 shadow_pkey_reg;
int dprint_in_signal;
char dprint_in_signal_buffer[DPRINT_IN_SIGNAL_BUF_SIZE];

void cat_into_file(char *str, char *file)
{
Expand Down Expand Up @@ -397,12 +396,6 @@ void signal_handler(int signum, siginfo_t *si, void *vucontext)
dprint_in_signal = 0;
}

int wait_all_children(void)
{
int status;
return waitpid(-1, &status, 0);
}

void sig_chld(int x)
{
dprint_in_signal = 1;
Expand Down Expand Up @@ -817,39 +810,12 @@ void *malloc_pkey_hugetlb(long size, int prot, u16 pkey)
return ptr;
}

void *malloc_pkey_mmap_dax(long size, int prot, u16 pkey)
{
void *ptr;
int fd;

dprintf1("doing %s(size=%ld, prot=0x%x, pkey=%d)\n", __func__,
size, prot, pkey);
pkey_assert(pkey < NR_PKEYS);
fd = open("/dax/foo", O_RDWR);
pkey_assert(fd >= 0);

ptr = mmap(0, size, prot, MAP_SHARED, fd, 0);
pkey_assert(ptr != (void *)-1);

mprotect_pkey(ptr, size, prot, pkey);

record_pkey_malloc(ptr, size, prot);

dprintf1("mmap()'d for pkey %d @ %p\n", pkey, ptr);
close(fd);
return ptr;
}

void *(*pkey_malloc[])(long size, int prot, u16 pkey) = {

malloc_pkey_with_mprotect,
malloc_pkey_with_mprotect_subpage,
malloc_pkey_anon_huge,
malloc_pkey_hugetlb
/* can not do direct with the pkey_mprotect() API:
malloc_pkey_mmap_direct,
malloc_pkey_mmap_dax,
*/
};

void *malloc_pkey(long size, int prot, u16 pkey)
Expand Down

0 comments on commit 31fdc96

Please sign in to comment.