1
/proc/.../myode에서 파일을 여는 데 커널 내에서 filp_open 함수를 사용하려고합니다. O_RDONLY 플래그를 사용할 때 열 수 있지만 O_RDWR 또는 O_WRONLY와 함께 작동하지 않습니다. 실제로 내 장치의 부팅 순서가 깨졌습니다.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);