From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1iRv1F-0007DO-E7 for mharc-grub-devel@gnu.org; Tue, 05 Nov 2019 04:20:57 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45091) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iRv1C-00076c-8c for grub-devel@gnu.org; Tue, 05 Nov 2019 04:20:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iRv19-0005jq-RY for grub-devel@gnu.org; Tue, 05 Nov 2019 04:20:52 -0500 Received: from m9a0003g.houston.softwaregrp.com ([15.124.64.68]:34128) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iRv19-0005g4-L3 for grub-devel@gnu.org; Tue, 05 Nov 2019 04:20:51 -0500 Received: FROM m9a0003g.houston.softwaregrp.com (15.121.0.190) BY m9a0003g.houston.softwaregrp.com WITH ESMTP FOR grub-devel@gnu.org; Tue, 5 Nov 2019 09:20:12 +0000 Received: from M9W0068.microfocus.com (2002:f79:bf::f79:bf) by M9W0067.microfocus.com (2002:f79:be::f79:be) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1591.10; Tue, 5 Nov 2019 09:20:22 +0000 Received: from NAM01-SN1-obe.outbound.protection.outlook.com (15.124.72.13) by M9W0068.microfocus.com (15.121.0.191) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1591.10 via Frontend Transport; Tue, 5 Nov 2019 09:20:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MPcFgiyO95IHcq4PBfm91xo11sIKns5h8LRUGMYeat6mMWKcX7J3DqqIx52t7XSbMxzRpRVtvRYQogEFd/z12P2JVDoTsAp5AcmOtD6kFOuZ4DT4qtNMt41OAFFsv3gAGuGlKjzTf/GMjP3/pil2Vq0mR22jAmaeRXerZHng7RFG+bLg1DMxnEQapzcMxPhPNtVq6SWzRsNajpy3drBKWilMkOGdUecXmqBxVtyJGg43gn6tDdA8l193qi8tJ3wrWubP0isYcIytL0fzBCoNxP69PFjyeBPzfMUDSehX2wzqR66GjAKr+7tFAzHWquxa4C2+Q2STIQt0WtP7RV6TqQ== 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=2US00IvVPXAGysSrsqjQr4Og5Sc55A4EoSng+cDnqEc=; b=YU4EySIqCePODruKvjD7YHbb8Lplvv0bDjy5VoP5veP7dVZKKGVvE5iqD+Fgx18ncL/5Q5JaLL50uEfYbkHKSL1KpH0IMzUUYLegziyfaBjq3j8AGzah11+fBVnBPc9eT6Rul3dHOKH3pm28VYzkSrz/mg/mPfU0vzL/97VV+PR5VhLNgF+85P3lImpXjC9C3WVOggBCfU4+OF3yfikioNkVBF6ahknTFoivCXjKLJzs08PmKM/16BT2SxBDMCzEB1GCyPnDZVfwolAkMgkAdhBMGf5C0AvEI2pIojyW32sBkB/r9hxnixd9cnKnSh6ehTs+bvWkrCUTvkacOqoo4g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Received: from BY5PR18MB3122.namprd18.prod.outlook.com (10.255.139.11) by BY5PR18MB3249.namprd18.prod.outlook.com (10.255.138.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.20; Tue, 5 Nov 2019 09:20:22 +0000 Received: from BY5PR18MB3122.namprd18.prod.outlook.com ([fe80::297d:fc41:ae2a:13d9]) by BY5PR18MB3122.namprd18.prod.outlook.com ([fe80::297d:fc41:ae2a:13d9%5]) with mapi id 15.20.2408.024; Tue, 5 Nov 2019 09:20:22 +0000 From: Michael Chang To: "grub-devel@gnu.org" Subject: [PATCH] Warn the user to edit environment block by grub-editenv Thread-Topic: [PATCH] Warn the user to edit environment block by grub-editenv Thread-Index: AQHVk7o/DZpXh2WWoUSPNcKt1QLWkg== Date: Tue, 5 Nov 2019 09:20:22 +0000 Message-ID: <20191105092010.29652-1-mchang@suse.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: HK0PR01CA0027.apcprd01.prod.exchangelabs.com (2603:1096:203:3e::15) To BY5PR18MB3122.namprd18.prod.outlook.com (2603:10b6:a03:1af::11) authentication-results: spf=none (sender IP is ) smtp.mailfrom=MChang@suse.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.16.4 x-originating-ip: [60.251.47.116] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f0d0b1e2-1a59-4c6a-fede-08d761d16228 x-ms-traffictypediagnostic: BY5PR18MB3249: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1923; x-forefront-prvs: 0212BDE3BE x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(396003)(39860400002)(376002)(136003)(366004)(346002)(199004)(189003)(99286004)(66066001)(66476007)(25786009)(66946007)(5660300002)(50226002)(52116002)(71200400001)(8936002)(71190400001)(316002)(305945005)(7736002)(2906002)(256004)(14454004)(8676002)(14444005)(81166006)(6486002)(5640700003)(81156014)(6916009)(486006)(66556008)(2351001)(6436002)(2501003)(1076003)(186003)(66446008)(6512007)(55236004)(36756003)(80792005)(86362001)(102836004)(6506007)(386003)(26005)(64756008)(478600001)(476003)(2616005)(6116002)(3846002); DIR:OUT; SFP:1102; SCL:1; SRVR:BY5PR18MB3249; H:BY5PR18MB3122.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: suse.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UdtzvP4vIp05jG1q2MZlJXDwuUM/z+mzwf+CYGYPEjh7Zl4fgDNLyhfQXUGi1uKP7efE6uWhLCZQhTYShy/MK5LtKC0Wq2jrmG7YXnnqko/It+8IgtTBUgA7BZTEcMYsT3+eMk1Key+aORUM1Plyu2+YTzH8v97yRY6T6l6icJ0dEXdETrnka1bBdaC/Rhf5KPGl2MzerkmTS9SVCa5T4s8cKSw30zZqTLNnGboQ+91B8ENQd3dbnJtV3fwwrK//ZgUN4u06QJmJ8zw+JMH70wD25/k75ro0f4jWyCm4MSYrqxLraiZ5S55m+IxRsqb1xlN6wAxi8cM/LGPg9hyeX0zPUajXRgIpESDoFeXDXYvuzFgY0ECPyg88BOjqI73HfsIHVmkTMxvzFcvEUcy69I6sjBGbqk8kJ+XdGyFCjyllX0kvsPZi2lXIyGqLm4vM x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: f0d0b1e2-1a59-4c6a-fede-08d761d16228 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Nov 2019 09:20:22.1336 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 856b813c-16e5-49a5-85ec-6f081e13b527 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: kJoF/YjrYEKcbG731xcSM6/GD6bE/GteC90S+V8H+8lC7sS2guDwA1t8WsA//HQ8 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR18MB3249 X-OriginatorOrg: suse.com X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 15.124.64.68 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Nov 2019 09:20:56 -0000 The environment block is a preallocated 1024-byte file serves as persistent storage for environment variables. It has its own format which is sensitive= to corruption if using editor doesn't know how to process it. Besides the edit= or may inadvertantly change size allocation that could have it sparse the filesystem which could lead to unexpected outcome. This patch adds message in grubenv file to warn the user from editing it by tools other than grub-editenv. Signed-off-by: Michael Chang --- util/editenv.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/util/editenv.c b/util/editenv.c index eb2d0c03a..ee4c9e53f 100644 --- a/util/editenv.c +++ b/util/editenv.c @@ -30,12 +30,14 @@ #include =20 #define DEFAULT_ENVBLK_SIZE 1024 +#define GRUB_ENVBLK_MESSAGE "# WARNING: Do not edit this file other than b= y "PACKAGE"-editenv\n" =20 void grub_util_create_envblk_file (const char *name) { FILE *fp; char *buf; + char *pbuf; char *namenew; =20 buf =3D xmalloc (DEFAULT_ENVBLK_SIZE); @@ -46,9 +48,13 @@ grub_util_create_envblk_file (const char *name) grub_util_error (_("cannot open `%s': %s"), namenew, strerror (errno)); =20 - memcpy (buf, GRUB_ENVBLK_SIGNATURE, sizeof (GRUB_ENVBLK_SIGNATURE) - 1); - memset (buf + sizeof (GRUB_ENVBLK_SIGNATURE) - 1, '#', - DEFAULT_ENVBLK_SIZE - sizeof (GRUB_ENVBLK_SIGNATURE) + 1); + pbuf =3D buf; + memcpy (pbuf, GRUB_ENVBLK_SIGNATURE, sizeof (GRUB_ENVBLK_SIGNATURE) - 1)= ; + pbuf +=3D sizeof (GRUB_ENVBLK_SIGNATURE) - 1; + memcpy (pbuf, GRUB_ENVBLK_MESSAGE, sizeof (GRUB_ENVBLK_MESSAGE) - 1); + pbuf +=3D sizeof (GRUB_ENVBLK_MESSAGE) - 1; + memset (pbuf , '#', + DEFAULT_ENVBLK_SIZE - sizeof (GRUB_ENVBLK_SIGNATURE) - sizeof (G= RUB_ENVBLK_MESSAGE) + 2); =20 if (fwrite (buf, 1, DEFAULT_ENVBLK_SIZE, fp) !=3D DEFAULT_ENVBLK_SIZE) grub_util_error (_("cannot write to `%s': %s"), namenew, --=20 2.16.4