diff options
author | David S. Miller <davem@davemloft.net> | 2015-02-05 17:33:28 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-02-05 17:33:28 -0500 |
commit | 6e03f896b52cd2ca88942170c5c9c407ec0ede69 (patch) | |
tree | 48ca9a6efa5f99819667538838bab3679416f92c /kernel | |
parent | db79a621835ee91d3e10177abd97f48e0a4dcf9b (diff) | |
parent | 9d82f5eb3376cbae96ad36a063a9390de1694546 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/vxlan.c
drivers/vhost/net.c
include/linux/if_vlan.h
net/core/dev.c
The net/core/dev.c conflict was the overlap of one commit marking an
existing function static whilst another was adding a new function.
In the include/linux/if_vlan.h case, the type used for a local
variable was changed in 'net', whereas the function got rewritten
to fix a stacked vlan bug in 'net-next'.
In drivers/vhost/net.c, Al Viro's iov_iter conversions in 'net-next'
overlapped with an endainness fix for VHOST 1.0 in 'net'.
In drivers/net/vxlan.c, vxlan_find_vni() added a 'flags' parameter
in 'net-next' whereas in 'net' there was a bug fix to pass in the
correct network namespace pointer in calls to this function.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/events/core.c | 15 | ||||
-rw-r--r-- | kernel/sched/core.c | 5 |
2 files changed, 15 insertions, 5 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index 882f835a0d85..19efcf13375a 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c | |||
@@ -6776,7 +6776,6 @@ skip_type: | |||
6776 | __perf_event_init_context(&cpuctx->ctx); | 6776 | __perf_event_init_context(&cpuctx->ctx); |
6777 | lockdep_set_class(&cpuctx->ctx.mutex, &cpuctx_mutex); | 6777 | lockdep_set_class(&cpuctx->ctx.mutex, &cpuctx_mutex); |
6778 | lockdep_set_class(&cpuctx->ctx.lock, &cpuctx_lock); | 6778 | lockdep_set_class(&cpuctx->ctx.lock, &cpuctx_lock); |
6779 | cpuctx->ctx.type = cpu_context; | ||
6780 | cpuctx->ctx.pmu = pmu; | 6779 | cpuctx->ctx.pmu = pmu; |
6781 | 6780 | ||
6782 | __perf_cpu_hrtimer_init(cpuctx, cpu); | 6781 | __perf_cpu_hrtimer_init(cpuctx, cpu); |
@@ -7420,7 +7419,19 @@ SYSCALL_DEFINE5(perf_event_open, | |||
7420 | * task or CPU context: | 7419 | * task or CPU context: |
7421 | */ | 7420 | */ |
7422 | if (move_group) { | 7421 | if (move_group) { |
7423 | if (group_leader->ctx->type != ctx->type) | 7422 | /* |
7423 | * Make sure we're both on the same task, or both | ||
7424 | * per-cpu events. | ||
7425 | */ | ||
7426 | if (group_leader->ctx->task != ctx->task) | ||
7427 | goto err_context; | ||
7428 | |||
7429 | /* | ||
7430 | * Make sure we're both events for the same CPU; | ||
7431 | * grouping events for different CPUs is broken; since | ||
7432 | * you can never concurrently schedule them anyhow. | ||
7433 | */ | ||
7434 | if (group_leader->cpu != event->cpu) | ||
7424 | goto err_context; | 7435 | goto err_context; |
7425 | } else { | 7436 | } else { |
7426 | if (group_leader->ctx != ctx) | 7437 | if (group_leader->ctx != ctx) |
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index c0accc00566e..e628cb11b560 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c | |||
@@ -7292,13 +7292,12 @@ void __might_sleep(const char *file, int line, int preempt_offset) | |||
7292 | * since we will exit with TASK_RUNNING make sure we enter with it, | 7292 | * since we will exit with TASK_RUNNING make sure we enter with it, |
7293 | * otherwise we will destroy state. | 7293 | * otherwise we will destroy state. |
7294 | */ | 7294 | */ |
7295 | if (WARN_ONCE(current->state != TASK_RUNNING, | 7295 | WARN_ONCE(current->state != TASK_RUNNING && current->task_state_change, |
7296 | "do not call blocking ops when !TASK_RUNNING; " | 7296 | "do not call blocking ops when !TASK_RUNNING; " |
7297 | "state=%lx set at [<%p>] %pS\n", | 7297 | "state=%lx set at [<%p>] %pS\n", |
7298 | current->state, | 7298 | current->state, |
7299 | (void *)current->task_state_change, | 7299 | (void *)current->task_state_change, |
7300 | (void *)current->task_state_change)) | 7300 | (void *)current->task_state_change); |
7301 | __set_current_state(TASK_RUNNING); | ||
7302 | 7301 | ||
7303 | ___might_sleep(file, line, preempt_offset); | 7302 | ___might_sleep(file, line, preempt_offset); |
7304 | } | 7303 | } |