diff options
author | Kinsey Moore <kinsey.moore@oarcorp.com> | 2023-12-02 20:32:45 -0600 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2023-12-14 13:40:03 -0600 |
commit | 437053282dbaf4514081ddccd56cdf68410c85fa (patch) | |
tree | 4035367cff2c63fd9ae8569094d108dad9e7827c | |
parent | bsps/xnandpsu: Mark correct reserved blocks (diff) | |
download | rtems-437053282dbaf4514081ddccd56cdf68410c85fa.tar.bz2 |
bsps/xnandpsu: Constrain block erasure to device
The XNandPsu_EraseBlock function takes a target device and a block
offset for erasure. Ensure the block offset is within the size of the
target device.
-rw-r--r-- | bsps/shared/dev/nand/xnandpsu.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/bsps/shared/dev/nand/xnandpsu.c b/bsps/shared/dev/nand/xnandpsu.c index db4e625e5a..65c58b7e9b 100644 --- a/bsps/shared/dev/nand/xnandpsu.c +++ b/bsps/shared/dev/nand/xnandpsu.c @@ -2193,7 +2193,11 @@ s32 XNandPsu_EraseBlock(XNandPsu *InstancePtr, u32 Target, u32 Block) Xil_AssertNonvoid(InstancePtr != NULL); Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY); Xil_AssertNonvoid(Target < XNANDPSU_MAX_TARGETS); +#ifdef __rtems__ + Xil_AssertNonvoid(Block < InstancePtr->Geometry.NumTargetBlocks); +#else Xil_AssertNonvoid(Block < InstancePtr->Geometry.NumBlocks); +#endif s32 Status = XST_FAILURE; u32 Page; |