All of lore.kernel.org
 help / color / mirror / Atom feed
From: "K.Prasad" <prasad@linux.vnet.ibm.com>
To: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>, LKML <linux-kernel@vger.kernel.org>,
	Michael Stefaniuc <mstefani@redhat.com>,
	Alan Stern <stern@rowland.harvard.edu>,
	Maneesh Soni <maneesh@linux.vnet.ibm.com>,
	Alexandre Julliard <julliard@winehq.org>,
	"Rafael J . Wysocki" <rjw@sisk.pl>,
	Maciej Rutecki <maciej.rutecki@gmail.com>,
	Roland McGrath <roland@redhat.com>
Subject: Re: [PATCH 1/2] hw-breakpoints: Accept breakpoints on NULL address
Date: Fri, 19 Feb 2010 14:21:50 +0530	[thread overview]
Message-ID: <20100219085150.GB3525@in.ibm.com> (raw)
In-Reply-To: <1266516001-7753-2-git-send-regression-fweisbec@gmail.com>

On Thu, Feb 18, 2010 at 07:00:00PM +0100, Frederic Weisbecker wrote:
> Before we had a generic breakpoint API, ptrace was accepting
> breakpoints on NULL address in x86. The new API refuse them,
> without given strong reasons. We need to follow the previous
> behaviour as some userspace apps like Wine need such NULL
> breakpoints to ensure old emulated software protections
> are still working.
> 
> This fixes a 2.6.32 - 2.6.33-x ptrace regression.
> 
> Reported-by: Michael Stefaniuc <mstefani@redhat.com>
> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
> Cc: K.Prasad <prasad@linux.vnet.ibm.com>

Acked-by: K.Prasad <prasad@linux.vnet.ibm.com>

