From nobody Wed Apr 24 03:19:04 2024 X-Original-To: dev-commits-src-all@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 4VPPN90D8rz5Jd0P; Wed, 24 Apr 2024 03:19:05 +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 4VPPN85gG9z4H4Z; Wed, 24 Apr 2024 03:19:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713928744; 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=blvRggDsgz7AwSB9DF/QAzZkR66k4UVJ87w0rlReH/I=; b=stZpsxKYkhhQE3eCcuUhxblLIumkPhxJsEph6IcrWxA0wIZXffXqattSkOL141JkoIyued IZrkEcmzvckkMct0D+igpOFPchwZ2aXmQDJYZS9ROLFIA0YEfGwVYDV2qBnaatjXvHcutJ cS5hbJq3YO0FzVar5LEDcOTAvJxikzzDqXSg2o9K+myxdgb56MvjURDR9toOUnD5A+gJed lUMK9am1gDnDOPrk+cIn9cQGLm3r4ygZbD5ePEF3rQETQTB0H9Jf9UEDmysy7s+VGSUk1l DaLfYdwMccfMXVAvOa9c0b8cGQEH2VDz2lesNk2fM6LKWjFFc525KAqmSVO4cg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713928744; a=rsa-sha256; cv=none; b=D3EbDwvC0UjzApUyPLsL3UT3WNfiy/lGwrLM6QBjdByN2QZdIMx77d05XLApaSV1ejo91L EoPYVJPUEf5uZDvpMfg7mIBpkbcUPgCFMzX1bUPF5tU+Igrglw/rv+rcK0c5OTZ3gdWYmc Nw0w3yAaIhuVwQBXcpUOk77+19Om+XH+nfblKqRvTqSO/nLhTWggImIHiWhrmk2/GLkx7m IULLYdTuSvdKHMpZ3IAWDVwBkF2VJsiDZww7ppWYgJ+Wey8puohosle1YApdtwRSY3nWMi ojyKL3opnJwxan7rkyaq9m7d84iVZTEB3qsqlRngNxJ34tieq11XN1Q9m7BHfg== 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=1713928744; 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=blvRggDsgz7AwSB9DF/QAzZkR66k4UVJ87w0rlReH/I=; b=aLrT/2sGuKCB0OU08LfcYFMY3MreajPKntUQRV7iEn5GSf0yJqq3G41oPMirdwkPyaBFvR MHy6zjzIsKkKwJGWq4MzKu7atlyZ4LE8R51RHRRooiazPuNjp3O2Ik4I97fxJosGyYLuuj VsiBjy1xDk3E4Elhyi4KKtYArpt7hGgza032cmORcLwUqzroo1ou/ktsciS08h/ngzK1Mj UhN/AwT9k42ALq8EG47sT1E6zBhVY2Z08MslyIw++RFJkRToQ5S7iSo+4DsFXrgBQhWAtK 8nI9fJlhVx1hmNOEM5SLlQgo3IDAinlCX6KLhYEh2G22UEmopL6tmbIHO0LpmA== 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 4VPPN84yZTzxwG; Wed, 24 Apr 2024 03:19:04 +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 43O3J4hk038990; Wed, 24 Apr 2024 03:19:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43O3J4tw038987; Wed, 24 Apr 2024 03:19:04 GMT (envelope-from git) Date: Wed, 24 Apr 2024 03:19:04 GMT Message-Id: <202404240319.43O3J4tw038987@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: feabaf8d5389 - main - Revert "swapon: Do not overwrite Linux swap header" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: feabaf8d5389d43b404aacfcd3298bfed94a41ab Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=feabaf8d5389d43b404aacfcd3298bfed94a41ab commit feabaf8d5389d43b404aacfcd3298bfed94a41ab Author: Warner Losh AuthorDate: 2024-04-24 03:18:00 +0000 Commit: Warner Losh CommitDate: 2024-04-24 03:18:56 +0000 Revert "swapon: Do not overwrite Linux swap header" This reverts commit cf04a7775a4e8ff6fd28c768be9daa3d83dd382e.This is broken on armv7, and closer scrutiny of the reviews shows I was in error when I thought it was ready. --- sbin/swapon/Makefile | 2 -- sbin/swapon/extern.h | 5 ---- sbin/swapon/swaplinux.c | 66 ------------------------------------------------- sbin/swapon/swapon.c | 54 +--------------------------------------- 4 files changed, 1 insertion(+), 126 deletions(-) diff --git a/sbin/swapon/Makefile b/sbin/swapon/Makefile index 930e938e5b05..27808aed5857 100644 --- a/sbin/swapon/Makefile +++ b/sbin/swapon/Makefile @@ -6,8 +6,6 @@ LINKS= ${BINDIR}/swapon ${BINDIR}/swapoff LINKS+= ${BINDIR}/swapon ${BINDIR}/swapctl MLINKS= swapon.8 swapoff.8 MLINKS+=swapon.8 swapctl.8 -SRCS= swapon.c swaplinux.c -HDRS+= extern.h LIBADD= util diff --git a/sbin/swapon/extern.h b/sbin/swapon/extern.h deleted file mode 100644 index cb33dbbee953..000000000000 --- a/sbin/swapon/extern.h +++ /dev/null @@ -1,5 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-3-Clause - */ - -int is_linux_swap(const char *); diff --git a/sbin/swapon/swaplinux.c b/sbin/swapon/swaplinux.c deleted file mode 100644 index d01a94345e68..000000000000 --- a/sbin/swapon/swaplinux.c +++ /dev/null @@ -1,66 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include -#include -#include -#include -#include - -#include "extern.h" - -/* - * Definitions and structure taken from - * https://github.com/util-linux/util-linux/blob/master/include/swapheader.h - */ - -#define SWAP_VERSION 1 -#define SWAP_UUID_LENGTH 16 -#define SWAP_LABEL_LENGTH 16 -#define SWAP_SIGNATURE "SWAPSPACE2" -#define SWAP_SIGNATURE_SZ (sizeof(SWAP_SIGNATURE) - 1) - -struct swap_header_v1_2 { - char bootbits[1024]; /* Space for disklabel etc. */ - uint32_t version; - uint32_t last_page; - uint32_t nr_badpages; - unsigned char uuid[SWAP_UUID_LENGTH]; - char volume_name[SWAP_LABEL_LENGTH]; - uint32_t padding[117]; - uint32_t badpages[1]; -}; - -typedef union { - struct swap_header_v1_2 header; - struct { - uint8_t reserved[4096 - SWAP_SIGNATURE_SZ]; - char signature[SWAP_SIGNATURE_SZ]; - } tail; -} swhdr_t; - -#define sw_version header.version -#define sw_volume_name header.volume_name -#define sw_signature tail.signature - -int -is_linux_swap(const char *name) -{ - uint8_t buf[4096]; - swhdr_t *hdr = (swhdr_t *) buf; - int fd; - - fd = open(name, O_RDONLY); - if (fd == -1) - return (-1); - - if (read(fd, buf, 4096) != 4096) { - close(fd); - return (-1); - } - close(fd); - - return (hdr->sw_version == SWAP_VERSION && - !memcmp(hdr->sw_signature, SWAP_SIGNATURE, SWAP_SIGNATURE_SZ)); -} diff --git a/sbin/swapon/swapon.c b/sbin/swapon/swapon.c index 0f2ad1f5e213..26a7dc22654a 100644 --- a/sbin/swapon/swapon.c +++ b/sbin/swapon/swapon.c @@ -54,15 +54,10 @@ #include #include -#include "extern.h" - -#define _PATH_GNOP "/sbin/gnop" - static void usage(void) __dead2; static const char *swap_on_off(const char *, int, char *); static const char *swap_on_off_gbde(const char *, int); static const char *swap_on_off_geli(const char *, char *, int); -static const char *swap_on_off_linux(const char *, int); static const char *swap_on_off_md(const char *, char *, int); static const char *swap_on_off_sfile(const char *, int); static void swaplist(int, int, int); @@ -255,13 +250,8 @@ swap_on_off(const char *name, int doingall, char *mntops) return (swap_on_off_geli(name, mntops, doingall)); } - free(basebuf); - - /* Linux swap */ - if (is_linux_swap(name)) - return (swap_on_off_linux(name, doingall)); - /* Swap on special file. */ + free(basebuf); return (swap_on_off_sfile(name, doingall)); } @@ -476,48 +466,6 @@ swap_on_off_geli(const char *name, char *mntops, int doingall) return (swap_on_off_sfile(name, doingall)); } -static const char * -swap_on_off_linux(const char *name, int doingall) -{ - const char *ret; - char *nopname; - size_t nopnamelen; - int error; - - if (which_prog == SWAPON) { - /* Skip the header for Linux swap partitions */ - error = run_cmd(NULL, "%s create -o 4096 %s", _PATH_GNOP, - name); - if (error) { - warnx("gnop (create) error: %s", name); - return (NULL); - } - } - - /* Append ".nop" to name */ - nopnamelen = strlen(name) + sizeof(".nop"); - nopname = (char *) malloc(nopnamelen); - if (nopname == NULL) - err(1, "malloc()"); - (void)strlcpy(nopname, name, nopnamelen); - (void)strlcat(nopname, ".nop", nopnamelen); - - ret = swap_on_off_sfile(nopname, doingall); - - if (which_prog == SWAPOFF) { - error = run_cmd(NULL, "%s destroy %s", _PATH_GNOP, nopname); - if (error) { - warnx("gnop (destroy) error: %s", name); - free(nopname); - return (NULL); - } - } - - free(nopname); - - return (ret); -} - static const char * swap_on_off_md(const char *name, char *mntops, int doingall) {