diff options
| author | xtraeme <xtraeme@NetBSD.org> | 2007-10-06 02:49:46 +0000 |
|---|---|---|
| committer | xtraeme <xtraeme@NetBSD.org> | 2007-10-06 02:49:46 +0000 |
| commit | 07f9bca5af964fcb946b7f3eed782e07643e7db8 (patch) | |
| tree | b23dd9d334aa51468c536ee4d6590db95d6a3454 /sys/dev | |
| parent | 81e619b9a4ed0deee578d31977baba601060df66 (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.c | 12 |
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) |
