Fixes the condition check of incoming message type which can
otherwise shoot beyond the message notifiers head array.
Signed-off-by: Neelesh Gupta neele...@linux.vnet.ibm.com
Reviewed-by: Vasant Hegde hegdevas...@linux.vnet.ibm.com
---
arch/powerpc/platforms/powernv/opal.c | 12
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/opal.c
b/arch/powerpc/platforms/powernv/opal.c
index f10b9ec..2651e22 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -305,16 +305,12 @@ void opal_notifier_disable(void)
int opal_message_notifier_register(enum OpalMessageType msg_type,
struct notifier_block *nb)
{
- if (!nb) {
- pr_warning(%s: Invalid argument (%p)\n,
- __func__, nb);
- return -EINVAL;
- }
- if (msg_type OPAL_MSG_TYPE_MAX) {
- pr_warning(%s: Invalid message type argument (%d)\n,
+ if (!nb || msg_type = OPAL_MSG_TYPE_MAX) {
+ pr_warning(%s: Invalid arguments, msg_type:%d\n,
__func__, msg_type);
return -EINVAL;
}
+
return atomic_notifier_chain_register(
opal_msg_notifier_head[msg_type], nb);
}
@@ -351,7 +347,7 @@ static void opal_handle_message(void)
type = be32_to_cpu(msg.msg_type);
/* Sanity check */
- if (type OPAL_MSG_TYPE_MAX) {
+ if (type = OPAL_MSG_TYPE_MAX) {
pr_warning(%s: Unknown message type: %u\n, __func__, type);
return;
}
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev