mm: new primitive kvmemdup()
authorHao Sun <sunhao.th@gmail.com>
Wed, 21 Dec 2022 14:42:45 +0000 (22:42 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 19 Jan 2023 01:12:47 +0000 (17:12 -0800)
commit0b7b8704ddcee372099a2bc6781db6ab273a85d5
treec1c8de77ddf39a5db49b97611c4b7f019aa81990
parent5a9e34747c9f731bbb6b7fd7521c4fec0d840593
mm: new primitive kvmemdup()

Similar to kmemdup(), but support large amount of bytes with kvmalloc()
and does *not* guarantee that the result will be physically contiguous.
Use only in cases where kvmalloc() is needed and free it with kvfree().
Also adapt policy_unpack.c in case someone bisect into this.

Link: https://lkml.kernel.org/r/20221221144245.27164-1-sunhao.th@gmail.com
Signed-off-by: Hao Sun <sunhao.th@gmail.com>
Suggested-by: Daniel Borkmann <daniel@iogearbox.net>
Cc: Nick Terrell <terrelln@fb.com>
Cc: John Johansen <john.johansen@canonical.com>
Cc: Paul Moore <paul@paul-moore.com>
Cc: James Morris <jmorris@namei.org>
Cc: "Serge E. Hallyn" <serge@hallyn.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/string.h
mm/util.c
security/apparmor/policy_unpack.c