270297 Commits

Author SHA1 Message Date
kamil
5404b7cfbe Validate usec ranges in compat_50_netbsd32_select()
Later in the code selcommon() checks for proper timespec, check only
correct usec of timeval before type conversions.
2019-09-20 15:09:07 +00:00
kamil
68ab6f5a50 Validate usec ranges in compat_50_sys_select()
Later in the code selcommon() checks for proper timespec, check only
correct usec of timeval before type conversions.
2019-09-20 15:05:22 +00:00
kamil
0af3675487 Validate usec ranges in sys___select50()
Later in the code selcommon() checks for proper timespec, check only
correct usec of timeval before type conversions.
2019-09-20 15:00:47 +00:00
kamil
a5df2084c7 Decorate in6_clearscope() with __noubsan
sys/netinet6/scope6.c:480:6,
member access within misaligned address 0xffff9457bc441286 for type
'struct in6_addr' which requires 4 byte alignment

This issue is caused by accessing non-__packed struct in __packed.
This is a[always?] false-positive reported by the sanitizer and there is no
clear non-invasive approach to handle this, without changing ABI of long
term existing code.

Reported-by: syzbot+b53a9bcf030288081e65@syzkaller.appspotmail.com
2019-09-20 14:53:24 +00:00
christos
0cbecf0304 declare printflike functions and fix another printf format.
also change 0x%x -> %#x.
2019-09-20 14:20:45 +00:00
kamil
8978d4e527 Validate usec ranges in settimeofday1() 2019-09-20 14:12:57 +00:00
wiz
d83135eb3e file system police. Fix typo. Fix macro use. 2019-09-20 13:43:47 +00:00
wiz
d465c255f1 Fix date, add comma in enumeration. 2019-09-20 13:42:24 +00:00
maxv
b0bea7daa3 Add ifdefs to eliminate false positives on lgtm, same as coverity. 2019-09-20 13:38:00 +00:00
kamil
43bc9355ea Validate usec ranges in do_sys_utimes()
sys/kern/vfs_syscalls.c:3939:4, signed integer overflow: 503923632 * 1000 cannot be represented in type 'int'

Reported-by: syzbot+4cfc86ffd30e8678f68d@syzkaller.appspotmail.com
2019-09-20 13:29:31 +00:00
kamil
c6a1b98ca3 Switch CTASSERT() to DRMCTASSERT() in two i915 functions
Fixes build with disabled optimization.
2019-09-20 12:41:33 +00:00
kamil
056181f36e Define DRMCTASSERT() for Compile-Time DRMKMS asserts
Switch CTASSERT() to DRMCTASSERT() in BUILD_BUG_ON().

This fixes build issues with disabled compieler optimization.
2019-09-20 12:40:23 +00:00
maxv
9baf3ad469 Don't use the same iterator in a nested loop. (How could this work?)
Found by the lgtm bot.
2019-09-20 11:29:47 +00:00
maxv
0fd1f118ce Fix programming mistake: 'paddrp' is a pointer given as argument, setting
it to NULL in the called function does not set it to NULL in the caller.

Actually, the callers of these functions do not do anything with the
special error handling, so drop the unused checks and the NULL assignments
altogether.

Found by the lgtm bot.
2019-09-20 11:09:43 +00:00
kamil
3c422b7321 Adapt DRMKMS BUILD_BUG_ON_MSG() to static_assert semantics
static_assert is violated with runtime-only compiler semantics in a few
places. Instead of breaking the build, stop asserting these corner cases.
2019-09-20 10:54:07 +00:00
mrg
fe950ae3d5 add mos(4) driver for Moschip MCS7730/MCS7830/MCS7832 usb ethernet.
ported from openbsd.  usbnet version loses about 40% of code.
2019-09-20 10:34:54 +00:00
msaitoh
1fb2ebe00b Print some DPC register values not with %04x but with %08x because those
are 32bit.
2019-09-20 10:04:45 +00:00
msaitoh
ea1c6b6ac3 - Make ixv_set_multi() work correctly (especially for PROMISC) when the
function is called from if_init().
- If a multicast entry has range, use ALLMULTI like others.
- Remove ixv_set_promisc() and use ixv_set_multi(). And then, rename
  *_set_multi() to *_set_rxfilter(). Same as ixgbe.c.
- The promisc mode can't be enabled if the PF is not in promisc mode.
  Identify that state and report it as "the PF may not in promisc mode"
  (though it might not be perfect).
2019-09-20 09:28:37 +00:00
maxv
57c391ee59 Fix argument.
Found by the lgtm bot.
2019-09-20 09:07:35 +00:00
maxv
f550fb4d04 Fix direction of the loop.
Found by the lgtm bot.
2019-09-20 08:58:25 +00:00
maxv
95f465b563 Use M_BUFADDR. 2019-09-20 08:48:55 +00:00
maxv
7d15e3a325 dedup 2019-09-20 08:45:29 +00:00
ryo
eead4d4df0 ref/mod bit should be set according to 'flags' argument, not 'prot'. r1.44 was incomplete. 2019-09-20 05:35:27 +00:00
nonaka
0c2fac9c70 Don't set Phase Tag bit of Completion Queue entry at nvme_poll_done().
A new completion queue entry check incorrectly determined that there was
a Completion Queue entry for a command that was not submitted.

