Re: [Linaro-mm-sig] [PATCH 4/8] dma-buf: add peer2peer flag

2018-04-25 Thread Dan Williams
On Wed, Apr 25, 2018 at 10:44 AM, Alex Deucher wrote: > On Wed, Apr 25, 2018 at 2:41 AM, Christoph Hellwig wrote: >> On Wed, Apr 25, 2018 at 02:24:36AM -0400, Alex Deucher wrote: >>> > It has a non-coherent transaction mode (which the chipset can opt to >>> > not implement and still flush), to ma

Re: [PATCH v2 00/19] prevent bounds-check bypass via speculative execution

2018-01-18 Thread Dan Williams
On Thu, Jan 18, 2018 at 5:18 AM, Will Deacon wrote: > Hi Dan, Linus, > > On Thu, Jan 11, 2018 at 05:41:08PM -0800, Dan Williams wrote: >> On Thu, Jan 11, 2018 at 5:19 PM, Linus Torvalds >> wrote: >> > On Thu, Jan 11, 2018 at 4:46 PM, Dan Williams >&

Re: [PATCH v2 00/19] prevent bounds-check bypass via speculative execution

2018-01-11 Thread Dan Williams
On Thu, Jan 11, 2018 at 5:19 PM, Linus Torvalds wrote: > On Thu, Jan 11, 2018 at 4:46 PM, Dan Williams > wrote: >> >> This series incorporates Mark Rutland's latest ARM changes and adds >> the x86 specific implementation of 'ifence_array_ptr'. That ifence

[PATCH v2 00/19] prevent bounds-check bypass via speculative execution

2018-01-11 Thread Dan Williams
git branch here: git://git.kernel.org/pub/scm/linux/kernel/git/djbw/linux nospec-v2 Note that the BPF fix for Spectre variant1 is merged in the bpf.git tree [4], and is not included in this branch. [2]: https://googleprojectzero.blogspot.co.uk/2018/01/reading-privileged-memor

[PATCH v2 14/19] [media] uvcvideo: prevent bounds-check bypass via speculative execution

2018-01-11 Thread Dan Williams
Cc: linux-media@vger.kernel.org Reviewed-by: Laurent Pinchart Signed-off-by: Elena Reshetova Signed-off-by: Dan Williams --- drivers/media/usb/uvc/uvc_v4l2.c |9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/u

Re: [PATCH 00/18] prevent bounds-check bypass via speculative execution

2018-01-11 Thread Dan Williams
On Thu, Jan 11, 2018 at 1:54 AM, Jiri Kosina wrote: > On Tue, 9 Jan 2018, Josh Poimboeuf wrote: > >> On Tue, Jan 09, 2018 at 11:44:05AM -0800, Dan Williams wrote: >> > On Tue, Jan 9, 2018 at 11:34 AM, Jiri Kosina wrote: >> > > On Fri, 5 Jan 2018, Dan William

Re: [PATCH 00/18] prevent bounds-check bypass via speculative execution

2018-01-09 Thread Dan Williams
On Tue, Jan 9, 2018 at 11:34 AM, Jiri Kosina wrote: > On Fri, 5 Jan 2018, Dan Williams wrote: > > [ ... snip ... ] >> Andi Kleen (1): >> x86, barrier: stop speculation for failed access_ok >> >> Dan Williams (13): >> x86: implement nospec_barri

Re: [PATCH 07/18] [media] uvcvideo: prevent bounds-check bypass via speculative execution

2018-01-08 Thread Dan Williams
On Mon, Jan 8, 2018 at 3:23 AM, Laurent Pinchart wrote: > Hi Dan, > > Thank you for the patch. > > On Saturday, 6 January 2018 03:10:32 EET Dan Williams wrote: >> Static analysis reports that 'index' may be a user controlled value that >> is used as a d

Re: [PATCH 07/18] [media] uvcvideo: prevent bounds-check bypass via speculative execution

2018-01-07 Thread Dan Williams
On Sun, Jan 7, 2018 at 1:09 AM, Greg KH wrote: [..] > Sorry for the confusion, no, I don't mean the "taint tracking", I mean > the generic pattern of "speculative out of bounds access" that we are > fixing here. > > Yes, as you mentioned before, there are tons of false-positives in the > tree, as

Re: [PATCH 00/18] prevent bounds-check bypass via speculative execution

2018-01-06 Thread Dan Williams
On Sat, Jan 6, 2018 at 11:37 AM, Dan Williams wrote: > On Fri, Jan 5, 2018 at 5:09 PM, Dan Williams wrote: >> Quoting Mark's original RFC: >> >> "Recently, Google Project Zero discovered several classes of attack >> against speculative execution. One

Re: [PATCH 00/18] prevent bounds-check bypass via speculative execution

