Bug 688700 - File does not correctly identify a linux kernel image on s/390x
Summary: File does not correctly identify a linux kernel image on s/390x
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: file
Version: 6.1
Hardware: s390x
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Jan Kaluža
QA Contact: BaseOS QE Security Team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-03-17 18:39 UTC by Mike Gahagan
Modified: 2011-07-13 08:48 UTC (History)
3 users (show)

Fixed In Version: file-5.04-8.el6
Doc Type: Bug Fix
Doc Text:
Prior to this update, the file utility did not correctly recognized the IBM System z kernel images. This problem has been corrected so that the IBM System z kernel images are now correctly recognized as expected.
Clone Of:
: 751030 (view as bug list)
Environment:
Last Closed: 2011-07-13 08:48:50 UTC
Target Upstream Version:


Attachments (Terms of Use)
proposed patch (1.18 KB, patch)
2011-03-22 08:24 UTC, Jan Kaluža
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:0934 0 normal SHIPPED_LIVE file bug fix update 2011-09-07 13:38:51 UTC

Description Mike Gahagan 2011-03-17 18:39:41 UTC
Description of problem:

.qa.[root@s390x-6s-v1 boot]# file vmlinuz-2.6.32-71.18.2.el6.s390x
vmlinuz-2.6.32-71.18.2.el6.s390x: data
.qa.[root@s390x-6s-v1 boot]# file vmlinuz-2.6.32-71.18.2.el6.s390x.debug
vmlinuz-2.6.32-71.18.2.el6.s390x.debug: data


Version-Release number of selected component (if applicable):
file-5.04-6.el6.s390x

How reproducible:

always

Steps to Reproduce:
1. run file on s390x vmlinuz file (compressed kernel image)
2.
3.
  
Actual results:
on s/390x:
file vmlinuz-2.6.32-71.18.2.el6.s390x
vmlinuz-2.6.32-71.18.2.el6.s390x: data

on x86_64:

file /boot/vmlinuz-2.6.32-71.el6.x86_64 
/boot/vmlinuz-2.6.32-71.el6.x86_64: Linux kernel x86 boot executable bzImage, version 2.6.32-71.el6.x86_64 (mockbuild, RO-rootFS, root_dev 0x901, swap_dev 0x3, Normal VGA


Expected results:

something similar to output present on x86_64

Additional info:

This issue seems to be limited to s/390x

Comment 1 Jan Kaluža 2011-03-22 08:24:42 UTC
Created attachment 486749 [details]
proposed patch

Comment 2 Jan Kaluža 2011-03-22 08:26:29 UTC
This patch adds basic support for s390x kernel detection. I think it's not possible to print kernel version easily, because there's no pointer to version string in s390x kernel header. This is example output with the patch applied:

file ~/vmlinuz-2.6.38-1.fc15.s390x -m linux
/home/hanzz/vmlinuz-2.6.38-1.fc15.s390x: Linux S390 Z9-109 64bit kernel

Comment 5 Petr Kovar 2011-06-24 11:44:22 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Prior to this update, the file utility did not correctly recognized the IBM System z kernel images. This problem has been corrected so that the IBM System z kernel images are now correctly recognized as expected.

Comment 7 Karel Srot 2011-07-01 10:07:22 UTC
There seems to be a regression intruduces by this patch (or any other patch applied after file-5.04-6.el6).

# rpm -q file
file-5.04-6.el6.s390x
# file /boot/vmlinuz*
/boot/vmlinuz-2.6.32-131.4.1.el6.s390x:       data
/boot/vmlinuz-2.6.32-131.4.1.el6.s390x.debug: data
/boot/vmlinuz-2.6.32-131.4.1.el6.s390x.kdump: data
/boot/vmlinuz-2.6.32-71.el6.s390x:            data
/boot/vmlinuz-2.6.32-71.el6.s390x.debug:      data
/boot/vmlinuz-2.6.32-71.el6.s390x.kdump:      data

# rpm -q file
file-5.04-9.el6.s390x
# file /boot/vmlinuz*
/boot/vmlinuz-2.6.32-131.4.1.el6.s390x:       Linux S390 Z9-109 64bit kernel
/boot/vmlinuz-2.6.32-131.4.1.el6.s390x.debug: Linux S390 Z9-109 64bit kernel
/boot/vmlinuz-2.6.32-131.4.1.el6.s390x.kdump: Applesoft BASIC program data
/boot/vmlinuz-2.6.32-71.el6.s390x:            Linux S390 Z9-109 64bit kernel
/boot/vmlinuz-2.6.32-71.el6.s390x.debug:      Linux S390 Z9-109 64bit kernel
/boot/vmlinuz-2.6.32-71.el6.s390x.kdump:      Applesoft BASIC program data

# dd if=/boot/vmlinuz-2.6.32-71.el6.s390x.kdump of=vmlinuz_kdump.head bs=1 count=4
4+0 records in
4+0 records out
4 bytes (4 B) copied, 0.00192344 s, 2.1 kB/s
# file vmlinuz_kdump.head 
vmlinuz_kdump.head: Applesoft BASIC program data
# hexdump vmlinuz_kdump.head 
0000000 0008 0000                              
0000004




Btw, pppc64 kernel is also not detected as a Linux kernel, just as ELF binary

# file /boot/vmlinuz-2.6.32-*
/boot/vmlinuz-2.6.32-131.2.1.el6.ppc64:       ELF 64-bit MSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, stripped
/boot/vmlinuz-2.6.32-131.2.1.el6.ppc64.debug: ELF 64-bit MSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, stripped
/boot/vmlinuz-2.6.32-131.4.1.el6.ppc64:       ELF 64-bit MSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, stripped
/boot/vmlinuz-2.6.32-131.4.1.el6.ppc64.debug: ELF 64-bit MSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, stripped
/boot/vmlinuz-2.6.32-71.el6.ppc64:            ELF 64-bit MSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, stripped

Comment 11 errata-xmlrpc 2011-07-13 08:48:50 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0934.html


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