Displaying 1 50 of 36,311 commits (0.009s)

DragonFlyBSD — lib/libc/stdio mktemp.3

mktemp.3: Fix a typo and bump .Dd
Delta File
+2 -3 lib/libc/stdio/mktemp.3
+2 -3 1 file

DragonFlyBSD — lib/libc/stdio mktemp.3

mktemp.3: Fix a typo and bump .Dd
Delta File
+2 -3 lib/libc/stdio/mktemp.3
+2 -3 1 file

DragonFlyBSD — bin/ed main.c

ed(1): Remove handling of non-POSIX environment.
Delta File
+1 -14 bin/ed/main.c
+1 -14 1 file

DragonFlyBSD — sys/kern kern_fork.c

kernel - Be nicer to pthreads in vfork()

* When vfork()ing, give the new sub-process's lwp the same TID as the one
  that called vfork().  Even though user processes are not supposed to do
  anything sophisticated inside a vfork() prior to exec()ing, some things
  such as fileno() having to lock in a threaded environment might not be
  apparent to the programmer.

* By giving the sub-process the same TID, operations done inside the
  vfork() prior to exec that interact with pthreads will not confuse
  pthreads and cause corruption due to e.g. TID 0 clashing with TID 0
  running in the parent that is running concurrently.
Delta File
+14 -2 sys/kern/kern_fork.c
+14 -2 1 file

DragonFlyBSD — bin/ed io.c main.c

ed(1): Sync with FreeBSD.
Delta File
+19 -10 bin/ed/io.c
+7 -5 bin/ed/main.c
+3 -6 bin/ed/cbc.c
+2 -2 bin/ed/ed.1
+2 -2 bin/ed/glbl.c
+1 -1 bin/ed/Makefile
+34 -26 6 files

DragonFlyBSD — lib/libc/gen popen.c

libc - Fix more popen() issues

* Fix a file descriptor leak between popen() and pclose() in a threaded
  environment.  The control structure is removed from the list, then the
  list is unlocked, then the file is closed.  This can race a popen
  inbetween the unlock and the closure.

* Do not use fileno() inside vfork, it is a complex function in a threaded
  environment which could lead to corruption since the vfork()'s lwp id may
  clash with one from the parent process.
Delta File
+5 -1 lib/libc/gen/popen.c
+5 -1 1 file

DragonFlyBSD — sys/kern kern_exec.c kern_exit.c

kernel - Fix getpid() issue in vfork() when threaded

* upmap->invfork was a 0 or 1, but in a threaded program it is possible
  for multiple threads to be in vfork() at the same time.  Change invfork
  to a count.

* Fixes improper getpid() return when concurrent vfork()s are occuring in
  a threaded program.

DragonFlyBSD — sys/dev/drm/include/linux pci.h

drm/linux: Clean-up pci_resource_start()

Making it less verbose
Delta File
+10 -8 sys/dev/drm/include/linux/pci.h
+10 -8 1 file

DragonFlyBSD — sys/kern kern_clock.c, usr.bin/systat vmmeter.c

systat - Restrict %rip sampling to root

* Only allow root to sample the %rip and %rsp on all cpus.  The sysctl will
  not sample and return 0 for these fields if the uid is not root.

  This is for security, as %rip sampling can be used to break cryptographic
  keys.

* systat -pv 1 will not display the sampling columns if the sample value
  is 0.
Delta File
+19 -8 usr.bin/systat/vmmeter.c
+16 -3 sys/kern/kern_clock.c
+35 -11 2 files

DragonFlyBSD — sys/kern kern_clock.c, usr.bin/systat vmmeter.c

systat - Restrict %rip sampling to root

* Only allow root to sample the %rip and %rsp on all cpus.  The sysctl will
  not sample and return 0 for these fields if the uid is not root.

  This is for security, as %rip sampling can be used to break cryptographic
  keys.

* systat -pv 1 will not display the sampling columns if the sample value
  is 0.
Delta File
+19 -8 usr.bin/systat/vmmeter.c
+16 -3 sys/kern/kern_clock.c
+35 -11 2 files

DragonFlyBSD — test/sysperf umtx1.c Makefile

test - Add umtx1 code

* Add umtx1 code - fast context switch tests

* Make blib.c thread-safe.

DragonFlyBSD — test/sysperf umtx1.c Makefile

test - Add umtx1 code

* Add umtx1 code - fast context switch tests

* Make blib.c thread-safe.

DragonFlyBSD — include stdlib.h, lib/libc/db/btree bt_open.c

