aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Barksdale <amatus@amatus.name>2014-08-13 18:11:53 -0500
committerDavid Barksdale <amatus@amatus.name>2014-08-13 18:11:53 -0500
commit3918522a523adc3f001cf9c5da327d8fb383c26e (patch)
tree424b4a37d021e6a5fd02c3abbf9b6a054e469208
parentf05c100b6a7051106229cda5a845e94e36e71b17 (diff)
-rw-r--r--Documentation/io-mapping.txt82
-rwxr-xr-x[-rw-r--r--]arch/ia64/scripts/check-gas0
-rwxr-xr-x[-rw-r--r--]arch/ia64/scripts/toolchain-flags0
-rwxr-xr-x[-rw-r--r--]arch/powerpc/boot/dts/apollo3g.dts0
-rwxr-xr-x[-rw-r--r--]arch/powerpc/boot/dts/beech.dts0
-rwxr-xr-x[-rw-r--r--]arch/powerpc/boot/dts/bluestone.dts0
-rwxr-xr-x[-rw-r--r--]arch/powerpc/boot/wrapper0
-rwxr-xr-x[-rw-r--r--]arch/powerpc/configs/44x/beech_defconfig0
-rwxr-xr-x[-rw-r--r--]arch/powerpc/configs/44x/beech_sata_defconfig0
-rwxr-xr-x[-rw-r--r--]arch/powerpc/configs/44x/bluestone_defconfig0
-rwxr-xr-x[-rw-r--r--]arch/powerpc/include/asm/ppc460ex_plb_adma.h0
-rwxr-xr-x[-rw-r--r--]arch/powerpc/include/ppc460ex_plb_adma.h0
-rwxr-xr-x[-rw-r--r--]arch/powerpc/platforms/44x/bluestone-usb.c0
-rwxr-xr-x[-rw-r--r--]arch/powerpc/relocs_check.pl0
-rwxr-xr-x[-rw-r--r--]arch/powerpc/sysdev/ppc4xx_msi.c0
-rwxr-xr-x[-rw-r--r--]arch/powerpc/sysdev/ppc4xx_msi.h0
-rwxr-xr-x[-rw-r--r--]build.sh0
-rwxr-xr-x[-rw-r--r--]drivers/ata/sata_dwc_pmp.c0
-rwxr-xr-x[-rw-r--r--]drivers/dma/ppc460ex_4chan_dma.c0
-rwxr-xr-x[-rw-r--r--]drivers/dma/ppc460ex_4chan_dma.h0
-rwxr-xr-x[-rw-r--r--]drivers/dma/ppc460ex_4chan_sgdma.c0
-rwxr-xr-x[-rw-r--r--]drivers/scp/Kconfig0
-rwxr-xr-x[-rw-r--r--]drivers/scp/Makefile0
-rwxr-xr-x[-rw-r--r--]drivers/scp/scp-dev.c0
-rwxr-xr-x[-rw-r--r--]drivers/scp/scp-dev.h0
-rwxr-xr-x[-rw-r--r--]drivers/scp/spi_eeprom.c0
-rw-r--r--fs/splice.c6
-rw-r--r--include/linux/netfilter/xt_CONNMARK.h26
-rw-r--r--include/linux/netfilter/xt_DSCP.h26
-rw-r--r--include/linux/netfilter/xt_MARK.h10
-rw-r--r--include/linux/netfilter/xt_RATEEST.h15
-rw-r--r--include/linux/netfilter/xt_TCPMSS.h12
-rw-r--r--include/linux/netfilter_ipv4/ipt_TTL.h21
-rw-r--r--include/linux/netfilter_ipv4/ipt_ecn.h33
-rw-r--r--include/linux/netfilter_ipv6/ip6t_hl.h22
-rwxr-xr-x[-rw-r--r--]include/linux/trustees.h0
-rw-r--r--net/ipv4/netfilter/ipt_ECN.c141
-rw-r--r--net/ipv4/tcp.c3
-rw-r--r--net/netfilter/xt_MARK.c56
-rw-r--r--net/netfilter/xt_RATEEST.c183
-rw-r--r--net/netfilter/xt_connmark.c87
-rw-r--r--net/netfilter/xt_dscp.c115
-rw-r--r--net/netfilter/xt_hl.c108
-rw-r--r--net/netfilter/xt_tcpmss.c110
-rwxr-xr-x[-rw-r--r--]scripts/Lindent0
-rwxr-xr-x[-rw-r--r--]scripts/bloat-o-meter0
-rwxr-xr-x[-rw-r--r--]scripts/checkincludes.pl0
-rwxr-xr-x[-rw-r--r--]scripts/checkkconfigsymbols.sh0
-rwxr-xr-x[-rw-r--r--]scripts/checkpatch.pl0
-rwxr-xr-x[-rw-r--r--]scripts/checkstack.pl0
-rwxr-xr-x[-rw-r--r--]scripts/checksyscalls.sh0
-rwxr-xr-x[-rw-r--r--]scripts/checkversion.pl0
-rwxr-xr-x[-rw-r--r--]scripts/cleanfile0
-rwxr-xr-x[-rw-r--r--]scripts/cleanpatch0
-rwxr-xr-x[-rw-r--r--]scripts/config0
-rwxr-xr-x[-rw-r--r--]scripts/decodecode0
-rwxr-xr-x[-rw-r--r--]scripts/diffconfig0
-rwxr-xr-x[-rw-r--r--]scripts/extract-ikconfig0
-rwxr-xr-x[-rw-r--r--]scripts/get_maintainer.pl0
-rwxr-xr-x[-rw-r--r--]scripts/headerdep.pl0
-rwxr-xr-x[-rw-r--r--]scripts/headers.sh0
-rwxr-xr-x[-rw-r--r--]scripts/kconfig/check.sh0
-rwxr-xr-x[-rw-r--r--]scripts/kernel-doc0
-rwxr-xr-x[-rw-r--r--]scripts/makelst0
-rwxr-xr-x[-rw-r--r--]scripts/mkcompile_h0
-rwxr-xr-x[-rw-r--r--]scripts/mkuboot.sh0
-rwxr-xr-x[-rw-r--r--]scripts/namespace.pl0
-rwxr-xr-x[-rw-r--r--]scripts/package/mkspec0
-rwxr-xr-x[-rw-r--r--]scripts/patch-kernel0
-rwxr-xr-x[-rw-r--r--]scripts/recordmcount.pl0
-rwxr-xr-x[-rw-r--r--]scripts/setlocalversion0
-rwxr-xr-x[-rw-r--r--]scripts/show_delta0
-rwxr-xr-x[-rw-r--r--]scripts/tags.sh0
-rwxr-xr-x[-rw-r--r--]scripts/ver_linux0
-rwxr-xr-x[-rw-r--r--]security/trustees/Makefile0
-rwxr-xr-x[-rw-r--r--]security/trustees/fs.c0
-rwxr-xr-x[-rw-r--r--]security/trustees/funcs.c0
-rwxr-xr-x[-rw-r--r--]security/trustees/init.c0
-rwxr-xr-x[-rw-r--r--]security/trustees/internal.h0
-rwxr-xr-x[-rw-r--r--]security/trustees/security.c0
-rwxr-xr-x[-rw-r--r--]tools/perf/util/PERF-VERSION-GEN0
-rwxr-xr-x[-rw-r--r--]tools/perf/util/generate-cmdlist.sh0
82 files changed, 1049 insertions, 7 deletions
diff --git a/Documentation/io-mapping.txt b/Documentation/io-mapping.txt
new file mode 100644
index 00000000000..473e43b2d58
--- /dev/null
+++ b/Documentation/io-mapping.txt
@@ -0,0 +1,82 @@
+The io_mapping functions in linux/io-mapping.h provide an abstraction for
+efficiently mapping small regions of an I/O device to the CPU. The initial
+usage is to support the large graphics aperture on 32-bit processors where
+ioremap_wc cannot be used to statically map the entire aperture to the CPU
+as it would consume too much of the kernel address space.
+
+A mapping object is created during driver initialization using
+
+ struct io_mapping *io_mapping_create_wc(unsigned long base,
+ unsigned long size)
+
+ 'base' is the bus address of the region to be made
+ mappable, while 'size' indicates how large a mapping region to
+ enable. Both are in bytes.
+
+ This _wc variant provides a mapping which may only be used
+ with the io_mapping_map_atomic_wc or io_mapping_map_wc.
+
+With this mapping object, individual pages can be mapped either atomically
+or not, depending on the necessary scheduling environment. Of course, atomic
+maps are more efficient:
+
+ void *io_mapping_map_atomic_wc(struct io_mapping *mapping,
+ unsigned long offset)
+
+ 'offset' is the offset within the defined mapping region.
+ Accessing addresses beyond the region specified in the
+ creation function yields undefined results. Using an offset
+ which is not page aligned yields an undefined result. The
+ return value points to a single page in CPU address space.
+
+ This _wc variant returns a write-combining map to the
+ page and may only be used with mappings created by
+ io_mapping_create_wc
+
+ Note that the task may not sleep while holding this page
+ mapped.
+
+ void io_mapping_unmap_atomic(void *vaddr)
+
+ 'vaddr' must be the the value returned by the last
+ io_mapping_map_atomic_wc call. This unmaps the specified
+ page and allows the task to sleep once again.
+
+If you need to sleep while holding the lock, you can use the non-atomic
+variant, although they may be significantly slower.
+
+ void *io_mapping_map_wc(struct io_mapping *mapping,
+ unsigned long offset)
+
+ This works like io_mapping_map_atomic_wc except it allows
+ the task to sleep while holding the page mapped.
+
+ void io_mapping_unmap(void *vaddr)
+
+ This works like io_mapping_unmap_atomic, except it is used
+ for pages mapped with io_mapping_map_wc.
+
+At driver close time, the io_mapping object must be freed:
+
+ void io_mapping_free(struct io_mapping *mapping)
+
+Current Implementation:
+
+The initial implementation of these functions uses existing mapping
+mechanisms and so provides only an abstraction layer and no new
+functionality.
+
+On 64-bit processors, io_mapping_create_wc calls ioremap_wc for the whole
+range, creating a permanent kernel-visible mapping to the resource. The
+map_atomic and map functions add the requested offset to the base of the
+virtual address returned by ioremap_wc.
+
+On 32-bit processors with HIGHMEM defined, io_mapping_map_atomic_wc uses
+kmap_atomic_pfn to map the specified page in an atomic fashion;
+kmap_atomic_pfn isn't really supposed to be used with device pages, but it
+provides an efficient mapping for this usage.
+
+On 32-bit processors without HIGHMEM defined, io_mapping_map_atomic_wc and
+io_mapping_map_wc both use ioremap_wc, a terribly inefficient function which
+performs an IPI to inform all processors about the new mapping. This results
+in a significant performance penalty.
diff --git a/arch/ia64/scripts/check-gas b/arch/ia64/scripts/check-gas
index 2499e0b2243..2499e0b2243 100644..100755
--- a/arch/ia64/scripts/check-gas
+++ b/arch/ia64/scripts/check-gas
diff --git a/arch/ia64/scripts/toolchain-flags b/arch/ia64/scripts/toolchain-flags
index 3f0c2adacb7..3f0c2adacb7 100644..100755
--- a/arch/ia64/scripts/toolchain-flags
+++ b/arch/ia64/scripts/toolchain-flags
diff --git a/arch/powerpc/boot/dts/apollo3g.dts b/arch/powerpc/boot/dts/apollo3g.dts
index ffe03c281e6..ffe03c281e6 100644..100755
--- a/arch/powerpc/boot/dts/apollo3g.dts
+++ b/arch/powerpc/boot/dts/apollo3g.dts
diff --git a/arch/powerpc/boot/dts/beech.dts b/arch/powerpc/boot/dts/beech.dts
index 341fb2cf0af..341fb2cf0af 100644..100755
--- a/arch/powerpc/boot/dts/beech.dts
+++ b/arch/powerpc/boot/dts/beech.dts
diff --git a/arch/powerpc/boot/dts/bluestone.dts b/arch/powerpc/boot/dts/bluestone.dts
index 3a9804b3a82..3a9804b3a82 100644..100755
--- a/arch/powerpc/boot/dts/bluestone.dts
+++ b/arch/powerpc/boot/dts/bluestone.dts
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index ac9e9a58b2b..ac9e9a58b2b 100644..100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
diff --git a/arch/powerpc/configs/44x/beech_defconfig b/arch/powerpc/configs/44x/beech_defconfig
index 0a5d46ae512..0a5d46ae512 100644..100755
--- a/arch/powerpc/configs/44x/beech_defconfig
+++ b/arch/powerpc/configs/44x/beech_defconfig
diff --git a/arch/powerpc/configs/44x/beech_sata_defconfig b/arch/powerpc/configs/44x/beech_sata_defconfig
index 4dab1f9e068..4dab1f9e068 100644..100755
--- a/arch/powerpc/configs/44x/beech_sata_defconfig
+++ b/arch/powerpc/configs/44x/beech_sata_defconfig
diff --git a/arch/powerpc/configs/44x/bluestone_defconfig b/arch/powerpc/configs/44x/bluestone_defconfig
index 218a3c20c0a..218a3c20c0a 100644..100755
--- a/arch/powerpc/configs/44x/bluestone_defconfig
+++ b/arch/powerpc/configs/44x/bluestone_defconfig
diff --git a/arch/powerpc/include/asm/ppc460ex_plb_adma.h b/arch/powerpc/include/asm/ppc460ex_plb_adma.h
index 965786e1d4b..965786e1d4b 100644..100755
--- a/arch/powerpc/include/asm/ppc460ex_plb_adma.h
+++ b/arch/powerpc/include/asm/ppc460ex_plb_adma.h
diff --git a/arch/powerpc/include/ppc460ex_plb_adma.h b/arch/powerpc/include/ppc460ex_plb_adma.h
index 4ff4fd2d2a7..4ff4fd2d2a7 100644..100755
--- a/arch/powerpc/include/ppc460ex_plb_adma.h
+++ b/arch/powerpc/include/ppc460ex_plb_adma.h
diff --git a/arch/powerpc/platforms/44x/bluestone-usb.c b/arch/powerpc/platforms/44x/bluestone-usb.c
index 06a8dcc5c96..06a8dcc5c96 100644..100755
--- a/arch/powerpc/platforms/44x/bluestone-usb.c
+++ b/arch/powerpc/platforms/44x/bluestone-usb.c
diff --git a/arch/powerpc/relocs_check.pl b/arch/powerpc/relocs_check.pl
index d2571096c3e..d2571096c3e 100644..100755
--- a/arch/powerpc/relocs_check.pl
+++ b/arch/powerpc/relocs_check.pl
diff --git a/arch/powerpc/sysdev/ppc4xx_msi.c b/arch/powerpc/sysdev/ppc4xx_msi.c
index 8bec6fff4ce..8bec6fff4ce 100644..100755
--- a/arch/powerpc/sysdev/ppc4xx_msi.c
+++ b/arch/powerpc/sysdev/ppc4xx_msi.c
diff --git a/arch/powerpc/sysdev/ppc4xx_msi.h b/arch/powerpc/sysdev/ppc4xx_msi.h
index 64b2f335068..64b2f335068 100644..100755
--- a/arch/powerpc/sysdev/ppc4xx_msi.h
+++ b/arch/powerpc/sysdev/ppc4xx_msi.h
diff --git a/build.sh b/build.sh
index a277eb23411..a277eb23411 100644..100755
--- a/build.sh
+++ b/build.sh
diff --git a/drivers/ata/sata_dwc_pmp.c b/drivers/ata/sata_dwc_pmp.c
index df3b490f86e..df3b490f86e 100644..100755
--- a/drivers/ata/sata_dwc_pmp.c
+++ b/drivers/ata/sata_dwc_pmp.c
diff --git a/drivers/dma/ppc460ex_4chan_dma.c b/drivers/dma/ppc460ex_4chan_dma.c
index cb2888d5213..cb2888d5213 100644..100755
--- a/drivers/dma/ppc460ex_4chan_dma.c
+++ b/drivers/dma/ppc460ex_4chan_dma.c
diff --git a/drivers/dma/ppc460ex_4chan_dma.h b/drivers/dma/ppc460ex_4chan_dma.h
index c9448f34de4..c9448f34de4 100644..100755
--- a/drivers/dma/ppc460ex_4chan_dma.h
+++ b/drivers/dma/ppc460ex_4chan_dma.h
diff --git a/drivers/dma/ppc460ex_4chan_sgdma.c b/drivers/dma/ppc460ex_4chan_sgdma.c
index fb26dd76ce7..fb26dd76ce7 100644..100755
--- a/drivers/dma/ppc460ex_4chan_sgdma.c
+++ b/drivers/dma/ppc460ex_4chan_sgdma.c
diff --git a/drivers/scp/Kconfig b/drivers/scp/Kconfig
index b44c6d556cb..b44c6d556cb 100644..100755
--- a/drivers/scp/Kconfig
+++ b/drivers/scp/Kconfig
diff --git a/drivers/scp/Makefile b/drivers/scp/Makefile
index 8fa43d08906..8fa43d08906 100644..100755
--- a/drivers/scp/Makefile
+++ b/drivers/scp/Makefile
diff --git a/drivers/scp/scp-dev.c b/drivers/scp/scp-dev.c
index b8f286c0342..b8f286c0342 100644..100755
--- a/drivers/scp/scp-dev.c
+++ b/drivers/scp/scp-dev.c
diff --git a/drivers/scp/scp-dev.h b/drivers/scp/scp-dev.h
index 4e7c385a596..4e7c385a596 100644..100755
--- a/drivers/scp/scp-dev.h
+++ b/drivers/scp/scp-dev.h
diff --git a/drivers/scp/spi_eeprom.c b/drivers/scp/spi_eeprom.c
index 47c83a4679d..47c83a4679d 100644..100755
--- a/drivers/scp/spi_eeprom.c
+++ b/drivers/scp/spi_eeprom.c
diff --git a/fs/splice.c b/fs/splice.c
index 5a21493e9e8..0d810e86f6c 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -2599,22 +2599,20 @@ static long do_splice_2(int fd_in, struct file *in, loff_t __user *off_in,
/** handle error status */
if( ret <= 0 )
{
-#ifdef DEBUG_SPLICE
printk( KERN_ERR "%s:%s:%d\n"
"sock_splice_read read error %ld.\n",
__FILE__, __FUNCTION__, __LINE__,
ret );
-#endif
+
/** fail on specific errors */
if ( ret == 0 || ! ignore_splice_error ( ret ) )
{
-#ifdef DEBUG_SPLICE
printk( KERN_ERR "%s:%s:%d\n"
"returning read error %ld "
"after reading %d out of %d bytes.\n",
__FILE__, __FUNCTION__, __LINE__,
ret, spliced_len, len );
-#endif
+
release_splice_pipebufs_special(pipe);
goto out;
}
diff --git a/include/linux/netfilter/xt_CONNMARK.h b/include/linux/netfilter/xt_CONNMARK.h
new file mode 100644
index 00000000000..0a854586675
--- /dev/null
+++ b/include/linux/netfilter/xt_CONNMARK.h
@@ -0,0 +1,26 @@
+#ifndef _XT_CONNMARK_H_target
+#define _XT_CONNMARK_H_target
+
+#include <linux/types.h>
+
+/* Copyright (C) 2002,2004 MARA Systems AB <http://www.marasystems.com>
+ * by Henrik Nordstrom <hno@marasystems.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+enum {
+ XT_CONNMARK_SET = 0,
+ XT_CONNMARK_SAVE,
+ XT_CONNMARK_RESTORE
+};
+
+struct xt_connmark_tginfo1 {
+ __u32 ctmark, ctmask, nfmask;
+ __u8 mode;
+};
+
+#endif /*_XT_CONNMARK_H_target*/
diff --git a/include/linux/netfilter/xt_DSCP.h b/include/linux/netfilter/xt_DSCP.h
new file mode 100644
index 00000000000..648e0b3bed2
--- /dev/null
+++ b/include/linux/netfilter/xt_DSCP.h
@@ -0,0 +1,26 @@
+/* x_tables module for setting the IPv4/IPv6 DSCP field
+ *
+ * (C) 2002 Harald Welte <laforge@gnumonks.org>
+ * based on ipt_FTOS.c (C) 2000 by Matthew G. Marsh <mgm@paktronix.com>
+ * This software is distributed under GNU GPL v2, 1991
+ *
+ * See RFC2474 for a description of the DSCP field within the IP Header.
+ *
+ * xt_DSCP.h,v 1.7 2002/03/14 12:03:13 laforge Exp
+*/
+#ifndef _XT_DSCP_TARGET_H
+#define _X