mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
Revert "nouveau/bios: Fix tracking of BIOS image data"
This reverts commit d06221c061
.
It turns out to trigger the "BUG_ON(!PageCompound(page))" in kfree(),
apparently because the code ends up trying to free somethng that was
never kmalloced in the first place.
BenH points out that the patch was untested and wasn't meant to go into
the upstream kernel that quickly in the first place.
Backtrace:
bios_shadow
bios_shadow_prom
nv_mask
init_io
bios_shadow
nouveau_bios_init
NVReadVgaCrtc
NVSetOwner
nouveau_card_init
nouveau_load
Reported-by: Meelis Roos <mroos@linux.ee>
Requested-by: Dave Airlie <airlied@gmail.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
01627d968c
commit
f3718a818f
1 changed files with 1 additions and 3 deletions
|
@ -273,7 +273,6 @@ bios_shadow(struct drm_device *dev)
|
|||
mthd->score = score_vbios(bios, mthd->rw);
|
||||
mthd->size = bios->length;
|
||||
mthd->data = bios->data;
|
||||
bios->data = NULL;
|
||||
} while (mthd->score != 3 && (++mthd)->shadow);
|
||||
|
||||
mthd = shadow_methods;
|
||||
|
@ -282,8 +281,7 @@ bios_shadow(struct drm_device *dev)
|
|||
if (mthd->score > best->score) {
|
||||
kfree(best->data);
|
||||
best = mthd;
|
||||
} else
|
||||
kfree(mthd->data);
|
||||
}
|
||||
} while ((++mthd)->shadow);
|
||||
|
||||
if (best->score) {
|
||||
|
|
Loading…
Reference in a new issue