|
Revision tags: release/12.4.0, release/13.1.0, release/12.3.0 |
|
| #
fe388671 |
| 19-Oct-2021 |
Brooks Davis <[email protected]> |
makesyscalls.lua: add a CAPENABLED flag
The CAPENABLED flag indicates that the syscall can be used in capsicum capability mode. It is intended to replace capabilities.conf.
Reviewed by: kevans, em
makesyscalls.lua: add a CAPENABLED flag
The CAPENABLED flag indicates that the syscall can be used in capsicum capability mode. It is intended to replace capabilities.conf.
Reviewed by: kevans, emaste Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D31349
(cherry picked from commit 6945df3fff57a9606f8c8a4e3865def3a0e915e7)
show more ...
|
| #
81184e92 |
| 19-Oct-2021 |
Brooks Davis <[email protected]> |
makesyscalls.lua: Add a new syscall type: RESERVED
RESERVED syscall number are reserved for local/vendor use. RESERVED is identical to UNIMPL except that comments are ignored.
Reviewed by: kevans
makesyscalls.lua: Add a new syscall type: RESERVED
RESERVED syscall number are reserved for local/vendor use. RESERVED is identical to UNIMPL except that comments are ignored.
Reviewed by: kevans Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D27988
(cherry picked from commit 119fa6ee8a8056aab5e4ab1719d3c563cdb4a95a)
show more ...
|
|
Revision tags: release/13.0.0 |
|
| #
5129b3f9 |
| 27-Jan-2021 |
Kyle Evans <[email protected]> |
makesyscalls: sprinkle some assert() on standard function calls
Improves our error reporting, ensuring that we aren't just ignoring errors in the common case.
Note specifically the boundary where w
makesyscalls: sprinkle some assert() on standard function calls
Improves our error reporting, ensuring that we aren't just ignoring errors in the common case.
Note specifically the boundary where we have to change up our error handling approach. It's fine to error() out up until we create the tempdir, then the rest should try to handle it gracefully and abort(). A future change will clean this up further by pcall'ing all of the bits that cannot currently error() without cleaning up.
(cherry picked from commit 6687410af7dba54e19b773684a969e9c590999e4)
show more ...
|
| #
996c4186 |
| 27-Jan-2021 |
Kyle Evans <[email protected]> |
makesyscalls: stop trying to remove . and .. in cleanup
lfs.dir() will include these entries, but os.remove() cannot remove them for obvious reasons.
(cherry picked from commit 340e009ecc00e5e74d58
makesyscalls: stop trying to remove . and .. in cleanup
lfs.dir() will include these entries, but os.remove() cannot remove them for obvious reasons.
(cherry picked from commit 340e009ecc00e5e74d58920ca909968dc7e88af1)
show more ...
|
| #
0bd5d81f |
| 12-May-2021 |
Ed Maste <[email protected]> |
makesyscalls.lua: improve generated file style(9) compliance
We generally like to avoid style changes when other changes are not planned. In this case there are some makesyscalls.lua changes in the
makesyscalls.lua: improve generated file style(9) compliance
We generally like to avoid style changes when other changes are not planned. In this case there are some makesyscalls.lua changes in the pipeline, and this cleans up style nits in generated files that were highlighted by experiments with clang-format.
Reviewed by: brooks, kevans MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D30235
(cherry picked from commit ad385f7b46e7636b11fb0fd56bc42b60b06b16ad)
show more ...
|
|
Revision tags: release/12.2.0 |
|
| #
586bd2de |
| 25-Sep-2020 |
Edward Tomasz Napierala <[email protected]> |
Make makesyscalls.lua initialize 'struct sysent' entries using c99 designated initializers. This makes it easier to modify 'struct sysent' layout.
Reviewed by: kevans Sponsored by: DARPA Differenti
Make makesyscalls.lua initialize 'struct sysent' entries using c99 designated initializers. This makes it easier to modify 'struct sysent' layout.
Reviewed by: kevans Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D26530
show more ...
|
| #
0bc1c078 |
| 04-Aug-2020 |
Kyle Evans <[email protected]> |
makesyscalls.lua: improve syscall ordering validation
There were two separate issues here:
1.) #if/#else wasn't taken into account at all for maxsyscall figures, but 2.) We didn't validate contiguo
makesyscalls.lua: improve syscall ordering validation
There were two separate issues here:
1.) #if/#else wasn't taken into account at all for maxsyscall figures, but 2.) We didn't validate contiguous syscall numbers anyways...
This kind of inconsistency is bad as we don't currently ensure explicit indexing of, e.g., the sysent array if one syscall is unimplemented/missing. This could be fixed and might be more robust, but it's also good to have the "documentation" that comes from being explicit as to what the missing syscalls are.
The new version looks much like the awk version; stash off the current 'last highest syscall seen' if we hit an #if, restore to that if we hit an #else, and make sure that we're explicitly always defining the next syscall.
The logic at the tail end of process_syscall_def that moves maxsyscall has been 'cleaned up' a little since we're now ensuring that it's monotonically increasing earlier in the function. At the moment I think it's unlikely we'd see range-definitions that are not UNIMPL, but there's no reason to specifically handle that case for bumping maxsyscall there.
This change was provoked by reading the commit message for r363832 and realizing that this validation hadn't been included in the initial rewrite to lua.
Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D25945
show more ...
|
|
Revision tags: release/11.4.0 |
|
| #
554f71e2 |
| 10-Jan-2020 |
Kyle Evans <[email protected]> |
makesyscalls.lua: generate all files in /tmp, write into place at the end
This makes makesyscalls.lua more parallel-friendly, or at least not as hostile to the idea. We get into situations where we'
makesyscalls.lua: generate all files in /tmp, write into place at the end
This makes makesyscalls.lua more parallel-friendly, or at least not as hostile to the idea. We get into situations where we're running parallel if we end up with MAKE_JOBS>1 entering any of the sysent targets, since each output file is recognized a distinct build step that needs to be executed.
Another commit will add some .ORDER to further improve the situation.
Reported by: jhb Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D23098
show more ...
|
| #
0d80770c |
| 11-Dec-2019 |
Kyle Evans <[email protected]> |
makesyscalls.lua: trim trailing spaces/commas from args
These are insignificant as far as declarations go, and we've historically allowed it. fhlinkat in ^/sys/kern/syscalls.master, for example, cur
makesyscalls.lua: trim trailing spaces/commas from args
These are insignificant as far as declarations go, and we've historically allowed it. fhlinkat in ^/sys/kern/syscalls.master, for example, currently has a trailing comma after its final argument that this version of makesyscalls is ignoring (not by conscious decision).
Fix it for now by actively stripping off trailing whitespace/commas until we decide to actively prohibit it.
show more ...
|
| #
0d9048c3 |
| 06-Dec-2019 |
Kyle Evans <[email protected]> |
makesyscalls.lua: improve config processing
The current version will strip out #include directives appearing inside strings, which is clearly wrong. Improve the processing entirely in the following
makesyscalls.lua: improve config processing
The current version will strip out #include directives appearing inside strings, which is clearly wrong. Improve the processing entirely in the following ways:
- Strip only whole-line comments on every single iteration - Abort if we see a malformed line that doesn't match the key=value format - For quoted (backtick or double quote) strings, we'll advance to the end of the key=value pair and make sure there's not extra stuff left over - For unquoted key=value pairs, we'll strip any trailing comments and verify there's no internal whitespace
This has revealed the caveat that key/value pairs can't even include escaped quotes (and haven't been able to). I don't know if this is actually problematic, as we're usually looking at cases like "#include <foo>" or raw identifiers.The current version will strip out #include directives appearing inside strings, which is clearly wrong. Improve the processing entirely in the following ways:
Reviewed and noticed by: brooks Differential Revision: https://reviews.freebsd.org/D22698
show more ...
|
| #
d3276301 |
| 17-Nov-2019 |
Kyle Evans <[email protected]> |
Add makesyscalls.lua, a rewrite of makesyscalls.sh
This currently requires a suitable lua + luafilesystem + luaposix from the ports tree to build. Discussion is underway in D21893 to add a suitable
Add makesyscalls.lua, a rewrite of makesyscalls.sh
This currently requires a suitable lua + luafilesystem + luaposix from the ports tree to build. Discussion is underway in D21893 to add a suitable lua to the base system, cleverly disguised and out of the way of normal consumers.
makesyscalls.sh is a good target for rewrite into lua as it's currently a sh+sed+awk script that can be difficult to add on to, at times. For instance, adding a new COMPAT* option (that mimicks the behaivor of most other COMPAT* options) requires a fairly substantial amount of copy/paste; see r352693 for instance. Attempts to generate part of the awk script for COMPAT* handling was (very kindly) rejected with a desire to just rewrite the script in a single language that can handle all of it.
Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D21775
show more ...
|