Skip to content

Commit

Permalink
Merge tag 'v5.12.17' into 5.12
Browse files Browse the repository at this point in the history
This is the 5.12.17 stable release
  • Loading branch information
xanmod committed Jul 14, 2021
2 parents 9297f2a + 72e0aab commit 6568025
Show file tree
Hide file tree
Showing 744 changed files with 6,384 additions and 3,293 deletions.
26 changes: 24 additions & 2 deletions Documentation/ABI/testing/evm
Expand Up @@ -49,8 +49,30 @@ Description:
modification of EVM-protected metadata and
disable all further modification of policy

Note that once a key has been loaded, it will no longer be
possible to enable metadata modification.
Echoing a value is additive, the new value is added to the
existing initialization flags.

For example, after::

echo 2 ><securityfs>/evm

another echo can be performed::

echo 1 ><securityfs>/evm

and the resulting value will be 3.

Note that once an HMAC key has been loaded, it will no longer
be possible to enable metadata modification. Signaling that an
HMAC key has been loaded will clear the corresponding flag.
For example, if the current value is 6 (2 and 4 set)::

echo 1 ><securityfs>/evm

will set the new value to 3 (4 cleared).

Loading an HMAC key is the only way to disable metadata
modification.

Until key loading has been signaled EVM can not create
or validate the 'security.evm' xattr, but returns
Expand Down
8 changes: 5 additions & 3 deletions Documentation/ABI/testing/sysfs-bus-papr-pmem
Expand Up @@ -39,9 +39,11 @@ KernelVersion: v5.9
Contact: linuxppc-dev <linuxppc-dev@lists.ozlabs.org>, linux-nvdimm@lists.01.org,
Description:
(RO) Report various performance stats related to papr-scm NVDIMM
device. Each stat is reported on a new line with each line
composed of a stat-identifier followed by it value. Below are
currently known dimm performance stats which are reported:
device. This attribute is only available for NVDIMM devices
that support reporting NVDIMM performance stats. Each stat is
reported on a new line with each line composed of a
stat-identifier followed by it value. Below are currently known
dimm performance stats which are reported:

* "CtlResCt" : Controller Reset Count
* "CtlResTm" : Controller Reset Elapsed Time
Expand Down
6 changes: 6 additions & 0 deletions Documentation/admin-guide/kernel-parameters.txt
Expand Up @@ -587,6 +587,12 @@
loops can be debugged more effectively on production
systems.

clocksource.max_cswd_read_retries= [KNL]
Number of clocksource_watchdog() retries due to
external delays before the clock will be marked
unstable. Defaults to three retries, that is,
four attempts to read the clock under test.

clearcpuid=BITNUM[,BITNUM...] [X86]
Disable CPUID feature X for the kernel. See
arch/x86/include/asm/cpufeatures.h for the valid bit
Expand Down
5 changes: 3 additions & 2 deletions Documentation/hwmon/max31790.rst
Expand Up @@ -38,6 +38,7 @@ Sysfs entries
fan[1-12]_input RO fan tachometer speed in RPM
fan[1-12]_fault RO fan experienced fault
fan[1-6]_target RW desired fan speed in RPM
pwm[1-6]_enable RW regulator mode, 0=disabled, 1=manual mode, 2=rpm mode
pwm[1-6] RW fan target duty cycle (0-255)
pwm[1-6]_enable RW regulator mode, 0=disabled (duty cycle=0%), 1=manual mode, 2=rpm mode
pwm[1-6] RW read: current pwm duty cycle,
write: target pwm duty cycle (0-255)
================== === =======================================================
5 changes: 4 additions & 1 deletion Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
Expand Up @@ -3285,7 +3285,7 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -
:stub-columns: 0
:widths: 1 1 2

* - ``V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT``
* - ``V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED``
- 0x00000001
-
* - ``V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT``
Expand Down Expand Up @@ -3493,6 +3493,9 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -
* - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED``
- 0x00000100
-
* - ``V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT``
- 0x00000200
-

.. c:type:: v4l2_hevc_dpb_entry
Expand Down
4 changes: 2 additions & 2 deletions Makefile
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 12
SUBLEVEL = 16
SUBLEVEL = 17
EXTRAVERSION =
NAME = Frozen Wasteland

Expand Down Expand Up @@ -1007,7 +1007,7 @@ LDFLAGS_vmlinux += $(call ld-option, -X,)
endif

