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.
signature.asc
Description: This is a digitally signed message part