WSL2-Linux-Kernel/drivers
Waiman Long 453431a549 mm, treewide: rename kzfree() to kfree_sensitive()
As said by Linus:

  A symmetric naming is only helpful if it implies symmetries in use.
  Otherwise it's actively misleading.

  In "kzalloc()", the z is meaningful and an important part of what the
  caller wants.

  In "kzfree()", the z is actively detrimental, because maybe in the
  future we really _might_ want to use that "memfill(0xdeadbeef)" or
  something. The "zero" part of the interface isn't even _relevant_.

The main reason that kzfree() exists is to clear sensitive information
that should not be leaked to other future users of the same memory
objects.

Rename kzfree() to kfree_sensitive() to follow the example of the recently
added kvfree_sensitive() and make the intention of the API more explicit.
In addition, memzero_explicit() is used to clear the memory to make sure
that it won't get optimized away by the compiler.

The renaming is done by using the command sequence:

  git grep -w --name-only kzfree |\
  xargs sed -i 's/kzfree/kfree_sensitive/'

followed by some editing of the kfree_sensitive() kerneldoc and adding
a kzfree backward compatibility macro in slab.h.

[akpm@linux-foundation.org: fs/crypto/inline_crypt.c needs linux/slab.h]
[akpm@linux-foundation.org: fix fs/crypto/inline_crypt.c some more]

Suggested-by: Joe Perches <joe@perches.com>
Signed-off-by: Waiman Long <longman@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: David Howells <dhowells@redhat.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Cc: James Morris <jmorris@namei.org>
Cc: "Serge E. Hallyn" <serge@hallyn.com>
Cc: Joe Perches <joe@perches.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Cc: "Jason A . Donenfeld" <Jason@zx2c4.com>
Link: http://lkml.kernel.org/r/20200616154311.12314-3-longman@redhat.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-08-07 11:33:22 -07:00
..
accessibility TTY/Serial patches for 5.9-rc1 2020-08-06 14:56:11 -07:00
acpi This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
amba
android
ata
atm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
auxdisplay
base Devicetree updates for v5.9: 2020-08-05 13:02:45 -07:00
bcma bcma: gpio: Use irqchip template 2020-08-02 18:26:51 +03:00
block This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
bluetooth Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next 2020-07-31 15:11:52 -07:00
bus MIPS upates for v5.9 2020-08-06 10:54:07 -07:00
cdrom
char drm next for 5.9-rc1 2020-08-05 19:50:06 -07:00
clk Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
clocksource Time, timers and related driver updates: 2020-08-04 18:17:37 -07:00
connector
counter
cpufreq Power management updates for 5.9-rc1 2020-08-03 20:28:08 -07:00
cpuidle
crypto mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
dax
dca
devfreq
dio
dma drm next for 5.9-rc1 2020-08-05 19:50:06 -07:00
dma-buf
edac 17ed808ad2 ("EDAC: Fix reference count leaks") 2020-08-03 20:01:00 -07:00
eisa
extcon
firewire
firmware This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
fpga
fsi
gnss
gpio This is the bulk of GPIO changes for the v5.9 kernel cycle: 2020-08-05 12:56:27 -07:00
gpu sound updates for 5.9 2020-08-06 14:27:31 -07:00
greybus
hid
hsi
hv hyperv-next for 5.9 2020-08-06 09:26:10 -07:00
hwmon hwmon updates for v5.9 2020-08-05 13:13:57 -07:00
hwspinlock
hwtracing
i2c Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
i3c
ide
idle Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
iio
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
input Staging/IIO driver patches for 5.9-rc1 2020-08-06 14:36:13 -07:00
interconnect Char/Misc driver patches for 5.9-rc1 2020-08-05 11:43:47 -07:00
iommu dma-mapping updates for 5.9 2020-08-04 17:29:57 -07:00
ipack
irqchip The usual boring updates from the interrupt subsystem: 2020-08-04 18:11:58 -07:00
isdn
leds LEDs changes for 5.9-rc1. 2020-08-05 19:24:27 -07:00
lightnvm
macintosh
mailbox
mcb
md mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
media This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
memory MIPS upates for v5.9 2020-08-06 10:54:07 -07:00
memstick MMC core: 2020-08-05 13:23:24 -07:00
message
mfd
misc mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
mmc This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
most
mtd Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
mux
net mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
nfc
ntb
nubus
nvdimm for-5.9/block-20200802 2020-08-03 11:57:03 -07:00
nvme for-5.9/block-merge-20200804 2020-08-05 11:12:34 -07:00
nvmem
of MIPS upates for v5.9 2020-08-06 10:54:07 -07:00
opp Merge branches 'pm-em' and 'pm-core' 2020-08-03 13:11:39 +02:00
oprofile
parisc
parport
pci Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
pcmcia
perf arm64 and cross-arch updates for 5.9: 2020-08-03 14:11:08 -07:00
phy
pinctrl This is the bulk of GPIO changes for the v5.9 kernel cycle: 2020-08-05 12:56:27 -07:00
platform Staging/IIO driver patches for 5.9-rc1 2020-08-06 14:36:13 -07:00
pnp
power
powercap This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
pps
ps3
ptp ptp: only allow phase values lower than 1 period 2020-08-05 12:06:44 -07:00
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390 mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
sbus
scsi hyperv-next for 5.9 2020-08-06 09:26:10 -07:00
sfi
sh
siox
slimbus
soc ARM: SoC driver updates for v5.9 2020-08-03 19:30:59 -07:00
soundwire
spi sound updates for 5.9 2020-08-06 14:27:31 -07:00
spmi
ssb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
staging mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
target mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
tc
tee
thermal This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
thunderbolt
tty TTY/Serial patches for 5.9-rc1 2020-08-06 14:56:11 -07:00
uio
usb TTY/Serial patches for 5.9-rc1 2020-08-06 14:56:11 -07:00
vdpa
vfio
vhost Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
video TTY/Serial patches for 5.9-rc1 2020-08-06 14:56:11 -07:00
virt
virtio Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
visorbus
vlynq
vme
w1
watchdog
xen
zorro
Kconfig
Makefile