HardenedBSD/src c63a1bb. Makefile.inc1, sys/dev/cxgbe t4_filter.c

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+10-42sys/dev/cxgbe/tom/t4_ddp.c
+7-43sys/dev/cxgbe/tom/t4_tls.c
+5-38sys/dev/cxgbe/t4_filter.c
+42-0sys/dev/cxgbe/common/common.h
+4-38sys/dev/cxgbe/tom/t4_tom.c
+18-1Makefile.inc1
+86-1624 files not shown
+102-16810 files

HardenedBSD/src de477e4sys/dev/sound unit.c, sys/dev/sound/pcm sound.c vchan.c

Merge branch 'freebsd/14-stable/main' into hardened/14-stable/master
DeltaFile
+39-442sys/dev/sound/pcm/sound.c
+187-19sys/dev/sound/pcm/vchan.c
+173-28sys/dev/sound/pcm/channel.c
+44-156sys/dev/sound/pcm/dsp.c
+0-188sys/dev/sound/unit.c
+31-73sys/dev/sound/pcm/sound.h
+474-90636 files not shown
+547-1,13442 files

HardenedBSD/src 64a00f8sys/dev/cxgbe t4_filter.c, sys/dev/cxgbe/common common.h

cxgbe(4): Consolidate all mk_set_tcb_field_ulp in one place.

MFC after:      1 week
Sponsored by:   Chelsio Communications
DeltaFile
+10-42sys/dev/cxgbe/tom/t4_ddp.c
+7-43sys/dev/cxgbe/tom/t4_tls.c
+5-38sys/dev/cxgbe/t4_filter.c
+42-0sys/dev/cxgbe/common/common.h
+4-38sys/dev/cxgbe/tom/t4_tom.c
+68-1615 files

HardenedBSD/src cca3506sys/dev/cxgbe t4_sched.c

cxgbe(4): sc->port is indexed by port_id and not tx_chan.

MFC after:      1 week
Sponsored by:   Chelsio Communications
DeltaFile
+1-1sys/dev/cxgbe/t4_sched.c
+1-11 files

HardenedBSD/src 61ad1dd. Makefile.inc1

Improve broken-on-gcc checks

Mark powerpc* and riscv broken.

Refactor and add a TRY_GCC_BROKEN option to build anyway.  This
simplifies things for people trying to get gcc builds working
while letting other developers know that they aren't expected to work.

Reviewed by:    jhb, emaste
Improves:       4c0dfd5959bd4 arm: fail early on gcc builds
Differential Revision:  https://reviews.freebsd.org/D45230
DeltaFile
+18-1Makefile.inc1
+18-11 files

HardenedBSD/src 1062db3lib/libcxxrt Makefile

libcxxrt: allow build with gcc13 and --no-undefined-version

GCC 13 supports _Float16 and __int128 on fewer architectures than clang
and thus libcxxrt compiled with gcc13 is sometimes missing related
symbols.  Hack around this by explicitly appending --undefined-version
to LDFLAGS in problematic cases.

Reviewed by:    theraven, dim
Differential Revision:  https://reviews.freebsd.org/D45233
DeltaFile
+10-0lib/libcxxrt/Makefile
+10-01 files

HardenedBSD/src f7d45c5usr.sbin/bhyve tpm_ppi_qemu.c

bhyve: avoid side effect in assertion

An assert() was setting the error variable instead of checking it.

Reported by:    Coverity Scan
CID:            1521431
Reviewed by:    jhb
Sponsored by:   The FreeBSD Foundation
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1244
DeltaFile
+1-1usr.sbin/bhyve/tpm_ppi_qemu.c
+1-11 files

HardenedBSD/src 2b36982sys/dev/sound/pcm sound.c

sound: Fix oss_sysinfo->numcards

According to the OSS manual, oss_sysinfo->numcards holds the number of
detected audio devices in the system, while the current ncards variable,
whose value is assigned to oss_sysinfo->numcards, holds the number of
currently registered devices only.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    dev_submerge.ch, emaste
Differential Revision:  https://reviews.freebsd.org/D45136

