android_kernel_motorola_sm6375/include/linux
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Alexandru Ardelean 7cd787499d util_macros.h: fix/rework find_closest() macros
commit bc73b4186736341ab5cd2c199da82db6e1134e13 upstream.

A bug was found in the find_closest() (find_closest_descending() is also
affected after some testing), where for certain values with small
progressions, the rounding (done by averaging 2 values) causes an
incorrect index to be returned.  The rounding issues occur for
progressions of 1, 2 and 3.  It goes away when the progression/interval
between two values is 4 or larger.

It's particularly bad for progressions of 1.  For example if there's an
array of 'a = { 1, 2, 3 }', using 'find_closest(2, a ...)' would return 0
(the index of '1'), rather than returning 1 (the index of '2').  This
means that for exact values (with a progression of 1), find_closest() will
misbehave and return the index of the value smaller than the one we're
searching for.

For progressions of 2 and 3, the exact values are obtained correctly; but
values aren't approximated correctly (as one would expect).  Starting with
progressions of 4, all seems to be good (one gets what one would expect).

While one could argue that 'find_closest()' should not be used for arrays
with progressions of 1 (i.e. '{1, 2, 3, ...}', the macro should still
behave correctly.

The bug was found while testing the 'drivers/iio/adc/ad7606.c',
specifically the oversampling feature.
For reference, the oversampling values are listed as:
   static const unsigned int ad7606_oversampling_avail[7] = {
          1, 2, 4, 8, 16, 32, 64,
   };

When doing:
  1. $ echo 1 > /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     $ cat /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     1  # this is fine
  2. $ echo 2 > /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     $ cat /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     1  # this is wrong; 2 should be returned here
  3. $ echo 3 > /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     $ cat /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     2  # this is fine
  4. $ echo 4 > /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     $ cat /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     4  # this is fine
And from here-on, the values are as correct (one gets what one would
expect.)

While writing a kunit test for this bug, a peculiar issue was found for the
array in the 'drivers/hwmon/ina2xx.c' & 'drivers/iio/adc/ina2xx-adc.c'
drivers. While running the kunit test (for 'ina226_avg_tab' from these
drivers):
  * idx = find_closest([-1 to 2], ina226_avg_tab, ARRAY_SIZE(ina226_avg_tab));
    This returns idx == 0, so value.
  * idx = find_closest(3, ina226_avg_tab, ARRAY_SIZE(ina226_avg_tab));
    This returns idx == 0, value 1; and now one could argue whether 3 is
    closer to 4 or to 1. This quirk only appears for value '3' in this
    array, but it seems to be a another rounding issue.
  * And from 4 onwards the 'find_closest'() works fine (one gets what one
    would expect).

This change reworks the find_closest() macros to also check the difference
between the left and right elements when 'x'. If the distance to the right
is smaller (than the distance to the left), the index is incremented by 1.
This also makes redundant the need for using the DIV_ROUND_CLOSEST() macro.

In order to accommodate for any mix of negative + positive values, the
internal variables '__fc_x', '__fc_mid_x', '__fc_left' & '__fc_right' are
forced to 'long' type. This also addresses any potential bugs/issues with
'x' being of an unsigned type. In those situations any comparison between
signed & unsigned would be promoted to a comparison between 2 unsigned
numbers; this is especially annoying when '__fc_left' & '__fc_right'
underflow.

The find_closest_descending() macro was also reworked and duplicated from
the find_closest(), and it is being iterated in reverse. The main reason
for this is to get the same indices as 'find_closest()' (but in reverse).
The comparison for '__fc_right < __fc_left' favors going the array in
ascending order.
For example for array '{ 1024, 512, 256, 128, 64, 16, 4, 1 }' and x = 3, we
get:
    __fc_mid_x = 2
    __fc_left = -1
    __fc_right = -2
    Then '__fc_right < __fc_left' evaluates to true and '__fc_i++' becomes 7
    which is not quite incorrect, but 3 is closer to 4 than to 1.

This change has been validated with the kunit from the next patch.

Link: https://lkml.kernel.org/r/20241105145406.554365-1-aardelean@baylibre.com
Fixes: 95d119528b ("util_macros.h: add find_closest() macro")
Signed-off-by: Alexandru Ardelean <aardelean@baylibre.com>
Cc: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-14 19:44:43 +01:00
..
amba
avf
bcma
byteorder
can can: sja1000: fix size of OCR_MODE_MASK define 2022-12-19 12:24:16 +01:00
ceph
clk
crush
decompress
dma
dsa
extcon
firmware firmware: meson_sm: Rework driver as a proper platform driver 2024-04-13 12:51:26 +02:00
fpga
fsl
gpio
greybus
hsi
i3c
iio iio: st_sensors: Add a local lock for protecting odr 2022-06-14 18:11:59 +02:00
input
irqchip
isdn
lockd
mailbox mailbox: zynqmp: Fix typo in IPI documentation 2023-05-17 11:35:55 +02:00
mdio net: xgene: Move shared header file into include/linux 2023-02-06 07:52:47 +01:00
mfd mfd: t7l66xb: Drop platform disable callback 2022-08-25 11:18:04 +02:00
mlx4
mlx5 net/mlx5_core: Clean driver version and name 2023-11-28 16:50:17 +00:00
mmc mmc: core: add helpers mmc_regulator_enable/disable_vqmmc 2023-12-13 18:18:15 +01:00
mtd mtd: rawnand: protect access to rawnand devices while in suspend 2024-11-17 14:58:51 +01:00
mux
netfilter netfilter: ipset: fix performance regression in swap operation 2024-02-23 08:25:14 +01:00
netfilter_arp
netfilter_bridge netfilter: ebtables: reject blobs that don't provide all entry points 2022-09-05 10:27:41 +02:00
netfilter_ipv4
netfilter_ipv6
perf
phy
pinctrl
platform_data ASoC: Intel: Move soc_intel_is_foo() helpers to a generic header 2024-08-19 05:33:42 +02:00
power power: supply: bq27xxx: Fix poll_interval handling and races on remove 2023-05-30 12:44:10 +01:00
qed qed: Improve the stack space of filter_config() 2024-08-19 05:33:30 +02:00
raid
regulator
remoteproc
reset
rpmsg
rtc
sched kernel/fork: beware of __put_task_struct() calling context 2023-09-23 11:00:03 +02:00
soc firmware: ti_sci: Replace HTTP links with HTTPS ones 2023-11-20 10:30:12 +01:00
soundwire
spi spi: Fix deadlock when adding SPI controllers on SPI buses 2024-11-17 14:58:51 +01:00
ssb
sunrpc SUNRPC: Replace internal use of SOCKWQ_ASYNC_NOSPACE 2024-12-14 19:44:42 +01:00
ulpi
unaligned
usb usb: typec: bus: verify partner exists in typec_altmode_attention 2023-09-23 11:00:01 +02:00
wimax
8250_pci.h
a.out.h
acct.h
acpi.h
acpi_dma.h
acpi_iort.h ACPI/IORT: Make iort_msi_map_rid() PCI agnostic 2023-12-13 18:18:10 +01:00
acpi_pmtmr.h
adb.h
adfs_fs.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
alcor_pci.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arch_topology.h
arm-cci.h
arm-smccc.h arm64: entry: Add vectors that have the bhb mitigation sequences 2022-03-19 13:40:15 +01:00
arm_sdei.h
armada-37xx-rwtm-mailbox.h
ascii85.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h ata: fix ata_id_has_dipm() 2022-10-26 13:22:39 +02:00
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_suni.h
atm_tcp.h
atmdev.h
atmel-mci.h
atmel-ssc.h
atmel_pdc.h
atomic-fallback.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h
backing-dev.h
backlight.h
badblocks.h
balloon_compaction.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
bio.h
bit_spinlock.h
bitfield.h bitfield.h: Fix "type of reg too small for mask" test 2022-07-29 17:14:18 +02:00
bitmap.h fix bitmap corruption on close_range() with CLOSE_RANGE_UNSHARE 2024-09-04 13:14:50 +02:00
bitops.h ocfs2/dlm: move BITS_TO_BYTES() to bitops.h for wider use 2023-06-09 10:28:54 +02:00
bitrev.h
bits.h
blk-cgroup.h block: don't merge across cgroup boundaries if blkcg is enabled 2022-04-15 14:18:01 +02:00
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h
blk-pm.h
blk_types.h
blkdev.h block: return unsigned int from bdev_io_min 2024-12-14 19:44:41 +01:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bottom_half.h
bpf-cgroup.h
bpf.h bpf: Add map and need_defer parameters to .map_fd_put_ptr() 2024-02-23 08:24:57 +01:00
bpf_lirc.h
bpf_trace.h
bpf_types.h
bpf_verifier.h
bpfilter.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h fs: only do a memory barrier for the first set_buffer_uptodate() 2022-09-15 12:04:49 +02:00
bug.h
build-salt.h
build_bug.h
bvec.h
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup-defs.h cgroup: Move rcu_head up near the top of cgroup_root 2024-12-14 19:44:35 +01:00
cgroup.h memcg: fix possible use-after-free in memcg_write_event_control() 2022-12-14 11:30:43 +01:00
cgroup_rdma.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h
clk.h clk: Fix undefined reference to `clk_rate_exclusive_{get,put}' 2023-08-30 16:27:27 +02:00
clkdev.h
clock_cooling.h
clockchips.h
clocksource.h
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h
compat.h ftruncate: pass a signed offset 2024-07-05 09:08:31 +02:00
compiler-clang.h
compiler-gcc.h
compiler-intel.h
compiler.h
compiler_attributes.h Fix gcc 4.9 build issue in 5.4.y 2024-08-19 05:33:53 +02:00
compiler_types.h
completion.h
component.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
const.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter.h
counter_enum.h
cper.h
cpu.h init: Provide arch_cpu_finalize_init() 2023-08-08 19:56:33 +02:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h
cpuhotplug.h hrtimers: Push pending hrtimers away from outgoing CPU earlier 2023-12-13 18:18:09 +01:00
cpuidle.h
cpuidle_haltpoll.h
cpumask.h bitmap: introduce generic optimized bitmap_size() 2024-09-04 13:14:50 +02:00
cpuset.h
crash_core.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
cred.h cred: switch to using atomic_long_t 2023-12-20 15:41:18 +01:00
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h
dca.h
dcache.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h debugfs: regset32: Add Runtime PM support 2023-05-17 11:35:32 +02:00
debugobjects.h
delay.h
delayacct.h
delayed_call.h
devcoredump.h
devfreq-event.h
devfreq.h PM/devfreq: governor: Add a private governor_data for governor 2023-01-18 11:41:52 +01:00
devfreq_cooling.h
device-mapper.h dm mpath: pass IO start time to path selector 2024-09-04 13:14:58 +02:00
device.h driver: platform: Add helper for safer setting of driver_override 2023-11-08 11:23:39 +01:00
device_cgroup.h
devpts_fs.h
digsig.h
dim.h linux/dim: Do nothing if no time delta between samples 2023-05-30 12:44:01 +01:00
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-buf.h
dma-contiguous.h
dma-debug.h
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence.h
dma-iommu.h
dma-mapping.h dma-mapping: add generic helpers for mapping sgtable objects 2023-02-25 11:53:25 +01:00
dma-noncoherent.h dma-mapping: drop the dev argument to arch_sync_dma_for_* 2023-04-05 11:16:43 +02:00
dma-resv.h
dmaengine.h dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV 2024-02-23 08:25:06 +01:00
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
ds2782_battery.h
dtlk.h
dw_apb_timer.h
dynamic_debug.h dyndbg: fix module.dyndbg handling 2022-10-26 13:22:37 +02:00
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h efi: random: reduce seed size to 32 bytes 2022-11-10 17:57:55 +01:00
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
energy_model.h
err.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h ethernet: Add helper for assigning packet type when dest address does not match device address 2024-05-02 16:18:36 +02:00
ethtool.h
eventfd.h eventfd: Export eventfd_ctx_do_read() 2023-09-23 10:59:40 +02:00
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fbcon.h fbcon: Prevent that screen size is smaller than font size 2022-07-12 16:30:47 +02:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
filter.h bpf: Mark bpf_spin_{lock,unlock}() helpers with notrace correctly 2024-03-26 18:22:15 -04:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
font.h
frame.h objtool: Add support for intra-function calls 2024-04-13 12:51:29 +02:00
freezer.h
frontswap.h
fs.h mount: warn only once about timestamp range expiration 2024-11-08 16:20:26 +01:00
fs_context.h
fs_enet_pd.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypt.h
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h fsnotify: Do not generate events for O_PATH file descriptors 2024-07-18 11:40:51 +02:00
fsnotify_backend.h
fsverity.h
ftrace.h ftrace: Mark get_lock_parent_ip() __always_inline 2023-04-20 12:07:34 +02:00
ftrace_irq.h
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h mm, vmscan: prevent infinite loop for costly GFP_NOIO | __GFP_RETRY_MAYFAIL allocations 2024-04-13 12:51:34 +02:00
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
greybus.h
hardirq.h
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h HID: fix HID device resource race between HID core and debugging support 2023-12-08 08:44:23 +01:00
hiddev.h
hidraw.h
highmem.h mm/highmem: Lift memcpy_[to|from]_page to core 2023-01-18 11:41:55 +01:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hmm.h
host1x.h gpu: host1x: mipi: Update tegra_mipi_request() to be node based 2024-03-26 18:22:18 -04:00
hp_sdc.h
hpet.h
hrtimer.h hrtimer: Report offline hrtimer enqueue 2024-02-23 08:25:08 +01:00
hrtimer_defs.h
htcpld.h
huge_mm.h
hugetlb.h hugetlb: check for undefined shift on 32 bit architectures 2023-02-22 12:50:39 +01:00
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h random: pull add_hwgenerator_randomness() declaration into random.h 2022-06-22 14:11:12 +02:00
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-pxa.h
i2c-smbus.h
i2c.h i2c: Use IS_REACHABLE() for substituting empty ACPI functions 2024-09-12 11:03:50 +02:00
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idle_inject.h
idr.h Fix termination state for idr_for_each_entry_ul() 2023-11-20 10:30:15 +01:00
ieee80211.h
ieee802154.h
if_arp.h net: handle ARPHRD_PPP in dev_is_mac_header_xmit() 2023-09-23 10:59:55 +02:00
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_rmnet.h
if_tap.h
if_team.h team: fix null-ptr-deref when team device type is changed 2023-10-10 21:46:37 +02:00
if_tun.h
if_tunnel.h
if_vlan.h net: add vlan_get_protocol_and_depth() helper 2023-05-30 12:44:01 +01:00
igmp.h
ihex.h
ima.h ima: Align ima_file_mmap() parameters with mmap_file LSM hook 2023-03-11 16:44:02 +01:00
imx-media.h
in.h
in6.h
indirect_call_wrapper.h
inet.h
inet_diag.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
intel-ish-client-if.h
intel-pti.h
intel-svm.h
intel_rapl.h
intel_th.h
interconnect-provider.h
interconnect.h interconnect: Add helpers for enabling/disabling a path 2023-08-30 16:27:13 +02:00
interrupt.h genirq: Add IRQF_NO_AUTOEN for request_irq/nmi() 2023-05-17 11:35:46 +02:00
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io-pgtable.h
io.h
ioc3.h
iocontext.h
iomap.h iomap: iomap that extends beyond EOF should be marked dirty 2022-09-28 11:03:58 +02:00
iommu-helper.h
iommu.h iommu: Return right value in iommu_sva_bind_device() 2024-07-05 09:08:16 +02:00
iopoll.h
ioport.h resource: Add irqresource_disabled() 2023-10-25 11:53:22 +02:00
ioprio.h
iova.h iommu/iova: Fix module config properly 2022-10-26 13:22:46 +02:00
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h ipv6: make mc_forwarding atomic 2022-04-15 14:18:32 +02:00
ipv6_route.h
irq.h genirq: Allow irq_chip registration functions to take a const irq_chip 2024-08-19 05:33:45 +02:00
irq_cpustat.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h genirq: Allow the PM device to originate from irq domain 2024-08-19 05:33:43 +02:00
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isicom.h
iversion.h
jbd2.h jbd2: introduce/export functions jbd2_journal_submit|finish_inode_data_buffers() 2024-11-08 16:20:30 +01:00
jhash.h
jiffies.h time: Fix references to _msecs_to_jiffies() handling of values 2024-12-14 19:44:23 +01:00
journal-head.h
joystick.h
jump_label.h
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h panic: Consolidate open-coded panic_on_warn checks 2023-02-06 07:52:50 +01:00
kernel_stat.h genirq: Fix the return type of kstat_cpu_irqs_sum() 2023-03-11 16:43:38 +01:00
kernelcapi.h
kernfs.h
kexec.h kexec_file: drop weak attribute from arch_kexec_apply_relocations[_add] 2022-07-02 16:28:50 +02:00
key-type.h
key.h
keyboard.h
keyctl.h
kfifo.h kfifo: fix kfifo_to_user() return type 2022-08-25 11:18:04 +02:00
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h x86/kprobes: Fix arch_check_optimized_kprobe check within optimized_kprobe range 2023-03-11 16:44:02 +01:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h x86/kvm/vmx: Make noinstr clean 2022-10-07 09:16:54 +02:00
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lantiq.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds-ti-lmu-common.h
leds.h
leds_pwm.h
libata.h ata: libata-sata: increase PMP SRST timeout to 10s 2023-10-10 21:46:42 +02:00
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h
libps2.h
license.h
lightnvm.h
limits.h
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list.h list: add "list_del_init_careful()" to go with "list_empty_careful()" 2023-06-28 10:18:35 +02:00
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
livepatch.h
llc.h
llist.h
lockdep.h drm/syncobj: make lockdep complain on WAIT_FOR_SUBMIT v3 2024-03-01 13:13:38 +01:00
lockref.h
log2.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h lsm: new security_file_ioctl_compat() hook 2024-02-23 08:25:15 +01:00
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h mailbox: forward the hrtimer if not queued and under a lock 2022-06-14 18:11:42 +02:00
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h ext4: fix deadlock due to mbcache entry corruption 2023-01-18 11:41:56 +01:00
mbus.h
mc6821.h
mc146818rtc.h rtc: mc146818-lib: Fix the AltCentury for AMD platforms 2022-05-25 09:14:32 +02:00
mcb.h mcb: remove is_added flag from mcb_device struct 2023-10-25 11:53:19 +02:00
mdev.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_cl_bus.h
mem_encrypt.h
memblock.h
memcontrol.h
memfd.h
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memremap.h
memstick.h
mic_bus.h
micrel_phy.h net: phy: mchp: Add support for LAN8814 QUAD PHY 2024-07-05 09:08:27 +02:00
microchipphy.h
migrate.h
migrate_mode.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm-arch-hooks.h
mm.h mm: add remap_pfn_range_notrack 2024-11-17 14:58:53 +01:00
mm_inline.h
mm_types.h mm: fix ambiguous comments for better code readability 2024-11-17 14:58:53 +01:00
mm_types_task.h
mman.h
mmap_lock.h mmap locking API: initial implementation as rwsem wrappers 2022-07-29 17:14:18 +02:00
mmdebug.h mm: Fix '.data.once' orphan section warning 2022-12-08 11:23:04 +01:00
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h arm: remove CONFIG_ARCH_HAS_HOLES_MEMORYMODEL 2022-05-15 19:54:46 +02:00
mnt_namespace.h
mod_devicetable.h x86/cpu: Add a steppings field to struct x86_cpu_id 2022-10-07 09:16:54 +02:00
module.h
module_signature.h
moduleloader.h
moduleparam.h params: lift param_set_uint_minmax to common code 2024-06-16 13:28:45 +02:00
mount.h
moxtet.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.h
msdos_fs.h
msg.h
msi.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h new helper: lookup_positive_unlocked() 2023-09-23 10:59:40 +02:00
nd.h
ndctl.h
net.h
netdev_features.h net: Fix features skip in for_each_netdev_feature() 2022-05-18 09:47:24 +02:00
netdevice.h net: add DEV_STATS_READ() helper 2023-11-20 10:30:10 +01:00
netfilter.h Remove DECnet support from kernel 2023-06-21 15:44:10 +02:00
netfilter_bridge.h
netfilter_defs.h Remove DECnet support from kernel 2023-06-21 15:44:10 +02:00
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h netpoll: Use rcu_access_pointer() in netpoll_poll_lock 2024-12-14 19:44:28 +01:00
nfs.h
nfs3.h
nfs4.h
nfs_fs.h NFS: swap IO handling is slightly different for O_DIRECT IO 2022-04-15 14:18:35 +02:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nl802154.h
nls.h fs/nls: make load_nls() take a const parameter 2023-09-23 10:59:38 +02:00
nmi.h watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct config 2023-07-27 08:37:10 +02:00
node.h
nodemask.h nodemask: Fix return values to be unsigned 2022-06-14 18:12:02 +02:00
nospec.h uaccess: Add speculation barrier to copy_from_user() 2023-02-25 11:53:26 +01:00
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme-tcp.h nvme-tcp: fix nvme_tcp_term_pdu to match spec 2023-04-05 11:16:38 +02:00
nvme.h nvme: fixup comment for nvme RDMA Provider Type 2024-07-05 09:08:28 +02:00
nvmem-consumer.h
nvmem-provider.h
nvram.h
objagg.h mlxsw: spectrum_acl_erp: Fix object nesting warning 2024-08-19 05:33:28 +02:00
of.h of: Add missing 'Return' section in kerneldoc comments 2023-12-13 18:18:11 +01:00
of_address.h
of_clk.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h of/irq: Make of_msi_map_rid() PCI bus agnostic 2023-12-13 18:18:11 +01:00
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
oid_registry.h
olpc-ec.h
omap-dma.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h once: fix section mismatch on clang builds 2022-11-01 19:06:42 +01:00
oom.h
openvswitch.h
oprofile.h
osq_lock.h
overflow.h overflow: Implement size_t saturating arithmetic helpers 2024-09-04 13:14:51 +02:00
packing.h
padata.h
page-flags-layout.h
page-flags.h
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
pageblock-flags.h
pagemap.h
pagevec.h
pagewalk.h
parman.h
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-ats.h
pci-dma-compat.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci-p2pdma.h
pci.h PCI: Add PCI_ERROR_RESPONSE and related definitions 2024-07-05 09:08:25 +02:00
pci_hotplug.h
pci_ids.h PCI: Add function 0 DMA alias quirk for Glenfly Arise chip 2024-11-08 16:20:47 +01:00
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
perf_event.h perf/core: Add a new read format to get a number of lost samples 2023-12-13 18:18:15 +01:00
perf_regs.h
personality.h
pfn.h
pfn_t.h
phonet.h
phy.h
phy_fixed.h
phy_led_triggers.h
phylink.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
pl353-smc.h
platform_device.h driver: platform: Add helper for safer setting of driver_override 2023-11-08 11:23:39 +01:00
plist.h
pm-trace.h
pm.h
pm2301_charger.h
pm_clock.h
pm_domain.h PM: domains: Restore comment indentation for generic_pm_domain.child_links 2023-05-17 11:36:04 +02:00
pm_opp.h
pm_qos.h
pm_runtime.h PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend() 2024-02-23 08:25:14 +01:00
pm_wakeirq.h PM / wakeirq: support enabling wake-up irq after runtime_suspend called 2023-08-11 11:54:00 +02:00
pm_wakeup.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h fs/select: rework stack allocation hack for clang 2024-03-26 18:22:13 -04:00
posix-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
power_supply.h power: supply: core: Refactor power_supply_set_input_current_limit_from_supplier() 2023-06-05 08:17:31 +02:00
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
pr.h
prandom.h siphash: use one source of truth for siphash permutations 2022-06-22 14:11:16 +02:00
preempt.h sched/rt: Provide migrate_disable/enable() inlines 2023-11-20 10:30:12 +01:00
prefetch.h
prime_numbers.h
printk.h printk: declare printk_deferred_{enter,safe}() in include/linux/printk.h 2023-05-17 11:36:04 +02:00
proc_fs.h net, proc: Provide PROC_FS=n fallback for proc_create_net_single_write() 2023-01-18 11:41:02 +01:00
proc_ns.h
processor.h
profile.h
projid.h
property.h
psci.h
pseudo_fs.h
psi.h psi: Fix uaf issue when psi trigger is destroyed while being polled 2022-02-05 12:35:36 +01:00
psi_types.h psi: Fix uaf issue when psi trigger is destroyed while being polled 2022-02-05 12:35:36 +01:00
psp-sev.h
pstore.h
pstore_ram.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptr_ring.h
ptrace.h ptrace/xtensa: Replace PT_SINGLESTEP with TIF_SINGLESTEP 2022-06-14 18:11:24 +02:00
purgatory.h
pvclock_gtod.h
pwm.h pwm: Fix double shift bug 2023-11-28 16:50:16 +00:00
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom-geni-se.h
qcom_scm.h
qnx6_fs.h
quota.h quota: Fix slow quotaoff 2023-10-25 11:53:18 +02:00
quotaops.h quota: Fix slow quotaoff 2023-10-25 11:53:18 +02:00
radix-tree.h
raid_class.h scsi: core: raid_class: Remove raid_component_add() 2023-08-30 16:27:27 +02:00
ramfs.h
random.h random: always mix cycle counter in add_latent_entropy() 2023-02-25 11:53:25 +01:00
range.h
ras.h
ratelimit.h random: quiet urandom warning ratelimit suppression message 2022-06-29 08:58:45 +02:00
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h rcu: add a helper to report consolidated flavor QS 2024-03-26 18:22:25 -04:00
rcupdate_wait.h
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h locking/refcount: Consolidate implementations of refcount_t 2022-07-29 17:14:17 +02:00
regmap.h regmap: Add bulk read/write callbacks into regmap_config 2024-03-15 10:48:20 -04:00
regset.h
relay.h
remoteproc.h
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h ring-buffer: Rename ring_buffer_read() to read_buffer_iter_advance() 2024-09-12 11:03:56 +02:00
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse 2022-09-05 10:27:46 +02:00
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h rpmsg: Fix calling device_lock() on non-initialized device 2023-11-08 11:23:39 +01:00
rslib.h
rtc.h
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h misc: rtsx_usb: use separate command and response buffers 2022-07-12 16:30:49 +02:00
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem.h
s3c_adc_battery.h
sbitmap.h
scatterlist.h scatterlist: add generic wrappers for iterating over sgtable objects 2023-02-25 11:53:25 +01:00
scc.h
sched.h kernel/sched: Remove dl_boosted flag comment 2022-09-05 10:27:39 +02:00
sched_clock.h
scif.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h lsm: new security_file_ioctl_compat() hook 2024-02-23 08:25:15 +01:00
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
sem.h
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h
seqno-fence.h
serdev.h
serial.h
serial_8250.h Revert "8250: add support for ASIX devices with a FIFO bug" 2023-07-27 08:37:38 +02:00
serial_bcm63xx.h
serial_core.h serial: core: fix kernel-doc for uart_port_unlock_irqrestore() 2024-05-02 16:18:37 +02:00
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serio.h
set_memory.h
sfi.h
sfi_acpi.h
sfp.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h sh: intc: Avoid spurious sizeof-pointer-div warning 2023-03-22 13:28:08 +01:00
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h
signal.h
signal_types.h
signalfd.h
siox.h
siphash.h siphash: use one source of truth for siphash permutations 2022-06-22 14:11:16 +02:00
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h inet: inet_defrag: prevent sk release while still in use 2024-11-08 16:20:26 +01:00
skmsg.h
slab.h
slab_def.h
slimbus.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
spmi.h
sram.h
srcu.h
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackleak.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
stm.h
stmmac.h net: stmmac: do not stop RX_CLK in Rx LPI state for qcs404 SoC 2023-02-22 12:50:34 +01:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h
string_helpers.h lib/string_helpers: Introduce string_upper() and string_lower() helpers 2023-05-30 12:44:08 +01:00
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h PM: s2idle: ACPI: Fix wakeup interrupts handling 2022-02-16 12:52:50 +01:00
svga.h
sw842.h
swab.h
swait.h
swap.h
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscalls.h ftruncate: pass a signed offset 2024-07-05 09:08:31 +02:00
syscore_ops.h
sysctl.h sysctl: add a new register_sysctl_init() interface 2023-02-06 07:52:48 +01:00
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h tcp: add TCP_INFO status for failed client TFO 2024-07-18 11:40:53 +02:00
tee_drv.h tee: export teedev_open() and teedev_close_context() 2022-03-02 11:41:04 +01:00
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
thunderbolt.h
ti-emif-sram.h
ti_wilink_st.h
tick.h tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem 2023-05-17 11:35:57 +02:00
tifm.h
timb_dma.h
timb_gpio.h
time.h
time32.h
time64.h
timecounter.h
timekeeper_internal.h
timekeeping.h
timekeeping32.h
timer.h timers: Rename del_timer_sync() to timer_delete_sync() 2024-04-13 12:51:21 +02:00
timerfd.h
timeriomem-rng.h
timerqueue.h timerqueue: Use rb_entry_safe() in timerqueue_getnext() 2023-01-18 11:40:53 +01:00
timex.h timekeeping: Add raw clock fallback for random_get_entropy() 2022-06-22 14:11:15 +02:00
tnum.h
topology.h sched/topology: Make sched_init_numa() use a set for the deduplicating sort 2022-03-08 19:07:48 +01:00
torture.h
toshiba.h
tpm.h
tpm_command.h
tpm_eventlog.h efi: tpm: Avoid READ_ONCE() for accessing the event log 2023-01-18 11:42:00 +01:00
trace.h
trace_clock.h
trace_events.h bpf: kprobe: remove unused declaring of bpf_kprobe_override 2024-08-19 05:33:50 +02:00
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h tracing: Make tracepoint lockdep check actually test something 2023-03-22 13:28:08 +01:00
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH 2023-05-17 11:36:04 +02:00
tty_driver.h
tty_flip.h tty: use new tty_insert_flip_string_and_push_buffer() in pty_write() 2022-07-29 17:14:20 +02:00
tty_ldisc.h
typecheck.h
types.h
u64_stats_sync.h u64_stats: fix u64_stats_init() for lockdep when used repeatedly in one file 2024-05-02 16:18:28 +02:00
uaccess.h uaccess: Add minimum bounds check on kernel buffer size 2023-03-11 16:43:56 +01:00
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio.h
uio_driver.h
umh.h
unicode.h
units.h units: add the HZ macros 2024-02-23 08:24:47 +01:00
uprobes.h
usb.h USB: move snd_usb_pipe_sanity_check into the USB core 2024-08-19 05:33:30 +02:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
util_macros.h util_macros.h: fix/rework find_closest() macros 2024-12-14 19:44:43 +01:00
uts.h
utsname.h
uuid.h
vbox_utils.h
verification.h
vermagic.h
vexpress.h
vfio.h vfio: Introduce interface to flush virqfd inject workqueue 2024-04-13 12:51:34 +02:00
vfs.h
vga_switcheroo.h
vgaarb.h
via-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h virtio: unexport virtio_finalize_features 2022-03-16 13:21:48 +01:00
virtio_byteorder.h
virtio_caif.h
virtio_config.h virtio: acknowledge all features before access 2022-03-16 13:21:48 +01:00
virtio_console.h
virtio_net.h net: do not allow gso_size to be set to GSO_BY_FRAGS 2023-08-30 16:27:17 +02:00
virtio_ring.h
virtio_vsock.h
visorbus.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h linux/vt_buffer.h: allow either builtin or modular for macros 2023-05-17 11:35:46 +02:00
vt_kern.h
vtime.h
w1-gpio.h
w1.h
wait.h mm: allow a controlled amount of unfairness in the page lock 2023-08-30 16:27:26 +02:00
wait_bit.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h workqueue: clean up WORK_* constant types, clarify masking 2023-07-27 08:37:29 +02:00
writeback.h
ww_mutex.h
xarray.h
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zutil.h