如何从内核写入只读文件?

时间:2012-10-30 15:03:22

标签: linux linux-kernel kernel

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

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

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

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

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

我仍然需要这样做。

1 个答案:

答案 0 :(得分:0)

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

在这种情况下,如果您有-13,则会看到错误13,即EACCES,这意味着您无权写入该文件。