Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
3ceaa85
ARM: 9132/1: Fix __get_user_check failure with ARM KASAN images
shaolexi Sep 23, 2021
6ad8bbc
ARM: 9133/1: mm: proc-macros: ensure *_tlb_fns are 4B aligned
nickdesaulniers Oct 4, 2021
8a6af97
ARM: 9134/1: remove duplicate memcpy() definition
arndb Oct 18, 2021
c06d7d9
ARM: 9138/1: fix link warning with XIP + frame-pointer
arndb Oct 18, 2021
15b278f
ARM: 9139/1: kprobes: fix arch_init_kprobes() prototype
arndb Oct 18, 2021
5a768b4
ARM: 9141/1: only warn about XIP address when not compile testing
arndb Oct 18, 2021
3f2c12e
io_uring: don't take uring_lock during iowq cancel
isilence Feb 18, 2021
e184a21
powerpc/bpf: Fix BPF_MOD when imm == 1
rnav Oct 5, 2021
d4d9c06
arm64: Avoid premature usercopy failure
rmurphy-arm Jul 12, 2021
b663890
ext4: fix possible UAF when remounting r/o a mmp-protected file system
tytso Jul 2, 2021
693ecbe
usbnet: sanity check for maxpacket
oneukum Oct 21, 2021
017718d
usbnet: fix error return code in usbnet_probe()
Oct 26, 2021
01c2881
Revert "pinctrl: bcm: ns: support updated DT binding as syscon subnode"
Oct 8, 2021
9a52798
pinctrl: amd: disable and mask interrupts on probe
nakato Oct 9, 2021
5aa5bab
ata: sata_mv: Fix the error handling of mv_chip_id()
ZheyuMa Oct 22, 2021
0b1b3e0
tipc: fix size validations for the MSG_CRYPTO type
maxvs1 Oct 25, 2021
11c0406
nfc: port100: fix using -ERRNO as command type mask
krzk Oct 25, 2021
c828115
Revert "net: mdiobus: Fix memory leak in __mdiobus_register"
pskrgag Sep 30, 2021
f3dec7e
net/tls: Fix flipped sign in tls_err_abort() calls
danieljordan10 Oct 27, 2021
efe9346
mmc: vub300: fix control-message timeouts
jhovold Oct 25, 2021
44c2bc2
mmc: cqhci: clear HALT state after CQE enable
wenbinmei1 Oct 26, 2021
12a46f7
mmc: mediatek: Move cqhci init behind ungate clock
wenbinmei1 Oct 28, 2021
a95a76f
mmc: dw_mmc: exynos: fix the finding clock sample value
jh80chung Oct 22, 2021
ee3213b
mmc: sdhci: Map more voltage level to SDHCI_POWER_330
shawnguo2 Oct 4, 2021
01169a4
mmc: sdhci-esdhc-imx: clear the buffer_read_ready to reset standard t…
Oct 15, 2021
5043fbd
ocfs2: fix race between searching chunks and release journal_head fro…
gtmoth Oct 28, 2021
db1191a
nvme-tcp: fix H2CData PDU send accounting (again)
sagigrimberg Oct 24, 2021
fa29cec
cfg80211: scan: fix RCU in cfg80211_add_nontrans_list()
jmberg-intel Sep 30, 2021
4c22227
cfg80211: fix management registrations locking
jmberg-intel Oct 25, 2021
8fb858b
net: lan78xx: fix division by zero in send path
jhovold Oct 26, 2021
69a7fa5
mm, thp: bail out early in collapse_file for writeback page
wangrongwei Oct 28, 2021
c21b400
drm/ttm: fix memleak in ttm_transfered_destroy
ChristianKoenigAMD Oct 20, 2021
eb3b680
drm/amdgpu: fix out of bounds write
docfate111 Oct 13, 2021
01599bf
cgroup: Fix memory leak caused by missing cgroup_bpf_offline
wqyoung Oct 18, 2021
cac6b04
riscv, bpf: Fix potential NULL dereference
Oct 28, 2021
15dec6d
tcp_bpf: Fix one concurrency problem in the tcp_bpf_send_verdict func…
liujian56 Oct 12, 2021
dd2260e
bpf: Fix potential race in tail call compatibility check
tohojo Oct 26, 2021
ee4908f
bpf: Fix error usage of map_fd and fdget() in generic_map_update_batch()
Oct 19, 2021
c3e17e5
IB/qib: Protect from buffer overflow in struct qib_user_sdma_pkt fields
Oct 12, 2021
d98883f
IB/hfi1: Fix abba locking issue with sc_disable()
Oct 13, 2021
4286c72
nvmet-tcp: fix data digest pointer calculation
Oct 25, 2021
32f3db2
nvme-tcp: fix data digest pointer calculation
Oct 25, 2021
c63d7f2
nvme-tcp: fix possible req->offset corruption
Oct 26, 2021
24fd8e2
octeontx2-af: Display all enabled PF VF rsrc_alloc entries.
Oct 27, 2021
10e40fb
RDMA/mlx5: Set user priority for DCT
PatrisiousHaddad Oct 6, 2021
2cf7d93
arm64: dts: allwinner: h5: NanoPI Neo 2: Fix ethernet node
ubitux Sep 5, 2021
e51371b
reset: brcmstb-rescal: fix incorrect polarity of status bit
jim2101024 Sep 14, 2021
36e911a
regmap: Fix possible double-free in regcache_rbtree_exit()
Oct 12, 2021
b0a2cd3
net: batman-adv: fix error handling
pskrgag Oct 24, 2021
aed897e
net-sysfs: initialize uid and gid before calling net_ns_get_ownership
lxin Oct 25, 2021
04121b1
cfg80211: correct bridge/4addr mode check
januszdziedzic Oct 24, 2021
2b7c5ee
net: Prevent infinite while loop in skb_tx_hash()
Oct 25, 2021
863a423
RDMA/sa_query: Use strscpy_pad instead of memcpy to copy a string
MarkZhang81 Oct 24, 2021
aead029
gpio: xgs-iproc: fix parsing of ngpios property
KanjiMonster Oct 14, 2021
be98be1
nios2: Make NIOS2_DTB_SOURCE_BOOL depend on !COMPILE_TEST
groeck Oct 20, 2021
e81bed5
mlxsw: pci: Recycle received packet upon allocation failure
idosch Oct 24, 2021
bfa6fbd
net: ethernet: microchip: lan743x: Fix driver crash when lan743x_pm_r…
microchip1 Oct 22, 2021
c2af209
net: ethernet: microchip: lan743x: Fix dma allocation failure by usin…
microchip1 Oct 22, 2021
44e8c93
net: nxp: lpc_eth.c: avoid hang when bringing interface down
twoerner Oct 24, 2021
5872232
net/tls: Fix flipped sign in async_wait.err assignment
danieljordan10 Oct 27, 2021
258c5fe
phy: phy_ethtool_ksettings_get: Lock the phy for consistency
lunn Oct 24, 2021
81780b6
phy: phy_ethtool_ksettings_set: Move after phy_start_aneg
lunn Oct 24, 2021
5b88bb9
phy: phy_start_aneg: Add an unlocked version
lunn Oct 24, 2021
4509000
phy: phy_ethtool_ksettings_set: Lock the PHY while changing settings
lunn Oct 24, 2021
ad111d4
sctp: use init_tag from inithdr for ABORT chunk
lxin Oct 20, 2021
8c50693
sctp: fix the processing for INIT_ACK chunk
lxin Oct 20, 2021
dad2486
sctp: fix the processing for COOKIE_ECHO chunk
lxin Oct 20, 2021
14c1e02
sctp: add vtag check in sctp_sf_violation
lxin Oct 20, 2021
c2442f7
sctp: add vtag check in sctp_sf_do_8_5_1_E_sa
lxin Oct 20, 2021
a7112b8
sctp: add vtag check in sctp_sf_ootb
lxin Oct 20, 2021
727e5de
lan743x: fix endianness when accessing descriptors
alexeyden Jan 28, 2021
e11a735
KVM: s390: clear kicked_mask before sleeping again
halil-pasic Oct 19, 2021
8ecddac
KVM: s390: preserve deliverable_mask in __airqs_kick_single_vcpu
halil-pasic Oct 19, 2021
acb8832
scsi: ufs: ufs-exynos: Correct timeout value setting registers
cometzero Oct 18, 2021
7a4cf25
riscv: fix misalgned trap vector base address
jaypiper Oct 18, 2021
6f41681
riscv: Fix asan-stack clang build
AlexGhiti Oct 29, 2021
fbb91da
perf script: Check session->header.env.arch before using it
liu-song-6 Oct 4, 2021
09df347
Linux 5.10.77
gregkh Nov 2, 2021
644b834
Merge tag 'v5.10.77' into 5.10-2.1.x-imx
zandrey Nov 2, 2021
7b57c38
scsi: core: Put LLD module refcnt after SCSI device is released
Oct 8, 2021
7487865
Revert "io_uring: reinforce cancel on flush during exit"
Nov 2, 2021
0382fdf
sfc: Fix reading non-legacy supported link modes
yarrick Oct 17, 2021
b9c85a7
vrf: Revert "Reset skb conntrack connection..."
crosser Oct 18, 2021
b93a70b
net: ethernet: microchip: lan743x: Fix skb allocation failure
microchip1 Oct 27, 2021
d7fc85f
media: firewire: firedtv-avc: fix a buffer overflow in avc_ca_pmt()
Jun 7, 2021
50f46bd
Revert "xhci: Set HCD flag to defer primary roothub registration"
gregkh Nov 3, 2021
5a79574
Revert "usb: core: hcd: Add support for deferring roothub registration"
gregkh Nov 3, 2021
6d67b2a
mm: khugepaged: skip huge page collapse for special files
yang-shi Oct 28, 2021
bbc920f
Revert "drm/ttm: fix memleak in ttm_transfered_destroy"
gregkh Nov 4, 2021
f84b791
ARM: 9120/1: Revert "amba: make use of -1 IRQs warn"
Aug 23, 2021
68765fc
Revert "wcn36xx: Disable bmps when encryption is disabled"
0xB0D Oct 22, 2021
f3eb44f
ALSA: usb-audio: Add Schiit Hel device to mixer map quirk table
tiwai Nov 4, 2021
4c7c024
ALSA: usb-audio: Add Audient iD14 to mixer map quirk table
tiwai Nov 4, 2021
5040520
Linux 5.10.78
gregkh Nov 6, 2021
e1744bc
Merge tag 'v5.10.78' into 5.10-2.1.x-imx
zandrey Nov 8, 2021
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
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 = 5
PATCHLEVEL = 10
SUBLEVEL = 76
SUBLEVEL = 78
EXTRAVERSION =
NAME = Dare mighty things

