are filesystems on linux just safer than the network subsystems or do filesystems just never expose any interface besides posix i/o so they have a much smaller and better-characterized attack surface?
Post
no wonder nobody does microkernels. what's the point of an isolation boundary
@julia is this why posix sux or am i missing more reasons. learning that posix is why filesystems are all boring and can't do inodes is radicalizing
fucking amazing that section 4.15.1.1 Data Races does not mention THE FUCKING PAGE CACHE
i don't understand how the page cache doesn't have a data race if a file write is not defined as an atomic operation
they just don't care
After a write() to a regular file has successfully returned:
Any successful read() from each byte position in the file that was modified by that write shall return the data specified by the write() for that position until such byte positions are again modified.
Any subsequent successful write() to the same byte position in the file shall overwrite that file data.
i'm not just getting stuck in the wording i also believed that a data race i.e. UB was supposed to result from cross-thread access to the same memory location without atomicity
An application contains a data race if it contains two conflicting actions in different threads, at least one of which is not atomic, and neither happens before the other. Any such data race results in undefined behavior.
cute that this condition fails to apply because write() only defines its behavior if a read() happens after
is it time to email the austin group
my god making an account on their site is scammy. this is the nature of posix
i'm writing an email and learning about write combining which is like if io_uring was good
and apparently page attribute tables let you direct CPU cache behavior per page which is even better if you also wield an omniscient knowledge of future I/O requirements via the magic of graph theory
i'm pretty sure i could defeat theodore ts'o. i can must and will defeat linus
specifically by cheating. idk if any of this will work without two independent cores
oh linus https://www.kernel.org/doc/html/latest/core-api/dma-api-howto.html
What memory is DMA’able?
The first piece of information you must know is what kernel memory can be used with the DMA mapping facilities. There has been an unwritten set of rules regarding this, and this text is an attempt to finally write them down.
Note that ARCH_DMA_MINALIGN is about DMA memory alignment constraints. You don’t need to worry about the architecture data alignment constraints (e.g. the alignment constraints about 64-bit objects).
it was so refreshing to realize the copious documentation in a friendly tone was never intended to make sense
@hipsterelectron *finally stops worrying about 64 bit alignments*