qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] ccf661: linux-user: Do not subtract offset fr


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] ccf661: linux-user: Do not subtract offset from end addres...
Date: Tue, 11 Nov 2014 03:30:09 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: ccf661f827faf700b03a30076b5f944e8f787280
      
https://github.com/qemu/qemu/commit/ccf661f827faf700b03a30076b5f944e8f787280
  Author: Tom Musta <address@hidden>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user: Do not subtract offset from end address

When computing the upper address of a program segment, do not subtract the
offset from the virtual address; instead compute the sum of the virtual address
and the memory size.

Signed-off-by: Tom Musta <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: aecc88616a64a4e0a1ae0d6986de0054ea9f37d2
      
https://github.com/qemu/qemu/commit/aecc88616a64a4e0a1ae0d6986de0054ea9f37d2
  Author: Alexander Graf <address@hidden>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M linux-user/syscall.c
    M linux-user/syscall_defs.h

  Log Message:
  -----------
  linux-user: Fix up timer id handling

When creating a timer handle, we give the timer id a special magic offset
of 0xcafe0000. However, we never mask that offset out of the timer id before
we start using it to dereference our timer array. So we always end up aborting
timer operations because the timer id is out of bounds.

This was not an issue before my patch e52a99f756e ("linux-user: Simplify
timerid checks on g_posix_timers range") because before we would blindly mask
anything above the first 16 bits.

This patch simplifies the code around timer id creation by introducing a proper
target_timer_id typedef that is s32, just like Linux has it. It also changes the
magic offset to a value that makes all timer ids be positive.

Reported-by: Tom Musta <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Reviewed-by: Tom Musta <address@hidden>
Tested-by: Tom Musta <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: 59c4f2ecefe33878bc23219a51d0bd913d46aa97
      
https://github.com/qemu/qemu/commit/59c4f2ecefe33878bc23219a51d0bd913d46aa97
  Author: Peter Maydell <address@hidden>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M linux-user/elfload.c
    M linux-user/syscall.c
    M linux-user/syscall_defs.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/riku/tags/pull-linux-user-20141111' 
into staging

linux-user pull for 2.2

Two last minute fixes uncovered and fixed by Tom Musta
and Alexander Graf, thanks

# gpg: Signature made Tue 11 Nov 2014 06:36:02 GMT using RSA key ID DE3C9BC0
# gpg: Good signature from "Riku Voipio <address@hidden>"
# gpg:                 aka "Riku Voipio <address@hidden>"

* remotes/riku/tags/pull-linux-user-20141111:
  linux-user: Fix up timer id handling
  linux-user: Do not subtract offset from end address

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/9df98352b700...59c4f2ecefe3

reply via email to

[Prev in Thread] Current Thread [Next in Thread]