~dannf/ubuntu/+source/linux/+git/linux:peer-direct-groovy

Last commit made on 2020-11-05
Get this branch:
git clone -b peer-direct-groovy https://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux
Only dann frazier can upload to this branch. If you are dann frazier please log in for upload directions.

Branch merges

Branch information

Name:
peer-direct-groovy
Repository:
lp:~dannf/ubuntu/+source/linux/+git/linux

Recent commits

c4bbf90... by Feras Daoud <email address hidden>

UBUNTU: SAUCE: RDMA/core: Increment num_free_callbacks for each peer invalidate

Issue: 2323446
Change-Id: I0aca0040b53e9ed14868b524ba2a24ed5b7f9881
Signed-off-by: Feras Daoud <email address hidden>

c617f36... by Yishai Hadas <email address hidden>

UBUNTU: SAUCE: IB/umem: Fix the Peer flow to handle pinned pages properly

The pinned pages counter wasn't incremented upon ib_peer_umem_get() but
was decremented as part of ib_peer_umem_release().

This leads to a negative value in 'owning_mm->pinned_vm' and by that
time to a failure in any try to register memory as of the lock limit.

Fix the Peer flow to count the pinned pages as done for the host memory.

issue: 2298308
Change-Id: I3e4755fb47fed3a48f7491240c96d3b13bc0e9c3
Signed-off-by: Yishai Hadas <email address hidden>

8e980d9... by Yishai Hadas <email address hidden>

UBUNTU: SAUCE: IB/mlx5: Use peer client page_shift

Use peer client page_shift as part of mlx5_ib_cont_pages(), this was
part of OFED 5.0 and solved the break that was introduced when working
with nv_peer_mem with 5.1.

Issue: 2264799
Change-Id: I01ad40ccbf29a2bb4b31313215f3a142608e0acb
Signed-off-by: Yishai Hadas <email address hidden>

a5b77b5... by Leon Romanovsky

UBUNTU: SAUCE: fixup! RDMA/core: Introduce peer memory interface

Signed-off-by: Leon Romanovsky <email address hidden>

6349cdf... by dann frazier

UBUNTU: SAUCE: RDMA/core: Introduce peer memory interface

The peer_memory_client scheme allows a driver to register with the ib_umem
system that it has the ability to understand user virtual address ranges
that are not compatible with get_user_pages(). For instance VMAs created
with io_remap_pfn_range(), or other driver special VMA.

For ranges the interface understands it can provide a DMA mapped sg_table
for use by the ib_umem, allowing user virtual ranges that cannot be
supported by get_user_pages() to be used as umems for RDMA.

This is designed to preserve the kABI, no functions or structures are
changed, only new symbols are added:

 ib_register_peer_memory_client
 ib_unregister_peer_memory_client
 ib_umem_activate_invalidation_notifier
 ib_umem_get_peer

And a bitfield in struct ib_umem uses more bits.

This interface is compatible with the two out of tree GPU drivers:
 https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/blob/master/drivers/gpu/drm/amd/amdkfd/kfd_peerdirect.c
 https://github.com/Mellanox/nv_peer_memory/blob/master/nv_peer_mem.c

NOTES (remote before sending):
 - The exact locking semantics from the GPU side during invalidation
   are confusing. I've made it sane but perhaps this will hit locking
   problems. Test with lockdep and test invalidation.

   The main difference here is that get_pages and dma_map are called
   from a context that will block progress of invalidation.

   The old design blocked progress of invalidation using a completion for
   unmap and unpin, so those should be proven safe now.

   Since the old design used a completion it doesn't work with lockdep,
   even though it has basically the same blocking semantics.

 - The API exported to the GPU side is crufty and makes very little
   sense. Functionally it should be the same still, but many useless
   things were dropped off

 - I rewrote all the comments please check spelling/grammar

 - Compile tested only

Change-Id: I1d77f52d56aec2c79e6b9d9ec1096e83a95155cd
Signed-off-by: Yishai Hadas <email address hidden>
Signed-off-by: Feras Daoud <email address hidden>
Signed-off-by: Jason Gunthorpe <email address hidden>
[dannf: Forwarded ported to v5.8 by adjusting ib_umem_get() API and
 replacing mr.c:unreg_umr() call w/ mlx5_mr_cache_invalidate()]

cc1849b... by Or Cohen <email address hidden>

net/packet: fix overflow in tpacket_rcv

Using tp_reserve to calculate netoff can overflow as
tp_reserve is unsigned int and netoff is unsigned short.

This may lead to macoff receving a smaller value then
sizeof(struct virtio_net_hdr), and if po->has_vnet_hdr
is set, an out-of-bounds write will occur when
calling virtio_net_hdr_from_skb.

The bug is fixed by converting netoff to unsigned int
and checking if it exceeds USHRT_MAX.

This addresses CVE-2020-14386

Fixes: 8913336a7e8d ("packet: add PACKET_RESERVE sockopt")
Signed-off-by: Or Cohen <email address hidden>
Signed-off-by: Eric Dumazet <email address hidden>
Signed-off-by: Linus Torvalds <email address hidden>
(cherry picked from commit acf69c946233259ab4d64f8869d4037a198c7f06)
CVE-2020-14386
Signed-off-by: Seth Forshee <email address hidden>

dae5fe3... by Seth Forshee

UBUNTU: SAUCE: Revert "UBUNTU: SAUCE: export __get_vm_area_caller() and map_kernel_range()"

This reverts commit a00a7b096c1a6d85c765f287596661fe10973bd3.
Updates to virtualbox have made this commit unnecessary.

Signed-off-by: Seth Forshee <email address hidden>

e994958... by Seth Forshee

UBUNTU: [Config] Re-enable UEFI signing for arm64

Signed-off-by: Seth Forshee <email address hidden>

bf1c758... by Andy Whitcroft

dkms-build: apt-cache policy elides username:password information

We rely on having the full URL of the build PPAs sources entries in
order to download local packages. apt-cache policy elides all of the
username:password components switch to direct access to the sources urls.

BugLink: https://bugs.launchpad.net/bugs/1883874
Signed-off-by: Andy Whitcroft <email address hidden>
Signed-off-by: Kleber Sacilotto de Souza <email address hidden>

ec720d8... by Greg Kroah-Hartman <email address hidden>

Linux 5.8.5

BugLink: https://bugs.launchpad.net/bugs/1893237

Tested-by: Jon Hunter <email address hidden>
Tested-by: Guenter Roeck <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>