public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mike Pagano" <mpagano@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/linux-patches:3.18 commit in: /
Date: Wed,  8 Feb 2017 11:16:35 +0000 (UTC)	[thread overview]
Message-ID: <1486552587.219e6220b29d24e43cc5b8304c8a365bdcb4e4ba.mpagano@gentoo> (raw)

commit:     219e6220b29d24e43cc5b8304c8a365bdcb4e4ba
Author:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  8 11:16:27 2017 +0000
Commit:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
CommitDate: Wed Feb  8 11:16:27 2017 +0000
URL:        https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=219e6220

Linux patch 3.18.48

 0000_README              |    4 +
 1047_linux-3.18.48.patch | 1219 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 1223 insertions(+)

diff --git a/0000_README b/0000_README
index 957c01d..4676a64 100644
--- a/0000_README
+++ b/0000_README
@@ -231,6 +231,10 @@ Patch:  1046_linux-3.18.47.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.18.47
 
+Patch:  1047_linux-3.18.48.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.18.48
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.

diff --git a/1047_linux-3.18.48.patch b/1047_linux-3.18.48.patch
new file mode 100644
index 0000000..7884316
--- /dev/null
+++ b/1047_linux-3.18.48.patch
@@ -0,0 +1,1219 @@
+diff --git a/Documentation/Makefile b/Documentation/Makefile
+index 6883a1b9b351..bc0548201755 100644
+--- a/Documentation/Makefile
++++ b/Documentation/Makefile
+@@ -1,4 +1,4 @@
+-subdir-y := accounting arm auxdisplay blackfin connector \
++subdir-y := accounting auxdisplay blackfin connector \
+ 	filesystems filesystems ia64 laptops mic misc-devices \
+ 	networking pcmcia prctl ptp spi timers vDSO video4linux \
+ 	watchdog
+diff --git a/Documentation/arm/Makefile b/Documentation/arm/Makefile
+deleted file mode 100644
+index 732c77050cff..000000000000
+--- a/Documentation/arm/Makefile
++++ /dev/null
+@@ -1 +0,0 @@
+-subdir-y := SH-Mobile
+diff --git a/Documentation/arm/SH-Mobile/Makefile b/Documentation/arm/SH-Mobile/Makefile
+deleted file mode 100644
+index bca8a7ef6bbe..000000000000
+--- a/Documentation/arm/SH-Mobile/Makefile
++++ /dev/null
+@@ -1,7 +0,0 @@
+-# List of programs to build
+-hostprogs-y := vrl4
+-
+-# Tell kbuild to always build the programs
+-always := $(hostprogs-y)
+-
+-HOSTCFLAGS_vrl4.o += -I$(objtree)/usr/include -I$(srctree)/tools/include
+diff --git a/Documentation/arm/SH-Mobile/vrl4.c b/Documentation/arm/SH-Mobile/vrl4.c
+deleted file mode 100644
+index f4cd8ad4e720..000000000000
+--- a/Documentation/arm/SH-Mobile/vrl4.c
++++ /dev/null
+@@ -1,170 +0,0 @@
+-/*
+- * vrl4 format generator
+- *
+- * Copyright (C) 2010 Simon Horman
+- *
+- * This file is subject to the terms and conditions of the GNU General Public
+- * License.  See the file "COPYING" in the main directory of this archive
+- * for more details.
+- */
+-
+-/*
+- * usage: vrl4 < zImage > out
+- *	  dd if=out of=/dev/sdx bs=512 seek=1 # Write the image to sector 1
+- *
+- * Reads a zImage from stdin and writes a vrl4 image to stdout.
+- * In practice this means writing a padded vrl4 header to stdout followed
+- * by the zImage.
+- *
+- * The padding places the zImage at ALIGN bytes into the output.
+- * The vrl4 uses ALIGN + START_BASE as the start_address.
+- * This is where the mask ROM will jump to after verifying the header.
+- *
+- * The header sets copy_size to min(sizeof(zImage), MAX_BOOT_PROG_LEN) + ALIGN.
+- * That is, the mask ROM will load the padded header (ALIGN bytes)
+- * And then MAX_BOOT_PROG_LEN bytes of the image, or the entire image,
+- * whichever is smaller.
+- *
+- * The zImage is not modified in any way.
+- */
+-
+-#define _BSD_SOURCE
+-#include <endian.h>
+-#include <unistd.h>
+-#include <stdint.h>
+-#include <stdio.h>
+-#include <errno.h>
+-#include <tools/endian.h>
+-
+-struct hdr {
+-	uint32_t magic1;
+-	uint32_t reserved1;
+-	uint32_t magic2;
+-	uint32_t reserved2;
+-	uint16_t copy_size;
+-	uint16_t boot_options;
+-	uint32_t reserved3;
+-	uint32_t start_address;
+-	uint32_t reserved4;
+-	uint32_t reserved5;
+-	char     reserved6[308];
+-};
+-
+-#define DECLARE_HDR(h)					\
+-	struct hdr (h) = {				\
+-		.magic1 =	htole32(0xea000000),	\
+-		.reserved1 =	htole32(0x56),		\
+-		.magic2 =	htole32(0xe59ff008),	\
+-		.reserved3 =	htole16(0x1) }
+-
+-/* Align to 512 bytes, the MMCIF sector size */
+-#define ALIGN_BITS	9
+-#define ALIGN		(1 << ALIGN_BITS)
+-
+-#define START_BASE	0xe55b0000
+-
+-/*
+- * With an alignment of 512 the header uses the first sector.
+- * There is a 128 sector (64kbyte) limit on the data loaded by the mask ROM.
+- * So there are 127 sectors left for the boot programme. But in practice
+- * Only a small portion of a zImage is needed, 16 sectors should be more
+- * than enough.
+- *
+- * Note that this sets how much of the zImage is copied by the mask ROM.
+- * The entire zImage is present after the header and is loaded
+- * by the code in the boot program (which is the first portion of the zImage).
+- */
+-#define	MAX_BOOT_PROG_LEN (16 * 512)
+-
+-#define ROUND_UP(x)	((x + ALIGN - 1) & ~(ALIGN - 1))
+-
+-static ssize_t do_read(int fd, void *buf, size_t count)
+-{
+-	size_t offset = 0;
+-	ssize_t l;
+-
+-	while (offset < count) {
+-		l = read(fd, buf + offset, count - offset);
+-		if (!l)
+-			break;
+-		if (l < 0) {
+-			if (errno == EAGAIN || errno == EWOULDBLOCK)
+-				continue;
+-			perror("read");
+-			return -1;
+-		}
+-		offset += l;
+-	}
+-
+-	return offset;
+-}
+-
+-static ssize_t do_write(int fd, const void *buf, size_t count)
+-{
+-	size_t offset = 0;
+-	ssize_t l;
+-
+-	while (offset < count) {
+-		l = write(fd, buf + offset, count - offset);
+-		if (l < 0) {
+-			if (errno == EAGAIN || errno == EWOULDBLOCK)
+-				continue;
+-			perror("write");
+-			return -1;
+-		}
+-		offset += l;
+-	}
+-
+-	return offset;
+-}
+-
+-static ssize_t write_zero(int fd, size_t len)
+-{
+-	size_t i = len;
+-
+-	while (i--) {
+-		const char x = 0;
+-		if (do_write(fd, &x, 1) < 0)
+-			return -1;
+-	}
+-
+-	return len;
+-}
+-
+-int main(void)
+-{
+-	DECLARE_HDR(hdr);
+-	char boot_program[MAX_BOOT_PROG_LEN];
+-	size_t aligned_hdr_len, alligned_prog_len;
+-	ssize_t prog_len;
+-
+-	prog_len = do_read(0, boot_program, sizeof(boot_program));
+-	if (prog_len <= 0)
+-		return -1;
+-
+-	aligned_hdr_len = ROUND_UP(sizeof(hdr));
+-	hdr.start_address = htole32(START_BASE + aligned_hdr_len);
+-	alligned_prog_len = ROUND_UP(prog_len);
+-	hdr.copy_size = htole16(aligned_hdr_len + alligned_prog_len);
+-
+-	if (do_write(1, &hdr, sizeof(hdr)) < 0)
+-		return -1;
+-	if (write_zero(1, aligned_hdr_len - sizeof(hdr)) < 0)
+-		return -1;
+-
+-	if (do_write(1, boot_program, prog_len) < 0)
+-		return 1;
+-
+-	/* Write out the rest of the kernel */
+-	while (1) {
+-		prog_len = do_read(0, boot_program, sizeof(boot_program));
+-		if (prog_len < 0)
+-			return 1;
+-		if (prog_len == 0)
+-			break;
+-		if (do_write(1, boot_program, prog_len) < 0)
+-			return 1;
+-	}
+-
+-	return 0;
+-}
+diff --git a/Documentation/arm/SH-Mobile/zboot-rom-mmcif.txt b/Documentation/arm/SH-Mobile/zboot-rom-mmcif.txt
+deleted file mode 100644
+index efff8ae2713d..000000000000
+--- a/Documentation/arm/SH-Mobile/zboot-rom-mmcif.txt
++++ /dev/null
+@@ -1,29 +0,0 @@
+-ROM-able zImage boot from MMC
+------------------------------
+-
+-An ROM-able zImage compiled with ZBOOT_ROM_MMCIF may be written to MMC and
+-SuperH Mobile ARM will to boot directly from the MMCIF hardware block.
+-
+-This is achieved by the mask ROM loading the first portion of the image into
+-MERAM and then jumping to it. This portion contains loader code which
+-copies the entire image to SDRAM and jumps to it. From there the zImage
+-boot code proceeds as normal, uncompressing the image into its final
+-location and then jumping to it.
+-
+-This code has been tested on an AP4EB board using the developer 1A eMMC
+-boot mode which is configured using the following jumper settings.
+-The board used for testing required a patched mask ROM in order for
+-this mode to function.
+-
+-   8 7 6 5 4 3 2 1
+-   x|x|x|x|x| |x|
+-S4 -+-+-+-+-+-+-+-
+-    | | | | |x| |x on
+-
+-The zImage must be written to the MMC card at sector 1 (512 bytes) in
+-vrl4 format. A utility vrl4 is supplied to accomplish this.
+-
+-e.g.
+-	vrl4 < zImage | dd of=/dev/sdX bs=512 seek=1
+-
+-A dual-voltage MMC 4.0 card was used for testing.
+diff --git a/Documentation/arm/SH-Mobile/zboot-rom-sdhi.txt b/Documentation/arm/SH-Mobile/zboot-rom-sdhi.txt
+deleted file mode 100644
+index 441959846e1a..000000000000
+--- a/Documentation/arm/SH-Mobile/zboot-rom-sdhi.txt
++++ /dev/null
+@@ -1,42 +0,0 @@
+-ROM-able zImage boot from eSD
+------------------------------
+-
+-An ROM-able zImage compiled with ZBOOT_ROM_SDHI may be written to eSD and
+-SuperH Mobile ARM will to boot directly from the SDHI hardware block.
+-
+-This is achieved by the mask ROM loading the first portion of the image into
+-MERAM and then jumping to it. This portion contains loader code which
+-copies the entire image to SDRAM and jumps to it. From there the zImage
+-boot code proceeds as normal, uncompressing the image into its final
+-location and then jumping to it.
+-
+-This code has been tested on an mackerel board using the developer 1A eSD
+-boot mode which is configured using the following jumper settings.
+-
+-   8 7 6 5 4 3 2 1
+-   x|x|x|x| |x|x|
+-S4 -+-+-+-+-+-+-+-
+-    | | | |x| | |x on
+-
+-The eSD card needs to be present in SDHI slot 1 (CN7).
+-As such S1 and S33 also need to be configured as per
+-the notes in arch/arm/mach-shmobile/board-mackerel.c.
+-
+-A partial zImage must be written to physical partition #1 (boot)
+-of the eSD at sector 0 in vrl4 format. A utility vrl4 is supplied to
+-accomplish this.
+-
+-e.g.
+-	vrl4 < zImage | dd of=/dev/sdX bs=512 count=17
+-
+-A full copy of _the same_ zImage should be written to physical partition #1
+-(boot) of the eSD at sector 0. This should _not_ be in vrl4 format.
+-
+-	vrl4 < zImage | dd of=/dev/sdX bs=512
+-
+-Note: The commands above assume that the physical partition has been
+-switched. No such facility currently exists in the Linux Kernel.
+-
+-Physical partitions are described in the eSD specification.  At the time of
+-writing they are not the same as partitions that are typically configured
+-using fdisk and visible through /proc/partitions
+diff --git a/Documentation/video4linux/v4l2-pci-skeleton.c b/Documentation/video4linux/v4l2-pci-skeleton.c
+index 006721e43b2a..7bd1b975bfd2 100644
+--- a/Documentation/video4linux/v4l2-pci-skeleton.c
++++ b/Documentation/video4linux/v4l2-pci-skeleton.c
+@@ -42,7 +42,6 @@
+ MODULE_DESCRIPTION("V4L2 PCI Skeleton Driver");
+ MODULE_AUTHOR("Hans Verkuil");
+ MODULE_LICENSE("GPL v2");
+-MODULE_DEVICE_TABLE(pci, skeleton_pci_tbl);
+ 
+ /**
+  * struct skeleton - All internal data for one instance of device
+@@ -95,6 +94,7 @@ static const struct pci_device_id skeleton_pci_tbl[] = {
+ 	/* { PCI_DEVICE(PCI_VENDOR_ID_, PCI_DEVICE_ID_) }, */
+ 	{ 0, }
+ };
++MODULE_DEVICE_TABLE(pci, skeleton_pci_tbl);
+ 
+ /*
+  * HDTV: this structure has the capabilities of the HDTV receiver.
+diff --git a/Makefile b/Makefile
+index 9132f73528b3..52d32f6bd7c5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 18
+-SUBLEVEL = 47
++SUBLEVEL = 48
+ EXTRAVERSION =
+ NAME = Diseased Newt
+ 
+@@ -610,6 +610,7 @@ all: vmlinux
+ include $(srctree)/arch/$(SRCARCH)/Makefile
+ 
+ KBUILD_CFLAGS	+= $(call cc-option,-fno-delete-null-pointer-checks,)
++KBUILD_CFLAGS	+= $(call cc-disable-warning,frame-address,)
+ KBUILD_CFLAGS	+= $(call cc-option,-fno-PIE)
+ KBUILD_AFLAGS	+= $(call cc-option,-fno-PIE)
+ 
+diff --git a/arch/x86/boot/compressed/misc.h b/arch/x86/boot/compressed/misc.h
+index 24e3e569a13c..124312be129b 100644
+--- a/arch/x86/boot/compressed/misc.h
++++ b/arch/x86/boot/compressed/misc.h
+@@ -2,14 +2,13 @@
+ #define BOOT_COMPRESSED_MISC_H
+ 
+ /*
+- * we have to be careful, because no indirections are allowed here, and
+- * paravirt_ops is a kind of one. As it will only run in baremetal anyway,
+- * we just keep it from happening
++ * Special hack: we have to be careful, because no indirections are allowed here,
++ * and paravirt_ops is a kind of one. As it will only run in baremetal anyway,
++ * we just keep it from happening. (This list needs to be extended when new
++ * paravirt and debugging variants are added.)
+  */
+ #undef CONFIG_PARAVIRT
+-#ifdef CONFIG_X86_32
+-#define _ASM_X86_DESC_H 1
+-#endif
++#undef CONFIG_PARAVIRT_SPINLOCKS
+ 
+ #include <linux/linkage.h>
+ #include <linux/screen_info.h>
+diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
+index a8a1a3d08d4d..039d4e14194d 100644
+--- a/arch/x86/xen/mmu.c
++++ b/arch/x86/xen/mmu.c
+@@ -1147,7 +1147,7 @@ static void __init xen_cleanhighmap(unsigned long vaddr,
+ 
+ 	/* NOTE: The loop is more greedy than the cleanup_highmap variant.
+ 	 * We include the PMD passed in on _both_ boundaries. */
+-	for (; vaddr <= vaddr_end && (pmd < (level2_kernel_pgt + PAGE_SIZE));
++	for (; vaddr <= vaddr_end && (pmd < (level2_kernel_pgt + PTRS_PER_PMD));
+ 			pmd++, vaddr += PMD_SIZE) {
+ 		if (pmd_none(*pmd))
+ 			continue;
+diff --git a/crypto/algif_hash.c b/crypto/algif_hash.c
+index 434af81b9e33..df99445a899a 100644
+--- a/crypto/algif_hash.c
++++ b/crypto/algif_hash.c
+@@ -283,8 +283,8 @@ unlock_child:
+ 	return err;
+ }
+ 
+-static int hash_sendmsg_nokey(struct socket *sock, struct msghdr *msg,
+-			      size_t size)
++static int hash_sendmsg_nokey(struct kiocb *unused, struct socket *sock,
++			      struct msghdr *msg, size_t size)
+ {
+ 	int err;
+ 
+@@ -307,8 +307,8 @@ static ssize_t hash_sendpage_nokey(struct socket *sock, struct page *page,
+ 	return hash_sendpage(sock, page, offset, size, flags);
+ }
+ 
+-static int hash_recvmsg_nokey(struct socket *sock, struct msghdr *msg,
+-			      size_t ignored, int flags)
++static int hash_recvmsg_nokey(struct kiocb *unused, struct socket *sock,
++			      struct msghdr *msg, size_t ignored, int flags)
+ {
+ 	int err;
+ 
+diff --git a/drivers/ata/pata_hpt366.c b/drivers/ata/pata_hpt366.c
+index cbc3de793d1d..0038dc4c06c7 100644
+--- a/drivers/ata/pata_hpt366.c
++++ b/drivers/ata/pata_hpt366.c
+@@ -352,7 +352,7 @@ static int hpt36x_init_one(struct pci_dev *dev, const struct pci_device_id *id)
+ 	};
+ 	const struct ata_port_info *ppi[] = { &info_hpt366, NULL };
+ 
+-	void *hpriv = NULL;
++	const void *hpriv = NULL;
+ 	u32 reg1;
+ 	int rc;
+ 
+@@ -383,7 +383,7 @@ static int hpt36x_init_one(struct pci_dev *dev, const struct pci_device_id *id)
+ 		break;
+ 	}
+ 	/* Now kick off ATA set up */
+-	return ata_pci_bmdma_init_one(dev, ppi, &hpt36x_sht, hpriv, 0);
++	return ata_pci_bmdma_init_one(dev, ppi, &hpt36x_sht, (void *)hpriv, 0);
+ }
+ 
+ #ifdef CONFIG_PM_SLEEP
+diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c
+index 4217f29a85e0..816087b68ec4 100644
+--- a/drivers/atm/iphase.c
++++ b/drivers/atm/iphase.c
+@@ -1175,7 +1175,7 @@ static int rx_pkt(struct atm_dev *dev)
+         if (!(skb = atm_alloc_charge(vcc, len, GFP_ATOMIC))) {
+            if (vcc->vci < 32)
+               printk("Drop control packets\n");
+-	      goto out_free_desc;
++	   goto out_free_desc;
+         }
+ 	skb_put(skb,len);  
+         // pwang_test
+diff --git a/drivers/block/paride/pg.c b/drivers/block/paride/pg.c
+index 2ce3dfd7e6b9..876d0c3eaf58 100644
+--- a/drivers/block/paride/pg.c
++++ b/drivers/block/paride/pg.c
+@@ -137,7 +137,7 @@
+ 
+ */
+ 
+-static bool verbose = 0;
++static int verbose;
+ static int major = PG_MAJOR;
+ static char *name = PG_NAME;
+ static int disable = 0;
+@@ -168,7 +168,7 @@ enum {D_PRT, D_PRO, D_UNI, D_MOD, D_SLV, D_DLY};
+ 
+ #include <asm/uaccess.h>
+ 
+-module_param(verbose, bool, 0644);
++module_param(verbose, int, 0644);
+ module_param(major, int, 0);
+ module_param(name, charp, 0);
+ module_param_array(drive0, int, NULL, 0);
+diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
+index 063b44817e08..ccc17703014e 100644
+--- a/drivers/gpu/drm/i915/i915_debugfs.c
++++ b/drivers/gpu/drm/i915/i915_debugfs.c
+@@ -141,10 +141,11 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
+ 		   obj->madv == I915_MADV_DONTNEED ? " purgeable" : "");
+ 	if (obj->base.name)
+ 		seq_printf(m, " (name: %d)", obj->base.name);
+-	list_for_each_entry(vma, &obj->vma_list, vma_link)
++	list_for_each_entry(vma, &obj->vma_list, vma_link) {
+ 		if (vma->pin_count > 0)
+ 			pin_count++;
+-		seq_printf(m, " (pinned x %d)", pin_count);
++	}
++	seq_printf(m, " (pinned x %d)", pin_count);
+ 	if (obj->pin_display)
+ 		seq_printf(m, " (display)");
+ 	if (obj->fence_reg != I915_FENCE_REG_NONE)
+diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
+index 01c7a08a66e1..53d325968e42 100644
+--- a/drivers/hid/hid-input.c
++++ b/drivers/hid/hid-input.c
+@@ -1122,7 +1122,7 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct
+ 		return;
+ 
+ 	/* report the usage code as scancode if the key status has changed */
+-	if (usage->type == EV_KEY && !!test_bit(usage->code, input->key) != value)
++	if (usage->type == EV_KEY && (!!test_bit(usage->code, input->key)) != value)
+ 		input_event(input, EV_MSC, MSC_SCAN, usage->hid);
+ 
+ 	input_event(input, usage->type, usage->code, value);
+diff --git a/drivers/media/platform/s3c-camif/camif-capture.c b/drivers/media/platform/s3c-camif/camif-capture.c
+index 4f81b4c9d113..df33e720d664 100644
+--- a/drivers/media/platform/s3c-camif/camif-capture.c
++++ b/drivers/media/platform/s3c-camif/camif-capture.c
+@@ -115,7 +115,7 @@ static int sensor_set_power(struct camif_dev *camif, int on)
+ 	struct cam_sensor *sensor = &camif->sensor;
+ 	int err = 0;
+ 
+-	if (!on == camif->sensor.power_count)
++	if (camif->sensor.power_count == !on)
+ 		err = v4l2_subdev_call(sensor->sd, core, s_power, on);
+ 	if (!err)
+ 		sensor->power_count += on ? 1 : -1;
+@@ -131,7 +131,7 @@ static int sensor_set_streaming(struct camif_dev *camif, int on)
+ 	struct cam_sensor *sensor = &camif->sensor;
+ 	int err = 0;
+ 
+-	if (!on == camif->sensor.stream_count)
++	if (camif->sensor.stream_count == !on)
+ 		err = v4l2_subdev_call(sensor->sd, video, s_stream, on);
+ 	if (!err)
+ 		sensor->stream_count += on ? 1 : -1;
+diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c
+index 1d1c4d35a1a6..1c2cc6fee351 100644
+--- a/drivers/media/v4l2-core/videobuf2-core.c
++++ b/drivers/media/v4l2-core/videobuf2-core.c
+@@ -3221,7 +3221,6 @@ EXPORT_SYMBOL_GPL(vb2_thread_start);
+ int vb2_thread_stop(struct vb2_queue *q)
+ {
+ 	struct vb2_threadio_data *threadio = q->threadio;
+-	struct vb2_fileio_data *fileio = q->fileio;
+ 	int err;
+ 
+ 	if (threadio == NULL)
+diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
+index 3a69b1e56908..3e3aa17ee3bd 100644
+--- a/drivers/mtd/mtd_blkdevs.c
++++ b/drivers/mtd/mtd_blkdevs.c
+@@ -97,14 +97,13 @@ static int do_blktrans_request(struct mtd_blktrans_ops *tr,
+ 	if (req->cmd_flags & REQ_DISCARD)
+ 		return tr->discard(dev, block, nsect);
+ 
+-	switch(rq_data_dir(req)) {
+-	case READ:
++	if (rq_data_dir(req) == READ) {
+ 		for (; nsect > 0; nsect--, block++, buf += tr->blksize)
+ 			if (tr->readsect(dev, block, buf))
+ 				return -EIO;
+ 		rq_flush_dcache_pages(req);
+ 		return 0;
+-	case WRITE:
++	} else {
+ 		if (!tr->writesect)
+ 			return -EIO;
+ 
+@@ -113,9 +112,6 @@ static int do_blktrans_request(struct mtd_blktrans_ops *tr,
+ 			if (tr->writesect(dev, block, buf))
+ 				return -EIO;
+ 		return 0;
+-	default:
+-		printk(KERN_NOTICE "Unknown request %u\n", rq_data_dir(req));
+-		return -EIO;
+ 	}
+ }
+ 
+diff --git a/drivers/net/ethernet/dec/tulip/uli526x.c b/drivers/net/ethernet/dec/tulip/uli526x.c
+index 4061f9b22812..19063aceb25d 100644
+--- a/drivers/net/ethernet/dec/tulip/uli526x.c
++++ b/drivers/net/ethernet/dec/tulip/uli526x.c
+@@ -1115,7 +1115,7 @@ static void uli526x_timer(unsigned long data)
+ 				netif_carrier_off(dev);
+ 			}
+ 		}
+-		db->init=0;
++	db->init = 0;
+ 
+ 	/* Timer active again */
+ 	db->timer.expires = ULI526X_TIMER_WUT;
+diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
+index fdd36794c536..1f65817d4674 100644
+--- a/drivers/net/ethernet/emulex/benet/be_main.c
++++ b/drivers/net/ethernet/emulex/benet/be_main.c
+@@ -26,7 +26,6 @@
+ #include <net/vxlan.h>
+ 
+ MODULE_VERSION(DRV_VER);
+-MODULE_DEVICE_TABLE(pci, be_dev_ids);
+ MODULE_DESCRIPTION(DRV_DESC " " DRV_VER);
+ MODULE_AUTHOR("Emulex Corporation");
+ MODULE_LICENSE("GPL");
+diff --git a/drivers/net/ethernet/intel/i40e/i40e_debugfs.c b/drivers/net/ethernet/intel/i40e/i40e_debugfs.c
+index 7067f4b9159c..2a42ae05cb16 100644
+--- a/drivers/net/ethernet/intel/i40e/i40e_debugfs.c
++++ b/drivers/net/ethernet/intel/i40e/i40e_debugfs.c
+@@ -773,7 +773,7 @@ static void i40e_dbg_dump_desc(int cnt, int vsi_seid, int ring_id, int desc_n,
+ {
+ 	struct i40e_tx_desc *txd;
+ 	union i40e_rx_desc *rxd;
+-	struct i40e_ring ring;
++	struct i40e_ring *ring;
+ 	struct i40e_vsi *vsi;
+ 	int i;
+ 
+@@ -792,29 +792,32 @@ static void i40e_dbg_dump_desc(int cnt, int vsi_seid, int ring_id, int desc_n,
+ 			 vsi_seid);
+ 		return;
+ 	}
+-	if (is_rx_ring)
+-		ring = *vsi->rx_rings[ring_id];
+-	else
+-		ring = *vsi->tx_rings[ring_id];
++
++	ring = kmemdup(is_rx_ring
++		       ? vsi->rx_rings[ring_id] : vsi->tx_rings[ring_id],
++		       sizeof(*ring), GFP_KERNEL);
++	if (!ring)
++		return;
++
+ 	if (cnt == 2) {
+ 		dev_info(&pf->pdev->dev, "vsi = %02i %s ring = %02i\n",
+ 			 vsi_seid, is_rx_ring ? "rx" : "tx", ring_id);
+-		for (i = 0; i < ring.count; i++) {
++		for (i = 0; i < ring->count; i++) {
+ 			if (!is_rx_ring) {
+-				txd = I40E_TX_DESC(&ring, i);
++				txd = I40E_TX_DESC(ring, i);
+ 				dev_info(&pf->pdev->dev,
+ 					 "   d[%03i] = 0x%016llx 0x%016llx\n",
+ 					 i, txd->buffer_addr,
+ 					 txd->cmd_type_offset_bsz);
+ 			} else if (sizeof(union i40e_rx_desc) ==
+ 				   sizeof(union i40e_16byte_rx_desc)) {
+-				rxd = I40E_RX_DESC(&ring, i);
++				rxd = I40E_RX_DESC(ring, i);
+ 				dev_info(&pf->pdev->dev,
+ 					 "   d[%03i] = 0x%016llx 0x%016llx\n",
+ 					 i, rxd->read.pkt_addr,
+ 					 rxd->read.hdr_addr);
+ 			} else {
+-				rxd = I40E_RX_DESC(&ring, i);
++				rxd = I40E_RX_DESC(ring, i);
+ 				dev_info(&pf->pdev->dev,
+ 					 "   d[%03i] = 0x%016llx 0x%016llx 0x%016llx 0x%016llx\n",
+ 					 i, rxd->read.pkt_addr,
+@@ -823,26 +826,26 @@ static void i40e_dbg_dump_desc(int cnt, int vsi_seid, int ring_id, int desc_n,
+ 			}
+ 		}
+ 	} else if (cnt == 3) {
+-		if (desc_n >= ring.count || desc_n < 0) {
++		if (desc_n >= ring->count || desc_n < 0) {
+ 			dev_info(&pf->pdev->dev,
+ 				 "descriptor %d not found\n", desc_n);
+ 			return;
+ 		}
+ 		if (!is_rx_ring) {
+-			txd = I40E_TX_DESC(&ring, desc_n);
++			txd = I40E_TX_DESC(ring, desc_n);
+ 			dev_info(&pf->pdev->dev,
+ 				 "vsi = %02i tx ring = %02i d[%03i] = 0x%016llx 0x%016llx\n",
+ 				 vsi_seid, ring_id, desc_n,
+ 				 txd->buffer_addr, txd->cmd_type_offset_bsz);
+ 		} else if (sizeof(union i40e_rx_desc) ==
+ 			   sizeof(union i40e_16byte_rx_desc)) {
+-			rxd = I40E_RX_DESC(&ring, desc_n);
++			rxd = I40E_RX_DESC(ring, desc_n);
+ 			dev_info(&pf->pdev->dev,
+ 				 "vsi = %02i rx ring = %02i d[%03i] = 0x%016llx 0x%016llx\n",
+ 				 vsi_seid, ring_id, desc_n,
+ 				 rxd->read.pkt_addr, rxd->read.hdr_addr);
+ 		} else {
+-			rxd = I40E_RX_DESC(&ring, desc_n);
++			rxd = I40E_RX_DESC(ring, desc_n);
+ 			dev_info(&pf->pdev->dev,
+ 				 "vsi = %02i rx ring = %02i d[%03i] = 0x%016llx 0x%016llx 0x%016llx 0x%016llx\n",
+ 				 vsi_seid, ring_id, desc_n,
+@@ -852,6 +855,7 @@ static void i40e_dbg_dump_desc(int cnt, int vsi_seid, int ring_id, int desc_n,
+ 	} else {
+ 		dev_info(&pf->pdev->dev, "dump desc rx/tx <vsi_seid> <ring_id> [<desc_n>]\n");
+ 	}
++	kfree(ring);
+ }
+ 
+ /**
+diff --git a/drivers/net/wireless/iwlegacy/3945.c b/drivers/net/wireless/iwlegacy/3945.c
+index 93bdf684babe..ae047ab7a4df 100644
+--- a/drivers/net/wireless/iwlegacy/3945.c
++++ b/drivers/net/wireless/iwlegacy/3945.c
+@@ -1019,12 +1019,13 @@ il3945_hw_txq_ctx_free(struct il_priv *il)
+ 	int txq_id;
+ 
+ 	/* Tx queues */
+-	if (il->txq)
++	if (il->txq) {
+ 		for (txq_id = 0; txq_id < il->hw_params.max_txq_num; txq_id++)
+ 			if (txq_id == IL39_CMD_QUEUE_NUM)
+ 				il_cmd_queue_free(il);
+ 			else
+ 				il_tx_queue_free(il, txq_id);
++	}
+ 
+ 	/* free tx queue structure */
+ 	il_free_txq_mem(il);
+diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c
+index 3ed37dc28b3c..3e6c36cd19b9 100644
+--- a/drivers/scsi/be2iscsi/be_main.c
++++ b/drivers/scsi/be2iscsi/be_main.c
+@@ -48,7 +48,6 @@ static unsigned int be_iopoll_budget = 10;
+ static unsigned int be_max_phys_size = 64;
+ static unsigned int enable_msix = 1;
+ 
+-MODULE_DEVICE_TABLE(pci, beiscsi_pci_id_table);
+ MODULE_DESCRIPTION(DRV_DESC " " BUILD_STR);
+ MODULE_VERSION(BUILD_STR);
+ MODULE_AUTHOR("Emulex Corporation");
+@@ -3166,7 +3165,7 @@ be_sgl_create_contiguous(void *virtual_address,
+ {
+ 	WARN_ON(!virtual_address);
+ 	WARN_ON(!physical_address);
+-	WARN_ON(!length > 0);
++	WARN_ON(!length);
+ 	WARN_ON(!sgl);
+ 
+ 	sgl->va = virtual_address;
+diff --git a/drivers/scsi/bfa/bfa_ioc.c b/drivers/scsi/bfa/bfa_ioc.c
+index 315d6d6dcfc8..4e7104461f09 100644
+--- a/drivers/scsi/bfa/bfa_ioc.c
++++ b/drivers/scsi/bfa/bfa_ioc.c
+@@ -3665,19 +3665,19 @@ bfa_cb_sfp_state_query(struct bfa_sfp_s *sfp)
+ 		if (sfp->state_query_cbfn)
+ 			sfp->state_query_cbfn(sfp->state_query_cbarg,
+ 					sfp->status);
+-			sfp->media = NULL;
+-		}
++		sfp->media = NULL;
++	}
+ 
+-		if (sfp->portspeed) {
+-			sfp->status = bfa_sfp_speed_valid(sfp, sfp->portspeed);
+-			if (sfp->state_query_cbfn)
+-				sfp->state_query_cbfn(sfp->state_query_cbarg,
+-						sfp->status);
+-				sfp->portspeed = BFA_PORT_SPEED_UNKNOWN;
+-		}
++	if (sfp->portspeed) {
++		sfp->status = bfa_sfp_speed_valid(sfp, sfp->portspeed);
++		if (sfp->state_query_cbfn)
++			sfp->state_query_cbfn(sfp->state_query_cbarg,
++					sfp->status);
++		sfp->portspeed = BFA_PORT_SPEED_UNKNOWN;
++	}
+ 
+-		sfp->state_query_lock = 0;
+-		sfp->state_query_cbfn = NULL;
++	sfp->state_query_lock = 0;
++	sfp->state_query_cbfn = NULL;
+ }
+ 
+ /*
+diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c
+index 9f296dfeeb7f..1c965e0325af 100644
+--- a/drivers/scsi/qla2xxx/qla_target.c
++++ b/drivers/scsi/qla2xxx/qla_target.c
+@@ -3075,11 +3075,10 @@ void qlt_abort_cmd(struct qla_tgt_cmd *cmd)
+ {
+ 	struct qla_tgt *tgt = cmd->tgt;
+ 	struct scsi_qla_host *vha = tgt->vha;
+-	struct se_cmd *se_cmd = &cmd->se_cmd;
+ 
+ 	ql_dbg(ql_dbg_tgt_mgt, vha, 0xf014,
+ 	    "qla_target(%d): terminating exchange for aborted cmd=%p "
+-	    "(se_cmd=%p, tag=%llu)", vha->vp_idx, cmd, &cmd->se_cmd,
++	    "(se_cmd=%p, tag=%d)", vha->vp_idx, cmd, &cmd->se_cmd,
+ 	    cmd->tag);
+ 
+ 	cmd->state = QLA_TGT_STATE_ABORTED;
+diff --git a/drivers/spi/spi-dw-mid.c b/drivers/spi/spi-dw-mid.c
+index 1417f96546ce..fc37844ac16e 100644
+--- a/drivers/spi/spi-dw-mid.c
++++ b/drivers/spi/spi-dw-mid.c
+@@ -111,28 +111,11 @@ static void dw_spi_dma_done(void *arg)
+ 	dw_spi_xfer_done(dws);
+ }
+ 
+-static int mid_spi_dma_transfer(struct dw_spi *dws, int cs_change)
++static struct dma_async_tx_descriptor *dw_spi_dma_prepare_tx(struct dw_spi *dws)
+ {
+-	struct dma_async_tx_descriptor *txdesc, *rxdesc;
+-	struct dma_slave_config txconf, rxconf;
+-	u16 dma_ctrl = 0;
+-
+-	/* 1. setup DMA related registers */
+-	if (cs_change) {
+-		spi_enable_chip(dws, 0);
+-		dw_writew(dws, DW_SPI_DMARDLR, 0xf);
+-		dw_writew(dws, DW_SPI_DMATDLR, 0x10);
+-		if (dws->tx_dma)
+-			dma_ctrl |= SPI_DMA_TDMAE;
+-		if (dws->rx_dma)
+-			dma_ctrl |= SPI_DMA_RDMAE;
+-		dw_writew(dws, DW_SPI_DMACR, dma_ctrl);
+-		spi_enable_chip(dws, 1);
+-	}
++	struct dma_slave_config txconf;
++	struct dma_async_tx_descriptor *txdesc;
+ 
+-	dws->dma_chan_done = 0;
+-
+-	/* 2. Prepare the TX dma transfer */
+ 	txconf.direction = DMA_MEM_TO_DEV;
+ 	txconf.dst_addr = dws->dma_addr;
+ 	txconf.dst_maxburst = LNW_DMA_MSIZE_16;
+@@ -157,7 +140,14 @@ static int mid_spi_dma_transfer(struct dw_spi *dws, int cs_change)
+ 	txdesc->callback = dw_spi_dma_done;
+ 	txdesc->callback_param = dws;
+ 
+-	/* 3. Prepare the RX dma transfer */
++	return txdesc;
++}
++
++static struct dma_async_tx_descriptor *dw_spi_dma_prepare_rx(struct dw_spi *dws)
++{
++	struct dma_slave_config rxconf;
++	struct dma_async_tx_descriptor *rxdesc;
++
+ 	rxconf.direction = DMA_DEV_TO_MEM;
+ 	rxconf.src_addr = dws->dma_addr;
+ 	rxconf.src_maxburst = LNW_DMA_MSIZE_16;
+@@ -182,6 +172,43 @@ static int mid_spi_dma_transfer(struct dw_spi *dws, int cs_change)
+ 	rxdesc->callback = dw_spi_dma_done;
+ 	rxdesc->callback_param = dws;
+ 
++	return rxdesc;
++}
++
++static void dw_spi_dma_setup(struct dw_spi *dws)
++{
++	u16 dma_ctrl = 0;
++
++	spi_enable_chip(dws, 0);
++
++	dw_writew(dws, DW_SPI_DMARDLR, 0xf);
++	dw_writew(dws, DW_SPI_DMATDLR, 0x10);
++
++	if (dws->tx_dma)
++		dma_ctrl |= SPI_DMA_TDMAE;
++	if (dws->rx_dma)
++		dma_ctrl |= SPI_DMA_RDMAE;
++	dw_writew(dws, DW_SPI_DMACR, dma_ctrl);
++
++	spi_enable_chip(dws, 1);
++}
++
++static int mid_spi_dma_transfer(struct dw_spi *dws, int cs_change)
++{
++	struct dma_async_tx_descriptor *txdesc, *rxdesc;
++
++	/* 1. setup DMA related registers */
++	if (cs_change)
++		dw_spi_dma_setup(dws);
++
++	dws->dma_chan_done = 0;
++
++	/* 2. Prepare the TX dma transfer */
++	txdesc = dw_spi_dma_prepare_tx(dws);
++
++	/* 3. Prepare the RX dma transfer */
++	rxdesc = dw_spi_dma_prepare_rx(dws);
++
+ 	/* rx must be started before tx due to spi instinct */
+ 	dmaengine_submit(rxdesc);
+ 	dma_async_issue_pending(dws->rxchan);
+diff --git a/drivers/staging/iio/adc/ad7192.c b/drivers/staging/iio/adc/ad7192.c
+index c110a255d4e8..8343a780f63d 100644
+--- a/drivers/staging/iio/adc/ad7192.c
++++ b/drivers/staging/iio/adc/ad7192.c
+@@ -236,7 +236,7 @@ static int ad7192_setup(struct ad7192_state *st,
+ 			st->mclk = pdata->ext_clk_Hz;
+ 		else
+ 			st->mclk = AD7192_INT_FREQ_MHz;
+-			break;
++		break;
+ 	default:
+ 		ret = -EINVAL;
+ 		goto out;
+diff --git a/drivers/staging/lustre/lustre/llite/llite_lib.c b/drivers/staging/lustre/lustre/llite/llite_lib.c
+index f4ca7b753021..500af356a033 100644
+--- a/drivers/staging/lustre/lustre/llite/llite_lib.c
++++ b/drivers/staging/lustre/lustre/llite/llite_lib.c
+@@ -1504,7 +1504,7 @@ int ll_setattr_raw(struct dentry *dentry, struct iattr *attr, bool hsm_import)
+ 
+ 	if (attr->ia_valid & (ATTR_SIZE |
+ 			      ATTR_ATIME | ATTR_ATIME_SET |
+-			      ATTR_MTIME | ATTR_MTIME_SET))
++			      ATTR_MTIME | ATTR_MTIME_SET)) {
+ 		/* For truncate and utimes sending attributes to OSTs, setting
+ 		 * mtime/atime to the past will be performed under PW [0:EOF]
+ 		 * extent lock (new_size:EOF for truncate).  It may seem
+@@ -1516,6 +1516,7 @@ int ll_setattr_raw(struct dentry *dentry, struct iattr *attr, bool hsm_import)
+ 		rc = ll_setattr_ost(inode, attr);
+ 		if (attr->ia_valid & ATTR_SIZE)
+ 			up_write(&lli->lli_trunc_sem);
++	}
+ out:
+ 	if (op_data) {
+ 		if (op_data->op_ioepoch) {
+diff --git a/drivers/staging/rtl8723au/core/rtw_wlan_util.c b/drivers/staging/rtl8723au/core/rtw_wlan_util.c
+index 09c44a55d4a6..34f0de6abac6 100644
+--- a/drivers/staging/rtl8723au/core/rtw_wlan_util.c
++++ b/drivers/staging/rtl8723au/core/rtw_wlan_util.c
+@@ -525,7 +525,7 @@ void WMMOnAssocRsp23a(struct rtw_adapter *padapter)
+ 	else
+ 		aSifsTime = 16;
+ 
+-		for (i = 0; i < 4; i++) {
++	for (i = 0; i < 4; i++) {
+ 		ACI = (pmlmeinfo->WMM_param.ac_param[i].ACI_AIFSN >> 5) & 0x03;
+ 		ACM = (pmlmeinfo->WMM_param.ac_param[i].ACI_AIFSN >> 4) & 0x01;
+ 
+diff --git a/drivers/usb/gadget/udc/udc-xilinx.c b/drivers/usb/gadget/udc/udc-xilinx.c
+index ed27e1687a4e..da289786d597 100644
+--- a/drivers/usb/gadget/udc/udc-xilinx.c
++++ b/drivers/usb/gadget/udc/udc-xilinx.c
+@@ -2132,8 +2132,8 @@ static int xudc_probe(struct platform_device *pdev)
+ 
+ 	platform_set_drvdata(pdev, udc);
+ 
+-	dev_vdbg(&pdev->dev, "%s at 0x%08X mapped to 0x%08X %s\n",
+-		 driver_name, (u32)res->start, (u32 __force)udc->addr,
++	dev_vdbg(&pdev->dev, "%s at 0x%08X mapped to %p %s\n",
++		 driver_name, (u32)res->start, udc->addr,
+ 		 udc->dma_enabled ? "with DMA" : "without DMA");
+ 
+ 	return 0;
+diff --git a/drivers/usb/renesas_usbhs/common.c b/drivers/usb/renesas_usbhs/common.c
+index b3b6813ab270..d51f47892386 100644
+--- a/drivers/usb/renesas_usbhs/common.c
++++ b/drivers/usb/renesas_usbhs/common.c
+@@ -466,7 +466,7 @@ static struct renesas_usbhs_platform_info *usbhs_parse_dt(struct device *dev)
+ 		return NULL;
+ 
+ 	dparam = &info->driver_param;
+-	dparam->type = of_id ? (u32)of_id->data : 0;
++	dparam->type = of_id ? (uintptr_t)of_id->data : 0;
+ 	if (!of_property_read_u32(dev->of_node, "renesas,buswait", &tmp))
+ 		dparam->buswait_bwait = tmp;
+ 	gpio = of_get_named_gpio_flags(dev->of_node, "renesas,enable-gpio", 0,
+diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
+index aac0f9ea952a..d94f4d0145a4 100644
+--- a/include/linux/blkdev.h
++++ b/include/linux/blkdev.h
+@@ -616,7 +616,7 @@ static inline void queue_flag_clear(unsigned int flag, struct request_queue *q)
+ 
+ #define list_entry_rq(ptr)	list_entry((ptr), struct request, queuelist)
+ 
+-#define rq_data_dir(rq)		(((rq)->cmd_flags & 1) != 0)
++#define rq_data_dir(rq)		((int)((rq)->cmd_flags & 1))
+ 
+ /*
+  * Driver can handle struct request, if it either has an old style
+diff --git a/include/linux/module.h b/include/linux/module.h
+index 18edb9660da0..6fc269ce701c 100644
+--- a/include/linux/module.h
++++ b/include/linux/module.h
+@@ -135,7 +135,7 @@ void trim_init_extable(struct module *m);
+ #ifdef MODULE
+ /* Creates an alias so file2alias.c can find device table. */
+ #define MODULE_DEVICE_TABLE(type, name)					\
+-  extern const struct type##_device_id __mod_##type##__##name##_device_table \
++extern const typeof(name) __mod_##type##__##name##_device_table		\
+   __attribute__ ((unused, alias(__stringify(name))))
+ #else  /* !MODULE */
+ #define MODULE_DEVICE_TABLE(type, name)
+diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
+index 3b57c6712495..2ff757f2d3a3 100644
+--- a/include/linux/skbuff.h
++++ b/include/linux/skbuff.h
+@@ -188,6 +188,7 @@ struct sk_buff;
+ #else
+ #define MAX_SKB_FRAGS (65536/PAGE_SIZE + 1)
+ #endif
++extern int sysctl_max_skb_frags;
+ 
+ typedef struct skb_frag_struct skb_frag_t;
+ 
+diff --git a/include/linux/usb/renesas_usbhs.h b/include/linux/usb/renesas_usbhs.h
+index d5952bb66752..c1209d5b8531 100644
+--- a/include/linux/usb/renesas_usbhs.h
++++ b/include/linux/usb/renesas_usbhs.h
+@@ -153,7 +153,7 @@ struct renesas_usbhs_driver_param {
+ 	 */
+ 	int pio_dma_border; /* default is 64byte */
+ 
+-	u32 type;
++	uintptr_t type;
+ 	u32 enable_gpio;
+ 
+ 	/*
+diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c
+index 115f149362ba..1fbc1aadb450 100644
+--- a/net/bluetooth/hci_sock.c
++++ b/net/bluetooth/hci_sock.c
+@@ -46,9 +46,9 @@ struct hci_pinfo {
+ 	unsigned short    channel;
+ };
+ 
+-static inline int hci_test_bit(int nr, void *addr)
++static inline int hci_test_bit(int nr, const void *addr)
+ {
+-	return *((__u32 *) addr + (nr >> 5)) & ((__u32) 1 << (nr & 31));
++	return *((const __u32 *) addr + (nr >> 5)) & ((__u32) 1 << (nr & 31));
+ }
+ 
+ /* Security filter */
+diff --git a/net/bridge/netfilter/nft_reject_bridge.c b/net/bridge/netfilter/nft_reject_bridge.c
+index 48da2c54a69e..6a10b88f3371 100644
+--- a/net/bridge/netfilter/nft_reject_bridge.c
++++ b/net/bridge/netfilter/nft_reject_bridge.c
+@@ -375,6 +375,8 @@ static int nft_reject_bridge_dump(struct sk_buff *skb,
+ 		if (nla_put_u8(skb, NFTA_REJECT_ICMP_CODE, priv->icmp_code))
+ 			goto nla_put_failure;
+ 		break;
++	default:
++		break;
+ 	}
+ 
+ 	return 0;
+diff --git a/net/caif/cfpkt_skbuff.c b/net/caif/cfpkt_skbuff.c
+index 1be0b521ac49..5add8e75759d 100644
+--- a/net/caif/cfpkt_skbuff.c
++++ b/net/caif/cfpkt_skbuff.c
+@@ -286,7 +286,7 @@ int cfpkt_setlen(struct cfpkt *pkt, u16 len)
+ 		else
+ 			skb_trim(skb, len);
+ 
+-			return cfpkt_getlen(pkt);
++		return cfpkt_getlen(pkt);
+ 	}
+ 
+ 	/* Need to expand SKB */
+diff --git a/net/core/skbuff.c b/net/core/skbuff.c
+index b2921c0d5608..97549212e9e3 100644
+--- a/net/core/skbuff.c
++++ b/net/core/skbuff.c
+@@ -77,6 +77,8 @@
+ 
+ struct kmem_cache *skbuff_head_cache __read_mostly;
+ static struct kmem_cache *skbuff_fclone_cache __read_mostly;
++int sysctl_max_skb_frags __read_mostly = MAX_SKB_FRAGS;
++EXPORT_SYMBOL(sysctl_max_skb_frags);
+ 
+ /**
+  *	skb_panic - private function for out-of-line support
+diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c
+index e731c96eac4b..cd386d2fd039 100644
+--- a/net/core/sysctl_net_core.c
++++ b/net/core/sysctl_net_core.c
+@@ -27,6 +27,7 @@ static int one = 1;
+ static int ushort_max = USHRT_MAX;
+ static int min_sndbuf = SOCK_MIN_SNDBUF;
+ static int min_rcvbuf = SOCK_MIN_RCVBUF;
++static int max_skb_frags = MAX_SKB_FRAGS;
+ 
+ #ifdef CONFIG_RPS
+ static int rps_sock_flow_sysctl(struct ctl_table *table, int write,
+@@ -363,6 +364,15 @@ static struct ctl_table net_core_table[] = {
+ 		.mode		= 0644,
+ 		.proc_handler	= proc_dointvec
+ 	},
++	{
++		.procname	= "max_skb_frags",
++		.data		= &sysctl_max_skb_frags,
++		.maxlen		= sizeof(int),
++		.mode		= 0644,
++		.proc_handler	= proc_dointvec_minmax,
++		.extra1		= &one,
++		.extra2		= &max_skb_frags,
++	},
+ 	{ }
+ };
+ 
+diff --git a/net/ipv4/netfilter/nft_reject_ipv4.c b/net/ipv4/netfilter/nft_reject_ipv4.c
+index ed33299c56d1..95fe37c72b32 100644
+--- a/net/ipv4/netfilter/nft_reject_ipv4.c
++++ b/net/ipv4/netfilter/nft_reject_ipv4.c
+@@ -32,6 +32,8 @@ void nft_reject_ipv4_eval(const struct nft_expr *expr,
+ 	case NFT_REJECT_TCP_RST:
+ 		nf_send_reset(pkt->skb, pkt->ops->hooknum);
+ 		break;
++	default:
++		break;
+ 	}
+ 
+ 	data[NFT_REG_VERDICT].verdict = NF_DROP;
+diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
+index 32b25cc96fff..a21c47289765 100644
+--- a/net/ipv4/tcp.c
++++ b/net/ipv4/tcp.c
+@@ -939,7 +939,7 @@ new_segment:
+ 
+ 		i = skb_shinfo(skb)->nr_frags;
+ 		can_coalesce = skb_can_coalesce(skb, i, page, offset);
+-		if (!can_coalesce && i >= MAX_SKB_FRAGS) {
++		if (!can_coalesce && i >= sysctl_max_skb_frags) {
+ 			tcp_mark_push(tp, skb);
+ 			goto new_segment;
+ 		}
+@@ -1225,7 +1225,7 @@ new_segment:
+ 
+ 				if (!skb_can_coalesce(skb, i, pfrag->page,
+ 						      pfrag->offset)) {
+-					if (i == MAX_SKB_FRAGS || !sg) {
++					if (i == sysctl_max_skb_frags || !sg) {
+ 						tcp_mark_push(tp, skb);
+ 						goto new_segment;
+ 					}
+diff --git a/net/ipv6/ip6_offload.c b/net/ipv6/ip6_offload.c
+index f291813c7c0c..219b9d24b3b3 100644
+--- a/net/ipv6/ip6_offload.c
++++ b/net/ipv6/ip6_offload.c
+@@ -305,7 +305,7 @@ static struct packet_offload ipv6_packet_offload __read_mostly = {
+ static const struct net_offload sit_offload = {
+ 	.callbacks = {
+ 		.gso_segment	= ipv6_gso_segment,
+-		.gro_receive	= ipv6_gro_receive,
++		.gro_receive	= sit_gro_receive,
+ 		.gro_complete	= ipv6_gro_complete,
+ 	},
+ };
+diff --git a/net/ipv6/netfilter/nft_reject_ipv6.c b/net/ipv6/netfilter/nft_reject_ipv6.c
+index 0bc19fa87821..367bd4841a0c 100644
+--- a/net/ipv6/netfilter/nft_reject_ipv6.c
++++ b/net/ipv6/netfilter/nft_reject_ipv6.c
+@@ -34,6 +34,8 @@ void nft_reject_ipv6_eval(const struct nft_expr *expr,
+ 	case NFT_REJECT_TCP_RST:
+ 		nf_send_reset6(net, pkt->skb, pkt->ops->hooknum);
+ 		break;
++	default:
++		break;
+ 	}
+ 
+ 	data[NFT_REG_VERDICT].verdict = NF_DROP;
+diff --git a/net/netfilter/nft_compat.c b/net/netfilter/nft_compat.c
+index ff6f35971ea2..ab24224bfa66 100644
+--- a/net/netfilter/nft_compat.c
++++ b/net/netfilter/nft_compat.c
+@@ -277,11 +277,11 @@ static void nft_match_eval(const struct nft_expr *expr,
+ 		return;
+ 	}
+ 
+-	switch(ret) {
+-	case true:
++	switch (ret ? 1 : 0) {
++	case 1:
+ 		data[NFT_REG_VERDICT].verdict = NFT_CONTINUE;
+ 		break;
+-	case false:
++	case 0:
+ 		data[NFT_REG_VERDICT].verdict = NFT_BREAK;
+ 		break;
+ 	}
+diff --git a/net/netfilter/nft_ct.c b/net/netfilter/nft_ct.c
+index cc5603016242..18d520e0ca0a 100644
+--- a/net/netfilter/nft_ct.c
++++ b/net/netfilter/nft_ct.c
+@@ -56,6 +56,8 @@ static void nft_ct_get_eval(const struct nft_expr *expr,
+ 			state = NF_CT_STATE_BIT(ctinfo);
+ 		dest->data[0] = state;
+ 		return;
++	default:
++		break;
+ 	}
+ 
+ 	if (ct == NULL)
+@@ -117,6 +119,8 @@ static void nft_ct_get_eval(const struct nft_expr *expr,
+ 		return;
+ 	}
+ #endif
++	default:
++		break;
+ 	}
+ 
+ 	tuple = &ct->tuplehash[priv->dir].tuple;
+@@ -141,6 +145,8 @@ static void nft_ct_get_eval(const struct nft_expr *expr,
+ 	case NFT_CT_PROTO_DST:
+ 		dest->data[0] = (__force __u16)tuple->dst.u.all;
+ 		return;
++	default:
++		break;
+ 	}
+ 	return;
+ err:
+@@ -172,6 +178,8 @@ static void nft_ct_set_eval(const struct nft_expr *expr,
+ 		}
+ 		break;
+ #endif
++	default:
++		break;
+ 	}
+ }
+ 
+diff --git a/net/netfilter/nft_reject.c b/net/netfilter/nft_reject.c
+index 57d3e1af5630..0522fc9bfb0a 100644
+--- a/net/netfilter/nft_reject.c
++++ b/net/netfilter/nft_reject.c
+@@ -63,6 +63,8 @@ int nft_reject_dump(struct sk_buff *skb, const struct nft_expr *expr)
+ 		if (nla_put_u8(skb, NFTA_REJECT_ICMP_CODE, priv->icmp_code))
+ 			goto nla_put_failure;
+ 		break;
++	default:
++		break;
+ 	}
+ 
+ 	return 0;
+diff --git a/net/netfilter/nft_reject_inet.c b/net/netfilter/nft_reject_inet.c
+index 7b5f9d58680a..1fb065a77474 100644
+--- a/net/netfilter/nft_reject_inet.c
++++ b/net/netfilter/nft_reject_inet.c
+@@ -105,6 +105,8 @@ static int nft_reject_inet_dump(struct sk_buff *skb,
+ 		if (nla_put_u8(skb, NFTA_REJECT_ICMP_CODE, priv->icmp_code))
+ 			goto nla_put_failure;
+ 		break;
++	default:
++		break;
+ 	}
+ 
+ 	return 0;
+diff --git a/sound/pci/oxygen/oxygen_mixer.c b/sound/pci/oxygen/oxygen_mixer.c
+index 5988e044c519..259bf54a9df0 100644
+--- a/sound/pci/oxygen/oxygen_mixer.c
++++ b/sound/pci/oxygen/oxygen_mixer.c
+@@ -88,7 +88,7 @@ static int dac_mute_put(struct snd_kcontrol *ctl,
+ 	int changed;
+ 
+ 	mutex_lock(&chip->mutex);
+-	changed = !value->value.integer.value[0] != chip->dac_mute;
++	changed = (!value->value.integer.value[0]) != chip->dac_mute;
+ 	if (changed) {
+ 		chip->dac_mute = !value->value.integer.value[0];
+ 		chip->model.update_dac_mute(chip);


             reply	other threads:[~2017-02-08 11:16 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-08 11:16 Mike Pagano [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-04-18 10:20 [gentoo-commits] proj/linux-patches:3.18 commit in: / Mike Pagano
2017-03-02 16:33 Mike Pagano
2017-03-02 16:33 Mike Pagano
2017-01-18 21:46 Mike Pagano
2017-01-18 21:38 Mike Pagano
2016-12-09  0:21 Mike Pagano
2016-11-30 15:42 Mike Pagano
2016-11-25 22:57 Mike Pagano
2016-11-01  9:36 Alice Ferrazzi
2016-10-12 19:51 Mike Pagano
2016-09-18 12:43 Mike Pagano
2016-08-22 23:27 Mike Pagano
2016-08-10 12:54 Mike Pagano
2016-07-31 15:27 Mike Pagano
2016-07-15 14:46 Mike Pagano
2016-07-13 23:28 Mike Pagano
2016-07-01 20:50 Mike Pagano
2016-06-23 11:44 Mike Pagano
2016-06-08 11:20 Mike Pagano
2016-05-24 12:03 Mike Pagano
2016-05-12  0:10 Mike Pagano
2016-04-20 11:21 Mike Pagano
2016-04-06 11:21 Mike Pagano
2016-03-17 22:50 Mike Pagano
2016-03-05 21:08 Mike Pagano
2016-02-16 16:34 Mike Pagano
2016-01-31 15:36 Mike Pagano
2016-01-20 14:35 Mike Pagano
2015-12-17 17:12 Mike Pagano
2015-11-03 18:39 Mike Pagano
2015-10-30 18:38 Mike Pagano
2015-10-03 17:45 Mike Pagano
2015-09-10  0:15 Mike Pagano
2015-08-21 12:57 Mike Pagano
2015-07-30 12:43 Mike Pagano
2015-07-22 10:13 Mike Pagano
2015-07-10 23:44 Mike Pagano
2015-06-19 15:22 Mike Pagano
2015-05-22  0:48 Mike Pagano
2015-05-13 14:27 Mike Pagano
2015-04-29 17:31 Mike Pagano
2015-04-27 17:18 Mike Pagano
2015-04-05  0:05 Mike Pagano
2015-03-28 19:46 Mike Pagano
2015-03-24 23:19 Mike Pagano
2015-03-21 20:02 Mike Pagano
2015-03-07 14:28 Mike Pagano
2015-02-27 13:26 Mike Pagano
2015-02-14 20:32 Mike Pagano
2015-02-13  1:35 Mike Pagano
2015-02-11 14:35 Mike Pagano
2015-02-07  1:07 Mike Pagano
2015-01-30 11:01 Mike Pagano
2015-01-28 23:56 Anthony G. Basile
2015-01-28 23:55 Anthony G. Basile
2015-01-28 22:18 Anthony G. Basile
2015-01-16 18:31 Mike Pagano
2015-01-16  0:28 Mike Pagano
2015-01-09 13:39 Mike Pagano
2015-01-05 14:39 Mike Pagano
2015-01-04 19:03 Mike Pagano
2015-01-02 19:06 Mike Pagano
2015-01-01 14:15 Mike Pagano
2014-12-16 19:44 Mike Pagano
2014-12-09 20:49 Mike Pagano
2014-11-26  0:36 Mike Pagano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1486552587.219e6220b29d24e43cc5b8304c8a365bdcb4e4ba.mpagano@gentoo \
    --to=mpagano@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox