summaryrefslogtreecommitdiff
path: root/lisp/startup.el
diff options
context:
space:
mode:
authorPhilipp Stephani <phst@google.com>2020-12-14 21:25:11 +0100
committerPhilipp Stephani <phst@google.com>2021-04-10 18:47:26 +0200
commitbe8328acf9aa464f848e682e63e417a18529af9e (patch)
treeb7f8191920af5e326b2a2feac9ddbeb8551fadba /lisp/startup.el
parent53dfd85a7f971875e716a55f010ee508bce89eed (diff)
downloademacs-be8328acf9aa464f848e682e63e417a18529af9e.tar.gz
emacs-be8328acf9aa464f848e682e63e417a18529af9e.tar.bz2
emacs-be8328acf9aa464f848e682e63e417a18529af9e.zip
Add support for --seccomp command-line option.
When passing this option on GNU/Linux, Emacs installs a Secure Computing kernel system call filter. See Bug#45198. * configure.ac: Check for seccomp header. * src/emacs.c (usage_message): Document --seccomp option. (emacs_seccomp): New wrapper for 'seccomp' syscall. (load_seccomp, maybe_load_seccomp): New helper functions. (main): Potentially load seccomp filters during startup. (standard_args): Add --seccomp option. * lisp/startup.el (command-line): Detect and ignore --seccomp option. * test/src/emacs-tests.el (emacs-tests/seccomp/absent-file) (emacs-tests/seccomp/empty-file) (emacs-tests/seccomp/file-too-large) (emacs-tests/seccomp/invalid-file-size): New unit tests. (emacs-tests--with-temp-file): New helper macro. * etc/NEWS: Document new --seccomp option.
Diffstat (limited to 'lisp/startup.el')
-rw-r--r--lisp/startup.el5
1 files changed, 3 insertions, 2 deletions
diff --git a/lisp/startup.el b/lisp/startup.el
index b173d619733..4d4c65e6c41 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1097,7 +1097,7 @@ please check its value")
("--no-x-resources") ("--debug-init")
("--user") ("--iconic") ("--icon-type") ("--quick")
("--no-blinking-cursor") ("--basic-display")
- ("--dump-file") ("--temacs")))
+ ("--dump-file") ("--temacs") ("--seccomp")))
(argi (pop args))
(orig-argi argi)
argval)
@@ -1149,7 +1149,8 @@ please check its value")
(push '(visibility . icon) initial-frame-alist))
((member argi '("-nbc" "-no-blinking-cursor"))
(setq no-blinking-cursor t))
- ((member argi '("-dump-file" "-temacs")) ; Handled in C
+ ((member argi '("-dump-file" "-temacs" "-seccomp"))
+ ;; Handled in C
(or argval (pop args))
(setq argval nil))
;; Push the popped arg back on the list of arguments.