rpms/kernel/devel kernel.spec, 1.1875, 1.1876 linux-2.6-utrace-ptrace.patch, 1.1, 1.2 linux-2.6-utrace.patch, 1.119, 1.120
roland
roland at fedoraproject.org
Fri Dec 18 09:56:48 UTC 2009
Author: roland
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv18373
Modified Files:
kernel.spec linux-2.6-utrace-ptrace.patch
linux-2.6-utrace.patch
Log Message:
minor utrace update
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1875
retrieving revision 1.1876
diff -u -p -r1.1875 -r1.1876
--- kernel.spec 17 Dec 2009 16:49:39 -0000 1.1875
+++ kernel.spec 18 Dec 2009 09:56:47 -0000 1.1876
@@ -2009,6 +2009,9 @@ fi
# and build.
%changelog
+* Fri Dec 18 2009 Roland McGrath <roland at redhat.com> - 2.6.32.1-13
+- minor utrace update
+
* Thu Dec 17 2009 Matthew Garrett <mjg at redhat.com> 2.6.32.1-12
- linux-2.6-driver-level-usb-autosuspend.diff: fix so it works properly...
- linux-2.6-fix-btusb-autosuspend.patch: avoid bluetooth connection drops
linux-2.6-utrace-ptrace.patch:
include/linux/ptrace.h | 2
kernel/Makefile | 1
kernel/ptrace-utrace.c | 1080 +++++++++++++++++++++++++++++++++++++++++++++++++
kernel/ptrace.c | 597 +++++++++++++--------------
kernel/utrace.c | 16
5 files changed, 1391 insertions(+), 305 deletions(-)
Index: linux-2.6-utrace-ptrace.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-utrace-ptrace.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- linux-2.6-utrace-ptrace.patch 16 Dec 2009 22:09:42 -0000 1.1
+++ linux-2.6-utrace-ptrace.patch 18 Dec 2009 09:56:47 -0000 1.2
@@ -1798,7 +1798,7 @@ index a408bf7..4e87441 100644
#endif /* CONFIG_COMPAT */
+#endif /* CONFIG_UTRACE */
diff --git a/kernel/utrace.c b/kernel/utrace.c
-index cb62fcd..9353cc5 100644
+index 84d965d..ead1f13 100644
--- a/kernel/utrace.c
+++ b/kernel/utrace.c
@@ -811,6 +811,22 @@ relock:
linux-2.6-utrace.patch:
Documentation/DocBook/Makefile | 2
Documentation/DocBook/utrace.tmpl | 590 +++++++++
fs/proc/array.c | 3
include/linux/sched.h | 5
include/linux/tracehook.h | 87 +
include/linux/utrace.h | 694 ++++++++++
init/Kconfig | 9
kernel/Makefile | 1
kernel/fork.c | 3
kernel/ptrace.c | 14
kernel/utrace.c | 2427 ++++++++++++++++++++++++++++++++++++++
11 files changed, 3833 insertions(+), 2 deletions(-)
Index: linux-2.6-utrace.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-utrace.patch,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -p -r1.119 -r1.120
--- linux-2.6-utrace.patch 16 Dec 2009 22:09:42 -0000 1.119
+++ linux-2.6-utrace.patch 18 Dec 2009 09:56:47 -0000 1.120
@@ -35,8 +35,8 @@ Signed-off-by: Roland McGrath <roland at re
kernel/Makefile | 1 +
kernel/fork.c | 3 +
kernel/ptrace.c | 14 +
- kernel/utrace.c | 2424 +++++++++++++++++++++++++++++++++++++
- 11 files changed, 3830 insertions(+), 2 deletions(-)
+ kernel/utrace.c | 2427 +++++++++++++++++++++++++++++++++++++
+ 11 files changed, 3833 insertions(+), 2 deletions(-)
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index ab8300f..95f59e4 100644
@@ -685,7 +685,7 @@ index 6c8928b..139d300 100644
u32 parent_exec_id;
u32 self_exec_id;
diff --git a/include/linux/tracehook.h b/include/linux/tracehook.h
-index c78b2f4..0f5a48c 100644
+index c78b2f4..71fa250 100644
--- a/include/linux/tracehook.h
+++ b/include/linux/tracehook.h
@@ -49,6 +49,7 @@
@@ -911,12 +911,12 @@ index c78b2f4..0f5a48c 100644
{
+ struct task_struct *task = current;
+ /*
-+ * If we race with attach which sets nonzero ->utrace_flags,
-+ * make sure we do not read ->utrace_flags before the caller
-+ * clears TIF_NOTIFY_RESUME. This pairs with the implicit mb()
-+ * before setting TIF_NOTIFY_RESUME in set_notify_resume().
++ * Prevent the following store/load from getting ahead of the
++ * caller which clears TIF_NOTIFY_RESUME. This pairs with the
++ * implicit mb() before setting TIF_NOTIFY_RESUME in
++ * set_notify_resume().
+ */
-+ smp_rmb();
++ smp_mb();
+ if (task_utrace_flags(task))
+ utrace_resume(task, regs);
}
@@ -1623,12 +1623,12 @@ index ...c3036c8 100644
+
+#endif /* linux/utrace.h */
diff --git a/init/Kconfig b/init/Kconfig
-index eb4b337..0832ea2 100644
+index eb4b337..140e636 100644
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -295,6 +295,15 @@ config AUDIT
- logging of avc messages output). Does not do system-call
- auditing without CONFIG_AUDITSYSCALL.
+@@ -310,6 +310,15 @@ config AUDIT_TREE
+ depends on AUDITSYSCALL
+ select INOTIFY
+config UTRACE
+ bool "Infrastructure for tracing and debugging user processes"
@@ -1639,9 +1639,9 @@ index eb4b337..0832ea2 100644
+ kernel interface exported to kernel modules, to track events in
+ user threads, extract and change user thread state.
+
- config AUDITSYSCALL
- bool "Enable system-call auditing support"
- depends on AUDIT && (X86 || PPC || S390 || IA64 || UML || SPARC64 || SUPERH)
+ menu "RCU Subsystem"
+
+ choice
diff --git a/kernel/Makefile b/kernel/Makefile
index d7c13d2..263bb19 100644
--- a/kernel/Makefile
@@ -1723,10 +1723,10 @@ index b7c1d32..a408bf7 100644
if (!current->ptrace) {
diff --git a/kernel/utrace.c b/kernel/utrace.c
new file mode 100644
-index ...cb62fcd 100644
+index ...84d965d 100644
--- /dev/null
+++ b/kernel/utrace.c
-@@ -0,0 +1,2424 @@
+@@ -0,0 +1,2427 @@
+/*
+ * utrace infrastructure interface for debugging user processes
+ *
@@ -2575,35 +2575,38 @@ index ...cb62fcd 100644
+
+ spin_lock(&utrace->lock);
+
-+ /*
-+ * If the target will do some final callbacks but hasn't
-+ * finished them yet, we know because it clears these event
-+ * bits after it's done. Instead of cleaning up here and
-+ * requiring utrace_report_death() to cope with it, we delay
-+ * the REAP report and the teardown until after the target
-+ * finishes its death reports.
-+ */
-+ if (reap && (target->utrace_flags & _UTRACE_DEATH_EVENTS)) {
++ if (reap) {
++ /*
++ * If the target will do some final callbacks but hasn't
++ * finished them yet, we know because it clears these event
++ * bits after it's done. Instead of cleaning up here and
++ * requiring utrace_report_death() to cope with it, we
++ * delay the REAP report and the teardown until after the
++ * target finishes its death reports.
++ */
+ utrace->reap = 1;
-+ spin_unlock(&utrace->lock);
-+ return;
-+ }
-+
-+ /*
-+ * After we unlock with this flag clear, any competing
-+ * utrace_control/utrace_set_events calls know that we've
-+ * finished our callbacks and any detach bookkeeping.
-+ */
-+ utrace->death = 0;
+
-+ if (!reap && !utrace->reap) {
++ if (target->utrace_flags & _UTRACE_DEATH_EVENTS) {
++ spin_unlock(&utrace->lock);
++ return;
++ }
++ } else {
+ /*
-+ * We're just dead, not reaped yet.
-+ * This will reset @target->utrace_flags so the later
-+ * call with @reap set won't hit the check above.
++ * After we unlock with this flag clear, any competing
++ * utrace_control/utrace_set_events calls know that we've
++ * finished our callbacks and any detach bookkeeping.
+ */
-+ utrace_reset(target, utrace);
-+ return;
++ utrace->death = 0;
++
++ if (!utrace->reap) {
++ /*
++ * We're just dead, not reaped yet. This will
++ * reset @target->utrace_flags so the later call
++ * with @reap set won't hit the check above.
++ */
++ utrace_reset(target, utrace);
++ return;
++ }
+ }
+
+ /*
More information about the fedora-extras-commits
mailing list