x86, bts: fix unlock problem in ds.c

Fix a problem where ds_request() returned an error without releasing the
ds lock.

Reported-by: Stephane Eranian <eranian@gmail.com>
Signed-off-by: Markus Metzger <markus.t.metzger@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

authored by Markus Metzger and committed by Ingo Molnar d1f1e9c0 6cd10f8d

+2 -1
+2 -1
arch/x86/kernel/ds.c
··· 384 385 spin_lock(&ds_lock); 386 387 if (!check_tracer(task)) 388 - return -EPERM; 389 390 error = -ENOMEM; 391 context = ds_alloc_context(task);
··· 384 385 spin_lock(&ds_lock); 386 387 + error = -EPERM; 388 if (!check_tracer(task)) 389 + goto out_unlock; 390 391 error = -ENOMEM; 392 context = ds_alloc_context(task);