Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
170 commits
Select commit Hold shift + click to select a range
596528b
posix-clock: Store file pointer in struct posix_clock_context
wojciechwasko Mar 3, 2025
b564c9a
ptp: Add PHC file mode checks. Allow RO adjtime() without FMODE_WRITE.
wojciechwasko Mar 3, 2025
7da97fb
selftest/ptp: update ptp selftest to exercise the gettimex options
Oct 3, 2024
8f4c62d
testptp: Add option to open PHC in readonly mode
wojciechwasko Mar 3, 2025
6b03ee1
dt-bindings: power: qcom,rpmpd: document the SM8750 RPMh Power Domains
Nov 12, 2024
e173f27
dt-bindings: power: qcom,rpmpd: add Turbo L5 corner
akhilpo-qcom Jul 1, 2025
e843a0a
dt-bindings: power: qcom-rpmpd: split RPMh domains definitions
lumag Jul 18, 2025
4c9550a
dt-bindings: power: qcom,rpmpd: Add SC8280XP_MXC_AO
quic-kdybcio Dec 2, 2025
3ebda70
pmdomain: qcom: rpmhpd: Add MXC to SC8280XP
quic-kdybcio Dec 2, 2025
10cffcf
arm64: dts: qcom: sc8280xp: Add missing VDD_MXC links
quic-kdybcio Dec 2, 2025
16c34e3
Drivers: hv: Always do Hyper-V panic notification in hv_kmsg_dump()
mhklinux Dec 31, 2025
b0e3d0c
btrfs: fix missing fields in superblock backup with BLOCK_GROUP_TREE
maharmstone Jan 13, 2026
9a262d6
ata: ahci: Do not read the per port area for unimplemented ports
floatious Jan 12, 2026
5d9d2a7
ata: libata-sata: Improve link_power_management_supported sysfs attri…
floatious Jan 12, 2026
06baee1
ata: libata: Add cpr_log to ata_dev_print_features() early return
floatious Jan 12, 2026
4a30605
ata: libata-core: Introduce ata_dev_config_lpm()
damien-lemoal Jul 1, 2025
22ca001
ata: libata: Call ata_dev_config_lpm() for ATAPI devices
floatious Jan 12, 2026
445ca05
ata: libata: Print features also for ATAPI devices
floatious Jan 12, 2026
482b34e
ice: initialize ring_stats->syncp
jacob-keller Nov 20, 2025
275ab39
ice: Avoid detrimental cleanup for bond during interface stop
dmertman Nov 20, 2025
a9f5d2c
ice: Fix incorrect timeout ice_release_res()
cdkey Dec 6, 2025
7476f88
igc: Restore default Qbv schedule when changing channels
shifty91 Nov 20, 2025
4891b87
igc: fix race condition in TX timestamp read for register 0
chweelinchoong Nov 28, 2025
0aab4df
vsock/virtio: Coalesce only linear skb
mmhal Jan 13, 2026
8e9e61d
net: usb: dm9601: remove broken SR9700 support
EthanNelson-Moore Jan 13, 2026
c571f31
bonding: limit BOND_MODE_8023AD to Ethernet devices
edumazet Jan 13, 2026
37a37a3
l2tp: Fix memleak in l2tp_udp_encap_recv().
q2ven Jan 13, 2026
e1fb38b
selftests: net: fib-onlink-tests: Convert to use namespaces by default
rbmarliere Jan 13, 2026
eac0036
can: gs_usb: gs_usb_receive_bulk_callback(): unanchor URL on usb_subm…
marckleinebudde Jan 16, 2026
2cb3237
sctp: move SCTP_CMD_ASSOC_SHKEY right after SCTP_CMD_PEER_INIT
lxin Jan 13, 2026
8a6abc6
amd-xgbe: avoid misleading per-packet error log
RajuRangoju Jan 14, 2026
8a3694d
gue: Fix skb memleak with inner IP protocol 0.
q2ven Jan 15, 2026
ee22359
tools: ynl: Specify --no-line-number in ynl-regen.sh.
q2ven Jan 15, 2026
acf16d8
fou: Don't allow 0 for FOU_ATTR_IPPROTO.
q2ven Jan 15, 2026
bf81bf8
veth: fix data race in veth_get_ethtool_stats
yangfl Jan 14, 2026
cad0461
l2tp: avoid one data-race in l2tp_tunnel_del_work()
edumazet Jan 15, 2026
72db61b
ipvlan: Make the addrs_lock be per port
Jan 12, 2026
a6c2d63
octeontx2: cn10k: fix RX flowid TCAM mask handling
aloktiwa Jan 16, 2026
3c9c0a5
net/sched: Enforce that teql can only be used as root qdisc
jhsmt Jan 14, 2026
d2abd47
net/sched: qfq: Use cl_is_active to determine whether class is active…
jhsmt Jan 14, 2026
a6a79cb
crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/E…
5unkn0wn-Theori Jan 16, 2026
146b991
wifi: mac80211: don't perform DA check on S1G beacon
donnaskiez Jan 20, 2026
a24a196
serial: 8250_pci: Fix broken RS485 for F81504/508/512
Jan 12, 2026
e53615d
comedi: dmm32at: serialize use of paged registers
ian-abbott Jan 12, 2026
9f94c4e
w1: therm: Fix off-by-one buffer overflow in alarms_store
toblux Dec 16, 2025
539597d
w1: fix redundant counter decrement in w1_attach_slave_device()
Dec 18, 2025
f766169
Revert "nfc/nci: Add the inconsistency check between the input data l…
Jan 13, 2026
9f30418
Input: i8042 - add quirks for MECHREVO Wujie 15X Pro
Gong-Mi Jan 22, 2026
0831e27
Input: i8042 - add quirk for ASUS Zenbook UX425QA_UM425QA
hari-co Jan 25, 2026
b10ab8e
scsi: storvsc: Process unsupported MODE_SENSE_10
longlimsft Jan 17, 2026
aeb712f
scsi: xen: scsiback: Fix potential memory leak in scsiback_remove()
Dec 23, 2025
bb42ba9
arm64: dts: rockchip: remove dangerous max-link-speed from helios64
geraldog Nov 17, 2025
6ea6f7b
arm64: dts: rockchip: Fix voltage threshold for volume keys for Pinep…
Nov 25, 2025
6ad29b0
x86/kfence: avoid writing L1TF-vulnerable PTEs
andyhhp Jan 6, 2026
30118fc
comedi: Fix getting range information for subdevices 16 to 255
ian-abbott Dec 3, 2025
ef26971
platform/x86: hp-bioscfg: Fix kobject warnings for empty attribute names
superm1 Jan 15, 2026
b73d416
platform/x86: hp-bioscfg: Fix kernel panic in GET_INSTANCE_ID macro
superm1 Jan 15, 2026
a401424
mm/rmap: fix two comments related to huge_pmd_unshare()
Dec 23, 2025
18f3234
io_uring/io-wq: check IO_WQ_BIT_EXIT inside work run loop
axboe Jan 20, 2026
4ed09df
iio: imu: st_lsm6dsx: fix iio_chan_spec for sensors without event det…
Dec 1, 2025
46ddb80
iio: adc: ad7280a: handle spi_setup() errors in probe()
Nov 14, 2025
e2b19ad
interconnect: debugfs: initialize src_node and dst_node to empty strings
Jan 9, 2026
d5167a1
spi: spi-sprd-adi: Fix double free in probe error path
Jan 9, 2026
bad66f5
regmap: Fix race condition in hwspinlock irqsave routine
Jan 9, 2026
d1f0761
kconfig: fix static linking of nconf
Arusekk Jan 10, 2026
f8daaf7
riscv: clocksource: Fix stimecmp update hazard on RV32
pshimizu Jan 4, 2026
1cea282
platform/x86/amd: Fix memory leak in wbrf_record()
GoodLuck612 Jan 6, 2026
0659f9f
scsi: core: Wake up the error handler when final completions race aga…
Jan 13, 2026
7cc7513
scsi: qla2xxx: Sanitize payload size to prevent member overflow
Jan 6, 2026
f2dc511
ALSA: usb: Increase volume range that triggers a warning
ford-prefect Jan 16, 2026
a2f14b4
drm/imagination: Wait for FW trace update command completion
BrajeshGupta Jan 8, 2026
d58f437
netdevsim: fix a race issue related to the operation on bpf_bound_pro…
Jan 16, 2026
ddfe35a
ice: Fix persistent failure in ice_get_rxfh
Dec 13, 2025
c7cd9e8
net: hns3: fix data race in hns3_fetch_stats
yangfl Jan 19, 2026
23f4970
be2net: fix data race in be_get_new_eqd
yangfl Jan 19, 2026
45fab38
net: hns3: fix wrong GENMASK() for HCLGE_FD_AD_COUNTER_NUM_M
Jan 19, 2026
92e52f9
net: hns3: fix the HCLGE_FD_AD_NXT_KEY error setting issue
Jan 19, 2026
1bafb0b
mISDN: annotate data-race around dev->work
edumazet Jan 18, 2026
2fd227e
ipv6: annotate data-race in ndisc_router_discovery()
edumazet Jan 18, 2026
e4b2404
usbnet: limit max_mtu based on device's hard_mtu
vivier Jan 19, 2026
745e01f
clocksource: Reduce watchdog readout delay limit to prevent false pos…
KAGA-KOKO Dec 17, 2025
3ac5328
sched/fair: Fix pelt clock sync when entering idle
vingu-linaro Jan 21, 2026
0f4c722
drm/amd/pm: Don't clear SI SMC table when setting power limit
Jan 19, 2026
254f8b4
drm/amd/pm: Workaround SI powertune issue on Radeon 430 (v2)
Jan 19, 2026
1f1baa3
drm/nouveau: add missing DCB connector types
Dec 13, 2025
640b336
drm/nouveau: implement missing DCB connector types; gracefully handle…
Dec 13, 2025
49f7217
be2net: Fix NULL pointer dereference in be_cmd_get_mac_from_list
Jan 20, 2026
254dcdd
selftests: net: amt: wait longer for connection before sending packets
TaeheeYoo Jan 20, 2026
e894e42
bonding: provide a net pointer to __skb_flow_dissect()
edumazet Jan 20, 2026
a82f751
net: dsa: fix off-by-one in maximum bridge ID determination
vladimiroltean Jan 20, 2026
20a4909
octeontx2-af: Fix error handling
rkannoth1 Jan 21, 2026
7067d7e
net: openvswitch: fix data race in ovs_vport_get_upcall_stats
yangfl Jan 21, 2026
335637a
vsock/virtio: fix potential underflow in virtio_transport_get_credit()
melbinkm Jan 21, 2026
f1c86ce
vsock/test: fix seqpacket message bounds test
stefano-garzarella Jan 21, 2026
0ba897a
vsock/virtio: cap TX credit to local buffer size
melbinkm Jan 21, 2026
0a77f8e
net/sched: act_ife: avoid possible NULL deref
edumazet Jan 21, 2026
c9f04d6
dpll: Prevent duplicate registrations
ivecera Jan 21, 2026
074b7b5
x86: make page fault handling disable interrupts properly
binxing Jan 23, 2026
50b1bb9
tpm: Compare HMAC values in constant time
Aug 1, 2025
753e0ae
keys/trusted_keys: fix handle passed to tpm_buf_append_name during un…
ssrish17 Jan 23, 2026
77f82b4
leds: led-class: Only Add LED to leds_list when it is fully ready
Dec 11, 2025
a914a40
of: fix reference count leak in of_alias_scan()
Jan 17, 2026
f4c1e67
of: platform: Use default match table for /firmware
robherring Jan 14, 2026
99da853
iio: accel: adxl380: fix handling of unavailable "INT1" interrupt
Nov 28, 2025
4f600c7
iio: accel: iis328dq: fix gain values
legkom3 Jan 7, 2026
06bb8a7
iio: adc: ad9467: fix ad9434 vref mask
vai-tomme Dec 3, 2025
1b7a715
iio: adc: at91-sama5d2_adc: Fix potential use-after-free in sama5d2_a…
Oct 29, 2025
8f6cd40
iio: adc: pac1934: Fix clamped value in pac1934_reg_snapshot
toblux Dec 2, 2025
58a4f41
iio: chemical: scd4x: fix reported channel endianness
airtower-luna Dec 13, 2025
a60cb30
iio: dac: ad5686: add AD5695R to ad5686_chip_info_tbl
Nov 17, 2025
a0e80ce
ALSA: ctxfi: Fix potential OOB access in audio mixer handling
tiwai Jan 19, 2026
c294257
ALSA: scarlett2: Fix buffer overflow in config retrieval
samasth-norway Jan 17, 2026
3921bfd
ALSA: usb-audio: Fix use-after-free in snd_usb_mixer_free()
berkgoksel Jan 20, 2026
ac5daed
mmc: rtsx_pci_sdmmc: implement sdmmc_card_busy function
matte-schwartz Dec 29, 2025
8a573a0
mmc: sdhci-of-dwcmshc: Prevent illegal clock reduction in HS200/HS400…
shawn1221 Dec 22, 2025
d6f47a2
drm/nouveau/disp: Set drm_mode_config_funcs.atomic_(check|commit)
Lyude Jan 21, 2026
c4107f2
wifi: ath10k: fix dma_free_coherent() pointer
Thomas-fourier Jan 5, 2026
490f35b
wifi: ath12k: fix dma_free_coherent() pointer
Thomas-fourier Jan 6, 2026
aed6a76
wifi: mwifiex: Fix a loop in mwifiex_update_ampdu_rxwinsize()
Jan 8, 2026
f9935ab
wifi: rsi: Fix memory corruption due to not set vif driver data size
Jan 9, 2026
aff7cc1
arm64/fpsimd: signal: Allocate SSVE storage when restoring ZA
mrutland-arm Jan 20, 2026
ef5e551
arm64: Set __nocfi on swsusp_arch_resume()
Jan 22, 2026
fb559c0
octeontx2: Fix otx2_dma_map_page() error return code
Thomas-fourier Jan 14, 2026
b7ef96b
slimbus: core: fix runtime PM imbalance on report present
jhovold Nov 26, 2025
b7d8f81
slimbus: core: fix device reference leak on report present
jhovold Nov 26, 2025
4493299
tracing: Fix crash on synthetic stacktrace field usage
rostedt Jan 23, 2026
719b302
intel_th: fix device leak on output open()
jhovold Dec 8, 2025
7eab517
mei: trace: treat reg parameter as string
ausyskin Jan 11, 2026
d133321
s390/ap: Fix wrong APQN fill calculation
hfreude Jan 19, 2026
2f9fd3e
uacce: fix cdev handling in the cleanup path
lin755 Dec 2, 2025
3900ecb
uacce: fix isolate sysfs check condition
Dec 2, 2025
ad38a5b
uacce: implement mremap in uacce_vm_ops to return -EPERM
Dec 2, 2025
0861b52
uacce: ensure safe queue release with state management
Dec 2, 2025
65a4713
netrom: fix double-free in nr_route_frame()
name2965 Jan 19, 2026
f072e18
platform/x86: hp-bioscfg: Fix automatic module loading
superm1 Jan 15, 2026
08acf60
pmdomain: imx8m-blk-ctrl: Remove separate rst and clk mask for 8mq vpu
Dec 5, 2025
fdb4f04
perf/x86/intel: Do not enable BTS for guests
Dec 11, 2025
4c24a5d
irqchip/gic-v3-its: Avoid truncating memory addresses
arndb Jan 19, 2026
a8d6fc1
net: sfp: add potron quirk to the H-COM SPP425H-GAB4 SFP+ Stick
effective-light Jan 13, 2026
f9719ef
can: ems_usb: ems_usb_read_bulk_callback(): fix URB memory leak
marckleinebudde Jan 10, 2026
7c3a964
can: kvaser_usb: kvaser_usb_read_bulk_callback(): fix URB memory leak
marckleinebudde Jan 10, 2026
1e9762c
can: mcba_usb: mcba_usb_read_bulk_callback(): fix URB memory leak
marckleinebudde Jan 10, 2026
f73c736
can: usb_8dev: usb_8dev_read_bulk_callback(): fix URB memory leak
marckleinebudde Jan 10, 2026
acf1e45
drm/amdgpu: remove frame cntl for gfx v12
Dec 15, 2025
dc9b8ef
gpio: cdev: Correct return code on memory allocation failure
Jan 16, 2026
85b50d5
migrate: correct lock ordering for hugetlb file folios
Jan 9, 2026
1521633
dmaengine: ti: k3-udma: Enable second resource range for BCDMA and PK…
Siddharth-Vadapalli-at-TI Feb 5, 2025
ebe27fd
can: esd_usb: esd_usb_read_bulk_callback(): fix URB memory leak
marckleinebudde Jan 10, 2026
40f5ee6
selftests/bpf: Check for timeout in perf_link test
theihor Oct 11, 2024
481f065
bpf: Do not let BPF test infra emit invalid GSO types to stack
borkmann Oct 20, 2025
26fa5d2
arm64: dts: rockchip: remove redundant max-link-speed from nanopi-r4s
geraldog Jan 26, 2026
6c789cd
iio: core: add missing mutex_destroy in iio_dev_release()
andy-shev Jan 26, 2026
a70bc8e
iio: core: Replace lockdep_set_class() + mutex_init() by combined call
andy-shev Jan 26, 2026
7267e63
iio: core: add separate lockdep class for info_exist_lock
ravi-prevas Jan 26, 2026
39c47af
iio: adc: exynos_adc: fix OF populate on driver rebind
jhovold Jan 27, 2026
a043ef2
exfat: fix refcount leak in exfat_find
sfu2 Jan 23, 2026
c47154a
sched_ext: Fix possible deadlock in the deferred_irq_workfn()
Jan 23, 2026
cb6c385
fs/ntfs3: Initialize allocated memory before use
Bartekkubik Jan 23, 2026
66eeee0
accel/ivpu: Fix race condition when unbinding BOs
trusinowicz Jan 23, 2026
2b162ab
btrfs: fix racy bitfield write in btrfs_clear_space_info_full()
boryas Jan 27, 2026
0f36ab1
wifi: ath11k: fix RCU stall while reaping monitor destination ring
Jan 28, 2026
28a3cec
vsock/virtio: Move length check to callers of virtio_vsock_skb_rx_put()
willdeacon Jan 26, 2026
59ca539
vsock/virtio: Rename virtio_vsock_alloc_skb()
willdeacon Jan 26, 2026
e923920
vsock/virtio: Move SKB allocation lower-bound check to callers
willdeacon Jan 26, 2026
0a78cf9
vsock/virtio: Rename virtio_vsock_skb_rx_put()
willdeacon Jan 26, 2026
0a0d46f
vhost/vsock: Allocate nonlinear SKBs for handling large receive buffers
willdeacon Jan 26, 2026
7b53c32
vsock/virtio: Allocate nonlinear SKBs for handling large transmit buf…
willdeacon Jan 26, 2026
32ae7e0
net: Introduce skb_copy_datagram_from_iter_full()
willdeacon Jan 26, 2026
d18711f
vsock/virtio: Fix message iterator handling on transmit path
willdeacon Jan 26, 2026
042ca45
Linux 6.12.68
gregkh Jan 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ properties:
- qcom,sm8450-rpmhpd
- qcom,sm8550-rpmhpd
- qcom,sm8650-rpmhpd
- qcom,sm8750-rpmhpd
- qcom,x1e80100-rpmhpd
- items:
- enum:
Expand Down
2 changes: 2 additions & 0 deletions Documentation/netlink/specs/fou.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ attribute-sets:
-
name: ipproto
type: u8
checks:
min: 1
-
name: type
type: u8
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 6
PATCHLEVEL = 12
SUBLEVEL = 67
SUBLEVEL = 68
EXTRAVERSION =
NAME = Baby Opossum Posse

