On Wed, 2013-05-15 at 11:30 +0800, Lingzhu Xiang wrote:
> On Wed, May 15, 2013 at 12:24 AM, Ben Hutchings <b...@decadent.org.uk> wrote:
> > On Tue, May 14, 2013 at 11:28:13PM +0800, Lingzhu Xiang wrote:
> >> This is apparently a kernel bug. It should be introduced after bug 703574.
> >>
> >> In an attempt to protect more Samsungs from bricking, kernel prevented
> >> you from using more than 50% firmware storage with efi variables.
> >> Somehow the algorithm of determining 50% gets overzealous with
> >> different firmware, and on your machine it decides it's always over
> >> 50% and stops you from doing anything no matter how. This is why you
> >> can't create new boot entries.
> > [...]
> >
> > No, that particular check is currently patched out in Debian 'wheezy'.
> 
> Thanks for the hint. It turned out the machine I tested has firmware
> (AMI, EFI v2.10) returning max_size=0
> 
> This is 3.2.41-2 with a printk before return EFI_OUT_OF_RESOURCE:
> 
> [   16.614359] size=112 storage_size=65536 remaining_size=20742 max_size=0
> [   16.616881] size=26 storage_size=65536 remaining_size=20742 max_size=0
> [   16.616888] efivars: set_variable() failed: status=8000000000000009
> 
> Maybe this upstream patch is needed
> x86,efi: Check max_size only if it is non-zero.

I've added this and related changes to the review queue for Linux 3.2.y.

Be.

-- 
Ben Hutchings
If at first you don't succeed, you're doing about average.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to