Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.4.48+fslc #8

Merged
merged 168 commits into from
Feb 24, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
168 commits
Select commit Hold shift + click to select a range
5137779
Input: xpad - use correct product id for x360w controllers
paroj Dec 27, 2016
2e2679a
Input: i8042 - add Pegatron touchpad to noloop table
marcosps Dec 18, 2016
2deaeea
selftests: do not require bash to run netsocktests testcase
DerDakon Dec 14, 2016
6de62ec
selftests: do not require bash for the generated test
DerDakon Dec 14, 2016
70429b9
mm: fix devm_memremap_pages crash, use mem_hotplug_{begin, done}
djbw Jan 11, 2017
6bbb8ff
ocfs2: fix crash caused by stale lvb with fsdlm plugin
Jan 11, 2017
1a46e6e
mm/hugetlb.c: fix reservation race when freeing surplus pages
mjkravetz Jan 11, 2017
816307c
KVM: x86: fix emulation of "MOV SS, null selector"
bonzini Jan 12, 2017
34a55c9
KVM: eventfd: fix NULL deref irqbypass consumer
Wanpeng-Li Jan 6, 2017
3d27cd4
jump_labels: API for flushing deferred jump label updates
dmatlack Dec 16, 2016
1fc673d
KVM: x86: flush pending lapic jump label updates on module unload
dmatlack Dec 16, 2016
4fa0090
KVM: x86: add Align16 instruction flag
rkrcmar Nov 8, 2016
d9c4c1e
KVM: x86: add asm_safe wrapper
rkrcmar Nov 8, 2016
3490e72
KVM: x86: emulate FXSAVE and FXRSTOR
rkrcmar Nov 9, 2016
9d3875c
KVM: x86: Introduce segmented_write_std
stevenrutherford Jan 12, 2017
4a1ecf3
nl80211: fix sched scan netlink socket owner destruction
jmberg-intel Jan 5, 2017
3ef5bc0
USB: serial: kl5kusb105: fix line-state error handling
jhovold Jan 10, 2017
e29f709
USB: serial: ch341: fix initial modem-control state
jhovold Jan 6, 2017
bc74606
USB: serial: ch341: fix open error handling
jhovold Jan 6, 2017
802b4ef
USB: serial: ch341: fix control-message error handling
jhovold Jan 6, 2017
214a8e9
USB: serial: ch341: fix open and resume after B0
jhovold Jan 6, 2017
085f4eb
Input: elants_i2c - avoid divide by 0 errors on bad touchscreen data
groeck Jan 5, 2017
f64b9ac
i2c: print correct device invalid address
Jan 6, 2017
ae76af2
i2c: fix kernel memory disclosure in dev interface
vlad902 Jan 9, 2017
d5fcd71
xhci: fix deadlock at host remove by running watchdog correctly
matnyman Jan 11, 2017
836fd7c
vme: Fix wrong pointer utilization in ca91cx42_slave_get
caringi Jan 10, 2017
4a6716f
mnt: Protect the mountpoint hashtable with mount_lock
ebiederm Jan 3, 2017
075f493
tty/serial: atmel_serial: BUG: stop DMA from transmitting in stop_tx
rgenoud Dec 13, 2016
ca81117
sysrq: attach sysrq handler correctly for 32-bit kernel
mita Jan 5, 2017
b9d6631
sysctl: Drop reference added by grab_header in proc_sys_readdir
zhouchengming1 Jan 6, 2017
a1a0612
drm/radeon: drop verde dpm quirks
alexdeucher Jan 5, 2017
1d25a05
USB: serial: ch341: fix resume after reset
jhovold Jan 6, 2017
0cf2332
USB: serial: ch341: fix modem-control and B0 handling
jhovold Jan 6, 2017
68b97d2
x86/cpu: Fix bootup crashes by sanitizing the argument of the 'clearc…
ukasz Dec 28, 2016
205e997
btrfs: fix locking when we put back a delayed ref that's too new
jeffmahoney Dec 20, 2016
f0382c0
btrfs: fix error handling when run_delayed_extent_op fails
jeffmahoney Dec 20, 2016
7aae6e3
pinctrl: meson: fix gpio request disabling other modes
superna9999 Dec 6, 2016
8ff851b
pNFS: Fix race in pnfs_wait_on_layoutreturn
trondmypd Nov 18, 2016
1180423
NFS: Fix a performance regression in readdir
trondmypd Nov 19, 2016
33ebdfe
NFSv4.1: nfs4_fl_prepare_ds must be careful about reporting success.
Dec 19, 2016
2c1dd42
cpufreq: powernv: Disable preemption while checking CPU throttling state
Nov 8, 2016
4af7970
block: cfq_cpd_alloc() should use @gfp
htejun Nov 10, 2016
ddf0c37
ACPI / APEI: Fix NMI notification handling
prarit Nov 30, 2016
6e8210a
blk-mq: Always schedule hctx->next_cpu
Sep 28, 2016
4d1b508
bus: vexpress-config: fix device reference leak
jhovold Nov 16, 2016
488e7b2
powerpc/ibmebus: Fix further device reference leaks
jhovold Nov 1, 2016
ef6eadb
powerpc/ibmebus: Fix device reference leaks in sysfs interface
jhovold Nov 1, 2016
45611fb
pinctrl: sh-pfc: Do not unconditionally support PIN_CONFIG_BIAS_DISABLE
Nov 12, 2016
a7dd347
Linux 4.4.44
gregkh Jan 20, 2017
97085e2
ftrace/x86: Set ftrace_stub to weak to prevent gcc from using short j…
rostedt May 17, 2016
4ffb36e
IB/mlx5: Wait for all async command completions to complete
Oct 27, 2016
1be54a4
IB/mlx4: Set traffic class in AH
Nov 10, 2016
c7a40c4
IB/mlx4: Fix out-of-range array index in destroy qp flow
Nov 27, 2016
f1c9169
IB/mlx4: Fix port query for 56Gb Ethernet links
Nov 10, 2016
ea47049
IB/mlx4: When no DMFS for IPoIB, don't allow NET_IF QPs
Nov 10, 2016
aa02f29
IB/IPoIB: Remove can't use GFP_NOIO warning
Nov 10, 2016
2ba399c
perf scripting: Avoid leaking the scripting_context variable
acmel Oct 25, 2016
280d00a
ARM: dts: imx31: fix clock control module interrupts description
vzapolskiy Sep 26, 2016
d2e4968
ARM: dts: imx31: move CCM device node to AIPS2 bus devices
vzapolskiy Sep 26, 2016
39d7c9c
ARM: dts: imx31: fix AVIC base address
Nov 17, 2016
36672b8
tmpfs: clear S_ISGID when setting posix ACLs
Jan 9, 2017
3b434ca
x86/PCI: Ignore _CRS on Supermicro X8DTH-i/6/iF/6F
bjorn-helgaas Dec 28, 2016
6f3002c
svcrpc: don't leak contexts on PROC_DESTROY
Jan 9, 2017
dc4e372
fuse: clear FR_PENDING flag when moving requests out of pending queue
Jan 12, 2017
4740d1d
PCI: Enumerate switches below PCI-to-PCIe bridges
bjorn-helgaas Jan 11, 2017
0f37d20
HID: corsair: fix DMA buffers on stack
jhovold Jan 12, 2017
75c60df
HID: corsair: fix control-transfer error handling
jhovold Jan 12, 2017
8f6f508
mmc: mxs-mmc: Fix additional cycles after transmission stop
lategoodbye Jan 5, 2017
80aeb7b
ieee802154: atusb: do not use the stack for buffers to make them DMA …
Dec 15, 2016
212bab3
mtd: nand: xway: disable module support
hauke Dec 5, 2016
8691578
x86/ioapic: Restore IO-APIC irq_chip retrigger callback
Jan 17, 2017
7ea1eb7
qla2xxx: Fix crash due to null pointer access
Dec 24, 2016
a07563c
ubifs: Fix journal replay wrt. xattr nodes
richardweinberger Jan 10, 2017
098b62b
clocksource/exynos_mct: Clear interrupt when cpu is shut down
Jan 17, 2017
294b0aa
svcrdma: avoid duplicate dma unmapping during error recovery
sbasavapatna Jan 9, 2017
abfa5e8
ARM: 8634/1: hw_breakpoint: blacklist Scorpion CPUs
Jan 6, 2017
62c3d36
ceph: fix bad endianness handling in parse_reply_info_extra
jtlayton Jan 12, 2017
41a9abb
ARM: dts: da850-evm: fix read access to SPI flash
Fabo Jan 17, 2017
76e08d2
arm64/ptrace: Preserve previous registers for short regset write
Jan 18, 2017
d8263f1
arm64/ptrace: Preserve previous registers for short regset write - 2
Jan 18, 2017
03ee97d
arm64/ptrace: Preserve previous registers for short regset write - 3
Jan 18, 2017
4c87fc7
arm64/ptrace: Avoid uninitialised struct padding in fpr_set()
Jan 18, 2017
c55f8aa
arm64/ptrace: Reject attempts to set incomplete hardware breakpoint f…
Jan 18, 2017
68664ae
ARM: dts: imx6qdl-nitrogen6_max: fix sgtl5000 pinctrl init
gibsson Jan 3, 2017
baa2610
ARM: ux500: fix prcmu_is_cpu_in_wfi() calculation
arndb Nov 16, 2016
a4d2fa0
ARM: 8613/1: Fix the uaccess crash on PB11MPCore
linusw Sep 13, 2016
b02d7a8
blackfin: check devm_pinctrl_get() for errors
Jul 14, 2016
238623c
ite-cir: initialize use_demodulator before using it
fishilico Sep 10, 2016
a5291c1
dmaengine: pl330: Fix runtime PM support for terminated transfers
mszyprow Dec 16, 2016
6e65a4c
selftest/powerpc: Wrong PMC initialized in pmc56_overflow test
Dec 19, 2016
8323d05
arm64: avoid returning from bad_mode
Jan 18, 2017
ef30573
Linux 4.4.45
gregkh Jan 26, 2017
63db7c9
fbdev: color map copying bounds checking
kees Jan 24, 2017
23bc4e1
tile/ptrace: Preserve previous registers for short regset write
Jan 6, 2017
c83ad97
drm: Fix broken VT switch with video=1366x768 option
tiwai Jan 9, 2017
f11e8bf
mm/mempolicy.c: do not put mempolicy before using its nodemask
tehcaster Jan 24, 2017
d1b232c
sysctl: fix proc_doulongvec_ms_jiffies_minmax()
Jan 26, 2017
d65032a
ISDN: eicon: silence misleading array-bounds warning
arndb Jan 27, 2017
8637de3
RDMA/cma: Fix unknown symbol when CONFIG_IPV6 is not enabled
Jan 15, 2017
bae49e7
s390/ptrace: Preserve previous registers for short regset write
Jan 24, 2017
63fe33a
can: c_can_pci: fix null-pointer-deref in c_can_start() - set device …
einarjon Aug 12, 2016
bca1a95
can: ti_hecc: add missing prepare and unprepare of the clock
yegorich Jan 18, 2017
42ad766
ARC: udelay: fix inline assembler by adding LP_COUNT to clobber list
vineetgarc Jan 24, 2017
acb63c8
ARC: [arcompact] handle unaligned access delay slot corner case
vineetgarc Jan 27, 2017
bde741e
parisc: Don't use BITS_PER_LONG in userspace-exported swab.h header
hdeller Jan 28, 2017
0f64f22
nfs: Don't increment lock sequence ID after NFS4ERR_MOVED
chucklever Jan 22, 2017
edef108
NFSv4.0: always send mode in SETATTR after EXCLUSIVE4
bcodding-rh Jan 24, 2017
d79e411
SUNRPC: cleanup ida information when removing sunrpc module
kinglongmee Jan 20, 2017
800a78f
drm/i915: Don't leak edid in intel_crt_detect_ddc()
Jan 20, 2017
e114e66
IB/ipoib: move back IB LL address into the hard header
Oct 13, 2016
5288474
IB/umem: Release pid in error and ODP flow
Jan 5, 2017
5ddaf68
s5k4ecgx: select CRC32 helper
arndb Dec 9, 2016
d430c37
pinctrl: broxton: Use correct PADCFGLOCK offset
westeri Jan 10, 2017
14b9749
platform/x86: intel_mid_powerbtn: Set IRQ_ONESHOT
andy-shev Jan 19, 2017
d072189
mm, memcg: do not retry precharge charges
rientjes Jan 24, 2017
6c1ed78
Linux 4.4.46
gregkh Feb 1, 2017
595ac45
r8152: fix the sw rx checksum is unavailable
hayesorz Jan 11, 2017
9edb2d7
mlxsw: spectrum: Fix memory leak at skb reallocation
Jan 12, 2017
811bb1b
mlxsw: switchx2: Fix memory leak at skb reallocation
Jan 12, 2017
290db2c
mlxsw: pci: Fix EQE structure definition
Jan 12, 2017
2e84b8c
net: lwtunnel: Handle lwtunnel_fill_encap failure
Jan 11, 2017
40e7c72
net: ipv4: fix table id in getroute response
Jan 11, 2017
ec9e993
net: systemport: Decouple flow control from __bcm_sysport_tx_reclaim
ffainelli Jan 12, 2017
b82981f
tcp: fix tcp_fastopen unaligned access complaints on sparc
Jan 12, 2017
7d691d8
openvswitch: maintain correct checksum state in conntrack actions
hlrichardson Jan 13, 2017
062b7f3
ravb: do not use zero-length alignment DMA descriptor
mnagai Jan 16, 2017
4f5e54b
ax25: Fix segfault after sock connection timeout
n7nix Jan 14, 2017
6fec199
net: fix harmonize_features() vs NETIF_F_HIGHDMA
Jan 18, 2017
8a066a8
net: phy: bcm63xx: Utilize correct config_intr function
danitool Jan 18, 2017
8051bf2
ipv6: addrconf: Avoid addrconf_disable_change() using RCU read-side lock
Jan 19, 2017
8f9e4ad
tcp: initialize max window for a new fastopen socket
akodanev Jan 19, 2017
980b9af
bridge: netlink: call br_changelink() during br_dev_newlink()
ivecera Jan 20, 2017
e674c70
r8152: don't execute runtime suspend if the tx is not empty
hayesorz Jan 23, 2017
0492a03
af_unix: move unix_mknod() out of bindlock
congwang Jan 23, 2017
74a7c39
qmi_wwan/cdc_ether: add device ID for HP lt2523 (Novatel E371) WWAN card
bmork Jan 24, 2017
384e4bf
net: dsa: Bring back device detaching in dsa_slave_suspend()
ffainelli Jan 25, 2017
4686ea2
Linux 4.4.47
gregkh Feb 4, 2017
62e546b
PCI/ASPM: Handle PCI-to-PCIe bridges as roots of PCIe hierarchies
bjorn-helgaas Jan 27, 2017
e21a3ca
ext4: validate s_first_meta_bg at mount time
guaneryu Dec 1, 2016
2a3797e
drm/nouveau/disp/gt215: Fix HDA ELD handling (thus, HDMI audio) on gt215
abridgewater Jan 11, 2017
c4305f0
drm/nouveau/nv1a,nv1f/disp: fix memory clock rate retrieval
imirkin Jan 20, 2017
ae7d33f
crypto: api - Clear CRYPTO_ALG_DEAD bit before registering an alg
Jan 13, 2017
72bb4b5
crypto: arm64/aes-blk - honour iv_out requirement in CBC and CTR modes
Jan 17, 2017
d49d465
perf/core: Fix PERF_RECORD_MMAP2 prot/flags for anonymous memory
Jan 26, 2017
579a917
ata: sata_mv:- Handle return value of devm_ioremap.
ArvindYadavCs Dec 12, 2016
db18e92
libata: apply MAX_SEC_1024 to all CX1-JB*-HP devices
htejun Jan 6, 2017
9b993e2
powerpc/eeh: Fix wrong flag passed to eeh_unfreeze_pe()
Jan 18, 2017
f584bb6
powerpc: Add missing error check to prom_find_boot_cpu()
Jan 23, 2017
2b4e56f
NFSD: Fix a null reference case in find_or_create_lock_stateid()
kinglongmee Jan 18, 2017
5dadebc
svcrpc: fix oops in absence of krb5 module
Jan 31, 2017
7aeb95c
zswap: disable changing params if init fails
ddstreet Feb 3, 2017
920bba1
cifs: initialize file_info_lock
vwax Jan 13, 2017
e86a876
mm/memory_hotplug.c: check start_pfn in test_pages_in_a_zone()
toshikani Feb 3, 2017
4025ab3
mm, fs: check for fatal signals in do_generic_file_read()
Feb 3, 2017
85fb980
can: bcm: fix hrtimer/tasklet termination in bcm op removal
hartkopp Jan 18, 2017
3a8e217
mmc: sdhci: Ignore unexpected CARD_INT interrupts
Jan 16, 2017
b3c8c31
percpu-refcount: fix reference leak during percpu-atomic transition
dougmill-ibm Jan 28, 2017
8b51676
HID: wacom: Fix poor prox handling in 'wacom_pl_irq'
jigpu Jan 26, 2017
f4f09b7
KVM: x86: do not save guest-unsupported XSAVE state
rkrcmar Feb 1, 2017
244e7f0
USB: serial: qcserial: add Dell DW5570 QDL
aleksander0m Jan 18, 2017
b4b3442
USB: serial: pl2303: add ATEN device ID
mirakels Jan 30, 2017
e4c1e66
USB: Add quirk for WORLDE easykey.25 MIDI keyboard
lalinsky Jan 20, 2017
9cf89ad
usb: gadget: f_fs: Assorted buffer overflow checks.
vpelletier Jan 18, 2017
94c0517
USB: serial: option: add device ID for HP lt2523 (Novatel E371)
bmork Jan 24, 2017
374d066
x86/irq: Make irq activate operations symmetric
KAGA-KOKO Jan 31, 2017
87ebcc5
base/memory, hotplug: fix a kernel oops in show_valid_zones()
toshikani Feb 3, 2017
6a1bd90
Linux 4.4.48
gregkh Feb 9, 2017
828a320
Merge tag 'v4.4.48' into 4.4.x
redbrain17 Feb 15, 2017
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 Documentation/devicetree/bindings/clock/imx31-clock.txt
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Examples:
clks: ccm@53f80000{
compatible = "fsl,imx31-ccm";
reg = <0x53f80000 0x4000>;
interrupts = <0 31 0x04 0 53 0x04>;
interrupts = <31>, <53>;
#clock-cells = <1>;
};

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
VERSION = 4
PATCHLEVEL = 4
SUBLEVEL = 43
SUBLEVEL = 48
EXTRAVERSION =
NAME = Blurry Fish Butt