Expand Down
16 changes: 12 additions & 4 deletions arch/arm64/boot/dts/qcom/sc8280xp.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -5218,8 +5218,12 @@
clocks = <&rpmhcc RPMH_CXO_CLK>;
clock-names = "xo";

power-domains = <&rpmhpd SC8280XP_NSP>;
power-domain-names = "nsp";
power-domains = <&rpmhpd SC8280XP_NSP>,
<&rpmhpd SC8280XP_CX>,
<&rpmhpd SC8280XP_MXC>;
power-domain-names = "nsp",
"cx",
"mxc";

memory-region = <&pil_nsp0_mem>;

Expand Down Expand Up @@ -5349,8 +5353,12 @@
clocks = <&rpmhcc RPMH_CXO_CLK>;
clock-names = "xo";

power-domains = <&rpmhpd SC8280XP_NSP>;
power-domain-names = "nsp";
power-domains = <&rpmhpd SC8280XP_NSP>,
<&rpmhpd SC8280XP_CX>,
<&rpmhpd SC8280XP_MXC>;
power-domain-names = "nsp",
"cx",
"mxc";

memory-region = <&pil_nsp1_mem>;

Expand Down
1 change: 0 additions & 1 deletion arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,6 @@

&pcie0 {
ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
max-link-speed = <2>;
num-lanes = <2>;
pinctrl-names = "default";
status = "okay";
Expand Down
1 change: 0 additions & 1 deletion arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@
};

