0

我正在 2.6.22 内核中实现系统调用。在我的系统调用中,我获得了这样的文件描述符:

fd = sys_open(filename, O_WRONLY|O_CREAT, 0544);

但是,当文件名指向只读文件时,我得到 fd 的负数 (-13)。问题是我需要写入文件名,即使它是只读的或由另一个用户拥有。

所以我的问题是,如何从内核写入只读文件?

是的,我读过 linux 日志中的帖子说从内核写入文件是一个坏主意。

我仍然需要这样做。

4

1 回答 1

0

负数不是文件描述符,而是错误代码。具体来说,它将是errno.h错误编号之一的负数版本。

在这种情况下,-13您正在查看错误 13,这EACCES意味着您没有写入文件的权限。

于 2012-10-30T15:05:30.050 回答