[haiku-commits] haiku: hrev51734 - in src: apps/powerstatus system/kernel/arch/x86/32

  • From: jerome.duval@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 6 Jan 2018 10:22:11 -0500 (EST)

hrev51734 adds 2 changesets to branch 'master'
old head: 9c18398fe41195a85d8353bbad88a9a3696f5a94
new head: e04d859b348c162706f0cde7cdf79fe258c9607e
overview: 
http://cgit.haiku-os.org/haiku/log/?qt=range&q=e04d859b348c+%5E9c18398fe411

----------------------------------------------------------------------------

b68d872bdbfe: kernel: apm: check buffer parameter in apm_control syscall

e04d859b348c: PowerStatus: call the APM syscall with the correct struct.

                                   [ Jérôme Duval <jerome.duval@xxxxxxxxx> ]

----------------------------------------------------------------------------

2 files changed, 5 insertions(+), 2 deletions(-)
src/apps/powerstatus/APMDriverInterface.cpp | 4 ++--
src/system/kernel/arch/x86/32/apm.cpp       | 3 +++

############################################################################

Commit:      b68d872bdbfe1d2442f1191ac48e8fd8daf9e856
URL:         http://cgit.haiku-os.org/haiku/commit/?id=b68d872bdbfe
Author:      Jérôme Duval <jerome.duval@xxxxxxxxx>
Date:        Sat Jan  6 15:04:45 2018 UTC

kernel: apm: check buffer parameter in apm_control syscall

----------------------------------------------------------------------------

diff --git a/src/system/kernel/arch/x86/32/apm.cpp 
b/src/system/kernel/arch/x86/32/apm.cpp
index c5174485da..23f21f9c04 100644
--- a/src/system/kernel/arch/x86/32/apm.cpp
+++ b/src/system/kernel/arch/x86/32/apm.cpp
@@ -9,6 +9,7 @@
 #include <apm.h>
 #include <descriptors.h>
 #include <generic_syscall.h>
+#include <kernel.h>
 #include <safemode.h>
 #include <boot/kernel_args.h>
 
@@ -245,6 +246,8 @@ apm_control(const char *subsystem, uint32 function,
                        if (status < B_OK)
                                return status;
 
+                       if (buffer == NULL || !IS_USER_ADDRESS(buffer))
+                               return B_BAD_ADDRESS;
                        return user_memcpy(buffer, &info, sizeof(struct 
apm_battery_info));
        }
 

############################################################################

Revision:    hrev51734
Commit:      e04d859b348c162706f0cde7cdf79fe258c9607e
URL:         http://cgit.haiku-os.org/haiku/commit/?id=e04d859b348c
Author:      Jérôme Duval <jerome.duval@xxxxxxxxx>
Date:        Sat Jan  6 15:12:18 2018 UTC

PowerStatus: call the APM syscall with the correct struct.

----------------------------------------------------------------------------

diff --git a/src/apps/powerstatus/APMDriverInterface.cpp 
b/src/apps/powerstatus/APMDriverInterface.cpp
index 4a050506d3..83f5714db3 100644
--- a/src/apps/powerstatus/APMDriverInterface.cpp
+++ b/src/apps/powerstatus/APMDriverInterface.cpp
@@ -30,9 +30,9 @@ APMDriverInterface::Connect()
        status_t status = _kern_generic_syscall(APM_SYSCALLS, B_SYSCALL_INFO,
                &version, sizeof(version));
        if (status == B_OK) {
-               battery_info info;
+               apm_battery_info info;
                status = _kern_generic_syscall(APM_SYSCALLS, 
APM_GET_BATTERY_INFO,
-                       &info, sizeof(battery_info));
+                       &info, sizeof(apm_battery_info));
        }
 
        return status;


Other related posts:

  • » [haiku-commits] haiku: hrev51734 - in src: apps/powerstatus system/kernel/arch/x86/32 - jerome . duval