> Cc: Alan Stern <stern@rowland.harvard.edu>
> Cc: Maneesh Soni <maneesh@linux.vnet.ibm.com>
> Cc: Alexandre Julliard <julliard@winehq.org>
> Cc: Rafael J. Wysocki <rjw@sisk.pl>
> Cc: Maciej Rutecki <maciej.rutecki@gmail.com>
> ---
>  arch/x86/kernel/hw_breakpoint.c |   30 +++++++-----------------------
>  1 files changed, 7 insertions(+), 23 deletions(-)
> 
> diff --git a/arch/x86/kernel/hw_breakpoint.c b/arch/x86/kernel/hw_breakpoint.c
> index 05d5fec..bb6006e 100644
> --- a/arch/x86/kernel/hw_breakpoint.c
> +++ b/arch/x86/kernel/hw_breakpoint.c
> @@ -212,25 +212,6 @@ static int arch_check_va_in_kernelspace(unsigned long va, u8 hbp_len)
>  	return (va >= TASK_SIZE) && ((va + len - 1) >= TASK_SIZE);
>  }
> 
> -/*
> - * Store a breakpoint's encoded address, length, and type.
> - */
> -static int arch_store_info(struct perf_event *bp)
> -{
> -	struct arch_hw_breakpoint *info = counter_arch_bp(bp);
> -	/*
> -	 * For kernel-addresses, either the address or symbol name can be
> -	 * specified.
> -	 */
> -	if (info->name)
> -		info->address = (unsigned long)
> -				kallsyms_lookup_name(info->name);
> -	if (info->address)
> -		return 0;
> -
> -	return -EINVAL;
> -}
> -
>  int arch_bp_generic_fields(int x86_len, int x86_type,
>  			   int *gen_len, int *gen_type)
>  {
> @@ -362,10 +343,13 @@ int arch_validate_hwbkpt_settings(struct perf_event *bp,
>  		return ret;
>  	}
> 
> -	ret = arch_store_info(bp);
> -
> -	if (ret < 0)
> -		return ret;
> +	/*
> +	 * For kernel-addresses, either the address or symbol name can be
> +	 * specified.
> +	 */
> +	if (info->name)
> +		info->address = (unsigned long)
> +				kallsyms_lookup_name(info->name);
>  	/*
>  	 * Check that the low-order bits of the address are appropriate
>  	 * for the alignment implied by len.
> -- 
> 1.6.2.3
> 

  parent reply	other threads:[~2010-02-19  8:51 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-11 16:33 Regression in ptrace (Wine) starting with 2.6.33-rc1 Michael Stefaniuc
2010-02-11 18:22 ` Frederic Weisbecker
2010-02-11 19:49   ` Michael Stefaniuc
2010-02-12 18:15     ` Frederic Weisbecker
2010-02-13 17:33     ` K.Prasad
2010-02-13 21:29       ` Michael Stefaniuc
2010-02-14 17:15         ` Frederic Weisbecker
2010-02-14 20:13           ` Michael Stefaniuc
2010-02-14 20:41             ` Frederic Weisbecker
2010-02-14 23:05               ` Michael Stefaniuc
2010-02-15 11:57                 ` K.Prasad
2010-02-15 15:57                   ` Alexandre Julliard
2010-02-15 19:37                   ` Michael Stefaniuc
2010-02-15 19:47                     ` Roland McGrath
2010-02-17 16:03                       ` Frederic Weisbecker
2010-02-17 17:06                 ` Frederic Weisbecker
2010-02-18 17:59                 ` Regression in ptrace (Wine) starting with 2.6.33-rc1, fixes Frederic Weisbecker
2010-02-18 19:27                   ` Michael Stefaniuc
2010-02-18 19:41                     ` Alexandre Julliard
2010-02-19 17:19                       ` Frederic Weisbecker
2010-02-19 17:17                     ` Frederic Weisbecker
2010-02-18 18:00                 ` [PATCH 1/2] hw-breakpoints: Accept breakpoints on NULL address Frederic Weisbecker
2010-02-18 21:16                   ` Roland McGrath
2010-02-19 17:38                     ` Frederic Weisbecker
2010-02-19  8:51                   ` K.Prasad [this message]
2010-02-18 18:00                 ` [PATCH 2/2] hw-breakpoint: Keep track of dr7 local enable bits Frederic Weisbecker
2010-02-19  8:45                   ` K.Prasad
2010-02-19 15:34                     ` Frederic Weisbecker
2010-02-19 17:58                       ` K.Prasad
2010-02-19 18:03                         ` Frederic Weisbecker
2010-02-19  8:58                   ` K.Prasad
2010-02-19 15:49                     ` Frederic Weisbecker
2010-02-19 17:41                     ` Frederic Weisbecker
2010-02-19 18:04                       ` K.Prasad
2010-02-19 18:12                         ` [GIT PULL] hw-breakpoint regression fixes Frederic Weisbecker
2010-02-22  9:56                           ` Ingo Molnar
2010-02-19 18:12                         ` [PATCH 1/2] hw-breakpoints: Accept breakpoints on NULL address Frederic Weisbecker
2010-02-19 18:12                         ` [PATCH 2/2] hw-breakpoint: Keep track of dr7 local enable bits Frederic Weisbecker
     [not found] <edVLc-5aQ-23@gated-at.bofh.it>
     [not found] ` <efiZ6-5YR-51@gated-at.bofh.it>
     [not found]   ` <eflWW-1XV-11@gated-at.bofh.it>
2010-02-18 21:34     ` [PATCH 1/2] hw-breakpoints: Accept breakpoints on NULL address James Kosin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100219085150.GB3525@in.ibm.com \
    --to=prasad@linux.vnet.ibm.com \
    --cc=fweisbec@gmail.com \
    --cc=julliard@winehq.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maciej.rutecki@gmail.com \
    --cc=maneesh@linux.vnet.ibm.com \
    --cc=mingo@elte.hu \
    --cc=mstefani@redhat.com \
    --cc=rjw@sisk.pl \
    --cc=roland@redhat.com \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.