aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* option_survey.sh: Bump size to 5GBMichael Dexter2024-05-231-1/+1
| | | | | | | Increase image size from 4G to 5G to accommodate growth in OS. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1251
* etherswitch.4: List manual pages alphabeticallyTom Hukins2024-05-231-2/+2
| | | | | | Signed-off-by: Tom Hukins <tom@FreeBSD.org> Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1253
* etherswitch.4: Remove non-existent manual pagesTom Hukins2024-05-231-3/+0
| | | | | | Signed-off-by: Tom Hukins <tom@FreeBSD.org> Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1253
* Fix "version introduced" in two manual pagesTom Hukins2024-05-232-2/+2
| | | | | | Signed-off-by: Tom Hukins <tom@FreeBSD.org> Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1252
* libcompiler_rt: gcc13 doesn't support _Float16 on armBrooks Davis2024-05-231-2/+2
| | | | | | Don't set CRT_COMMON_F16_ARCH for arm as it's not supported by gcc13. Differential Revision: https://reviews.freebsd.org/D45234
* libpmc: remove tautological assertBrooks Davis2024-05-231-1/+0
| | | | | | | | gcc13 whines about this assert than an unsigned integer is >= 0. Reviewed by: luporl Fixes: b48a2770d48b9 powerpc64: add Power8 and Power9 PMCs Differential Revision: https://reviews.freebsd.org/D45232
* Fix scn_queue races on very old poolsAlexander Motin2024-05-232-0/+7
| | | | | | | | | | | | | | | | | Code for pools before version 11 uses dmu_objset_find_dp() to scan for children datasets/clones. It calls enqueue_clones_cb() and enqueue_cb() callbacks in parallel from multiple taskq threads. It ends up bad for scan_ds_queue_insert(), corrupting scn_queue AVL-tree. Fix it by introducing a mutex to protect those two scan_ds_queue_insert() calls. All other calls are done from the sync thread and so serialized. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Brian Atkinson <batkinson@lanl.gov> Signed-off-by: Alexander Motin <mav@FreeBSD.org> Sponsored by: iXsystems, Inc. Closes #16162 PR: 278414
* pcm: centralize 32-bit ioctl compatBrooks Davis2024-05-231-66/+29
| | | | | | | | | | | | | Move all handlng of struct sndstioc_nv_arg(32) to sndstat_ioctl() and make the functions that actually do the work take a buffer and size or size pointer. The 32-bit compat work is minimal so just inline it. Remove checks that we've got a 32-bit process for 32-bit ioctls. We don't check that default ioctls are from 64-bit processes on 64-bit systems. Reviewed by: christos Differential Revision: https://reviews.freebsd.org/D45307
* MAC/do: allow to call setuid if real user id is 0Baptiste Daroussin2024-05-231-1/+1
| | | | | This fixed sshd not able to call restore_uid when MAC/do policy is loaded
* Stop treating size 0 as unknown size in vnode_create_vobject().Pawel Jakub Dawidek2024-05-236-18/+51
| | | | | | | | | | | | | | | | | | | | | Whenever file is created, the vnode_create_vobject() function will try to determine its size by calling vn_getsize_locked() as size 0 is ambigious: it means either the file size is 0 or the file size is unknown. Introduce special value for the size argument: VNODE_NO_SIZE. Only when it is given, the vnode_create_vobject() will try to obtain file's size on its own. Introduce dedicated vnode_disk_create_vobject() for use by g_vfs_open(), so we don't have to call vn_isdisk() in the common case (for regular files). Handle the case of mediasize==0 in g_vfs_open(). Reviewed by: alc, kib, markj, olce Approved by: oshogbo (mentor), allanjude (mentor) Differential Revision: https://reviews.freebsd.org/D45244
* freebsd-update: Correctly check if pkg(8) is presentZhenlei Huang2024-05-231-1/+1
| | | | | | | | | | | | | On systems without pkg(8) installed, `command -v pkg` will return success and falsely report that pkg(8) is present. Fix that by checking via the `pkg -N` form. This is missing from the final revision of D39695. Reported by: delphij Reviewed by: fernape, delphij Fixes: bc0c6c9cf3a9 freebsd-update: Add check for kernel modules Differential Revision: https://reviews.freebsd.org/D45292
* arm64: set ATTR_CONTIGUOUS on the DMAP's L2 blocksAlan Cox2024-05-232-32/+237
| | | | | | | | | | | | | | | | On systems configured with 16KB pages, this change creates 1GB page mappings in the direct map where possible. Previously, the largest page size that was used to implement the direct map was 32MB. Similarly, on systems configured with 4KB pages, this change creates 32MB page mappings, instead of 2MB, in the direct map where 1GB is too large. Implement demotion on L2C (32MB/1GB) page mappings within the DMAP. Update sysctl vm.pmap.kernel_maps to report on L2C page mappings. Reviewed by: markj Tested by: gallatin, Eliot Solomon <ehs3@rice.edu> Differential Revision: https://reviews.freebsd.org/D45224
* sound: Fix minchn, maxchn and fmts in sndstat_get_caps()Christos Margiolis2024-05-231-5/+4
| | | | | | | | | | | | | | The current implementation (incorrectly) passes the channel encoding value to AFMT_CHANNEL(), which will always return 0, since the channel number bits are masked out by AFMT_ENCODING(). Also add missing fmts initialization and aggregate encoding formats into it directly. Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: dev_submerge.ch Differential Revision: https://reviews.freebsd.org/D45312
* mixer.3: Fix mandoc -Tlint warningsChristos Margiolis2024-05-231-10/+16
| | | | | | | Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D45290
* mixer(8): Use mixer_get_path()Christos Margiolis2024-05-231-1/+1
| | | | | | | Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: dev_submerge.ch Differential Revision: https://reviews.freebsd.org/D45276
* mixer(3): Implement mixer_get_path() functionChristos Margiolis2024-05-235-3/+68
| | | | | | | | | This is better than hardcoding device paths in mixer applications. Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: dev_submerge.ch Differential Revision: https://reviews.freebsd.org/D45275
* mixer(8): Ignore mixer_open() failures for the -a optionChristos Margiolis2024-05-231-1/+1
| | | | | | | | | | | | | The most likely reason mixer_open() will fail is because either the device doesn't exist, or because it is disabled, so there is not reason to kill the application. Instead, continue and print the rest of the enabled mixers. PR: 277615 Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: dev_submerge.ch Differential Revision: https://reviews.freebsd.org/D45151
* sound: Handle unavailable devices in various OSS IOCTLsChristos Margiolis2024-05-235-119/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mixer(8)'s -a option is used to print information about all mixer devices in the system. To do this, it loops from 0 to mixer_get_nmixers(), and tries to open "/dev/mixer%d". However, this approach doesn't work when there are disabled/unregistered mixers in the system, or when an audio device simply doesn't have a mixer. mixer_get_nmixers() calls SNDCTL_SYSINFO and returns oss_sysinfo->nummixers, whose value is the number of currently _enabled_ mixers only. Taking the bug report mentioned below (277615) as an example, suppose a system with 8 mixer devices total, but 3 of them are either disabled or non-existent, which means they will not show up under /dev, meaning we have 5 enabled mixer devices, which is also what the value of oss_sysinfo->nummixers will be. What mixer(8) will do is loop from 0 to 5 (instead of 8), and start calling mixer_open() on /dev/mixer0, up to /dev/mixer4, and as is expected, the first call will fail right away, hence the error shown in the bug report. To fix this, modify oss_sysinfo->nummixers to hold the value of the maximum unit in the system, which, although not necessarily "correct", is more intuitive for applications that will want to use this value to loop through all mixer devices. Additionally, notify applications that a device is unavailable/unregistered instead of skipping it. The current implementations of SNDCTL_AUDIOINFO, SNDCTL_MIXERINFO and SNDCTL_CARDINFO break applications that expect to get information about a device that is skipped. Related discussion can be found here: https://reviews.freebsd.org/D45135#1029526 It has to be noted, that other applications, apart from mixer(8), suffer from this. PR: 277615 Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: dev_submerge.ch Differential Revision: https://reviews.freebsd.org/D45256
* sound: Separate implementations for SNDCTL_AUDIOINFO[_EX] and SNDCTL_ENGINEINFOChristos Margiolis2024-05-234-25/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FreeBSD's implementation of SNDCTL_AUDIOINFO[_EX] and SNDCTL_ENGINEINFO does not exactly work as intended. The problem is essentially that both IOCTLs return the same information, while in fact the information returned currently by dsp_oss_audioinfo() is what _only_ SNDCTL_ENGINEINFO is meant to return. This behavior is also noted in the OSS manual [1] (see bold paragraph in "Audio engines and device files" section), but since e8c0d15a64fa ("sound: Get rid of snd_clone and use DEVFS_CDEVPRIV(9)") we can actually fix this, because we now expose only a single device for each soundcard, and create the engines (channels) internally. SNDCTL_ENGINEINFO will now report info about all channels in a given device, and SNDCTL_AUDIOINFO[_EX] will only report information about /dev/dspX. To make this work, we also have to modify the SNDCTL_SYSINFO IOCTL to report the number of audio devices and audio engines correctly. While here, modernize the minimum and maximum channel counting in both SNDCTL_AUDIOINFO[_EX] and SNDCTL_ENGINEINFO. Currently these IOCTLs will report only up to 2 channels, which is no longer the case. [1] http://manuals.opensound.com/developer/SNDCTL_AUDIOINFO.html PR: 246231, 252761 Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: dev_submerge.ch Differential Revision: https://reviews.freebsd.org/D45164
* geom: Remove sysctl.hWarner Losh2024-05-222-2/+0
| | | | | | These files don't need sysctl.h, so remove it. Sponsored by: Netflix
* snd_hda: Add patch for Asus UX331UALLutz Bichler2024-05-222-0/+12
| | | | | | PR: 242802 MFC after: 1 day Differential Revision: https://reviews.freebsd.org/D45238
* mqueuefs: mark newly allocated vnode as constructed, under the lockKonstantin Belousov2024-05-221-0/+1
| | | | | Sponsored by: The FreeBSD Foundation MFC after: 1 week
* mqueuefs: uma_zfree() can be postponed until mqfs sx mi_lock is droppedKonstantin Belousov2024-05-221-1/+1
| | | | | Sponsored by: The FreeBSD Foundation MFC after: 1 week
* mqueuefs: minor style passKonstantin Belousov2024-05-221-24/+23
| | | | | | | Also remove not needed inclusion of sys/cdefs.h. Sponsored by: The FreeBSD Foundation MFC after: 1 week
* Fix typoWarner Losh2024-05-221-1/+1
| | | | | | | | | ioclt -> ioctl. <blush> Fixes: 08b452033834 Noticed by: Thomas Mueller and John W. De Boskey Pointy hat to: imp Sponsored by: Netflix
* autofs: Fix cross-threading on file to deleteWarner Losh2024-05-221-1/+1
| | | | | | | | We want to delete the new file, which is installed in man4 not man5. Noticed by: Gary Jennejohn Fixes: a03e8a40d404 Sponsored by: Netflix
* LinuxKPI: 802.11: rename chanctx_conf for consistencyBjoern A. Zeeb2024-05-222-47/+47
| | | | | | | | | | | | | | | We used to call the struct ieee80211_chanctx_conf variable "conf" in some places but that becomes confusing with bss_conf and other "conf" bits. On the vif it is already called chanctx_conf thus also rename it on the internal struct lkpi_chanctx and for our variables in the implementation. This should not have any external visibility. No functional changes intended. Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D45185
* LinuxKPI: 802.11: change teardown order to avoid iwlwifi firmware crashesBjoern A. Zeeb2024-05-221-29/+55
| | | | | | | | | | | | | | | | | | | While the previous order worked well for iwlwifi 22000 and later chipsets (AXxxx, BE200), earlier chipsets had trouble and ran into firmware crashes. Change the teardown order to avoid these problems. The inline comments in lkpi_sta_run_to_init() (and lkpi_disassoc()) try to document the new order and also the old problems we were seeing (too early sta removal or silent non-removal) leading to follow-up problems. There is a possible further problem still lingering but a lot harder to trigger (see comment in review) and likely related to some other doings so we'll track it separately. Sponsored by: The FreeBSD Foundation MFC after: 3 days PR: 275255 Tested with: AX210, 8265 (bz); 9260 (Bakul Shah) Differential Revision: https://reviews.freebsd.org/D45293
* zzz: Fix output formatting when suspend state not supportedOleksandr Kryvulia2024-05-221-3/+2
| | | | | Reviewed by: imp (who also simplified things a little) Differenetial Revision: https://reviews.freebsd.org/D45299
* Add function to OSD to get values without taking the lock.Stephen J. Kiernan2024-05-222-7/+21
| | | | | | | | | | There are some cases of OSD use where the value is only initialized once at a point where successive access of the value can be done so safely without the need to take the lock. Reviewed by: markj Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D44631
* blackhole.4: improve man pageMichael Tuexen2024-05-221-2/+2
| | | | | | | | Not the connection is dropped, but the incoming SYN segment. Reviewed by: concussious.bugzilla_runbox.com MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D45296
* src.conf.5: RegenAndrew Turner2024-05-221-2/+7
|
* arm64: Allow userspace to be built with PAC and BTIAndrew Turner2024-05-227-0/+28
| | | | | | | | | | | | | | | Add the WITH/WITHOUT_BRANCH_PROTECTION build flags. This can be used to enable the use of pointer authentication (FEAT_PAuth) and branch target identification (FEAT_BTI) in userspace. The kernel already handles both of these is userspace, we just need to enable it. Leave disabled for a short period for this to settle before enabling. Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42596
* riscv: Implement atomic operationsRuslan Bukin2024-05-221-5/+32
| | | | | | | | | | | Implement atomic_load_acq_16, atomic_store_rel_16. These are needed by bhyve(8) PCIe bus emulation code. Group 16-bit atomic functions similarly to 32 and 64-bit. Reviewed by: mhorne Differential Revision: https://reviews.freebsd.org/D45228
* riscv: Fix SSTC extension supportRuslan Bukin2024-05-221-2/+5
| | | | | | | | | | | | | | | | From the SSTC spec: "If the stimecmp (supervisor-mode timer compare) register is implemented, then STIP is read-only in mip and reflects the supervisor-level timer interrupt signal resulting from stimecmp. This timer interrupt signal is cleared by writing stimecmp with a value greater than the current time value." This fixes operation in Spike with sstc extension enabled. Example: spike --isa RV64IMAFDCH_zicntr_zihpm_sstc Reviewed by: mhorne Differential Revision: https://reviews.freebsd.org/D45226
* tpm_if.m: declare bus addresses as bus_size_t not bus_addr_tRyan Libby2024-05-222-7/+7
| | | | | | | | | Do like bus_space(9) does. This fixes the build on platforms where bus_addr_t and bus_size_t are different (like i386 PAE). Reviewed by: jhibbits Fixes: c2e9c5bbf022 tpm: Refactor TIS and add a SPI attachment Differential Revision: https://reviews.freebsd.org/D45287
* usr.bin/top: fix displaying load average for loads of at least 100Piotr Kubaj2024-05-221-2/+2
| | | | | | | | | | After top registers load average of at least 100 which then gets reduced to below 100, there are left stray digits. Supporting load over 100 requires increasing the width only to 6, but since we support over 1000 CPU's now, let's increase it to 7. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D45284
* mac_do(4): fix typoBaptiste Daroussin2024-05-221-1/+1
| | | | Reported by: Gary Jennejohn <garyj@gmx.de>
* rc.d: add a service jails config to all base system servicesAlexander Leidinger2024-05-22166-39/+598
| | | | | | | | | | | | | | | | | | | This gives more permissions to services (e.g. network access to services which require this) when they are started as an automatic service jail. The sshd patch is important for the sshd-related functionality as described in the man-page in the service jails part. The location of the added env vars is supposed to allow overriding them in rc.conf, and to hard-disable the use of svcj for some parts where it doesn't make sense or will not work. Only a subset of all of the services are fully tested (I'm running this since more than a year with various services started as service jails). The untested parts should be most of the time ok, in some edge-cases more permissions are needed inside the service jail. Differential Revision: https://reviews.freebsd.org/D40371
* rc: add service jails frameworkAlexander Leidinger2024-05-222-12/+255
| | | | | | | | | | | This takes a rc.d-service and starts it in a jail which shares the same root-path as the host (or parent jail) and may inherit the network from the host (or parent jail). Per service there is the possibility to specify some arguments which give more permissions (e.g. netv4, netv6, sysvipc...). Reviewed by: bcr (man page) Relnotes: yes Differential Revision: https://reviews.freebsd.org/D40370
* arm64: Return newline at the end of NOTES backDmitry Salychev2024-05-221-1/+1
| | | | | | It fixes LINT kernel build after ac4ddc467bfe. MFC after: 3 days
* RELNOTES: document MAC/doBaptiste Daroussin2024-05-221-0/+4
|
* mac_do: add a new MAC/do policy and mdo(1) utilityBaptiste Daroussin2024-05-229-0/+757
| | | | | | | | | | | | | | | | | | | This policy enables a user to become another user without having to be root (hence no setuid binary). it is configured via rules using sysctl security.mac.do.rules For example: security.mac.do.rules=uid=1001:80,gid=0:any The above rule means the user identifier by the uid 1001 is able to become user 80 Any user of the group 0 are allowed to become any user on the system. The mdo(1) utility expects the MAC/do policy to be installed and its rules defined. Reviewed by: des Differential Revision: https://reviews.freebsd.org/D45145
* arm64: Fixed IOMMU compilation errorsDmitry Salychev2024-05-223-6/+7
| | | | | | | | | | These are missing changes after 1228b93b410a when ref_count was removed from bus_dma_tag_common and 1e3f42b6bad5, when the address arguments were switched to pointers. Reviewed by: jhb MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D45289
* sys: Build arm64 per-thread SSP with GCCAndrew Turner2024-05-221-1/+2
| | | | | | | | | It has been supported since GCC 9. It is unlikely anything older than that will build the kernel so mark it as supported by GCC. Reviewed by: brooks, jhb Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45267
* dev/hwpmc: Fix the dmc620 MD4 macroAndrew Turner2024-05-221-1/+1
| | | | | | | | Add braces to the dmc620 MD4 macro to fix the GCC build. Reviewed by: brooks, imp, jhb Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45266
* pci: Fix pci_host_generic_acpi with gccAndrew Turner2024-05-221-3/+2
| | | | | | | | | | | | | In pci_host_generic_acpi.c we loop over pci_acpi_quirks to check if we need to handle any quirks. GCC doesn't like the terminatin as it sets a fixed width string to 0. As this the array is only ever used in this file change to use nitems to find when to stop the loop. Reviewed by: brooks, imp, jhb, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45265
* arm64/rockchip: Fix the build with GCCAndrew Turner2024-05-221-1/+1
| | | | | | | | | We were missing brackets in GPIO_FLAGS_PINCTRL. Without them GCC complains a use is ambiguous. Fix by adding the needed brackets. Reviewed by: manu, brooks, imp, jhb, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45264
* arm64: Use the pointer auth register definesAndrew Turner2024-05-221-17/+15
| | | | | | | | | | | When building with gcc it complains the pointer authentication registers aren't valid with the architecture level we are targeting. Fix this by using the alternative spelling of these registers accesses through MRS_REG_ALT_NAME. Reviewed by: jhb Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45263
* arm64: Add the pointer auth registers to armreg.hAndrew Turner2024-05-221-0/+80
| | | | | | | | | Add the pointer authentication registers to armreg.h. These will be used to support pointer authentication in a kernel built with GCC. Reviewed by: jhb Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45262