mbox series

[v2,0/5] libflash blocklevel ECC corrections

Message ID 20180307060459.18338-1-cyril.bur@au1.ibm.com
Headers show
Series libflash blocklevel ECC corrections | expand

Message

Cyril Bur March 7, 2018, 6:04 a.m. UTC
V1 was submitted almost a year ago:
https://lists.ozlabs.org/pipermail/skiboot/2017-April/006977.html

The core of the problem still exists, this problem does still need to
get addressed in blocklevel rather than individually in each tool.

I've rebased this onto master and double checked that everything
still appears to work.

Both the gard tool and pflash built with this series have are:
Tested-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com>

Stewart, I'm not sure if this means we should put the tag on all
patches or just the last one. I've put it on the last one because
that makes the most sense to me.


Cyril Bur (5):
  gitignore: Add stb test kernel files
  libflash/ecc: Add functions to deal with unaligned ECC memcpy
  libflash/ecc: Add helpers to align a position within an ecc buffer
  libflash/blocklevel: Return region start from ecc_protected()
  libflash/blocklevel: Make read/write be ECC agnostic for callers

 .gitignore                      |   3 +
 external/gard/gard.c            |  49 +++---
 libflash/blocklevel.c           | 137 ++++++++++++++---
 libflash/ecc.c                  | 247 +++++++++++++++++++++++++++---
 libflash/ecc.h                  |   9 ++
 libflash/test/test-blocklevel.c | 330 +++++++++++++++++++++++++++++++++++-----
 libflash/test/test-ecc.c        |  31 ++++
 7 files changed, 701 insertions(+), 105 deletions(-)

Comments

Sam Mendoza-Jonas March 8, 2018, 4:03 a.m. UTC | #1
On Wed, 2018-03-07 at 17:04 +1100, Cyril Bur wrote:
> V1 was submitted almost a year ago:
> https://lists.ozlabs.org/pipermail/skiboot/2017-April/006977.html
> 
> The core of the problem still exists, this problem does still need to
> get addressed in blocklevel rather than individually in each tool.
> 
> I've rebased this onto master and double checked that everything
> still appears to work.
> 
> Both the gard tool and pflash built with this series have are:
> Tested-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com>
> 
> Stewart, I'm not sure if this means we should put the tag on all
> patches or just the last one. I've put it on the last one because
> that makes the most sense to me.

Reviewed-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>

And heavily endorsed since bugs due to this were a huge pain to debug :)
Essentially we can never turn ECC back on for NVRAM without these changes
since the Linux kernel will try to write the lnx,oops-log partition at an
unaligned address.

> 
> 
> Cyril Bur (5):
>   gitignore: Add stb test kernel files
>   libflash/ecc: Add functions to deal with unaligned ECC memcpy
>   libflash/ecc: Add helpers to align a position within an ecc buffer
>   libflash/blocklevel: Return region start from ecc_protected()
>   libflash/blocklevel: Make read/write be ECC agnostic for callers
> 
>  .gitignore                      |   3 +
>  external/gard/gard.c            |  49 +++---
>  libflash/blocklevel.c           | 137 ++++++++++++++---
>  libflash/ecc.c                  | 247 +++++++++++++++++++++++++++---
>  libflash/ecc.h                  |   9 ++
>  libflash/test/test-blocklevel.c | 330 +++++++++++++++++++++++++++++++++++-----
>  libflash/test/test-ecc.c        |  31 ++++
>  7 files changed, 701 insertions(+), 105 deletions(-)
>
Cyril Bur March 12, 2018, 10:10 p.m. UTC | #2
On Thu, 2018-03-08 at 15:03 +1100, Samuel Mendoza-Jonas wrote:
> On Wed, 2018-03-07 at 17:04 +1100, Cyril Bur wrote:
> > V1 was submitted almost a year ago:
> > https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.ozlabs.org_pipermail_skiboot_2017-2DApril_006977.html&d=DwICaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=enAa2wJuZFP2PsCNSamrs-fnBSp0sgKE8NVKBN2MoOk&m=oBR8sexxUpHnpWQzH6srRNUq_Z-DXZohtQk6wC5Vz84&s=6XCN_fCIoW1EcRtTwauRMcNJL7IkY5CpHF-xrDcRB7k&e=
> > 
> > The core of the problem still exists, this problem does still need to
> > get addressed in blocklevel rather than individually in each tool.
> > 
> > I've rebased this onto master and double checked that everything
> > still appears to work.
> > 
> > Both the gard tool and pflash built with this series have are:
> > Tested-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com>
> > 
> > Stewart, I'm not sure if this means we should put the tag on all
> > patches or just the last one. I've put it on the last one because
> > that makes the most sense to me.
> 
> Reviewed-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
> 

Thanks!

> And heavily endorsed since bugs due to this were a huge pain to debug :)
> Essentially we can never turn ECC back on for NVRAM without these changes
> since the Linux kernel will try to write the lnx,oops-log partition at an
> unaligned address.
> 

Oh and much bigger thanks for remembering this particular example of
the bug. That was a massive pain.

> > 
> > 
> > Cyril Bur (5):
> >   gitignore: Add stb test kernel files
> >   libflash/ecc: Add functions to deal with unaligned ECC memcpy
> >   libflash/ecc: Add helpers to align a position within an ecc buffer
> >   libflash/blocklevel: Return region start from ecc_protected()
> >   libflash/blocklevel: Make read/write be ECC agnostic for callers
> > 
> >  .gitignore                      |   3 +
> >  external/gard/gard.c            |  49 +++---
> >  libflash/blocklevel.c           | 137 ++++++++++++++---
> >  libflash/ecc.c                  | 247 +++++++++++++++++++++++++++---
> >  libflash/ecc.h                  |   9 ++
> >  libflash/test/test-blocklevel.c | 330 +++++++++++++++++++++++++++++++++++-----
> >  libflash/test/test-ecc.c        |  31 ++++
> >  7 files changed, 701 insertions(+), 105 deletions(-)
> > 
> 
>
Stewart Smith April 10, 2018, 6:51 a.m. UTC | #3
Samuel Mendoza-Jonas <sam@mendozajonas.com> writes:
> On Wed, 2018-03-07 at 17:04 +1100, Cyril Bur wrote:
>> V1 was submitted almost a year ago:
>> https://lists.ozlabs.org/pipermail/skiboot/2017-April/006977.html
>> 
>> The core of the problem still exists, this problem does still need to
>> get addressed in blocklevel rather than individually in each tool.
>> 
>> I've rebased this onto master and double checked that everything
>> still appears to work.
>> 
>> Both the gard tool and pflash built with this series have are:
>> Tested-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com>
>> 
>> Stewart, I'm not sure if this means we should put the tag on all
>> patches or just the last one. I've put it on the last one because
>> that makes the most sense to me.
>
> Reviewed-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
>
> And heavily endorsed since bugs due to this were a huge pain to debug :)
> Essentially we can never turn ECC back on for NVRAM without these changes
> since the Linux kernel will try to write the lnx,oops-log partition at an
> unaligned address.

Well, we should be able to do that now.

Merged the series as of 5616c42d900afb04a4df77fe0a882f5258239211 and am
only *slightly* nervous about that :)

But hey, YOLO it's only ECC and flash, right?