Commit Graph

82 Commits

Author SHA1 Message Date
kamil 47ead56b15 Mask NULL + 0 LLVM UBSan reports in the ATF test: t_pslist.c
Pass -fno-delete-null-pointer-checks for Clang for the
MKSANITIZER/MKLIBCSANITIZER build
2020-05-31 16:36:07 +00:00
mgorny 558ea2bcab PR standards/44921: Add errno consts for robust mutexes
Add the two missing errno.h constants: EOWNERDEAD and ENOTRECOVERABLE.
While technically they're used for robust mutexes which we do not
support at the moment, they are listed in POSIX and used by libc++.
While libc++ can be made to build without it, it just locally redefines
the values then, so we may as well define them globally.
2020-03-08 22:09:42 +00:00
christos 0dc8cda9a3 Centralize the base rump libraries into a variable used by all the other
Makefiles so that we can make changes to it centrally as needed and have
less mess. Fixes the sun2 build that needs rumpvfs after librump after
the latest changes.
2020-03-01 18:08:12 +00:00
riastradh d6cbc02da6 Adapt <sys/pslist.h> to use atomic_load/store_*.
Changes:

- membar_producer();
  *p = v;

    =>

  atomic_store_release(p, v);

  (Effectively like using membar_exit instead of membar_producer,
  which is what we should have been doing all along so that stores by
  the `reader' can't affect earlier loads by the writer, such as
  KASSERT(p->refcnt == 0) in the writer and atomic_inc(&p->refcnt) in
  the reader.)

- p = *pp;
  if (p != NULL) membar_datadep_consumer();

    =>

  p = atomic_load_consume(pp);

  (Only makes a difference on DEC Alpha.  As long as lists generally
  have at least one element, this is not likely to make a big
  difference, and keeps the code simpler and clearer.)

No other functional change intended.  While here, annotate each
synchronizing load and store with its counterpart in a comment.
2019-12-01 15:28:19 +00:00
mrg ad0c4b353e use memcpy() for non C-strings. 2019-10-06 01:05:36 +00:00
bad 48e354a3ed Get rid of all the -lrumpdev and -lrumpvfs that are no longer needed
after moving rump's mainbus from rumpdev to rumpkern.

Produces the same atf-run results as before.
2019-05-13 17:55:07 +00:00
mrg fbffadb9f8 - add or adjust /* FALLTHROUGH */ where appropriate
- add __unreachable() after functions that can return but won't in
  this case, and thus can't be marked __dead easily
2019-02-03 03:19:25 +00:00
kamil 95a05eda65 Avoid undefined behavior in an ATF test: t_bitops
Do not change the signedness bit with a left shift operation.
Switch to unsigned integer to prevent this.

t_bitops.c:189:9, left shift of 1 by 31 places cannot be represented in type 'int'

Detected with micro-UBSan in the user mode.
2018-07-25 22:00:32 +00:00
kamil d61d73f803 Avoid undefined behavior in an ATF test: t_types
Replace UB with implementation defined logic to check whether ssize_t can
wrap to a negative number.

t_types.c:63:7, signed integer overflow: 9223372036854775807 + 1 cannot be represented in type 'long int'

Detected with micro-UBSan in the user mode.
2018-07-25 21:51:32 +00:00
pgoyette a3959c1f67 Update recently-added test to adapt to new signature of LIST_MOVE() 2017-10-02 05:14:29 +00:00
pgoyette d77818a2a5 Add a new minimalistic test for LIST_MOVE to verify that the list's
first entry's prev pointer correctly points to the listhead.

This test will fail until a fix for LIST_MOVE is checked in (soon).
2017-10-02 04:15:56 +00:00
christos c54cb81102 Don't play with "../.." in includes for h_macros.h; deal with it centrally.
Minor fixes.
2017-01-13 21:30:39 +00:00
pgoyette e140ba111a We now need librumpdev to resolve rumpns_config_cfdriver_attach which
is now used in a bunch of network modules/components
2016-08-08 14:11:08 +00:00
riastradh 4f7dd3337d Introduce pserialize-safe linked lists.
These are like LIST_* from queue(3), but issue the appropriate memory
barriers for pserialize readers and writers.

Discussed on tech-kern:

https://mail-index.netbsd.org/tech-kern/2016/04/03/msg020365.html
2016-04-09 04:39:46 +00:00
riastradh 2233768047 Make this list diff- and sort-friendlier.
No functional change.
2016-04-08 21:53:10 +00:00
mrg 3890e54546 rework to avoid new GCC 5.3 errors and improve readability 2016-03-16 07:21:36 +00:00
christos ffeb8dbf4e Define _KERNTYPES for things that need it. 2016-01-23 21:22:45 +00:00
matt b9e582e94c Don't build tests that depend on RUMP if BSD_MK_COMPAT_FILE is defined. 2015-06-22 00:05:23 +00:00
pgoyette 95bd0f4ec1 Use correcet variable name when printing the error code. 2015-05-07 06:23:23 +00:00
pgoyette 9f8be6380b Don't fail if open() of sysmon devices returns ENODEV. This can
occur if sysmon subcomponents are not included in the kernel and
autoloading of modules is not allowed or not supported.
2015-05-07 01:35:35 +00:00
isaki ec31227c02 one more white space -> tab. 2015-03-21 05:50:19 +00:00
isaki 47f8b9c01c Rewrite ilog2's test. PR lib/49745.
- Reorganize ilog2_basic to ilog2_32bit, ilog2_64bit and ilog2_const.
  ilog2_const is compile-time test for __builtin_constant_p() part of
  current ilog2() implementation.
- Remove fully meaningless ilog2_log2.  So this part of PR misc/44767
  is no longer present.
2015-03-21 05:32:07 +00:00
isaki 787a0efa5b white space -> tab. 2015-03-14 07:23:46 +00:00
martin 2a86fa6804 2 seconds is too small as timeout on slow machines, bump to 10 (my hppa
needs ~5).
2015-02-27 08:30:30 +00:00
justin 97c0a6f647 PR misc/49356 remove unnecessary references to atf-c/config.h
The function included via this header is not used and is removed in
later versions of atf, so let us avoid it.
2014-11-04 00:20:19 +00:00
jmmv e110dcc954 Use compiler builtins instead of atf_arch and atf_machine.
The atf_arch and atf_machine configuration variables were removed from
atf-0.19 without me realizing that some tests were querying them directly.

Instead of reintroducing those variables, just rely on compiler builtins
as many other tests already do.

Should fix PR bin/48582.
2014-02-09 21:26:07 +00:00
christos d56fcfc956 fix unused variable warnings 2013-10-19 17:45:00 +00:00
christos 973ed75f39 initialize variables 2013-10-19 17:44:37 +00:00
pooka a4786a8b92 socket(-1, SOCK_CLOEXEC, 0); followed by the process exiting (i.e.
fd slot does not get initiailized before fd_free()) cases a diagnostic
kernel panic.
2013-09-05 12:22:10 +00:00
gsutre d163d4166c Fix two tests for typefit: constants larger than LLONG_MAX
do not fit in a signed long long.
2013-09-05 09:01:27 +00:00
christos b1dcb17635 use __BITMAP_TYPE 2012-12-07 02:28:19 +00:00
jruoho f8b5dc2c31 Move the bitmap(3) test to the "right" place. Note it in bitops(3). Xrefs. 2012-12-04 06:57:44 +00:00
christos cb461c6808 Exclude tests that use rump 2012-08-08 13:57:05 +00:00
joerg 1907ec3a61 Switch device database to cdb(5). Rework ttyname(3) and ttyname_r(3) to
depend on new devname_r(3) as heart. Add /dev/pts magic directly to
devname(3). While it can lead to returning non-existing paths, the
behavior is more consistent that way. Drop caching layer in devname(3),
it doesn't buy anything for the common case of having access to the
database. Teach devname(3) proper fallback behavior of scanning /dev.
Create both old-style and new-style database for now in /etc/rc.d/sysdb.
2012-06-03 21:42:44 +00:00
joerg b753e46cc9 Use array access 2012-03-25 06:54:04 +00:00
matt c76c9d1fc1 Use SCHAR_{MIN,MAX} for signed char, not CHAR_* since not char are signed. 2012-03-23 23:12:28 +00:00
christos 27215b2b59 test the __type macros 2012-03-18 15:30:59 +00:00
jruoho 72ed5c064e To be on the safe side, use the category/number notation when referring to
PRs (otherwise third-party sed-scripts might miss the references). Also
remove white-space.
2012-03-18 07:14:08 +00:00
christos 5a7b3f43e8 this does not fail anymore 2012-03-17 21:31:29 +00:00
jruoho 2f943d6432 Skip the test on sparc and point to PR port-sparc/45580. 2011-11-06 16:18:27 +00:00
jruoho cc7aae5d85 Add printfs to see where TNF's qemu/sparc fails. 2011-11-05 08:49:24 +00:00
pgoyette 7726fd7693 No need to keep on trying when this fails in the expected manner. We
really don't need to have 32k failures.


OK jruoho@
2011-10-31 18:37:01 +00:00
christos 07f6e1d3b5 remove stray underscore. 2011-10-02 18:34:17 +00:00
christos 0dd4f3a513 disable test on the vax until we fix it. 2011-10-01 18:38:39 +00:00
jruoho cbbf4a4b63 Add expected failures for Qemu. 2011-09-30 14:50:20 +00:00
jruoho be8b5eb28c Define _PATH_CPUCTL. 2011-09-27 11:24:20 +00:00
jruoho 537167411c Remove some cruft that is no longer needed. 2011-08-29 17:39:54 +00:00
jruoho 86cc76e795 Remove Xfails that are related to the infamous qemu/amd64 floating point
bugs. It appears to be quite difficult to identify the exact Qemu version
and setup. These do not fail on the TNF's qemu/amd64 setup, which can be
taken as a reference point for expected failures.
2011-08-29 12:50:50 +00:00
riastradh c0f2eaa637 Need root for /dev/power. 2011-08-12 03:59:44 +00:00
hannken 1db98a4a6d putter_fop_stat(): set st_mode to S_IFCHR.
Fixes PR #44807: something broken in stat(2).
2011-07-23 14:28:28 +00:00