1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-12 09:58:36 +00:00
freebsd/usr.sbin
Chuck Tuffli 91064841d7 bhyve: Fix NVMe iovec construction for large IOs
The UEFI driver included with Rocky Linux 8.4 uncovered an existing bug
in the NVMe emulation's construction of iovec's.

By default, NVMe data transfer operations use a scatter-gather list in
which all entries point to a fixed size memory region. For example, if
the Memory Page Size is 4KiB, a 2MiB IO requires 512 entries. Lists
themselves are also fixed size (default is 512 entries).

Because the list size is fixed, the last entry is special. If the IO
requires more than 512 entries, the last entry in the list contains the
address of the next list of entries. But if the IO requires exactly 512
entries, the last entry points to data.

The NVMe emulation missed this logic and unconditionally treated the
last entry as a pointer to the next list. Fix is to check if the
remaining data is greater than the page size before using the last entry
as a pointer to the next list.

PR:		256422
Reported by:	dave@syix.com
Tested by:	jason@tubnor.net
MFC after:	5 days
Relnotes:	yes
Reviewed by:	imp, grehan
Differential Revision:	https://reviews.freebsd.org/D30897
2021-06-27 15:14:52 -07:00
..
ac Add some HISTORY sections to manpages 2020-02-19 12:49:49 +00:00
accton General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
acpi Print DeviceHandle and PhysicalId in hex. 2021-02-05 16:15:53 -05:00
adduser adduser: allow standard IFS characters in passwords 2020-04-05 19:25:46 +00:00
apm DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
apmd Stop linking to libl by specifying we do not need yywrap 2019-09-10 07:23:01 +00:00
arp arp(8): fixing the deletion failure of IEEE1394 associated addresses 2021-04-13 22:59:58 +00:00
audit DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
auditd Move OpenBSM to CONFS 2018-08-11 13:23:09 +00:00
auditdistd auditdistd: Remove useless linking with libl 2020-03-24 07:08:39 +00:00
auditreduce DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
authpf authpf: Start using libpfctl 2021-05-07 22:13:31 +02:00
autofs autofs: best effort to maintain mounttab and mountdtab 2021-03-12 06:41:55 -09:00
bhyve bhyve: Fix NVMe iovec construction for large IOs 2021-06-27 15:14:52 -07:00
bhyvectl bhyve/snapshot: provide a way to send other messages/data to bhyve 2021-05-12 17:20:15 -08:00
bhyveload bhyveload(8): Implement loader_callbacks::diskwrite 2020-10-07 20:31:13 +00:00
binmiscctl binmiscctl: Avoid segfault with "binmiscctl add" and no extra params 2021-02-08 09:20:38 -05:00
blacklistctl DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
blacklistd Move blacklistd.conf to usr.sbin/blacklistd/ 2018-07-31 16:39:38 +00:00
bluetooth iwmbtfw(8): Improve Intel 7260/7265 adaptors handling 2021-05-31 22:32:08 +03:00
boot0cfg Revert r362466 2020-06-22 07:46:24 +00:00
bootparamd bootparamd: Add missing __unused mark. 2021-01-03 00:40:34 +09:00
bsdconfig bsdconfig: add a new mirror in Bulgaria 2021-06-17 21:07:37 +08:00
bsdinstall bsdinstall: Avoid double-mounting /dev 2021-06-23 21:24:53 +00:00
bsnmpd pkgbase: Put the mibs and defs in the bnsmp package 2021-06-19 17:50:03 +02:00
btxld Explicitly ignore return value from remove. We wouldn't do anything 2017-12-28 05:33:19 +00:00
camdd camdd(8): Fix the man page date 2020-12-19 13:17:25 +00:00
cdcontrol DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
certctl secure/caroot, certctl: Rename secure/caroot/blacklisted 2021-06-18 13:38:07 +01:00
chkgrp various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
chown fts_read: Handle error from a NULL return better. 2020-12-08 23:38:26 +00:00
chroot Chroot first appeared in 4.3-Reno, not in 4.4 in the BSD world, 2020-06-26 22:23:15 +00:00
ckdist fts_read: Handle error from a NULL return better. 2020-12-08 23:38:26 +00:00
clear_locks pkgbase: Create a FreeBSD-nfs package 2021-06-19 17:49:50 +02:00
config config(8): Remove obsolete 'config' directive. 2021-06-17 15:17:18 -06:00
cpucontrol cpucontrol: fix extended signature matching code to avoid fallthough 2021-06-14 17:34:07 -04:00
crashinfo crashinfo: Add references to the gdb port/package 2020-12-02 19:58:50 +00:00
cron cron: consume blanks in system crontabs before options 2021-03-03 23:23:31 -08:00
crunch Lift scope of buf[] to make it extend to a potential access via *basename 2020-12-10 09:31:05 +00:00
ctladm pkgbase: Move ctld/ctladm to iscsi package 2021-06-19 17:49:57 +02:00
ctld pkgbase: Move ctld/ctladm to iscsi package 2021-06-19 17:49:57 +02:00
cxgbetool cxgbetool(8): add a 'clip' subcommand to deal with the CLIP table. 2021-05-23 16:28:31 -07:00
daemon daemon: add some basic tests 2021-05-03 09:55:40 -06:00
dconschat dconschat: Remove support for FreeBSD 4.x and earlier. 2021-04-20 15:51:31 -06:00
devctl Add freeze/thaw description to devctl(8) 2021-06-01 12:33:12 +08:00
devinfo Fix devinfo typo. 2021-01-05 14:56:23 -05:00
diskinfo Make "diskinfo -i" also test 1MB reads. 2020-12-10 10:23:18 +00:00
dumpcis Regularize my copyright notice 2019-12-04 16:56:11 +00:00
editmap DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
edquota edquota(8): Cleanup to make it WARNS=6 clean. 2020-08-17 05:57:22 +00:00
efibootmgr efibootmgr: Check for efi supported after parsing args 2021-02-11 16:09:51 -07:00
efidp Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
efivar efivar: use bool for booleans 2021-04-09 16:36:44 -06:00
etcupdate secure/caroot, certctl: Rename secure/caroot/blacklisted 2021-06-18 13:38:07 +01:00
extattr vfs_extattr: Allow extattr names up to the full max 2020-05-14 03:01:23 +00:00
extattrctl Fix a few mandoc issues 2020-10-09 14:03:45 +00:00
fdcontrol Tag 'a' case as one we're intentionally falling through to 2018-01-05 07:28:48 +00:00
fdformat Add example usage for formatting a floppy disk. Adding a more self 2020-05-25 07:18:47 +00:00
fdread various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
fdwrite SPDX: use the Beerware identifier. 2017-11-30 20:33:45 +00:00
fifolog fifolog: Rename yyparse() to getdate_yyparse(). 2021-06-07 06:31:50 +00:00
flowctl various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
freebsd-update freebsd-update: improve mandoc db generation 2021-04-05 13:23:37 -04:00
fstyp fstyp(8): define HAVE_ZFS macro when built with zfs 2021-05-14 13:00:24 -08:00
ftp-proxy (t)ftp-proxy: use libpfctl 2021-04-10 11:16:02 +02:00
fwcontrol fwcontrol: Remove support for FreeBSD 4.x 2021-04-20 15:51:31 -06:00
getfmac various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
getpmac various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
gpioctl Provide userland notification of gpio pin changes ("userland gpio interrupts"). 2020-12-12 18:34:15 +00:00
gssd Remove the -o option from gssd(8). 2020-04-10 23:10:28 +00:00
gstat gstat(8): Bump .Dd 2021-01-06 19:04:09 +01:00
hyperv DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
i2c i2c(8): Add interpreted mode for batch/scripted i2c operations 2021-05-19 18:56:59 +00:00
ifmcstat bits is never null when we call ot. Add an assert to that effect and 2018-01-05 07:28:58 +00:00
inetd inetd.conf: Wordsmith recommendation 2021-03-18 15:17:32 +01:00
iostat Fix formatting for tps values between 99.95 and 99.99; previously 2020-02-21 20:57:32 +00:00
iovctl Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
ip6addrctl pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
ipfwpcap Buildfix for GCC after r334277. 2018-05-28 09:41:44 +00:00
iscsid iscsid(8): fix memory leak by freeing the 'addr' 2020-12-29 14:53:06 +00:00
jail jail: Don't allow substitution of valueless jail parameters. 2021-06-18 09:44:37 -07:00
jexec various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
jls Bugfix to not hide jailparam flags, which for example changes the output 2020-12-15 20:56:35 +00:00
kbdcontrol Stop linking to libl by specifying we do not need yywrap 2019-09-10 07:26:38 +00:00
kbdmap kbdmap: allow INDEX.keymaps to provide the dialog title 2019-12-11 17:19:36 +00:00
keyserv keyserv(8): unifdef out __FreeBSD__ and KEYSERV_RANDOM 2019-12-13 04:03:05 +00:00
kldxref kldxref: do not error out if specified path is not directory, for -d mode 2021-05-20 22:40:01 +03:00
lastlogin A single comma was missing to separate the "see also" items in 2018-10-20 17:22:04 +00:00
lpr sys/*/conf/*, docs: fix links to handbook 2021-05-20 09:27:10 +01:00
lptcontrol various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
mailstats DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mailwrapper Make use of the getlocalbase() function for run-time adjustment of the 2020-11-18 20:00:55 +00:00
makefs makefs: Cast daddr_t to off_t before multiplication 2021-06-15 01:22:04 +01:00
makemap DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
manctl spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
memcontrol various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
mergemaster secure/caroot, certctl: Rename secure/caroot/blacklisted 2021-06-18 13:38:07 +01:00
mfiutil Make mfiutil show progress print out the elapsed time estimate in a 2018-10-13 02:21:23 +00:00
mixer mixer: call the cleanup function in a test 2020-02-06 14:31:29 +00:00
mld6query Remove the USE_RFC2292BIS option and reap dead code 2019-07-22 20:11:33 +00:00
mlx5tool Fix a few mandoc issues 2020-10-09 19:12:44 +00:00
mlxcontrol various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
mount_smbfs DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mountd mountd(8): generate a syslog message when the "V4:" line is missing 2021-03-08 16:08:02 -08:00
moused moused(8): Fix a few mandoc warnings 2020-11-20 17:04:49 +00:00
mpsutil mpsutil: extend show adapter information, add NCQ control 2021-05-07 15:22:22 +03:00
mptable various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
mptutil mptutil: emit a warning on big-endian architectures 2019-07-22 17:25:35 +00:00
mtest mtest: build with WARNS=3 2018-05-19 20:57:22 +00:00
ndp Fix arp/ndp deletion broken by 2fe5a79425. 2021-02-19 21:17:17 +00:00
newsyslog periodic: add support for .xz and .zcat compressed logs 2021-06-02 17:28:28 +01:00
nfscbd pkgbase: Create a FreeBSD-nfs package 2021-06-19 17:49:50 +02:00
nfsd pkgbase: Create a FreeBSD-nfs package 2021-06-19 17:49:50 +02:00
nfsdumpstate pkgbase: Create a FreeBSD-nfs package 2021-06-19 17:49:50 +02:00
nfsrevoke pkgbase: Create a FreeBSD-nfs package 2021-06-19 17:49:50 +02:00
nfsuserd pkgbase: Create a FreeBSD-nfs package 2021-06-19 17:49:50 +02:00
ngctl build: remove LIBPTHREAD/LIBTHR build options 2021-01-22 12:33:27 -06:00
nghook DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
nmtree Allow bootstrapping mtree on Linux systems 2020-08-03 18:08:10 +00:00
nologin Revert 363598 2020-08-17 10:25:02 +00:00
nscd nscd: does not warn about invalid values what parsing config file 2020-07-11 19:44:12 +00:00
ntp Disable stack gap for ntpd during build. 2021-05-21 15:33:06 +02:00
nvram [PowerPC] De-giant powermac_nvram, update documentation 2020-06-19 18:36:10 +00:00
ofwdump [PowerPC] Allow traversal of oversize OF properties. 2020-11-13 16:49:41 +00:00
pciconf pciconf: Fix up pciconf -lc output 2021-06-01 10:55:44 -05:00
periodic periodic: by default, skip 221.backup-gpart in jails 2021-06-18 08:36:09 -06:00
pkg pkg(7): replace usage of sbuf(9) with open_memstream(3) 2021-04-29 06:41:59 +02:00
pmc libpmc: eliminate pmc_pmu_stat_mode() 2021-05-31 17:39:05 -03:00
pmcannotate Teach pmcannotate about $TMPDIR and _PATH_TMP 2018-05-18 14:14:04 +00:00
pmccontrol pmccontrol: improve -L with pmu-events 2021-05-31 17:39:05 -03:00
pmcstat pmcstat: fix the usage message for -t 2021-04-21 17:44:52 -03:00
pmcstudy Fix a few mandoc issues 2020-10-09 14:03:45 +00:00
pnfsdscopymr pkgbase: Create a FreeBSD-nfs package 2021-06-19 17:49:50 +02:00
pnfsdsfile pkgbase: Create a FreeBSD-nfs package 2021-06-19 17:49:50 +02:00
pnfsdskill pkgbase: Create a FreeBSD-nfs package 2021-06-19 17:49:50 +02:00
pnpinfo DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
portsnap Now that the portsnap buildbox is generating the raw bits for INDEX-14, 2021-01-28 23:26:14 -08:00
powerd powerd.8: Improve style & fix typos 2020-03-03 13:25:08 +00:00
ppp sys/*/conf/*, docs: fix links to handbook 2021-05-20 09:27:10 +01:00
pppctl pkgbase: Put ppp in it's own package 2021-01-04 16:19:36 +01:00
praliases DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
praudit usr.sbin/praudit: Fix tests after 5619d49e07 2021-02-03 16:02:46 +00:00
prometheus_sysctl_exporter DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
pstat pstat(8): improve the Size header width after r358181 2020-06-23 18:19:22 +00:00
pw pw(8): use openmemstream instead of sbuf(9) 2021-04-27 05:09:07 +02:00
pwd_mkdb Fix bootstrapping of pwd_mkdb after r364049 2020-08-11 16:46:38 +00:00
pwm usr.sbin/pwm/pwm add support for flags 2021-03-11 09:57:56 +01:00
quot Move the pointers stored in the superblock into a separate 2020-06-19 01:02:53 +00:00
quotaon General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
rarpd SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
repquota General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
rip6query General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
rmt tag /etc/rmt symlink with pkgbase package 2020-02-12 17:30:09 +00:00
route6d Use the right variable when updating interface routes. 2018-08-08 20:15:40 +00:00
rpc.lockd rpc.lockd: Use libc strnlen() instead of reimplementing it 2021-06-23 10:06:57 -04:00
rpc.statd Add and document options to allow rpc.lockd and rpc.statd to run in the 2019-11-22 16:53:30 +00:00
rpc.tlsclntd nfs-over-tls: add user space daemons rpc.tlsclntd and rpc.tlsservd 2021-02-18 14:15:03 -08:00
rpc.tlsservd nfs-over-tls: add user space daemons rpc.tlsclntd and rpc.tlsservd 2021-02-18 14:15:03 -08:00
rpc.umntall pkgbase: Create a FreeBSD-nfs package 2021-06-19 17:49:50 +02:00
rpc.yppasswdd yp*: fix -fno-common build 2020-04-06 23:16:05 +00:00
rpc.ypupdated yp*: fix -fno-common build 2020-04-06 23:16:05 +00:00
rpc.ypxfrd yp*: fix -fno-common build 2020-04-06 23:16:05 +00:00
rpcbind Update Makefile.depend files 2019-12-11 17:37:53 +00:00
rrenumd Fix build with recent byacc. 2020-06-24 02:08:08 +00:00
rtadvctl usr.sbin/rtadvctl: Remove support for FreeBSD 9.x. 2021-01-01 16:06:08 -08:00
rtadvd Remove obsolete compatibility code from rtadvd. 2019-07-17 16:50:53 +00:00
rtprio various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
rtsold rtsold: Fix validation of RDNSS options 2021-03-21 14:19:42 -04:00
rwhod Remove reference to nlist(3) missed in SCCS revision 5.26 by mckusick 2020-07-24 16:58:13 +00:00
sa Add some HISTORY sections to manpages 2020-02-19 12:49:49 +00:00
sendmail Merge sendmail 8.16.1 to HEAD: See contrib/sendmail/RELEASE_NOTES for details 2020-07-15 18:28:54 +00:00
service service(8): use an environment more consistent with init(8) 2021-03-03 12:25:11 -06:00
services_mkdb usr.sbin/services_mkdb: plug memory leak when line was blank. 2021-03-30 15:21:37 -07:00
sesutil Fix misplaced voltages/temperatures labels in 'sesutil show'. 2020-06-30 16:49:43 +00:00
setfib General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
setfmac fts_read: Handle error from a NULL return better. 2020-12-08 23:38:26 +00:00
setpmac various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
smbmsg various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
snapinfo various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
spi Clean up spi.8 2020-08-21 09:48:00 +00:00
spkrtest various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
spray spray: fix the spelling in an output string 2018-03-05 16:13:29 +00:00
syslogd syslogd: fix WITHOUT_INET builds 2021-06-12 22:25:35 -06:00
sysrc Update the spelling of my name 2019-04-22 17:52:46 +00:00
tcpdchk DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
tcpdmatch DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
tcpdrop Use uintptr_t alone when assigning to kvaddr_t variables. 2018-07-10 13:03:06 +00:00
tcpdump Remove useless linking to libl 2020-03-23 14:44:23 +00:00
tests
traceroute Update Makefile.depend files 2019-12-11 17:37:53 +00:00
traceroute6 traceroute6: Properly calculate UDP checksum 2021-05-03 13:24:30 -04:00
trim trim(8): Fix a few issues reported by mandoc 2020-12-19 13:56:19 +00:00
trpt Remove tests for obsolete compilers in the build system 2020-05-12 15:22:40 +00:00
tzsetup Don't link against libdialog/ncurses when bootstrapping tzsetup 2020-08-07 16:04:10 +00:00
uathload various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
uefisign uefisign: fix SizeOfHeaders sanity check. 2021-06-03 15:22:14 -06:00
ugidfw various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
uhsoctl Use correct type for IOCTL request argument. 2018-11-02 22:23:25 +00:00
unbound Fix local-unbound setup for some IPv6 deployments. 2021-03-10 15:53:22 +00:00
usbconfig Implement dump_stats command for usbconfig(8). 2019-12-27 20:37:14 +00:00
usbdump usbdump: style: Sort case statements alphabetically 2021-06-04 16:47:28 -06:00
utx various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
valectl netmap: several typo fixes 2021-04-02 07:01:20 +00:00
vidcontrol Move font related data structured to sys/font.c and update vtfontcvt 2020-06-14 06:58:58 +00:00
vigr
vipw General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
wake various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
watch Remove sio(4). 2019-11-21 01:24:49 +00:00
watchdogd various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
wlandebug wlandebug.8: remove Xref for missing manpages 2021-03-15 10:04:13 +01:00
wpa wpa: The ap library is not needed by wpa_supplicant or wpa_cli 2021-06-13 22:55:07 -07:00
yp_mkdb Fix clang 11 -Wformat warnings in yp_mkdb: 2020-08-06 20:31:50 +00:00
ypbind various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
ypldap Only set WARNS if not defined 2020-09-11 13:28:37 +00:00
yppoll various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
yppush Increase YPMAXRECORD to 16M to be compatible with Linux. 2019-08-12 20:27:33 +00:00
ypserv yp*: fix -fno-common build 2020-04-06 23:16:05 +00:00
ypset various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
zic Remove tests for obsolete compilers in the build system 2020-05-12 15:22:40 +00:00
zonectl Cross-reference camcontrol(8) and zonectl(8) man pages. 2021-04-10 10:13:29 +01:00
zzz
Makefile pkgbase: Move ctld/ctladm to iscsi package 2021-06-19 17:49:57 +02:00
Makefile.amd64 Remove kgmon(8) 2021-04-04 00:50:28 +03:00
Makefile.arm Remove kgmon(8) 2021-04-04 00:50:28 +03:00
Makefile.arm64
Makefile.i386 Remove kgmon(8) 2021-04-04 00:50:28 +03:00
Makefile.inc build: provide a default WARNS for all in-tree builds 2020-09-18 17:17:46 +00:00
Makefile.mips
Makefile.powerpc Create a new MACHINE_ARCH for Freescale PowerPC e500v2 2016-10-22 01:57:15 +00:00
Makefile.riscv Build ofwdump on riscv. 2018-07-24 20:20:17 +00:00