linux/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 drivers: android: Fix the SPDX comment style 2020-07-29 17:05:44 +02:00
ata treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
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 cdrom: remove the unused cdrom_media_changed function 2020-07-08 16:20:01 -06:00
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 Merge branch 'ib-5.8-tcb' into HEAD 2020-07-22 14:37:23 +01:00
cpufreq Power management updates for 5.9-rc1 2020-08-03 20:28:08 -07:00
cpuidle cpuidle: change enter_s2idle() prototype 2020-07-29 18:38:30 +02:00
crypto mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
dax block: remove the bd_queue field from struct block_device 2020-07-01 08:08:20 -06:00
dca
devfreq PM / devfreq: Fix the wrong end with semicolon 2020-07-30 17:22:58 +09:00
dio
dma drm next for 5.9-rc1 2020-08-05 19:50:06 -07:00
dma-buf Linux 5.8-rc6 2020-07-24 08:48:05 +10:00
edac 17ed808ad2 ("EDAC: Fix reference count leaks") 2020-08-03 20:01:00 -07:00
eisa
extcon
firewire treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
firmware This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
fpga Linux 5.8-rc7 2020-07-27 11:49:37 +02:00
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 greybus: Use fallthrough pseudo-keyword 2020-07-29 16:58:08 +02:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid into master 2020-07-17 09:43:13 -07:00
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 coresight: etm4x: Fix save/restore during cpu idle 2020-07-21 15:48:40 +02:00
i2c Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
i3c
ide treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
idle Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
iio iio: imu: st_lsm6dsx: reset hw ts after resume 2020-07-22 14:55:43 +01:00
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 mISDN: Don't try to print a sockptr_t from debug logging code. 2020-07-24 16:36:13 -07:00
leds LEDs changes for 5.9-rc1. 2020-08-05 19:24:27 -07:00
lightnvm block: rename generic_make_request to submit_bio_noacct 2020-07-01 07:27:24 -06:00
macintosh dma-mapping: make support for dma ops optional 2020-07-19 09:29:23 +02:00
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 irqdomain/treewide: Free firmware node after domain removal 2020-07-23 00:08:52 +02:00
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 drivers: most: add USB adapter driver 2020-07-31 14:38:12 +02:00
mtd Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
mux mux: adgs1408: Add mod_devicetable.h and remove of_match_ptr 2020-06-29 18:39:44 +02:00
net mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
nfc nfc: s3fwrn5: add missing release on skb in s3fwrn5_recv_frame 2020-07-20 18:31:33 -07:00
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 nvmem: qcom-spmi-sdam: Enable multiple devices 2020-07-29 17:12:09 +02:00
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 phy for 5.9 2020-07-23 09:52:10 +02:00
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 pwm: remove pwm-puv3 driver 2020-07-01 12:10:51 +03:00
rapidio
ras
regulator Merge remote-tracking branch 'regulator/for-5.9' into regulator-next 2020-07-30 23:27:08 +01:00
remoteproc
reset SOC: TI Keystone driver update for v5.9 2020-07-27 14:24:51 +02:00
rpmsg
rtc rtc: remove fb-puv3 driver 2020-07-01 12:10:59 +03:00
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 soundwire updates for 5.9-rc1 2020-07-23 09:12:15 +02:00
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 Enable multi-stage OP-TEE bus enumeration 2020-07-13 15:11:44 +02:00
thermal This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
thunderbolt thunderbolt: Fix old style declaration warning 2020-07-02 14:50:11 +03:00
tty TTY/Serial patches for 5.9-rc1 2020-08-06 14:56:11 -07:00
uio Merge branch 'char-misc-linus' into 'char-misc-next' 2020-07-10 13:42:33 +02:00
usb TTY/Serial patches for 5.9-rc1 2020-08-06 14:56:11 -07:00
vdpa dma-mapping: make support for dma ops optional 2020-07-19 09:29:23 +02:00
vfio vfio/pci: fix racy on error and request eventfd ctx 2020-07-17 08:28:40 -06:00
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 virt: vbox: Fix some comments which talk about the "session spinlock" 2020-07-10 13:45:32 +02:00
virtio Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
visorbus
vlynq
vme
w1
watchdog
xen dma-mapping: make support for dma ops optional 2020-07-19 09:29:23 +02:00
zorro
Kconfig
Makefile