summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorxtraeme <xtraeme@NetBSD.org>2007-10-06 02:49:46 +0000
committerxtraeme <xtraeme@NetBSD.org>2007-10-06 02:49:46 +0000
commit07f9bca5af964fcb946b7f3eed782e07643e7db8 (patch)
treeb23dd9d334aa51468c536ee4d6590db95d6a3454 /sys/dev
parent81e619b9a4ed0deee578d31977baba601060df66 (diff)
- sysmon_power_daemon_task: check if pev is valid before use.
- Add two more KASSERTS in strategic places.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/sysmon/sysmon_power.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/dev/sysmon/sysmon_power.c b/sys/dev/sysmon/sysmon_power.c
index ead7eb38645..166d1dca285 100644
--- a/sys/dev/sysmon/sysmon_power.c
+++ b/sys/dev/sysmon/sysmon_power.c
@@ -1,4 +1,4 @@
-/* $NetBSD: sysmon_power.c,v 1.25 2007/09/25 19:27:08 xtraeme Exp $ */
+/* $NetBSD: sysmon_power.c,v 1.26 2007/10/06 02:49:46 xtraeme Exp $ */
/*-
* Copyright (c) 2007 The NetBSD Foundation, Inc.
@@ -80,7 +80,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sysmon_power.c,v 1.25 2007/09/25 19:27:08 xtraeme Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysmon_power.c,v 1.26 2007/10/06 02:49:46 xtraeme Exp $");
#include "opt_compat_netbsd.h"
#include <sys/param.h>
@@ -260,6 +260,9 @@ sysmon_power_daemon_task(void *pev_data, int event)
int rv, error = 0;
KASSERT(mutex_owned(&sysmon_power_event_queue_mtx));
+
+ if (!pev_data)
+ return EINVAL;
/*
* If a power management daemon is connected, then simply
@@ -706,6 +709,8 @@ sysmon_penvsys_event(struct penvsys_state *pes, int event)
{
const char *mystr = NULL;
+ KASSERT(pes != NULL);
+
mutex_enter(&sysmon_power_event_queue_mtx);
if (sysmon_power_daemon != NULL)
if (sysmon_power_daemon_task(pes, event) == 0)
@@ -817,6 +822,9 @@ sysmon_pswitch_unregister(struct sysmon_pswitch *smpsw)
void
sysmon_pswitch_event(struct sysmon_pswitch *smpsw, int event)
{
+
+ KASSERT(smpsw != NULL);
+
mutex_enter(&sysmon_power_event_queue_mtx);
if (sysmon_power_daemon != NULL)
if (sysmon_power_daemon_task(smpsw, event) == 0)