On Mon, Oct 06, 2014 at 06:14:59PM -0500, Jan Echternach wrote:
Package: libefivar0
Version: 0.12-1
Severity: critical
Justification: breaks the whole system


Upgrading libefivar0 from version 0.10-5 to 0.12-1 causes a segmentation
fault when running efibootmgr without arguments (I tried it with both
efibootmgr 0.7.0-2 and 0.9.0-1). I'm not quite sure if severity critical is
justified, but I think a broken efibootmgr is at least potentially able to
break the whole system.

gdb pointed to libefivar.so.0 which has no debugging symbols, so I built my
own and that one crashes in vars.c line 165 with var == NULL. The last two
lines in an strace log before the crash are

 open("/sys/firmware/efi/vars/Boot0005-8be4[...]/raw_var", O_RDONLY) = 3
 read(3, [...], 4096) = -1 EIO (Input/output error)

(Sorry, no copy&paste, just read&type; the system in question has only very
limited network connectivity at the moment and I'm sending this report from
a different system.)

var is apparently returned from a call to read_file() a few lines above.
The source code history shows that read_fd() has recently been replaced by
read_file(), but they behave differently after read errors. In particular,
read_file() resets the buffer to NULL whereas read_fd() didn't.

Jan,

Can you confirm whether this is still an issue for you? New versions of libefivar0 are in testing and unstable. Please test against them.

--Jared


--
Jared Domínguez
Server OS Engineering
Dell | Enterprise Solutions Group


--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to