Skip to content

Commit

Permalink
Merge 4.4.164 into kernel.lnx.4.4.r35-rel
Browse files Browse the repository at this point in the history
Changes in 4.4.164: (161 commits)
        bcache: fix miss key refill->end in writeback
        hwmon: (pmbus) Fix page count auto-detection.
        jffs2: free jffs2_sb_info through jffs2_kill_sb()
        pcmcia: Implement CLKRUN protocol disabling for Ricoh bridges
        ipmi: Fix timer race with module unload
        parisc: Fix address in HPMC IVA
        parisc: Fix map_pages() to not overwrite existing pte entries
        ALSA: hda - Add mic quirk for the Lenovo G50-30 (17aa:3905)
        ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops
        x86/corruption-check: Fix panic in memory_corruption_check() when boot option without value is provided
        x86/kconfig: Fall back to ticket spinlocks
        sparc: Fix single-pcr perf event counter management.
        x86/fpu: Remove second definition of fpu in __fpu__restore_sig()
        net: qla3xxx: Remove overflowing shift statement
        selftests: ftrace: Add synthetic event syntax testcase
        locking/lockdep: Fix debug_locks off performance problem
        ataflop: fix error handling during setup
        swim: fix cleanup on setup error
        tun: Consistently configure generic netdev params via rtnetlink
        perf tools: Free temporary 'sys' string in read_event_files()
        perf tools: Cleanup trace-event-info 'tdata' leak
        mmc: sdhci-pci-o2micro: Add quirk for O2 Micro dev 0x8620 rev 0x01
        Bluetooth: btbcm: Add entry for BCM4335C0 UART bluetooth
        x86: boot: Fix EFI stub alignment
        pinctrl: qcom: spmi-mpp: Fix err handling of pmic_mpp_set_mux
        kprobes: Return error if we fail to reuse kprobe instead of BUG_ON()
        ACPI / LPSS: Add alternative ACPI HIDs for Cherry Trail DMA controllers
        pinctrl: qcom: spmi-mpp: Fix drive strength setting
        pinctrl: spmi-mpp: Fix pmic_mpp_config_get() to be compliant
        pinctrl: ssbi-gpio: Fix pm8xxx_pin_config_get() to be compliant
        ath10k: schedule hardware restart if WMI command times out
        scsi: esp_scsi: Track residual for PIO transfers
        scsi: megaraid_sas: fix a missing-check bug
        tpm: suppress transmit cmd error logs when TPM 1.2 is disabled/deactivated
        ext4: fix argument checking in EXT4_IOC_MOVE_EXT
        MD: fix invalid stored role for a disk
        usb: chipidea: Prevent unbalanced IRQ disable
        driver/dma/ioat: Call del_timer_sync() without holding prep_lock
        uio: ensure class is registered before devices
        scsi: lpfc: Correct soft lockup when running mds diagnostics
        signal: Always deliver the kernel's SIGKILL and SIGSTOP to a pid namespace init
        dmaengine: dma-jz4780: Return error if not probed from DT
        ALSA: hda: Check the non-cached stream buffers more explicitly
        xen-swiotlb: use actually allocated size on check physical continuous
        tpm: Restore functionality to xen vtpm driver.
        xen: fix race in xen_qlock_wait()
        xen: make xen_qlock_wait() nestable
        net/ipv4: defensive cipso option parsing
        libnvdimm: Hold reference on parent while scheduling async init
        jbd2: fix use after free in jbd2_log_do_checkpoint()
        gfs2_meta: ->mount() can get NULL dev_name
        ext4: initialize retries variable in ext4_da_write_inline_data_begin()
        HID: hiddev: fix potential Spectre v1
        PCI: Add Device IDs for Intel GPU "spurious interrupt" quirk
        signal/GenWQE: Fix sending of SIGKILL
        crypto: lrw - Fix out-of bounds access on counter overflow
        ima: fix showing large 'violations' or 'runtime_measurements_count'
        hugetlbfs: dirty pages as they are added to pagecache
        kbuild: fix kernel/bounds.c 'W=1' warning
        iio: adc: at91: fix acking DRDY irq on simple conversions
        iio: adc: at91: fix wrong channel number in triggered buffer mode
        w1: omap-hdq: fix missing bus unregister at removal
        smb3: allow stats which track session and share reconnects to be reset
        smb3: do not attempt cifs operation in smb3 query info error path
        smb3: on kerberos mount if server doesn't specify auth type use krb5
        printk: Fix panic caused by passing log_buf_len to command line
        genirq: Fix race on spurious interrupt detection
        NFSv4.1: Fix the r/wsize checking
        nfsd: Fix an Oops in free_session()
        lockd: fix access beyond unterminated strings in prints
        dm ioctl: harden copy_params()'s copy_from_user() from malicious users
        powerpc/msi: Fix compile error on mpc83xx
        MIPS: OCTEON: fix out of bounds array access on CN68XX
        TC: Set DMA masks for devices
        kgdboc: Passing ekgdboc to command line causes panic
        xen: fix xen_qlock_wait()
        media: em28xx: use a default format if TRY_FMT fails
        media: em28xx: fix input name for Terratec AV 350
        media: em28xx: make v4l2-compliance happier by starting sequence on zero
        ext4: avoid running out of journal credits when appending to an inline file
        Cramfs: fix abad comparison when wrap-arounds occur
        arm64: dts: stratix10: Correct System Manager register size
        soc/tegra: pmc: Fix child-node lookup
        btrfs: Handle owner mismatch gracefully when walking up tree
        btrfs: locking: Add extra check in btrfs_init_new_buffer() to avoid deadlock
        btrfs: iterate all devices during trim, instead of fs_devices::alloc_list
        btrfs: don't attempt to trim devices that don't support it
        btrfs: wait on caching when putting the bg cache
        btrfs: reset max_extent_size on clear in a bitmap
        btrfs: make sure we create all new block groups
        Btrfs: fix wrong dentries after fsync of file that got its parent replaced
        btrfs: qgroup: Dirty all qgroups before rescan
        Btrfs: fix null pointer dereference on compressed write path error
        btrfs: set max_extent_size properly
        MD: fix invalid stored role for a disk - try2
        tty: check name length in tty_find_polling_driver()
        powerpc/nohash: fix undefined behaviour when testing page size support
        drm/omap: fix memory barrier bug in DMM driver
        media: pci: cx23885: handle adding to list failure
        MIPS: kexec: Mark CPU offline before disabling local IRQ
        powerpc/boot: Ensure _zimage_start is a weak symbol
        sc16is7xx: Fix for multi-channel stall
        media: tvp5150: fix width alignment during set_selection()
        9p locks: fix glock.client_id leak in do_lock
        9p: clear dangling pointers in p9stat_free
        cdrom: fix improper type cast, which can leat to information leak.
        scsi: qla2xxx: Fix incorrect port speed being set for FC adapters
        fuse: Fix use-after-free in fuse_dev_do_read()
        fuse: Fix use-after-free in fuse_dev_do_write()
        fuse: fix blocked_waitq wakeup
        fuse: set FR_SENT while locked
        mm, elf: handle vm_brk error
        binfmt_elf: fix calculations for bss padding
        mm: refuse wrapped vm_brk requests
        fs, elf: make sure to page align bss in load_elf_library
        mm: do not bug_on on incorrect length in __mm_populate()
        e1000: avoid null pointer dereference on invalid stat type
        e1000: fix race condition between e1000_down() and e1000_watchdog
        bna: ethtool: Avoid reading past end of buffer
        MIPS: Loongson-3: Fix CPU UART irq delivery problem
        MIPS: Loongson-3: Fix BRIDGE irq delivery problem
        xtensa: add NOTES section to the linker script
        xtensa: make sure bFLT stack is 16 byte aligned
        xtensa: fix boot parameters address translation
        clk: s2mps11: Fix matching when built as module and DT node contains compatible
        libceph: bump CEPH_MSG_MAX_DATA_LEN
        mach64: fix display corruption on big endian machines
        mach64: fix image corruption due to reading accelerator registers
        vhost/scsi: truncate T10 PI iov_iter to prot_bytes
        ocfs2: fix a misuse a of brelse after failing ocfs2_check_dir_entry
        mm: thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings
        mtd: docg3: don't set conflicting BCH_CONST_PARAMS option
        termios, tty/tty_baudrate.c: fix buffer overrun
        arch/alpha, termios: implement BOTHER, IBSHIFT and termios2
        Btrfs: fix data corruption due to cloning of eof block
        clockevents/drivers/i8253: Add support for PIT shutdown quirk
        ext4: add missing brelse() update_backups()'s error path
        ext4: add missing brelse() in set_flexbg_block_bitmap()'s error path
        ext4: add missing brelse() add_new_gdb_meta_bg()'s error path
        ext4: avoid potential extra brelse in setup_new_flex_group_blocks()
        ext4: fix possible inode leak in the retry loop of ext4_resize_fs()
        ext4: avoid buffer leak in ext4_orphan_add() after prior errors
        ext4: fix missing cleanup if ext4_alloc_flex_bg_array() fails while resizing
        ext4: avoid possible double brelse() in add_new_gdb() on error path
        ext4: fix possible leak of sbi->s_group_desc_leak in error path
        ext4: release bs.bh before re-using in ext4_xattr_block_find()
        ext4: fix buffer leak in ext4_xattr_move_to_block() on error path
        ext4: fix buffer leak in __ext4_read_dirblock() on error path
        mount: Retest MNT_LOCKED in do_umount
        mount: Don't allow copying MNT_UNBINDABLE|MNT_LOCKED mounts
        mount: Prevent MNT_DETACH from disconnecting locked mounts
        sunrpc: correct the computation for page_ptr when truncating
        rtc: hctosys: Add missing range error reporting
        fuse: fix leaked notify reply
        configfs: replace strncpy with memcpy
        hugetlbfs: fix kernel BUG at fs/hugetlbfs/inode.c:444!
        mm: migration: fix migration of huge PMD shared pages
        drm/rockchip: Allow driver to be shutdown on reboot/kexec
        drm/dp_mst: Check if primary mstb is null
        drm/i915/hdmi: Add HDMI 2.0 audio clock recovery N values
        Linux 4.4.164

