From nobody Wed Apr 03 18:29:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4V8tZd0q2Zz5FZZq; Wed, 3 Apr 2024 18:29:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4V8tZd0Lqpz49QV; Wed, 3 Apr 2024 18:29:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712168985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q4MzCsMY/ONUV/cZcLed0hZuIMmwmOs+ISAcN3SFutg=; b=hEAoP9lK2crHj2P6+IMcf15sKF6kNsVpzKNGUZMtA0jP/VNuJ9JhzI9b3mdTjp7Ut2IPEQ 5gVx0uUCPdwZrMouFg845UNppomaExRI08y8sn3DcWxCqFo0XUuRw0pMLxISS4TJlt44Vx Dg7xd0/sGPO2UYEuXhfCGeb5TB7MfLcpCiKRj0qWGc8yU4VrL+HCpsawcZ+R4200NKmDTm SZE1gO4T24dtxGis4Pu62byXODT4SKIpSKyUX1euduSr9/V/kqdw5qlQnYKgCkwi0UJ+cK ThYCIJiXzyssLrFZ1NoWCijpCz5RSsP6R17c6jqsSg8s5pNbIXN5Gvr5sBAZ8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712168985; a=rsa-sha256; cv=none; b=J+WAkkLVwPV4YrGyQxEo8K/FB4ahhVWTdfQC2iUQcOpGgreU71hRa6yykaMRjVm29Cbj6K uHCCdRbzDrp9xbvJLYjxjdxQ1KyCAE4p/WRE191yQcGbBu8Fs8JuVXfTSOPMqHfZOhDjJ8 XaMrfueh7xhmZz/FJh3/TY6ftq0q95eaPRET+KS0+I1ykuYCeMV7kFyzisyFAiOB+Rh4Wi UyliacaLlgDCdeZ1d6iTc0ePsGdDmg+pmN6xv+DWwEq9vPMihAlA3RYDPhNjvpxfvq48PC RjbpnASroAwKUtwjrjGoR144y+PEWBcnsPuomHAW50Obe/kYGCSKOx0U4+RLKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712168985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q4MzCsMY/ONUV/cZcLed0hZuIMmwmOs+ISAcN3SFutg=; b=rJ7neFZLrPtvlKgXTTBdVvgO6kmoCqOeRsGsdCiH9lHtgsIOawX5o+8cFi5Je5whyPa4VL RGpntCN4rgbJCx+jhvpQOQ8d/LWaVEuXLMYTgextnWu3GGS5ZKXRNDS1LlT8ATbxSCX9Ks 6AA/jWPCludJgjZVWEc80XK1NFnfoPn/0a0CTNZOsO5AJv6vfLrcHEcXHIm0qvaQNx0UZe 4oxw2RKJHrRNYgk2Cf1oEUjSzXbRPK/A7j40InF3AszUx/aPwNE2Yd/lxPriwDowv/ggxW Y2s8A9HjRkjicfszVmBnjLFjgfoZNcq4x2AxVMjKOz1NE4eHDY7Lx3qhOz286A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4V8tZc73qHzkWJ; Wed, 3 Apr 2024 18:29:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 433ITig0017787; Wed, 3 Apr 2024 18:29:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 433ITi8t017784; Wed, 3 Apr 2024 18:29:44 GMT (envelope-from git) Date: Wed, 3 Apr 2024 18:29:44 GMT Message-Id: <202404031829.433ITi8t017784@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Li-Wen Hsu Subject: git: c7bdc25d415a - main - savecore(8): Complete libxo transition List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c7bdc25d415af40cefbb0442b75318ae7028ea7f Auto-Submitted: auto-generated The branch main has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=c7bdc25d415af40cefbb0442b75318ae7028ea7f commit c7bdc25d415af40cefbb0442b75318ae7028ea7f Author: Yan-Hao Wang AuthorDate: 2024-04-03 18:28:30 +0000 Commit: Li-Wen Hsu CommitDate: 2024-04-03 18:28:30 +0000 savecore(8): Complete libxo transition Reviewed by: des MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D41392 --- sbin/savecore/savecore.c | 50 +++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/sbin/savecore/savecore.c b/sbin/savecore/savecore.c index fe42eb66eaae..5ba7e62e7d6c 100644 --- a/sbin/savecore/savecore.c +++ b/sbin/savecore/savecore.c @@ -335,7 +335,8 @@ write_header_info(xo_handle_t *xostdout, const struct kerneldumpheader *kdh, printheader(xoinfo, kdh, device, bounds, status); xo_close_container_h(xoinfo, "crashdump"); xo_flush_h(xoinfo); - xo_finish_h(xoinfo); + if (xo_finish_h(xoinfo) < 0) + xo_err(EXIT_FAILURE, "stdout"); fclose(info); return (0); @@ -433,7 +434,7 @@ check_space(const char *savedir, int savedirfd, off_t dumpsize, int bounds) if (fstatfs(savedirfd, &fsbuf) < 0) { logmsg(LOG_ERR, "%s: %m", savedir); - exit(1); + exit(EXIT_FAILURE); } spacefree = ((off_t) fsbuf.f_bavail * fsbuf.f_bsize) / 1024; totfree = ((off_t) fsbuf.f_bfree * fsbuf.f_bsize) / 1024; @@ -1123,7 +1124,7 @@ DoFile(const char *savedir, int savedirfd, const char *device) if (checkfor) { printf("A dump exists on %s\n", device); close(fddev); - exit(0); + exit(EXIT_SUCCESS); } if (kdhl.panicstring[0] != '\0') @@ -1275,7 +1276,8 @@ nuke: "error while clearing the dump header: %m"); } xo_close_container_h(xostdout, "crashdump"); - xo_finish_h(xostdout); + if (xo_finish_h(xostdout) < 0) + xo_err(EXIT_FAILURE, "stdout"); free(dumpkey); free(temp); close(fddev); @@ -1300,7 +1302,7 @@ devify(int argc, char **argv) devs = malloc(argc * sizeof(*argv)); if (devs == NULL) { logmsg(LOG_ERR, "malloc(): %m"); - exit(1); + exit(EXIT_FAILURE); } for (i = 0; i < argc; i++) { if (strncmp(argv[i], _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0) @@ -1311,16 +1313,16 @@ devify(int argc, char **argv) fullpath = malloc(PATH_MAX); if (fullpath == NULL) { logmsg(LOG_ERR, "malloc(): %m"); - exit(1); + exit(EXIT_FAILURE); } l = snprintf(fullpath, PATH_MAX, "%s%s", _PATH_DEV, argv[i]); if (l < 0) { logmsg(LOG_ERR, "snprintf(): %m"); - exit(1); + exit(EXIT_FAILURE); } else if (l >= PATH_MAX) { logmsg(LOG_ERR, "device name too long"); - exit(1); + exit(EXIT_FAILURE); } devs[i] = fullpath; } @@ -1345,7 +1347,7 @@ enum_dumpdevs(int *argcp) argv = malloc(n * sizeof(*argv)); if (argv == NULL) { logmsg(LOG_ERR, "malloc(): %m"); - exit(1); + exit(EXIT_FAILURE); } for (;;) { fsp = getfsent(); @@ -1359,13 +1361,13 @@ enum_dumpdevs(int *argcp) argv = realloc(argv, n * sizeof(*argv)); if (argv == NULL) { logmsg(LOG_ERR, "realloc(): %m"); - exit(1); + exit(EXIT_FAILURE); } } argv[argc] = strdup(fsp->fs_spec); if (argv[argc] == NULL) { logmsg(LOG_ERR, "strdup(): %m"); - exit(1); + exit(EXIT_FAILURE); } argc++; } @@ -1382,7 +1384,7 @@ init_caps(int argc, char **argv) capcas = cap_init(); if (capcas == NULL) { logmsg(LOG_ERR, "cap_init(): %m"); - exit(1); + exit(EXIT_FAILURE); } /* * The fileargs capability does not currently provide a way to limit @@ -1393,18 +1395,18 @@ init_caps(int argc, char **argv) 0, &rights, FA_OPEN); if (capfa == NULL) { logmsg(LOG_ERR, "fileargs_init(): %m"); - exit(1); + exit(EXIT_FAILURE); } caph_cache_catpages(); caph_cache_tzdata(); if (caph_enter_casper() != 0) { logmsg(LOG_ERR, "caph_enter_casper(): %m"); - exit(1); + exit(EXIT_FAILURE); } capsyslog = cap_service_open(capcas, "system.syslog"); if (capsyslog == NULL) { logmsg(LOG_ERR, "cap_service_open(system.syslog): %m"); - exit(1); + exit(EXIT_FAILURE); } cap_close(capcas); } @@ -1417,7 +1419,7 @@ usage(void) " savecore -C [-v] [device ...]", " savecore -L [-fvZz] [-m maxdumps] [directory]", " savecore [-fkuvz] [-m maxdumps] [directory [device ...]]"); - exit(1); + exit(EXIT_FAILURE); } int @@ -1439,7 +1441,7 @@ main(int argc, char **argv) argc = xo_parse_args(argc, argv); if (argc < 0) - exit(1); + exit(EXIT_FAILURE); while ((ch = getopt(argc, argv, "CcfkLm:uvZz")) != -1) switch(ch) { @@ -1462,7 +1464,7 @@ main(int argc, char **argv) maxdumps = atoi(optarg); if (maxdumps <= 0) { logmsg(LOG_ERR, "Invalid maxdump value"); - exit(1); + exit(EXIT_FAILURE); } break; case 'u': @@ -1502,7 +1504,7 @@ main(int argc, char **argv) error = chdir(argv[0]); if (error) { logmsg(LOG_ERR, "chdir(%s): %m", argv[0]); - exit(1); + exit(EXIT_FAILURE); } savedir = argv[0]; argc--; @@ -1524,7 +1526,7 @@ main(int argc, char **argv) savedirfd = open(savedir, O_RDONLY | O_DIRECTORY); if (savedirfd < 0) { logmsg(LOG_ERR, "open(%s): %m", savedir); - exit(1); + exit(EXIT_FAILURE); } (void)cap_rights_init(&rights, CAP_CREATE, CAP_FCNTL, CAP_FSTATAT, CAP_FSTATFS, CAP_PREAD, CAP_SYMLINKAT, CAP_FTRUNCATE, CAP_UNLINKAT, @@ -1534,7 +1536,7 @@ main(int argc, char **argv) CAP_RENAMEAT_TARGET); if (caph_rights_limit(savedirfd, &rights) < 0) { logmsg(LOG_ERR, "cap_rights_limit(): %m"); - exit(1); + exit(EXIT_FAILURE); } /* Enter capability mode. */ @@ -1547,7 +1549,7 @@ main(int argc, char **argv) if (checkfor) { if (verbose) printf("No dump exists\n"); - exit(1); + exit(EXIT_FAILURE); } if (verbose) logmsg(LOG_WARNING, "no dumps found"); @@ -1556,14 +1558,14 @@ main(int argc, char **argv) if (verbose) logmsg(LOG_WARNING, "unsaved dumps found but not saved"); - exit(1); + exit(EXIT_FAILURE); } else if (verbose) logmsg(LOG_WARNING, "no unsaved dumps found"); } else if (verbose) { logmsg(LOG_NOTICE, "%d cores saved in %s\n", nsaved, savedir); } - return (0); + exit(EXIT_SUCCESS); } static void