[sisyphus] I: mc 4.8.16-alt1

Andrew Borodin borodin на zarya-k.ru
Чт Мар 17 16:36:44 MSK 2016


On Wed, Mar 16, 2016 at 11:00:48AM +0400, Sergey wrote:
> On Tuesday 15 March 2016, Michael Shigorin wrote:

> > > А вот что раньше не работало... 
> > > В списке изменений есть такой момент:
> > > Add mc.ext patterns for initramfs / initrd (#3115) 
> > > На наших initrd mc сегфолтится.

> > Тоже угу (у нас там cpio.gz).

> Завалялся initrd-2.6.18-ovz-rhel-alt2.M40.4.img. Этот открывается. 
> Повесил http://www.midnight-commander.org/ticket/3621

Сегфотл получается из-за разыменования NULL. Это бага сама по
себе -- такая ситуация должна обрабатываться. Интересно, откуда
этот NULL берётся.

$ zcat initrd-3.14.64-std-def-alt0.M70P.1.img | cpio -tiv | grep proc
drwxr-xr-x   2 root     root            0 Mar 14 09:40 ./proc
lrwxrwxrwx   1 root     root           13 Mar 14 09:40 ./etc/mtab -> /proc/mounts
cpio: Из имён членов удаляются начальные `/'
19599 блоков
lrwxrwxrwx   1 root     root           10 Mar 14 09:40 proc/kcore -> /dev/core
lrwxrwxrwx   1 root     root            8 Mar 14 09:40 proc/self/fd -> /dev/fd
lrwxrwxrwx   1 root     root           11 Mar 14 09:40 proc/self/fd/0 -> /dev/stdin
lrwxrwxrwx   1 root     root           12 Mar 14 09:40 proc/self/fd/1 -> /dev/stdout
lrwxrwxrwx   1 root     root           12 Mar 14 09:40 proc/self/fd/2 -> /dev/stderr

Сегфолтится из-за ссылки proc/self/fd/0 -> /dev/stdin.

Поскольку proc/self/fd -> /dev/fd, то есть ссылка, находящаяся в
архиве, указывает на файл на реальной файловой системе, а не на
файл в том же архиве, при заходе в архив она получается висящей.
Насколько я понимаю, mс не умеет ссылки между разными vfs, или
умеет, но как-то ограниченно (vfs вообще самая сложная и
малопонятная часть mc). Соответсвенно, разрешить ссылку proc/self/fd/0
не представляется возможным.

В mc я, конечно, этот баг исправлю, но насколько корректно так
генерировать initrd, сказать не берусь. Возможно, что тут всё и
нормально.

Сергей, а что находится в initrd-2.6.18-ovz-rhel-alt2.M40.4.img?

-- 

С уважением
А. Бородин.


Подробная информация о списке рассылки Sisyphus