diff mbox

[v1,1/4] KVM: s390: guestdbg: fix range check

Message ID 20170830160603.5452-2-david@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

David Hildenbrand Aug. 30, 2017, 4:06 p.m. UTC
Looks like the "overflowing" range check is wrong.

|=======b-------a=======|

addr >= a || addr <= b

Signed-off-by: David Hildenbrand <david@redhat.com>
---
 arch/s390/kvm/guestdbg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Cornelia Huck Aug. 31, 2017, 10:13 a.m. UTC | #1
On Wed, 30 Aug 2017 18:06:00 +0200
David Hildenbrand <david@redhat.com> wrote:

> Looks like the "overflowing" range check is wrong.
> 
> |=======b-------a=======|
> 
> addr >= a || addr <= b

Huh :)

> 
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
>  arch/s390/kvm/guestdbg.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/s390/kvm/guestdbg.c b/arch/s390/kvm/guestdbg.c
> index c2e0ddc1356e..bcbd86621d01 100644
> --- a/arch/s390/kvm/guestdbg.c
> +++ b/arch/s390/kvm/guestdbg.c
> @@ -308,7 +308,7 @@ static inline int in_addr_range(u64 addr, u64 a, u64 b)
>  		return (addr >= a) && (addr <= b);
>  	else
>  		/* "overflowing" interval */
> -		return (addr <= a) && (addr >= b);
> +		return (addr >= a) || (addr <= b);
>  }
>  
>  #define end_of_range(bp_info) (bp_info->addr + bp_info->len - 1)

Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Christian Borntraeger Aug. 31, 2017, 10:36 a.m. UTC | #2
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>

applied thanks.

On 08/30/2017 06:06 PM, David Hildenbrand wrote:
> Looks like the "overflowing" range check is wrong.
> 
> |=======b-------a=======|
> 
> addr >= a || addr <= b
> 
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
>  arch/s390/kvm/guestdbg.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/s390/kvm/guestdbg.c b/arch/s390/kvm/guestdbg.c
> index c2e0ddc1356e..bcbd86621d01 100644
> --- a/arch/s390/kvm/guestdbg.c
> +++ b/arch/s390/kvm/guestdbg.c
> @@ -308,7 +308,7 @@ static inline int in_addr_range(u64 addr, u64 a, u64 b)
>  		return (addr >= a) && (addr <= b);
>  	else
>  		/* "overflowing" interval */
> -		return (addr <= a) && (addr >= b);
> +		return (addr >= a) || (addr <= b);
>  }
> 
>  #define end_of_range(bp_info) (bp_info->addr + bp_info->len - 1)
>
diff mbox

Patch

diff --git a/arch/s390/kvm/guestdbg.c b/arch/s390/kvm/guestdbg.c
index c2e0ddc1356e..bcbd86621d01 100644
--- a/arch/s390/kvm/guestdbg.c
+++ b/arch/s390/kvm/guestdbg.c
@@ -308,7 +308,7 @@  static inline int in_addr_range(u64 addr, u64 a, u64 b)
 		return (addr >= a) && (addr <= b);
 	else
 		/* "overflowing" interval */
-		return (addr <= a) && (addr >= b);
+		return (addr >= a) || (addr <= b);
 }
 
 #define end_of_range(bp_info) (bp_info->addr + bp_info->len - 1)