x86, PEBS/DS: fix code flow in ds_request()
authorIngo Molnar <mingo@elte.hu>
Tue, 18 Nov 2008 14:23:08 +0000 (15:23 +0100)
committerIngo Molnar <mingo@elte.hu>
Tue, 18 Nov 2008 14:34:36 +0000 (15:34 +0100)
commit10db4ef7b9a65b86e4d047671a1886f4c101a859
tree2d47105e6cf1e88c5a83def331c5d6302578e607
parent93ce99e849433ede4ce8b410b749dc0cad1100b2
x86, PEBS/DS: fix code flow in ds_request()

this compiler warning:

  arch/x86/kernel/ds.c: In function 'ds_request':
  arch/x86/kernel/ds.c:368: warning: 'context' may be used uninitialized in this function

Shows that the code flow in ds_request() is buggy - it goes into
the unlock+release-context path even when the context is not allocated
yet.

First allocate the context, then do the other checks.

Also, take care with GFP allocations under the ds_lock spinlock.

Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/ds.c