Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 32cddad5 authored by Nathan Chancellor's avatar Nathan Chancellor
Browse files

Merge 4.4.131 into kernel.lnx.4.4.r27-rel



Changes in 4.4.131: (44 commits)
        ext4: prevent right-shifting extents beyond EXT_MAX_BLOCKS
        ext4: set h_journal if there is a failure starting a reserved handle
        ext4: add validity checks for bitmap block numbers
        ext4: fix bitmap position validation
        usbip: usbip_host: fix to hold parent lock for device_attach() calls
        usbip: vhci_hcd: Fix usb device and sockfd leaks
        USB: serial: simple: add libtransistor console
        USB: serial: ftdi_sio: use jtag quirk for Arrow USB Blaster
        USB: serial: cp210x: add ID for NI USB serial console
        usb: core: Add quirk for HP v222w 16GB Mini
        USB: Increment wakeup count on remote wakeup.
        ALSA: usb-audio: Skip broken EU on Dell dock USB-audio
        virtio: add ability to iterate over vqs
        virtio_console: free buffers after reset
        drm/virtio: fix vq wait_event condition
        tty: Don't call panic() at tty_ldisc_init()
        tty: n_gsm: Fix long delays with control frame timeouts in ADM mode
        tty: n_gsm: Fix DLCI handling for ADM mode if debug & 2 is not set
        tty: Use __GFP_NOFAIL for tty_ldisc_get()
        ALSA: opl3: Hardening for potential Spectre v1
        ALSA: asihpi: Hardening for potential Spectre v1
        ALSA: hdspm: Hardening for potential Spectre v1
        ALSA: rme9652: Hardening for potential Spectre v1
        ALSA: control: Hardening for potential Spectre v1
        ALSA: core: Report audio_tstamp in snd_pcm_sync_ptr
        ALSA: seq: oss: Fix unbalanced use lock for synth MIDI device
        ALSA: seq: oss: Hardening for potential Spectre v1
        ALSA: hda: Hardening for potential Spectre v1
        ALSA: hda/realtek - Add some fixes for ALC233
        mtd: cfi: cmdset_0001: Do not allow read/write to suspend erase block.
        mtd: cfi: cmdset_0001: Workaround Micron Erase suspend bug.
        mtd: cfi: cmdset_0002: Do not allow read/write to suspend erase block.
        kobject: don't use WARN for registration failures
        scsi: sd: Defer spinning up drive while SANITIZE is in progress
        ARM: amba: Make driver_override output consistent with other buses
        ARM: amba: Fix race condition with driver_override
        ARM: amba: Don't read past the end of sysfs "driver_override" buffer
        ASoC: fsl_esai: Fix divisor calculation failure at lower ratio
        libceph: validate con->state at the top of try_write()
        x86/ipc: Fix x32 version of shmid64_ds and msqid64_ds
        x86/smpboot: Don't use mwait_play_dead() on AMD systems
        serial: mctrl_gpio: export mctrl_gpio_disable_ms and mctrl_gpio_init
        serial: mctrl_gpio: Add missing module license
        Linux 4.4.131

Signed-off-by: default avatarNathan Chancellor <natechancellor@gmail.com>
parents 8439e0dc 8719027e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
VERSION = 4
PATCHLEVEL = 4
SUBLEVEL = 130
SUBLEVEL = 131
EXTRAVERSION =
NAME = Blurry Fish Butt

+31 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef __ASM_X64_MSGBUF_H
#define __ASM_X64_MSGBUF_H

#if !defined(__x86_64__) || !defined(__ILP32__)
#include <asm-generic/msgbuf.h>
#else
/*
 * The msqid64_ds structure for x86 architecture with x32 ABI.
 *
 * On x86-32 and x86-64 we can just use the generic definition, but
 * x32 uses the same binary layout as x86_64, which is differnet
 * from other 32-bit architectures.
 */