ifeq ($(CONFIG_RELR),y)
LDFLAGS_vmlinux += --pack-dyn-relocs=relr
LDFLAGS_vmlinux += --pack-dyn-relocs=relr --use-android-relr-tags
endif

# We never want expected sections to be placed heuristically by the
Expand Down
1 change: 0 additions & 1 deletion arch/alpha/kernel/smp.c
Expand Up @@ -166,7 +166,6 @@ smp_callin(void)
DBGS(("smp_callin: commencing CPU %d current %p active_mm %p\n",
cpuid, current, current->active_mm));

preempt_disable();
cpu_startup_entry(CPUHP_AP_ONLINE_IDLE);
}

Expand Down
1 change: 0 additions & 1 deletion arch/arc/kernel/smp.c
Expand Up @@ -189,7 +189,6 @@ void start_kernel_secondary(void)
pr_info("## CPU%u LIVE ##: Executing Code...\n", cpu);

local_irq_enable();
preempt_disable();
cpu_startup_entry(CPUHP_AP_ONLINE_IDLE);
}

Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/sama5d4.dtsi
Expand Up @@ -787,7 +787,7 @@
0xffffffff 0x3ffcfe7c 0x1c010101 /* pioA */
0x7fffffff 0xfffccc3a 0x3f00cc3a /* pioB */
0xffffffff 0x3ff83fff 0xff00ffff /* pioC */
0x0003ff00 0x8002a800 0x00000000 /* pioD */
0xb003ff00 0x8002a800 0x00000000 /* pioD */
0xffffffff 0x7fffffff 0x76fff1bf /* pioE */
>;

Expand Down
7 changes: 7 additions & 0 deletions arch/arm/boot/dts/ste-href.dtsi
Expand Up @@ -4,6 +4,7 @@
*/

#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/leds/common.h>
#include "ste-href-family-pinctrl.dtsi"

/ {
Expand Down Expand Up @@ -64,17 +65,20 @@
reg = <0>;
led-cur = /bits/ 8 <0x2f>;
max-cur = /bits/ 8 <0x5f>;
color = <LED_COLOR_ID_BLUE>;
linux,default-trigger = "heartbeat";
};
chan@1 {
reg = <1>;
led-cur = /bits/ 8 <0x2f>;
max-cur = /bits/ 8 <0x5f>;
color = <LED_COLOR_ID_BLUE>;
};
chan@2 {
reg = <2>;
led-cur = /bits/ 8 <0x2f>;
max-cur = /bits/ 8 <0x5f>;
color = <LED_COLOR_ID_BLUE>;
};
};
lp5521@34 {
Expand All @@ -88,16 +92,19 @@
reg = <0>;
led-cur = /bits/ 8 <0x2f>;
max-cur = /bits/ 8 <0x5f>;
color = <LED_COLOR_ID_BLUE>;
};
chan@1 {
reg = <1>;
led-cur = /bits/ 8 <0x2f>;
max-cur = /bits/ 8 <0x5f>;
color = <LED_COLOR_ID_BLUE>;
};
chan@2 {
reg = <2>;
led-cur = /bits/ 8 <0x2f>;
max-cur = /bits/ 8 <0x5f>;
color = <LED_COLOR_ID_BLUE>;
};
};
bh1780@29 {
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/kernel/perf_event_v7.c
Expand Up @@ -773,10 +773,10 @@ static inline void armv7pmu_write_counter(struct perf_event *event, u64 value)
pr_err("CPU%u writing wrong counter %d\n",
smp_processor_id(), idx);
} else if (idx == ARMV7_IDX_CYCLE_COUNTER) {
asm volatile("mcr p15, 0, %0, c9, c13, 0" : : "r" (value));
asm volatile("mcr p15, 0, %0, c9, c13, 0" : : "r" ((u32)value));
} else {
armv7_pmnc_select_counter(idx);
asm volatile("mcr p15, 0, %0, c9, c13, 2" : : "r" (value));
asm volatile("mcr p15, 0, %0, c9, c13, 2" : : "r" ((u32)value));
}
}

Expand Down
1 change: 0 additions & 1 deletion arch/arm/kernel/smp.c
Expand Up @@ -432,7 +432,6 @@ asmlinkage void secondary_start_kernel(void)
#endif
pr_debug("CPU%u: Booted secondary processor\n", cpu);

preempt_disable();
trace_hardirqs_off();

