Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753660AbZKAVJ6 (ORCPT ); Sun, 1 Nov 2009 16:09:58 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753493AbZKAVJR (ORCPT ); Sun, 1 Nov 2009 16:09:17 -0500 Received: from mail-ew0-f228.google.com ([209.85.219.228]:42263 "EHLO mail-ew0-f228.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753447AbZKAVJN (ORCPT ); Sun, 1 Nov 2009 16:09:13 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; b=YmDUrOkWQdYVbU3hoOrcFI3bLXsjsI6ydfttD8VnU4WGucSqIOAMib6yitfpH6GPlh wg5gNh8FBEbudBYLOVwdvzIJYHiUksnGCqXwAhlsptDqGCE4x6bVI9Phj2j9YvDqnxuL 6lUVtVty/8GLCmRxiqLL2hjB2WIoFx4SaH5JU= From: Frederic Weisbecker To: Ingo Molnar Cc: LKML , Paul Mundt , Ingo Molnar , Alan Stern , Frederic Weisbecker Subject: [PATCH 2/6] x86/hw-breakpoints: Actually flush thread breakpoints in flush_thread(). Date: Sun, 1 Nov 2009 22:09:09 +0100 Message-Id: <1257109753-6464-3-git-send-email-fweisbec@gmail.com> X-Mailer: git-send-email 1.6.2.3 In-Reply-To: <4AE55B1B.2030006@web.de> References: <4AE55B1B.2030006@web.de> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1615 Lines: 45 From: Paul Mundt flush_thread() tries to do a TIF_DEBUG check before calling in to flush_thread_hw_breakpoint() (which subsequently clears the thread flag), but for some reason, the x86 code is manually clearing TIF_DEBUG immediately before the test, so this path will never be taken. This kills off the erroneous clear_tsk_thread_flag() and lets flush_thread_hw_breakpoint() actually get invoked. Presumably folks were getting lucky with testing and the free_thread_info() -> free_thread_xstate() path was taking care of the flush there. Signed-off-by: Paul Mundt Acked-by: "K.Prasad" Cc: Ingo Molnar Cc: Alan Stern LKML-Reference: <20091005102306.GA7889@linux-sh.org> Signed-off-by: Frederic Weisbecker --- arch/x86/kernel/process.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index 2275ce5..cf8ee00 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c @@ -107,8 +107,6 @@ void flush_thread(void) } #endif - clear_tsk_thread_flag(tsk, TIF_DEBUG); - if (unlikely(test_tsk_thread_flag(tsk, TIF_DEBUG))) flush_thread_hw_breakpoint(tsk); memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array)); -- 1.6.2.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/