Expand Down
4 changes: 3 additions & 1 deletion arch/arc/include/asm/delay.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ static inline void __delay(unsigned long loops)
" lp 1f \n"
" nop \n"
"1: \n"
: : "r"(loops));
:
: "r"(loops)
: "lp_count");
}

extern void __bad_udelay(void);
Expand Down
3 changes: 2 additions & 1 deletion arch/arc/kernel/unaligned.c
Original file line number Diff line number Diff line change
Expand Up @@ -241,8 +241,9 @@ int misaligned_fixup(unsigned long address, struct pt_regs *regs,
if (state.fault)
goto fault;

/* clear any remanants of delay slot */
if (delay_mode(regs)) {
regs->ret = regs->bta;
regs->ret = regs->bta ~1U;
regs->status32 &= ~STATUS_DE_MASK;
} else {
regs->ret += state.instr_len;
Expand Down
1 change: 1 addition & 0 deletions arch/arm/boot/dts/da850-evm.dts
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
#size-cells = <1>;
compatible = "m25p64";
spi-max-frequency = <30000000>;
m25p,fast-read;
reg = <0>;
partition@0 {
label = "U-Boot-SPL";
Expand Down
18 changes: 9 additions & 9 deletions arch/arm/boot/dts/imx31.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@
};
};

avic: avic-interrupt-controller@60000000 {
avic: interrupt-controller@68000000 {
compatible = "fsl,imx31-avic", "fsl,avic";
interrupt-controller;
#interrupt-cells = <1>;
reg = <0x60000000 0x100000>;
reg = <0x68000000 0x100000>;
};

soc {
Expand Down Expand Up @@ -110,13 +110,6 @@
interrupts = <19>;
clocks = <&clks 25>;
};

clks: ccm@53f80000{
compatible = "fsl,imx31-ccm";
reg = <0x53f80000 0x4000>;
interrupts = <0 31 0x04 0 53 0x04>;
#clock-cells = <1>;
};
};

aips@53f00000 { /* AIPS2 */
Expand All @@ -126,6 +119,13 @@
reg = <0x53f00000 0x100000>;
ranges;

clks: ccm@53f80000{
compatible = "fsl,imx31-ccm";
reg = <0x53f80000 0x4000>;
interrupts = <31>, <53>;
#clock-cells = <1>;
};

gpt: timer@53f90000 {
compatible = "fsl,imx31-gpt";
reg = <0x53f90000 0x4000>;
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -319,8 +319,6 @@
compatible = "fsl,imx6q-nitrogen6_max-sgtl5000",
"fsl,imx-audio-sgtl5000";
model = "imx6q-nitrogen6_max-sgtl5000";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sgtl5000>;
ssi-controller = <&ssi1>;
audio-codec = <&codec>;
audio-routing =
Expand Down Expand Up @@ -401,6 +399,8 @@

codec: sgtl5000@0a {
compatible = "fsl,sgtl5000";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sgtl5000>;
reg = <0x0a>;
clocks = <&clks 201>;
VDDA-supply = <&reg_2p5v>;
Expand Down
3 changes: 3 additions & 0 deletions arch/arm/include/asm/cputype.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@
#define ARM_CPU_XSCALE_ARCH_V2 0x4000
#define ARM_CPU_XSCALE_ARCH_V3 0x6000

/* Qualcomm implemented cores */
#define ARM_CPU_PART_SCORPION 0x510002d0

extern unsigned int processor_id;

#ifdef CONFIG_CPU_CP15
Expand Down
16 changes: 16 additions & 0 deletions arch/arm/kernel/hw_breakpoint.c
Original file line number Diff line number Diff line change
Expand Up @@ -1066,6 +1066,22 @@ static int __init arch_hw_breakpoint_init(void)
return 0;
}

/*
* Scorpion CPUs (at least those in APQ8060) seem to set DBGPRSR.SPD
* whenever a WFI is issued, even if the core is not powered down, in
* violation of the architecture. When DBGPRSR.SPD is set, accesses to
* breakpoint and watchpoint registers are treated as undefined, so
* this results in boot time and runtime failures when these are
* accessed and we unexpectedly take a trap.
*
* It's not clear if/how this can be worked around, so we blacklist
* Scorpion CPUs to avoid these issues.
*/
if (read_cpuid_part() == ARM_CPU_PART_SCORPION) {
pr_info("Scorpion CPU detected. Hardware breakpoints and watchpoints disabled\n");
return 0;
}

has_ossr = core_has_os_save_restore();

/* Determine how many BRPs/WRPs are available. */
Expand Down
7 changes: 7 additions & 0 deletions arch/arm/kernel/smp_tlb.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
*/
#include <linux/preempt.h>
#include <linux/smp.h>
#include <linux/uaccess.h>

#include <asm/smp_plat.h>
#include <asm/tlbflush.h>
Expand Down Expand Up @@ -40,8 +41,11 @@ static inline void ipi_flush_tlb_mm(void *arg)
static inline void ipi_flush_tlb_page(void *arg)
{
struct tlb_args *ta = (struct tlb_args *)arg;
unsigned int __ua_flags = uaccess_save_and_enable();

local_flush_tlb_page(ta->ta_vma, ta->ta_start);

uaccess_restore(__ua_flags);
}

static inline void ipi_flush_tlb_kernel_page(void *arg)
Expand All @@ -54,8 +58,11 @@ static inline void ipi_flush_tlb_kernel_page(void *arg)
static inline void ipi_flush_tlb_range(void *arg)
{
struct tlb_args *ta = (struct tlb_args *)arg;
unsigned int __ua_flags = uaccess_save_and_enable();

local_flush_tlb_range(ta->ta_vma, ta->ta_start, ta->ta_end);

uaccess_restore(__ua_flags);
}

static inline void ipi_flush_tlb_kernel_range(void *arg)
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/mach-ux500/pm.c
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,8 @@ bool prcmu_pending_irq(void)
*/
bool prcmu_is_cpu_in_wfi(int cpu)
{
return readl(PRCM_ARM_WFI_STANDBY) & cpu ? PRCM_ARM_WFI_STANDBY_WFI1 :
PRCM_ARM_WFI_STANDBY_WFI0;
return readl(PRCM_ARM_WFI_STANDBY) &
(cpu ? PRCM_ARM_WFI_STANDBY_WFI1 : PRCM_ARM_WFI_STANDBY_WFI0);
}

/*
Expand Down
88 changes: 42 additions & 46 deletions arch/arm64/crypto/aes-modes.S
Original file line number Diff line number Diff line change
Expand Up @@ -193,15 +193,16 @@ AES_ENTRY(aes_cbc_encrypt)
cbz w6, .Lcbcencloop

ld1 {v0.16b}, [x5] /* get iv */
enc_prepare w3, x2, x5
enc_prepare w3, x2, x6

.Lcbcencloop:
ld1 {v1.16b}, [x1], #16 /* get next pt block */
eor v0.16b, v0.16b, v1.16b /* ..and xor with iv */
encrypt_block v0, w3, x2, x5, w6
encrypt_block v0, w3, x2, x6, w7
st1 {v0.16b}, [x0], #16
subs w4, w4, #1
bne .Lcbcencloop
st1 {v0.16b}, [x5] /* return iv */
ret
AES_ENDPROC(aes_cbc_encrypt)

Expand All @@ -211,7 +212,7 @@ AES_ENTRY(aes_cbc_decrypt)
cbz w6, .LcbcdecloopNx

ld1 {v7.16b}, [x5] /* get iv */
dec_prepare w3, x2, x5
dec_prepare w3, x2, x6

.LcbcdecloopNx:
#if INTERLEAVE >= 2
Expand Down Expand Up @@ -248,14 +249,15 @@ AES_ENTRY(aes_cbc_decrypt)
.Lcbcdecloop:
ld1 {v1.16b}, [x1], #16 /* get next ct block */
mov v0.16b, v1.16b /* ...and copy to v0 */
decrypt_block v0, w3, x2, x5, w6
decrypt_block v0, w3, x2, x6, w7
eor v0.16b, v0.16b, v7.16b /* xor with iv => pt */
mov v7.16b, v1.16b /* ct is next iv */
st1 {v0.16b}, [x0], #16
subs w4, w4, #1
bne .Lcbcdecloop
.Lcbcdecout:
FRAME_POP
st1 {v7.16b}, [x5] /* return iv */
ret
AES_ENDPROC(aes_cbc_decrypt)

Expand All @@ -267,36 +269,27 @@ AES_ENDPROC(aes_cbc_decrypt)

AES_ENTRY(aes_ctr_encrypt)
FRAME_PUSH
cbnz w6, .Lctrfirst /* 1st time around? */
umov x5, v4.d[1] /* keep swabbed ctr in reg */
rev x5, x5
#if INTERLEAVE >= 2
cmn w5, w4 /* 32 bit overflow? */
bcs .Lctrinc
add x5, x5, #1 /* increment BE ctr */
b .LctrincNx
#else
b .Lctrinc
#endif
.Lctrfirst:
cbz w6, .Lctrnotfirst /* 1st time around? */
enc_prepare w3, x2, x6
ld1 {v4.16b}, [x5]
umov x5, v4.d[1] /* keep swabbed ctr in reg */
rev x5, x5

.Lctrnotfirst:
umov x8, v4.d[1] /* keep swabbed ctr in reg */
rev x8, x8
#if INTERLEAVE >= 2
cmn w5, w4 /* 32 bit overflow? */
cmn w8, w4 /* 32 bit overflow? */
bcs .Lctrloop
.LctrloopNx:
subs w4, w4, #INTERLEAVE
bmi .Lctr1x
#if INTERLEAVE == 2
mov v0.8b, v4.8b
mov v1.8b, v4.8b
rev x7, x5
add x5, x5, #1
rev x7, x8
add x8, x8, #1
ins v0.d[1], x7
rev x7, x5
add x5, x5, #1
rev x7, x8
add x8, x8, #1
ins v1.d[1], x7
ld1 {v2.16b-v3.16b}, [x1], #32 /* get 2 input blocks */
do_encrypt_block2x
Expand All @@ -305,7 +298,7 @@ AES_ENTRY(aes_ctr_encrypt)
st1 {v0.16b-v1.16b}, [x0], #32
#else
ldr q8, =0x30000000200000001 /* addends 1,2,3[,0] */
dup v7.4s, w5
dup v7.4s, w8
mov v0.16b, v4.16b
add v7.4s, v7.4s, v8.4s
mov v1.16b, v4.16b
Expand All @@ -323,49 +316,52 @@ AES_ENTRY(aes_ctr_encrypt)
eor v2.16b, v7.16b, v2.16b
eor v3.16b, v5.16b, v3.16b
st1 {v0.16b-v3.16b}, [x0], #64
add x5, x5, #INTERLEAVE
add x8, x8, #INTERLEAVE
#endif
cbz w4, .LctroutNx
.LctrincNx:
rev x7, x5
rev x7, x8
ins v4.d[1], x7
cbz w4, .Lctrout
b .LctrloopNx
.LctroutNx:
sub x5, x5, #1
rev x7, x5
ins v4.d[1], x7
b .Lctrout
.Lctr1x:
adds w4, w4, #INTERLEAVE
beq .Lctrout
#endif
.Lctrloop:
mov v0.16b, v4.16b
encrypt_block v0, w3, x2, x6, w7

adds x8, x8, #1 /* increment BE ctr */
rev x7, x8
ins v4.d[1], x7
bcs .Lctrcarry /* overflow? */

.Lctrcarrydone:
subs w4, w4, #1
bmi .Lctrhalfblock /* blocks < 0 means 1/2 block */
ld1 {v3.16b}, [x1], #16
eor v3.16b, v0.16b, v3.16b
st1 {v3.16b}, [x0], #16
beq .Lctrout
.Lctrinc:
adds x5, x5, #1 /* increment BE ctr */
rev x7, x5
ins v4.d[1], x7
bcc .Lctrloop /* no overflow? */
umov x7, v4.d[0] /* load upper word of ctr */
rev x7, x7 /* ... to handle the carry */
add x7, x7, #1
rev x7, x7
ins v4.d[0], x7
b .Lctrloop
bne .Lctrloop

.Lctrout:
st1 {v4.16b}, [x5] /* return next CTR value */
FRAME_POP
ret

.Lctrhalfblock:
ld1 {v3.8b}, [x1]
eor v3.8b, v0.8b, v3.8b
st1 {v3.8b}, [x0]
.Lctrout:
FRAME_POP
ret

.Lctrcarry:
umov x7, v4.d[0] /* load upper word of ctr */
rev x7, x7 /* ... to handle the carry */
add x7, x7, #1
rev x7, x7
ins v4.d[0], x7
b .Lctrcarrydone
AES_ENDPROC(aes_ctr_encrypt)
.ltorg

Expand Down
1 change: 1 addition & 0 deletions arch/arm64/include/uapi/asm/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ struct user_fpsimd_state {
__uint128_t vregs[32];
__u32 fpsr;
__u32 fpcr;
__u32 __reserved[2];
};

struct user_hwdebug_state {
Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -562,7 +562,7 @@ el0_inv:
mov x0, sp
mov x1, #BAD_SYNC
mov x2, x25
bl bad_mode
bl bad_el0_sync
b ret_to_user
ENDPROC(el0_sync)

Expand Down
Loading