struct msqid64_ds {
	struct ipc64_perm msg_perm;
	__kernel_time_t msg_stime;	/* last msgsnd time */
	__kernel_time_t msg_rtime;	/* last msgrcv time */
	__kernel_time_t msg_ctime;	/* last change time */
	__kernel_ulong_t msg_cbytes;	/* current number of bytes on queue */
	__kernel_ulong_t msg_qnum;	/* number of messages in queue */
	__kernel_ulong_t msg_qbytes;	/* max number of bytes on queue */
	__kernel_pid_t msg_lspid;	/* pid of last msgsnd */
	__kernel_pid_t msg_lrpid;	/* last receive pid */
	__kernel_ulong_t __unused4;
	__kernel_ulong_t __unused5;
};

#endif

#endif /* __ASM_GENERIC_MSGBUF_H */
+42 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef __ASM_X86_SHMBUF_H
#define __ASM_X86_SHMBUF_H

#if !defined(__x86_64__) || !defined(__ILP32__)
#include <asm-generic/shmbuf.h>
#else
/*
 * The shmid64_ds structure for x86 architecture with x32 ABI.
 *
 * On x86-32 and x86-64 we can just use the generic definition, but
 * x32 uses the same binary layout as x86_64, which is differnet
 * from other 32-bit architectures.
 */

struct shmid64_ds {
	struct ipc64_perm	shm_perm;	/* operation perms */
	size_t			shm_segsz;	/* size of segment (bytes) */
	__kernel_time_t		shm_atime;	/* last attach time */
	__kernel_time_t		shm_dtime;	/* last detach time */
	__kernel_time_t		shm_ctime;	/* last change time */
	__kernel_pid_t		shm_cpid;	/* pid of creator */
	__kernel_pid_t		shm_lpid;	/* pid of last operator */
	__kernel_ulong_t	shm_nattch;	/* no. of current attaches */
	__kernel_ulong_t	__unused4;
	__kernel_ulong_t	__unused5;
};

struct shminfo64 {
	__kernel_ulong_t	shmmax;
	__kernel_ulong_t	shmmin;
	__kernel_ulong_t	shmmni;
	__kernel_ulong_t	shmseg;
	__kernel_ulong_t	shmall;
	__kernel_ulong_t	__unused1;
	__kernel_ulong_t	__unused2;
	__kernel_ulong_t	__unused3;
	__kernel_ulong_t	__unused4;
};

#endif

#endif /* __ASM_X86_SHMBUF_H */
+2 −0
Original line number Diff line number Diff line
@@ -1442,6 +1442,8 @@ static inline void mwait_play_dead(void)
	void *mwait_ptr;
	int i;

	if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD)
		return;
	if (!this_cpu_has(X86_FEATURE_MWAIT))
		return;
	if (!this_cpu_has(X86_FEATURE_CLFLUSH))
+11 −6
Original line number Diff line number Diff line
@@ -68,11 +68,12 @@ static ssize_t driver_override_show(struct device *_dev,
				    struct device_attribute *attr, char *buf)
{
	struct amba_device *dev = to_amba_device(_dev);
	ssize_t len;

	if (!dev->driver_override)
		return 0;

	return sprintf(buf, "%s\n", dev->driver_override);
	device_lock(_dev);
	len = sprintf(buf, "%s\n", dev->driver_override);
	device_unlock(_dev);
	return len;
}

static ssize_t driver_override_store(struct device *_dev,
@@ -80,9 +81,10 @@ static ssize_t driver_override_store(struct device *_dev,
				     const char *buf, size_t count)
{
	struct amba_device *dev = to_amba_device(_dev);
	char *driver_override, *old = dev->driver_override, *cp;
	char *driver_override, *old, *cp;

	if (count > PATH_MAX)
	/* We need to keep extra room for a newline */
	if (count >= (PAGE_SIZE - 1))
		return -EINVAL;

	driver_override = kstrndup(buf, count, GFP_KERNEL);
@@ -93,12 +95,15 @@ static ssize_t driver_override_store(struct device *_dev,
	if (cp)
		*cp = '\0';

	device_lock(_dev);
	old = dev->driver_override;
	if (strlen(driver_override)) {
		dev->driver_override = driver_override;
	} else {
	       kfree(driver_override);
	       dev->driver_override = NULL;
	}
	device_unlock(_dev);

	kfree(old);

Loading