Expand Down
3 changes: 3 additions & 0 deletions arch/arm/boot/compressed/decompress.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,10 @@ extern char * strchrnul(const char *, int);
#endif

#ifdef CONFIG_KERNEL_XZ
/* Prevent KASAN override of string helpers in decompressor */
#undef memmove
#define memmove memmove
#undef memcpy
#define memcpy memcpy
#include "../../../../lib/decompress_unxz.c"
#endif
Expand Down
4 changes: 3 additions & 1 deletion arch/arm/include/asm/uaccess.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ extern int __get_user_64t_4(void *);
register unsigned long __l asm("r1") = __limit; \
register int __e asm("r0"); \
unsigned int __ua_flags = uaccess_save_and_enable(); \
int __tmp_e; \
switch (sizeof(*(__p))) { \
case 1: \
if (sizeof((x)) >= 8) \
Expand Down Expand Up @@ -227,9 +228,10 @@ extern int __get_user_64t_4(void *);
break; \
default: __e = __get_user_bad(); break; \
} \
__tmp_e = __e; \
uaccess_restore(__ua_flags); \
x = (typeof(*(p))) __r2; \
__e; \
__tmp_e; \
})

#define get_user(x, p) \
Expand Down
6 changes: 5 additions & 1 deletion arch/arm/kernel/vmlinux-xip.lds.S
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ SECTIONS
ARM_DISCARD
*(.alt.smp.init)
*(.pv_table)
#ifndef CONFIG_ARM_UNWIND
*(.ARM.exidx) *(.ARM.exidx.*)
*(.ARM.extab) *(.ARM.extab.*)
#endif
}

. = XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR);
Expand Down Expand Up @@ -172,7 +176,7 @@ ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined")
ASSERT((_end - __bss_start) >= 12288, ".bss too small for CONFIG_XIP_DEFLATED_DATA")
#endif

#ifdef CONFIG_ARM_MPU
#if defined(CONFIG_ARM_MPU) && !defined(CONFIG_COMPILE_TEST)
/*
* Due to PMSAv7 restriction on base address and size we have to
* enforce minimal alignment restrictions. It was seen that weaker
Expand Down
1 change: 1 addition & 0 deletions arch/arm/mm/proc-macros.S
Original file line number Diff line number Diff line change
Expand Up @@ -340,6 +340,7 @@ ENTRY(\name\()_cache_fns)

.macro define_tlb_functions name:req, flags_up:req, flags_smp
.type \name\()_tlb_fns, #object
.align 2
ENTRY(\name\()_tlb_fns)
.long \name\()_flush_user_tlb_range
.long \name\()_flush_kern_tlb_range
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/probes/kprobes/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,7 @@ static struct undef_hook kprobes_arm_break_hook = {

#endif /* !CONFIG_THUMB2_KERNEL */

int __init arch_init_kprobes()
int __init arch_init_kprobes(void)
{
arm_probes_decode_init();
#ifdef CONFIG_THUMB2_KERNEL
Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
pinctrl-0 = <&emac_rgmii_pins>;
phy-supply = <&reg_gmac_3v3>;
phy-handle = <&ext_rgmii_phy>;
phy-mode = "rgmii";
phy-mode = "rgmii-id";
status = "okay";
};

