https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252582
Bug ID: 252582
Summary: Linuxulator: epoll create drop user data
Product: Base System
Version: CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: kern
Assignee: [email protected]
Reporter: [email protected]
Created attachment 221464
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=221464&action=edit
patch for epoll create
In function epoll_create_common calls epoll_fd_install when kern_kqueue
success,
I guess this is to initialize the proc emuldata space.
But when epoll has allocated a descriptor equal to EPOLL_DEF_SZ, the above
action will clear the user data of fd EPOLL_DEF_SZ.This should be an error.
static int
epoll_create_common(struct thread *td, int flags)
{
int error;
error = kern_kqueue(td, flags, NULL);
if (error != 0)
return (error);
epoll_fd_install(td, EPOLL_DEF_SZ, 0);
return (0);
}
In my scenario, the function epoll_fd_install will cause the electron gpu
thread consumes a lot of cpu resources because the returned fd cannot be
processed correctly.
My patch is in the attachment.
--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"