Time-of-check to time-of-use: Difference between revisions

Content deleted Content added
No edit summary
Line 141:
| isbn=978-0-596-10046-9}}</ref>
 
In the context of file system TOCTOU race conditions, the fundamental challenge is ensuring that the file system cannot be changed between two system calls. In 2004, an impossibility result was published, showing that there was no portable, deterministic technique for avoiding TOCTOU race conditions when using the UNIXUnix <code>access</code> and <code>open</code> filesystem calls.<ref>{{cite journal
| last1=Dean
| first1=Drew
Line 170:
| url=https://dominoweb.draco.res.ibm.com/c4028924309762d18525746e004a4feb.html}}</ref>
 
An alternative solution proposed in the research community is for UNIXUnix systems to adopt [[transaction processing|transaction]]s in the file system or the OS kernel. Transactions provide a [[concurrency control]] abstraction for the OS, and can be used to prevent TOCTOU races. While no production UNIXUnix kernel has yet adopted transactions, proof-of-concept research prototypes have been developed for Linux, including the Valor file system<ref>{{cite web
| last1=Spillane
| first1=Richard P.