1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
freebsd/sys/modules
John-Mark Gurney 08fca7a56b Add some new modes to OpenCrypto. These modes are AES-ICM (can be used
for counter mode), and AES-GCM.  Both of these modes have been added to
the aesni module.

Included is a set of tests to validate that the software and aesni
module calculate the correct values.  These use the NIST KAT test
vectors.  To run the test, you will need to install a soon to be
committed port, nist-kat that will install the vectors.  Using a port
is necessary as the test vectors are around 25MB.

All the man pages were updated.  I have added a new man page, crypto.7,
which includes a description of how to use each mode.  All the new modes
and some other AES modes are present.  It would be good for someone
else to go through and document the other modes.

A new ioctl was added to support AEAD modes which AES-GCM is one of them.
Without this ioctl, it is not possible to test AEAD modes from userland.

Add a timing safe bcmp for use to compare MACs.  Previously we were using
bcmp which could leak timing info and result in the ability to forge
messages.

Add a minor optimization to the aesni module so that single segment
mbufs don't get copied and instead are updated in place.  The aesni
module needs to be updated to support blocked IO so segmented mbufs
don't have to be copied.

We require that the IV be specified for all calls for both GCM and ICM.
This is to ensure proper use of these functions.

Obtained from:	p4: //depot/projects/opencrypto
Relnotes:	yes
Sponsored by:	FreeBSD Foundation
Sponsored by:	NetGate
2014-12-12 19:56:36 +00:00
..
3dfx
3dfx_linux
aac
aacraid Driver 'aacraid' added. Supports Adaptec by PMC RAID controller families Series 6, 7, 8 and upcoming products. Older Adaptec RAID controller families are supported by the 'aac' driver. 2013-05-24 09:22:43 +00:00
accf_data
accf_dns
accf_http
acl_nfs4 Remove unnecessary inclusions of bsd.own.mk. 2014-08-04 22:34:12 +00:00
acl_posix1e Remove unnecessary inclusions of bsd.own.mk. 2014-08-04 22:34:12 +00:00
acpi Remove obsolete Makefile for acpi.ko. 2014-10-02 20:13:52 +00:00
ae
aesni Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
age
agp Re-enable -Werror for these modules. It is already enabled for the same 2014-06-09 20:48:38 +00:00
aha
ahb
ahci Separate out PCI attachment from the main AHCI driver. Move checks of 2014-09-04 22:22:53 +00:00
aic
aic7xxx This module requires pci_if.h, add it to the SRCS list. 2014-08-21 22:42:02 +00:00
aio
alc
ale
alq Remove unnecessary inclusions of bsd.own.mk. 2014-08-04 22:34:12 +00:00
amdsbwd
amdtemp
amr
an Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
aout
apm
ar71xx
arcmsr
arcnet Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
asmc
asr
ata Fix a typo in r249213; the second bus_if.h should have been isa_if.h. 2013-05-29 23:56:49 +00:00
ath Disable warning about unused functions for ar9300_reset.c for now. 2013-12-28 23:12:32 +00:00
ath_ahb
ath_pci
autofs Bring in the new automounter, similar to what's provided in most other 2014-08-17 09:44:42 +00:00
auxio
bce Remove clean option 2014-09-17 22:26:01 +00:00
bfe
bge
bios Re-enable -Werror for these modules. It is already enabled for the same 2014-06-09 20:48:38 +00:00
bktr
bm
bridgestp
bwi Strip out this cruft; people should be making modules with a complete 2013-11-09 08:11:24 +00:00
bwn
bxe Remove clean option 2014-09-17 22:24:51 +00:00
cam Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
canbepm
canbus
cardbus
carp Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
cas
cbb
cc Remove unnecessary inclusions of bsd.own.mk. 2014-08-04 22:34:12 +00:00
cd9660
cd9660_iconv
ce
cfi
ciss
cm
cmx
coff
coretemp
cp
cpsw
cpuctl
cpufreq
crypto Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
cryptodev
cs
ct
ctau
ctl Add support for VMWare dialect of EXTENDED COPY command, aka VAAI Clone. 2014-07-16 15:57:17 +00:00
cuse Initial import of character device in userspace support for FreeBSD. 2014-05-23 08:46:28 +00:00
cx
cxgb opt_global.h is never needed in SRCS lists. 2014-11-18 17:06:52 +00:00
cxgbe Remove dependence on source tree options. Move all kernel module 2014-08-11 14:50:49 +00:00
dc
dcons
dcons_crom
de
digi
dpms
dpt Remove dpt_isa.c and commented out references to it. It was never connected 2014-11-13 20:00:54 +00:00
drm Remove dependence on source tree options. Move all kernel module 2014-08-11 14:50:49 +00:00
drm2 Build ttm_agp_backend.c. 2014-10-31 10:45:34 +00:00
dtrace remove opensolaris cyclic code, replace with high-precision callouts 2014-12-07 11:21:41 +00:00
dummynet Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ed
elink
em Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
en Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ep Remove dependence on source tree options. Move all kernel module 2014-08-11 14:50:49 +00:00
epic
esp
et
ex
exca
ext2fs Add read-only support for extents in ext2fs. 2013-08-12 21:34:48 +00:00
fatm Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
fdc Merge the PC98 fdc(4) driver into the MI driver. While here, replace 2014-09-25 20:40:24 +00:00
fdescfs
fe
filemon Match the options of the kernel. 2013-06-04 06:38:01 +00:00
firewire Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
firmware
fuse
fxp
gem
geom Implement the historic DIOCGDINFO ioctl for gpart on BSD 2014-11-18 17:06:40 +00:00
glxiic
glxsb
gpio Inspired by r262522, fix make depend. This fixes the build of gpio modules. 2014-02-27 13:26:41 +00:00
hatm Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
hifn
hme
hpt27xx Import HighPoint DC Series Data Center HBA (DC7280 and R750) driver. 2013-07-06 07:49:41 +00:00
hptiop
hptmv
hptnr Import HighPoint DC Series Data Center HBA (DC7280 and R750) driver. 2013-07-06 07:49:41 +00:00
hptrr
hwpmc Remove ia64. 2014-07-07 00:27:09 +00:00
hyperv Import HyperV Key-Value Pair (KVP) driver and daemon code by Microsoft, 2014-09-13 02:15:31 +00:00
i2c Move all the power management (SMBus) drivers to their own directory, 2014-09-23 06:31:15 +00:00
ibcore Remove unnecessary inclusions of bsd.own.mk. 2014-08-04 22:34:12 +00:00
ibcs2
ichwd
ida
ie
if_bridge Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
if_disc Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
if_edsc
if_epair
if_gif Automate options INET/INET6 turning into MK_$opt_SUPPORT 2014-11-14 21:10:45 +00:00
if_gre Use automated MK_INET*_SUPPORT code here as well. 2014-11-18 01:39:23 +00:00
if_lagg Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
if_me Overhaul if_gre(4). 2014-11-07 19:13:19 +00:00
if_ndis
if_stf Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
if_tap Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
if_tun Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
if_vlan
if_vxlan Add vxlan interface 2014-10-20 14:42:42 +00:00
igb Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
iir
imgact_binmisc Add Stacey Son's binary activation patches that allow remapping of 2014-04-08 20:10:22 +00:00
io
ip6_mroute_mod Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ip_mroute_mod Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ipdivert Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ipfilter Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ipfw Merge projects/ipfw to HEAD. 2014-10-09 19:32:35 +00:00
ipfw_nat
ipmi
ipoib Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ips
ipw
ipwfw
isci
iscsi Bring in the new iSCSI target and initiator. 2013-09-14 15:29:06 +00:00
iscsi_initiator Move the old iSCSI initiator source to a more appropriate place 2013-08-22 14:02:34 +00:00
isp
ispfw
iwi
iwifw
iwn Add missing depend. 2013-08-03 08:21:35 +00:00
iwnfw Add iwn-100 firmware. 2014-08-28 00:05:02 +00:00
ixgb
ixgbe Disable flow-director support until it's been debugged and verified. 2014-09-15 21:09:19 +00:00
ixl Update to the Intel Base driver for the Intel XL710 Ethernet Controller Family 2014-08-22 18:59:19 +00:00
ixlv Update the Intel i40e drivers, ixl version 1.2.8, ixlv version 1.1.18 2014-11-06 23:45:05 +00:00
jme
joy There never was a PC Card joystick attachment that worked. Kill the 2014-11-22 20:31:20 +00:00
kbdmux
kgssapi
kgssapi_krb5
khelp Remove unnecessary inclusions of bsd.own.mk. 2014-08-04 22:34:12 +00:00
krpc Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ksyms
le
lge
libalias
libiconv
libmbpool
libmchain
linprocfs
linsysfs
linux Retire the '@' symlink. It isn't really needed and causes more 2014-11-06 16:48:37 +00:00
lmc No need to list opt_global.h. No need to force ALTQ here, since that's 2014-11-18 17:06:54 +00:00
lpt
mac_biba
mac_bsdextended
mac_ifoff
mac_lomac
mac_mls
mac_none
mac_partition
mac_portacl
mac_seeotheruids
mac_stub
mac_test
malo
mcd
md
mem
mfi
mii
mlx
mlx4 Hardware driver update from Mellanox Technologies, including: 2014-09-23 12:37:01 +00:00
mlx4ib - Update the OFED Linux Emulation layer as a preparation for a 2014-08-27 13:21:53 +00:00
mlxen Hardware driver update from Mellanox Technologies, including: 2014-09-23 12:37:01 +00:00
mly
mmc
mmcsd
mpr Bring in the mpr(4) driver for LSI's MPT3 12Gb SAS controllers. 2014-05-02 20:25:09 +00:00
mps
mpt
mqueue Fix 'make depend' 2013-03-03 16:17:09 +00:00
mrsas clean removes @ and machine now, so no need to do it again. 2014-11-06 16:48:35 +00:00
msdosfs
msdosfs_iconv
mse
msk
mthca Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
mvs
mwl
mwlfw
mxge
my
nand
nandfs Include opt_ddb.h in the list of SRCS, since we include it. 2014-04-16 19:49:44 +00:00
nandsim
ncr Remove the extra CFLAGS now that the driver has been fixed by jhb. 2014-10-02 18:45:00 +00:00
ncv
ndis
netfpga10g Introduce opt_netfpga.h and allow setting NF10BMAC_64BIT from mips kernel 2014-06-26 17:20:45 +00:00
netgraph Remove dependence on source tree options. Move all kernel module 2014-08-11 14:50:49 +00:00
netmap add missing file 2014-09-25 14:25:38 +00:00
nfe
nfs_common
nfscl Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
nfsclient Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
nfscommon - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
nfsd Move the NFS FHA (File Handle Affinity) code from sys/nfsserver to 2013-04-17 22:42:43 +00:00
nfslock
nfslockd Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
nfsserver Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
nfssvc
nge
nmdm
nsp
ntb Add a new driver to support the Intel Non-Transparent Bridge(NTB). 2013-04-29 22:48:53 +00:00
nullfs
nvd
nvme Add message when nvd disks are attached and detached. 2013-07-19 21:40:57 +00:00
nvram
nxge
oce
opensolaris Use SYSDIR to reference to the top of the sys hierarchy. Define SYSDIR 2014-03-06 01:59:13 +00:00
padlock
padlock_rng This is the much-discussed major upgrade to the random(4) device, known to you all as /dev/random. 2014-10-30 21:21:53 +00:00
patm Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
pccard
pcfclock
pcn
pf Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
pflog Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
pfsync Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
plip
pmc
powermac_nvram
ppbus
ppc Remove ia64. 2014-07-07 00:27:09 +00:00
ppi
pps
procfs
proto Add proto(4): A driver for prototyping and diagnostics. 2014-04-28 17:58:40 +00:00
pseudofs
pst
pty
puc
qlxgb There's no need to override the clean target. The clean target works 2014-10-16 20:13:16 +00:00
qlxgbe There's no need to override the clean target. The clean target works 2014-10-16 20:13:16 +00:00
qlxge There's no need to override the clean target. The clean target works 2014-10-16 20:13:16 +00:00
ral
ralfw
random Fix random.ko module. 2014-11-07 20:23:43 +00:00
rc
rc4
rdma Delete all of the old RDMA code (except krping, which was switched to 2013-10-14 22:39:08 +00:00
rdrand_rng This is the much-discussed major upgrade to the random(4) device, known to you all as /dev/random. 2014-10-30 21:21:53 +00:00
re
reiserfs
rl Move rl(4) to dev/rl. 2014-09-19 10:32:20 +00:00
rndtest
rp
s3
safe
sbni
scc
scd
scsi_low
sdhci
sdhci_pci
sem
send - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
sf
sfxge DEBUG_FLAGS -g is default for GENERIC and its presence interferes with 2013-09-29 13:05:22 +00:00
sge
si Add kernel modules for si(4), wds(4), and wl(4). 2014-08-20 16:09:05 +00:00
siba_bwn
siftr Remove unnecessary inclusions of bsd.own.mk. 2014-08-04 22:34:12 +00:00
siis
sio
sis
sk
smbfs Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
sn
snc Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
snp
sound Retire the '@' symlink. It isn't really needed and causes more 2014-11-06 16:48:37 +00:00
speaker
splash
sppp Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ste
stg
stge
streams
svr4 These don't belong in the modules directory. 2014-11-06 16:52:51 +00:00
sym
syscons
sysvipc
ti Remove zero-copy sockets code. It only worked for anonymous memory, 2013-09-16 06:25:54 +00:00
tl
tmpfs
toecore
tpm
trm Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
tsec Build tsec(4) as a module. 2014-07-26 17:59:25 +00:00
twa
twe
tws
tx
txp
uart Build uart_dev_lpc.c on arm only. This fixes pc98 build. 2013-04-22 13:02:41 +00:00
ubsec
ubser
uchcom
ucycom
udf
udf_iconv
ufs Initialize the pbuf counter for directio using SYSINIT, instead of 2014-06-08 10:55:06 +00:00
unionfs
usb The USB LED driver for the Dream Cheeky WebMail Notifier. 2014-09-05 11:25:58 +00:00
utopia
vesa
vge
viawd
virtio Add VirtIO console driver 2014-10-23 04:47:32 +00:00
vkbd
vmm Retire the '@' symlink. It isn't really needed and causes more 2014-11-06 16:48:37 +00:00
vmware Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
vpo
vr
vte
vx Remove dependence on source tree options. Move all kernel module 2014-08-11 14:50:49 +00:00
vxge
wb
wbwd
wds Add kernel modules for si(4), wds(4), and wl(4). 2014-08-20 16:09:05 +00:00
wi Remove duplicate SRCS include block. Spotted by jmallett. 2013-07-31 01:42:59 +00:00
wl Add kernel modules for si(4), wds(4), and wl(4). 2014-08-20 16:09:05 +00:00
wlan Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wlan_acl Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wlan_amrr Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wlan_ccmp Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wlan_rssadapt Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wlan_tkip Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wlan_wep Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wlan_xauth Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wpi
wpifw
wtap
x86bios
xe
xl
zfs Instead of requiring an edit to turn on ZFS debugging, define ZFS_DEBUG. 2014-10-01 15:34:48 +00:00
zlib
Makefile remove opensolaris cyclic code, replace with high-precision callouts 2014-12-07 11:21:41 +00:00
Makefile.inc