Fix PR kern/54275, PR kern/54503, PR kern/54532.
2019-09-20 05:32:42 +00:00
riastradh
67c16d2af5 Use an explicit run-time assertion where compile-time doesn't work. 2019-09-19 18:29:55 +00:00
msaitoh
b3ef55ebd2 - ICPLUS -> xxICPLUS
- Print model name if it's ICPLUS IP101 to avoid "Realtek internal PHY".
2019-09-19 14:41:28 +00:00
msaitoh
2a7db5f08c Regen. 2019-09-19 14:39:08 +00:00
msaitoh
869418700f Change ICPLUS(0x0090c3) to xxICPLUS(0x0009c3) 2019-09-19 14:38:45 +00:00
riastradh
1557be4823 Use CTASSERT where possible, run-time assertion where not.
Should fix negative-length variable-length array found by kamil.
2019-09-19 14:34:59 +00:00
blymn
e275f7f7db Rototill to add complex character support:
- Add cchar command to director test language to allow a complex character
  to be defined and passed to the slave.
- Removed the distinction between args and returns internally to prevent
  confusing the two which leads to errors and/or crashes.
- Converted mutt_test to use the new cchar definition and fixed the
  check files for the test.
2019-09-19 11:31:57 +00:00
knakahara
1702069957 l2tp(4): avoid having struct ifqueue directly in a percpu storage.
percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users.  If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.
A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.

Tx processing of l2tp(4) uses normally involves sleepable operations so we
must avoid dereferencing a percpu data (struct ifqueue) after executing Tx
processing.  Address this situation by having just a pointer to the data in
a percpu storage instead.

Reviewed by ozaki-r@ and yamaguchi@
2019-09-19 06:09:52 +00:00
knakahara
2da350beca Avoid having a rtcache directly in a percpu storage for tunnel protocols.
percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users.  If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.
A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.

Using rtcache, i.e., packet processing, typically involves sleepable operations
such as rwlock so we must avoid dereferencing a rtcache that is directly stored
in a percpu storage during packet processing.  Address this situation by having
just a pointer to a rtcache in a percpu storage instead.

Reviewed by ozaki-r@ and yamaguchi@
2019-09-19 06:07:24 +00:00
ozaki-r
2bcf5b2995 Apply some missing changes lost on the previous commit 2019-09-19 05:31:50 +00:00
knakahara
b18d08a8c6 Divide Tx context of l2tp(4) to improve performance.
It seems l2tp(4) call path is too long for instruction cache. So, dividing
l2tp(4) Tx context improves CPU use efficiency.

After this commit, l2tp(4) throughput gains 10% on my machine(Atom C3000).
2019-09-19 04:59:42 +00:00
ozaki-r
cdacfa3ee1 Add missing #include <sys/kmem.h> 2019-09-19 04:46:29 +00:00
ozaki-r
69653399dc wqinput: avoid having struct wqinput_worklist directly in a percpu storage
percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users.  If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.
A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.

Input handlers of wqinput normally involves sleepable operations so we must
avoid dereferencing a percpu data (struct wqinput_worklist) after executing
an input handler.  Address this situation by having just a pointer to the data
in a percpu storage instead.

Reviewed by knakahara@ and yamaguchi@
2019-09-19 04:09:34 +00:00
ozaki-r
e524fb36a1 Avoid having a rtcache directly in a percpu storage
percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users.  If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.
A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.

Using rtcache, i.e., packet processing, typically involves sleepable operations
such as rwlock so we must avoid dereferencing a rtcache that is directly stored
in a percpu storage during packet processing.  Address this situation by having
just a pointer to a rtcache in a percpu storage instead.

Reviewed by knakahara@ and yamaguchi@
2019-09-19 04:08:29 +00:00
msaitoh
2d958b1323 Use unsigned to avoid undefined behavior in scsipi_{get,put}_tag().
Found by kUBSan.
2019-09-19 03:37:31 +00:00
thorpej
f4659c41ae Create the character device for spiflash, in addition to the block device.
This is needed for getdiskrawname() to DTRT (for installboot(8)).

XXX pullup-9
2019-09-19 01:44:48 +00:00
thorpej
6e45676f26 Add support for additional install step directives to enable using
installboot(8) to write u-boot images to SPI NOR and other types of
raw flash devices: input-block-size, input-pad-size, output-size, and
output-block-size.

Add the ability to create aliases for install objects, useful for when
e.g. sdmmc and emmc share the same steps.

Tested on an A20-OLinuXino-LIME2-e16Gs16M by bouyer@.

XXX pullup netbsd-9
2019-09-19 01:25:29 +00:00
christos
dc03ac3f22 It is not just root, it is device read access (kre) 2019-09-18 23:43:23 +00:00
uwe
c3e808d597 Use $file instead of $(echo $file). I don't think the extra round of
word expansions was really intended here.
2019-09-18 22:27:55 +00:00
kamil
3ff6d59161 Avoid VLA to appease stack-protector
This has been reproduced with -O0 and -fsanitize=undefined.
2019-09-18 20:18:27 +00:00
christos
47f3b76374 mention that -W needs root. 2019-09-18 20:17:46 +00:00
christos
d06f528c83 Print the wedge name with -W instead of mntfrom 2019-09-18 20:14:44 +00:00
christos
4449640fc2 fix compilation 2019-09-18 18:46:00 +00:00
skrll
d2a9676ecc s/pte/ptep/ in pmap_pte_process for consistency with other code. NFCI. 2019-09-18 18:29:58 +00:00
skrll
471755a1a7 Whitespace 2019-09-18 18:18:44 +00:00
christos
0da0aa0234 Add newly created vnodes to the namei cache. The rest of the filesystems
already did that (or they don't support writing). Discussed in tech-kern.
2019-09-18 17:59:14 +00:00
maxv
9b0d65da51 Handle M_EXT with M_BUFADDR, and introduce M_BUFSIZE. Use them to dedup
code.
2019-09-18 16:18:12 +00:00