Bug 210453 - gnbd handles signals outside process context
gnbd handles signals outside process context
Status: CLOSED ERRATA
Product: Red Hat Cluster Suite
Classification: Red Hat
Component: gnbd (Show other bugs)
4
All Linux
medium Severity high
: ---
: ---
Assigned To: Ben Marzinski
Cluster QE
:
Depends On:
Blocks: 215099
  Show dependency treegraph
 
Reported: 2006-10-12 04:26 EDT by Bryn M. Reeves
Modified: 2009-04-16 15:58 EDT (History)
2 users (show)

See Also:
Fixed In Version: RHBA-2007-0144
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-05-10 17:06:11 EDT
Type: ---
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 Bryn M. Reeves 2006-10-12 04:26:40 EDT
Description of problem:
Processes accessing a GFS filesystem backed by gnbd devices become stuck in D
state. 

At the time of the hangs messages appear on the client nodes from gnbd:

Sep  4 14:06:01 HPC2 sshd(pam_unix)[18706]: session closed for user jopan
Sep  4 14:08:54 HPC2 kernel: gnbd (pid 18821: MakeNearBnBtJPE) got signal 9
Sep  4 14:08:54 HPC2 kernel: gnbd5: Send control failed (result -4)
Sep  4 14:10:17 HPC2 sshd(pam_unix)[18844]: session opened for user jopan by (uid=0)
Sep  4 14:10:19 HPC2 sshd(pam_unix)[18844]: session closed for user jopan

It looks like sock_xmit is being called via do_gnbd_request and gnbd_send_req
outside process context (softirq?).

At this time, current evaluates to the last process to be scheduled instead of
the gnbd thread. If the process happens to have a signal pending when we return
from sock_sendmsg, sock_xmit incorrectly dequeues it and returns -EINTR.

We should only attempt signal handling when running in the context of the gnbd
thread.
Comment 5 Red Hat Bugzilla 2007-05-10 17:06:11 EDT
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 the 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-2007-0144.html

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