1. 12 Mar, 2021 16 commits
  2. 11 Mar, 2021 13 commits
    • Warner Losh's avatar
      SPDX: Spell 4 clause BSD license correctly · ba5de7e9
      Warner Losh authored
      ba5de7e9
    • Mark Johnston's avatar
      gmirror: Pre-allocate the timeout event structure · 2f1cfb7f
      Mark Johnston authored
      We can't call malloc(M_WAITOK) in a callout handler.
      
      Reviewed by:	imp
      Reported by:	pho
      Tested by:	pho
      MFC after:	1 week
      Sponsored by:	The FreeBSD Foundation
      Differential Revision:	https://reviews.freebsd.org/D29223
      2f1cfb7f
    • Edward Tomasz Napierala's avatar
      development(7): update to reflect Git transition · d28cbb79
      Edward Tomasz Napierala authored
      Reviewed By:	debdrup, imp (earlier version)
      Sponsored By:	EPSRC
      Differential Revision:	https://reviews.freebsd.org/D28939
      d28cbb79
    • Warner Losh's avatar
      man: Remove obsolete info from hosts man page · c22076b5
      Warner Losh authored
      The NIC no longer provides a host database, and hasn't for quite some
      time. Remove that paragraph, it's not been relevant for many years. Also, hosts
      appeared in 4.1c, not 4.2, so correct that too.
      
      Noticed by: Henry Bent
      c22076b5
    • Warner Losh's avatar
      nvme: use config_intrhook_drain to avoid removable card races · 8423f5d4
      Warner Losh authored
      nvme drives are configured early in boot. However, a number of the configuration
      steps takes which take a while, so we defer those to a config intrhook that runs
      before the root filesystem is mounted. At the same time, the PCI hot plug wakes
      up and tests the status of the card. It may decide that the card has gone away
      and deletes the child. As part of that process nvme_detach is called. If this
      call happens after the config_intrhook starts to run, but before it is finished,
      there's a race where we can tear down the device's soft state while the
      config_intrhook is still using it. Use the new config_intrhook_drain to
      disestablish the hook. Either it will be removed w/o running, or the routine
      will wait for it to finish. This closes the race and allows safe hotplug at any
      time, even very early in boot.
      
      Sponsored by:		Netflix, Inc
      Reviewed by:		jhb, mav
      Differential Revision:	https://reviews.freebsd.org/D29006
      8423f5d4
    • Warner Losh's avatar
      config_intrhook: provide config_intrhook_drain · e5236836
      Warner Losh authored
      config_intrhook_drain will remove the hook from the list as
      config_intrhook_disestablish does if the hook hasn't been called.  If it has,
      config_intrhook_drain will wait for the hook to be disestablished in the normal
      course (or expedited, it's up to the driver to decide how and when
      to call config_intrhook_disestablish).
      
      This is intended for removable devices that use config_intrhook and might be
      attached early in boot, but that may be removed before the kernel can call the
      config_intrhook or before it ends. To prevent all races, the detach routine will
      need to call config_intrhook_train.
      
      Sponsored by:		Netflix, Inc
      Reviewed by:		jhb, mav, gde (in D29006 for man page)
      Differential Revision:	https://reviews.freebsd.org/D29005
      e5236836
    • Edward Tomasz Napierala's avatar
      linsysfs: create /sys/bus/ and /sys/subsystem/ · dc0119c2
      Edward Tomasz Napierala authored
      This looks like a no-op, but it prevents udevadm(8) with failing
      loudly, which in turn unbreaks installation of libfprint-2-2, which
      in Focal is a dependency for make-4.2.1-1.2.
      
      One might wonder why installing a build utility involves messing
      with device handling...
      
      Sponsored By:	The FreeBSD Foundation
      Differential Revision:	https://reviews.freebsd.org/D29133
      dc0119c2
    • Mark Johnston's avatar
      vm_reserv: Fix list locking in vm_reserv_reclaim_contig() · 968079f2
      Mark Johnston authored
      The per-domain partpop queue is locked by the combination of the
      per-domain lock and individual reservation mutexes.
      vm_reserv_reclaim_contig() scans the queue looking for partially
      populated reservations that can be reclaimed in order to satisfy the
      caller's allocation.
      
      During the scan, we drop the per-domain lock.  At this point, the rvn
      pointer may be invalidated.  Take care to load rvn after re-acquiring
      the per-domain lock.
      
      While here, simplify the condition used to check whether a reservation
      was dequeued while the per-domain lock was dropped.
      
      Reviewed by:	alc, kib
      Reported by:	gallatin
      MFC after:	3 days
      Sponsored by:	The FreeBSD Foundation
      Differential Revision:	https://reviews.freebsd.org/D29203
      968079f2
    • Warner Losh's avatar
      usb: tiny formatting nit · 1645a4ae
      Warner Losh authored
      Format 300 baud like all the others here. No functional change.
      1645a4ae
    • Kristof Provost's avatar
      pf: Remove redundant kif != NULL checks · 913e7dc3
      Kristof Provost authored
      pf_kkif_free() already checks for NULL, so we don't have to check before
      we call it.
      
      Reviewed by:	melifaro@
      MFC after:	1 week
      Sponsored by:	Rubicon Communications, LLC ("Netgate")
      Differential Revision:	https://reviews.freebsd.org/D29195
      913e7dc3
    • Kristof Provost's avatar
      pf: Factor out pf_krule_free() · 5e9dae8e
      Kristof Provost authored
      Reviewed by:	melifaro@
      MFC after:	1 week
      Sponsored by:	Rubicon Communications, LLC ("Netgate")
      Differential Revision:	https://reviews.freebsd.org/D29194
      5e9dae8e
    • Oskar Holmund's avatar
      usr.sbin/pwm/pwm add support for flags · 17b14d8f
      Oskar Holmund authored
      The pwm utility cant set the only flag defined (PWM_POLARITY_INVERTED) so this
      patch add the option -I (capital letter i) to send it to the drivers.
      
      None of existing PWM driver have implemented support for flags.
      But soon:ish I will put up an review of a pwm driver using TI OMAP DMTimer.
      
      Differential Revision: https://reviews.freebsd.org/D29137
      MFC after:   2 weeks
      17b14d8f
    • Oskar Holmund's avatar
      share/man/man9/pwmbus.9 fix types in arguments · 7d4a5de8
      Oskar Holmund authored
      Fix the types of period and duty in share/man/man9/pwmbus.9 to match the one in sys/dev/pmw/pwmbus.c.
      
      Reviewed By: rpokala
      Differential Revision: https://reviews.freebsd.org/D29139
      MFC after:   3 days
      7d4a5de8
  3. 10 Mar, 2021 11 commits
    • Greg V's avatar
      kern.mk: fix -Wno-error style to fix build with Clang 12 · 15565e0a
      Greg V authored
      Clang 12 no longer supports -Wno-error-..., only the -Wno-error=...
      style (which is already used everywhere else in the tree).
      
      Differential Revision:	https://reviews.freebsd.org/D29157
      15565e0a
    • Alexander V. Chernikov's avatar
      Flush remaining routes from the routing table during VNET shutdown. · b1d63265
      Alexander V. Chernikov authored
      Summary:
      This fixes rtentry leak for the cloned interfaces created inside the
       VNET.
      
      PR:	253998
      Reported by:	rashey at superbox.pl
      MFC after:	3 days
      
      Loopback teardown order is `SI_SUB_INIT_IF`, which happens after `SI_SUB_PROTO_DOMAIN` (route table teardown).
      Thus, any route table operations are too late to schedule.
      As the intent of the vnet teardown procedures to minimise the amount of effort by doing global cleanups instead of per-interface ones, address this by adding a relatively light-weight routing table cleanup function, `rib_flush_routes()`.
      It removes all remaining routes from the routing table and schedules the deletion, which will happen later, when `rtables_destroy()` waits for the current epoch to finish.
      
      Test Plan:
      ```
      set_skip:set_skip_group_lo  ->  passed  [0.053s]
      tail -n 200 /var/log/messages | grep rtentry
      ```
      
      Reviewers: #network, kp, bz
      
      Reviewed By: kp
      
      Subscribers: imp, ae
      
      Differential Revision: https://reviews.freebsd.org/D29116
      b1d63265
    • John Baldwin's avatar
      ktls: Fix non-inplace TLS 1.3 encryption. · 3fa03421
      John Baldwin authored
      Copy the iovec for the trailer from the proper place.  This is the same
      fix for CBC encryption from ff6a7e4b.
      
      Reported by:	gallatin
      Reviewed by:	gallatin, markj
      Fixes:		49f6925c
      Sponsored by:	Netflix
      Differential Revision:	https://reviews.freebsd.org/D29177
      3fa03421
    • Alexander Motin's avatar
      Move time math out of disabled interrupts sections. · 2cee045b
      Alexander Motin authored
      We don't need the result before next sleep time, so no reason to
      additionally increase interrupt latency.
      
      While there, remove extra PM ticks to microseconds conversion, making
      C2/C3 sleep times look 4 times smaller than really.  The conversion
      is already done by AcpiGetTimerDuration().  Now I see reported sleep
      times up to 0.5s, just as expected for planned 2 wakeups per second.
      
      MFC after:	1 month
      2cee045b
    • Olivier Houchard's avatar
      arm64: Fix COMPAT_FREEBSD32. · c328f64d
      Olivier Houchard authored
      The ENTRY() macro was modified by commit
      28d94520 to add an optional NOP instruction
      at the beginning of the function. It is of course an arm64 instruction, so
      unsuitable for the 32bits sigcode. So just use EENTRY() instead for
      aarch32_sigcode. This should fix receiving signals when running 32bits
      binaries on FreeBSD/arm64.
      
      MFC After: 1 week
      c328f64d
    • Dag-Erling Smørgrav's avatar
      Fix post-start check when unbound.conf has moved. · 409388cf
      Dag-Erling Smørgrav authored
      Reported by:	phk@
      MFC after:	1 week
      409388cf
    • Dag-Erling Smørgrav's avatar
      Fix local-unbound setup for some IPv6 deployments. · e5f02c14
      Dag-Erling Smørgrav authored
      PR:		250984
      MFC after:	1 week
      e5f02c14
    • Mitchell Horne's avatar
      ns8250: don't drop IER_TXRDY on bus_grab/ungrab · 7e7f7bee
      Mitchell Horne authored
      It has been observed that some systems are often unable to resume from
      ddb after entering with debug.kdb.enter=1. Checking the status further
      shows the terminal is blocked waiting in tty_drain(), but it never makes
      progress in clearing the output queue, because sc->sc_txbusy is high.
      
      I noticed that when entering polling mode for the debugger, IER_TXRDY is
      set in the failure case. Since this bit is never tracked by the softc,
      it will not be restored by ns8250_bus_ungrab(). This creates a race in
      which a TX interrupt can be lost, creating the hang described above.
      Ensuring that this bit is restored is enough to prevent this, and resume
      from ddb as expected.
      
      The solution is to track this bit in the sc->ier field, for the same
      lifetime that TX interrupts are enabled.
      
      PR:		223917, 240122
      Reviewed by:	imp, manu
      Tested by:	bz
      MFC after:	5 days
      Sponsored by:	The FreeBSD Foundation
      Differential Revision:	https://reviews.freebsd.org/D29130
      7e7f7bee
    • Alex Richardson's avatar
      Arch64: Clear VFP state on execve() · 953a7d7c
      Alex Richardson authored
      I noticed that many of the math-related tests were failing on AArch64.
      After a lot of debugging, I noticed that the floating point exception flags
      were not being reset when starting a new process. This change resets the
      VFP inside exec_setregs() to ensure no VFP register state is leaked from
      parent processes to children.
      
      This commit also moves the clearing of fpcr that was added in 65618fdd
      from fork() to execve() since that makes more sense: fork() can retain
      current register values, but execve() should result in a well-defined
      clean state.
      
      Reviewed By:	andrew
      MFC after:	1 week
      Differential Revision: https://reviews.freebsd.org/D29060
      953a7d7c
    • Hans Petter Selasky's avatar
      Allocating the LinuxKPI current structure from a software interrupt thread · dfb33cb0
      Hans Petter Selasky authored
      must be done using the M_NOWAIT flag after 1ae20f7c .
      
      MFC after:	1 week
      Sponsored by:	Mellanox Technologies // NVIDIA Networking
      dfb33cb0
    • Hans Petter Selasky's avatar
      Use the word "LinuxKPI" instead of "Linux compatibility", to not confuse with · 6eb60f5b
      Hans Petter Selasky authored
      user-space Linux compatibility support. No functional change.
      
      MFC after:	1 week
      Sponsored by:	Mellanox Technologies // NVIDIA Networking
      6eb60f5b