MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / memfd_create

Method memfd_create

source/kernel/kprocess.cpp:1824–1840  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1822}
1823
1824U32 KProcess::memfd_create(BString name, U32 flags) {
1825 std::shared_ptr<FsMemNode> node = std::make_shared<FsMemNode>(1, 1, name);
1826 FsMemOpenNode* openNode = new FsMemOpenNode(flags, node);
1827
1828 node->openNode = openNode;
1829
1830 std::shared_ptr<KObject> kobject = std::make_shared<KFile>(openNode);
1831
1832 U32 descriptorFlags = 0;
1833 if (flags & 1) { // MFD_CLOEXEC
1834 descriptorFlags = FD_CLOEXEC;
1835 }
1836 if (!(flags & 2)) { // MFD_ALLOW_SEALING
1837 openNode->addSeals(K_F_SEAL_SEAL);
1838 }
1839 return this->allocFileDescriptor(kobject, K_O_RDWR, descriptorFlags, -1, 0)->handle;
1840}
1841
1842U32 KProcess::prctl(U32 option, U32 arg2) {
1843 if (option == 15) { // PR_SET_NAME

Callers 1

syscall_memfd_createFunction · 0.80

Calls 2

allocFileDescriptorMethod · 0.95
addSealsMethod · 0.80

Tested by

no test coverage detected