Signed-off-by: Nathan Chancellor <[email protected]>

Conflicts:
	drivers/hid/usbhid/hiddev.c
  • Loading branch information
nathanchance committed Nov 21, 2018
2 parents 9a28cde + 8e592f4 commit c0bb39f
Show file tree
Hide file tree
Showing 148 changed files with 1,113 additions and 421 deletions.
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 = 163
SUBLEVEL = 164
EXTRAVERSION =
NAME = Blurry Fish Butt

Expand Down
8 changes: 7 additions & 1 deletion arch/alpha/include/asm/termios.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,15 @@
})

#define user_termios_to_kernel_termios(k, u) \
copy_from_user(k, u, sizeof(struct termios))
copy_from_user(k, u, sizeof(struct termios2))

#define kernel_termios_to_user_termios(u, k) \
copy_to_user(u, k, sizeof(struct termios2))

#define user_termios_to_kernel_termios_1(k, u) \
copy_from_user(k, u, sizeof(struct termios))

#define kernel_termios_to_user_termios_1(u, k) \
copy_to_user(u, k, sizeof(struct termios))

#endif /* _ALPHA_TERMIOS_H */
5 changes: 5 additions & 0 deletions arch/alpha/include/uapi/asm/ioctls.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@
#define TCXONC _IO('t', 30)
#define TCFLSH _IO('t', 31)