libc - Fix numerous fork/exec*() leaks, also add mkostemp() and mkostemps().

* Use O_CLOEXEC in many places to prevent temporary descriptors from leaking
  into fork/exec'd code (e.g. in multi-threaded situations).

* Note that the popen code will close any other popen()'d descriptors in
  the child process that it forks just prior to exec.  However, there was
  a descriptor leak where another thread issuing popen() at the same time
  could leak the descriptors into their exec.

  Use O_CLOEXEC to close this hole.

* popen() now accepts the 'e' flag (i.e. "re") to retain O_CLOEXEC in the
  returned descriptor.  Normal "r" (etc) will clear O_CLOEXEC in the returned
  descriptor.

  Note that normal "r" modes are still fine for most use cases since popen
  properly closes other popen()d descriptors in the fork().  BUT!! If the
  threaded program calls exec*() in other ways, such descriptors may
  unintentionally be passed onto sub-processes.  So consider using "re".

* Add mkostemp() and mkostemps() to allow O_CLOEXEC to be passed in,
  closing a thread race that would otherwise leak the temporary descriptor
  into other fork/exec()s.

Taken-from: Mostly taken from FreeBSD

DragonFlyBSD — include stdlib.h, lib/libc/db/btree bt_open.c

libc - Fix numerous fork/exec*() leaks, also add mkostemp() and mkostemps().

* Use O_CLOEXEC in many places to prevent temporary descriptors from leaking
  into fork/exec'd code (e.g. in multi-threaded situations).

* Note that the popen code will close any other popen()'d descriptors in
  the child process that it forks just prior to exec.  However, there was
  a descriptor leak where another thread issuing popen() at the same time
  could leak the descriptors into their exec.

  Use O_CLOEXEC to close this hole.

* popen() now accepts the 'e' flag (i.e. "re") to retain O_CLOEXEC in the
  returned descriptor.  Normal "r" (etc) will clear O_CLOEXEC in the returned
  descriptor.

  Note that normal "r" modes are still fine for most use cases since popen
  properly closes other popen()d descriptors in the fork().  BUT!! If the
  threaded program calls exec*() in other ways, such descriptors may
  unintentionally be passed onto sub-processes.  So consider using "re".

* Add mkostemp() and mkostemps() to allow O_CLOEXEC to be passed in,
  closing a thread race that would otherwise leak the temporary descriptor
  into other fork/exec()s.

Taken-from: Mostly taken from FreeBSD

DragonFlyBSD — sys/platform/pc64/x86_64 swtch.s

kernel - Disable lwp->lwp optimization in thread switcher

* Put #ifdef around the existing lwp->lwp switch optimization and then
  disable it.  This optimizations tries to avoid reloading %cr3 and avoid
  pmap->pm_active atomic ops when switching to a lwp that shares the same
  process.

  This optimization is no longer applicable on multi-core systems as such
  switches are very rare.  LWPs are usually distributed across multiple cores
  so rarely does one switch to another on the same core (and in cpu-bound
  situations, the scheduler will already be in batch mode).  The conditionals
  in the optimization, on the other hand, did measurably (just slightly)
  reduce performance for normal switches.  So turn it off.

* Implement an optimization for interrupt preemptions, but disable it for
  now.  I want to keep the code handy but so far my tests show no improvement
  in performance with huge interrupt rates (from nvme devices), so it is
  #undef'd for now.
Delta File
+111 -21 sys/platform/pc64/x86_64/swtch.s
+111 -21 1 file

DragonFlyBSD — sys/platform/pc64/x86_64 swtch.s

kernel - Disable lwp->lwp optimization in thread switcher

* Put #ifdef around the existing lwp->lwp switch optimization and then
  disable it.  This optimizations tries to avoid reloading %cr3 and avoid
  pmap->pm_active atomic ops when switching to a lwp that shares the same
  process.

  This optimization is no longer applicable on multi-core systems as such
  switches are very rare.  LWPs are usually distributed across multiple cores
  so rarely does one switch to another on the same core (and in cpu-bound
  situations, the scheduler will already be in batch mode).  The conditionals
  in the optimization, on the other hand, did measurably (just slightly)
  reduce performance for normal switches.  So turn it off.

* Implement an optimization for interrupt preemptions, but disable it for
  now.  I want to keep the code handy but so far my tests show no improvement
  in performance with huge interrupt rates (from nvme devices), so it is
  #undef'd for now.
