freebsd-dev/sys/nfs
Brandon Bergren 98727c6cd1 Fix panic when using BOOTP to resolve root path.
When loading a direct-boot kernel, a temporary route is being installed,
the NFS handle is acquired, and the temporary route is removed again.

This was being done inside a net epoch, but since the krpc code is written
using blocking APIs, we can't actually do that, because sleeping is not
allowed during a net epoch.

Exit and reenter the epoch so we are only in the epoch when doing the
routing table manipulation.

Fixes panic when booting my RB800 over NFS (where the kernel is loaded
using RouterBOOT directly.)

Reviewed by:	melifaro
Sponsored by:	Tag1 Consulting, Inc.
Differential Revision:	https://reviews.freebsd.org/D29464
2021-03-28 14:02:40 -05:00
..
bootp_subr.c Fix panic when using BOOTP to resolve root path. 2021-03-28 14:02:40 -05:00
krpc_subr.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
krpc.h
nfs_diskless.c nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nfs_kdtrace.h nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nfs_lock.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
nfs_mountcommon.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
nfs_nfssvc.c nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nfsdiskless.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
nfsproto.h nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nfssvc.h Merge the pNFS server code from projects/pnfs-planb-server into head. 2018-06-12 19:36:32 +00:00
xdr_subs.h nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00