Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1243 commits
Select commit Hold shift + click to select a range
34dc98c
crypto: blake2s - include <linux/bug.h> instead of <asm/bug.h>
ebiggers Dec 23, 2020
b44b759
crypto: blake2s - adjust include guard naming
ebiggers Dec 23, 2020
5cdbdd8
random: document add_hwgenerator_randomness() with other input functions
broonie Dec 1, 2021
5a0fda8
random: remove unused irq_flags argument from add_interrupt_randomness()
Dec 7, 2021
1f89b31
random: use BLAKE2s instead of SHA1 in extraction
zx2c4 Dec 21, 2021
eaa94d9
random: do not sign extend bytes for rotation when mixing
zx2c4 Dec 24, 2021
e59fd7e
random: do not re-init if crng_reseed completes before primary init
zx2c4 Dec 29, 2021
66794cd
random: mix bootloader randomness into pool
zx2c4 Dec 29, 2021
5d3c00a
random: harmonize "crng init done" messages
Dec 29, 2021
048cc34
random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs
zx2c4 Dec 30, 2021
84647ef
random: initialize ChaCha20 constants with correct endianness
ebiggers Mar 22, 2021
4d4b3fc
random: early initialization of ChaCha constants
Dec 31, 2021
d15b7ab
random: avoid superfluous call to RDRAND in CRNG extraction
zx2c4 Dec 30, 2021
28601be
random: don't reset crng_init_cnt on urandom_read()
thejh Jan 3, 2022
da31a02
random: fix typo in comments
schspa Jan 14, 2022
45b1bfb
random: cleanup poolinfo abstraction
zx2c4 Jan 9, 2022
9139374
crypto: chacha20 - Fix chacha20_block() keystream alignment (again)
ebiggers Sep 12, 2018
f450937
random: cleanup integer types
zx2c4 Jan 9, 2022
0c8cc8d
random: remove incomplete last_data logic
zx2c4 Jan 12, 2022
ac800f0
random: remove unused extract_entropy() reserved argument
zx2c4 Jan 12, 2022
482583b
random: try to actively add entropy rather than passively wait for it
torvalds Sep 28, 2019
5534929
random: rather than entropy_store abstraction, use global
zx2c4 Jan 12, 2022
3653dd7
random: remove unused OUTPUT_POOL constants
zx2c4 Jan 13, 2022
9199ceb
random: de-duplicate INPUT_POOL constants
zx2c4 Jan 13, 2022
a88fa6c
random: prepend remaining pool constants with POOL_
zx2c4 Jan 14, 2022
5638451
random: cleanup fractional entropy shift constants
zx2c4 Jan 13, 2022
166f997
random: access input_pool_data directly rather than through pointer
zx2c4 Jan 15, 2022
5c539ee
random: simplify arithmetic function flow in account()
zx2c4 Jan 17, 2022
35e3129
random: continually use hwgenerator randomness
Jan 25, 2022
7beef13
random: access primary_pool directly rather than through pointer
Jan 30, 2022
7ad714b
random: only call crng_finalize_init() for primary_crng
Jan 30, 2022
ccf535b
random: use computational hash for entropy extraction
zx2c4 Jan 16, 2022
62a2b4b
random: simplify entropy debiting
zx2c4 Feb 2, 2022
bb375ab
random: use linear min-entropy accumulation crediting
zx2c4 Feb 3, 2022
f82262f
random: always wake up entropy writers after extraction
zx2c4 Feb 5, 2022
6605171
random: make credit_entropy_bits() always safe
zx2c4 Feb 4, 2022
8c39bfd
random: remove use_input_pool parameter from crng_reseed()
ebiggers Feb 4, 2022
839a45e
random: remove batched entropy locking
zx2c4 Jan 28, 2022
909f397
random: fix locking in crng_fast_load()
Feb 5, 2022
d0841f7
random: use RDSEED instead of RDRAND in entropy extraction
zx2c4 Feb 8, 2022
13c423b
random: inline leaves of rand_initialize()
zx2c4 Feb 8, 2022
4ceb0d5
random: ensure early RDSEED goes through mixer on init
zx2c4 Feb 8, 2022
2d9c1b4
random: do not xor RDRAND when writing into /dev/random
zx2c4 Feb 8, 2022
5a595c1
random: absorb fast pool into input pool after fast load
zx2c4 Feb 9, 2022
acbf6f4
random: use hash function for crng_slow_load()
zx2c4 Feb 8, 2022
2168288
random: remove outdated INT_MAX >> 6 check in urandom_read()
zx2c4 Feb 7, 2022
93ce402
random: zero buffer after reading entropy from userspace
zx2c4 Feb 9, 2022
15c96d9
random: tie batched entropy generation to base_crng generation
zx2c4 Feb 9, 2022
f8a196c
random: remove ifdef'd out interrupt bench
zx2c4 Feb 10, 2022
707c01f
random: remove unused tracepoints
zx2c4 Feb 10, 2022
fabaab4
random: add proper SPDX header
zx2c4 Feb 10, 2022
e0a5363
random: deobfuscate irq u32/u64 contributions
zx2c4 Feb 10, 2022
65419e9
random: introduce drain_entropy() helper to declutter crng_reseed()
zx2c4 Feb 11, 2022
388e497
random: remove useless header comment
zx2c4 Feb 11, 2022
ee5705c
random: remove whitespace and reorder includes
zx2c4 Feb 11, 2022
25061d3
random: group initialization wait functions
zx2c4 Feb 11, 2022
2ee36c8
random: group entropy extraction functions
zx2c4 Feb 11, 2022
496b91b
random: group entropy collection functions
zx2c4 Feb 11, 2022
c3502a7
random: group userspace read/write functions
zx2c4 Feb 11, 2022
57332ea
random: group sysctl functions
zx2c4 Feb 11, 2022
b3fa3d1
random: rewrite header introductory comment
zx2c4 Feb 11, 2022
80adfc1
random: defer fast pool mixing to worker
zx2c4 Feb 4, 2022
58e0c4f
random: do not take pool spinlock at boot
zx2c4 Feb 12, 2022
535d280
random: unify early init crng load accounting
zx2c4 Feb 12, 2022
5357d82
random: check for crng_init == 0 in add_device_randomness()
zx2c4 Feb 12, 2022
57a23e7
random: pull add_hwgenerator_randomness() declaration into random.h
zx2c4 Feb 13, 2022
40b5b4b
random: clear fast pool, crng, and batches in cpuhp bring up
zx2c4 Feb 13, 2022
23fc6dc
random: round-robin registers as ulong, not u32
zx2c4 Feb 22, 2022
430374f
random: only wake up writers after zap if threshold was passed
zx2c4 Feb 22, 2022
55add4d
random: cleanup UUID handling
zx2c4 Feb 24, 2022
ddb672c
random: unify cycles_t and jiffies usage and types
zx2c4 Feb 24, 2022
3e3d705
random: do crng pre-init loading in worker rather than irq
zx2c4 Feb 13, 2022
dd9970a
random: give sysctl_random_min_urandom_seed a more sensible value
zx2c4 Feb 28, 2022
d2c884e
random: don't let 644 read-only sysctls be written to
zx2c4 Feb 28, 2022
c8e06a4
random: replace custom notifier chain with standard one
zx2c4 Mar 1, 2022
d9a694a
random: use SipHash as interrupt entropy accumulator
zx2c4 Feb 11, 2022
f629607
random: make consistent usage of crng_ready()
zx2c4 Mar 8, 2022
0523770
random: reseed more often immediately after booting
zx2c4 Mar 9, 2022
2e7ef35
random: check for signal and try earlier when generating entropy
zx2c4 Mar 8, 2022
df5104c
random: skip fast_init if hwrng provides large chunk of entropy
zx2c4 Mar 22, 2022
eed01a6
random: treat bootloader trust toggle the same way as cpu trust toggle
zx2c4 Mar 23, 2022
cd85244
random: re-add removed comment about get_random_{u32,u64} reseeding
zx2c4 Mar 23, 2022
bba3aac
random: mix build-time latent entropy into pool at init
zx2c4 Mar 31, 2022
8a4646c
random: do not split fast init input in add_hwgenerator_randomness()
jvarho Apr 4, 2022
04d681d
random: do not allow user to keep crng key around on stack
zx2c4 Apr 5, 2022
cf8136b
random: check for signal_pending() outside of need_resched() check
thejh Apr 5, 2022
50339a2
random: check for signals every PAGE_SIZE chunk of /dev/[u]random
zx2c4 Apr 6, 2022
4fab8d7
random: make random_get_entropy() return an unsigned long
zx2c4 Apr 8, 2022
8005202
random: document crng_fast_key_erasure() destination possibility
zx2c4 Apr 18, 2022
70e65f6
random: fix sysctl documentation nits
zx2c4 May 3, 2022
4798c86
init: call time_init() before rand_initialize()
zx2c4 May 5, 2022
e154c03
ia64: define get_cycles macro for arch-override
zx2c4 Apr 23, 2022
0da2845
s390: define get_cycles macro for arch-override
zx2c4 Apr 23, 2022
faf62b7
parisc: define get_cycles macro for arch-override
zx2c4 Apr 23, 2022
d969c98
alpha: define get_cycles macro for arch-override
zx2c4 Apr 23, 2022
0a182df
powerpc: define get_cycles macro for arch-override
zx2c4 Apr 23, 2022
2142a4d
timekeeping: Add raw clock fallback for random_get_entropy()
zx2c4 Apr 10, 2022
63959c5
m68k: use fallback for random_get_entropy() instead of zero
zx2c4 Apr 8, 2022
abb6b7e
mips: use fallback for random_get_entropy() instead of just c0 random
zx2c4 Apr 8, 2022
7605b26
arm: use fallback for random_get_entropy() instead of zero
zx2c4 Apr 8, 2022
f869f2e
nios2: use fallback for random_get_entropy() instead of zero
zx2c4 Apr 8, 2022
4373bcb
x86/tsc: Use fallback for random_get_entropy() instead of zero
zx2c4 Apr 8, 2022
d78483f
um: use fallback for random_get_entropy() instead of zero
zx2c4 Apr 8, 2022
ac7fbc3
sparc: use fallback for random_get_entropy() instead of zero
zx2c4 Apr 8, 2022
cf8717e
xtensa: use fallback for random_get_entropy() instead of zero
zx2c4 Apr 8, 2022
70cf7fb
random: insist on random_get_entropy() existing in order to simplify
zx2c4 Apr 12, 2022
fed6de0
random: do not use batches when !crng_ready()
zx2c4 May 3, 2022
71db237
random: do not pretend to handle premature next security model
zx2c4 Apr 30, 2022
e4728fd
random: order timer entropy functions below interrupt functions
zx2c4 May 6, 2022
18aa432
random: do not use input pool from hard IRQs
zx2c4 May 6, 2022
eb2fb96
random: help compiler out with fast_mix() by using simpler arguments
zx2c4 May 6, 2022
66b2dde
siphash: use one source of truth for siphash permutations
zx2c4 May 7, 2022
4ddc38d
random: use symbolic constants for crng_init states
zx2c4 May 8, 2022
0251a5f
random: avoid initializing twice in credit race
zx2c4 May 9, 2022
319b965
random: remove ratelimiting for in-kernel unseeded randomness
zx2c4 May 9, 2022
1bed234
random: use proper jiffies comparison macro
zx2c4 May 10, 2022
b16b1b6
random: handle latent entropy and command line from random_init()
zx2c4 May 5, 2022
37fe03f
random: credit architectural init the exact amount
zx2c4 May 12, 2022
b0eabe2
random: use static branch for crng_ready()
zx2c4 May 3, 2022
c24fb5a
random: remove extern from functions in header
zx2c4 May 13, 2022
25f9773
random: use proper return types on get_random_{int,long}_wait()
zx2c4 May 13, 2022
d77e58e
random: move initialization functions out of hot pages
zx2c4 May 13, 2022
225c0df
random: move randomize_page() into mm where it belongs
zx2c4 May 14, 2022
17685dd
random: convert to using fops->write_iter()
axboe May 19, 2022
7238932
random: wire up fops->splice_{read,write}_iter()
axboe May 19, 2022
09b3d35
random: check for signals after page of pool writes
zx2c4 May 22, 2022
fcff241
Revert "random: use static branch for crng_ready()"
zx2c4 Jun 7, 2022
0c03d07
crypto: drbg - add FIPS 140-2 CTRNG for noise source
smuellerDD May 8, 2019
80bc830
crypto: drbg - always seeded with SP800-90B compliant noise source
smuellerDD Apr 17, 2020
b1fb007
crypto: drbg - prepare for more fine-grained tracking of seeding state
nicstange Jun 2, 2022
b05392d
crypto: drbg - track whether DRBG was seeded with !rng_is_initialized()
nicstange Jun 2, 2022
31a5afe
crypto: drbg - move dynamic ->reseed_threshold adjustments to __drbg_…
nicstange Jun 2, 2022
eb86176
crypto: drbg - always try to free Jitter RNG instance
smuellerDD Jun 7, 2020
9ed7b5b
crypto: drbg - make reseeding from get_random_bytes() synchronous
nicstange Jun 2, 2022
aafc845
random: avoid checking crng_ready() twice in random_init()
zx2c4 Jun 7, 2022
5e70c1a
random: mark bootloader randomness code as __init
zx2c4 Jun 7, 2022
d4bfd48
random: account for arch randomness in bits
zx2c4 Jun 7, 2022
c44eafb
ASoC: cs42l52: Fix TLV scales for mixer controls
charleskeepax Jun 2, 2022
e9892f4
ASoC: cs53l30: Correct number of volume levels on SX controls
charleskeepax Jun 2, 2022
f469f01
ASoC: cs42l52: Correct TLV for Bypass Volume
charleskeepax Jun 2, 2022
7430154
ASoC: cs42l56: Correct typo in minimum level for SX volume controls
charleskeepax Jun 2, 2022
1ac5efe
ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo()
May 21, 2022
2fa58a7
ASoC: wm8962: Fix suspend while playing music
aford173 May 26, 2022
0b65647
scsi: vmw_pvscsi: Expand vcpuHint to 16 bits
Jun 2, 2022
ee2eec0
scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
jsmart-gh Jun 3, 2022
9ae7bde
scsi: ipr: Fix missing/incorrect resource cleanup in error case
cgxu519 May 29, 2022
c2f6262
scsi: pmcraid: Fix missing resource cleanup in error case
cgxu519 May 29, 2022
eef6d16
virtio-mmio: fix missing put_device() when vm_cmdline_parent registra…
chengkaitao Jun 2, 2022
f21f908
nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred
Jun 7, 2022
0e818d4
ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg
wangyufen316 Jun 7, 2022
9c1f440
net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[…
chen45464546 Jun 8, 2022
7112098
random: credit cpu and bootloader seeds by default
zx2c4 Jun 14, 2022
290e321
pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAIL…
May 31, 2022
5ba9956
i40e: Fix call trace in setup_tx_descriptors
aloktion May 19, 2022
c4b0b8e
tty: goldfish: Fix free_irq() on remove
vwax Jun 9, 2022
6b68912
misc: atmel-ssc: Fix IRQ check in ssc_probe
Yuuoniy Jun 1, 2022
cd64690
net: bgmac: Fix an erroneous kfree() in bgmac_remove()
tititiou36 Jun 13, 2022
bbb14cc
arm64: ftrace: fix branch range checks
mrutland-arm Jun 14, 2022
1baa2f9
certs/blacklist_hashes.c: fix const confusion in certs blacklist
masahir0y Jun 11, 2022
486f68f
irqchip/gic/realview: Fix refcount leak in realview_gic_of_init
Yuuoniy Jun 1, 2022
822e230
comedi: vmk80xx: fix expression for tx buffer size
ian-abbott Jun 7, 2022
26cc687
USB: serial: option: add support for Cinterion MV31 with new baseline
SlarkXiao Jun 1, 2022
88dfdbc
USB: serial: io_ti: add Agilent E5805A support
LongnoseRob May 21, 2022
981ee40
usb: dwc2: Fix memory leak in dwc2_hcd_init
Yuuoniy May 30, 2022
0ef6917
usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe
Yuuoniy Jun 3, 2022
2bdcf89
serial: 8250: Store to lsr_save_flags after lsr read
ij-intel May 20, 2022
a37c135
ext4: fix bug_on ext4_mb_use_inode_pa
LiBaokun96 May 28, 2022
d1d3f02
ext4: make variable "count" signed
May 30, 2022
7c92132
ext4: add reserved GDT blocks check
zhangyi089 Jun 1, 2022
f064b12
virtio-pci: Remove wrong address verification in vp_del_vqs()
mopsfelder Apr 15, 2022
352dce3
l2tp: don't use inet_shutdown on ppp session destroy
j-c-h Feb 23, 2018
1819c76
l2tp: fix race in pppol2tp_release with session object destroy
j-c-h Feb 23, 2018
1de03ea
s390/mm: use non-quiescing sske for KVM switch to keyed guest
borntraeger May 30, 2022
dbc8656
usb: gadget: u_ether: fix regression in setting fixed MAC address
Jun 3, 2022
4779af1
xprtrdma: fix incorrect header size calculations
Jul 15, 2020
76d3468
tcp: add some entropy in __inet_hash_connect()
edumazet Feb 9, 2021
f1e99d0
tcp: use different parts of the port_offset for index and offset
wtarreau May 2, 2022
43995cd
tcp: add small random increments to the source port
wtarreau May 2, 2022
9c251cc
tcp: dynamically allocate the perturb table used by source ports
wtarreau May 2, 2022
9044e70
tcp: increase source port perturb table to 2^16
wtarreau May 2, 2022
6a2659e
tcp: drop the hash_32() part from the index calculation
wtarreau May 2, 2022
f051383
Linux 4.14.285
gregkh Jun 25, 2022
259742e
vt: drop old FONT ioctls
Jan 5, 2021
f2944c9
random: schedule mix_interrupt_randomness() less often
zx2c4 Jun 16, 2022
42c75fc
ata: libata: add qc->flags in ata_qc_complete_template tracepoint
netedwardwu Jun 17, 2022
91c2049
dm era: commit metadata in postsuspend after worker stops
ntsiron Jun 21, 2022
97e6ead
random: quiet urandom warning ratelimit suppression message
zx2c4 Jun 16, 2022
30710dd
USB: serial: option: add Telit LE910Cx 0x1250 composition
clobrano Jun 14, 2022
39fb012
USB: serial: option: add Quectel EM05-G modem
ylintan Jun 21, 2022
6d778c2
USB: serial: option: add Quectel RM500K module support
macpaul-lin-mtk Jun 23, 2022
160eb5f
bonding: ARP monitor spams NETDEV_NOTIFY_PEERS notifiers
jay-vosburgh Jun 16, 2022
37d24ef
x86/xen: Remove undefined behavior in setup_features()
Jun 17, 2022
439bd71
MIPS: Remove repetitive increase irq_err_count
fshh520 Jun 10, 2022
ac879db
igb: Make DMA faster when CPU is active on the PCIe link
Jun 21, 2022
9cac4d8
iio: adc: vf610: fix conversion mode sysfs node name
baruchsiach May 30, 2022
23d93ea
usb: chipidea: udc: check request status before setting device address
Jun 23, 2022
0ab58f6
iio:accel:bma180: rearrange iio trigger get and register
rockosov May 24, 2022
504152a
iio: accel: mma8452: ignore the return value of reset operation
BoughChen Jun 15, 2022
6003e8b
iio: gyro: mpu3050: Fix the error handling in mpu3050_power_up()
ZheyuMa May 10, 2022
fd5d8fb
iio: trigger: sysfs: fix use-after-free on remove
vwax May 19, 2022
a1c8501
iio: adc: axp288: Override TS pin bias current for some models
jwrdegoede May 6, 2022
35d7e96
xtensa: xtfpga: Fix refcount leak bug in setup
windhl Jun 17, 2022
7de4502
xtensa: Fix refcount leak bug in time.c
windhl Jun 17, 2022
8e27187
powerpc: Enable execve syscall exit tracepoint
rnav Jun 9, 2022
62214fd
powerpc/rtas: Allow ibm,platform-dump RTAS call with null buffer address
ajdlinux Jun 14, 2022
e8bf623
powerpc/powernv: wire up rng during setup_arch
zx2c4 Jun 21, 2022
1e1dc70
ARM: dts: imx6qdl: correct PU regulator ramp delay
lynxeye-dev May 11, 2022
31d0957
ARM: exynos: Fix refcount leak in exynos_map_pmu
Yuuoniy May 23, 2022
b385cb5
ARM: Fix refcount leak in axxia_boot_secondary
Yuuoniy Jun 1, 2022
45bebbc
ARM: cns3xxx: Fix refcount leak in cns3xxx_init
Yuuoniy Jun 5, 2022
ac0d234
modpost: fix section mismatch check for exported init/exit sections
masahir0y Jun 10, 2022
9b8f98d
powerpc/pseries: wire up rng during setup_arch()
zx2c4 Jun 11, 2022
580bd75
drm: remove drm_fb_helper_modinit
Feb 2, 2021
f319c9b
xen: unexport __init-annotated xen_xlate_map_ballooned_pages()
masahir0y Jun 6, 2022
2d83b65
fdt: Update CRC check for rng-seed
hsinyi527 Aug 27, 2019
6af88cc
kexec_file: drop weak attribute from arch_kexec_apply_relocations[_add]
rnav May 19, 2022
87fe544
swiotlb: skip swiotlb_bounce when orig_addr is zero
Jun 30, 2022
ed2e96e
Linux 4.14.286
gregkh Jul 2, 2022
e468764
nvdimm: Fix badblocks clear off-by-one error
yechun1 Jun 1, 2022
5e161a8
dm raid: fix accesses beyond end of raid member array
mauelsha Jun 27, 2022
2fb2928
dm raid: fix KASAN warning in raid5_add_disks
Jun 29, 2022
836a2ce
s390/archrandom: simplify back to earlier design and initialize earlier
zx2c4 Jun 10, 2022
b549fcd
SUNRPC: Fix READ_PLUS crasher
chucklever Jun 30, 2022
597b3bb
net: rose: fix UAF bugs caused by timer handler
stonezdm Jun 29, 2022
1e0b680
net: usb: ax88179_178a: Fix packet receiving
j-alonso Jun 28, 2022
51e0482
RDMA/qedr: Fix reporting QP timeout attribute
Kamalheib May 25, 2022
de39372
usbnet: fix memory allocation in helpers
oneukum Jun 28, 2022
cfd8430
net: ipv6: unexport __init-annotated seg6_hmac_net_init()
Jun 28, 2022
85d55a1
caif_virtio: fix race between virtio_device_ready() and ndo_open()
Jun 20, 2022
47fbca3
netfilter: nft_dynset: restore set element counter when failing to up…
ummakynes Jun 21, 2022
ca638bf
net: bonding: fix possible NULL deref in rlb code
edumazet Jun 27, 2022
b90ac60
net: bonding: fix use-after-free after 802.3ad slave unbind
OrlovEI Jun 29, 2022
37b51fe
nfc: nfcmrvl: Fix irq_of_parse_and_map() return value
krzk Jun 27, 2022
28d23c3
NFC: nxp-nci: Don't issue a zero length i2c_master_read()
mwalle Jun 27, 2022
2fe26a9
xen/gntdev: Avoid blocking in unmap_grant_pages()
DemiMarie Jun 22, 2022
5745aa0
hwmon: (ibmaem) don't call platform_device_del() if platform_device_a…
Jul 1, 2022
de67923
sit: use min
intel-lab-lkp Mar 27, 2021
778b407
ipv6/sit: fix ipip6_tunnel_get_prl return value
KatrinJo Jun 28, 2022
57e7b02
net: Rename and export copy_skb_header
Apr 30, 2018
44dc5bc
xen/blkfront: fix leaking data in shared pages
royger Mar 30, 2022
f2c6f20
xen/netfront: fix leaking data in shared pages
royger Apr 6, 2022
019eaff
xen/netfront: force data bouncing when backend is untrusted
royger Apr 7, 2022
0b06590
xen/blkfront: force data bouncing when backend is untrusted
royger Apr 7, 2022
01b86fa
xen/arm: Fix race in RB-tree based P2M accounting
Jul 1, 2022
1d30cf5
net: usb: qmi_wwan: add Telit 0x1060 composition
clobrano Sep 3, 2021
e65a399
net: usb: qmi_wwan: add Telit 0x1070 composition
dnlplm Dec 10, 2021
1048779
Linux 4.14.287
gregkh Jul 7, 2022
b581c65
Merge Android Common Linux 4.14.283 for diagnostic bisect
github-actions[bot] Jul 28, 2026
705dd8a
Merge complete Linux 4.14.287 after boot-confirmed 4.14.283 diagnostic
github-actions[bot] Jul 31, 2026
61535bd
diag: build Linux 4.14.287 midpoint kernel only
github-actions[bot] Jul 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
477 changes: 297 additions & 180 deletions .github/workflows/miru-h40-build.yml

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions Documentation/ABI/testing/sysfs-ata
Original file line number Diff line number Diff line change
Expand Up @@ -59,17 +59,18 @@ class

dma_mode

Transfer modes supported by the device when in DMA mode.
DMA transfer mode used by the device.
Mostly used by PATA device.

pio_mode

Transfer modes supported by the device when in PIO mode.
PIO transfer mode used by the device.
Mostly used by PATA device.

xfer_mode

Current transfer mode.
Mostly used by PATA device.

id

Expand Down
2 changes: 1 addition & 1 deletion Documentation/ABI/testing/sysfs-bus-iio-vf610
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
What: /sys/bus/iio/devices/iio:deviceX/conversion_mode
What: /sys/bus/iio/devices/iio:deviceX/in_conversion_mode
KernelVersion: 4.2
Contact: linux-iio@vger.kernel.org
Description:
Expand Down
1 change: 1 addition & 0 deletions Documentation/ABI/testing/sysfs-devices-system-cpu
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,7 @@ What: /sys/devices/system/cpu/vulnerabilities
/sys/devices/system/cpu/vulnerabilities/srbds
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort
/sys/devices/system/cpu/vulnerabilities/itlb_multihit
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data
Date: January 2018
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description: Information about CPU vulnerabilities
Expand Down
1 change: 1 addition & 0 deletions Documentation/admin-guide/hw-vuln/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ are configurable at compile, boot or run time.
tsx_async_abort
multihit.rst
special-register-buffer-data-sampling.rst
processor_mmio_stale_data.rst
246 changes: 246 additions & 0 deletions Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,246 @@
=========================================
Processor MMIO Stale Data Vulnerabilities
=========================================

Processor MMIO Stale Data Vulnerabilities are a class of memory-mapped I/O
(MMIO) vulnerabilities that can expose data. The sequences of operations for
exposing data range from simple to very complex. Because most of the
vulnerabilities require the attacker to have access to MMIO, many environments
are not affected. System environments using virtualization where MMIO access is
provided to untrusted guests may need mitigation. These vulnerabilities are
not transient execution attacks. However, these vulnerabilities may propagate
stale data into core fill buffers where the data can subsequently be inferred
by an unmitigated transient execution attack. Mitigation for these
vulnerabilities includes a combination of microcode update and software
changes, depending on the platform and usage model. Some of these mitigations
are similar to those used to mitigate Microarchitectural Data Sampling (MDS) or
those used to mitigate Special Register Buffer Data Sampling (SRBDS).

Data Propagators
================
Propagators are operations that result in stale data being copied or moved from
one microarchitectural buffer or register to another. Processor MMIO Stale Data
Vulnerabilities are operations that may result in stale data being directly
read into an architectural, software-visible state or sampled from a buffer or
register.

Fill Buffer Stale Data Propagator (FBSDP)
-----------------------------------------
Stale data may propagate from fill buffers (FB) into the non-coherent portion
of the uncore on some non-coherent writes. Fill buffer propagation by itself
does not make stale data architecturally visible. Stale data must be propagated
to a location where it is subject to reading or sampling.

Sideband Stale Data Propagator (SSDP)
-------------------------------------
The sideband stale data propagator (SSDP) is limited to the client (including
Intel Xeon server E3) uncore implementation. The sideband response buffer is
shared by all client cores. For non-coherent reads that go to sideband
destinations, the uncore logic returns 64 bytes of data to the core, including
both requested data and unrequested stale data, from a transaction buffer and
the sideband response buffer. As a result, stale data from the sideband
response and transaction buffers may now reside in a core fill buffer.

Primary Stale Data Propagator (PSDP)
------------------------------------
The primary stale data propagator (PSDP) is limited to the client (including
Intel Xeon server E3) uncore implementation. Similar to the sideband response
buffer, the primary response buffer is shared by all client cores. For some
processors, MMIO primary reads will return 64 bytes of data to the core fill
buffer including both requested data and unrequested stale data. This is
similar to the sideband stale data propagator.

Vulnerabilities
===============
Device Register Partial Write (DRPW) (CVE-2022-21166)
-----------------------------------------------------
Some endpoint MMIO registers incorrectly handle writes that are smaller than
the register size. Instead of aborting the write or only copying the correct
subset of bytes (for example, 2 bytes for a 2-byte write), more bytes than
specified by the write transaction may be written to the register. On
processors affected by FBSDP, this may expose stale data from the fill buffers
of the core that created the write transaction.

Shared Buffers Data Sampling (SBDS) (CVE-2022-21125)
----------------------------------------------------
After propagators may have moved data around the uncore and copied stale data
into client core fill buffers, processors affected by MFBDS can leak data from
the fill buffer. It is limited to the client (including Intel Xeon server E3)
uncore implementation.

Shared Buffers Data Read (SBDR) (CVE-2022-21123)
------------------------------------------------
It is similar to Shared Buffer Data Sampling (SBDS) except that the data is
directly read into the architectural software-visible state. It is limited to
the client (including Intel Xeon server E3) uncore implementation.

Affected Processors
===================
Not all the CPUs are affected by all the variants. For instance, most
processors for the server market (excluding Intel Xeon E3 processors) are
impacted by only Device Register Partial Write (DRPW).

Below is the list of affected Intel processors [#f1]_:

=================== ============ =========
Common name Family_Model Steppings
=================== ============ =========
HASWELL_X 06_3FH 2,4
SKYLAKE_L 06_4EH 3
BROADWELL_X 06_4FH All
SKYLAKE_X 06_55H 3,4,6,7,11
BROADWELL_D 06_56H 3,4,5
SKYLAKE 06_5EH 3
ICELAKE_X 06_6AH 4,5,6
ICELAKE_D 06_6CH 1
ICELAKE_L 06_7EH 5
ATOM_TREMONT_D 06_86H All
LAKEFIELD 06_8AH 1
KABYLAKE_L 06_8EH 9 to 12
ATOM_TREMONT 06_96H 1
ATOM_TREMONT_L 06_9CH 0
KABYLAKE 06_9EH 9 to 13
COMETLAKE 06_A5H 2,3,5
COMETLAKE_L 06_A6H 0,1
ROCKETLAKE 06_A7H 1
=================== ============ =========

If a CPU is in the affected processor list, but not affected by a variant, it
is indicated by new bits in MSR IA32_ARCH_CAPABILITIES. As described in a later
section, mitigation largely remains the same for all the variants, i.e. to
clear the CPU fill buffers via VERW instruction.

New bits in MSRs
================
Newer processors and microcode update on existing affected processors added new
bits to IA32_ARCH_CAPABILITIES MSR. These bits can be used to enumerate
specific variants of Processor MMIO Stale Data vulnerabilities and mitigation
capability.

MSR IA32_ARCH_CAPABILITIES
--------------------------
Bit 13 - SBDR_SSDP_NO - When set, processor is not affected by either the
Shared Buffers Data Read (SBDR) vulnerability or the sideband stale
data propagator (SSDP).
Bit 14 - FBSDP_NO - When set, processor is not affected by the Fill Buffer
Stale Data Propagator (FBSDP).
Bit 15 - PSDP_NO - When set, processor is not affected by Primary Stale Data
Propagator (PSDP).
Bit 17 - FB_CLEAR - When set, VERW instruction will overwrite CPU fill buffer
values as part of MD_CLEAR operations. Processors that do not
enumerate MDS_NO (meaning they are affected by MDS) but that do
enumerate support for both L1D_FLUSH and MD_CLEAR implicitly enumerate
FB_CLEAR as part of their MD_CLEAR support.
Bit 18 - FB_CLEAR_CTRL - Processor supports read and write to MSR
IA32_MCU_OPT_CTRL[FB_CLEAR_DIS]. On such processors, the FB_CLEAR_DIS
bit can be set to cause the VERW instruction to not perform the
FB_CLEAR action. Not all processors that support FB_CLEAR will support
FB_CLEAR_CTRL.

MSR IA32_MCU_OPT_CTRL
---------------------
Bit 3 - FB_CLEAR_DIS - When set, VERW instruction does not perform the FB_CLEAR
action. This may be useful to reduce the performance impact of FB_CLEAR in
cases where system software deems it warranted (for example, when performance
is more critical, or the untrusted software has no MMIO access). Note that
FB_CLEAR_DIS has no impact on enumeration (for example, it does not change
FB_CLEAR or MD_CLEAR enumeration) and it may not be supported on all processors
that enumerate FB_CLEAR.

Mitigation
==========
Like MDS, all variants of Processor MMIO Stale Data vulnerabilities have the
same mitigation strategy to force the CPU to clear the affected buffers before
an attacker can extract the secrets.

This is achieved by using the otherwise unused and obsolete VERW instruction in
combination with a microcode update. The microcode clears the affected CPU
buffers when the VERW instruction is executed.

Kernel reuses the MDS function to invoke the buffer clearing:

mds_clear_cpu_buffers()

On MDS affected CPUs, the kernel already invokes CPU buffer clear on
kernel/userspace, hypervisor/guest and C-state (idle) transitions. No
additional mitigation is needed on such CPUs.

For CPUs not affected by MDS or TAA, mitigation is needed only for the attacker
with MMIO capability. Therefore, VERW is not required for kernel/userspace. For
virtualization case, VERW is only needed at VMENTER for a guest with MMIO
capability.

Mitigation points
-----------------
Return to user space
^^^^^^^^^^^^^^^^^^^^
Same mitigation as MDS when affected by MDS/TAA, otherwise no mitigation
needed.

C-State transition
^^^^^^^^^^^^^^^^^^
Control register writes by CPU during C-state transition can propagate data
from fill buffer to uncore buffers. Execute VERW before C-state transition to
clear CPU fill buffers.

Guest entry point
^^^^^^^^^^^^^^^^^
Same mitigation as MDS when processor is also affected by MDS/TAA, otherwise
execute VERW at VMENTER only for MMIO capable guests. On CPUs not affected by
MDS/TAA, guest without MMIO access cannot extract secrets using Processor MMIO
Stale Data vulnerabilities, so there is no need to execute VERW for such guests.

Mitigation control on the kernel command line
---------------------------------------------
The kernel command line allows to control the Processor MMIO Stale Data
mitigations at boot time with the option "mmio_stale_data=". The valid
arguments for this option are:

========== =================================================================
full If the CPU is vulnerable, enable mitigation; CPU buffer clearing
on exit to userspace and when entering a VM. Idle transitions are
protected as well. It does not automatically disable SMT.
full,nosmt Same as full, with SMT disabled on vulnerable CPUs. This is the
complete mitigation.
off Disables mitigation completely.
========== =================================================================

If the CPU is affected and mmio_stale_data=off is not supplied on the kernel
command line, then the kernel selects the appropriate mitigation.

Mitigation status information
-----------------------------
The Linux kernel provides a sysfs interface to enumerate the current
vulnerability status of the system: whether the system is vulnerable, and
which mitigations are active. The relevant sysfs file is:

/sys/devices/system/cpu/vulnerabilities/mmio_stale_data

The possible values in this file are:

.. list-table::

* - 'Not affected'
- The processor is not vulnerable
* - 'Vulnerable'
- The processor is vulnerable, but no mitigation enabled
* - 'Vulnerable: Clear CPU buffers attempted, no microcode'
- The processor is vulnerable, but microcode is not updated. The
mitigation is enabled on a best effort basis.
* - 'Mitigation: Clear CPU buffers'
- The processor is vulnerable and the CPU buffer clearing mitigation is
enabled.

If the processor is vulnerable then the following information is appended to
the above information:

======================== ===========================================
'SMT vulnerable' SMT is enabled
'SMT disabled' SMT is disabled
'SMT Host state unknown' Kernel runs in a VM, Host SMT state unknown
======================== ===========================================

References
----------
.. [#f1] Affected Processors
https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/processors-affected-consolidated-product-cpu-model.html
48 changes: 32 additions & 16 deletions Documentation/admin-guide/hw-vuln/spectre.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ privileged data touched during the speculative execution.
Spectre variant 1 attacks take advantage of speculative execution of
conditional branches, while Spectre variant 2 attacks use speculative
execution of indirect branches to leak privileged memory.
See :ref:`[1] <spec_ref1>` :ref:`[5] <spec_ref5>` :ref:`[7] <spec_ref7>`
:ref:`[10] <spec_ref10>` :ref:`[11] <spec_ref11>`.
See :ref:`[1] <spec_ref1>` :ref:`[5] <spec_ref5>` :ref:`[6] <spec_ref6>`
:ref:`[7] <spec_ref7>` :ref:`[10] <spec_ref10>` :ref:`[11] <spec_ref11>`.

Spectre variant 1 (Bounds Check Bypass)
---------------------------------------
Expand Down Expand Up @@ -131,6 +131,19 @@ steer its indirect branch speculations to gadget code, and measure the
speculative execution's side effects left in level 1 cache to infer the
victim's data.

Yet another variant 2 attack vector is for the attacker to poison the
Branch History Buffer (BHB) to speculatively steer an indirect branch
to a specific Branch Target Buffer (BTB) entry, even if the entry isn't
associated with the source address of the indirect branch. Specifically,
the BHB might be shared across privilege levels even in the presence of
Enhanced IBRS.

Currently the only known real-world BHB attack vector is via
unprivileged eBPF. Therefore, it's highly recommended to not enable
unprivileged eBPF, especially when eIBRS is used (without retpolines).
For a full mitigation against BHB attacks, it's recommended to use
retpolines (or eIBRS combined with retpolines).

Attack scenarios
----------------

Expand Down Expand Up @@ -364,13 +377,15 @@ The possible values in this file are:

- Kernel status:

==================================== =================================
'Not affected' The processor is not vulnerable
'Vulnerable' Vulnerable, no mitigation
'Mitigation: Full generic retpoline' Software-focused mitigation
'Mitigation: Full AMD retpoline' AMD-specific software mitigation
'Mitigation: Enhanced IBRS' Hardware-focused mitigation
==================================== =================================
======================================== =================================
'Not affected' The processor is not vulnerable
'Mitigation: None' Vulnerable, no mitigation
'Mitigation: Retpolines' Use Retpoline thunks
'Mitigation: LFENCE' Use LFENCE instructions
'Mitigation: Enhanced IBRS' Hardware-focused mitigation
'Mitigation: Enhanced IBRS + Retpolines' Hardware-focused + Retpolines
'Mitigation: Enhanced IBRS + LFENCE' Hardware-focused + LFENCE
======================================== =================================

- Firmware status: Show if Indirect Branch Restricted Speculation (IBRS) is
used to protect against Spectre variant 2 attacks when calling firmware (x86 only).
Expand Down Expand Up @@ -584,12 +599,13 @@ kernel command line.

Specific mitigations can also be selected manually:

retpoline
replace indirect branches
retpoline,generic
google's original retpoline
retpoline,amd
AMD-specific minimal thunk
retpoline auto pick between generic,lfence
retpoline,generic Retpolines
retpoline,lfence LFENCE; indirect branch
retpoline,amd alias for retpoline,lfence
eibrs enhanced IBRS
eibrs,retpoline enhanced IBRS + Retpolines
eibrs,lfence enhanced IBRS + LFENCE

Not specifying this option is equivalent to
spectre_v2=auto.
Expand Down Expand Up @@ -730,7 +746,7 @@ AMD white papers:

.. _spec_ref6:

[6] `Software techniques for managing speculation on AMD processors <https://developer.amd.com/wp-content/resources/90343-B_SoftwareTechniquesforManagingSpeculation_WP_7-18Update_FNL.pdf>`_.
[6] `Software techniques for managing speculation on AMD processors <https://developer.amd.com/wp-content/resources/Managing-Speculation-on-AMD-Processors.pdf>`_.

ARM white papers:

Expand Down
Loading
Loading