summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
2023-12-07avoid bad register access in eephy_reset for Marvell Alaska 88E1512Uwe Stuehler
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@
2023-12-06Protect socket receive buffer in IP multicast routing.Alexander Bluhm
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@
2023-12-06Move CALLSYS_NOERROR macro from <machine/asm.h> to libc, and expand it forMiod Vallat
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
2023-12-05Add more devices which may attach ukbd (and thus wskbd) but should never beMiod Vallat
considered as console keyboards.
2023-12-05Cast uvmexp.swpages to long before multiplying by 99 to avoid integerClaudio Jeker
overflows on systems with big swap partitions. OK kettenis@ miod@
2023-12-05timeout_del() the timer while stopping an interface so that no timeoutKevin Lo
is fired afterwards. ok claudio@
2023-12-05Remove "disable auto-negotiation" workaround for Marvell Alaska PHYsUwe Stuehler
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@
2023-12-05boot_file was removed in arm64 machdep.c rev 1.55Jonathan Gray
2023-12-04Remove unneeded symbols.Miod Vallat
2023-12-04Account for nkmempages as well in the pmap_growkernel() call duringClaudio Jeker
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@
2023-12-04drm/i915: do not clean GT table on error pathJonathan Gray
From Andrzej Hajda 84a6e475451dfe8db44bbf4fd0969906a9bfdc2f in linux-6.1.y/6.1.65 0561794b6b642b84b879bf97061c4b4fa692839e in mainline linux
2023-12-04Make the TEMPer{1,2} devices display minus degC. From the NetBSD driver.Marcus Glocker
ok deraadt@
2023-12-03Rename all in6p local variables to inp.Alexander Bluhm
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@
2023-12-03Use INP_IPV6 flag instead of sotopf().Alexander Bluhm
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@
2023-12-03Make rtm_senddesync_timer() timeout(9) handler mpsafe. solock() protectsVitaliy Makkoveev
the socket and the socket's PCB data. ok bluhm
2023-12-03Make ipsp_ids_gc() timeout(9) handler mpsafe. `ipsec_flows_mtx' mutex(9)Vitaliy Makkoveev
protects related data. ok bluhm
2023-12-03match Lunar Lake, Raptor Lake and Arrow LakeJonathan Gray
2023-12-03regenJonathan Gray
2023-12-03add Intel Ethernet ids: Lunar Lake, Raptor Lake and Arrow LakeJonathan Gray
2023-12-02virtio: Fix handling of feature bits >= 32Stefan Fritsch
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@
2023-12-01pipex(4) layer is completely mp-safe, move the pipex_timer() timeout(9)Vitaliy Makkoveev
handler out of kernel lock. ok bluhm
2023-12-01Set inp address, port and rtable together with inpcb hash.Alexander 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@
2023-12-01Cast mtx to void in dummy MUTEX_ASSERT_LOCKED().Alexander Bluhm
To avoid unsued variable in ramdisk kernel, use the argument of MUTEX_ASSERT_LOCKED() also in non DIAGNOSTIC builds. OK sashan@ mvs@
2023-12-01Make internet PCB connect more consistent.Alexander Bluhm
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@
2023-12-01Prevent race between pf_test() and pf_purge_expired_states().Alexandr Nedvedicky
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@
2023-12-01regenJonathan Gray
2023-12-01add AMD Phoenix (Family 19h Model 74h) idsJonathan Gray
based on submissions to dmesg@
2023-11-30Overhaul device identification logic in order to make matching onMiod Vallat
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
2023-11-30Make sure we don't process garbage data as keypresses if the device sends aMiod Vallat
truncated report.
2023-11-30Pass inp_seclevel to ip6_output() in TCP syn cache.Alexander Bluhm
TCP syn_cache_respond() uses inp_seclevel from listening socket as ip_output() parameter. This was missing for ip6_output(). OK mvs@
2023-11-30drm/amd/display: Change the DMCUB mailbox memory location from FB to inboxJonathan Gray
From Lewis Huang 4c55be0855344187d0970874b6e1215b21a68b61 in linux-6.1.y/6.1.64 5911d02cac70d7fb52009fbd37423e63f8f6f9bc in mainline linux
2023-11-30drm/amd/display: Enable fast plane updates on DCN3.2 and aboveJonathan Gray
From Tianci Yin 68d774eb10e261ac6d176da2379f97a62878ef22 in linux-6.1.y/6.1.64 435f5b369657cffee4b04db1f5805b48599f4dbe in mainline linux
2023-11-30drm/amd/display: fix a NULL pointer dereference in amdgpu_dm_i2c_xfer()Jonathan Gray
From Mario Limonciello fb5c134ca589fe670430acc9e7ebf2691ca2476d in linux-6.1.y/6.1.64 b71f4ade1b8900d30c661d6c27f87c35214c398c in mainline linux
2023-11-30drm/amdgpu: lower CS errors to debug severityJonathan Gray
From Christian Koenig 51ffa1a3792e3570ae2eb84d003c329b3d71da6c in linux-6.1.y/6.1.64 17daf01ab4e3e5a5929747aa05cc15eb2bad5438 in mainline linux
2023-11-30drm/amdgpu: fix error handling in amdgpu_bo_list_get()Jonathan Gray
From Christian Koenig c52aac5884bc58e304d4c9cb8441baf8443ea189 in linux-6.1.y/6.1.64 12f76050d8d4d10dab96333656b821bd4620d103 in mainline linux
2023-11-30drm/amdgpu: don't use ATRM for external devicesJonathan Gray
From Alex Deucher 2ab6c1237bd4a961b8d5032671510a028fb9f0f6 in linux-6.1.y/6.1.64 432e664e7c98c243fab4c3c95bd463bea3aeed28 in mainline linux
2023-11-30drm/amdgpu: don't use pci_is_thunderbolt_attached()Jonathan Gray
From Alex Deucher 965dce07a4fc5b15c07c73124f5016240a7250ef in linux-6.1.y/6.1.64 7b1c6263eaf4fd64ffe1cafdc504a42ee4bfbb33 in mainline linux
2023-11-30drm/amdgpu/smu13: drop compute workload workaroundJonathan Gray
From Alex Deucher 8e54a91d3e66b9730861f10345238ff5ef979d3d in linux-6.1.y/6.1.64 23170863ea0a0965d224342c0eb2ad8303b1f267 in mainline linux
2023-11-30drm/amd/pm: Fix error of MACO flag setting codeJonathan Gray
From Ma Jun 454d0cdd7c127bb0ad06b53c52e94ca2c9a83b20 in linux-6.1.y/6.1.64 7f3e6b840fa8b0889d776639310a5dc672c1e9e1 in mainline linux
2023-11-30drm/i915: Fix potential spectre vulnerabilityJonathan Gray
From Kunwu Chan 07e94f204f38b0d36eb377b3cda088b4a8b6f9a2 in linux-6.1.y/6.1.64 1a8e9bad6ef563c28ab0f8619628d5511be55431 in mainline linux
2023-11-30drm/i915: Bump GLK CDCLK frequency when driving multiple pipesJonathan Gray
From Ville Syrjala 9457636a49265bdec14f3b747a4911ea9b7d468c in linux-6.1.y/6.1.64 0cb89cd42fd22bbdec0b046c48f35775f5b88bdb in mainline linux
2023-11-30drm/amd/pm: Handle non-terminated overdrive commands.Jonathan Gray
From Bas Nieuwenhuizen e973f40de16125f3f85a07db68a2ad4a0aeb42c2 in linux-6.1.y/6.1.64 08e9ebc75b5bcfec9d226f9e16bab2ab7b25a39a in mainline linux
2023-11-30drm/amd/display: enable dsc_clk even if dsc_pg disabledJonathan Gray
From Muhammad Ahmed 3b70d45c7ea8e6c4584f497b1bad1dba1c3b9557 in linux-6.1.y/6.1.64 40255df370e94d44f0f0a924400d68db0ee31bec in mainline linux
2023-11-30i915/perf: Fix NULL deref bugs with drm_dbg() callsJonathan Gray
From Harshit Mogalapalli 55db76caa782baa4a1bf02296e2773c38a524a3e in linux-6.1.y/6.1.64 471aa951bf1206d3c10d0daa67005b8e4db4ff83 in mainline linux
2023-11-30drm/amdgpu: fix software pci_unplug on some chipsJonathan Gray
From Vitaly Prosyak 6586b5f8e456de7bddbed2446f5f558f9035c7ad in linux-6.1.y/6.1.64 4638e0c29a3f2294d5de0d052a4b8c9f33ccb957 in mainline linux
2023-11-30drm/amd/display: Avoid NULL dereference of timing generatorJonathan Gray
From Wayne Lin 8a06894666e0b462c9316b26ab615cefdd0d676c in linux-6.1.y/6.1.64 b1904ed480cee3f9f4036ea0e36d139cb5fee2d6 in mainline linux
2023-11-30drm/amdgpu: Fix a null pointer access when the smc_rreg pointer is NULLJonathan Gray
From Qu Huang 6c1b3d89a2dda79881726bb6e37af19c0936d736 in linux-6.1.y/6.1.64 5104fdf50d326db2c1a994f8b35dcd46e63ae4ad in mainline linux
2023-11-30drm/amdkfd: Fix shift out-of-bounds issueJonathan Gray
From Jesse Zhang 2806f880379232e789957c2078d612669eb7a69c in linux-6.1.y/6.1.64 282c1d793076c2edac6c3db51b7e8ed2b41d60a5 in mainline linux
2023-11-30drm/radeon: fix a possible null pointer dereferenceJonathan Gray
From Ma Ke 16fa59e273f8eb20ececeb570ab41c9d3d791429 in linux-6.1.y/6.1.64 2c1fe3c480f9e1deefd50d4b18be4a046011ee1f in mainline linux
2023-11-30drm/amdgpu: Fix potential null pointer derefernceJonathan Gray
From Stanley Yang 9b70fc7d70e8ef7c4a65034c9487f58609e708a1 in linux-6.1.y/6.1.64 80285ae1ec8717b597b20de38866c29d84d321a1 in mainline linux