Expand Down
13 changes: 10 additions & 3 deletions arch/arm64/lib/copy_from_user.S
Original file line number Diff line number Diff line change
Expand Up @@ -29,32 +29,34 @@
.endm

.macro ldrh1 reg, ptr, val
uao_user_alternative 9998f, ldrh, ldtrh, \reg, \ptr, \val
uao_user_alternative 9997f, ldrh, ldtrh, \reg, \ptr, \val
.endm

.macro strh1 reg, ptr, val
strh \reg, [\ptr], \val
.endm

.macro ldr1 reg, ptr, val
uao_user_alternative 9998f, ldr, ldtr, \reg, \ptr, \val
uao_user_alternative 9997f, ldr, ldtr, \reg, \ptr, \val
.endm

.macro str1 reg, ptr, val
str \reg, [\ptr], \val
.endm

.macro ldp1 reg1, reg2, ptr, val
uao_ldp 9998f, \reg1, \reg2, \ptr, \val
uao_ldp 9997f, \reg1, \reg2, \ptr, \val
.endm

.macro stp1 reg1, reg2, ptr, val
stp \reg1, \reg2, [\ptr], \val
.endm

end .req x5
srcin .req x15
SYM_FUNC_START(__arch_copy_from_user)
add end, x0, x2
mov srcin, x1
#include "copy_template.S"
mov x0, #0 // Nothing to copy
ret
Expand All @@ -63,6 +65,11 @@ EXPORT_SYMBOL(__arch_copy_from_user)

.section .fixup,"ax"
.align 2
9997: cmp dst, dstin
b.ne 9998f
// Before being absolutely sure we couldn't copy anything, try harder
USER(9998f, ldtrb tmp1w, [srcin])
strb tmp1w, [dst], #1
9998: sub x0, end, dst // bytes not copied
ret
.previous
21 changes: 14 additions & 7 deletions arch/arm64/lib/copy_in_user.S
Original file line number Diff line number Diff line change
Expand Up @@ -30,33 +30,34 @@
.endm

