All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Vladimir 'φ-coder/phcoder' Serbinenko" <phcoder@gmail.com>
To: grub-devel@gnu.org
Subject: Re: [RFT] Reed-Solomon
Date: Tue, 28 Sep 2010 18:36:44 +0200	[thread overview]
Message-ID: <4CA2199C.2090602@gmail.com> (raw)
In-Reply-To: <20100928152634.GT21862@riva.ucam.org>

[-- Attachment #1: Type: text/plain, Size: 1882 bytes --]

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 #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 294 bytes --]

  reply	other threads:[~2010-09-28 16:37 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-25 20:25 [RFT] Reed-Solomon Vladimir 'φ-coder/phcoder' Serbinenko
2010-09-27 15:10 ` Phillip Susi
2010-09-27 16:12   ` Colin Watson
2010-09-27 21:10     ` Phillip Susi
2010-09-27 23:34       ` Lennart Sorensen
2010-09-28 15:13         ` Phillip Susi
2010-09-28 15:26           ` Colin Watson
2010-09-28 16:36             ` Vladimir 'φ-coder/phcoder' Serbinenko [this message]
2010-09-28 18:45               ` Phillip Susi
2010-09-28 18:54                 ` Vladimir 'φ-coder/phcoder' Serbinenko
2010-09-27 23:47       ` Manoel Rebelo Abraches

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CA2199C.2090602@gmail.com \
    --to=phcoder@gmail.com \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.