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

Commit 423410d3 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge 4.9.248 into android-4.9-q



Changes in 4.9.248
	net/af_iucv: set correct sk_protocol for child sockets
	rose: Fix Null pointer dereference in rose_send_frame()
	usbnet: ipheth: fix connectivity with iOS 14
	bonding: wait for sysfs kobject destruction before freeing struct slave
	netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal
	ibmvnic: Ensure that SCRQ entry reads are correctly ordered
	ibmvnic: Fix TX completion error handling
	net/x25: prevent a couple of overflows
	cxgb3: fix error return code in t3_sge_alloc_qset()
	net: pasemi: fix error return code in pasemi_mac_open()
	net/mlx5: Fix wrong address reclaim when command interface is down
	dt-bindings: net: correct interrupt flags in examples
	Input: xpad - support Ardwiino Controllers
	Input: i8042 - add ByteSpeed touchpad to noloop table
	spi: Fix controller unregister order harder
	RDMA/i40iw: Address an mmap handler exploit in i40iw
	btrfs: sysfs: init devices outside of the chunk_mutex
	pinctrl: baytrail: Replace WARN with dev_info_once when setting direct-irq pin to output
	pinctrl: baytrail: Fix pin being driven low for a while on gpiod_get(..., GPIOD_OUT_HIGH)
	vlan: consolidate VLAN parsing code and limit max parsing depth
	usb: gadget: f_fs: Use local copy of descriptors for userspace copy
	USB: serial: kl5kusb105: fix memleak on open
	USB: serial: ch341: add new Product ID for CH341A
	USB: serial: ch341: sort device-id entries
	USB: serial: option: add Fibocom NL668 variants
	USB: serial: option: add support for Thales Cinterion EXS82
	tty: Fix ->pgrp locking in tiocspgrp()
	ALSA: hda/realtek - Add new codec supported for ALC897
	ALSA: hda/generic: Add option to enforce preferred_dacs pairs
	tty: Fix ->session locking
	ftrace: Fix updating FTRACE_FL_TRAMP
	cifs: fix potential use-after-free in cifs_echo_request()
	i2c: imx: Fix reset of I2SR_IAL flag
	i2c: imx: Check for I2SR_IAL after every byte
	iommu/amd: Set DTE[IntTabLen] to represent 512 IRTEs
	spi: Introduce device-managed SPI controller allocation
	spi: bcm-qspi: Fix use-after-free on unbind
	spi: bcm2835: Fix use-after-free on unbind
	spi: bcm2835: Release the DMA channel if probe fails after dma_init
	tracing: Fix userstacktrace option for instances
	gfs2: check for empty rgrp tree in gfs2_ri_update
	i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc()
	Input: i8042 - fix error return code in i8042_setup_aux()
	x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes
	Linux 4.9.248

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: I79239057c72e2a11bbbfd85634e716c9e6195b2a
parents e3ee521e af3457a5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ Example (for ARM-based BeagleBone with NPC100 NFC controller on I2C2):
		clock-frequency = <100000>;

		interrupt-parent = <&gpio1>;
		interrupts = <29 GPIO_ACTIVE_HIGH>;
		interrupts = <29 IRQ_TYPE_LEVEL_HIGH>;

		enable-gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>;
		firmware-gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ Example (for ARM-based BeagleBone with PN544 on I2C2):
		clock-frequency = <400000>;

		interrupt-parent = <&gpio1>;
		interrupts = <17 GPIO_ACTIVE_HIGH>;
		interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;

		enable-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
		firmware-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
+1 −1
Original line number Diff line number Diff line
VERSION = 4
PATCHLEVEL = 9
SUBLEVEL = 247
SUBLEVEL = 248
EXTRAVERSION =
NAME = Roaring Lionus

+15 −0
Original line number Diff line number Diff line
@@ -208,6 +208,21 @@ static inline int insn_offset_immediate(struct insn *insn)
	return insn_offset_displacement(insn) + insn->displacement.nbytes;
}

/**
 * for_each_insn_prefix() -- Iterate prefixes in the instruction
 * @insn: Pointer to struct insn.
 * @idx:  Index storage.
 * @prefix: Prefix byte.
 *
 * Iterate prefix bytes of given @insn. Each prefix byte is stored in @prefix
 * and the index is stored in @idx (note that this @idx is just for a cursor,
 * do not change it.)
 * Since prefixes.nbytes can be bigger than 4 if some prefixes
 * are repeated, it cannot be used for looping over the prefixes.
 */
#define for_each_insn_prefix(insn, idx, prefix)	\
	for (idx = 0; idx < ARRAY_SIZE(insn->prefixes.bytes) && (prefix = insn->prefixes.bytes[idx]) != 0; idx++)

#define POP_SS_OPCODE 0x1f
#define MOV_SREG_OPCODE 0x8e

+6 −4
Original line number Diff line number Diff line
@@ -268,10 +268,11 @@ static volatile u32 good_2byte_insns[256 / 32] = {

static bool is_prefix_bad(struct insn *insn)
{
	insn_byte_t p;
	int i;

	for (i = 0; i < insn->prefixes.nbytes; i++) {
		switch (insn->prefixes.bytes[i]) {
	for_each_insn_prefix(insn, i, p) {
		switch (p) {
		case 0x26:	/* INAT_PFX_ES   */
		case 0x2E:	/* INAT_PFX_CS   */
		case 0x36:	/* INAT_PFX_DS   */
@@ -711,6 +712,7 @@ static const struct uprobe_xol_ops branch_xol_ops = {
static int branch_setup_xol_ops(struct arch_uprobe *auprobe, struct insn *insn)
{
	u8 opc1 = OPCODE1(insn);
	insn_byte_t p;
	int i;

	switch (opc1) {
@@ -741,8 +743,8 @@ static int branch_setup_xol_ops(struct arch_uprobe *auprobe, struct insn *insn)
	 * Intel and AMD behavior differ in 64-bit mode: Intel ignores 66 prefix.
	 * No one uses these insns, reject any branch insns with such prefix.
	 */
	for (i = 0; i < insn->prefixes.nbytes; i++) {
		if (insn->prefixes.bytes[i] == 0x66)
	for_each_insn_prefix(insn, i, p) {
		if (p == 0x66)
			return -ENOTSUPP;
	}

Loading