Delta File
+111 -21 sys/platform/pc64/x86_64/swtch.s
+111 -21 1 file

DragonFlyBSD — sys/platform/pc64/x86_64 swtch.s

kernel - Minor cleanup swtch.s

* Minor cleanup
Delta File
+1 -11 sys/platform/pc64/x86_64/swtch.s
+1 -11 1 file

DragonFlyBSD — sys/platform/pc64/x86_64 swtch.s

kernel - Minor cleanup swtch.s

* Minor cleanup
Delta File
+1 -11 sys/platform/pc64/x86_64/swtch.s
+1 -11 1 file

DragonFlyBSD — sys/kern vfs_cache.c vfs_nlookup.c

kernel - Fix namecache race & panic

* Properly lock and re-check the parent association when iterating its
  children, fixing a bug in a code path associated with unmounting
  filesystems.

  The code improperly assumed that there could be no races because there
  are were no accessors left.  In fact, under heavy loads, the namecache
  scan in this routine can race against the negative-name-cache management
  code.

* Generally speaking can only happen when lots of mounts and unmounts are
  done under heavy loads (for example, tmpfs mounts during a poudriere or
  synth run).
Delta File
+66 -14 sys/kern/vfs_cache.c
+5 -2 sys/kern/vfs_nlookup.c
+71 -16 2 files

DragonFlyBSD — sys/kern vfs_cache.c vfs_nlookup.c

kernel - Fix namecache race & panic

* Properly lock and re-check the parent association when iterating its
  children, fixing a bug in a code path associated with unmounting
  filesystems.

  The code improperly assumed that there could be no races because there
  are were no accessors left.  In fact, under heavy loads, the namecache
  scan in this routine can race against the negative-name-cache management
  code.

* Generally speaking can only happen when lots of mounts and unmounts are
  done under heavy loads (for example, tmpfs mounts during a poudriere or
  synth run).
Delta File
+66 -14 sys/kern/vfs_cache.c
+5 -2 sys/kern/vfs_nlookup.c
+71 -16 2 files

DragonFlyBSD — sys/kern init_main.c lwkt_thread.c, sys/platform/pc64/x86_64 swtch.s genassym.c

kernel - Reduce atomic ops in switch code

* Instead of using four atomic 'and' ops and four atomic 'or' ops, use
  one atomic 'and' and one atomic 'or' when adjusting the pmap->pm_active.

* Store the array index and simplified cpu mask in the globaldata structure
  for the above operation.

DragonFlyBSD — sys/kern init_main.c lwkt_thread.c, sys/platform/pc64/x86_64 swtch.s genassym.c

kernel - Reduce atomic ops in switch code

* Instead of using four atomic 'and' ops and four atomic 'or' ops, use
  one atomic 'and' and one atomic 'or' when adjusting the pmap->pm_active.

* Store the array index and simplified cpu mask in the globaldata structure
  for the above operation.

DragonFlyBSD — sys/cpu/x86_64/include cpumask.h

kernel - refactor CPUMASK_ADDR()

* Refactor CPUMASK_ADDR(), removing the conditionals and just indexing the
  array as appropriate.
Delta File
+1 -4 sys/cpu/x86_64/include/cpumask.h
+1 -4 1 file

DragonFlyBSD — sys/cpu/x86_64/include cpumask.h

kernel - refactor CPUMASK_ADDR()

* Refactor CPUMASK_ADDR(), removing the conditionals and just indexing the
  array as appropriate.
Delta File
+1 -4 sys/cpu/x86_64/include/cpumask.h
+1 -4 1 file

DragonFlyBSD — sys/vm vm_object.c

kernel - Fix VM bug introduced earlier this month

* Adding the yields to the VM page teardown and related code was a great
  idea (~Jul 10th commits), but it also introduced a bug where the page
  could get torn-out from under the scan due to the vm_object's token being
  temporarily lost.

* Re-check page object ownership and (when applicable) its pindex before
  acting on the page.
Delta File
+52 -1 sys/vm/vm_object.c
+52 -1 1 file

DragonFlyBSD — sys/vm vm_object.c

kernel - Fix VM bug introduced earlier this month

* Adding the yields to the VM page teardown and related code was a great
  idea (~Jul 10th commits), but it also introduced a bug where the page
  could get torn-out from under the scan due to the vm_object's token being
  temporarily lost.

* Re-check page object ownership and (when applicable) its pindex before
  acting on the page.
Delta File
+52 -1 sys/vm/vm_object.c
+52 -1 1 file

