grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFT] Reed-Solomon


From: Vladimir 'φ-coder/phcoder' Serbinenko
Subject: Re: [RFT] Reed-Solomon
Date: Tue, 28 Sep 2010 18:36:44 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.11) Gecko/20100805 Icedove/3.0.6

On 09/28/2010 05:26 PM, Colin Watson wrote:
> On Tue, Sep 28, 2010 at 11:13:40AM -0400, Phillip Susi wrote:
>   
>> On 9/27/2010 7:34 PM, Lennart Sorensen wrote:
>>     
>>> FlexNet and similar like to write to track 0 sectors (outside partitioned
>>> space) to store license info.  This clobbers part of grub potentially.
>>> So to make grub more tolerant of such misbehaviour, the idea suggested
>>> was to add error correction to grub so it can survive attacks on its code
>>> (and even potential disk errors).
>>>       
>> Ahh, neat.  Two sectors of ECC can fix one that is completely destroyed?
>>  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...
>>     
> http://en.wikipedia.org/wiki/Reed-Solomon_error_correction says that t
> check symbols can correct up to floor(t/2) symbols.  (ISTR Vladimir said
> he had a variant which did better than this, but I haven't looked yet.)
>
>   
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?
>>     
> 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 of
> multiple infections goes down fairly sharply ...
>
>   
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.


-- 
Regards
Vladimir 'φ-coder/phcoder' Serbinenko


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]