2018-01-06 Thread Dan Williams
On Fri, Jan 5, 2018 at 5:09 PM, Dan Williams wrote: > Quoting Mark's original RFC: > > "Recently, Google Project Zero discovered several classes of attack > against speculative execution. One of these, known as variant-1, allows > explicit bounds checks to be bypassed und

Re: [PATCH 07/18] [media] uvcvideo: prevent bounds-check bypass via speculative execution

2018-01-06 Thread Dan Williams
On Sat, Jan 6, 2018 at 1:40 AM, Greg KH wrote: > On Sat, Jan 06, 2018 at 10:09:07AM +0100, Greg KH wrote: >> On Fri, Jan 05, 2018 at 05:10:32PM -0800, Dan Williams wrote: >> > Static analysis reports that 'index' may be a user controlled value that >> > is u

Re: [PATCH 00/18] prevent bounds-check bypass via speculative execution

2018-01-05 Thread Dan Williams
On Fri, Jan 5, 2018 at 6:22 PM, Eric W. Biederman wrote: > Dan Williams writes: > >> Quoting Mark's original RFC: >> >> "Recently, Google Project Zero discovered several classes of attack >> against speculative execution. One of these, known as variant-1

[PATCH 07/18] [media] uvcvideo: prevent bounds-check bypass via speculative execution

2018-01-05 Thread Dan Williams
ream that could issue reads based on an invalid value of 'pin'. Based on an original patch by Elena Reshetova. Cc: Laurent Pinchart Cc: Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org Signed-off-by: Elena Reshetova Signed-off-by: Dan Williams --- drivers/media/usb/uvc/u

[PATCH 00/18] prevent bounds-check bypass via speculative execution

2018-01-05 Thread Dan Williams
x86, barrier: stop speculation for failed access_ok Dan Williams (13): x86: implement nospec_barrier() [media] uvcvideo: prevent bounds-check bypass via speculative execution carl9170: prevent bounds-check bypass via speculative execution p54: prevent bounds-check bypass

[PATCH v3 0/4] introduce get_user_pages_longterm()

2017-11-29 Thread Dan Williams
rface does not suffer the same constraints since it does not support file space management operations like hole-punch. --- Dan Williams (4): mm: introduce get_user_pages_longterm mm: fail get_vaddr_frames() for filesystem-dax mappings [media] v4l2: disable filesystem-dax mapp

[PATCH v3 2/4] mm: fail get_vaddr_frames() for filesystem-dax mappings

2017-11-29 Thread Dan Williams
: Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org Cc: Mel Gorman Cc: Vlastimil Babka Cc: Andrew Morton Cc: Fixes: 3565fce3a659 ("mm, x86: get_user_pages() for dax mappings") Reviewed-by: Jan Kara Signed-off-by: Dan Williams --- mm/frame_vector.c | 12 1 file c

[PATCH v3 3/4] [media] v4l2: disable filesystem-dax mapping support

2017-11-29 Thread Dan Williams
. Reported-by: Jan Kara Cc: Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org Cc: Fixes: 3565fce3a659 ("mm, x86: get_user_pages() for dax mappings") Reviewed-by: Jan Kara Signed-off-by: Dan Williams --- drivers/media/v4l2-core/videobuf-dma-sg.c |5 +++-- 1 file changed, 3 insert

Re: [PATCH v2 2/4] mm: fail get_vaddr_frames() for filesystem-dax mappings

2017-11-27 Thread Dan Williams
On Mon, Nov 27, 2017 at 8:15 AM, Jan Kara wrote: > On Tue 14-11-17 11:56:39, Dan Williams wrote: >> Until there is a solution to the dma-to-dax vs truncate problem it is >> not safe to allow V4L2, Exynos, and other frame vector users to create >> long standing / irrevocable

[PATCH v2 2/4] mm: fail get_vaddr_frames() for filesystem-dax mappings

2017-11-14 Thread Dan Williams
: Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org Cc: Jan Kara Cc: Mel Gorman Cc: Vlastimil Babka Cc: Andrew Morton Cc: Fixes: 3565fce3a659 ("mm, x86: get_user_pages() for dax mappings") Signed-off-by: Dan Williams --- mm/frame_vector.c |4 1 file changed, 4 insertion

[PATCH v2 3/4] [media] v4l2: disable filesystem-dax mapping support

2017-11-14 Thread Dan Williams
. Reported-by: Jan Kara Cc: Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org Cc: Fixes: 3565fce3a659 ("mm, x86: get_user_pages() for dax mappings") Signed-off-by: Dan Williams --- drivers/media/v4l2-core/videobuf-dma-sg.c |5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) di

[PATCH v2 0/4] introduce get_user_pages_longterm()

2017-11-14 Thread Dan Williams
enabled. Warning: EXPERIMENTAL, use at your own risk" notification when mounting a filesystem in dax mode. It is worth noting the device-dax interface does not suffer the same constraints since it does not support file space management operations like hole-punch. --- Da

