From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6924371667242188800 X-Received: by 2002:a2e:850d:: with SMTP id j13mr11121045lji.507.1612205912538; Mon, 01 Feb 2021 10:58:32 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:6d4:: with SMTP id u20ls1413777lff.1.gmail; Mon, 01 Feb 2021 10:58:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJxRnF4kbxos3wPwbjlLLuQ6PMwyp/H4Sv3plmR0dWwabr+K5HB/zZFL0vrqWnr+H5X2j9UB X-Received: by 2002:ac2:5f41:: with SMTP id 1mr9410092lfz.65.1612205911525; Mon, 01 Feb 2021 10:58:31 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1612205911; cv=pass; d=google.com; s=arc-20160816; b=lXhd12zINiaAFiRQTvQMtUx9Zl+kKBigslNCI8fcOo3p4/vC7kmhW1R6NIklNDci94 F9AET/7gk8gJU+D4K6HsRi/sdgigRgFQBVC9kNlgoog18Ce4YOZnA+MOsvKkNbJWsfMZ nRt5vF0IWljE46rTBoWGBRBUzTBXHDV2Rlahf/IuscOfBArJg2IKJtejrVm0NQ/Spa3M PHxLiKACg1/6jX8EcgArnSHZUeMIvcV7KxcgVFYmEkPeY2wLfQU2x5toMcIqRDYQ7mDL NothhUg7EfyGYs5VpkKgPYELCQY5jP8nAc9NuB4foVSjB86+epkYh3101QdBdwNt87QY hSyQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature; bh=ewsMbGOqkcKKt9zjB2qSfm8Ct56TRIkZDmpPnIGBhUw=; b=IWhcVo3Dl/G8JZbEETdvthW0IrzLxkUFf+lrMpWrbhyzAqzh08o0+XV+3FGrbFBziw 5eCIzjOeCx0QDWryQ/5LlEmfcAVcHMZAou917MxCoaIUqS1pmUE+8tMRzz9Gly5FVDMx 5d/kr15jcz06ztBdVNL6VHpEcd/ZyHG/EBvwOIIJNSVkvgd46Tz87ILcSjp+W8sJHWAI ABeitwtK3tKuUiB8oM+GUmHKzZEbzWFABobdNbuNFZzCyACT1OfMtLHBMj2aMNj4Qgcm REAVWzHj8cR31GW567ZYczlYCR7BHph4DK1aBBvHbn2lkWlkWteegZm65qy2XanY5r67 wJ3Q== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.onmicrosoft.com header.s=selector1-siemens-onmicrosoft-com header.b=BODsXZnn; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of florian.bezdeka@siemens.com designates 40.107.7.57 as permitted sender) smtp.mailfrom=florian.bezdeka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70057.outbound.protection.outlook.com. [40.107.7.57]) by gmr-mx.google.com with ESMTPS id d25si1046536lji.8.2021.02.01.10.58.31 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 01 Feb 2021 10:58:31 -0800 (PST) Received-SPF: pass (google.com: domain of florian.bezdeka@siemens.com designates 40.107.7.57 as permitted sender) client-ip=40.107.7.57; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.onmicrosoft.com header.s=selector1-siemens-onmicrosoft-com header.b=BODsXZnn; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of florian.bezdeka@siemens.com designates 40.107.7.57 as permitted sender) smtp.mailfrom=florian.bezdeka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bxyCo4GeVIZ9THLMt0jmTmMBpNCp56OX/YBKyc7EWmrmEDwkJhgurtgbyCRrViKWu6pKAeHFrSKxIxwQZ26KCgUERH8J9odnCdeOjiErh+0YDQLxgMVQEBrnwANya7WHavxz1LlUmg5ofQqlfH/kj3eeV+mDMN1Glp0yqLi4Q4mKLLlJiVhRNa8ME0XUc26z+4fzu8iN0azmX28VXABJ1O04Oxz397kLGROLuoux0UqTjP8mG6uoH0q1FNQseCuPZvIvkgqAUFpp1rldGNxcaclAM1Zy+ddlkZxr4BSlTY53ZS0bFv5Hy4DY+XfnUzZ5bj8YxhLHODQfXa7U4+fVjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ewsMbGOqkcKKt9zjB2qSfm8Ct56TRIkZDmpPnIGBhUw=; b=AHWKuO9zHsg6aKRzi7JWH28jDIgBttGiZnFRfnvVsxtFUDyKdlOexBcPwZAFGqJuJ6EDSpzE8DFCVwFwhMzwLynUExZ7JcjACC04gB7BpqQlLL1sqiXEEBuJUQuXVyX/eKeP5f4LGTYfBZiWupLUnAcCWTVswOcru/E6P+XAr+WcGOqLSIsHp3AAu6wXKk7fCQ8lDaAynu6ZFmoEv5N/bIh57AXYwBNZ9OVgNOQ29pFoltGJSZbLXO12XsZxbiMMAOkTlcye3oor0OIewatxFbxiEiChdVwNHTYw4+DQynme1H4X141ZSxadvIjWaDnb6JcGEedrfrFts4EOL6KbTg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.onmicrosoft.com; s=selector1-siemens-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ewsMbGOqkcKKt9zjB2qSfm8Ct56TRIkZDmpPnIGBhUw=; b=BODsXZnntGi6vgL4ndZ/2x0C6MIsjFCIws/VnBPdHCOG31Jca7ztStBbD51NxpkLuhsHsw7d/VRwb2J/4BvdxKaBh2LIfg+sveCmRJDUrQYscMqj19p3JEQvli6zs8d+nx33gdyXbYFbm7zmA4ejJGk3Vsa0DbWCPeJSywfFJf4= Received: from AM0PR10MB1906.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:49::10) by AM0PR10MB2004.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:46::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Mon, 1 Feb 2021 18:58:23 +0000 Received: from AM0PR10MB1906.EURPRD10.PROD.OUTLOOK.COM ([fe80::dc9b:2590:a1cf:3301]) by AM0PR10MB1906.EURPRD10.PROD.OUTLOOK.COM ([fe80::dc9b:2590:a1cf:3301%7]) with mapi id 15.20.3805.025; Mon, 1 Feb 2021 18:58:23 +0000 From: "florian.bezdeka@siemens.com" To: "isar-users@googlegroups.com" CC: "henning.schild@siemens.com" , "quirin.gylstorff@siemens.com" , "jan.kiszka@siemens.com" , "florian.bezdeka@siemens.com" Subject: [RFC PATCH 2/2] wic: Warn if an ext filesystem affected by the Y2038 problem is used Thread-Topic: [RFC PATCH 2/2] wic: Warn if an ext filesystem affected by the Y2038 problem is used Thread-Index: AQHW+Mw3toQ2/vmDPEKfj9WqIC5org== Date: Mon, 1 Feb 2021 18:58:23 +0000 Message-ID: <20210201185815.382326-3-florian.bezdeka@siemens.com> References: <20210201185815.382326-1-florian.bezdeka@siemens.com> In-Reply-To: <20210201185815.382326-1-florian.bezdeka@siemens.com> Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.29.2 authentication-results: googlegroups.com; dkim=none (message not signed) header.d=none;googlegroups.com; dmarc=none action=none header.from=siemens.com; x-originating-ip: [178.27.123.43] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 34cd5653-c69e-4c81-b707-08d8c6e359c2 x-ms-traffictypediagnostic: AM0PR10MB2004: x-ld-processed: 38ae3bcd-9579-4fd4-adda-b42e1495d55a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:632; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: NF21lga1naq2X5O2RM1JA3xzImEUot5wlrqfBYg5UuL9kzUAEroiATKPrdqmQJ2jNE09qhTctbG7SAygr49UXTDEdB1wmn+y6lnhbWj8IBDvpdmKSOuZtAiPmvOAduhOOQT9T3uhjX/JPdHx3BzWXkQxyha/fll4YVVu/3a+pTd1cTIea4Zk/jgqIr33/QeP4dTqDazecNYxo8x+9z7Jv0qnvX63+LkAUNihpeRS/pbG2QUVumSf3i0K+vHSRei8rWUCIywQrqBqWFLMbp5QuPVpKMyyZmYKN/zSdd/gtGzyhHKq4llbhhLoV/EVpchuIh9xYcqJ0AVkY1KAdBpZx7PJLWrqEgH88Q9szwO6CiZ2XlGuClGOCbMR8/xOx3fuk8+SOIZIM1GImXW0KqegFSOeguoxrbQvwgzlINFJnTINp2X2HgOe4OfXVrSznFRSM87hGy1ywd7ZW0hmoHRF5ngmvU8hS1KuZnzmWgA9ukIN9RUrrUN8xz43x0s5yXC4sy+pKvd4Z4SMrs9ETbW8Mg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1906.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(346002)(39860400002)(376002)(136003)(366004)(396003)(6916009)(26005)(4326008)(1076003)(91956017)(6512007)(5660300002)(478600001)(2616005)(64756008)(86362001)(8936002)(71200400001)(2906002)(6486002)(36756003)(66556008)(66476007)(83380400001)(107886003)(8676002)(66946007)(6506007)(186003)(76116006)(54906003)(316002)(66446008);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?iso-8859-1?Q?/jLwrxuNuDulzh0s1px1ytGyIuB7SV72d17D6JphW77T4fjRNplQ+8ThVj?= =?iso-8859-1?Q?wnTUQMLR7GWDfHzhrDp92l5VWTOY+YnjC0LMFiMKxsnGbwtJbwNbiGQADd?= =?iso-8859-1?Q?nrLjbHmc1xVFPEOqkGEXERxr4UBR5N5LL1OOedoERsz1J26ELUTV6MN6K/?= =?iso-8859-1?Q?g38gQzWn6yKW4mIuoD6/GQJdu2JW1Rkns8/TesQ6avKODgpXTkTOAxX5ZV?= =?iso-8859-1?Q?aNumajYTaMmf38juaAPEUgWtEP+X96ypIbfERPCmfqE1GME7oh5/e9XpUI?= =?iso-8859-1?Q?W15IZqdlvvi4NY5Bkg4CGKxN3FvCb7nWy4SXH4YoNqqxZFykJjfVYbflUx?= =?iso-8859-1?Q?T3m/6mAeQyDZOHGXyysXXrxl2YY68QBkE0yakLiAz/okMNhPwITaWh06mR?= =?iso-8859-1?Q?wmkHa6VAghy+rr8rqR8E9mnWjeADdf3x45liPW03WLemr/Thas2a9IFUVV?= =?iso-8859-1?Q?rVFLFNF0cEurMNyaYnEBJkw3NLqORub++fjRWkvWjchVZadUyqVEQuRiJt?= =?iso-8859-1?Q?fx5Wu5RwE8z0jItlST9Zd8gHX+lUVu0/CS1CRRaI9UXA5K2uCPgAPNfzyG?= =?iso-8859-1?Q?CoFEqTVBSVxNUEjmbRC6xHU+cSQHxH9U5UEqcXbWtKX74xqtHdUCu3l3d1?= =?iso-8859-1?Q?CRf5dlpWH++FWVCA0nmRCrlOsFsNSops2mDDTWO8tja2DUVh5+tDDKjjPd?= =?iso-8859-1?Q?nGM9ehAbcvcY8gjF2CBkaZOfqT11KYyieO9+HBYJFxygLA1G/fIxBr9gIr?= =?iso-8859-1?Q?OlwGAaTCAP5OPAQjp9MHgUb2yZ0EfQ6tECANF3vHlcYaUdywIhy8nCTQX5?= =?iso-8859-1?Q?LT0zFvEV0IL4yITK8TJK2qJ0pad5/qE4hT/9ZP0aGs1OmQQ+leUh02BGt+?= =?iso-8859-1?Q?REMCfApC1GMirMIag6R1VwYPbAgzv3D+a/0WtHrIcue93cYsfEvqofyuLY?= =?iso-8859-1?Q?MqmoUpf829M65wFoxI1685AG6nj0Dbm17ZMqovK8ujKDUzSE6KPq7Lo4jK?= =?iso-8859-1?Q?m6KjKL2axHETMriRwt85VCTtb0p1t0moG/nxcSZCmsbvURF3Asq8VxHTTf?= =?iso-8859-1?Q?kYasHlDI1EdgFmAsYwm2Vc1WtErITNriu7VAg0ENgEt5FBcDE2m0fs7iOO?= =?iso-8859-1?Q?2dKWa8gQ=3D=3D?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1906.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 34cd5653-c69e-4c81-b707-08d8c6e359c2 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2021 18:58:23.7234 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 64T4en+mqGizdlHEYVBMM0ggdX8XLzVqEQsZndYebi/KlT7+WoT6S1Y8kV5yciQKIEjGS/0DBe5OuC+n7Bco5CNDkQ8qjzBPdyq3oXCdOwI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB2004 X-TUID: ZEyHjCQfJljq From: Florian Bezdeka We are getting closer and closer to the year 2038 where the 32 bit time_t overflow will happen. While products (=3D embedded systems) with an expected life time of 15 years are still save the situation may change if your system has to survive the next 20 years. While ext2 and ext3 file systems are always affected by the time overflow, let's warn the user if these file systems are still being used. If ext4 is affected depends on the inode size chosen during file system creation. At least 256 bytes are necessary to be save. As ext4 is used very often (and partitions may be small first and extended later) this might be an issue for many users. Signed-off-by: Florian Bezdeka --- scripts/lib/wic/partition.py | 38 ++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py index 85eb15c..c165457 100644 --- a/scripts/lib/wic/partition.py +++ b/scripts/lib/wic/partition.py @@ -270,6 +270,8 @@ class Partition(): mkfs_cmd =3D "fsck.%s -pvfD %s" % (self.fstype, rootfs) exec_native_cmd(mkfs_cmd, native_sysroot, pseudo=3Dpseudo) =20 + self.check_for_Y2038_problem(rootfs, native_sysroot) + def prepare_rootfs_btrfs(self, rootfs, oe_builddir, rootfs_dir, native_sysroot, pseudo): """ @@ -356,6 +358,8 @@ class Partition(): (self.fstype, extraopts, label_str, self.fsuuid, rootfs) exec_native_cmd(mkfs_cmd, native_sysroot) =20 + self.check_for_Y2038_problem(rootfs, native_sysroot) + def prepare_empty_partition_btrfs(self, rootfs, oe_builddir, native_sysroot): """ @@ -417,3 +421,37 @@ class Partition(): =20 mkswap_cmd =3D "mkswap %s -U %s %s" % (label_str, self.fsuuid, pat= h) exec_native_cmd(mkswap_cmd, native_sysroot) + + def check_for_Y2038_problem(self, rootfs, native_sysroot): + """ + Check if the filesystem is affected by the Y2038 problem + (Y2038 problem =3D 32 bit time_t overflow in January 2038) + """ + def get_err_str(part): + err =3D "The {} filesystem {} has no Y2038 support." + if part.mountpoint: + args =3D [part.fstype, "mounted at %s" % part.mountpoint] + elif part.label: + args =3D [part.fstype, "labeled %s" % part.label] + elif part.part_name: + args =3D [part.fstype, "in partition %s" % part.part_name] + else: + args =3D [part.fstype, ""] + return err.format(*args) + + ret, out =3D exec_native_cmd("dumpe2fs %s" % rootfs, native_sysroo= t) + + # ext2 and ext3 are always affected by the Y2038 problem + if self.fstype in ["ext2", "ext3"]: + logger.warn(get_err_str(self)) + return + + # if ext4 is affected by the Y2038 problem depends on the inode si= ze + # Remember: inode size depends on the file system size + for line in out.splitlines(): + if line.startswith("Inode size:"): + size =3D int(line.split(":")[1].strip()) + if size < 256: + logger.warn("%s Inodes (of size %d) are too small." % = \ + (get_err_str(self), size)) + break \ No newline at end of file --=20 2.29.2