#undef TRACE_SYSTEM #define TRACE_SYSTEM cpuhp #if !defined(_TRACE_CPUHP_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_CPUHP_H #include TRACE_EVENT(cpuhp_enter, TP_PROTO(unsigned int cpu, int target, int idx, int (*fun)(unsigned int)), TP_ARGS(cpu, target, idx, fun), TP_STRUCT__entry( __field( unsigned int, cpu ) __field( int, target ) __field( int, idx ) __field( void *, fun ) ), TP_fast_assign( __entry->cpu = cpu; __entry->target = target; __entry->idx = idx; __entry->fun = fun; ), TP_printk("cpu: %04u target: %3d step: %3d (%pf)", __entry->cpu, __entry->target, __entry->idx, __entry->fun) ); TRACE_EVENT(cpuhp_multi_enter, TP_PROTO(unsigned int cpu, int target, int idx, int (*fun)(unsigned int, struct hlist_node *), struct hlist_node *node), TP_ARGS(cpu, target, idx, fun, node), TP_STRUCT__entry( __field( unsigned int, cpu ) __field( int, target ) __field( int, idx ) __field( void *, fun ) ), TP_fast_assign( __entry->cpu = cpu; __entry->target = target; __entry->idx = idx; __entry->fun = fun; ), TP_printk("cpu: %04u target: %3d step: %3d (%pf)", __entry->cpu, __entry->target, __entry->idx, __entry->fun) ); TRACE_EVENT(cpuhp_exit, TP_PROTO(unsigned int cpu, int state, int idx, int ret), TP_ARGS(cpu, state, idx, ret), TP_STRUCT__entry( __field( unsigned int, cpu ) __field( int, state ) __field( int, idx ) __field( int, ret ) ), TP_fast_assign( __entry->cpu = cpu; __entry->state = state; __entry->idx = idx; __entry->ret = ret; ), TP_printk(" cpu: %04u state: %3d step: %3d ret: %d", __entry->cpu, __entry->state, __entry->idx, __entry->ret) ); #endif /* This part must be outside protection */ #include it/commit/?id=2da64d20a0b20046d688e44f4033efd09157e29d'>commitdiff
diff options
context:
space:
mode:
authorAlexey Kardashevskiy <aik@ozlabs.ru>2017-02-01 14:26:16 +1100
committerAlex Williamson <alex.williamson@redhat.com>2017-02-01 09:48:34 -0700
commit2da64d20a0b20046d688e44f4033efd09157e29d (patch)
tree44d2bca16b1b26dd2d06254940ba213847bea7b4
parent566cf877a1fcb6d6dc0126b076aad062054c2637 (diff)
vfio/spapr: Fix missing mutex unlock when creating a window
Commit d9c728949ddc ("vfio/spapr: Postpone default window creation") added an additional exit to the VFIO_IOMMU_SPAPR_TCE_CREATE case and made it possible to return from tce_iommu_ioctl() without unlocking container->lock; this fixes the issue. Fixes: d9c728949ddc ("vfio/spapr: Postpone default window creation") Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
-rw-r--r--drivers/vfio/vfio_iommu_spapr_tce.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/vfio/vfio_iommu_spapr_tce.c b/drivers/vfio/vfio_iommu_spapr_tce.c