#define TCGETS2 _IOR('T', 42, struct termios2)
#define TCSETS2 _IOW('T', 43, struct termios2)
#define TCSETSW2 _IOW('T', 44, struct termios2)
#define TCSETSF2 _IOW('T', 45, struct termios2)

#define TIOCSWINSZ _IOW('t', 103, struct winsize)
#define TIOCGWINSZ _IOR('t', 104, struct winsize)
#define TIOCSTART _IO('t', 110) /* start output, like ^Q */
Expand Down
17 changes: 17 additions & 0 deletions arch/alpha/include/uapi/asm/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,19 @@ struct termios {
speed_t c_ospeed; /* output speed */
};

/* Alpha has identical termios and termios2 */

struct termios2 {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
tcflag_t c_cflag; /* control mode flags */
tcflag_t c_lflag; /* local mode flags */
cc_t c_cc[NCCS]; /* control characters */
cc_t c_line; /* line discipline (== c_cc[19]) */
speed_t c_ispeed; /* input speed */
speed_t c_ospeed; /* output speed */
};

/* Alpha has matching termios and ktermios */

struct ktermios {
Expand Down Expand Up @@ -147,6 +160,7 @@ struct ktermios {
#define B3000000 00034
#define B3500000 00035
#define B4000000 00036
#define BOTHER 00037

#define CSIZE 00001400
#define CS5 00000000
Expand All @@ -164,6 +178,9 @@ struct ktermios {
#define CMSPAR 010000000000 /* mark or space (stick) parity */
#define CRTSCTS 020000000000 /* flow control */

#define CIBAUD 07600000
#define IBSHIFT 16

/* c_lflag bits */
#define ISIG 0x00000080
#define ICANON 0x00000100
Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@

sysmgr: sysmgr@ffd12000 {
compatible = "altr,sys-mgr", "syscon";
reg = <0xffd12000 0x1000>;
reg = <0xffd12000 0x228>;
};

/* Local timer */
Expand Down
2 changes: 1 addition & 1 deletion arch/mips/cavium-octeon/executive/cvmx-helper.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ void (*cvmx_override_pko_queue_priority) (int pko_port,
void (*cvmx_override_ipd_port_setup) (int ipd_port);

/* Port count per interface */
static int interface_port_count[5];
static int interface_port_count[9];

/* Port last configured link info index by IPD/PKO port */
static cvmx_helper_link_info_t
Expand Down
2 changes: 1 addition & 1 deletion arch/mips/include/asm/mach-loongson64/irq.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#define MIPS_CPU_IRQ_BASE 56

#define LOONGSON_UART_IRQ (MIPS_CPU_IRQ_BASE + 2) /* UART */
#define LOONGSON_HT1_IRQ (MIPS_CPU_IRQ_BASE + 3) /* HT1 */
#define LOONGSON_BRIDGE_IRQ (MIPS_CPU_IRQ_BASE + 3) /* CASCADE */
#define LOONGSON_TIMER_IRQ (MIPS_CPU_IRQ_BASE + 7) /* CPU Timer */

#define LOONGSON_HT1_CFG_BASE loongson_sysconf.ht_control_base
Expand Down
3 changes: 3 additions & 0 deletions arch/mips/kernel/crash.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ static void crash_shutdown_secondary(void *passed_regs)
if (!cpu_online(cpu))
return;

/* We won't be sent IPIs any more. */
set_cpu_online(cpu, false);

local_irq_disable();
if (!cpumask_test_cpu(cpu, &cpus_in_crash))
crash_save_cpu(regs, cpu);
Expand Down
3 changes: 3 additions & 0 deletions arch/mips/kernel/machine_kexec.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,9 @@ machine_kexec(struct kimage *image)
*ptr = (unsigned long) phys_to_virt(*ptr);
}

/* Mark offline BEFORE disabling local irq. */
set_cpu_online(smp_processor_id(), false);

/*
* we do not want to be bothered.
*/
Expand Down
56 changes: 6 additions & 50 deletions arch/mips/loongson64/loongson-3/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,51 +42,8 @@ void mach_irq_dispatch(unsigned int pending)
}
}

static struct irqaction cascade_irqaction = {
.handler = no_action,
.flags = IRQF_NO_SUSPEND,
.name = "cascade",
};

static inline void mask_loongson_irq(struct irq_data *d)
{
clear_c0_status(0x100 << (d->irq - MIPS_CPU_IRQ_BASE));
irq_disable_hazard();

/* Workaround: UART IRQ may deliver to any core */
if (d->irq == LOONGSON_UART_IRQ) {
int cpu = smp_processor_id();
int node_id = cpu_logical_map(cpu) / loongson_sysconf.cores_per_node;
int core_id = cpu_logical_map(cpu) % loongson_sysconf.cores_per_node;
u64 intenclr_addr = smp_group[node_id] |
(u64)(&LOONGSON_INT_ROUTER_INTENCLR);
u64 introuter_lpc_addr = smp_group[node_id] |
(u64)(&LOONGSON_INT_ROUTER_LPC);

*(volatile u32 *)intenclr_addr = 1 << 10;
*(volatile u8 *)introuter_lpc_addr = 0x10 + (1<<core_id);
}
}

static inline void unmask_loongson_irq(struct irq_data *d)
{
/* Workaround: UART IRQ may deliver to any core */
if (d->irq == LOONGSON_UART_IRQ) {
int cpu = smp_processor_id();
int node_id = cpu_logical_map(cpu) / loongson_sysconf.cores_per_node;
int core_id = cpu_logical_map(cpu) % loongson_sysconf.cores_per_node;
u64 intenset_addr = smp_group[node_id] |
(u64)(&LOONGSON_INT_ROUTER_INTENSET);
u64 introuter_lpc_addr = smp_group[node_id] |
(u64)(&LOONGSON_INT_ROUTER_LPC);

*(volatile u32 *)intenset_addr = 1 << 10;
*(volatile u8 *)introuter_lpc_addr = 0x10 + (1<<core_id);
}

set_c0_status(0x100 << (d->irq - MIPS_CPU_IRQ_BASE));
irq_enable_hazard();
}
static inline void mask_loongson_irq(struct irq_data *d) { }
static inline void unmask_loongson_irq(struct irq_data *d) { }

/* For MIPS IRQs which shared by all cores */
static struct irq_chip loongson_irq_chip = {
Expand Down Expand Up @@ -124,12 +81,11 @@ void __init mach_init_irq(void)
mips_cpu_irq_init();
init_i8259_irqs();
irq_set_chip_and_handler(LOONGSON_UART_IRQ,
&loongson_irq_chip, handle_level_irq);

/* setup HT1 irq */
setup_irq(LOONGSON_HT1_IRQ, &cascade_irqaction);
&loongson_irq_chip, handle_percpu_irq);
irq_set_chip_and_handler(LOONGSON_BRIDGE_IRQ,
&loongson_irq_chip, handle_percpu_irq);

set_c0_status(STATUSF_IP2 | STATUSF_IP6);
set_c0_status(STATUSF_IP2 | STATUSF_IP3 | STATUSF_IP6);
}

