Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 91b3d9f0 authored by Shivasharan S's avatar Shivasharan S Committed by Martin K. Petersen
Browse files

scsi: megaraid_sas: Check valid aen class range to avoid kernel panic

parent 8823abed
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -5651,6 +5651,14 @@ megasas_register_aen(struct megasas_instance *instance, u32 seq_num,
		prev_aen.word =
			le32_to_cpu(instance->aen_cmd->frame->dcmd.mbox.w[1]);

		if ((curr_aen.members.class < MFI_EVT_CLASS_DEBUG) ||
		    (curr_aen.members.class > MFI_EVT_CLASS_DEAD)) {
			dev_info(&instance->pdev->dev,
				 "%s %d out of range class %d send by application\n",
				 __func__, __LINE__, curr_aen.members.class);
			return 0;
		}

		/*
		 * A class whose enum value is smaller is inclusive of all
		 * higher values. If a PROGRESS (= -1) was previously