From: Daniel Jacobowitz <dan@debian.org>
To: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Cc: Linus Torvalds <torvalds@transmeta.com>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] remove BUG_ON(p->ptrace) in release_task()
Date: Sun, 1 Sep 2002 15:33:13 -0400 [thread overview]
Message-ID: <20020901193313.GA23985@nevyn.them.org> (raw)
In-Reply-To: <87fzwthapw.fsf@devron.myhome.or.jp>
On Mon, Sep 02, 2002 at 02:38:03AM +0900, OGAWA Hirofumi wrote:
> Hi,
>
> I think, BUG_ON(p->ptrace) will be called if the CLONE_DETACH process
> is traced. This patch removes BUG_ON(p->ptrace), and also removes
> BUG_ON(p->ptrace) workaround in sys_wait4().
The BUG_ON is correct, and that isn't a workaround - if the list is not
empty, then it will be garbage after the task struct is freed. Your
patch breaks tracing of normal processes again, because the ptrace_list
will not be empty.
It may be that the BUG_ON can be triggered for detached processes. In
that case a ptrace_unlink is necessary somewhere else.
>
> Please apply.
> --
> OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
>
> --- linux-2.5.33/kernel/exit.c~ 2002-09-02 01:02:07.000000000 +0900
> +++ linux-2.5.33/kernel/exit.c 2002-09-02 00:54:47.000000000 +0900
> @@ -66,8 +66,7 @@
> atomic_dec(&p->user->processes);
> security_ops->task_free_security(p);
> free_uid(p->user);
> - BUG_ON(p->ptrace || !list_empty(&p->ptrace_list) ||
> - !list_empty(&p->ptrace_children));
> + BUG_ON(!list_empty(&p->ptrace_list)||!list_empty(&p->ptrace_children));
> unhash_process(p);
>
> release_thread(p);
> @@ -717,14 +716,8 @@
> ptrace_unlink(p);
> do_notify_parent(p, SIGCHLD);
> write_unlock_irq(&tasklist_lock);
> - } else {
> - if (p->ptrace) {
> - write_lock_irq(&tasklist_lock);
> - ptrace_unlink(p);
> - write_unlock_irq(&tasklist_lock);
> - }
> + } else
> release_task(p);
> - }
> goto end_wait4;
> default:
> continue;
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
next prev parent reply other threads:[~2002-09-01 19:27 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-01 17:38 [PATCH] remove BUG_ON(p->ptrace) in release_task() OGAWA Hirofumi
2002-09-01 19:33 ` Daniel Jacobowitz [this message]
2002-09-02 13:33 ` OGAWA Hirofumi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020901193313.GA23985@nevyn.them.org \
--to=dan@debian.org \
--cc=hirofumi@mail.parknet.co.jp \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.