don't change the end marker in sg_set_page()
authorjsg <jsg@openbsd.org>
Wed, 2 Aug 2023 11:03:17 +0000 (11:03 +0000)
committerjsg <jsg@openbsd.org>
Wed, 2 Aug 2023 11:03:17 +0000 (11:03 +0000)
Prompted by bad memory accesses seen with page flipping on alder lake
and raptor lake.  Starting xfce reliably caused problems.

reported by kn@ and yasuoka@, both confirmed this fixes it
ok kn@ kettenis@

sys/dev/pci/drm/include/linux/scatterlist.h

index b2c0cb5..614459e 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: scatterlist.h,v 1.5 2023/01/01 01:34:58 jsg Exp $     */
+/*     $OpenBSD: scatterlist.h,v 1.6 2023/08/02 11:03:17 jsg Exp $     */
 /*
  * Copyright (c) 2013, 2014, 2015 Mark Kettenis
  *
@@ -119,7 +119,6 @@ sg_set_page(struct scatterlist *sgl, struct vm_page *page,
        sgl->dma_address = page ? VM_PAGE_TO_PHYS(page) : 0;
        sgl->offset = offset;
        sgl->length = length;
-       sgl->end = false;
 }
 
 #define sg_dma_address(sg)     ((sg)->dma_address)