.macro ldrh1 reg, ptr, val
uao_user_alternative 9998f, ldrh, ldtrh, \reg, \ptr, \val
uao_user_alternative 9997f, ldrh, ldtrh, \reg, \ptr, \val
.endm

.macro strh1 reg, ptr, val
uao_user_alternative 9998f, strh, sttrh, \reg, \ptr, \val
uao_user_alternative 9997f, strh, sttrh, \reg, \ptr, \val
.endm

.macro ldr1 reg, ptr, val
uao_user_alternative 9998f, ldr, ldtr, \reg, \ptr, \val
uao_user_alternative 9997f, ldr, ldtr, \reg, \ptr, \val
.endm

.macro str1 reg, ptr, val
uao_user_alternative 9998f, str, sttr, \reg, \ptr, \val
uao_user_alternative 9997f, str, sttr, \reg, \ptr, \val
.endm

.macro ldp1 reg1, reg2, ptr, val
uao_ldp 9998f, \reg1, \reg2, \ptr, \val
uao_ldp 9997f, \reg1, \reg2, \ptr, \val
.endm

.macro stp1 reg1, reg2, ptr, val
uao_stp 9998f, \reg1, \reg2, \ptr, \val
uao_stp 9997f, \reg1, \reg2, \ptr, \val
.endm

end .req x5

srcin .req x15
SYM_FUNC_START(__arch_copy_in_user)
add end, x0, x2
mov srcin, x1
#include "copy_template.S"
mov x0, #0
ret
Expand All @@ -65,6 +66,12 @@ EXPORT_SYMBOL(__arch_copy_in_user)

.section .fixup,"ax"
.align 2
9997: cmp dst, dstin
b.ne 9998f
// Before being absolutely sure we couldn't copy anything, try harder
USER(9998f, ldtrb tmp1w, [srcin])
USER(9998f, sttrb tmp1w, [dst])
add dst, dst, #1
9998: sub x0, end, dst // bytes not copied
ret
.previous
14 changes: 11 additions & 3 deletions arch/arm64/lib/copy_to_user.S
Original file line number Diff line number Diff line change
Expand Up @@ -32,28 +32,30 @@
.endm

.macro strh1 reg, ptr, val
uao_user_alternative 9998f, strh, sttrh, \reg, \ptr, \val
uao_user_alternative 9997f, strh, sttrh, \reg, \ptr, \val
.endm

.macro ldr1 reg, ptr, val
ldr \reg, [\ptr], \val
.endm

.macro str1 reg, ptr, val
uao_user_alternative 9998f, str, sttr, \reg, \ptr, \val
uao_user_alternative 9997f, str, sttr, \reg, \ptr, \val
.endm

.macro ldp1 reg1, reg2, ptr, val
ldp \reg1, \reg2, [\ptr], \val
.endm

.macro stp1 reg1, reg2, ptr, val
uao_stp 9998f, \reg1, \reg2, \ptr, \val
uao_stp 9997f, \reg1, \reg2, \ptr, \val
.endm

end .req x5
srcin .req x15
SYM_FUNC_START(__arch_copy_to_user)
add end, x0, x2
mov srcin, x1
#include "copy_template.S"
mov x0, #0
ret
Expand All @@ -62,6 +64,12 @@ EXPORT_SYMBOL(__arch_copy_to_user)

.section .fixup,"ax"
.align 2
9997: cmp dst, dstin
b.ne 9998f
// Before being absolutely sure we couldn't copy anything, try harder
ldrb tmp1w, [srcin]
USER(9998f, sttrb tmp1w, [dst])
add dst, dst, #1
9998: sub x0, end, dst // bytes not copied
ret
.previous
1 change: 1 addition & 0 deletions arch/nios2/platform/Kconfig.platform
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ config NIOS2_DTB_PHYS_ADDR

