cregit-Linux how code gets into the kernel

Release 4.18 tools/testing/selftests/memfd/common.c

// SPDX-License-Identifier: GPL-2.0

#define _GNU_SOURCE

#define __EXPORTED_HEADERS__

#include <stdio.h>
#include <stdlib.h>
#include <linux/fcntl.h>
#include <linux/memfd.h>
#include <unistd.h>
#include <sys/syscall.h>

#include "common.h"


int hugetlbfs_test = 0;

/*
 * Copied from mlock2-tests.c
 */

unsigned long default_huge_page_size(void) { unsigned long hps = 0; char *line = NULL; size_t linelen = 0; FILE *f = fopen("/proc/meminfo", "r"); if (!f) return 0; while (getline(&line, &linelen, f) > 0) { if (sscanf(line, "Hugepagesize: %lu kB", &hps) == 1) { hps <<= 10; break; } } free(line); fclose(f); return hps; }

Contributors

PersonTokensPropCommitsCommitProp
Marc-André Lureau95100.00%1100.00%
Total95100.00%1100.00%


int sys_memfd_create(const char *name, unsigned int flags) { if (hugetlbfs_test) flags |= MFD_HUGETLB; return syscall(__NR_memfd_create, name, flags); }

Contributors

PersonTokensPropCommitsCommitProp
Marc-André Lureau32100.00%1100.00%
Total32100.00%1100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Marc-André Lureau161100.00%1100.00%
Total161100.00%1100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.