diff --color -ru a/tests/11-basic-basic_errors.c b/tests/11-basic-basic_errors.c --- a/tests/11-basic-basic_errors.c 2021-09-01 18:57:34.018676687 +0200 +++ b/tests/11-basic-basic_errors.c 2021-11-05 15:04:34.647739284 +0100 @@ -29,9 +29,13 @@ int rc; scmp_filter_ctx ctx; uint32_t attr; + unsigned int api; struct seccomp_notif *req = NULL; struct seccomp_notif_resp *resp = NULL; + /* get the api level */ + api = seccomp_api_get(); + /* seccomp_init errors */ ctx = seccomp_init(SCMP_ACT_ALLOW + 1); if (ctx != NULL) @@ -199,39 +203,41 @@ ctx = NULL; /* seccomp notify errors */ - ctx = seccomp_init(SCMP_ACT_ALLOW); - if (ctx == NULL) - return -1; - rc = seccomp_notify_alloc(NULL, NULL); - if (rc != 0) - return -1; - rc = seccomp_notify_alloc(&req, NULL); - if (rc != 0) - return -1; - rc = seccomp_notify_alloc(NULL, &resp); - if (rc != 0) - return -1; - seccomp_notify_free(NULL, NULL); - seccomp_notify_free(req, resp); - req = NULL; - resp = NULL; - rc = seccomp_notify_receive(-1, NULL); - if (rc == 0) - return -1; - rc = seccomp_notify_respond(-1, NULL); - if (rc == 0) - return -1; - rc = seccomp_notify_id_valid(-1, 0); - if (rc == 0) - return -1; - rc = seccomp_notify_fd(NULL); - if (rc == 0) - return -1; - rc = seccomp_notify_fd(ctx); - if (rc == 0) - return -1; - seccomp_release(ctx); - ctx = NULL; + if (api >= 5) { + ctx = seccomp_init(SCMP_ACT_ALLOW); + if (ctx == NULL) + return -1; + rc = seccomp_notify_alloc(NULL, NULL); + if (rc != 0) + return -1; + rc = seccomp_notify_alloc(&req, NULL); + if (rc != 0) + return -1; + rc = seccomp_notify_alloc(NULL, &resp); + if (rc != 0) + return -1; + seccomp_notify_free(NULL, NULL); + seccomp_notify_free(req, resp); + req = NULL; + resp = NULL; + rc = seccomp_notify_receive(-1, NULL); + if (rc == 0) + return -1; + rc = seccomp_notify_respond(-1, NULL); + if (rc == 0) + return -1; + rc = seccomp_notify_id_valid(-1, 0); + if (rc == 0) + return -1; + rc = seccomp_notify_fd(NULL); + if (rc == 0) + return -1; + rc = seccomp_notify_fd(ctx); + if (rc == 0) + return -1; + seccomp_release(ctx); + ctx = NULL; + } return 0; }