#ifdef CONFIG_HOTPLUG_CPU
Expand Down
2 changes: 1 addition & 1 deletion arch/parisc/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@
bv,n 0(%r3)
nop
.word 0 /* checksum (will be patched) */
.word PA(os_hpmc) /* address of handler */
.word 0 /* address of handler */
.word 0 /* length of handler */
.endm

Expand Down
3 changes: 2 additions & 1 deletion arch/parisc/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -829,7 +829,8 @@ void __init initialize_ivt(const void *iva)
for (i = 0; i < 8; i++)
*ivap++ = 0;

/* Compute Checksum for HPMC handler */
/* Setup IVA and compute checksum for HPMC handler */
ivap[6] = (u32)__pa(os_hpmc);
length = os_hpmc_size;
ivap[7] = length;

Expand Down
8 changes: 2 additions & 6 deletions arch/parisc/mm/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -491,12 +491,8 @@ static void __init map_pages(unsigned long start_vaddr,
pte = pte_mkhuge(pte);
}

if (address >= end_paddr) {
if (force)
break;
else
pte_val(pte) = 0;
}
if (address >= end_paddr)
break;

set_pte(pg_table, pte);

Expand Down
4 changes: 3 additions & 1 deletion arch/powerpc/boot/crt0.S
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,10 @@ p_end: .long _end
p_pstack: .long _platform_stack_top
#endif

