Bug 1707641

Summary: [RHEL7] nvme rdma: nvme show-regs /dev/nvme0 failed with nvme-cli-1.8.1-2.el7
Product: Red Hat Enterprise Linux 7 Reporter: Zhang Yi <yizhan>
Component: nvme-cliAssignee: David Milburn <dmilburn>
Status: CLOSED ERRATA QA Contact: Zhang Yi <yizhan>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.7   
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: nvme-cli-1.8.1-3.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1707644 (view as bug list) Environment:
Last Closed: 2019-08-06 13:17:54 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1707644    

Description Zhang Yi 2019-05-08 02:01:36 UTC
Description of problem:
[RHEL7] nvme rdma: nvme show-regs /dev/nvme0 failed with nvme-cli-1.8.1-2.el7

Version-Release number of selected component (if applicable):
nvme-cli-1.8.1-2.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
On the nvme rdma environment, it still will be failed[1], I checked the upstream code, seems we also need patch [2].

[1]
[root@rdma-virt-03 nvme-cli ((5b75061...))]$ rpm -qa nvme-cli
nvme-cli-1.8.1-2.el7.x86_64

[root@rdma-virt-03 nvme-cli ((5b75061...))]$ nvme show-regs /dev/nvme0
cap     : f0003ff
version : 10300
*** Error in `nvme': double free or corruption (top): 0x0000000001a1dfe0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x81679)[0x2b3fbfc1c679]
nvme[0x40cb7a]
nvme[0x420580]
nvme[0x401c41]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x2b3fbfbbd505]
nvme[0x401d23]
======= Memory map: ========
00400000-00453000 r-xp 00000000 fd:00 34444494                           /usr/sbin/nvme
00652000-00653000 r--p 00052000 fd:00 34444494                           /usr/sbin/nvme
00653000-00655000 rw-p 00053000 fd:00 34444494                           /usr/sbin/nvme
00655000-00656000 rw-p 00000000 00:00 0 
01a1d000-01a3e000 rw-p 00000000 00:00 0                                  [heap]
2b3fbf772000-2b3fbf794000 r-xp 00000000 fd:00 33613959                   /usr/lib64/ld-2.17.so
2b3fbf794000-2b3fbf797000 rw-p 00000000 00:00 0 
2b3fbf7a8000-2b3fbf7ab000 rw-p 00000000 00:00 0 
2b3fbf993000-2b3fbf994000 r--p 00021000 fd:00 33613959                   /usr/lib64/ld-2.17.so
2b3fbf994000-2b3fbf995000 rw-p 00022000 fd:00 33613959                   /usr/lib64/ld-2.17.so
2b3fbf995000-2b3fbf996000 rw-p 00000000 00:00 0 
2b3fbf996000-2b3fbf99a000 r-xp 00000000 fd:00 33614090                   /usr/lib64/libuuid.so.1.3.0
2b3fbf99a000-2b3fbfb99000 ---p 00004000 fd:00 33614090                   /usr/lib64/libuuid.so.1.3.0
2b3fbfb99000-2b3fbfb9a000 r--p 00003000 fd:00 33614090                   /usr/lib64/libuuid.so.1.3.0
2b3fbfb9a000-2b3fbfb9b000 rw-p 00004000 fd:00 33614090                   /usr/lib64/libuuid.so.1.3.0
2b3fbfb9b000-2b3fbfd5e000 r-xp 00000000 fd:00 33613966                   /usr/lib64/libc-2.17.so
2b3fbfd5e000-2b3fbff5e000 ---p 001c3000 fd:00 33613966                   /usr/lib64/libc-2.17.so
2b3fbff5e000-2b3fbff62000 r--p 001c3000 fd:00 33613966                   /usr/lib64/libc-2.17.so
2b3fbff62000-2b3fbff64000 rw-p 001c7000 fd:00 33613966                   /usr/lib64/libc-2.17.so
2b3fbff64000-2b3fbff69000 rw-p 00000000 00:00 0 
2b3fbff69000-2b3fc6493000 r--p 00000000 fd:00 24785                      /usr/lib/locale/locale-archive
2b3fc6493000-2b3fc64a8000 r-xp 00000000 fd:00 33554545                   /usr/lib64/libgcc_s-4.8.5-20150702.so.1
2b3fc64a8000-2b3fc66a7000 ---p 00015000 fd:00 33554545                   /usr/lib64/libgcc_s-4.8.5-20150702.so.1
2b3fc66a7000-2b3fc66a8000 r--p 00014000 fd:00 33554545                   /usr/lib64/libgcc_s-4.8.5-20150702.so.1
2b3fc66a8000-2b3fc66a9000 rw-p 00015000 fd:00 33554545                   /usr/lib64/libgcc_s-4.8.5-20150702.so.1
2b3fc8000000-2b3fc8021000 rw-p 00000000 00:00 0 
2b3fc8021000-2b3fcc000000 ---p 00000000 00:00 0 
7ffe1e91e000-7ffe1e940000 rw-p 00000000 00:00 0                          [stack]
7ffe1e996000-7ffe1e998000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
Aborted (core dumped)

[2]
commit 5b7506198a6872764a51e32363e219916e1e592e
Author: Minwoo Im <minwoo.im>
Date:   Wed Apr 24 01:48:58 2019 +0100

    ioctl: Fix wrong return case of get_property
    
    If get_property_helper() succeeds in the first time, and then fails in
    the next time, then the ret value will not be updated to an error value.
    This patch removes 'ret' variable to make 'err' to return being updated
    everytime get_property_helper() invoked.
    
    Signed-off-by: Minwoo Im <minwoo.im>

Actual results:


Expected results:


Additional info:

Comment 3 David Milburn 2019-05-08 18:28:21 UTC
Hi Yi, please test nvme-cli-1.8.1-3.el7. Thanks.

Comment 4 Zhang Yi 2019-05-09 02:07:31 UTC
Hi David 
This issue was fixed with nvme-cli-1.8.1-3.el7.x86_64

[root@rdma-virt-03 ~]$ rpm -qa nvme-cli
nvme-cli-1.8.1-3.el7.x86_64

[root@rdma-virt-03 ~]$ nvme show-regs /dev/nvme0n1
nvme0 did not find a pci resource, open failed No such file or directory

[root@rdma-virt-03 ~]$ uname  -r
3.10.0-1045.el7.x86_64

Thanks
Yi

Comment 5 Zhang Yi 2019-05-09 02:09:32 UTC
Move to VERIFIED.

Comment 7 errata-xmlrpc 2019-08-06 13:17:54 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2019:2317