/*
Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/boot/dts/marvell/armada-37xx.dtsi
Expand Up @@ -134,7 +134,7 @@

uart0: serial@12000 {
compatible = "marvell,armada-3700-uart";
reg = <0x12000 0x200>;
reg = <0x12000 0x18>;
clocks = <&xtalclk>;
interrupts =
<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/include/asm/kvm_host.h
Expand Up @@ -46,6 +46,7 @@
#define KVM_REQ_VCPU_RESET KVM_ARCH_REQ(2)
#define KVM_REQ_RECORD_STEAL KVM_ARCH_REQ(3)
#define KVM_REQ_RELOAD_GICv4 KVM_ARCH_REQ(4)
#define KVM_REQ_RELOAD_PMU KVM_ARCH_REQ(5)

#define KVM_DIRTY_LOG_MANUAL_CAPS (KVM_DIRTY_LOG_MANUAL_PROTECT_ENABLE | \
KVM_DIRTY_LOG_INITIALLY_SET)
Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/include/asm/mmu_context.h
Expand Up @@ -177,9 +177,9 @@ static inline void update_saved_ttbr0(struct task_struct *tsk,
return;

if (mm == &init_mm)
ttbr = __pa_symbol(reserved_pg_dir);
ttbr = phys_to_ttbr(__pa_symbol(reserved_pg_dir));
else
ttbr = virt_to_phys(mm->pgd) | ASID(mm) << 48;
ttbr = phys_to_ttbr(virt_to_phys(mm->pgd)) | ASID(mm) << 48;

WRITE_ONCE(task_thread_info(tsk)->ttbr0, ttbr);
}
Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/include/asm/preempt.h
Expand Up @@ -23,7 +23,7 @@ static inline void preempt_count_set(u64 pc)
} while (0)

#define init_idle_preempt_count(p, cpu) do { \
task_thread_info(p)->preempt_count = PREEMPT_ENABLED; \
task_thread_info(p)->preempt_count = PREEMPT_DISABLED; \
} while (0)

static inline void set_preempt_need_resched(void)
Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/kernel/perf_event.c
Expand Up @@ -312,7 +312,7 @@ static ssize_t slots_show(struct device *dev, struct device_attribute *attr,
struct arm_pmu *cpu_pmu = container_of(pmu, struct arm_pmu, pmu);
u32 slots = cpu_pmu->reg_pmmir & ARMV8_PMU_SLOTS_MASK;

return snprintf(page, PAGE_SIZE, "0x%08x\n", slots);
return sysfs_emit(page, "0x%08x\n", slots);
}

static DEVICE_ATTR_RO(slots);
Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/kernel/setup.c
Expand Up @@ -381,7 +381,7 @@ void __init __no_sanitize_address setup_arch(char **cmdline_p)
* faults in case uaccess_enable() is inadvertently called by the init
* thread.
*/
init_task.thread_info.ttbr0 = __pa_symbol(reserved_pg_dir);
init_task.thread_info.ttbr0 = phys_to_ttbr(__pa_symbol(reserved_pg_dir));
#endif

if (boot_args[1] || boot_args[2] || boot_args[3]) {
Expand Down
1 change: 0 additions & 1 deletion arch/arm64/kernel/smp.c
Expand Up @@ -223,7 +223,6 @@ asmlinkage notrace void secondary_start_kernel(void)
init_gic_priority_masking();

rcu_cpu_starting(cpu);
preempt_disable();
trace_hardirqs_off();

/*
Expand Down
4 changes: 4 additions & 0 deletions arch/arm64/kvm/arm.c
Expand Up @@ -684,6 +684,10 @@ static void check_vcpu_requests(struct kvm_vcpu *vcpu)
vgic_v4_load(vcpu);
preempt_enable();
}

if (kvm_check_request(KVM_REQ_RELOAD_PMU, vcpu))
kvm_pmu_handle_pmcr(vcpu,
__vcpu_sys_reg(vcpu, PMCR_EL0));
}
}

Expand Down
4 changes: 4 additions & 0 deletions arch/arm64/kvm/pmu-emul.c
Expand Up @@ -578,6 +578,7 @@ void kvm_pmu_handle_pmcr(struct kvm_vcpu *vcpu, u64 val)
kvm_pmu_set_counter_value(vcpu, ARMV8_PMU_CYCLE_IDX, 0);

if (val & ARMV8_PMU_PMCR_P) {
mask &= ~BIT(ARMV8_PMU_CYCLE_IDX);
for_each_set_bit(i, &mask, 32)
kvm_pmu_set_counter_value(vcpu, i, 0);
}
Expand Down Expand Up @@ -850,6 +851,9 @@ int kvm_arm_pmu_v3_enable(struct kvm_vcpu *vcpu)
return -EINVAL;
}

/* One-off reload of the PMU on first run */
kvm_make_request(KVM_REQ_RELOAD_PMU, vcpu);

return 0;
}