config NIOS2_DTB_SOURCE_BOOL
bool "Compile and link device tree into kernel image"
depends on !COMPILE_TEST
help
This allows you to specify a dts (device tree source) file
which will be compiled and linked into the kernel image.
Expand Down
10 changes: 8 additions & 2 deletions arch/powerpc/net/bpf_jit_comp64.c
Original file line number Diff line number Diff line change
Expand Up @@ -415,8 +415,14 @@ static int bpf_jit_build_body(struct bpf_prog *fp, u32 *image,
case BPF_ALU64 | BPF_DIV | BPF_K: /* dst /= imm */
if (imm == 0)
return -EINVAL;
else if (imm == 1)
goto bpf_alu32_trunc;
if (imm == 1) {
if (BPF_OP(code) == BPF_DIV) {
goto bpf_alu32_trunc;
} else {
EMIT(PPC_RAW_LI(dst_reg, 0));
break;
}
}

PPC_LI32(b2p[TMP_REG_1], imm);
switch (BPF_CLASS(code)) {
Expand Down
6 changes: 6 additions & 0 deletions arch/riscv/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,12 @@ config PAGE_OFFSET
default 0xffffffff80000000 if 64BIT && MAXPHYSMEM_2GB
default 0xffffffe000000000 if 64BIT && MAXPHYSMEM_128GB

config KASAN_SHADOW_OFFSET
hex
depends on KASAN_GENERIC
default 0xdfffffc800000000 if 64BIT
default 0xffffffff if 32BIT

config ARCH_FLATMEM_ENABLE
def_bool y

Expand Down
3 changes: 1 addition & 2 deletions arch/riscv/include/asm/kasan.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
#define KASAN_SHADOW_START KERN_VIRT_START /* 2^64 - 2^38 */
#define KASAN_SHADOW_END (KASAN_SHADOW_START + KASAN_SHADOW_SIZE)

#define KASAN_SHADOW_OFFSET (KASAN_SHADOW_END - (1ULL << \
(64 - KASAN_SHADOW_SCALE_SHIFT)))
#define KASAN_SHADOW_OFFSET _AC(CONFIG_KASAN_SHADOW_OFFSET, UL)

void kasan_init(void);
asmlinkage void kasan_early_init(void);
Expand Down
1 change: 1 addition & 0 deletions arch/riscv/kernel/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,7 @@ setup_trap_vector:
csrw CSR_SCRATCH, zero
ret

.align 2
.Lsecondary_park:
/* We lack SMP support or have too many harts, so park this hart */
wfi
Expand Down
3 changes: 3 additions & 0 deletions arch/riscv/mm/kasan_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ asmlinkage void __init kasan_early_init(void)
uintptr_t i;
pgd_t *pgd = early_pg_dir + pgd_index(KASAN_SHADOW_START);

BUILD_BUG_ON(KASAN_SHADOW_OFFSET !=
KASAN_SHADOW_END - (1UL << (64 - KASAN_SHADOW_SCALE_SHIFT)));

