Go to file
Ignat Korchagin 85bc736a18 crypto: akcipher - default implementation for setting a private key
[ Upstream commit bc155c6c18 ]

Changes from v1:
  * removed the default implementation from set_pub_key: it is assumed that
    an implementation must always have this callback defined as there are
    no use case for an algorithm, which doesn't need a public key

Many akcipher implementations (like ECDSA) support only signature
verifications, so they don't have all callbacks defined.

Commit 78a0324f4a ("crypto: akcipher - default implementations for
request callbacks") introduced default callbacks for sign/verify
operations, which just return an error code.

However, these are not enough, because before calling sign the caller would
likely call set_priv_key first on the instantiated transform (as the
in-kernel testmgr does). This function does not have a default stub, so the
kernel crashes, when trying to set a private key on an akcipher, which
doesn't support signature generation.

I've noticed this, when trying to add a KAT vector for ECDSA signature to
the testmgr.

With this patch the testmgr returns an error in dmesg (as it should)
instead of crashing the kernel NULL ptr dereference.

Fixes: 78a0324f4a ("crypto: akcipher - default implementations for request callbacks")
Signed-off-by: Ignat Korchagin <ignat@cloudflare.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-10-24 09:58:05 +02:00
Documentation iio: ABI: Fix wrong format of differential capacitance channel ABI. 2022-10-24 09:57:47 +02:00
LICENSES LICENSES/LGPL-2.1: Add LGPL-2.1-or-later as valid identifiers 2021-12-16 14:33:10 +01:00
arch powerpc/pseries/vas: Pass hw_cpu_id to node associativity HCALL 2022-10-24 09:58:04 +02:00
block blk-wbt: call rq_qos_add() after wb_normal is initialized 2022-10-24 09:56:59 +02:00
certs certs: make system keyring depend on built-in x509 parser 2022-09-28 11:32:27 +02:00
crypto crypto: akcipher - default implementation for setting a private key 2022-10-24 09:58:05 +02:00
drivers iommu/omap: Fix buffer overflow in debugfs 2022-10-24 09:58:05 +02:00
fs iomap: iomap: fix memory corruption when recording errors during writeback 2022-10-24 09:57:46 +02:00
include scsi: iscsi: Add recv workqueue helpers 2022-10-24 09:57:58 +02:00
init arm64: fix rodata=full 2022-08-31 17:18:19 +02:00
io_uring io_uring: correct pinned_vm accounting 2022-10-24 09:56:40 +02:00
ipc ipc: mqueue: fix possible memory leak in init_mqueue_fs() 2022-10-24 09:58:02 +02:00
kernel cgroup/cpuset: Enable update_tasks_cpumask() on top_cpuset 2022-10-24 09:58:05 +02:00
lib dyndbg: drop EXPORTed dynamic_debug_exec_queries 2022-10-24 09:57:52 +02:00
mm mm/mmap: undo ->mmap() when arch_validate_flags() fails 2022-10-24 09:56:48 +02:00
net once: add DO_ONCE_SLOW() for sleepable contexts 2022-10-24 09:57:16 +02:00
samples sample: bpf: xdp_router_ipv4: Allow the kernel to send arp requests 2022-08-17 15:14:25 +02:00
scripts selinux: use "grep -E" instead of "egrep" 2022-10-24 09:57:01 +02:00
security ima: fix blocking of security.ima xattrs of unsupported algorithms 2022-10-24 09:57:01 +02:00
sound ALSA: hda/hdmi: Don't skip notification handling during PM operation 2022-10-24 09:57:23 +02:00
tools selftests/xsk: Avoid use-after-free on ctx 2022-10-24 09:57:08 +02:00
usr Not a lot of material this cycle. Many singleton patches against various 2022-05-27 11:22:03 -07:00
virt KVM: Unconditionally get a ref to /dev/kvm module when creating a VM 2022-08-25 11:45:05 +02:00
.clang-format clang-format: Fix space after for_each macros 2022-05-20 19:27:16 +02: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: split the second line of *.mod into *.usyms 2022-05-08 03:16:59 +09:00
.mailmap ARM: SoC fixes for 5.19, part 4 2022-07-27 09:43:07 -07:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: mark ARM/PALM TREO SUPPORT orphan 2022-07-07 15:17:00 +02: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 io_uring: move to separate directory 2022-08-17 15:14:20 +02:00
Makefile Linux 5.19.16 2022-10-15 08:01:46 +02:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

README

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.