DragonFlyBSD — lib/libdevstat devstat.c, usr.bin/systat vmstat.c swap.c

systat - Refactor memory displays for systat -vm

* Report paging and swap activity in bytes and I/Os instead of pages and
  I/Os (I/Os usually matched pages).

* Report zfod and cow in bytes instead of pages.

* Replace the REAL and VIRTUAL section with something that makes a bit
  more sense.

  Report active memory (this is just active pages), kernel memory
  (currently just wired but we can add more stuff later), Free
  (inactive + cache + free is considered free/freeable memory), and
  total system memory as reported at boot time.

  Report total RSS - basically how many pages the system is mapping to
  user processes.  Due to sharing this can be a large value.

  Do not try to report aggregate VSZ as there's no point in doing so
  any more.

  Reported swap usage on the main -vm display as well as total swap
  allocated.

* Fix display bug in systat -sw display.

    [2 lines not shown]

DragonFlyBSD — lib/libdevstat devstat.c, usr.bin/systat vmstat.c swap.c

systat - Refactor memory displays for systat -vm

* Report paging and swap activity in bytes and I/Os instead of pages and
  I/Os (I/Os usually matched pages).

* Report zfod and cow in bytes instead of pages.

* Replace the REAL and VIRTUAL section with something that makes a bit
  more sense.

  Report active memory (this is just active pages), kernel memory
  (currently just wired but we can add more stuff later), Free
  (inactive + cache + free is considered free/freeable memory), and
  total system memory as reported at boot time.

  Report total RSS - basically how many pages the system is mapping to
  user processes.  Due to sharing this can be a large value.

  Do not try to report aggregate VSZ as there's no point in doing so
  any more.

  Reported swap usage on the main -vm display as well as total swap
  allocated.

* Fix display bug in systat -sw display.

    [2 lines not shown]

DragonFlyBSD — lib/libc/gen sysconf.3

sysconf.3: Fix typo.
Delta File
+1 -1 lib/libc/gen/sysconf.3
+1 -1 1 file

DragonFlyBSD — lib/libc/gen sysconf.3

sysconf.3: Fix typo.
Delta File
+1 -1 lib/libc/gen/sysconf.3
+1 -1 1 file

DragonFlyBSD — lib/libc/stdtime strptime.c

libc/strptime: Return NULL, not 0, since the function returns char *.

While here, accept 'UTC' for %Z as well.

Taken-from: FreeBSD
Delta File
+42 -41 lib/libc/stdtime/strptime.c
+42 -41 1 file

DragonFlyBSD — lib/libc/stdtime strptime.c

libc/strptime: Return NULL, not 0, since the function returns char *.

While here, accept 'UTC' for %Z as well.

Taken-from: FreeBSD
Delta File
+42 -41 lib/libc/stdtime/strptime.c
+42 -41 1 file

DragonFlyBSD — sys/kern vfs_syscalls.c

kernel - Fix mountctl() / unmount race

* kern_mountctl() now properly checks to see if an unmount is in-progress
  and returns an error, fixing a later panic.
Delta File
+11 -1 sys/kern/vfs_syscalls.c
+11 -1 1 file

DragonFlyBSD — sys/kern vfs_syscalls.c

kernel - Fix mountctl() / unmount race

* kern_mountctl() now properly checks to see if an unmount is in-progress
  and returns an error, fixing a later panic.
Delta File
+11 -1 sys/kern/vfs_syscalls.c
+11 -1 1 file

DragonFlyBSD — sbin/mount mount.c, sbin/mountd mountd.c

mountd, mount - Change how mount signals mountd, reduce mountd spam

* mount now signals mountd with SIGUSR1 instead of SIGHUP.

* mountd now recognizes SIGUSR1 as requesting an incremental update.
  Instead of wiping all exports on all mounts and then re-scanning
  the exports file and re-adding from the exports file, mountd will
  now only wipe the export(s) on mounts it finds in the exports file.

* Greatly reduces unnecessary mountlist scans and commands due to
  mount_null and mount_tmpfs operations, while still preserving our
  ability to export such filesystems.
Delta File
+70 -38 sbin/mountd/mountd.c
+1 -1 sbin/mount/mount.c
+71 -39 2 files

DragonFlyBSD — sbin/mount mount.c, sbin/mountd mountd.c

mountd, mount - Change how mount signals mountd, reduce mountd spam

* mount now signals mountd with SIGUSR1 instead of SIGHUP.