Expand Down
1 change: 0 additions & 1 deletion arch/csky/kernel/smp.c
Expand Up @@ -281,7 +281,6 @@ void csky_start_secondary(void)
pr_info("CPU%u Online: %s...\n", cpu, __func__);

local_irq_enable();
preempt_disable();
cpu_startup_entry(CPUHP_AP_ONLINE_IDLE);
}

Expand Down
11 changes: 7 additions & 4 deletions arch/csky/mm/syscache.c
Expand Up @@ -12,14 +12,17 @@ SYSCALL_DEFINE3(cacheflush,
int, cache)
{
switch (cache) {
case ICACHE:
case BCACHE:
flush_icache_mm_range(current->mm,
(unsigned long)addr,
(unsigned long)addr + bytes);
case DCACHE:
dcache_wb_range((unsigned long)addr,
(unsigned long)addr + bytes);
if (cache != BCACHE)
break;
fallthrough;
case ICACHE:
flush_icache_mm_range(current->mm,
(unsigned long)addr,
(unsigned long)addr + bytes);
break;
default:
return -EINVAL;
Expand Down
2 changes: 1 addition & 1 deletion arch/ia64/kernel/mca_drv.c
Expand Up @@ -343,7 +343,7 @@ init_record_index_pools(void)

/* - 2 - */
sect_min_size = sal_log_sect_min_sizes[0];
for (i = 1; i < sizeof sal_log_sect_min_sizes/sizeof(size_t); i++)
for (i = 1; i < ARRAY_SIZE(sal_log_sect_min_sizes); i++)
if (sect_min_size > sal_log_sect_min_sizes[i])
sect_min_size = sal_log_sect_min_sizes[i];

Expand Down
1 change: 0 additions & 1 deletion arch/ia64/kernel/smpboot.c
Expand Up @@ -441,7 +441,6 @@ start_secondary (void *unused)
#endif
efi_map_pal_code();
cpu_init();
preempt_disable();
smp_callin();

cpu_startup_entry(CPUHP_AP_ONLINE_IDLE);
Expand Down
3 changes: 3 additions & 0 deletions arch/m68k/Kconfig.machine
Expand Up @@ -25,6 +25,9 @@ config ATARI
this kernel on an Atari, say Y here and browse the material
available in <file:Documentation/m68k>; otherwise say N.

config ATARI_KBD_CORE
bool

config MAC
bool "Macintosh support"
depends on MMU
Expand Down
2 changes: 1 addition & 1 deletion arch/mips/include/asm/highmem.h
Expand Up @@ -36,7 +36,7 @@ extern pte_t *pkmap_page_table;
* easily, subsequent pte tables have to be allocated in one physical
* chunk of RAM.
*/
#ifdef CONFIG_PHYS_ADDR_T_64BIT
#if defined(CONFIG_PHYS_ADDR_T_64BIT) || defined(CONFIG_MIPS_HUGE_TLB_SUPPORT)
#define LAST_PKMAP 512
#else
#define LAST_PKMAP 1024
Expand Down
1 change: 0 additions & 1 deletion arch/mips/kernel/smp.c
Expand Up @@ -348,7 +348,6 @@ asmlinkage void start_secondary(void)
*/

calibrate_delay();
preempt_disable();
cpu = smp_processor_id();
cpu_data[cpu].udelay_val = loops_per_jiffy;

Expand Down
2 changes: 0 additions & 2 deletions arch/openrisc/kernel/smp.c
Expand Up @@ -145,8 +145,6 @@ asmlinkage __init void secondary_start_kernel(void)
set_cpu_online(cpu, true);

local_irq_enable();

preempt_disable();
/*
* OK, it's off to the idle thread for us
*/
Expand Down
1 change: 0 additions & 1 deletion arch/parisc/kernel/smp.c
Expand Up @@ -302,7 +302,6 @@ void __init smp_callin(unsigned long pdce_proc)
#endif

smp_cpu_init(slave_id);
preempt_disable();

flush_cache_all_local(); /* start with known state */
flush_tlb_all_local(NULL);
Expand Down

0 comments on commit 6568025

Please sign in to comment.