shkolnick-kun / bugurtos

Breaking backward compatibility since 2010!!!
GNU General Public License v3.0
129 stars 9 forks source link

Virtual interrupt priority inversion in kernel thread #20

Closed shkolnick-kun closed 8 years ago

shkolnick-kun commented 8 years ago

System call and scheduler virtual interrupts have the same priority level.

When scheduler virtual interrupt is processed and a process with pending system call is scheduled, then system call virtual interrupt is triggered.

If a system timer interrupt occurs in previous case then extra scheduler virtual interrupt is triggered, so the race condition between system call and extra scheduler virtual interrupts is possible.

This race condition may lead to wrong system call sequence when system call is done on wrong process.