&pcie0 {
max-link-speed = <1>;
num-lanes = <1>;
vpcie3v3-supply = <&vcc3v3_sys>;
};
Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,13 @@
button-up {
label = "Volume Up";
linux,code = <KEY_VOLUMEUP>;
press-threshold-microvolt = <100000>;
press-threshold-microvolt = <2000>;
};

button-down {
label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>;
press-threshold-microvolt = <600000>;
press-threshold-microvolt = <300000>;
};
};

Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/kernel/hibernate.c
Original file line number Diff line number Diff line change
Expand Up @@ -396,7 +396,7 @@ int swsusp_arch_suspend(void)
* Memory allocated by get_safe_page() will be dealt with by the hibernate code,
* we don't need to free it here.
*/
int swsusp_arch_resume(void)
int __nocfi swsusp_arch_resume(void)
{
int rc;
void *zero_page;
Expand Down
4 changes: 4 additions & 0 deletions arch/arm64/kernel/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -590,6 +590,10 @@ static int restore_za_context(struct user_ctxs *user)
fpsimd_flush_task_state(current);
/* From now, fpsimd_thread_switch() won't touch thread.sve_state */

sve_alloc(current, false);
if (!current->thread.sve_state)
return -ENOMEM;

sme_alloc(current, true);
if (!current->thread.sme_state) {
current->thread.svcr &= ~SVCR_ZA_MASK;
Expand Down
13 changes: 11 additions & 2 deletions arch/x86/events/perf_event.h
Original file line number Diff line number Diff line change
Expand Up @@ -1513,13 +1513,22 @@ static inline bool intel_pmu_has_bts_period(struct perf_event *event, u64 period
struct hw_perf_event *hwc = &event->hw;
unsigned int hw_event, bts_event;

if (event->attr.freq)
/*
* Only use BTS for fixed rate period==1 events.
*/
if (event->attr.freq || period != 1)
return false;

/*
* BTS doesn't virtualize.
*/
if (event->attr.exclude_host)
return false;

hw_event = hwc->config & INTEL_ARCH_EVENT_MASK;
bts_event = x86_pmu.event_map(PERF_COUNT_HW_BRANCH_INSTRUCTIONS);

return hw_event == bts_event && period == 1;
return hw_event == bts_event;
}

static inline bool intel_pmu_has_bts(struct perf_event *event)
Expand Down
29 changes: 24 additions & 5 deletions arch/x86/include/asm/kfence.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,22 +42,41 @@ static inline bool kfence_protect_page(unsigned long addr, bool protect)
{
unsigned int level;
pte_t *pte = lookup_address(addr, &level);
pteval_t val;

if (WARN_ON(!pte || level != PG_LEVEL_4K))
return false;

val = pte_val(*pte);

/*
* protect requires making the page not-present. If the PTE is
* already in the right state, there's nothing to do.
*/
if (protect != !!(val & _PAGE_PRESENT))
return true;

/*
* Otherwise, invert the entire PTE. This avoids writing out an
* L1TF-vulnerable PTE (not present, without the high address bits
* set).
*/
set_pte(pte, __pte(~val));

/*
* If the page was protected (non-present) and we're making it
* present, there is no need to flush the TLB at all.
*/
if (!protect)
return true;

/*
* We need to avoid IPIs, as we may get KFENCE allocations or faults
* with interrupts disabled. Therefore, the below is best-effort, and
* does not flush TLBs on all CPUs. We can tolerate some inaccuracy;
* lazy fault handling takes care of faults after the page is PRESENT.
*/

if (protect)
set_pte(pte, __pte(pte_val(*pte) & ~_PAGE_PRESENT));
else
set_pte(pte, __pte(pte_val(*pte) | _PAGE_PRESENT));

/*
* Flush this CPU's TLB, assuming whoever did the allocation/free is
* likely to continue running on this CPU.
Expand Down
15 changes: 5 additions & 10 deletions arch/x86/mm/fault.c
Original file line number Diff line number Diff line change
Expand Up @@ -823,8 +823,6 @@ __bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code,
force_sig_pkuerr((void __user *)address, pkey);
else
force_sig_fault(SIGSEGV, si_code, (void __user *)address);

local_irq_disable();
}

static noinline void
Expand Down Expand Up @@ -1479,15 +1477,12 @@ handle_page_fault(struct pt_regs *regs, unsigned long error_code,
do_kern_addr_fault(regs, error_code, address);
} else {
do_user_addr_fault(regs, error_code, address);
/*
* User address page fault handling might have reenabled
* interrupts. Fixing up all potential exit points of
* do_user_addr_fault() and its leaf functions is just not
* doable w/o creating an unholy mess or turning the code
* upside down.
*/
local_irq_disable();
}
/*
* page fault handling might have reenabled interrupts,
* make sure to disable them again.
*/
local_irq_disable();
}

DEFINE_IDTENTRY_RAW_ERRORCODE(exc_page_fault)
Expand Down
6 changes: 6 additions & 0 deletions crypto/authencesn.c
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,9 @@ static int crypto_authenc_esn_encrypt(struct aead_request *req)
struct scatterlist *src, *dst;
int err;

if (assoclen < 8)
return -EINVAL;

sg_init_table(areq_ctx->src, 2);
src = scatterwalk_ffwd(areq_ctx->src, req->src, assoclen);
dst = src;
Expand Down Expand Up @@ -275,6 +278,9 @@ static int crypto_authenc_esn_decrypt(struct aead_request *req)
u32 tmp[2];
int err;

if (assoclen < 8)
return -EINVAL;

cryptlen -= authsize;

if (req->src != dst) {
Expand Down
3 changes: 2 additions & 1 deletion drivers/accel/ivpu/ivpu_gem.c
Original file line number Diff line number Diff line change
Expand Up @@ -240,14 +240,15 @@ static void ivpu_gem_bo_free(struct drm_gem_object *obj)

mutex_lock(&vdev->bo_list_lock);
list_del(&bo->bo_list_node);
mutex_unlock(&vdev->bo_list_lock);

drm_WARN_ON(&vdev->drm, !drm_gem_is_imported(&bo->base.base) &&
!dma_resv_test_signaled(obj->resv, DMA_RESV_USAGE_READ));
drm_WARN_ON(&vdev->drm, ivpu_bo_size(bo) == 0);
drm_WARN_ON(&vdev->drm, bo->base.vaddr);

ivpu_bo_unbind_locked(bo);
mutex_unlock(&vdev->bo_list_lock);

drm_WARN_ON(&vdev->drm, bo->mmu_mapped);
drm_WARN_ON(&vdev->drm, bo->ctx);

Expand Down
10 changes: 5 additions & 5 deletions drivers/ata/ahci.c
Original file line number Diff line number Diff line change
Expand Up @@ -2071,13 +2071,13 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
if (ap->flags & ATA_FLAG_EM)
ap->em_message_type = hpriv->em_msg_type;

ahci_mark_external_port(ap);

ahci_update_initial_lpm_policy(ap);

/* disabled/not-implemented port */
if (!(hpriv->port_map & (1 << i)))
if (!(hpriv->port_map & (1 << i))) {
ap->ops = &ata_dummy_port_ops;
} else {
ahci_mark_external_port(ap);
ahci_update_initial_lpm_policy(ap);
}
}

/* apply workaround for ASUS P5W DH Deluxe mainboard */
Expand Down
32 changes: 31 additions & 1 deletion drivers/ata/libata-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -2801,9 +2801,33 @@ static void ata_dev_config_cpr(struct ata_device *dev)
kfree(buf);
}

