freebsd-dev/sys
Roy Marples 5c5340108e net: Allow binding of unspecified address without address existance
Previously in_pcbbind_setup returned EADDRNOTAVAIL for empty
V_in_ifaddrhead (i.e., no IPv4 addresses configured) and in6_pcbbind
did the same for empty V_in6_ifaddrhead (no IPv6 addresses).

An equivalent test has existed since 4.4-Lite.  It was presumably done
to avoid extra work (assuming the address isn't going to be found
later).

In normal system operation *_ifaddrhead will not be empty: they will
at least have the loopback address(es).  In practice no work will be
avoided.

Further, this case caused net/dhcpd to fail when run early in boot
before assignment of any addresses.  It should be possible to bind the
unspecified address even if no addresses have been configured yet, so
just remove the tests.

The now-removed "XXX broken" comments were added in 59562606b9,
which converted the ifaddr lists to TAILQs.  As far as I (emaste) can
tell the brokenness is the issue described above, not some aspect of
the TAILQ conversion.

PR:		253166
Reviewed by:	ae, bz, donner, emaste, glebius
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D32563
2021-10-20 19:25:51 -04:00
..
amd64 vlapic: Schedule callouts on the local CPU 2021-10-19 21:22:57 -04:00
arm Convert consumers to vm_page_alloc_noobj_contig() 2021-10-19 21:22:56 -04:00
arm64 Pass the ACPI ID when reading the ACPI domain 2021-10-20 11:02:06 +01:00
bsm
cam cam(4): Limit search for disks in SES enclosure by single bus 2021-10-05 15:01:16 -04:00
cddl
compat Convert consumers to vm_page_alloc_noobj_contig() 2021-10-19 21:22:56 -04:00
conf arm: allow the debug stuff in CP14 to be disabled at compile time 2021-10-18 19:18:56 +00:00
contrib vfs: remove thread argument from VOP_STAT 2021-10-11 13:22:32 +00:00
crypto crypto: Support Chacha20-Poly1305 with a nonce size of 8 bytes. 2021-10-06 14:08:49 -07:00
ddb
dev Convert consumers to vm_page_alloc_noobj_contig() 2021-10-19 21:22:56 -04:00
dts ipq4018: add a device tree file for the ASUS rt-ac58u router 2021-10-18 19:18:46 +00:00
fs msdosfs_rename: remove write-only variables 2021-10-20 21:29:49 +03:00
gdb
geom geom_label: Add more validation for NTFS volume tasting 2021-10-04 18:15:06 -04:00
gnu
i386 Use the vm_radix_init() helper when initializing pmaps 2021-10-19 21:22:56 -04:00
isa
kern Convert consumers to vm_page_alloc_noobj_contig() 2021-10-19 21:22:56 -04:00
kgssapi
libkern
mips Convert vm_page_alloc() callers to use vm_page_alloc_noobj(). 2021-10-19 21:22:56 -04:00
modules
net Remove in_ifaddr_lock acquisiton to access in_ifaddrhead. 2021-10-13 10:04:46 -07:00
net80211 net80211: fix build for 526370fb85 2021-10-08 11:21:44 +00:00
netgraph ng_ppp(4): Fix a typo in a comment 2021-10-14 15:30:32 +02:00
netinet net: Allow binding of unspecified address without address existance 2021-10-20 19:25:51 -04:00
netinet6 net: Allow binding of unspecified address without address existance 2021-10-20 19:25:51 -04:00
netipsec
netpfil pf: fix some cc --analyze warnings 2021-10-19 11:59:11 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed
opencrypto stand: fix build after recent opencrypto changes 2021-10-06 20:23:44 -05:00
powerpc Use the vm_radix_init() helper when initializing pmaps 2021-10-19 21:22:56 -04:00
riscv Convert consumers to vm_page_alloc_noobj_contig() 2021-10-19 21:22:56 -04:00
rpc
security
sys sys/bus.h: silence warnings about write-only variables 2021-10-20 21:29:49 +03:00
teken
tests
tools ipq4018: add TCSR definitions from Linux. 2021-10-18 19:18:01 +00:00
ufs vfs: remove cn_thread 2021-10-11 13:21:47 +00:00
vm Remove some remaining references to VM_ALLOC_NOOBJ 2021-10-19 21:22:56 -04:00
x86 x86: Remove some leftover APM support 2021-10-18 09:56:59 -04:00
xdr
xen
Makefile