A few weeks ago I downloaded the DVD-ISO of 12.0-Release, as it then was shown as the most current release on the "Download FreeBSD" page.
I installed it, with base source and ports tree installation options checked.
To make sure that security patches are applied, I recently ran freebsd-update according to Handbook Section 23.2 (freebsd-update fetch+install).
freebsd-update then warned me that there is a custom kernel active, preventing full update. Iirc I answered "no" to some prompt "Do you want to update anyway?" and rebuilt+installed GENERIC.
Then, after finishing the security updates, freebsd-update warned me about 12.0-R lifetime expiring very soon and advised to update to 12.1.
So, following the handbook instructions, I ran "freebsd-update -r 12.1-RELEASE upgrade", with GENERIC kernel active.
This was successful insofar that the system rebooted into 12.1 smoothly.
However, when I attempt to rebuild kernel (no matter whether custom or GENERIC), the system aborted build, complaining about some missing header file (apparently belonging to the em driver, filename was something like i_if_em.h).
I did not touch anything in /usr/src/... except adding my personally modified kernel configuration file.
Thus my gut feeling told me that freebsd-update botched something in the sources, rendering the upgraded system unable to build kernel.
So I decided to do fresh install from 12.1 USB image, and the resulting system was able to build kernel.
Did I do something wrong, or is it a freebsd-update bug?