Bug 28290 - Добавить в verify-elf проверку на использование stat в 32-битных программах
: Добавить в verify-elf проверку на использование stat в 32-битных программах
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/rpm-build)
: unstable
: all Linux
: P3 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2012-12-28 13:10 by
Modified: 2013-02-03 22:33 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2012-12-28 13:10:31
В связи с тем, что программы, использующие устаревший stat (скомпилированные
без AC_SYS_LARGEFILE / -D_FILE_OFFSET_BITS=64) не будут корректно работать с
64-битными сетевыми файловыми системами (да и всё ядро уже переведено на
64-битные номера inode), требуется отучить такие программы использовать stat.

Начать это предлагается с добавления предупреждения (WARNING) по результатам
проверки /usr/lib/rpm/verify-elf 32-битных бинарников, использующих функцию
stat из glibc.
https://bugzilla.altlinux.org/show_bug.cgi?id=28214
------- Comment #1 From 2013-01-11 03:11:09 -------
В libc+zlib таких 32-битных функций с 64-битными аналогами 57 штук:
_IO_fgetpos
_IO_fsetpos
__fxstat
__fxstatat
__lxstat
__open
__xstat
adler32_combine
alphasort
crc32_combine
creat
fallocate
fgetpos
fopen
freopen
fseeko
fsetpos
fstatfs
fstatvfs
ftello
ftruncate
ftw
getdirentries
getrlimit
glob
globfree
gzoffset
gzopen
gzseek
gztell
lockf
lseek
mkostemp
mkostemps
mkstemp
mkstemps
mmap
nftw
open
openat
posix_fadvise
posix_fallocate
pread
preadv
prlimit
pwrite
pwritev
readdir
scandir
scandirat
sendfile
setrlimit
statfs
statvfs
tmpfile
truncate
versionsort
------- Comment #2 From 2013-01-11 04:39:30 -------
rpm-4.0.4-alt100.60 -> sisyphus:

* Fri Jan 11 2013 Dmitry V. Levin <ldv@altlinux> 4.0.4-alt100.60
- verify-elf: implemented LFS check (closes: #28290).
------- Comment #3 From 2013-01-12 21:37:35 -------
(In reply to comment #1)
> В libc+zlib таких 32-битных функций с 64-битными аналогами 57 штук:

Тестовая пересборка выявила 2615 пакетов, использующих non-LFS API.
В этом множестве есть пакеты на любой вкус и цвет, начиная с glibc.
------- Comment #4 From 2013-02-03 22:23:43 -------
(В ответ на комментарий №3)
> Тестовая пересборка выявила 2615 пакетов, использующих non-LFS API.
> В этом множестве есть пакеты на любой вкус и цвет, начиная с glibc.
Может быть нужный флаг сборки стоит добавить в optflags? А то получается, что
касается большинства бинарных пакетов. Ну по примеру FORTIFY_SOURCE.
------- Comment #5 From 2013-02-03 22:33:37 -------
(В ответ на комментарий №4)
> (В ответ на комментарий №3)
> > Тестовая пересборка выявила 2615 пакетов, использующих non-LFS API.
> > В этом множестве есть пакеты на любой вкус и цвет, начиная с glibc.
> Может быть нужный флаг сборки стоит добавить в optflags? А то получается, что
> касается большинства бинарных пакетов. Ну по примеру FORTIFY_SOURCE.
Обсуждение в https://bugzilla.altlinux.org/show_bug.cgi?id=28214 прочитал,
можно не отвечать :)