/*
* Configure features related to link power management.
*/
static void ata_dev_config_lpm(struct ata_device *dev)
{
struct ata_port *ap = dev->link->ap;
unsigned int err_mask;

/*
* Device Initiated Power Management (DIPM) is normally disabled by
* default on a device. However, DIPM may have been enabled and that
* setting kept even after COMRESET because of the Software Settings
* Preservation feature. So if the port does not support DIPM and the
* device does, disable DIPM on the device.
*/
if (ap->flags & ATA_FLAG_NO_DIPM && ata_id_has_dipm(dev->id)) {
err_mask = ata_dev_set_feature(dev,
SETFEATURES_SATA_DISABLE, SATA_DIPM);
if (err_mask && err_mask != AC_ERR_DEV)
ata_dev_err(dev, "Disable DIPM failed, Emask 0x%x\n",
err_mask);
}
}

static void ata_dev_print_features(struct ata_device *dev)
{
if (!(dev->flags & ATA_DFLAG_FEATURES_MASK))
if (!(dev->flags & ATA_DFLAG_FEATURES_MASK) && !dev->cpr_log)
return;

ata_dev_info(dev,
Expand Down Expand Up @@ -2974,6 +2998,7 @@ int ata_dev_configure(struct ata_device *dev)
ata_dev_config_chs(dev);
}

ata_dev_config_lpm(dev);
ata_dev_config_fua(dev);
ata_dev_config_devslp(dev);
ata_dev_config_sense_reporting(dev);
Expand Down Expand Up @@ -3048,6 +3073,11 @@ int ata_dev_configure(struct ata_device *dev)
ata_mode_string(xfer_mask),
cdb_intr_string, atapi_an_string,
dma_dir_string);

