diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-03-20 04:38:03 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-03-20 04:38:03 -0500 |
commit | d378aca6ec708bfb24df5c47801b1f2399efc481 (patch) | |
tree | 7535f96bf34314df071698d2e06054b8d5223ebb /kernel | |
parent | abc71c46dc0a12ab7fddc18cfe4f4aa26808c79b (diff) | |
parent | 7705a8792b0fc82fd7d4dd923724606bbfd9fb20 (diff) |
Merge branch 'master'
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/fork.c | 6 | ||||
-rw-r--r-- | kernel/posix-timers.c | 1 | ||||
-rw-r--r-- | kernel/timer.c | 4 |
3 files changed, 5 insertions, 6 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index ccdfbb16c8..b373322ca4 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -1478,9 +1478,7 @@ static int unshare_vm(unsigned long unshare_flags, struct mm_struct **new_mmp) | |||
1478 | 1478 | ||
1479 | if ((unshare_flags & CLONE_VM) && | 1479 | if ((unshare_flags & CLONE_VM) && |
1480 | (mm && atomic_read(&mm->mm_users) > 1)) { | 1480 | (mm && atomic_read(&mm->mm_users) > 1)) { |
1481 | *new_mmp = dup_mm(current); | 1481 | return -EINVAL; |
1482 | if (!*new_mmp) | ||
1483 | return -ENOMEM; | ||
1484 | } | 1482 | } |
1485 | 1483 | ||
1486 | return 0; | 1484 | return 0; |
@@ -1569,7 +1567,7 @@ asmlinkage long sys_unshare(unsigned long unshare_flags) | |||
1569 | 1567 | ||
1570 | if (new_sigh) { | 1568 | if (new_sigh) { |
1571 | sigh = current->sighand; | 1569 | sigh = current->sighand; |
1572 | current->sighand = new_sigh; | 1570 | rcu_assign_pointer(current->sighand, new_sigh); |
1573 | new_sigh = sigh; | 1571 | new_sigh = sigh; |
1574 | } | 1572 | } |
1575 | 1573 | ||
diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c index 216f574b5f..fa895fc2ec 100644 --- a/kernel/posix-timers.c +++ b/kernel/posix-timers.c | |||
@@ -353,6 +353,7 @@ static int posix_timer_fn(void *data) | |||
353 | hrtimer_forward(&timr->it.real.timer, | 353 | hrtimer_forward(&timr->it.real.timer, |
354 | timr->it.real.interval); | 354 | timr->it.real.interval); |
355 | ret = HRTIMER_RESTART; | 355 | ret = HRTIMER_RESTART; |
356 | ++timr->it_requeue_pending; | ||
356 | } | 357 | } |
357 | } | 358 | } |
358 | 359 | ||
diff --git a/kernel/timer.c b/kernel/timer.c index bf7c4193b9..2410c18dbe 100644 --- a/kernel/timer.c +++ b/kernel/timer.c | |||
@@ -1354,8 +1354,8 @@ void __init init_timers(void) | |||
1354 | 1354 | ||
1355 | #ifdef CONFIG_TIME_INTERPOLATION | 1355 | #ifdef CONFIG_TIME_INTERPOLATION |
1356 | 1356 | ||
1357 | struct time_interpolator *time_interpolator; | 1357 | struct time_interpolator *time_interpolator __read_mostly; |
1358 | static struct time_interpolator *time_interpolator_list; | 1358 | static struct time_interpolator *time_interpolator_list __read_mostly; |
1359 | static DEFINE_SPINLOCK(time_interpolator_lock); | 1359 | static DEFINE_SPINLOCK(time_interpolator_lock); |
1360 | 1360 | ||
1361 | static inline u64 time_interpolator_get_cycles(unsigned int src) | 1361 | static inline u64 time_interpolator_get_cycles(unsigned int src) |