(cherry picked from commit 59d98edae3e1a6fffd292e4393c49862d624f25f)
DeltaFile
+3-6sys/dev/sound/pcm/sound.c
+3-61 files

HardenedBSD/src 8b4e2basys/dev/sound/pcm mixer.c

sound: Remove nmix variable from mixer_oss_mixerinfo()

nmix is used to compare against oss_mixerinfo->dev, which is a
user-supplied value to select the mixer device (if not -1, in which case
we'll select the default one) we want to fetch the information of. It is
also used to set oss_mixerinfo->dev in case it is -1.

However, nmix is at best redundant, since we have the loop counter
already (i), and confusing at worst.

For example, suppose a system with 3 mixer devices. We call
SNDCTL_MIXERINFO with oss_mixerinfo->dev=1, meaning we want to get
information for /dev/mixer1. Suppose /dev/mixer0 detaches while inside
the loop, so we'll hit the loop's "continue" case, and nmix won't get
incremented (i.e will stay 0 for now). At this point nmix counts 1
device less, so when it reaches 1, we'll be fetching /dev/mixer2's
information instead of /dev/mixer1's.

This is also true in case the mixer device disappears prior to the call

    [12 lines not shown]
DeltaFile
+4-6sys/dev/sound/pcm/mixer.c
+4-61 files

HardenedBSD/src 7814ed2sys/dev/sound/pci/hda hdaa_patches.c hdac.h

snd_hda: Rename LENOVO_I* to LENOVO_IDEAPAD*

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D45105

(cherry picked from commit 278953360e0e6187c3f7c688cb49254df1567f0b)
DeltaFile
+2-2sys/dev/sound/pci/hda/hdaa_patches.c
+2-2sys/dev/sound/pci/hda/hdac.h
+4-42 files

HardenedBSD/src 15aa868sys/dev/sound/pcm dsp.c, sys/sys soundcard.h

sound: Rename oss_audioinfo->real_device to oss_audioinfo->legacy_device

The OSS manual now documents this field as "legacy_device".

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    dev_submerge.ch
Differential Revision:  https://reviews.freebsd.org/D45138

(cherry picked from commit 24d5cc14dd60b49553ff3ee7830305621f782ff1)
DeltaFile
+2-2sys/dev/sound/pcm/dsp.c
+1-1sys/sys/soundcard.h
+3-32 files

HardenedBSD/src a19d42bsys/dev/sound/pcm sound.c

sound: Remove ncards variable from sound_oss_card_info()

The loop counter is also the card's index, so ncards is redundant.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    dev_submerge.ch
Differential Revision:  https://reviews.freebsd.org/D45144

(cherry picked from commit 305db91d4b92a5d53826dcb6df39fc8a1f3b427e)
DeltaFile
+2-4sys/dev/sound/pcm/sound.c
+2-41 files

HardenedBSD/src 9a62001sys/dev/sound/pci/hda hdaa_patches.c hdac.h

snd_hda: Add patch for Lenovo Ideapad 3

Reported by:    bsd-lists at bsdforge.com
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D45100

(cherry picked from commit 54cc353f505dbc5f19168b6b1417b6736433d9ae)
DeltaFile
+2-1sys/dev/sound/pci/hda/hdaa_patches.c
+1-0sys/dev/sound/pci/hda/hdac.h
+3-12 files

HardenedBSD/src 71b9b8dsys/arm/allwinner a10_codec.c, sys/arm/broadcom/bcm2835 bcm2835_audio.c

arm: Remove stray references to dev/sound/chip.h

Fixes:          923e0040a59a ("sound: Move chip.h contents to pcm/sound.h")
Reported by:    Jenkins CI
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week

(cherry picked from commit a3513995f549e2e649b89a1fecbfb351d9825bac)
DeltaFile
+0-1sys/arm/broadcom/bcm2835/bcm2835_audio.c
+0-1sys/arm/allwinner/a10_codec.c
+0-1sys/arm/freescale/imx/imx6_ssi.c
+0-1sys/arm/freescale/vybrid/vf_sai.c
+0-44 files

HardenedBSD/src 8bd14f5sys/dev/sound/pcm mixer.c, sys/sys soundcard.h

sound: Add missing oss_mixerinfo devnode and legacy_device fields

They are missing from soundcard.h and are in fact used by some
applications, such as OSS' ossinfo(1):
http://manuals.opensound.com/developer/ossinfo.c.html

The new size for filler is chosen according to the most recent official
version of soundcard.h, which includes those 2 fields.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    dev_submerge.ch
Differential Revision:  https://reviews.freebsd.org/D45137

(cherry picked from commit e6df8c379b0cf2f6d715d4903fcb1f279e38173e)
DeltaFile
+5-6sys/dev/sound/pcm/mixer.c
+3-1sys/sys/soundcard.h
+8-72 files

HardenedBSD/src 00f9d84sys/dev/sound/pcm vchan.c

sound: Update pcm/vchan.c LICENSE header

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week

(cherry picked from commit 2b14465faa8dd9d228b764359672b38b4c8ca8c1)
DeltaFile
+4-0sys/dev/sound/pcm/vchan.c
+4-01 files

HardenedBSD/src d1eaefdsys/dev/sound version.h, sys/dev/sound/pcm sound.c sndstat.c

sound: Remove hw.snd.version and SND_DRV_VERSION

hw.snd.version and SND_DRV_VERSION define the sound driver version and
are meant to be used in bug reports, but because these values are
constant, there is not much useful information we can extract from them.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    dev_submerge.ch, emaste
Differential Revision:  https://reviews.freebsd.org/D44996

(cherry picked from commit 7398d1ece5cfa2e6ce4997234a95115b49c9e818)
DeltaFile
+0-42sys/dev/sound/version.h
+0-10sys/dev/sound/pcm/sound.c
+2-6sys/dev/sound/pcm/sndstat.c
+2-583 files

HardenedBSD/src ab7c01fsys/dev/sound/pcm sound.c vchan.c

sound: Move vchan-related code to pcm/vchan.*

pcm/sound.* contains code that should be part of pcm/vchan.*.

Changes:
- pcm_setvchans() -> vchan_setnew()
- pcm_setmaxautovchans() -> vchan_setmaxauto()
- hw.snd.maxautovchans moved to pcm/vchan.c
- snd_maxautovchans declaration moved to pcm/vchan.h and definition to
  pcm/vchan.c

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    dev_submerge.ch, markj
Differential Revision:  https://reviews.freebsd.org/D45015

(cherry picked from commit 7ad5f383fcb507482d5606c8eb7a324b3621a9db)
DeltaFile
+2-174sys/dev/sound/pcm/sound.c
+172-1sys/dev/sound/pcm/vchan.c
+5-0sys/dev/sound/pcm/vchan.h
+0-2sys/dev/sound/pcm/sound.h
+1-0sys/dev/sound/pcm/feeder.c
+180-1775 files

HardenedBSD/src 00b0cbfsys/dev/sound/pci atiixp.c ich.c, sys/dev/sound/pci/hda hdaa.c

sound: Use nitems() where possible

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj, emaste
Differential Revision:  https://reviews.freebsd.org/D45014

(cherry picked from commit c597c557923288eff527594619a692a44ade909a)
DeltaFile
+6-9sys/dev/sound/pcm/feeder_format.c
+7-4sys/dev/sound/pci/hda/hdaa.c
+3-2sys/dev/sound/pcm/sound.c
+2-2sys/dev/sound/pci/atiixp.c
+2-2sys/dev/sound/pcm/feeder_matrix.c
+2-2sys/dev/sound/pci/ich.c
+22-214 files not shown
+29-2810 files

HardenedBSD/src 17a50absys/dev/sound/pcm vchan.c channel.c

sound: Remove unused "num" argument from chn_init() and related callers

It is always -1 (i.e unused).

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    dev_submerge.ch
Differential Revision:  https://reviews.freebsd.org/D45095

(cherry picked from commit 3af2beb8b24ba21fb7e7fbd165a79b8eeff37712)
DeltaFile
+12-15sys/dev/sound/pcm/vchan.c
+2-9sys/dev/sound/pcm/channel.c
+2-2sys/dev/sound/pcm/sound.c
+2-2sys/dev/sound/pcm/vchan.h
+1-1sys/dev/sound/pcm/channel.h
+19-295 files

HardenedBSD/src 6f6cc93sys/dev/sound/pcm dsp.c sound.h

sound: Remove unused dsp_cdevs[] fields and devices

These fields and devices are unused as of e8c0d15a64fa ("sound: Get rid
of snd_clone and use DEVFS_CDEVPRIV(9)").

While here, remove unused SND_DEV_* defines from pcm/sound.h and convert
the list to an enum.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    dev_submerge.ch, markj
Differential Revision:  https://reviews.freebsd.org/D45013

(cherry picked from commit 72cbd381075a2eb22a070505334d1ce92ec2d7ad)
DeltaFile
+10-47sys/dev/sound/pcm/dsp.c
+11-39sys/dev/sound/pcm/sound.h
+21-862 files

HardenedBSD/src 99e3724sys/dev/sound/pcm vchan.c

sound: Rename pcm_getparentchannel() to vchan_getparentchannel()

Follow the rest of the vchan.c naming convention.

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D45016

(cherry picked from commit 77ab4263bc42a5dcc102bbea39ce4f7f46b8d4f8)
DeltaFile
+7-7sys/dev/sound/pcm/vchan.c
+7-71 files

HardenedBSD/src e14f7d1sys/dev/sound chip.h, sys/dev/sound/pci emu10kx-pcm.c csa.c

sound: Move chip.h contents to pcm/sound.h

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D44997

(cherry picked from commit 923e0040a59af8ac2271d3e673fef1c641d0cce7)
DeltaFile
+0-47sys/dev/sound/chip.h
+16-0sys/dev/sound/pcm/sound.h
+0-1sys/dev/sound/pci/emu10kx-pcm.c
+0-1sys/dev/sound/pci/csa.c
+0-1sys/dev/sound/pci/csamidi.c
+0-1sys/dev/sound/pci/csapcm.c
+16-517 files not shown
+16-5813 files

HardenedBSD/src 2c53a4bsys/dev/sound/pcm sound.c vchan.c

sound: Convert pcm_chn_add() to void

It always returns 0.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj, emaste
Differential Revision:  https://reviews.freebsd.org/D44998

(cherry picked from commit 139bcec852cf2786ca839ca0bddbb2b78a23d6fa)
DeltaFile
+3-11sys/dev/sound/pcm/sound.c
+2-6sys/dev/sound/pcm/vchan.c
+1-1sys/dev/sound/pcm/sound.h
+6-183 files

HardenedBSD/src e6e7bf7sys/dev/sound/pcm sound.c

sound: Add __assert_unreachable() to default cases in pcm_chn_add() and pcm_chn_remove()

We should normally never enter these cases.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj, emaste
Differential Revision:  https://reviews.freebsd.org/D44994

(cherry picked from commit 76f95bae092b7353ff82b7a0056ca5801bb98f76)
DeltaFile
+2-2sys/dev/sound/pcm/sound.c
+2-21 files

HardenedBSD/src 13ee4d7sys/dev/sound/pcm channel.c sound.c

sound: Merge pcm_chn_create() and chn_init()

Follow-up of b3ea087c05d8c75978a302cbb3fa92ce1afa3e49 ("sound: Merge
pcm_chn_destroy() and chn_kill()")

While here, add device_printf()'s to all failure points. Also fix an
existing bug where we'd unlock an already unlocked channel, in case we
went to "out" (now "out2") before locking the channel.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    dev_submerge.ch
Differential Revision:  https://reviews.freebsd.org/D44993

(cherry picked from commit 2e9962ef57044b191431fe9228841e1415574d82)
DeltaFile
+146-21sys/dev/sound/pcm/channel.c
+2-112sys/dev/sound/pcm/sound.c
+2-1sys/dev/sound/pcm/channel.h
+1-1sys/dev/sound/pcm/vchan.c
+0-1sys/dev/sound/pcm/sound.h
+151-1365 files

HardenedBSD/src 0baaaf8sys/dev/sound/pcm channel.c

sound: Remove chn_timeout check from chn_init()

This check is not related to channel initializion, but is also
unnecessary, since sysctl_hw_snd_timeout() takes care of checking if
chn_timeout is within bounds.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D44992

(cherry picked from commit 7cc1afc5589000ac6ad7a908b07fad3401367bd1)
DeltaFile
+0-3sys/dev/sound/pcm/channel.c
+0-31 files

HardenedBSD/src 930b5a3sys/dev/sound/pcm channel.c sound.c

sound: Move pcm_chnref() and pcm_chnrelease() to pcm/channel.c

Improve code layering. These are channel functions, and so they do not
belong in pcm/sound.c.

While here, assert in chn_ref() that new refcount won't be negative.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D44985

(cherry picked from commit a24050e2b784e13561da3ab731a1db92f2e3366c)
DeltaFile
+28-0sys/dev/sound/pcm/channel.c
+0-26sys/dev/sound/pcm/sound.c
+13-13sys/dev/sound/pcm/dsp.c
+0-2sys/dev/sound/pcm/sound.h
+2-0sys/dev/sound/pcm/channel.h
+43-415 files

HardenedBSD/src 532b1efsys/dev/sound/pcm sound.c channel.c

sound: Merge pcm_chn_destroy() and chn_kill()

pcm_chn_destroy() acts like a wrapper around chn_kill(), and
additionally calls a few more functions that should in fact be part of
chn_kill()'s logic. Merge pcm_chn_destroy()'s functionality in
chn_kill() to improve readability, as well as code layering.

While here, convert chn_kill() to void as it currently always returns 0.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D44984

(cherry picked from commit b3ea087c05d8c75978a302cbb3fa92ce1afa3e49)
DeltaFile
+2-24sys/dev/sound/pcm/sound.c
+7-5sys/dev/sound/pcm/channel.c
+3-3sys/dev/sound/pcm/vchan.c
+1-1sys/dev/sound/pcm/channel.h
+0-1sys/dev/sound/pcm/sound.h
+13-345 files

HardenedBSD/src ad677fbsys/dev/sound unit.c unit.h, sys/dev/sound/pcm sound.c dsp.c

sound: Retire unit.*

The unit.* code is largely obsolete and imposes limits that are no
longer needed nowadays.

- Capping the maximum allowed soundcards in a given machine. By default,
  the limit is 512 (snd_max_u() in unit.c), and the maximum possible is
  2048 (SND_UNIT_UMAX in unit.h). It can also be tuned through the
  hw.snd.maxunit loader(8) tunable. Even though these limits are large
  enough that they should never cause problems, there is no need for
  this limit to exist in the first place.
- Capping the available device/channel types. By default, this is 32
  (snd_max_d() in unit.c). However, these types are pre-defined in
  pcm/sound.h (see SND_DEV_*), so the cap is unnecessary when we know
  that their number is constant.
- Capping the number of channels per-device. By default, the limit 1024
  (snd_max_c() in unit.c). This is probably the most problematic of the
  limits mentioned, because this limit can never be reached, as the
  maximum is hard-capped at either hw.snd.maxautovchans (16 by default),

    [26 lines not shown]
DeltaFile
+0-188sys/dev/sound/unit.c
+49-95sys/dev/sound/pcm/sound.c
+12-86sys/dev/sound/pcm/dsp.c
+0-52sys/dev/sound/unit.h
+1-17sys/dev/sound/pcm/sound.h
+3-6sys/dev/sound/pcm/channel.h
+65-4446 files not shown
+71-45412 files