diff options
-rw-r--r-- | drivers/tee/tee_shm.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/tee/tee_shm.c b/drivers/tee/tee_shm.c index 511eb298949b..6f36da9ee412 100644 --- a/drivers/tee/tee_shm.c +++ b/drivers/tee/tee_shm.c | |||
@@ -335,9 +335,11 @@ err: | |||
335 | idr_remove(&teedev->idr, shm->id); | 335 | idr_remove(&teedev->idr, shm->id); |
336 | mutex_unlock(&teedev->mutex); | 336 | mutex_unlock(&teedev->mutex); |
337 | } | 337 | } |
338 | for (n = 0; n < shm->num_pages; n++) | 338 | if (shm->pages) { |
339 | put_page(shm->pages[n]); | 339 | for (n = 0; n < shm->num_pages; n++) |
340 | kfree(shm->pages); | 340 | put_page(shm->pages[n]); |
341 | kfree(shm->pages); | ||
342 | } | ||
341 | } | 343 | } |
342 | kfree(shm); | 344 | kfree(shm); |
343 | teedev_ctx_put(ctx); | 345 | teedev_ctx_put(ctx); |