Go to file
Lv Yunlong 115726c5d3 habanalabs/gaudi: Fix a potential use after free in gaudi_memset_device_memory
Our code analyzer reported a uaf.

In gaudi_memset_device_memory, cb is get via hl_cb_kernel_create()
with 2 refcount.
If hl_cs_allocate_job() failed, the execution runs into release_cb
branch. One ref of cb is dropped by hl_cb_put(cb) and could be freed
if other thread also drops one ref. Then cb is used by cb->id later,
which is a potential uaf.

My patch add a variable 'id' to accept the value of cb->id before the
hl_cb_put(cb) is called, to avoid the potential uaf.

Fixes: 423815bf02 ("habanalabs/gaudi: remove PCI access to SM block")
Signed-off-by: Lv Yunlong <lyl2019@mail.ustc.edu.cn>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
2021-05-08 11:36:07 +03:00
arch Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
block include: remove pagemap.h from blkdev.h 2021-05-06 19:24:11 -07:00
certs integrity-v5.13 2021-05-01 15:32:18 -07:00
crypto for-5.13/drivers-2021-04-27 2021-04-28 14:39:37 -07:00
Documentation Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
drivers habanalabs/gaudi: Fix a potential use after free in gaudi_memset_device_memory 2021-05-08 11:36:07 +03:00
fs Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
include habanalabs: expose ASIC specific PLL index 2021-05-08 11:21:57 +03:00
init Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
ipc ipc/sem.c: spelling fix 2021-05-07 00:26:34 -07:00
kernel Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
lib Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
LICENSES LICENSES: Add the CC-BY-4.0 license 2020-12-08 10:33:27 -07:00
mm mm: fix typos in comments 2021-05-07 00:26:35 -07:00
net Notable items here are a series to take advantage of David Howells' 2021-05-06 10:27:02 -07:00
samples Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
scripts Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
security Simple code cleanup 2021-05-05 12:08:06 -07:00
sound sound updates for 5.13 2021-04-30 12:48:14 -07:00
tools Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
usr Kbuild updates for v5.12 2021-02-25 10:17:31 -08:00
virt KVM: Boost vCPU candidate in user mode which is delivering interrupt 2021-04-21 12:20:03 -04:00
.clang-format cxl for 5.12 2021-02-24 09:38:36 -08:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.get_maintainer.ignore Opt out of scripts/get_maintainer.pl 2019-05-16 10:53:40 -07:00
.gitattributes .gitattributes: use 'dts' diff driver for dts files 2019-12-04 19:44:11 -08:00
.gitignore kbuild: generate Module.symvers only when vmlinux exists 2021-04-25 05:17:02 +09:00
.mailmap It's been a relatively busy cycle in docsland, though more than usually 2021-04-26 13:22:43 -07:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS - Core Frameworks 2021-04-28 15:59:13 -07:00
Kbuild kbuild: rename hostprogs-y/always to hostprogs/always-y 2020-02-04 01:53:07 +09:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
Makefile integrity-v5.13 2021-05-01 15:32:18 -07:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.