Bug 456333
Summary: | ptrace: PTRACE_DETACH(..., SIGSTOP) does not stop | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Jan Kratochvil <jan.kratochvil> | ||||
Component: | kernel | Assignee: | Oleg Nesterov <onestero> | ||||
Status: | CLOSED WONTFIX | QA Contact: | Red Hat Kernel QE team <kernel-qe> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | low | ||||||
Version: | 5.2 | CC: | ebachalo, kernel-maint, mgahagan, riek | ||||
Target Milestone: | rc | Keywords: | Regression | ||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
URL: | http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/tests/ptrace-tests/tests/detach-stopped.c?cvsroot=systemtap | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2011-02-04 18:36:05 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: | 454404, 674640, 674764 | ||||||
Bug Blocks: | 498595, 525215, 533192 | ||||||
Attachments: |
|
Description
Jan Kratochvil
2008-07-22 22:32:48 UTC
This request was evaluated by Red Hat Product Management for inclusion, but this component is not scheduled to be updated in the current Red Hat Enterprise Linux release. If you would like this request to be reviewed for the next minor release, ask your support representative to set the next rhel-x.y flag to "?". Unfortunately the previous automated notification about the non-inclusion of this request in Red Hat Enterprise Linux 5.3 used the wrong text template. It should have read: this request has been reviewed by Product Management and is not planned for inclusion in the current minor release of Red Hat Enterprise Linux. If you would like this request to be reviewed for the next minor release, ask your support representative to set the next rhel-x.y flag to "?" or raise an exception. It is a regression against RHEL-4. It regresses issue 78487. This bugzilla has Keywords: Regression. Since no regressions are allowed between releases, it is also being proposed as a blocker for this release. Please resolve ASAP. Pushing to RHEL 5.4, as this problem was not fixed for 5.3 release due to lower priority compared to other issues. This bugzilla has Keywords: Regression. Since no regressions are allowed between releases, it is also being proposed as a blocker for this release. Please resolve ASAP. Updating PM score. Jan, Roland, Do we really want to fix this? This matches upstream. Otoh, we are going to remove this extra wakeup sooner or later (this is discussed on lkml right now), and rhel6 already differs here. I never understood rhel5's utrace code in details but at first glance everything is clear and this behaviour is intentional, ptrace_detach() has a huge comment before it clears SIGNAL_STOP_STOPPED. Confused. (In reply to comment #16) > > Jan, Roland, > > Do we really want to fix this? This matches upstream. Yes, but my initial analysis was wrong. > Otoh, we are going to remove this extra wakeup sooner or later > (this is discussed on lkml right now), yes, this wrong wakeup can abort the group-stop, but this case is unlikely, while the test-case always fails. > I never understood rhel5's utrace code in details but at first > glance everything is clear and this behaviour is intentional, > ptrace_detach() has a huge comment before it clears > SIGNAL_STOP_STOPPED. No, I misread detach-stopped.c, there is something else. Still investigating... Created attachment 476671 [details]
[patch] fix ptrace(PTRACE_DETACH, SIGSTOP)
Seems to fix the problem, but I'll try to think a bit more.
The problem is, ptrace_detach()->ptrace_induce_signal() does
utrace_inject_signal(action => UTRACE_ACTION_RESUME) and this
means that "add SIGNAL_STOP_DEQUEUED" logic never works.
I think it is safer to change utrace_get_signal() like this
patch does, if we want to fix this bug.
[RHEL5 PATCH 1/1] bz456333: ptrace(PTRACE_DETACH, SIGSTOP) does not stop http://post-office.corp.redhat.com/archives/rhkernel-list/2011-February/msg00225.html (In reply to comment #19) > [RHEL5 PATCH 1/1] bz456333: ptrace(PTRACE_DETACH, SIGSTOP) does not stop > http://post-office.corp.redhat.com/archives/rhkernel-list/2011-February/msg00225.html It was decided we do not want to fix this: - it is not a regression - even today's kernel still behaves this way |