Yes, it'd curtail splice() usage quite heavily. Maybe too much.
But apparently we can't be trusted with the page cache…
Maybe the kernel using supervisor-read-only flags could be made to work, only issue then is what happens if something does in fact need to write…