* mountd now recognizes SIGUSR1 as requesting an incremental update.
  Instead of wiping all exports on all mounts and then re-scanning
  the exports file and re-adding from the exports file, mountd will
  now only wipe the export(s) on mounts it finds in the exports file.

* Greatly reduces unnecessary mountlist scans and commands due to
  mount_null and mount_tmpfs operations, while still preserving our
  ability to export such filesystems.
Delta File
+70 -38 sbin/mountd/mountd.c
+1 -1 sbin/mount/mount.c
+71 -39 2 files

DragonFlyBSD — sys/kern vfs_cache.c vfs_syscalls.c

kernel - Close a few SMP holes

* Don't trust the compiler when loading refs in cache_zap().  Make sure
  it doesn't reorder or re-use the memory reference.

* In cache_nlookup() and cache_nlookup_maybe_shared(), do a full re-test
  of the namecache element after locking instead of a partial re-test.

* Lock the namecache record in two situations where we need to set a
  flag.  Almost all other flag cases require similar locking.  This fixes
  a potential SMP race in a very thin window during mounting.

* Fix unmount / access races in sys_vquotactl() and, more importantly, in
  sys_mount().  We were disposing of the namecache record after extracting
  the mount pointer, then using the mount pointer.  This could race an
  unmount and result in a corrupt mount pointer.

  Change the code to dispose of the namecache record after we finish using
  the mount point.  This is somewhat more complex then I'd like, but it
  is important to unlock the namecache record across the potentially
  blocking operation to prevent a lock chain from propagating upwards
  towards the root.

* Enhanced debugging for the namecache teardown case when nc_refs changes
  unexpectedly.

    [2 lines not shown]

DragonFlyBSD — sys/kern vfs_cache.c vfs_syscalls.c

kernel - Close a few SMP holes

* Don't trust the compiler when loading refs in cache_zap().  Make sure
  it doesn't reorder or re-use the memory reference.

* In cache_nlookup() and cache_nlookup_maybe_shared(), do a full re-test
  of the namecache element after locking instead of a partial re-test.

* Lock the namecache record in two situations where we need to set a
  flag.  Almost all other flag cases require similar locking.  This fixes
  a potential SMP race in a very thin window during mounting.

* Fix unmount / access races in sys_vquotactl() and, more importantly, in
  sys_mount().  We were disposing of the namecache record after extracting
  the mount pointer, then using the mount pointer.  This could race an
  unmount and result in a corrupt mount pointer.

  Change the code to dispose of the namecache record after we finish using
  the mount point.  This is somewhat more complex then I'd like, but it
  is important to unlock the namecache record across the potentially
  blocking operation to prevent a lock chain from propagating upwards
  towards the root.

* Enhanced debugging for the namecache teardown case when nc_refs changes
  unexpectedly.

    [2 lines not shown]

DragonFlyBSD — sys/kern vfs_bio.c

kernel - Cut buffer cache related pmap invalidations in half

* Do not bother to invalidate the TLB when tearing down a buffer
  cache buffer.  On the flip side, always invalidate the TLB
  (the page range in question) when entering pages into a buffer
  cache buffer.  Only applicable to normal VMIO buffers.

* Significantly improves buffer cache / filesystem performance with
  no real risk.

* Significantly improves performance for tmpfs teardowns on unmount
  (which typically have to tear-down a lot of buffer cache buffers).
Delta File
+11 -2 sys/kern/vfs_bio.c
+11 -2 1 file

DragonFlyBSD — sys/kern vfs_bio.c

kernel - Cut buffer cache related pmap invalidations in half

* Do not bother to invalidate the TLB when tearing down a buffer
  cache buffer.  On the flip side, always invalidate the TLB
  (the page range in question) when entering pages into a buffer
  cache buffer.  Only applicable to normal VMIO buffers.

* Significantly improves buffer cache / filesystem performance with
  no real risk.

* Significantly improves performance for tmpfs teardowns on unmount
  (which typically have to tear-down a lot of buffer cache buffers).
Delta File
+11 -2 sys/kern/vfs_bio.c
+11 -2 1 file

DragonFlyBSD — sys/platform/pc64/x86_64 pmap.c, sys/platform/vkernel64/platform pmap.c

kernel - Add some more options for pmap_qremove*()

* Add pmap_qremove_quick() and pmap_qremove_noinval(), allowing pmap
  entries to be removed without invalidation under carefully managed
  circumstances by other subsystems.

