Re: [PATCH 2/3] e1000e: Useset_memory_ro()/set_memory_rw() toprotect flash memory

From: Kyle McMartin
Date: Wed Sep 24 2008 - 13:54:19 EST


On Tue, Sep 23, 2008 at 03:45:54PM -0700, Jeff Kirsher wrote:
> +#ifdef _ASM_X86_CACHEFLUSH_H
> + set_memory_rw((unsigned long)hw->flash_address,
> + hw->flash_len >> PAGE_SHIFT);
> +#endif
> writew(val, hw->flash_address + reg);
> +#ifdef _ASM_X86_CACHEFLUSH_H
> + set_memory_ro((unsigned long)hw->flash_address,
> + hw->flash_len >> PAGE_SHIFT);
> +#endif
> }

Hi Jeff,

You're making the entire read-only mapping read-write for the single
writel call... why not just limit it to the page that the writel is
targetting?

regards, Kyle
[sorry, I've only been following this at a glance, but it's somewhat
important for rawhide... does someone have a way to reproduce this at
whim? Has someone tried catching it using an IOMMU on one of the newer
Intel boxes, if it is a DMA going awry?]
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/