| From c441d28945fb113220d48d6c86ebc0b090a2b677 Mon Sep 17 00:00:00 2001 |
| From: Timur Tabi <ttabi@nvidia.com> |
| Date: Wed, 11 May 2022 11:37:16 -0500 |
| Subject: drm/nouveau: fix another off-by-one in nvbios_addr |
| |
| From: Timur Tabi <ttabi@nvidia.com> |
| |
| commit c441d28945fb113220d48d6c86ebc0b090a2b677 upstream. |
| |
| This check determines whether a given address is part of |
| image 0 or image 1. Image 1 starts at offset image0_size, |
| so that address should be included. |
| |
| Fixes: 4d4e9907ff572 ("drm/nouveau/bios: guard against out-of-bounds accesses to image") |
| Cc: <stable@vger.kernel.org> # v4.8+ |
| Signed-off-by: Timur Tabi <ttabi@nvidia.com> |
| Reviewed-by: Karol Herbst <kherbst@redhat.com> |
| Signed-off-by: Lyude Paul <lyude@redhat.com> |
| Link: https://patchwork.freedesktop.org/patch/msgid/20220511163716.3520591-1-ttabi@nvidia.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c |
| +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c |
| @@ -33,7 +33,7 @@ nvbios_addr(struct nvkm_bios *bios, u32 |
| { |
| u32 p = *addr; |
| |
| - if (*addr > bios->image0_size && bios->imaged_addr) { |
| + if (*addr >= bios->image0_size && bios->imaged_addr) { |
| *addr -= bios->image0_size; |
| *addr += bios->imaged_addr; |
| } |