The Linux kernel does have built-in fault tolerance against single event upsets or SEUs, but it doesn't cover "most problems". It is only implemented in a specific FPGA driver.
In an email chain on the Linux Kernel Mailing List, found here: < it appears that SEU tolerance was added to the kernel a few years ago, but only for Zynq FPGA. From what I can gather, a block of code (seen below) was added to drivers/fpga/zynq-fpga.c that switches from PCAP to ICAP. One of the usecases Mike Looijmans mentioned of ICAP is its resistance to SEUs via "self-repairing logic".
/* Release 'PR' control back to the ICAP */
zynq_fpga_write(priv, CTRL_OFFSET,
zynq_fpga_read(priv, CTRL_OFFSET) & ~CTRL_PCAP_PR_MASK);
I understand the mailing list contents better than the code, but I will do my best to clarify on anything that confuses.