Re: [PATCH 3/3] [media] v4l2: disable filesystem-dax mapping support

2017-11-07 Thread Dan Williams
On Tue, Nov 7, 2017 at 12:39 PM, Mauro Carvalho Chehab wrote: > Em Tue, 7 Nov 2017 09:43:41 -0800 > Dan Williams escreveu: > >> On Tue, Nov 7, 2017 at 12:33 AM, Mauro Carvalho Chehab >> wrote: >> > Em Mon, 06 Nov 2017 16:57:28 -0800 >> > Dan Wil

Re: [PATCH 3/3] [media] v4l2: disable filesystem-dax mapping support

2017-11-07 Thread Dan Williams
On Tue, Nov 7, 2017 at 12:33 AM, Mauro Carvalho Chehab wrote: > Em Mon, 06 Nov 2017 16:57:28 -0800 > Dan Williams escreveu: > >> V4L2 memory registrations are incompatible with filesystem-dax that >> needs the ability to revoke dma access to a mapping at will, or >> ot

[PATCH 0/3] introduce get_user_pages_longterm()

2017-11-06 Thread Dan Williams
oting the device-dax interface does not suffer the same constraints since it does not support file space management operations like hole-punch. --- Dan Williams (3): mm: introduce get_user_pages_longterm IB/core: disable memory registration of fileystem-dax vmas [media] v4l2: disable fi

[PATCH 3/3] [media] v4l2: disable filesystem-dax mapping support

2017-11-06 Thread Dan Williams
. Reported-by: Jan Kara Cc: Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org Cc: Signed-off-by: Dan Williams --- drivers/media/v4l2-core/videobuf-dma-sg.c |5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/media/v4l2-core/videobuf-dma-sg.c b/drivers/media/v4l2

[PATCH 00/15] dax: prep work for fixing dax-dma vs truncate collisions

2017-10-31 Thread Dan Williams
vdimm tree with acks from mm, rdma, v4l2, ext4, and xfs. --- Dan Williams (15): dax: quiet bdev_dax_supported() mm, dax: introduce pfn_t_special() dax: require 'struct page' by default for filesystem dax brd: remove dax support dax: stop using VM_MIX

[PATCH 11/15] [media] v4l2: disable filesystem-dax mapping support

2017-10-31 Thread Dan Williams
. Reported-by: Jan Kara Cc: Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org Cc: Signed-off-by: Dan Williams --- drivers/media/v4l2-core/videobuf-dma-sg.c | 39 - 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/drivers/media/v4l2-core/videobuf-dma-sg.c

[RFC PATCH v8 0/2] mmap: safely enable support for new flags

2017-09-08 Thread Dan Williams
MAP_ flags. Please holler if anything does not look right. [2]: "Two more approaches to persistent-memory writes" https://lwn.net/Articles/731706/ --- Dan Williams (2): vfs: add flags parameter to all ->mmap() handlers mm: introduce MAP_SHARED_VALIDATE, a mechanism t

Re: Enabling peer to peer device transactions for PCIe devices

2016-12-06 Thread Dan Williams
On Tue, Dec 6, 2016 at 1:47 PM, Logan Gunthorpe wrote: > Hey, > >> Okay, so clearly this needs a kernel side NVMe specific allocator >> and locking so users don't step on each other.. > > Yup, ideally. That's why device dax isn't ideal for this application: it > doesn't provide any way to prevent

Re: Enabling peer to peer device transactions for PCIe devices

2016-12-05 Thread Dan Williams
On Mon, Dec 5, 2016 at 10:39 AM, Logan Gunthorpe wrote: > On 05/12/16 11:08 AM, Dan Williams wrote: >> >> I've already recommended that iopmem not be a block device and instead >> be a device-dax instance. I also don't think it should claim the PCI >> ID, ra

Re: Enabling peer to peer device transactions for PCIe devices

2016-12-05 Thread Dan Williams
On Mon, Dec 5, 2016 at 10:02 AM, Jason Gunthorpe wrote: > On Mon, Dec 05, 2016 at 09:40:38AM -0800, Dan Williams wrote: > >> > If it is kernel only with physical addresess we don't need a uAPI for >> > it, so I'm not sure #1 is at all related to iopmem. >>

Re: Enabling peer to peer device transactions for PCIe devices

2016-12-05 Thread Dan Williams
On Mon, Dec 5, 2016 at 9:18 AM, Jason Gunthorpe wrote: > On Sun, Dec 04, 2016 at 07:23:00AM -0600, Stephen Bates wrote: >> Hi All >> >> This has been a great thread (thanks to Alex for kicking it off) and I >> wanted to jump in and maybe try and put some summary around the >> discussion. I also wa

Re: Enabling peer to peer device transactions for PCIe devices

2016-11-23 Thread Dan Williams
On Wed, Nov 23, 2016 at 1:55 PM, Jason Gunthorpe wrote: > On Wed, Nov 23, 2016 at 02:11:29PM -0700, Logan Gunthorpe wrote: >> > As I said, there is no possible special handling. Standard IB hardware >> > does not support changing the DMA address once a MR is created. Forget >> > about doing that.

Re: Enabling peer to peer device transactions for PCIe devices

2016-11-23 Thread Dan Williams
On Wed, Nov 23, 2016 at 9:27 AM, Bart Van Assche wrote: > On 11/23/2016 09:13 AM, Logan Gunthorpe wrote: >> >> IMO any memory that has been registered for a P2P transaction should be >> locked from being evicted. So if there's a get_user_pages call it needs >> to be pinned until the put_page. The

Re: Enabling peer to peer device transactions for PCIe devices

2016-11-22 Thread Dan Williams
On Tue, Nov 22, 2016 at 1:03 PM, Daniel Vetter wrote: > On Tue, Nov 22, 2016 at 9:35 PM, Serguei Sagalovitch > wrote: >> >> On 2016-11-22 03:10 PM, Daniel Vetter wrote: >>> >>> On Tue, Nov 22, 2016 at 9:01 PM, Dan Williams >>> wrote: >&g

Re: Enabling peer to peer device transactions for PCIe devices

2016-11-22 Thread Dan Williams
On Tue, Nov 22, 2016 at 12:10 PM, Daniel Vetter wrote: > On Tue, Nov 22, 2016 at 9:01 PM, Dan Williams > wrote: >> On Tue, Nov 22, 2016 at 10:59 AM, Serguei Sagalovitch >> wrote: >>> I personally like "device-DAX" idea but my concerns are: >>> &

Re: Enabling peer to peer device transactions for PCIe devices

2016-11-22 Thread Dan Williams
On Tue, Nov 22, 2016 at 10:59 AM, Serguei Sagalovitch wrote: > Dan, > > I personally like "device-DAX" idea but my concerns are: > > - How well it will co-exists with the DRM infrastructure / implementations >in part dealing with CPU pointers? Inside the kernel a device-DAX range is "just m

Re: Enabling peer to peer device transactions for PCIe devices

2016-11-22 Thread Dan Williams
On Mon, Nov 21, 2016 at 12:36 PM, Deucher, Alexander wrote: > This is certainly not the first time this has been brought up, but I'd like > to try and get some consensus on the best way to move this forward. Allowing > devices to talk directly improves performance and reduces latency by avoidin

Re: [PATCH 29/31] parisc: handle page-less SG entries

2015-08-14 Thread Dan Williams
On Thu, Aug 13, 2015 at 9:11 PM, David Miller wrote: > From: James Bottomley >> At least on some PA architectures, you have to be very careful. >> Improperly managed, multiple aliases will cause the system to crash >> (actually a machine check in the cache chequerboard). For the most >> temperame

Re: [PATCH 29/31] parisc: handle page-less SG entries

2015-08-13 Thread Dan Williams
On Thu, Aug 13, 2015 at 7:31 AM, Christoph Hellwig wrote: > On Wed, Aug 12, 2015 at 09:01:02AM -0700, Linus Torvalds wrote: >> I'm assuming that anybody who wants to use the page-less >> scatter-gather lists always does so on memory that isn't actually >> virtually mapped at all, or only does so o

Re: [PATCH 2/2 v2] dma: ipu_idmac: do not lose valid received data in the irq handler

2011-02-14 Thread Dan Williams
On Mon, Feb 7, 2011 at 8:49 AM, Guennadi Liakhovetski wrote: > Ok, I've found the reason. Buffer number repeats, when there is an > underrun, which is happening in my tests, when frames are arriving quickly > enough, but the user-space is not fast enough to process them, e.g., when > it is writing

Re: [PATCH 2/2] dma: ipu_idmac: do not lose valid received data in the irq handler

2011-01-30 Thread Dan Williams
On Thu, Jan 27, 2011 at 12:22 AM, Anatolij Gustschin wrote: > Reading the commit message again I now realize that there is > a mistake. > > On Wed, 26 Jan 2011 09:49:49 +0100 > Anatolij Gustschin wrote: > ... >> received data. DMA_BUFx_RDY won't be set by the IPU, so waiting >> for this event in

Re: [PATCH] dma: fix ipu_idmac.c to not discard the last queued buffer

2009-05-12 Thread Dan Williams
On Tue, May 12, 2009 at 5:14 AM, Agustin wrote: > > On Tue, 12 May 2009, Guennadi Liakhovetski wrote: > >> >> This also fixes the case of a single queued buffer, for example, when taking >> a >> single frame snapshot with the mx3_camera driver. >> >> Reported-by: Agustin >> Signed-off-by: Guennad