| 1822 | } |
| 1823 | |
| 1824 | U32 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 | |
| 1842 | U32 KProcess::prctl(U32 option, U32 arg2) { |
| 1843 | if (option == 15) { // PR_SET_NAME |
no test coverage detected