From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1P0dB2-0005yb-Bp for mharc-grub-devel@gnu.org; Tue, 28 Sep 2010 12:37:12 -0400 Received: from [140.186.70.92] (port=55858 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P0dAz-0005w2-A4 for grub-devel@gnu.org; Tue, 28 Sep 2010 12:37:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1P0dAx-0003w3-Q0 for grub-devel@gnu.org; Tue, 28 Sep 2010 12:37:09 -0400 Received: from mail-ey0-f169.google.com ([209.85.215.169]:33649) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P0dAx-0003vx-J2 for grub-devel@gnu.org; Tue, 28 Sep 2010 12:37:07 -0400 Received: by eyh5 with SMTP id 5so2343583eyh.0 for ; Tue, 28 Sep 2010 09:37:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :x-enigmail-version:content-type; bh=jXbiPA73n1LrPEJh5XD/1iEi+VZWXhIpnOveSr49M7c=; b=q80/n8ghcc25ocpye+RNElsisEvdKZsbJyr6NPKen9AYUwqRy0HNI13wTUrReADyCL F4g9vZL5d2qfqaXf94AE4mpEZ0QXFxyTUte26rHfV2WmSsv/qaNLOSc4DdRSCNnBtmnG Gka6cGowMlWqPersnrB6R6zN4gC6QO5vdWBXQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:x-enigmail-version:content-type; b=Z39g9NcEUqMLvPjgwVWLim8oM2ziUhAleVxz0k+qZCUE482i3Eq9MqUusuZKqcAk04 rnams9j6H1vYXCQZ+KLUnbVIro/WrHJBbYMHq2QUztOBWWZGUcWDcPd5ff80rlZcXjBV I9B366EcC+9Xz9FpRmWRfbGVFoXiBnnBm0+wk= Received: by 10.103.171.6 with SMTP id y6mr283619muo.99.1285691818470; Tue, 28 Sep 2010 09:36:58 -0700 (PDT) Received: from debian.bg45.phnet (gprs29.swisscom-mobile.ch [193.247.250.29]) by mx.google.com with ESMTPS id 10sm3204968fax.42.2010.09.28.09.36.56 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 28 Sep 2010 09:36:57 -0700 (PDT) Message-ID: <4CA2199C.2090602@gmail.com> Date: Tue, 28 Sep 2010 18:36:44 +0200 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.11) Gecko/20100805 Icedove/3.0.6 MIME-Version: 1.0 To: grub-devel@gnu.org References: <4C9E5AA3.4030109@gmail.com> <4CA0B3F4.9090607@cfl.rr.com> <20100927161222.GM21862@riva.ucam.org> <4CA1083F.4020301@cfl.rr.com> <20100927233431.GO8579@caffeine.csclub.uwaterloo.ca> <4CA20624.70904@cfl.rr.com> <20100928152634.GT21862@riva.ucam.org> In-Reply-To: <20100928152634.GT21862@riva.ucam.org> X-Enigmail-Version: 1.0.1 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enigAF75111DD647964AAB01E7C1" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) Subject: Re: [RFT] Reed-Solomon X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Sep 2010 16:37:10 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigAF75111DD647964AAB01E7C1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 09/28/2010 05:26 PM, Colin Watson wrote: > On Tue, Sep 28, 2010 at 11:13:40AM -0400, Phillip Susi wrote: > =20 >> On 9/27/2010 7:34 PM, Lennart Sorensen wrote: >> =20 >>> FlexNet and similar like to write to track 0 sectors (outside partiti= oned >>> space) to store license info. This clobbers part of grub potentially= =2E >>> So to make grub more tolerant of such misbehaviour, the idea suggeste= d >>> was to add error correction to grub so it can survive attacks on its = code >>> (and even potential disk errors). >>> =20 >> Ahh, neat. Two sectors of ECC can fix one that is completely destroye= d? >> I was under the impression that you could only fix a few corrupted >> bits, not an entire sector, but I suppose if you add enough ECC... >> =20 > http://en.wikipedia.org/wiki/Reed-Solomon_error_correction says that t > check symbols can correct up to floor(t/2) symbols. (ISTR Vladimir sai= d > he had a variant which did better than this, but I haven't looked yet.)= > > =20 You need one symbol to figure out an error location and one to find the correct value. Since I've chosen to do Reed-Solomon over GF(2^8) our symbols are bytes. Under the supposition that corruption happens in one sector you need only few bytes to figure which sector is corrupted and then 512 bytes to fix it. But I didn't implement this improvement >> I take it that someone has already made sure that the misbehaved >> software only uses a single sector? >> =20 > All the examples I've seen so far are thus. Of course if you have > multiple infections then you're doomed, but hopefully the probability o= f > multiple infections goes down fairly sharply ... > > =20 My branch uses every available sector for redundancy info. So if you have 2*n sectors left in MBR gap you can survive n corrupted sectors. --=20 Regards Vladimir '=CF=86-coder/phcoder' Serbinenko --------------enigAF75111DD647964AAB01E7C1 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iF4EAREKAAYFAkyiGaMACgkQNak7dOguQgkKlgD8Dtiy/0r3c7sOeyQaEjIDkXd6 wjgzuhNrABV72nGxAmMA/2eNmTEYM6yaEb88F6DhLABSegIdA7H4bFq3VVn9ItsW =nL27 -----END PGP SIGNATURE----- --------------enigAF75111DD647964AAB01E7C1--