All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bharata B Rao <bharata@in.ibm.com>
To: Suparna Bhattacharya <suparna@in.ibm.com>
Cc: linux-aio@kvack.org, akpm@osdl.org, drepper@redhat.com,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	jakub@redhat.com, mingo@elte.hu,
	"Sébastien Dugué" <sebastien.dugue@bull.net>
Subject: [PATCHSET 3][PATCH 3/5][AIO] - Make good_sigevent non-static
Date: Thu, 4 Jan 2007 15:04:33 +0530	[thread overview]
Message-ID: <20070104093433.GG9608@in.ibm.com> (raw)
In-Reply-To: <20070104092733.GD9608@in.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 195 bytes --]

                      Make good_sigevent() non-static

  Move good_sigevent() from posix-timers.c to signal.c where it belongs,
and make it non-static so that it can be used by other subsystems.

[-- Attachment #2: export-good_sigevent.patch --]
[-- Type: text/plain, Size: 3180 bytes --]


From: Sébastien Dugué <sebastien.dugue@bull.net>

  Move good_sigevent() from posix-timers.c to signal.c where it belongs,
and make it non-static so that it can be used by other subsystems.

Signed-off-by: Sébastien Dugué <sebastien.dugue@bull.net>
Signed-off-by: Bharata B Rao <bharata@in.ibm.com>
---

 include/linux/signal.h |    1 +
 kernel/posix-timers.c  |   17 -----------------
 kernel/signal.c        |   24 ++++++++++++++++++++++++
 3 files changed, 25 insertions(+), 17 deletions(-)

diff -puN include/linux/signal.h~export-good_sigevent include/linux/signal.h
--- linux-2.6.20-rc2/include/linux/signal.h~export-good_sigevent	2007-01-03 10:17:28.000000000 +0530
+++ linux-2.6.20-rc2-bharata/include/linux/signal.h	2007-01-03 10:17:28.000000000 +0530
@@ -240,6 +240,7 @@ extern int sigprocmask(int, sigset_t *, 
 
 struct pt_regs;
 extern int get_signal_to_deliver(siginfo_t *info, struct k_sigaction *return_ka, struct pt_regs *regs, void *cookie);
+extern struct task_struct * good_sigevent(sigevent_t *);
 
 extern struct kmem_cache *sighand_cachep;
 
diff -puN kernel/posix-timers.c~export-good_sigevent kernel/posix-timers.c
--- linux-2.6.20-rc2/kernel/posix-timers.c~export-good_sigevent	2007-01-03 10:17:28.000000000 +0530
+++ linux-2.6.20-rc2-bharata/kernel/posix-timers.c	2007-01-03 10:17:28.000000000 +0530
@@ -367,23 +367,6 @@ static enum hrtimer_restart posix_timer_
 	return ret;
 }
 
-static struct task_struct * good_sigevent(sigevent_t * event)
-{
-	struct task_struct *rtn = current->group_leader;
-
-	if ((event->sigev_notify & SIGEV_THREAD_ID ) &&
-		(!(rtn = find_task_by_pid(event->sigev_notify_thread_id)) ||
-		 rtn->tgid != current->tgid ||
-		 (event->sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_SIGNAL))
-		return NULL;
-
-	if (((event->sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_NONE) &&
-	    ((event->sigev_signo <= 0) || (event->sigev_signo > SIGRTMAX)))
-		return NULL;
-
-	return rtn;
-}
-
 void register_posix_clock(const clockid_t clock_id, struct k_clock *new_clock)
 {
 	if ((unsigned) clock_id >= MAX_CLOCKS) {
diff -puN kernel/signal.c~export-good_sigevent kernel/signal.c
--- linux-2.6.20-rc2/kernel/signal.c~export-good_sigevent	2007-01-03 10:17:28.000000000 +0530
+++ linux-2.6.20-rc2-bharata/kernel/signal.c	2007-01-04 13:21:28.000000000 +0530
@@ -1213,6 +1213,30 @@ int group_send_sig_info(int sig, struct 
 	return ret;
 }
 
+/***
+ * good_sigevent - check and get target task from a sigevent.
+ * @event: the sigevent to be checked
+ *
+ * This function must be called with the tasklist_lock held for reading.
+ */
+struct task_struct * good_sigevent(sigevent_t * event)
+{
+	struct task_struct *task = current->group_leader;
+
+	if ((event->sigev_notify & SIGEV_THREAD_ID ) == SIGEV_THREAD_ID) {
+		task = find_task_by_pid(event->sigev_notify_thread_id);
+
+		if (!task || task->tgid != current->tgid)
+			return NULL;
+	} else if (event->sigev_notify == SIGEV_SIGNAL) {
+		if ((event->sigev_signo <= 0) || (event->sigev_signo > SIGRTMAX))
+			return NULL;
+	} else
+		return NULL;
+
+	return task;
+}
+
 /*
  * kill_pgrp_info() sends a signal to a process group: this is what the tty
  * control characters do (^C, ^Z etc)
_

  parent reply	other threads:[~2007-01-04  9:27 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-27 15:38 [RFC] Heads up on a series of AIO patchsets Suparna Bhattacharya
2006-12-27 16:25 ` Christoph Hellwig
2006-12-27 16:55   ` Ingo Molnar
2006-12-27 16:55     ` Ingo Molnar
2006-12-27 17:18     ` Ingo Molnar
2006-12-28 11:41   ` Evgeniy Polyakov
2006-12-28 11:41     ` Evgeniy Polyakov
2007-01-02 21:38     ` Dan Williams
2007-01-03 13:35       ` Evgeniy Polyakov
2006-12-28  8:23 ` [PATCHSET 1][PATCH 0/6] Filesystem AIO read/write Suparna Bhattacharya
2006-12-28  8:34   ` [FSAIO][PATCH 1/6] Add a wait queue parameter to the wait_bit action routine Suparna Bhattacharya
2006-12-28  8:46     ` Suparna Bhattacharya
2006-12-28  8:36   ` [FSAIO][PATCH 2/8] Rename __lock_page to lock_page_slow Suparna Bhattacharya
2006-12-28  8:39   ` [FSAIO][PATCH 3/8] Routines to initialize and test a wait bit key Suparna Bhattacharya
2006-12-28 22:42     ` Andrew Morton
2006-12-28  8:39   ` [FSAIO][PATCH 4/8] Add a default io wait bit field in task struct Suparna Bhattacharya
2006-12-28  8:40   ` [FSAIO][PATCH 5/8] Enable wait bit based filtered wakeups to work for AIO Suparna Bhattacharya
2006-12-28  8:41   ` [FSAIO][PATCH 6/8] Enable asynchronous wait page and lock page Suparna Bhattacharya
2006-12-28 11:55     ` Christoph Hellwig
2006-12-28 14:47       ` Suparna Bhattacharya
2007-01-02 14:26         ` Christoph Hellwig
2007-01-04  6:50           ` Nick Piggin
2006-12-28  8:42   ` [FSAIO][PATCH 7/8] Filesystem AIO read Suparna Bhattacharya
2006-12-28  8:42     ` Suparna Bhattacharya
2006-12-28 11:57     ` Christoph Hellwig
2006-12-28 14:15       ` Christoph Hellwig
2006-12-28 15:18       ` Suparna Bhattacharya
2007-01-02 14:29         ` Christoph Hellwig
2006-12-28 16:22       ` Jan Engelhardt
2006-12-28 16:56         ` Randy Dunlap
2006-12-28 16:56           ` Randy Dunlap
2006-12-28  8:44   ` [FSAIO][PATCH 8/8] AIO O_SYNC filesystem write Suparna Bhattacharya
2006-12-28  8:44     ` Suparna Bhattacharya
2006-12-28  9:52   ` [PATCHSET 1][PATCH 0/6] Filesystem AIO read/write Ingo Molnar
2006-12-28 22:53   ` Andrew Morton
2007-01-03 22:15   ` Andrew Morton
2007-01-04  4:56     ` Suparna Bhattacharya
2007-01-04  4:56       ` Suparna Bhattacharya
2007-01-04  5:51       ` Nick Piggin
2007-01-04  6:26         ` Suparna Bhattacharya
2007-01-04  6:50           ` Nick Piggin
2007-01-04 11:24             ` Suparna Bhattacharya
2007-01-05  4:56               ` Nick Piggin
2007-01-04 17:02       ` Andrew Morton
2007-01-04 17:49         ` Jens Axboe
2007-01-05  6:28         ` Suparna Bhattacharya
2007-01-05  7:02           ` Jens Axboe
2007-01-05  8:08             ` Suparna Bhattacharya
2007-01-05  8:32               ` Jens Axboe
2007-01-10  5:44         ` Suparna Bhattacharya
2007-01-11  1:08           ` Andrew Morton
2007-01-11  3:13             ` Suparna Bhattacharya
2007-01-11  4:52               ` Andrew Morton
2007-01-02 23:56 ` [RFC] Heads up on a series of AIO patchsets Zach Brown
     [not found]   ` <6f703f960701021640y444bc537w549fd6d74f3e9529@mail.gmail.com>
     [not found]     ` <A85B8249-FC4E-4612-8B28-02BC680DC812@oracle.com>
2007-01-03  1:18       ` Kent Overstreet
2007-01-04 20:33         ` Pavel Machek
2007-01-03  5:03   ` Suparna Bhattacharya
2007-01-05  0:36     ` Zach Brown
2007-01-03  7:23 ` [PATCHSET 2][PATCH 1/1] Combining epoll and disk file AIO Suparna Bhattacharya
2007-01-04  9:27 ` [PATCHSET 3][PATCH 0/5][AIO] - AIO completion signal notification v4 Bharata B Rao
2007-01-04  9:30   ` [PATCHSET 3][PATCH 1/5][AIO] - Rework compat_sys_io_submit Bharata B Rao
2007-01-04  9:32   ` [PATCHSET 3][PATCH 2/5][AIO] - fix aio.h includes Bharata B Rao
2007-01-04  9:34   ` Bharata B Rao [this message]
2007-01-04  9:38   ` [PATCHSET 3][PATCH 4/5][AIO] - AIO completion signal notification Bharata B Rao
2007-01-04  9:40   ` [PATCHSET 3][PATCH 5/5][AIO] - Add listio support Bharata B Rao
2007-01-05  5:32 ` [PATCHSET 4][PATCH 1/1] AIO fallback for pipes, sockets and pollable fds Suparna Bhattacharya
2007-01-05  5:32   ` Suparna Bhattacharya

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=20070104093433.GG9608@in.ibm.com \
    --to=bharata@in.ibm.com \
    --cc=akpm@osdl.org \
    --cc=drepper@redhat.com \
    --cc=jakub@redhat.com \
    --cc=linux-aio@kvack.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=sebastien.dugue@bull.net \
    --cc=suparna@in.ibm.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.