.weak _zimage_start
.globl _zimage_start
/* Clang appears to require the .weak directive to be after the symbol
* is defined. See https://bugs.llvm.org/show_bug.cgi?id=38921 */
.weak _zimage_start
_zimage_start:
.globl _zimage_start_lib
_zimage_start_lib:
Expand Down
7 changes: 7 additions & 0 deletions arch/powerpc/include/asm/mpic.h
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,14 @@ extern struct bus_type mpic_subsys;
#define MPIC_REGSET_TSI108 MPIC_REGSET(1) /* Tsi108/109 PIC */

/* Get the version of primary MPIC */
#ifdef CONFIG_MPIC
extern u32 fsl_mpic_primary_get_version(void);
#else
static inline u32 fsl_mpic_primary_get_version(void)
{
return 0;
}
#endif

/* Allocate the controller structure and setup the linux irq descs
* for the range if interrupts passed in. No HW initialization is
Expand Down
3 changes: 3 additions & 0 deletions arch/powerpc/mm/tlb_nohash.c
Original file line number Diff line number Diff line change
Expand Up @@ -487,6 +487,9 @@ static void setup_page_sizes(void)
for (psize = 0; psize < MMU_PAGE_COUNT; ++psize) {
struct mmu_psize_def *def = &mmu_psize_defs[psize];

if (!def->shift)
continue;

if (tlb1ps & (1U << (def->shift - 10))) {
def->flags |= MMU_PAGE_SIZE_DIRECT;

Expand Down
17 changes: 13 additions & 4 deletions arch/sparc/kernel/perf_event.c
Original file line number Diff line number Diff line change
Expand Up @@ -926,6 +926,8 @@ static void read_in_all_counters(struct cpu_hw_events *cpuc)
sparc_perf_event_update(cp, &cp->hw,
cpuc->current_idx[i]);
cpuc->current_idx[i] = PIC_NO_INDEX;
if (cp->hw.state & PERF_HES_STOPPED)
cp->hw.state |= PERF_HES_ARCH;
}
}
}
Expand Down Expand Up @@ -958,10 +960,12 @@ static void calculate_single_pcr(struct cpu_hw_events *cpuc)

enc = perf_event_get_enc(cpuc->events[i]);
cpuc->pcr[0] &= ~mask_for_index(idx);
if (hwc->state & PERF_HES_STOPPED)
if (hwc->state & PERF_HES_ARCH) {
cpuc->pcr[0] |= nop_for_index(idx);
else
} else {
cpuc->pcr[0] |= event_encoding(enc, idx);
hwc->state = 0;
}
}
out:
cpuc->pcr[0] |= cpuc->event[0]->hw.config_base;
Expand All @@ -987,6 +991,9 @@ static void calculate_multiple_pcrs(struct cpu_hw_events *cpuc)

cpuc->current_idx[i] = idx;

if (cp->hw.state & PERF_HES_ARCH)
continue;

sparc_pmu_start(cp, PERF_EF_RELOAD);
}
out:
Expand Down Expand Up @@ -1078,6 +1085,8 @@ static void sparc_pmu_start(struct perf_event *event, int flags)
event->hw.state = 0;

sparc_pmu_enable_event(cpuc, &event->hw, idx);

perf_event_update_userpage(event);
}

static void sparc_pmu_stop(struct perf_event *event, int flags)
Expand Down Expand Up @@ -1370,9 +1379,9 @@ static int sparc_pmu_add(struct perf_event *event, int ef_flags)
cpuc->events[n0] = event->hw.event_base;
cpuc->current_idx[n0] = PIC_NO_INDEX;

event->hw.state = PERF_HES_UPTODATE;
event->hw.state = PERF_HES_UPTODATE | PERF_HES_STOPPED;
if (!(ef_flags & PERF_EF_START))
event->hw.state |= PERF_HES_STOPPED;
event->hw.state |= PERF_HES_ARCH;

/*
* If group events scheduling transaction was started,
Expand Down
1 change: 0 additions & 1 deletion arch/x86/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ config X86
select ARCH_USE_BUILTIN_BSWAP
select ARCH_USE_CMPXCHG_LOCKREF if X86_64
select ARCH_USE_QUEUED_RWLOCKS
select ARCH_USE_QUEUED_SPINLOCKS
select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH
select ARCH_WANTS_DYNAMIC_TASK_STRUCT
select ARCH_WANT_FRAME_POINTERS
Expand Down
7 changes: 7 additions & 0 deletions arch/x86/boot/tools/build.c
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,13 @@ int main(int argc, char ** argv)
die("Unable to mmap '%s': %m", argv[2]);
/* Number of 16-byte paragraphs, including space for a 4-byte CRC */
sys_size = (sz + 15 + 4) / 16;
#ifdef CONFIG_EFI_STUB
/*
* COFF requires minimum 32-byte alignment of sections, and
* adding a signature is problematic without that alignment.
*/
sys_size = (sys_size + 1) & ~1;
#endif

