Age | Commit message (Collapse) | Author |
|
The register write before this change had no visible run-time effect
on 88E1512 under normal conditions but it tried to update a reserved
bit and might prevent the standard behaviour of breaking the link on
insufficient Inter-Packet Gaps.
Cross-checked with datasheets for supported variants. Extended special
control register 20 exists only in E1111 but not in E151x, E1545x, or
E3016. It seems that the register was dropped in E15xx and subsequent
designs.
Originally from stsp@
ok claudio@ stsp@
|
|
Since soreceive() runs in parallel for raw sockets, sbappendaddr()
has to be protected by inpcb mutex. This was missing in multicast
forwarding which is running with a combination of shared net lock
and kernel lock. soreceive() uses shared net lock and mutex per
inpcb. Grab mutex before sbappendaddr() in socket_send() and
socket6_send().
panic receive 1 reported by Jo Geraerts
OK mvs@ claudio@
|
|
non-libc users. This is a two-liner macro anyway, and this will make
deraadt@'s future changes in this area easier to make. NFC
|
|
considered as console keyboards.
|
|
overflows on systems with big swap partitions.
OK kettenis@ miod@
|
|
is fired afterwards.
ok claudio@
|
|
This avoids an intermediate link state (10baseT) before the interface
is configured via ifconfig(8), and is consistent with other MII
drivers and OSes.
The original reason for this workaround is mainly thought be related
to either reducing the time required for auto-negotiation to complete
or indeed incorrect advertisement of link capabilities.
Tested on Intel Elkhart Lake with dwqe(4) and 88E1512 PHY.
Originally from stsp@ with feedback from kettenis@.
ok kettenis@ claudio@
|
|
|
|
|
|
initalisation. This way there is enough KVA mapped that kmeminit()
succeeds even with large nkmempages. This is similar to e.g. alpha.
OK miod@ kettenis@
|
|
From Andrzej Hajda
84a6e475451dfe8db44bbf4fd0969906a9bfdc2f in linux-6.1.y/6.1.65
0561794b6b642b84b879bf97061c4b4fa692839e in mainline linux
|
|
ok deraadt@
|
|
There exists no struct in6pcb in OpenBSD, this was an old kame idea.
Calling the local variable in6p does not make sense, it is actually
a struct inpcb. Also in6p is not used consistently in inet6 code.
Having the same convention for IPv4 and IPv6 is less confusing.
OK sashan@ mvs@
|
|
During initialization in_pcballoc() sets INP_IPV6 once to avoid
reaching through inp_socket->so_proto->pr_domain->dom_family. Use
this flag consistently.
OK sashan@ mvs@
|
|
the socket and the socket's PCB data.
ok bluhm
|
|
protects related data.
ok bluhm
|
|
|
|
|
|
|
|
Fix handling of feature bits >= 32. This does not yet affect any driver
as no high feature bit besides VERSION_1 is used, and that one has
special handling.
Also, with VIRTIO_DEBUG, simply walk through all transport and device
feature names, so that we don't need to adjust the if clause whenever
the standard introduces new transport features.
ok jan@ bluhm@
|
|
handler out of kernel lock.
ok bluhm
|
|
The inpcb hash table is protected by table->inpt_mtx. The hash is
based on addresses, ports, and routing table. These fields were
not sychronized with the hash. Put writes and hash update into the
same critical section.
Move the updates from ip_ctloutput(), ip6_ctloutput(), syn_cache_get(),
tcp_connect(), udp_disconnect() to dedicated inpcb set functions.
There they use the same table mutex as in_pcbrehash().
in_pcbbind(), in_pcbconnect(), and in6_pcbconnect() need more work
and are not included yet.
OK sashan@ mvs@
|
|
To avoid unsued variable in ramdisk kernel, use the argument of
MUTEX_ASSERT_LOCKED() also in non DIAGNOSTIC builds.
OK sashan@ mvs@
|
|
The public interface is in_pcbconnect(). It dispatches to
in6_pcbconnect() if necessary. Call the former from tcp_connect()
and udp_connect().
In in6_pcbconnect() initialization in6a = NULL is not necessary.
in6_pcbselsrc() sets the pointer, but does not read the value.
Pass a constant in6_addr pointer to in6_pcbselsrc() and in6_selectsrc().
It returns a reference to the address of some internal data structure.
We want to be sure that in6_addr is not modified this way. IPv4
in_pcbselsrc() solves this by passing a copy of the address.
OK kn@ sashan@ mvs@
|
|
Packets (callers to pf_test()) must alter pf_state::timeout
under protection of pf_state::mtx. We also have to make sure
the packet does not update pf_state::timeout when ::timeout
reaches PFTM_UNLINKED.
The first report came from Johan Huldtgren, but he is not
the single user who has noticed "st->timeout == PFTM_UNLINKED"
assert violation.
OK bluhm@
|
|
|
|
based on submissions to dmesg@
|
|
device-provided information easier.
Add support for a few more devices.
Trigger state machine updates quickly so as not to have to wait 6 seconds to
get the device identified, then 6 more seconds to get the first sensor data.
Tested on:
TEMPerX_V3.3 by landry@
TEMPerF1.4M by sthen@
TEMPerHUM_V4.0, TEMPer2_V4.1, TEMPer1F_V4.1 and TEMPerGold_V3.4 by yours truly
|
|
truncated report.
|
|
TCP syn_cache_respond() uses inp_seclevel from listening socket as
ip_output() parameter. This was missing for ip6_output().
OK mvs@
|
|
From Lewis Huang
4c55be0855344187d0970874b6e1215b21a68b61 in linux-6.1.y/6.1.64
5911d02cac70d7fb52009fbd37423e63f8f6f9bc in mainline linux
|
|
From Tianci Yin
68d774eb10e261ac6d176da2379f97a62878ef22 in linux-6.1.y/6.1.64
435f5b369657cffee4b04db1f5805b48599f4dbe in mainline linux
|
|
From Mario Limonciello
fb5c134ca589fe670430acc9e7ebf2691ca2476d in linux-6.1.y/6.1.64
b71f4ade1b8900d30c661d6c27f87c35214c398c in mainline linux
|
|
From Christian Koenig
51ffa1a3792e3570ae2eb84d003c329b3d71da6c in linux-6.1.y/6.1.64
17daf01ab4e3e5a5929747aa05cc15eb2bad5438 in mainline linux
|
|
From Christian Koenig
c52aac5884bc58e304d4c9cb8441baf8443ea189 in linux-6.1.y/6.1.64
12f76050d8d4d10dab96333656b821bd4620d103 in mainline linux
|
|
From Alex Deucher
2ab6c1237bd4a961b8d5032671510a028fb9f0f6 in linux-6.1.y/6.1.64
432e664e7c98c243fab4c3c95bd463bea3aeed28 in mainline linux
|
|
From Alex Deucher
965dce07a4fc5b15c07c73124f5016240a7250ef in linux-6.1.y/6.1.64
7b1c6263eaf4fd64ffe1cafdc504a42ee4bfbb33 in mainline linux
|
|
From Alex Deucher
8e54a91d3e66b9730861f10345238ff5ef979d3d in linux-6.1.y/6.1.64
23170863ea0a0965d224342c0eb2ad8303b1f267 in mainline linux
|
|
From Ma Jun
454d0cdd7c127bb0ad06b53c52e94ca2c9a83b20 in linux-6.1.y/6.1.64
7f3e6b840fa8b0889d776639310a5dc672c1e9e1 in mainline linux
|
|
From Kunwu Chan
07e94f204f38b0d36eb377b3cda088b4a8b6f9a2 in linux-6.1.y/6.1.64
1a8e9bad6ef563c28ab0f8619628d5511be55431 in mainline linux
|
|
From Ville Syrjala
9457636a49265bdec14f3b747a4911ea9b7d468c in linux-6.1.y/6.1.64
0cb89cd42fd22bbdec0b046c48f35775f5b88bdb in mainline linux
|
|
From Bas Nieuwenhuizen
e973f40de16125f3f85a07db68a2ad4a0aeb42c2 in linux-6.1.y/6.1.64
08e9ebc75b5bcfec9d226f9e16bab2ab7b25a39a in mainline linux
|
|
From Muhammad Ahmed
3b70d45c7ea8e6c4584f497b1bad1dba1c3b9557 in linux-6.1.y/6.1.64
40255df370e94d44f0f0a924400d68db0ee31bec in mainline linux
|
|
From Harshit Mogalapalli
55db76caa782baa4a1bf02296e2773c38a524a3e in linux-6.1.y/6.1.64
471aa951bf1206d3c10d0daa67005b8e4db4ff83 in mainline linux
|
|
From Vitaly Prosyak
6586b5f8e456de7bddbed2446f5f558f9035c7ad in linux-6.1.y/6.1.64
4638e0c29a3f2294d5de0d052a4b8c9f33ccb957 in mainline linux
|
|
From Wayne Lin
8a06894666e0b462c9316b26ab615cefdd0d676c in linux-6.1.y/6.1.64
b1904ed480cee3f9f4036ea0e36d139cb5fee2d6 in mainline linux
|
|
From Qu Huang
6c1b3d89a2dda79881726bb6e37af19c0936d736 in linux-6.1.y/6.1.64
5104fdf50d326db2c1a994f8b35dcd46e63ae4ad in mainline linux
|
|
From Jesse Zhang
2806f880379232e789957c2078d612669eb7a69c in linux-6.1.y/6.1.64
282c1d793076c2edac6c3db51b7e8ed2b41d60a5 in mainline linux
|
|
From Ma Ke
16fa59e273f8eb20ececeb570ab41c9d3d791429 in linux-6.1.y/6.1.64
2c1fe3c480f9e1deefd50d4b18be4a046011ee1f in mainline linux
|
|
From Stanley Yang
9b70fc7d70e8ef7c4a65034c9487f58609e708a1 in linux-6.1.y/6.1.64
80285ae1ec8717b597b20de38866c29d84d321a1 in mainline linux
|