for (i = 0; i < PTRS_PER_PTE; ++i)
set_pte(kasan_early_shadow_pte + i,
mk_pte(virt_to_page(kasan_early_shadow_page),
Expand Down
3 changes: 2 additions & 1 deletion arch/riscv/net/bpf_jit_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,8 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)

if (i == NR_JIT_ITERATIONS) {
pr_err("bpf-jit: image did not converge in <%d passes!\n", i);
bpf_jit_binary_free(jit_data->header);
if (jit_data->header)
bpf_jit_binary_free(jit_data->header);
prog = orig_prog;
goto out_offset;
}
Expand Down
5 changes: 3 additions & 2 deletions arch/s390/kvm/interrupt.c
Original file line number Diff line number Diff line change
Expand Up @@ -3053,13 +3053,14 @@ static void __airqs_kick_single_vcpu(struct kvm *kvm, u8 deliverable_mask)
int vcpu_idx, online_vcpus = atomic_read(&kvm->online_vcpus);
struct kvm_s390_gisa_interrupt *gi = &kvm->arch.gisa_int;
struct kvm_vcpu *vcpu;
u8 vcpu_isc_mask;

for_each_set_bit(vcpu_idx, kvm->arch.idle_mask, online_vcpus) {
vcpu = kvm_get_vcpu(kvm, vcpu_idx);
if (psw_ioint_disabled(vcpu))
continue;
deliverable_mask &= (u8)(vcpu->arch.sie_block->gcr[6] >> 24);
if (deliverable_mask) {
vcpu_isc_mask = (u8)(vcpu->arch.sie_block->gcr[6] >> 24);
if (deliverable_mask & vcpu_isc_mask) {
/* lately kicked but not yet running */
if (test_and_set_bit(vcpu_idx, gi->kicked_mask))
return;
Expand Down
1 change: 1 addition & 0 deletions arch/s390/kvm/kvm-s390.c
Original file line number Diff line number Diff line change
Expand Up @@ -3312,6 +3312,7 @@ int kvm_arch_vcpu_create(struct kvm_vcpu *vcpu)

int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu)
{
clear_bit(vcpu->vcpu_idx, vcpu->kvm->arch.gisa_int.kicked_mask);
return kvm_s390_vcpu_has_irq(vcpu, 0);
}

Expand Down
3 changes: 0 additions & 3 deletions drivers/amba/bus.c
Original file line number Diff line number Diff line change
Expand Up @@ -375,9 +375,6 @@ static int amba_device_try_add(struct amba_device *dev, struct resource *parent)
void __iomem *tmp;
int i, ret;

WARN_ON(dev->irq[0] == (unsigned int)-1);
WARN_ON(dev->irq[1] == (unsigned int)-1);

ret = request_resource(parent, &dev->res);
if (ret)
goto err_out;
Expand Down
4 changes: 2 additions & 2 deletions drivers/ata/sata_mv.c
Original file line number Diff line number Diff line change
Expand Up @@ -3892,8 +3892,8 @@ static int mv_chip_id(struct ata_host *host, unsigned int board_idx)
break;

default:
dev_err(host->dev, "BUG: invalid board index %u\n", board_idx);
return 1;
dev_alert(host->dev, "BUG: invalid board index %u\n", board_idx);
return -EINVAL;
}

hpriv->hp_flags = hp_flags;
Expand Down
7 changes: 3 additions & 4 deletions drivers/base/regmap/regcache-rbtree.c
Original file line number Diff line number Diff line change
Expand Up @@ -281,14 +281,14 @@ static int regcache_rbtree_insert_to_block(struct regmap *map,
if (!blk)
return -ENOMEM;

rbnode->block = blk;

if (BITS_TO_LONGS(blklen) > BITS_TO_LONGS(rbnode->blklen)) {
present = krealloc(rbnode->cache_present,
BITS_TO_LONGS(blklen) * sizeof(*present),
GFP_KERNEL);
if (!present) {
kfree(blk);
if (!present)
return -ENOMEM;
}

memset(present + BITS_TO_LONGS(rbnode->blklen), 0,
(BITS_TO_LONGS(blklen) - BITS_TO_LONGS(rbnode->blklen))
Expand All @@ -305,7 +305,6 @@ static int regcache_rbtree_insert_to_block(struct regmap *map,
}

/* update the rbnode block, its size and the base register */
rbnode->block = blk;
rbnode->blklen = blklen;
rbnode->base_reg = base_reg;
rbnode->cache_present = present;
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpio/gpio-xgs-iproc.c
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ static int iproc_gpio_probe(struct platform_device *pdev)
}

chip->gc.label = dev_name(dev);
if (of_property_read_u32(dn, "ngpios", &num_gpios))
if (!of_property_read_u32(dn, "ngpios", &num_gpios))
chip->gc.ngpio = num_gpios;

irq = platform_get_irq(pdev, 0);
Expand Down
Loading