From patchwork Fri Jul 24 16:22:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rui Salvaterra X-Patchwork-Id: 1335860 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.openwrt.org (client-ip=2001:8b0:10b:1231::1; helo=merlin.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=merlin.20170209 header.b=dwRaMiFZ; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=Yom7zMrh; dkim-atps=neutral Received: from merlin.infradead.org (merlin.infradead.org [IPv6:2001:8b0:10b:1231::1]) (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) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BCvhl6BGSz9sTk for ; Sat, 25 Jul 2020 02:26:15 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=mGXvP3Z2HCjjj8z9yA4xCFwlOX8/5+M7wey+IFxZZPc=; b=dwRaMiFZSMZ5HcNlxUiQpj09wr wJCdqtgmMEV5WMdlFPGI4sSWxbkg2R/sRBEGkecsWbgLqi/63h+O2ZYdYJdCiI3mWEsIikj1P2jDQ KmWp4H63OmlZ5KLNn5Y2VF5lNwq8muuDC+iRGZhle5pHiYKN9VKcMoNufa2SC14YQetj/H2/jzzUC XnU97Axdj0hjCwPQMs75Aqv8OX9+aeyRCx7m1al8oO5sPej/LUtYlvE0g/oWZxMgIUkwLfMPPNaft mI+ihltY/Ihh2xAwByUcIwHtiPClcSDxvpSKkr5j8P+77gpqFq9dDWP5BMq7VxI7xoy65xinTs14U u7OV7E5A==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jz0V9-0005fs-FN; Fri, 24 Jul 2020 16:24:51 +0000 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jz0V6-0005fN-LS for openwrt-devel@lists.openwrt.org; Fri, 24 Jul 2020 16:24:49 +0000 Received: by mail-pl1-x635.google.com with SMTP id w17so4714809ply.11 for ; Fri, 24 Jul 2020 09:24:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=XESWPC1ghO9JkE6yjn57LMtBE5PAx+2c7OnWXPalIMs=; b=Yom7zMrhTUY6ZAtTva0DnI2t15hX4sSxFv7KBQKRLIewNcZfwmqk3gXae1Z4jJVfk6 YcKgbVJZ9Kxv9C+YODw1y5l4d0+cZMWK1naRBgq3qtOWc/VBoUhb/83hYHLc2LbIIhOE VIE8v6WQLTffNqmIXIfAlO47jkf11LcMq/cyglTrNZdHXSb78jnBG7kNw+L0/PfuoK4p 1RU1sjsgAGUCQRnVWinll2LvoIrcKCietdj+AHn+Qno2gf1lYXRqsbiiyaCc4phUElAV RYVMb2L7kHwE8dBY3/oUg3aZDnT7TAJMn+i+CCSatmDjVgjP6KQkHbSBIJrWVugLrppu rhVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=XESWPC1ghO9JkE6yjn57LMtBE5PAx+2c7OnWXPalIMs=; b=Kmj37fUlnFhjHP8d5xO+ofe8pgay3d/oDX3GlwRIxcJMuRU+R8+2QgdeNCG1bUaiwI XVLcpbsvkVf5iDR0/uEskmX0OW82UOCz1zVJtN0yHZnj1mQAqclMFyl8FJRVPOEfGXHE XwM8ihwKIV+5jmvFsQvpt8BxP2meQwbDze22cV8GT/RksotZoBzaqvCiZVUHP+my1yGS hVUt1X/a93XgJWd/yk1zOn2C4bKxWWBRaCvVOjrq8GM4z37eT7UMaibuQLXfNnaBvRhs ccY9RNeHoLrQN3yorXB0ssyGYzYwJ4fC724QhhAJelx69WnHsUCuzshKdDrLotqLX3YK n/lg== X-Gm-Message-State: AOAM533kg8vgQqvGyZtX0DEgNOQZgGOEsJmMFRBQVUmktoJNA5xqu9Jo mot9Vwg25EXMKidvHBDu5ZMtUuV3CQ== X-Google-Smtp-Source: ABdhPJzsLPulrYoGthCXoMDu0gXi1WpGpO2tb5Y15SPEFz4M6IED1a55AbPogyHxpGh61ZpQTRoBeQ== X-Received: by 2002:a17:902:b943:: with SMTP id h3mr9108102pls.38.1595607885903; Fri, 24 Jul 2020 09:24:45 -0700 (PDT) Received: from presler.lan (a109-49-6-66.cpe.netcabo.pt. [109.49.6.66]) by smtp.gmail.com with ESMTPSA id 66sm7055149pfg.63.2020.07.24.09.24.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jul 2020 09:24:45 -0700 (PDT) From: Rui Salvaterra To: openwrt-devel@lists.openwrt.org Subject: [PATCH v3] zram-swap: explicitely use mkswap/swapon/swapoff from /sbin Date: Fri, 24 Jul 2020 17:22:12 +0100 Message-Id: <20200724162210.176165-1-rsalvaterra@gmail.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200724_122448_757788_F1F08DA2 X-CRM114-Status: UNSURE ( 8.70 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:635 listed in] [list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [rsalvaterra[at]gmail.com] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ynezz@true.cz, Rui Salvaterra Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org The required BusyBox applets are enabled by default, so we can rely on them being present in the system. This way, we make sure there are no conflicts with less featured variants of these same applets which might also be present in the system. v3: Make sure the required applets are enabled at build time. Fixes: 0bd7dfa3ed60588ec83a8f60f48b6991ebb16940 Signed-off-by: Rui Salvaterra --- package/system/zram-swap/Makefile | 2 +- package/system/zram-swap/files/zram.init | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package/system/zram-swap/Makefile b/package/system/zram-swap/Makefile index 4422c351ea..32b17ca7a3 100644 --- a/package/system/zram-swap/Makefile +++ b/package/system/zram-swap/Makefile @@ -17,7 +17,7 @@ include $(INCLUDE_DIR)/package.mk define Package/zram-swap SECTION:=utils CATEGORY:=Base system - DEPENDS:=+kmod-zram +!(BUSYBOX_CONFIG_MKSWAP&&BUSYBOX_CONFIG_SWAPON&&BUSYBOX_CONFIG_SWAPOFF):swap-utils + DEPENDS:=+kmod-zram +@BUSYBOX_CONFIG_MKSWAP +@BUSYBOX_CONFIG_SWAPON +@BUSYBOX_CONFIG_FEATURE_SWAPON_DISCARD +@BUSYBOX_CONFIG_FEATURE_SWAPON_PRI +@BUSYBOX_CONFIG_SWAPOFF TITLE:=ZRAM swap scripts PKGARCH:=all endef diff --git a/package/system/zram-swap/files/zram.init b/package/system/zram-swap/files/zram.init index a6126e578f..f31a87438c 100755 --- a/package/system/zram-swap/files/zram.init +++ b/package/system/zram-swap/files/zram.init @@ -35,18 +35,18 @@ zram_applicable() return 1 } - which mkswap >/dev/null || { - logger -s -t zram_applicable -p daemon.err "[ERROR] 'mkswap' not installed" + [ -x /sbin/mkswap ] || { + logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox mkswap' not installed" return 1 } - which swapon >/dev/null || { - logger -s -t zram_applicable -p daemon.err "[ERROR] 'swapon' not installed" + [ -x /sbin/swapon ] || { + logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox swapon' not installed" return 1 } - which swapoff >/dev/null || { - logger -s -t zram_applicable -p daemon.err "[ERROR] 'swapoff' not installed" + [ -x /sbin/swapoff ] || { + logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox swapoff' not installed" return 1 } } @@ -181,8 +181,8 @@ start() zram_comp_algo "$zram_dev" zram_comp_streams "$zram_dev" echo $(( $zram_size * 1024 * 1024 )) >"/sys/block/$( basename "$zram_dev" )/disksize" - mkswap "$zram_dev" - swapon -d $zram_priority "$zram_dev" + /sbin/mkswap "$zram_dev" + /sbin/swapon -d $zram_priority "$zram_dev" } stop() @@ -191,7 +191,7 @@ stop() for zram_dev in $( grep zram /proc/swaps |awk '{print $1}' ); do { logger -s -t zram_stop -p daemon.debug "deactivate swap $zram_dev" - swapoff "$zram_dev" && zram_reset "$zram_dev" "claiming memory back" + /sbin/swapoff "$zram_dev" && zram_reset "$zram_dev" "claiming memory back" local dev_index="$( echo $zram_dev | grep -o "[0-9]*$" )" if [ $dev_index -ne 0 ]; then logger -s -t zram_stop -p daemon.debug "removing zram $zram_dev"