* Redo the virtual kernel a little to work the same as the real kernel
  when entering new pmap entries.  We cannot assume that no invalidation
  is needed when the prior contents of the pte is 0, because there are
  several ways it could have become 0 without a prior invalidation.

  Also use an atomic op to clear the entry.

DragonFlyBSD — sys/platform/pc64/x86_64 pmap.c, sys/platform/vkernel64/platform pmap.c

kernel - Add some more options for pmap_qremove*()

* Add pmap_qremove_quick() and pmap_qremove_noinval(), allowing pmap
  entries to be removed without invalidation under carefully managed
  circumstances by other subsystems.

* Redo the virtual kernel a little to work the same as the real kernel
  when entering new pmap entries.  We cannot assume that no invalidation
  is needed when the prior contents of the pte is 0, because there are
  several ways it could have become 0 without a prior invalidation.

  Also use an atomic op to clear the entry.

DragonFlyBSD — sys/platform/pc64/apic apic_vector.s

kernel - cli interlock with critcount in interrupt assembly

* Disable interrupts when decrementing the critical section count
  and gd_intr_nesting_level, just prior to jumping into doreti.
  This prevents a stacking interrupt from occurring in this roughly
  10-instruction window.

* While limited stacking is not really a problem, this closes a very
  small and unlikely window where multiple device interrupts could
  stack excessively and run the kernel thread out of stack space.
  (unlikely that it has ever happened in real life, but becoming more
  likely as some modern devices are capable of much higher interrupt
  rates).

DragonFlyBSD — sys/platform/pc64/apic apic_vector.s

kernel - cli interlock with critcount in interrupt assembly

* Disable interrupts when decrementing the critical section count
  and gd_intr_nesting_level, just prior to jumping into doreti.
  This prevents a stacking interrupt from occurring in this roughly
  10-instruction window.

* While limited stacking is not really a problem, this closes a very
  small and unlikely window where multiple device interrupts could
  stack excessively and run the kernel thread out of stack space.
  (unlikely that it has ever happened in real life, but becoming more
  likely as some modern devices are capable of much higher interrupt
  rates).

DragonFlyBSD — lib/libc/gen sysconf.3

sysconf.3: Document _SC_PAGE_SIZE and _SC_PHYS_PAGES.

Taken-from:    FreeBSD
Submitted-by:  Sevan Janiyan
Dragonfly-bug: <https://bugs.dragonflybsd.org/issues/2929>
Delta File
+10 -1 lib/libc/gen/sysconf.3
+10 -1 1 file

DragonFlyBSD — lib/libc/gen sysconf.3

sysconf.3: Document _SC_PAGE_SIZE and _SC_PHYS_PAGES.

Taken-from:    FreeBSD
Submitted-by:  Sevan Janiyan
Dragonfly-bug: <https://bugs.dragonflybsd.org/issues/2929>
Delta File
+10 -1 lib/libc/gen/sysconf.3
+10 -1 1 file

DragonFlyBSD — sys/dev/drm drm_fb_helper.c

drm - Fix subtle plane masking bug.

* Index needs to be 1 << index.

Reported-by: davshao
Found-by: Matt Roper - https://patchwork.kernel.org/patch/7889051/
Delta File
+1 -1 sys/dev/drm/drm_fb_helper.c
+1 -1 1 file

DragonFlyBSD — sys/dev/drm drm_fb_helper.c

drm - Fix subtle plane masking bug.

* Index needs to be 1 << index.

Reported-by: davshao
Found-by: Matt Roper - https://patchwork.kernel.org/patch/7889051/
Delta File
+1 -1 sys/dev/drm/drm_fb_helper.c
+1 -1 1 file

DragonFlyBSD — sys/dev/netif/iwm if_iwm.c

if_iwm - Fix inverted logic in iwm_tx().

The PROT_REQUIRE flag in should be set for data frames above a certain
length, but we were setting it for !data frames above a certain length,
which makes no sense at all.

Taken-From: OpenBSD, Linux iwlwifi
Delta File
+1 -1 sys/dev/netif/iwm/if_iwm.c
+1 -1 1 file

DragonFlyBSD — sys/dev/netif/iwm if_iwm.c

if_iwm - Fix inverted logic in iwm_tx().

The PROT_REQUIRE flag in should be set for data frames above a certain
length, but we were setting it for !data frames above a certain length,
which makes no sense at all.

Taken-From: OpenBSD, Linux iwlwifi
Delta File
+1 -1 sys/dev/netif/iwm/if_iwm.c
+1 -1 1 file