Blob Blame History Raw
From 7cf2c21798b537a5553ecc23df5ce8cfda631e9c Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin@suse.com>
Date: Tue, 25 Apr 2017 15:25:20 +0200
Subject: [PATCH] mkinitrd-suse.sh: Fix prefix calculation

The previous algorithm was incorrect and would return
incorrect results e.g. for a /20 mask. Also gets rid
of an undocumented depencency on bc(1).

Reference: bsc#1035743
---
 mkinitrd-suse.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh
index bc49d731..d9de81b9 100755
--- a/mkinitrd-suse.sh
+++ b/mkinitrd-suse.sh
@@ -104,7 +104,7 @@ calc_netmask() {
     local prefix=$1
 
     [ -z "$prefix" ] && return
-    mask=$(echo "(2 ^ 32) - (2 ^ $prefix)" | bc -l)
+    mask=$(( 0xffffffff << (32 - $prefix) ))
     byte1=$(( mask >> 24 ))
     byte2=$(( mask >> 16 ))
     byte3=$(( mask >> 8 ))