Re: [patch] s390 kprobe fix instruction length calculation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 15, 2007 at 02:31:40PM -0700, David Wilder wrote:
> Placing a kprobe on "bc" instruction (s390/s390x) can cause an oops.
> The instruction length is encoded into the first two bits of the s390 
> instruction.  Kprobe is incorrectly computing the instruction length.
> The instruction length is used for determining what type of "fix-up" is 
> needed for conditional branch instruction.  The problem can bee seen by 
> placing a kprobe on a  "bc" instruction that will not branch.   The results 
> is that  Kprobe incorrectly computes the  new instruction pointer 
> (psw.addr) after single stepping the instruction.   The problem is 
> corrected with this patch.
>
>  	/* save the instruction length (pop 5-5) in bytes */
> -	switch (*(__u8 *) (ainsn->insn) >> 4) {
> +	switch (*(__u8 *) (ainsn->insn) >> 6) {
>  	case 0:

Added to the s390 patch queue. Thanks! :)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux