Bug 994168 - Reading /proc/timer_list with small buffers never finishes
Reading /proc/timer_list with small buffers never finishes
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
19
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Kernel Maintainer List
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-08-06 11:55 EDT by Enrico Scholz
Modified: 2013-09-20 09:11 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-09-20 09:11:49 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Enrico Scholz 2013-08-06 11:55:19 EDT
Description of problem:

Reading /proc/timer_list with small buffers never returns; e.g.

  dd if=/proc/timer_list bs=10

This causes regression in a program (dropbearkey) which reads /proc/timer_list to fill its entropy pool.  This worked with previous kernels (last tested with 3.4).


Version-Release number of selected component (if applicable):

kernel-3.10.3-300.fc19.x86_64
Comment 4 Michele Baldessari 2013-09-03 18:18:26 EDT
Hi Enrico,

this is fixed via:
commit 84a78a6504f5c5394a8e558702e5b54131f01d14
Author: Nathan Zimmer <nzimmer@sgi.com>
Date:   Wed Aug 28 16:35:14 2013 -0700

    timer_list: correct the iterator for timer_list
    
    Correct an issue with /proc/timer_list reported by Holger.
    
    When reading from the proc file with a sufficiently small buffer, 2k so
    not really that small, there was one could get hung trying to read the
    file a chunk at a time.
    
    The timer_list_start function failed to account for the possibility that
    the offset was adjusted outside the timer_list_next.
    
    Signed-off-by: Nathan Zimmer <nzimmer@sgi.com>
    Reported-by: Holger Hans Peter Freyther <holger@freyther.de>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Berke Durak <berke.durak@xiphos.com>
    Cc: Jeff Layton <jlayton@redhat.com>
    Tested-by: Al Viro <viro@zeniv.linux.org.uk>
    Cc: <stable@vger.kernel.org> # 3.10.x
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

From a quick look it hasn't hit 3.10.10 yet but I assume it will end in the next one.

hth,
Michele
Comment 5 Michele Baldessari 2013-09-08 04:03:46 EDT
It is in 3.10.11:
* b3772c8 - (2013-09-07 22:09:58 -0700)  timer_list: correct the iterator for timer_list <Nathan Zimmer>

$ git tag --contains b3772c8
v3.10.11

So this can be closed with the next update
Comment 6 Josh Boyer 2013-09-18 16:49:30 EDT
*********** MASS BUG UPDATE **************

We apologize for the inconvenience.  There is a large number of bugs to go through and several of them have gone stale.  Due to this, we are doing a mass bug update across all of the Fedora 19 kernel bugs.

Fedora 19 has now been rebased to 3.11.1-200.fc19.  Please test this kernel update and let us know if you issue has been resolved or if it is still present with the newer kernel.

If you experience different issues, please open a new bug report for those.
Comment 7 Michele Baldessari 2013-09-20 03:59:18 EDT
Josh, this one can be closed.
Comment 8 Josh Boyer 2013-09-20 09:11:49 EDT
Yep, thank you.

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