diff mbox series

hw/s390x: Fix bad mask in time2tod()

Message ID 1544792887-14575-1-git-send-email-thuth@redhat.com (mailing list archive)
State New, archived
Headers show
Series hw/s390x: Fix bad mask in time2tod() | expand

Commit Message

Thomas Huth Dec. 14, 2018, 1:08 p.m. UTC
The time2tod() function tries to deal with the 9 uppermost bits in the
time value, but uses the wrong mask for this: 0xff80000000000000 should
be used instead of 0xff10000000000000 here.

Fixes: 14055ce53c2d901d826ffad7fb7d6bb8ab46bdfd
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/s390x/tod.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

David Hildenbrand Dec. 14, 2018, 1:12 p.m. UTC | #1
On 14.12.18 14:08, Thomas Huth wrote:
> The time2tod() function tries to deal with the 9 uppermost bits in the
> time value, but uses the wrong mask for this: 0xff80000000000000 should
> be used instead of 0xff10000000000000 here.
> 
> Fixes: 14055ce53c2d901d826ffad7fb7d6bb8ab46bdfd
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  include/hw/s390x/tod.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/hw/s390x/tod.h b/include/hw/s390x/tod.h
> index cbd7552..47ef9de 100644
> --- a/include/hw/s390x/tod.h
> +++ b/include/hw/s390x/tod.h
> @@ -56,7 +56,7 @@ typedef struct S390TODClass {
>  /* Converts ns to s390's clock format */
>  static inline uint64_t time2tod(uint64_t ns)
>  {
> -    return (ns << 9) / 125 + (((ns & 0xff10000000000000ull) / 125) << 9);
> +    return (ns << 9) / 125 + (((ns & 0xff80000000000000ull) / 125) << 9);
>  }
>  
>  /* Converts s390's clock format to ns */
> 

Reviewed-by: David Hildenbrand <david@redhat.com>
Christian Borntraeger Dec. 14, 2018, 1:15 p.m. UTC | #2
On 14.12.2018 14:08, Thomas Huth wrote:
> The time2tod() function tries to deal with the 9 uppermost bits in the
> time value, but uses the wrong mask for this: 0xff80000000000000 should
> be used instead of 0xff10000000000000 here.
> 
> Fixes: 14055ce53c2d901d826ffad7fb7d6bb8ab46bdfd

Can you alsways have commit id and subject

like
Fixes: 14055ce53c2d ("s390x/tcg: avoid overflows in time2tod/tod2time")

> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  include/hw/s390x/tod.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/hw/s390x/tod.h b/include/hw/s390x/tod.h
> index cbd7552..47ef9de 100644
> --- a/include/hw/s390x/tod.h
> +++ b/include/hw/s390x/tod.h
> @@ -56,7 +56,7 @@ typedef struct S390TODClass {
>  /* Converts ns to s390's clock format */
>  static inline uint64_t time2tod(uint64_t ns)
>  {
> -    return (ns << 9) / 125 + (((ns & 0xff10000000000000ull) / 125) << 9);
> +    return (ns << 9) / 125 + (((ns & 0xff80000000000000ull) / 125) << 9);
>  }
>  
>  /* Converts s390's clock format to ns */
>
Thomas Huth Dec. 14, 2018, 1:23 p.m. UTC | #3
On 2018-12-14 14:15, Christian Borntraeger wrote:
> 
> 
> On 14.12.2018 14:08, Thomas Huth wrote:
>> The time2tod() function tries to deal with the 9 uppermost bits in the
>> time value, but uses the wrong mask for this: 0xff80000000000000 should
>> be used instead of 0xff10000000000000 here.
>>
>> Fixes: 14055ce53c2d901d826ffad7fb7d6bb8ab46bdfd
> 
> Can you alsways have commit id and subject
> 
> like
> Fixes: 14055ce53c2d ("s390x/tcg: avoid overflows in time2tod/tod2time")

In https://wiki.qemu.org/Contribute/SubmitAPatch we currently have:

 Fixes: <full-SHA-commit-id>

... and the full commit ID is sometimes very useful for downstream, so
I'd rather avoid to abbreviate that here. But I can try to remember to
put the title of the patch in another spot of the description, too.

 Thomas
Christian Borntraeger Dec. 14, 2018, 1:26 p.m. UTC | #4
On 14.12.2018 14:23, Thomas Huth wrote:
> On 2018-12-14 14:15, Christian Borntraeger wrote:
>>
>>
>> On 14.12.2018 14:08, Thomas Huth wrote:
>>> The time2tod() function tries to deal with the 9 uppermost bits in the
>>> time value, but uses the wrong mask for this: 0xff80000000000000 should
>>> be used instead of 0xff10000000000000 here.
>>>
>>> Fixes: 14055ce53c2d901d826ffad7fb7d6bb8ab46bdfd
>>
>> Can you alsways have commit id and subject
>>
>> like
>> Fixes: 14055ce53c2d ("s390x/tcg: avoid overflows in time2tod/tod2time")
> 
> In https://wiki.qemu.org/Contribute/SubmitAPatch we currently have:
> 
>  Fixes: <full-SHA-commit-id>


Interesting. Linus strongly opposed to only have the commit id as people often
do cut and paste errors so nobody could actually find out which commit was meant.
So the Linux variant is not sha commit of at least 12 digits + subject.

> 
> ... and the full commit ID is sometimes very useful for downstream, so
> I'd rather avoid to abbreviate that here. But I can try to remember to
> put the title of the patch in another spot of the description, too.
> 
>  Thomas
>
Thomas Huth Dec. 14, 2018, 1:30 p.m. UTC | #5
On 2018-12-14 14:26, Christian Borntraeger wrote:
> 
> 
> On 14.12.2018 14:23, Thomas Huth wrote:
>> On 2018-12-14 14:15, Christian Borntraeger wrote:
>>>
>>>
>>> On 14.12.2018 14:08, Thomas Huth wrote:
>>>> The time2tod() function tries to deal with the 9 uppermost bits in the
>>>> time value, but uses the wrong mask for this: 0xff80000000000000 should
>>>> be used instead of 0xff10000000000000 here.
>>>>
>>>> Fixes: 14055ce53c2d901d826ffad7fb7d6bb8ab46bdfd
>>>
>>> Can you alsways have commit id and subject
>>>
>>> like
>>> Fixes: 14055ce53c2d ("s390x/tcg: avoid overflows in time2tod/tod2time")
>>
>> In https://wiki.qemu.org/Contribute/SubmitAPatch we currently have:
>>
>>  Fixes: <full-SHA-commit-id>
> 
> Interesting. Linus strongly opposed to only have the commit id as people often
> do cut and paste errors so nobody could actually find out which commit was meant.
> So the Linux variant is not sha commit of at least 12 digits + subject.

Mentioning the title certainly makes sense, too, so feel free to extend
the Wiki page if you like!

 Thomas
Cornelia Huck Dec. 14, 2018, 1:38 p.m. UTC | #6
On Fri, 14 Dec 2018 14:08:07 +0100
Thomas Huth <thuth@redhat.com> wrote:

> The time2tod() function tries to deal with the 9 uppermost bits in the
> time value, but uses the wrong mask for this: 0xff80000000000000 should
> be used instead of 0xff10000000000000 here.

I've tweaked this to

Since "s390x/tcg: avoid overflows in time2tod/tod2time", the
time2tod() function tries to deal with the 9 uppermost bits in the
time value, but uses the wrong mask for this: 0xff80000000000000 should
be used instead of 0xff10000000000000 here.

> 
> Fixes: 14055ce53c2d901d826ffad7fb7d6bb8ab46bdfd

I'll add cc:stable in the patch description as well.

> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  include/hw/s390x/tod.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/hw/s390x/tod.h b/include/hw/s390x/tod.h
> index cbd7552..47ef9de 100644
> --- a/include/hw/s390x/tod.h
> +++ b/include/hw/s390x/tod.h
> @@ -56,7 +56,7 @@ typedef struct S390TODClass {
>  /* Converts ns to s390's clock format */
>  static inline uint64_t time2tod(uint64_t ns)
>  {
> -    return (ns << 9) / 125 + (((ns & 0xff10000000000000ull) / 125) << 9);
> +    return (ns << 9) / 125 + (((ns & 0xff80000000000000ull) / 125) << 9);
>  }
>  
>  /* Converts s390's clock format to ns */

Thanks, applied.
Philippe Mathieu-Daudé Dec. 14, 2018, 2:09 p.m. UTC | #7
On 12/14/18 2:30 PM, Thomas Huth wrote:
> On 2018-12-14 14:26, Christian Borntraeger wrote:
>>
>>
>> On 14.12.2018 14:23, Thomas Huth wrote:
>>> On 2018-12-14 14:15, Christian Borntraeger wrote:
>>>>
>>>>
>>>> On 14.12.2018 14:08, Thomas Huth wrote:
>>>>> The time2tod() function tries to deal with the 9 uppermost bits in the
>>>>> time value, but uses the wrong mask for this: 0xff80000000000000 should
>>>>> be used instead of 0xff10000000000000 here.
>>>>>
>>>>> Fixes: 14055ce53c2d901d826ffad7fb7d6bb8ab46bdfd
>>>>
>>>> Can you alsways have commit id and subject
>>>>
>>>> like
>>>> Fixes: 14055ce53c2d ("s390x/tcg: avoid overflows in time2tod/tod2time")
>>>
>>> In https://wiki.qemu.org/Contribute/SubmitAPatch we currently have:
>>>
>>>  Fixes: <full-SHA-commit-id>
>>
>> Interesting. Linus strongly opposed to only have the commit id as people often
>> do cut and paste errors so nobody could actually find out which commit was meant.
>> So the Linux variant is not sha commit of at least 12 digits + subject.
> 
> Mentioning the title certainly makes sense, too, so feel free to extend
> the Wiki page if you like!

Done :)
diff mbox series

Patch

diff --git a/include/hw/s390x/tod.h b/include/hw/s390x/tod.h
index cbd7552..47ef9de 100644
--- a/include/hw/s390x/tod.h
+++ b/include/hw/s390x/tod.h
@@ -56,7 +56,7 @@  typedef struct S390TODClass {
 /* Converts ns to s390's clock format */
 static inline uint64_t time2tod(uint64_t ns)
 {
-    return (ns << 9) / 125 + (((ns & 0xff10000000000000ull) / 125) << 9);
+    return (ns << 9) / 125 + (((ns & 0xff80000000000000ull) / 125) << 9);
 }
 
 /* Converts s390's clock format to ns */