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 | } |
