lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 7 Oct 2020 12:33:06 -0700 From: Dan Williams <dan.j.williams@...el.com> To: Daniel Vetter <daniel.vetter@...ll.ch> Cc: DRI Development <dri-devel@...ts.freedesktop.org>, LKML <linux-kernel@...r.kernel.org>, KVM list <kvm@...r.kernel.org>, Linux MM <linux-mm@...ck.org>, Linux ARM <linux-arm-kernel@...ts.infradead.org>, linux-samsung-soc <linux-samsung-soc@...r.kernel.org>, "Linux-media@...r.kernel.org" <linux-media@...r.kernel.org>, linux-s390 <linux-s390@...r.kernel.org>, Daniel Vetter <daniel.vetter@...el.com>, Jason Gunthorpe <jgg@...pe.ca>, Kees Cook <keescook@...omium.org>, Andrew Morton <akpm@...ux-foundation.org>, John Hubbard <jhubbard@...dia.com>, Jérôme Glisse <jglisse@...hat.com>, Jan Kara <jack@...e.cz>, Bjorn Helgaas <bhelgaas@...gle.com>, linux-pci@...r.kernel.org Subject: Re: [PATCH 10/13] PCI: revoke mappings like devmem On Wed, Oct 7, 2020 at 11:11 AM Daniel Vetter <daniel.vetter@...ll.ch> wrote: > > Since 3234ac664a87 ("/dev/mem: Revoke mappings when a driver claims > the region") /dev/kmem zaps ptes when the kernel requests exclusive > acccess to an iomem region. And with CONFIG_IO_STRICT_DEVMEM, this is > the default for all driver uses. > > Except there's two more ways to access pci bars: sysfs and proc mmap > support. Let's plug that hole. Ooh, yes, lets. > > For revoke_devmem() to work we need to link our vma into the same > address_space, with consistent vma->vm_pgoff. ->pgoff is already > adjusted, because that's how (io_)remap_pfn_range works, but for the > mapping we need to adjust vma->vm_file->f_mapping. Usually that's done > at ->open time, but that's a bit tricky here with all the entry points > and arch code. So instead create a fake file and adjust vma->vm_file. I don't think you want to share the devmem inode for this, this should be based off the sysfs inode which I believe there is already only one instance per resource. In contrast /dev/mem can have multiple inodes because anyone can just mknod a new character device file, the same problem does not exist for sysfs.
Powered by blists - more mailing lists