linux/include
Yishai Hadas 1c77483e4c IB: Improve uverbs_cleanup_ucontext algorithm
Improve uverbs_cleanup_ucontext algorithm to work properly when the
topology graph of the objects cannot be determined at compile time.  This
is the case with objects created via the devx interface in mlx5.

Typically uverbs objects must be created in a strict topologically sorted
order, so that LIFO ordering will generally cause them to be freed
properly. There are only a few cases (eg memory windows) where objects can
point to things out of the strict LIFO order.

Instead of using an explicit ordering scheme where the HW destroy is not
allowed to fail, go over the list multiple times and allow the destroy
function to fail. If progress halts then a final, desperate, cleanup is
done before leaking the memory. This indicates a driver bug.

Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2018-06-29 14:35:46 -06:00
..
acpi Additional ACPI updates for 4.18-rc1 2018-06-13 07:32:10 -07:00
asm-generic int-ll64.h: define u{8,16,32,64} and s{8,16,32,64} based on uapi header 2018-06-07 17:34:38 -07:00
clocksource
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2018-06-05 15:51:21 -07:00
drm drm for v4.18-rc1 2018-06-06 08:16:33 -07:00
dt-bindings ARM: SoC driver updates 2018-06-11 18:15:22 -07:00
keys docs: Fix some broken references 2018-06-15 18:10:01 -03:00
kvm
linux Merge branch 'icrc-counter' into rdma.git for-next 2018-06-22 08:53:27 -06:00
math-emu
media media: v4l2-core: push taking ioctl mutex down to ioctl handler 2018-05-28 16:31:44 -04:00
memory
misc ocxl: Expose the thread_id needed for wait on POWER9 2018-06-03 20:40:32 +10:00
net sctp: define sctp_packet_gso_append to build GSO frames 2018-06-14 10:25:53 -07:00
pcmcia
ras
rdma IB: Improve uverbs_cleanup_ucontext algorithm 2018-06-29 14:35:46 -06:00
scsi SCSI misc on 20180610 2018-06-10 13:01:12 -07:00
soc ARM: SoC: late updates 2018-06-11 18:19:45 -07:00
sound sound updates for 4.18 2018-06-06 09:08:38 -07:00
target
trace NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
uapi IB/mlx5: Add DEVX query EQN support 2018-06-19 10:53:02 -06:00
video fbdev changes for v4.18: 2018-06-17 05:00:24 +09:00
xen docs: Fix some broken references 2018-06-15 18:10:01 -03:00