Bug 844579 - virtio-rng: 'cat' process hangs when ^C pressed when there's no input
virtio-rng: 'cat' process hangs when ^C pressed when there's no input
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Amit Shah
Virtualization Bugs
Depends On:
  Show dependency treegraph
Reported: 2012-07-31 02:16 EDT by Amit Shah
Modified: 2013-02-21 01:44 EST (History)
7 users (show)

See Also:
Fixed In Version: kernel-2.6.32-298.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-02-21 01:44:11 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Amit Shah 2012-07-31 02:16:48 EDT
Description of problem:

When the host doesn't provide the virtio-rng driver with any data, this set of commands just hangs:

# cat /dev/hwrng

Instead of using wait_for_completion(), use wait_for_completion_killable() to ensure the read is killable.

For testing this, the virtio-rng device isn't yet available upstream or in a RHEL release.  I can give a qemu-kvm build to QE for testing and verification purposes, let me know when you need it.
Comment 1 Amit Shah 2012-07-31 02:21:26 EDT
Upstream commit with fix is cc8744e12936680478ce82b0f21dbaa272df1447
Comment 2 RHEL Product and Program Management 2012-08-06 06:11:36 EDT
This request was evaluated by Red Hat Product Management for
inclusion in a Red Hat Enterprise Linux release.  Product
Management has requested further review of this request by
Red Hat Engineering, for potential inclusion in a Red Hat
Enterprise Linux release for currently deployed products.
This request is not yet committed for inclusion in a release.
Comment 3 juzhang 2012-08-08 22:56:28 EDT
qe will verify this bug along with bz844583/844582/786407
Comment 5 Jarod Wilson 2012-08-16 11:01:01 EDT
Patch(es) available on kernel-2.6.32-298.el6
Comment 8 Qunfang Zhang 2012-12-27 00:21:08 EST
Hi, Amit
We want to verify the virt-rng related bugs in kernel component but seems virtio-rng device is still not available in qemu-kvm official build? 
BTW, do we have a qemu-kvm bug to track it?
Comment 10 Qunfang Zhang 2012-12-28 02:00:34 EST
Hi Amit
I tried to reproduce the issue with kernel-279 installed in guest.

0. I'm using the upstream qemu-kvm because currently neither rhel6 nor rhel7 has virtio-rng device.

1. Boot guest with  "-device virtio-rng-pci,bus=pci.0,addr=0xa,id=rng0"

2. After guest boot up. 
(1)#cat /etc/hwrng
(2)"Ctrl+c" to kill the above command.

Result: In a rhel6.3 guest kernel (kernel-279), the command hangs for a while, about 5 to 10 seconds. But at last the command is killed. 

And then I verified this issue with a rhel6.4 guest (kernel-348). 

Result: After step 2.(2), the command could be killed immediately. 

Is this the reproduction phenomenon in the older kernel-279?  It is not always hang, but only for some seconds.

Comment 11 Qunfang Zhang 2012-12-28 02:44:04 EST
I think this can be verified pass with the following steps:

1. Boot guest with  "-device virtio-rng-pci,bus=pci.0,addr=0xa,id=rng0"

2. Inside guest:
#cat /dev/hwrng

3. #pm-suspend

4. Resume guest.

5. Using "Ctrl+c" to kill the command in step 2. 

In the old kernel-2.6.32-279.el6.x86_64, the command can not be killed. 
In the newer kernel-2.6.32-348.el6.x86_64, the command can be killed immediately.

So based on comment 10 and comment 11, this bug can be verified.
Comment 12 Amit Shah 2013-01-02 06:47:07 EST
Steps in comment 10 and 11 look correct.  Thanks.
Comment 14 errata-xmlrpc 2013-02-21 01:44:11 EST
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.


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