Я пытаюсь использовать функцию filp_open из ядра, чтобы открыть файл в /proc/.../mynode. Я могу открыть его, когда я использую флаг O_RDONLY, но он не работает с O_RDWR или O_WRONLY; Infact его нарушает последовательность загрузки моего устройства.filp_open не работает с O_RDWR или O_WRONLY
Кто-нибудь знает, в чем проблема?
Код:
struct file* file_open(const char* path, int flags, int rights) {
struct file* filp = NULL;
mm_segment_t oldfs;
int err = 0;
oldfs = get_fs();
set_fs(get_ds());
filp = filp_open(path, flags, rights);
set_fs(oldfs);
if(IS_ERR(filp)) {
err = PTR_ERR(filp);
return NULL;
}
return filp;
}
Я называю этот метод следующим образом:
struct file *fp = NULL;
fp = file_open("/proc/.../mynode", O_WRONLY,0);