ata_dev_config_lpm(dev);

if (print_info)
ata_dev_print_features(dev);
}

/* determine max_sectors */
Expand Down
2 changes: 1 addition & 1 deletion drivers/ata/libata-sata.c
Original file line number Diff line number Diff line change
Expand Up @@ -909,7 +909,7 @@ static bool ata_scsi_lpm_supported(struct ata_port *ap)
struct ata_link *link;
struct ata_device *dev;

if (ap->flags & ATA_FLAG_NO_LPM)
if ((ap->flags & ATA_FLAG_NO_LPM) || !ap->ops->set_lpm)
return false;

ata_for_each_link(link, ap, EDGE) {
Expand Down
4 changes: 3 additions & 1 deletion drivers/base/regmap/regmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -408,9 +408,11 @@ static void regmap_lock_hwlock_irq(void *__map)
static void regmap_lock_hwlock_irqsave(void *__map)
{
struct regmap *map = __map;
unsigned long flags = 0;

hwspin_lock_timeout_irqsave(map->hwlock, UINT_MAX,
&map->spinlock_flags);
&flags);
map->spinlock_flags = flags;
}

static void regmap_unlock_hwlock(void *__map)
Expand Down
1 change: 1 addition & 0 deletions drivers/char/tpm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ config TCG_TPM2_HMAC
select CRYPTO_ECDH
select CRYPTO_LIB_AESCFB
select CRYPTO_LIB_SHA256
select CRYPTO_LIB_UTILS
help
Setting this causes us to deploy a scheme which uses request
and response HMACs in addition to encryption for
Expand Down
6 changes: 3 additions & 3 deletions drivers/char/tpm/tpm2-sessions.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@
#include <crypto/ecdh.h>
#include <crypto/hash.h>
#include <crypto/hmac.h>
#include <crypto/utils.h>

