gpt4 book ai didi

msgget 可以是恶意的吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:01:11 28 4
gpt4 key购买 nike

我最近遇到了这样一个关于msgget的问题。

while(1)
{
msqid = msgget(IPC_PRIVATE,IPC_CREAT);
if(msqid<0)
break;
printf("msqid=%d\n",msqid);
}

很快,它就消耗了内核中的所有msqid。

因为 msgget 是内核持久的,下一次,进程运行并立即退出 ENOSPC。

虽然配置 sysconf 来解决问题。但如果恶意代码继续运行,我应该一次又一次地重新配置。

在我看来,这是一种严重的泄漏,它会使其他进程缺少 msqid。

系统管理员如何避免这种情况?

最佳答案

所有 SysV IPC 接口(interface)(共享内存、信号量等)都有同样的问题,在许多其他问题中,最糟糕的是由于糟糕的设计导致的糟糕性能,其中每个操作都需要调用内核空间。如果可以,放弃这些接口(interface)并使用等效的 POSIX 替换(mq_* 用于消息队列)。

关于msgget 可以是恶意的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4285075/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com