/* Patch the setup code with the appropriate size parameters */
buf[0x1f1] = setup_sectors-1;
Expand Down
15 changes: 15 additions & 0 deletions arch/x86/kernel/check.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ static __init int set_corruption_check(char *arg)
ssize_t ret;
unsigned long val;

if (!arg) {
pr_err("memory_corruption_check config string not provided\n");
return -EINVAL;
}

ret = kstrtoul(arg, 10, &val);
if (ret)
return ret;
Expand All @@ -44,6 +49,11 @@ static __init int set_corruption_check_period(char *arg)
ssize_t ret;
unsigned long val;

if (!arg) {
pr_err("memory_corruption_check_period config string not provided\n");
return -EINVAL;
}

ret = kstrtoul(arg, 10, &val);
if (ret)
return ret;
Expand All @@ -58,6 +68,11 @@ static __init int set_corruption_check_size(char *arg)
char *end;
unsigned size;

if (!arg) {
pr_err("memory_corruption_check_size config string not provided\n");
return -EINVAL;
}

size = memparse(arg, &end);

if (*end == '\0')
Expand Down
1 change: 0 additions & 1 deletion arch/x86/kernel/fpu/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,6 @@ static int __fpu__restore_sig(void __user *buf, void __user *buf_fx, int size)
* thread's fpu state, reconstruct fxstate from the fsave
* header. Sanitize the copied state etc.
*/
struct fpu *fpu = &tsk->thread.fpu;
struct user_i387_ia32_struct env;
int err = 0;

Expand Down
Loading

0 comments on commit c0bb39f

Please sign in to comment.