/* maximum number of names the TPM must remember for authorization */
#define AUTH_MAX_NAMES 3
Expand Down Expand Up @@ -888,12 +889,11 @@ int tpm_buf_check_hmac_response(struct tpm_chip *chip, struct tpm_buf *buf,
/* we're done with the rphash, so put our idea of the hmac there */
tpm2_hmac_final(&sctx, auth->session_key, sizeof(auth->session_key)
+ auth->passphrase_len, rphash);
if (memcmp(rphash, &buf->data[offset_s], SHA256_DIGEST_SIZE) == 0) {
rc = 0;
} else {
if (crypto_memneq(rphash, &buf->data[offset_s], SHA256_DIGEST_SIZE)) {
dev_err(&chip->dev, "TPM: HMAC check failed\n");
goto out;
}
rc = 0;

/* now do response decryption */
if (auth->attrs & TPM2_SA_ENCRYPT) {
Expand Down
3 changes: 2 additions & 1 deletion drivers/clocksource/timer-riscv.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,9 @@ static int riscv_clock_next_event(unsigned long delta,

if (static_branch_likely(&riscv_sstc_available)) {
#if defined(CONFIG_32BIT)
csr_write(CSR_STIMECMP, next_tval & 0xFFFFFFFF);
csr_write(CSR_STIMECMP, ULONG_MAX);
csr_write(CSR_STIMECMPH, next_tval >> 32);
csr_write(CSR_STIMECMP, next_tval & 0xFFFFFFFF);
#else
csr_write(CSR_STIMECMP, next_tval);
#endif
Expand Down
2 changes: 1 addition & 1 deletion drivers/comedi/comedi_fops.c
Original file line number Diff line number Diff line change
Expand Up @@ -1099,7 +1099,7 @@ static int do_chaninfo_ioctl(struct comedi_device *dev,
for (i = 0; i < s->n_chan; i++) {
int x;

x = (dev->minor << 28) | (it->subdev << 24) | (i << 16) |
x = (it->subdev << 24) | (i << 16) |
(s->range_table_list[i]->length);
if (put_user(x, it->rangelist + i))
return -EFAULT;
Expand Down
Loading
Loading