diff options
author | V3n3RiX <venerix@rogentos.ro> | 2016-08-11 00:33:31 +0100 |
---|---|---|
committer | V3n3RiX <venerix@rogentos.ro> | 2016-08-11 00:33:31 +0100 |
commit | ff5dd7b3704b9e8f9f606d4929f95694ec84ddf3 (patch) | |
tree | 393b3bd8a65eb3ec464babab42da8d9ec88851c3 /net-wireless | |
parent | 4c05e04608db666140daaa94499f5f90521a2cc4 (diff) |
cleanup
Diffstat (limited to 'net-wireless')
227 files changed, 0 insertions, 45769 deletions
diff --git a/net-wireless/b43-openfwwf/Manifest b/net-wireless/b43-openfwwf/Manifest deleted file mode 100644 index 7b262b6e..00000000 --- a/net-wireless/b43-openfwwf/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST openfwwf-5.2.tar.gz 48525 RMD160 f9b2ad6d0d54f53a3d3b0ff5583b97dac1d20707 SHA1 ce3b6b10ad27a731785665e169f3360ecc5337c5 SHA256 9de03320083201080b2e94b81637ac07a159cf4e6f3481383e1a217e627bc0dc -EBUILD b43-openfwwf-5.2.ebuild 509 RMD160 49b6297e6f97b3fc8e745a362fbf5ffe7693252a SHA1 d972873a0befbb7c238c36eaf00bc29c6f438018 SHA256 e9aa12e3bb241926d3601147be29c00461837e41aad5ca83f53fd1ef360d18b8 diff --git a/net-wireless/b43-openfwwf/b43-openfwwf-5.2.ebuild b/net-wireless/b43-openfwwf/b43-openfwwf-5.2.ebuild deleted file mode 100644 index 9dc27fa4..00000000 --- a/net-wireless/b43-openfwwf/b43-openfwwf-5.2.ebuild +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" - -DESCRIPTION="OpenBroadcom Firmware" -HOMEPAGE="http://www.ing.unibs.it/openfwwf/" -SRC_URI="http://www.ing.unibs.it/openfwwf/firmware/openfwwf-${PV}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~x86 ~amd64" -IUSE="" - -DEPEND="net-wireless/b43-tools[assembler]" -S="${WORKDIR}/openfwwf-${PV}" - -src_install() { - emake PREFIX="${D}"/lib/firmware/b43-open install || die "emake failed" -} diff --git a/net-wireless/b43-tools/Manifest b/net-wireless/b43-tools/Manifest deleted file mode 100644 index 12ef12f1..00000000 --- a/net-wireless/b43-tools/Manifest +++ /dev/null @@ -1 +0,0 @@ -EBUILD b43-tools-9999.ebuild 1731 SHA256 a3432521d885c2802ca2268a95c728bd10cb1ca7bd503af6c170f3fafb6fd472 SHA512 a16f720d05f6644eaa3a8e941349f0ca73447f5527a963a70a1316abb829b285ff428225f661b37bde37999229c8c089c6fea35f76eca2f0cff99fb2cd5760d3 WHIRLPOOL 56f1957e60f0d3574a01cad2e7a403dacbe7cdc83a4192ce249e80dbabd971030fae4487cecb123bbf37d972d15f72cc080ea733182ea3e064ad1305d8ab4d82 diff --git a/net-wireless/b43-tools/b43-tools-9999.ebuild b/net-wireless/b43-tools/b43-tools-9999.ebuild deleted file mode 100644 index 54c3f239..00000000 --- a/net-wireless/b43-tools/b43-tools-9999.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" - -inherit git-2 python - -DESCRIPTION="Tools for developers working on broadcom drivers/firmware" -HOMEPAGE="http://bu3sch.de/gitweb?p=b43-tools.git;a=summary" -SRC_URI="" -EGIT_REPO_URI="git://git.bues.ch/b43-tools.git" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="+assembler debug disassembler fwcutter +ssb_sprom" - -RDEPEND="fwcutter? ( net-wireless/b43-fwcutter )" -DEPEND="${RDEPEND} - sys-devel/flex" - -src_compile() { - - if use assembler; then - cd "${S}"/assembler - emake || die "emake assembler failed" - fi - - if use disassembler; then - cd "${S}"/disassembler - emake || die "emake disassembler failed" - fi - - if use fwcutter; then - einfo "Firmware cutter from b43-tools will NOT be installed. Use net-wireless/b43-fwcutter instead." -# cd "${S}"/fwcutter -# emake || die "emake fwcutter failed" - fi - - if use ssb_sprom; then - cd "${S}"/ssb_sprom - emake || die "emake ssb_sprom failed" - fi -} - -src_install() { - if use assembler; then - dobin "${S}"/assembler/b43-asm.bin - sed -e 's/installed=0/installed=1/' -i "${S}"/assembler/b43-asm - dobin "${S}"/assembler/b43-asm - fi - -## install debug, I'm guessing this needs a few deps, and what not - if use debug; then - cd "${S}"/debug - insinto /usr/lib/python$(python_get_version)/ - doins libb43.py - dobin b43-beautifier b43-fwdump patcher-template - fi - - if use disassembler; then - dobin "${S}"/disassembler/b43-dasm - dobin "${S}"/disassembler/b43-ivaldump - fi - - if use ssb_sprom; then - dobin "${S}"/ssb_sprom/ssb-sprom - fi - - einfo "The docs are not packaged properly if you use dodoc README several times, feel free to fix it" -} diff --git a/net-wireless/bluemaho/Manifest b/net-wireless/bluemaho/Manifest deleted file mode 100644 index 833f54cc..00000000 --- a/net-wireless/bluemaho/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -AUX bluemaho 50 RMD160 cebb4ff4c66cb943be41657308af2361db0ce411 SHA1 e79152cfde43f31cf7ff2c1c3a08ff359dec0219 SHA256 1623940d95c958f9dcdb0c5dd8e114dc16431baa9a4c0a1ddc8d44c52022a876 -AUX btftp-libxml.patch 1065 RMD160 c2bb428225879824bb9c30e25790821664c0ec5f SHA1 16911c47c073a82d291b787a894ce3db04dfcbb4 SHA256 c8b83e3fad9952c5a0dd47daff487c896df86c3bed635da715af842322f093c5 -DIST BlueMaho?action=AttachFile&do=get&target=bluemaho_v090417.tgz 916884 RMD160 57ed5b2967ef659b8e2a80bb8d3ff3908e27341b SHA1 216db6f836b20b7f70f3a56bec95ab0a607a2af5 SHA256 9b36bcf73a59d7c03a2262287c4aa37fbd308801d6fa4d3cbc86b9d15ad7ff1c -EBUILD bluemaho-090417-r1.ebuild 928 RMD160 367180083b50d487a04102a89f077ba062dcc1cb SHA1 51d1c616d2952efd9fa5342271b2e37040445035 SHA256 e2c5bb9c86129806338692b44f348af369273c4d7bdd1218dd133cff0b6c60ec diff --git a/net-wireless/bluemaho/bluemaho-090417-r1.ebuild b/net-wireless/bluemaho/bluemaho-090417-r1.ebuild deleted file mode 100644 index 8e84602e..00000000 --- a/net-wireless/bluemaho/bluemaho-090417-r1.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=2 - -inherit eutils - -MY_P="${PN}_v${PV}" - -DESCRIPTION="BlueMaho is GUI-shell (interface) for suite of tools for testing security of bluetooth devices" -HOMEPAGE="http://wiki.thc.org/BlueMaho" -SRC_URI="http://wiki.thc.org/BlueMaho?action=AttachFile&do=get&target=${MY_P}.tgz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="x86" -IUSE="" -RDEPEND="net-wireless/bluez[test-programs] - net-wireless/bt-audit - dev-libs/libxml2 - dev-python/wxpython - dev-libs/libusb - sys-libs/readline" -DEPEND="${RDEPEND}" -S="${WORKDIR}/${MY_P/_v/-}" - -src_compile() { - epatch "${FILESDIR}"/btftp-libxml.patch - sed -e 's/Eterm/xterm/' -i config/default.conf - cd config - sh build.sh || die "emake failed" -} - -src_install() { - dodir /usr/lib/${PN} - cp -R "${S}"/* "${D}"/usr/lib/${PN} || die "Copy files failed" - dobin "${FILESDIR}/${PN}" -} diff --git a/net-wireless/bluemaho/files/bluemaho b/net-wireless/bluemaho/files/bluemaho deleted file mode 100644 index 4089d08b..00000000 --- a/net-wireless/bluemaho/files/bluemaho +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -cd /usr/lib/bluemaho/ -./bluemaho.py $@ diff --git a/net-wireless/bluemaho/files/btftp-libxml.patch b/net-wireless/bluemaho/files/btftp-libxml.patch deleted file mode 100644 index d63add34..00000000 --- a/net-wireless/bluemaho/files/btftp-libxml.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -Naur bluemaho-090417.orig/tools/sources/btftp-0.1/Makefile bluemaho-090417/tools/sources/btftp-0.1/Makefile ---- bluemaho-090417.orig/tools/sources/btftp-0.1/Makefile 2009-04-17 17:37:30.000000000 +0000 -+++ bluemaho-090417/tools/sources/btftp-0.1/Makefile 2009-05-12 13:31:50.000000000 +0000 -@@ -1,2 +1,2 @@ - all: obex.c sdp.c folder.c main.c -- gcc -lbluetooth -lopenobex -lreadline -lxml2 obex.c sdp.c folder.c main.c -o btftp -+ gcc -I/usr/include/libxml2/ -lbluetooth -lopenobex -lreadline -lxml2 obex.c sdp.c folder.c main.c -o btftp -diff -Naur bluemaho-090417.orig/tools/sources/btftp-0.1/folder.c bluemaho-090417/tools/sources/btftp-0.1/folder.c ---- bluemaho-090417.orig/tools/sources/btftp-0.1/folder.c 2009-04-17 17:37:30.000000000 +0000 -+++ bluemaho-090417/tools/sources/btftp-0.1/folder.c 2009-05-12 13:31:26.000000000 +0000 -@@ -29,8 +29,8 @@ - #include <time.h> - #include <sys/param.h> - --#include <gnome-xml/xmlmemory.h> --#include <gnome-xml/parser.h> -+#include <libxml/xmlmemory.h> -+#include <libxml/parser.h> - - #include "goep.h" - #include "ftp.h" diff --git a/net-wireless/broadcom-firmware-downloader/Manifest b/net-wireless/broadcom-firmware-downloader/Manifest deleted file mode 100644 index 5c9b1279..00000000 --- a/net-wireless/broadcom-firmware-downloader/Manifest +++ /dev/null @@ -1,5 +0,0 @@ -DIST broadcom-wl-4.150.10.5.tar.bz2 3888794 RMD160 2a0a24aefbd0f979ce1ef6e24585bd792a88d09b SHA1 2dc21875dae79113b31d1dd16179ab3431d0f0ae SHA256 a9f4e276a4d8d3a1cd0f2eb87080ae89b77f0a7140f06d4e9e2135fc44fdd533 -DIST broadcom-wl-5.100.138.tar.bz2 13514651 RMD160 ae063717a89648c0b4e4b9aa09348e7ec9f1461c SHA1 21691a8c99c66f58d18f863ee43593d1633b454c SHA256 f1e7067aac5b62b67b8b6e4c517990277804339ac16065eb13c731ff909ae46f -DIST wl_apsta-3.130.20.0.o 652866 RMD160 504dd0cdff52b480d9871269eb9827071d85a6b2 SHA1 b1f61d283bd7d05ade313da522cb0d0ad4033652 SHA256 7dba610b1d96dd14e901bcbce14cd6ecd1b1ac6f5c0035b0d6b6dc46a7c3ef90 -EBUILD broadcom-firmware-downloader-0.1-r2.ebuild 1211 RMD160 f6ea1df2adea5eb9b68cf4e7c4b586c6c3bd57f2 SHA1 4b5b211267deb020a3416b8d5eb4385be9bbb1d8 SHA256 c65f846bea07fdd6cc431803a8e2d001dfbb2a752701dd7550484a846d40897e -EBUILD broadcom-firmware-downloader-0.2.ebuild 1205 RMD160 fe3d9afe6a72644b842e9c485e405f44971e7fae SHA1 01517fa46baac05049de965e22734546161fab2e SHA256 8bce0593353043d5c18f11ff6085f63e25134c0a1e7cbac0be3ffd200c40440a diff --git a/net-wireless/broadcom-firmware-downloader/broadcom-firmware-downloader-0.1-r2.ebuild b/net-wireless/broadcom-firmware-downloader/broadcom-firmware-downloader-0.1-r2.ebuild deleted file mode 100644 index 703f3a2e..00000000 --- a/net-wireless/broadcom-firmware-downloader/broadcom-firmware-downloader-0.1-r2.ebuild +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" - -DESCRIPTION="Closed Broadcom Commercial Firmware Downloader" -HOMEPAGE="http://linuxwireless.org/en/users/Drivers/b43" -SRC_URI="b43? ( http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2 ) - b43legacy? ( http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o )" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~x86 ~amd64" -IUSE="+b43 +b43legacy" -RESTRICT="strip" - -DEPEND="" -RDEPEND="net-wireless/b43-fwcutter" - -src_install() { - dodir /lib/firmware/broadcom-unmodified || die "failed to create dir" - insinto /lib/firmware/broadcom-unmodified - if use b43; then doins "${WORKDIR}"/broadcom-wl-4.150.10.5/driver/wl_apsta_mimo.o || die "failed to install b43 files"; fi; - if use b43legacy; then doins "${DISTDIR}"/wl_apsta-3.130.20.0.o || die "failed to install b43legacy files"; fi; - einfo "Unmolested Broadcom firmware files have been downloaded from openwrt and stored on the hdd." - einfo "No changes to the files have been made, only unmodified files have been distributed." - einfo "If the user wishes these firmware in a useful way then emerge broadcom-firmware-installer." -} diff --git a/net-wireless/broadcom-firmware-downloader/broadcom-firmware-downloader-0.2.ebuild b/net-wireless/broadcom-firmware-downloader/broadcom-firmware-downloader-0.2.ebuild deleted file mode 100644 index 3410464a..00000000 --- a/net-wireless/broadcom-firmware-downloader/broadcom-firmware-downloader-0.2.ebuild +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" - -DESCRIPTION="Closed Broadcom Commercial Firmware Downloader" -HOMEPAGE="http://linuxwireless.org/en/users/Drivers/b43" -SRC_URI="b43? ( http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2 ) - b43legacy? ( http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o )" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~x86 ~amd64" -IUSE="+b43 +b43legacy" -RESTRICT="strip" - -DEPEND="" -RDEPEND="net-wireless/b43-fwcutter" - -src_install() { - dodir /lib/firmware/broadcom-unmodified || die "failed to create dir" - insinto /lib/firmware/broadcom-unmodified - if use b43; then doins "${WORKDIR}"/broadcom-wl-5.100.138/linux/wl_apsta.o || die "failed to install b43 files"; fi; - if use b43legacy; then doins "${DISTDIR}"/wl_apsta-3.130.20.0.o || die "failed to install b43legacy files"; fi; - einfo "Unmolested Broadcom firmware files have been downloaded from openwrt and stored on the hdd." - einfo "No changes to the files have been made, only unmodified files have been distributed." - einfo "If the user wishes these firmware in a useful way then emerge broadcom-firmware-installer." -} diff --git a/net-wireless/broadcom-firmware-installer/Manifest b/net-wireless/broadcom-firmware-installer/Manifest deleted file mode 100644 index 3e354f8d..00000000 --- a/net-wireless/broadcom-firmware-installer/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -EBUILD broadcom-firmware-installer-0.1-r3.ebuild 1724 RMD160 0abc32d0dae0e07eeedd2424d97028da6237bb40 SHA1 740a4c07180b9dd0c9777487db7c4fc15638940e SHA256 61c73a090367b47c5364d6a71afa8ad14014c35354e6b8ca11297a91e9e4c116 -EBUILD broadcom-firmware-installer-0.2.ebuild 1726 RMD160 0cf422ac50be32a689b5618396f09e663fd038e0 SHA1 d366df6d7ef5b46e56c8f27283e3bed7ceadb7e2 SHA256 6a0feb9951b644a0d1d51633ef43e08ad14fb550b8c30954484715c97de5b2b1 diff --git a/net-wireless/broadcom-firmware-installer/broadcom-firmware-installer-0.1-r3.ebuild b/net-wireless/broadcom-firmware-installer/broadcom-firmware-installer-0.1-r3.ebuild deleted file mode 100644 index e87736c7..00000000 --- a/net-wireless/broadcom-firmware-installer/broadcom-firmware-installer-0.1-r3.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=2 - -DESCRIPTION="Closed Broadcom Commercial Firmware Installer" -HOMEPAGE="http://linuxwireless.org/en/users/Drivers/b43" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~x86 ~amd64" -IUSE="+b43 +b43legacy +reload" - -DEPEND="<net-wireless/broadcom-firmware-downloader-0.2[b43?,b43legacy?] - net-wireless/b43-fwcutter" -RDEPEND="" - -#add a check in src_prepare or something to check kernel versions. we don't care, but gentoo will and we like that. - -pkg_setup() { - ewarn "User action is installing the broadcom commercial firmware." - ewarn "Broadcom prohibits the distribution of firmware in a" - ewarn "usable form for Linux users." - epause 5 -} - -src_install() { - dodir /lib/firmware || die "failed to create /lib/firmware" - FIRMWARE_INSTALL_DIR="${D}/lib/firmware" - use b43 && b43-fwcutter -w "${FIRMWARE_INSTALL_DIR}" "${ROOT}"/lib/firmware/broadcom-unmodified/wl_apsta_mimo.o || die "failed to cut xxx firmware" - use b43legacy && b43-fwcutter -w "${FIRMWARE_INSTALL_DIR}" "${ROOT}"/lib/firmware/broadcom-unmodified/wl_apsta-3.130.20.0.o || die "failed to cut xxx firmware" -} - -pkg_postinst(){ - if use reload; then - isloaded() { - lsmod | grep -q "$1[^_-]" - } - isloaded b43 && modprobe -r b43 && sleep 2 && modprobe b43 - isloaded b43legacy && modprobe -r b43legacy && sleep 2 && modprobe b43legacy - - einfo "Your disgusting Broadcom now has its filthy closed source firmware. I hope you are happy." - else - einfo "You need to reload your b43* modules manually or set the reload use flag" - fi - - ewarn "Firmware has been installed and is NOT permitted to be redistributed. Just don't do it." - epause 5 -} diff --git a/net-wireless/broadcom-firmware-installer/broadcom-firmware-installer-0.2.ebuild b/net-wireless/broadcom-firmware-installer/broadcom-firmware-installer-0.2.ebuild deleted file mode 100644 index d099f282..00000000 --- a/net-wireless/broadcom-firmware-installer/broadcom-firmware-installer-0.2.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=2 - -DESCRIPTION="Closed Broadcom Commercial Firmware Installer" -HOMEPAGE="http://linuxwireless.org/en/users/Drivers/b43" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~x86 ~amd64" -IUSE="+b43 +b43legacy +reload" - -DEPEND=">=net-wireless/broadcom-firmware-downloader-0.2[b43?,b43legacy?] - >=net-wireless/b43-fwcutter-015" -RDEPEND="" - -#add a check in src_prepare or something to check kernel versions. we don't care, but gentoo will and we like that. - -pkg_setup() { - ewarn "User action is installing the broadcom commercial firmware." - ewarn "Broadcom prohibits the distribution of firmware in a" - ewarn "usable form for Linux users." - epause 5 -} - -src_install() { - dodir /lib/firmware || die "failed to create /lib/firmware" - FIRMWARE_INSTALL_DIR="${D}/lib/firmware" - use b43 && b43-fwcutter -w "${FIRMWARE_INSTALL_DIR}" "${ROOT}"/lib/firmware/broadcom-unmodified/wl_apsta.o || die "failed to cut xxx firmware" - use b43legacy && b43-fwcutter -w "${FIRMWARE_INSTALL_DIR}" "${ROOT}"/lib/firmware/broadcom-unmodified/wl_apsta-3.130.20.0.o || die "failed to cut xxx firmware" -} - -pkg_postinst(){ - if use reload; then - isloaded() { - lsmod | grep -q "$1[^_-]" - } - isloaded b43 && modprobe -r b43 && sleep 2 && modprobe b43 - isloaded b43legacy && modprobe -r b43legacy && sleep 2 && modprobe b43legacy - - einfo "Your disgusting Broadcom now has its filthy closed source firmware. I hope you are happy." - else - einfo "You need to reload your b43* modules manually or set the reload use flag" - fi - - ewarn "Firmware has been installed and is NOT permitted to be redistributed. Just don't do it." - epause 5 -} diff --git a/net-wireless/broadcom-sta/Manifest b/net-wireless/broadcom-sta/Manifest deleted file mode 100644 index 2d61f9d6..00000000 --- a/net-wireless/broadcom-sta/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST bcmwl-kernel-source_6.30.223.30%2Bbdcom-0ubuntu1%7Eppa1_amd64.deb 1779122 SHA256 de6529ae67f339aee185be93e3c12ffa944ef6b4807d176d6fda661de52136ba SHA512 93b17029538ec17be61902f1e5237a300f532dc88fd7475ac202c249a9cec099c5d170b0ebc043e1bda1987f6f925b6a28d4aa80748218f735a3790ded0565cd WHIRLPOOL 47f54a2fc286e58adef1383496fe3e65430ef643d8e7b8830cb87c0558319780f71944296211c62ccccaa4e3a216019fc5a29dd48903240362c656bb79ae55c2 -DIST bcmwl-kernel-source_6.30.223.30%2Bbdcom-0ubuntu1%7Eppa1_i386.deb 1732452 SHA256 d689040ac2ef67b9947f892b52764cd94c2090499747b57d63c2b40c7bc8eabb SHA512 323db5e6c8fc702990d7137bd11d2e8bba7ed073ee8da00125d147872edf90dd051a959198dbdaf92808403cdcfd582f17afb8a6f5e741382d3a0cffd6ce130a WHIRLPOOL db24f078e2639f609021028304e7caf48b9a3737b6fdf4b2522ab74606c6cb0b11a94706978b1fd1acdf66c59e351a4a433cf9e500862931a1e9dce6e5562c01 diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r1.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r1.ebuild deleted file mode 100644 index 89951738..00000000 --- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r1.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r1.ebuild,v 1.2 2013/05/12 10:45:38 pinkbyte Exp $ - -EAPI="5" -inherit eutils linux-info linux-mod unpacker - -DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver." -HOMEPAGE="https://launchpad.net/ubuntu/+source/bcmwl http://www.broadcom.com/support/802.11/linux_sta.php" -BASE_URI="https://launchpad.net/~albertomilone/+archive/broadcom/+files" -BASE_NAME="bcmwl-kernel-source_${PV}%2Bbdcom-0ubuntu1%7Eppa1_" -SRC_URI="amd64? ( ${BASE_URI}/${BASE_NAME}amd64.deb ) - x86? ( ${BASE_URI}/${BASE_NAME}i386.deb )" - -LICENSE="Broadcom" -KEYWORDS="-* ~amd64 ~x86" - -RESTRICT="mirror" - -DEPEND="virtual/linux-sources" -RDEPEND="" - -#S="${WORKDIR}" -S="${WORKDIR}/usr/src/bcmwl-${PV}+bdcom" - -MODULE_NAMES="wl(net/wireless)" -MODULESD_WL_ALIASES=("wlan0 wl") - -pkg_setup() { - # bug #300570 - # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled - # make checks non-fatal. The correct fix is blackisting ssb and, perhaps - # b43 via udev rules. Moreover, previous fix broke binpkgs support. - CONFIG_CHECK="~!B43 ~!SSB" - CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP" - ERROR_B43="B43: If you insist on building this, you must blacklist it!" - ERROR_SSB="SSB: If you insist on building this, you must blacklist it!" - ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice." - ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!" - ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else." - ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA." - if kernel_is ge 3 8 8; then - CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU" - elif kernel_is ge 2 6 32; then - CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211" - elif kernel_is ge 2 6 31; then - CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211" - elif kernel_is ge 2 6 29; then - CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS" - else - CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP" - fi - - linux-mod_pkg_setup - - BUILD_PARAMS="-C ${KV_DIR} M=${S}" - BUILD_TARGETS="wl.ko" -} - -src_unpack() { - local arch_suffix - if use amd64; then - arch_suffix="amd64" - else - arch_suffix="i386" - fi - unpack_deb "${BASE_NAME}${arch_suffix}.deb" -} - -src_prepare() { -# Filter the outdated patches here - EPATCH_FORCE="yes" EPATCH_EXCLUDE="0002* 0004* 0005*" EPATCH_SOURCE="${S}/patches" EPATCH_SUFFIX=patch epatch -# Makefile.patch: keep `emake install` working -# linux-3.9.0.patch: add support for kernel 3.9.0 - epatch "${FILESDIR}/${P}-makefile.patch" \ - "${FILESDIR}/${P}-linux-3.9.0.patch" \ - "${FILESDIR}/${P}-linux-3.10.0.patch" - mv "${S}/lib/wlc_hybrid.o_shipped_"* "${S}/lib/wlc_hybrid.o_shipped" \ - || die "Where is the blob?" - - epatch_user -} diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r2.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r2.ebuild deleted file mode 100644 index 89951738..00000000 --- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r2.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r1.ebuild,v 1.2 2013/05/12 10:45:38 pinkbyte Exp $ - -EAPI="5" -inherit eutils linux-info linux-mod unpacker - -DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver." -HOMEPAGE="https://launchpad.net/ubuntu/+source/bcmwl http://www.broadcom.com/support/802.11/linux_sta.php" -BASE_URI="https://launchpad.net/~albertomilone/+archive/broadcom/+files" -BASE_NAME="bcmwl-kernel-source_${PV}%2Bbdcom-0ubuntu1%7Eppa1_" -SRC_URI="amd64? ( ${BASE_URI}/${BASE_NAME}amd64.deb ) - x86? ( ${BASE_URI}/${BASE_NAME}i386.deb )" - -LICENSE="Broadcom" -KEYWORDS="-* ~amd64 ~x86" - -RESTRICT="mirror" - -DEPEND="virtual/linux-sources" -RDEPEND="" - -#S="${WORKDIR}" -S="${WORKDIR}/usr/src/bcmwl-${PV}+bdcom" - -MODULE_NAMES="wl(net/wireless)" -MODULESD_WL_ALIASES=("wlan0 wl") - -pkg_setup() { - # bug #300570 - # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled - # make checks non-fatal. The correct fix is blackisting ssb and, perhaps - # b43 via udev rules. Moreover, previous fix broke binpkgs support. - CONFIG_CHECK="~!B43 ~!SSB" - CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP" - ERROR_B43="B43: If you insist on building this, you must blacklist it!" - ERROR_SSB="SSB: If you insist on building this, you must blacklist it!" - ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice." - ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!" - ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else." - ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA." - if kernel_is ge 3 8 8; then - CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU" - elif kernel_is ge 2 6 32; then - CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211" - elif kernel_is ge 2 6 31; then - CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211" - elif kernel_is ge 2 6 29; then - CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS" - else - CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP" - fi - - linux-mod_pkg_setup - - BUILD_PARAMS="-C ${KV_DIR} M=${S}" - BUILD_TARGETS="wl.ko" -} - -src_unpack() { - local arch_suffix - if use amd64; then - arch_suffix="amd64" - else - arch_suffix="i386" - fi - unpack_deb "${BASE_NAME}${arch_suffix}.deb" -} - -src_prepare() { -# Filter the outdated patches here - EPATCH_FORCE="yes" EPATCH_EXCLUDE="0002* 0004* 0005*" EPATCH_SOURCE="${S}/patches" EPATCH_SUFFIX=patch epatch -# Makefile.patch: keep `emake install` working -# linux-3.9.0.patch: add support for kernel 3.9.0 - epatch "${FILESDIR}/${P}-makefile.patch" \ - "${FILESDIR}/${P}-linux-3.9.0.patch" \ - "${FILESDIR}/${P}-linux-3.10.0.patch" - mv "${S}/lib/wlc_hybrid.o_shipped_"* "${S}/lib/wlc_hybrid.o_shipped" \ - || die "Where is the blob?" - - epatch_user -} diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.10.0.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.10.0.patch deleted file mode 100644 index c575f289..00000000 --- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.10.0.patch +++ /dev/null @@ -1,102 +0,0 @@ -diff -Naur bcmwl-6.30.223.30+bdcom.orig/src/src/wl/sys/wl_linux.c bcmwl-6.30.223.30+bdcom/src/src/wl/sys/wl_linux.c ---- bcmwl-6.30.223.30+bdcom.orig/src/src/wl/sys/wl_linux.c 2013-04-23 12:31:31.011588881 +0200 -+++ bcmwl-6.30.223.30+bdcom/src/src/wl/sys/wl_linux.c 2013-05-20 18:27:18.830187333 +0200 -@@ -3229,7 +3229,12 @@ - wl_tkip_printstats(wl_info_t *wl, bool group_key) - { - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) -+ struct seq_file sfile; -+ struct seq_file *debug_buf = &sfile; -+#else - char debug_buf[512]; -+#endif - int idx; - if (wl->tkipmodops) { - if (group_key) { -@@ -3242,7 +3247,11 @@ - wl->tkipmodops->print_stats(debug_buf, wl->tkip_ucast_data); - else - return; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) -+ printk("%s: TKIP stats from module: %s\n", debug_buf->buf, group_key?"Bcast":"Ucast"); -+#else - printk("%s: TKIP stats from module: %s\n", debug_buf, group_key?"Bcast":"Ucast"); -+#endif - } - #endif - } -@@ -3401,17 +3410,24 @@ - return 0; - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - static int - wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, void *data) -+#else -+static ssize_t -+wl_proc_read (struct file *filp, char __user *buffer, size_t length, loff_t *data) -+#endif - { - wl_info_t * wl = (wl_info_t *)data; - int bcmerror, to_user; - int len; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - if (offset > 0) { - *eof = 1; - return 0; - } -+#endif - - if (!length) { - WL_ERROR(("%s: Not enough return buf space\n", __FUNCTION__)); -@@ -3424,8 +3440,13 @@ - return len; - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - static int - wl_proc_write(struct file *filp, const char *buff, unsigned long length, void *data) -+#else -+static ssize_t -+wl_proc_write (struct file *filp, const char __user *buff, size_t length, loff_t *data) -+#endif - { - wl_info_t * wl = (wl_info_t *)data; - int from_user = 0; -@@ -3455,19 +3476,34 @@ - return length; - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) -+static const struct file_operations wl_fops = { -+ .owner = THIS_MODULE, -+ .read = wl_proc_read, -+ .write = wl_proc_write, -+}; -+#endif -+ - static int - wl_reg_proc_entry(wl_info_t *wl) - { - char tmp[32]; - sprintf(tmp, "%s%d", HYBRID_PROC, wl->pub->unit); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - if ((wl->proc_entry = create_proc_entry(tmp, 0644, NULL)) == NULL) { - WL_ERROR(("%s: create_proc_entry %s failed\n", __FUNCTION__, tmp)); -+#else -+ if ((wl->proc_entry = proc_create(tmp, 0644, NULL, &wl_fops)) == NULL) { -+ WL_ERROR(("%s: proc_create %s failed\n", __FUNCTION__, tmp)); -+#endif - ASSERT(0); - return -1; - } -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - wl->proc_entry->read_proc = wl_proc_read; - wl->proc_entry->write_proc = wl_proc_write; - wl->proc_entry->data = wl; -+#endif - return 0; - } - #ifdef WLOFFLD diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.9.0.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.9.0.patch deleted file mode 100644 index a6e3d3d1..00000000 --- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.9.0.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- src.orig/wl/sys/wl_cfg80211_hybrid.c -+++ src/wl/sys/wl_cfg80211_hybrid.c -@@ -2013,8 +2013,12 @@ - ie_len = (size_t)(ies->len); - rcu_read_unlock(); - #endif -- cfg80211_put_bss(bss); -- } -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0) -+ cfg80211_put_bss(bss); -+#else -+ cfg80211_put_bss(wl_to_wiphy(wl), bss); -+#endif -+ } - - tim = bcm_parse_tlvs(ie, ie_len, WLAN_EID_TIM); - if (tim) { diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-makefile.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-makefile.patch deleted file mode 100644 index 09c495d2..00000000 --- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-makefile.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- Makefile.old 2013-04-28 22:42:59.000000000 +0200 -+++ Makefile 2013-04-28 22:45:53.000000000 +0200 -@@ -128,9 +128,9 @@ - - EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_shipped - --KBASE ?= /lib/modules/`uname -r` -+KBASE ?= /lib/modules/${KV_FULL} - KBUILD_DIR ?= $(KBASE)/build --MDEST_DIR ?= $(KBASE)/kernel/drivers/net/wireless -+MDEST_DIR ?= ${D}$(KBASE)/kernel/drivers/net/wireless - - all: - KBUILD_NOPEDANTIC=1 make -C $(KBUILD_DIR) M=`pwd` diff --git a/net-wireless/broadcom-sta/metadata.xml b/net-wireless/broadcom-sta/metadata.xml deleted file mode 100644 index 0a0d344a..00000000 --- a/net-wireless/broadcom-sta/metadata.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> -<maintainer> -<email>matsuu@gentoo.org</email> -</maintainer> -</pkgmetadata> - diff --git a/net-wireless/compat-wireless-builder/Manifest b/net-wireless/compat-wireless-builder/Manifest deleted file mode 100644 index ed4f0b92..00000000 --- a/net-wireless/compat-wireless-builder/Manifest +++ /dev/null @@ -1,50 +0,0 @@ -AUX 0001-ath5k-retain-promiscuous-setting.patch 1638 RMD160 4773f57d068f13c8aaa945ce849033e75fb9cde1 SHA1 eed362eecf29bdc9a2333348514956f5ae36ab48 SHA256 c125640e535c9add6422435f72f136f9d4eac4d3655598dccc9b6f2214a3a507 -AUX 4000_mac80211_2.6.28-rc4-wl_frag+ack_v3.patch 1063 RMD160 0b8d08feefbf0de9d532c73066fda755ffeaf6f9 SHA1 0eea3b55ed7cb436a1464d35345d329cc47a0137 SHA256 4ae0d3926ed563cb961df0d3236b321ad86698843a2a6df26476657c5e20dac0 -AUX 4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch 559 RMD160 f6fb33ff15e989e280f5a6f230f88a36a0284e3e SHA1 ef5fb0bc41a6a169d82a8c04eae07e94df68b807 SHA256 2c9222e0c6aaafabac091766c7e0a71442f0e9521ec1c65fc7024fbca60a3354 -AUX 4004_zd1211rw-2.6.28.patch 1412 RMD160 70c7cd8a8e03199b33c76ff16974d4a4980b846f SHA1 0bf4c9df519246ffbee94b7ffeb454b2408b8dfb SHA256 6696295acb2a8d12a33208525cba9ce8bd2971c9c0adaabb31debfa9ec15c7be -AUX 4005_ath5k-frequency-expansion-2.6.30.patch 4838 RMD160 e175138fd025ef0750178146c0c038c1664557bb SHA1 99322fe5cdf1a8ded58f65267503fddc90c934be SHA256 563a1644c51804d6014be54a7ce26cd4db70991a4b75c4b66370ea9136d40467 -AUX 4007_ath5k-pass-failed-crc.patch 568 RMD160 1f38abc77887fc23b5f09b1ddd7e4159ab190e91 SHA1 22ecfbd59b4e7f1038ac9415003e182cddae8df2 SHA256 12e8549aa3fd85d83fc7c80ab2dbd4ed5a22ae446af6979bfbdd4a3c2d4e9fe6 -AUX 4012_openwrt-b43-disable_qos_when_openfw.patch 721 RMD160 cd67c2425cd5b29f637781652a49a951a9ffda21 SHA1 382947ee332836c43c4eeb32eb8358b88e18fd22 SHA256 f03374faa0d41a5dca7e20079d7a7bd59aebd309b56aa6c7f7108b596d3f0da2 -AUX 4013-runtime-enable-disable-of-mac80211-packet-injection.patch 1490 RMD160 53c728303c77b2ffd93917bceaaad6a38ee80236 SHA1 3b6aa934cf4c09deb8e93fcb08b10bfb1f6bdbb9 SHA256 88f997a54768feeb40a9f985e412e90e9fda2491f32cf6b078eb2a0a9f81e785 -AUX 4099-2.6.32-rc7-mac80211-security-fixes.patch 5951 RMD160 fb07610df222a12f81e66b4e69f35737ccf8003c SHA1 089a6ab27f14db15ce3b9280bd173f2cba124406 SHA256 61d0c5e5681f0fb20cf65925b49eeebf34d3b026906e052c086f1f17147a9359 -AUX WEXT-EXT-nuts.patch 3150 RMD160 a89ceb7e6f34e4b2be1b8c35ed8ed141c20a2f20 SHA1 d71520c21765fcec6f710970df40e1091d2feb75 SHA256 be6a5f2746ff6cf5963e95b1c7a895cc343c930de22a47e41b4ed0d24a60a6f0 -AUX ath9k_htc_ethtool_driver.patch 1242 RMD160 49838be1d386765166b357be2a3ac59746a4c850 SHA1 16cb804d64ce0ec21b509052bbd7004554147657 SHA256 b27463b3f6cfe64e6b09835e1a06bc3ae83207f6800710ff0c461a6bef363460 -AUX ath_ignore_eeprom.patch 2096 RMD160 87f268cfcf06115464b64377e5dd05bfc467203d SHA1 ffb607d19a8622f0a9ea11ee09269f0af2a1ea28 SHA256 def6985a8c1486bfe78c8cf72333f620d88730fc1c3116d016a03725a6ba2226 -AUX ath_regd_optional.patch 906 RMD160 5e5abcc041e1830b6aabef27d5cb83f99f6d8130 SHA1 e42973161cbde89cccdd04408c83b3cc5918202a SHA256 ebf117d071363e854505c18aef8c9af2652fd4a7b9cc5efe961cf5efb410dbd7 -AUX blinky.patch 357 RMD160 6c93e916efc56412f316076e836c1c5d98e58047 SHA1 e23568801309cdf2a01fa5be8cd3b9a3fcff5edd SHA256 1c2f0e18ecbcf2c07ba732671e77408326d2566d260f0252002c5698f9e65e30 -AUX channel-negative-one-maxim.patch 1021 RMD160 39a56a0fdc4c5932e507985c5a213b703ff8df7c SHA1 a611acdd7994b07b0b39417ef7a5a6ffc866a733 SHA256 19f7fc0753636c32026e444e23bd101bd21cfeb59661284678bf157dc35212f2 -AUX compat-chaos.patch 6187 RMD160 2b8477fbf8b8bde456c5c32a8146330232ae355f SHA1 7bd56bcb3c50eb6f22be7ec24b886ae70bf747cd SHA256 5e8c11b46bc8acf10a2ce8b934fec32662b57c003c99e5e0ca4717a8c6b19474 -AUX compat-sched.patch 286 RMD160 872abfe4be5a292e880a658d0cea7260897ad26e SHA1 18ee1ac6c838bfbf48a2124e701e780e2bb54c87 SHA256 675e1f877f076f7941dc89248a99b01508cf8a05255bd5a2e2a46c71b148f73e -AUX driver-debug.patch 2801 RMD160 9f060be68ffa41d7db4c6dd2c46eaa7326f9b16d SHA1 fcde4a43b165d4dda201663c107c23e8db3afd43 SHA256 06a37359ac7129a6f7db2f4e7f72d67c1f7014fd0adf439a89d119415a4316c2 -AUX failed_ath5k-frequency-chaos-2.6.28.patch 5787 RMD160 978b39113ebdc4ec1543bd4379d4428431524cb6 SHA1 a1b9268aedeb0d9035fd13214fe465145f1c5334 SHA256 8e9e0888e890a2970274a7ba9d40d75e01ebaedb0e16700d8994b9ecfe921185 -AUX failed_ieee80211_inject-2.6.22.patch 772 RMD160 ff6f70125009e3cd151ad12d8c2f1aa9333f5556 SHA1 8a1773b86a2742a4ae63f61dda48231b10b591bf SHA256 7403780cd3df720439f54b6cad88a803aacc0260af8fbbab0cfa25e523ae2ae9 -AUX failed_linux-wlanng-kernel-2.6.28.patch 11623 RMD160 23d11bb21ba059b7a0d7a2c597e5ae8224670dde SHA1 8d8d11912160dd8b38b805c928ea746ff9192ba8 SHA256 fd4bd200617c5f28e3a0ae58e5fa02f80279ad98aafed6c2e3d5b249a9b617c6 -AUX failed_openembedded-orinoco-remove-all-which-are-in-hostap-HACK.patch 6606 RMD160 e479eb0e796aec521e2269d50e9ccc4426e1da55 SHA1 c76220bb8f3a118a224e555517b7e111603da47e SHA256 6b761693587871591fc0ce96273d37f769f61d28f637c1692d931300c4f04504 -AUX fix-typos-2.6.35_rc2.patch 704 RMD160 2d55dc2ddb46c8f2cb02b9d0e50efc6b7c6e626a SHA1 6c95de6b6c9c4275f1a89f295bbb78d4de34fb54 SHA256 8319c6e70cf5c7a9d6b43a0bd7699c67504584ddc1d6d70ba4bf87625d2bb1b2 -AUX fix-typos-2.6.36_rc5.patch 479 RMD160 96a03226c94134502766970b1272cee6e8c7a533 SHA1 c5f3e8a33048a41544d4ebba29294553aa60855f SHA256 8496796f97cd3074935623c59e155333164588f24556ab7c45bf3a3f71d20bb9 -AUX force-enable-new-ralink-2.6.38_rc3.patch 769 RMD160 1b73345479e4d36f1305fd8f82c7d89121f2c8a1 SHA1 a1a5e2905429f38cf5e23b3c3ec6ffafbb1c59eb SHA256 fcc7fa9a0f94776b263ac2215f7eb67c943840650a631dd9ca0171adce63dd74 -AUX force-enable-new-ralink-pci-2.6.36-rc5.patch 529 RMD160 f6d76a1db48cc227843fe1acf2e7b71121980f6d SHA1 15a43e4d69e4d317cc44ae5c29006b8946091111 SHA256 ed23620a9682c8023d5095007cdc0f7e2602e8d5e580faf446ad9189300ca17e -AUX force-enable-new-ralink-pci.patch 371 RMD160 33206cfd78ff0c1e2694c7236915f4d74fd2875f SHA1 b6dd5ad0802c6186eca2b3da2e4afe3baea79456 SHA256 5ca2668bd930d2bba7eedbd78f2d538bf1a2ba3c8e1deb60af77580e66078a47 -AUX force-enable-new-ralink.patch 558 RMD160 4cc8c5d09d49fcc831b4895d05ec6a14d5e16e22 SHA1 d3cc6b53ac5ef6644702d0ae227ac67a4832d075 SHA256 b6a411562c8c0964d36817f4d276a8db2c3169d6044b648650eb8b742c2dc898 -AUX ipw2200-inject.2.6.36.patch 4139 RMD160 caac7cdd786c6779d136be13181cab0b845f392d SHA1 0cccb21cb5794c74e48d3354ca41eb2b8ae6dce6 SHA256 a23d46ba2183eca15b2afc9f88b1570589f51d67488cea5f514d534e218d6570 -AUX iwlwifi-5000-exp-firmware.patch 475 RMD160 939e0bdc5245cbe9a126bdda00024b507286fcc1 SHA1 61fa5d19079bac708ac29efc1ede9420ec6b651b SHA256 7e486f5d28cfaa50a98d486f6456c11bebae25f9dd7fd4b09fc8e9b12517efff -AUX johill-negone-paul.patch 2987 RMD160 e5251606a8cfbbc639f71a20ea5ded98360f9804 SHA1 90283aaa5e7b99845dc694940ed70fecebb3b123 SHA256 0bcc6aaf343f3faaad09da3abdbf4308985dfc084c4213d8acc32dd1c52aab29 -AUX johill-negone.patch 2972 RMD160 3b9055db9632483c2a6b940210718d6442e86dc9 SHA1 6af2da5949f6e425dd62f7a36019cdfaebff69fd SHA256 8acad1b386c6c849938a62a4d0216f8960f932ed3298a0f33739be39dce9fdc5 -AUX led-oops.patch 733 RMD160 50dc59a8893e7d77cf41653d8d39e5255dae8273 SHA1 9875b139e4111eb137cd1b43e3b68c85eb8915f5 SHA256 381f52b08f1b4c268fcc4ad88b0059d27b438bdab6acd4d54c882cc2505c99b9 -AUX leds-disable-strict.patch 1614 RMD160 9b256283c9e278426d218a99d59ec4d7c68fa426 SHA1 865a1d0221da08ae80dd014247292558a98a392e SHA256 58170c088e6d4d78be497d3efe808252df75d660b4ae1fa370d3bbd9ee6299f2 -AUX leds-disable.patch 1232 RMD160 5d82d47828e01462312ba3dd9cdc71564dc05f9a SHA1 1ca99516a1a6d92c7c45de6e5c5afefdacaa8c27 SHA256 55080ec9838b3eac1c06bb0b360374fa8170266ba0d85ceb1a88c7caef97ace0 -AUX linville-aircrack-ng.patch 1806 RMD160 d644d404cca4498e7ee1f0d70eb3d46f8a0cfeab SHA1 866718a4cbfaf052ba2c8ed34c1baf30eb2c1dd7 SHA256 d806d9eb1a402915fcf0daebc359902ea0ffbfc2303e2e77d38df2f2d8da215f -AUX mac80211.compat08082009.wl_frag+ack_v1.patch 1049 RMD160 e864ee2e0c70ce344000baa8ee5fca3b23c3305a SHA1 85f7a1b141549b774f5631fba259bc414aeeffb8 SHA256 e04ed9997e1578cc1becd4ef9d9f2f6f606590aa91a56e42835963913e1b0f52 -AUX make-make.patch 500 RMD160 db6640b13120dc8fd46a3691aa046820af0a3f78 SHA1 bb4084ac7d74e8ecfffdd5301afe4e10d4720372 SHA256 b0fb357e356e655974dd2652c311f53d6ae32a096f0c7f96e61482a7f5acd7aa -AUX orinoco-remove-all-which-are-in-hostap-OFFICIAL.patch 12945 RMD160 a9453bfccd20520dc592275b4dd90fe681f272fa SHA1 f032aa4c51360ba793d2a8bf5a393bbfe33b94fa SHA256 38705e63f5034052d48c50a29d5a8bf114a692ce6e76a53b73371180d0e0f14b -AUX reinette-test2.patch 1460 RMD160 a38149b45787ad313a30716349c7e3c4590f5b69 SHA1 dd9e57593fb8955a8126478f4db430aa4f51800d SHA256 1de6d6ed109c4c9c23758c7eb02aeac2844f680cfc3c1e568c53f366cd3f4727 -AUX rtl8187-mac80211-injection-speed-2.6.30-rc3.patch 1179 RMD160 e06fc37c08ce457ebeef7a7eaae8a05fb8aa7513 SHA1 77281c04d0e451860f27d0f621955a77b5e133d6 SHA256 bf6846089eb3d8cf7ebe119b4ffd1c32f7075a98d403fc8f96a5b49017c385b6 -AUX super_secret_patch.diff 13499 RMD160 74c96addab52a869141e0791942357efbc230265 SHA1 49b8c23bd887bbb7656cd2146dba8fdbaac7d5fe SHA256 f4bd054b3348e98700e4481f50a1d809f2d2c89bfd24419b4d17e01bf6a0168e -AUX ubnt-wifi-station-ext2.patch 1006 RMD160 986218c0099e2ea95347391cd09c69ad51fa0d5c SHA1 1e63718cfb7041dadba3500663a6cb7c9ac022f1 SHA256 c0ebdd30b5ef141e39977fd529a4bd3e6062b20984c0eb53836fa4b0fb6f4b1e -AUX whynot-2.6.31.patch 4272 RMD160 74ec1c66cfb376cf2c83401aa3edcdbfdd019438 SHA1 18f5680625ad68ebba773c8f39a04edf6456e2f2 SHA256 a1839efde553fb6c78b7121f94a3dc5401c146f9ff3e017e61de1b0298f4b371 -AUX whynot-2.6.32.patch 666 RMD160 fcca9ac8d2152bebe51643a4250dffed383aae68 SHA1 5d7261437f5c98758f13c6c3f8a5676769b05013 SHA256 07cfc03d0ad5c47bec08d320afa63c79c0e6be9109dcf42b9811aad10bdc9c63 -AUX whynot.patch 4106 RMD160 ac38e8dbbe1a59607fe16b36f327a9ba73a001e7 SHA1 2208598c9f9811d368db099c863be2a2af11681e SHA256 956cf3a0a8b8e1f0f0e3df985e351799f325a44e4cddf042d677a9e8109b7c9e -AUX wl1251-inject-2.6.37.patch 47143 RMD160 35cfb086e93ce041fa6d9a698c7e630013ca666c SHA1 526dfe86d2002dd0a2868f5793fc982bd677a340 SHA256 04660a1f7fb241aafeb7fba3a7791cc31fd74efa75fa73616b3abe6b39f89b36 -EBUILD compat-wireless-builder-3.3.6.ebuild 8113 RMD160 9cfa175372f4beea1055669639cec2cc53ee2fbc SHA1 12456a1a4c7ff807e3ca01323088ed7866061ae0 SHA256 0367b062bed074f066053f73244d55c7ad7b8fc1bcc14c2587c64416615339a7 -EBUILD compat-wireless-builder-3.4_rc3.ebuild 8115 RMD160 725faeef7ad458e24f9d4547152df2a93af85acc SHA1 70555c5929626726fea3b4829ce578dff41acffd SHA256 a6c70093e7a02e0698d07fcfe5e88380ae70193a6b0c827ec3dc53246b5e2ba3 -EBUILD compat-wireless-builder-3.4_rc7.ebuild 8115 RMD160 725faeef7ad458e24f9d4547152df2a93af85acc SHA1 70555c5929626726fea3b4829ce578dff41acffd SHA256 a6c70093e7a02e0698d07fcfe5e88380ae70193a6b0c827ec3dc53246b5e2ba3 diff --git a/net-wireless/compat-wireless-builder/compat-wireless-builder-3.3.6.ebuild b/net-wireless/compat-wireless-builder/compat-wireless-builder-3.3.6.ebuild deleted file mode 100644 index 0ed43597..00000000 --- a/net-wireless/compat-wireless-builder/compat-wireless-builder-3.3.6.ebuild +++ /dev/null @@ -1,217 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit git-2 linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} -MY_PV=v${PV/_rc/-rc} -MY_PVS=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="2" -#SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PVS}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm x86" -IUSE="+apply_cherrypicks +apply_crap +apply_stable apply_pending atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules +tarball noleds" - -DEPEND="!net-wireless/compat-wireless - apply_stable? ( dev-util/quilt )" -RDEPEND="${DEPEND} - livecd? ( =sys-kernel/linux-firmware-99999999 ) - !livecd? ( >=sys-kernel/linux-firmware-20110709 ) - sys-fs/udev" - -#S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -S="${WORKDIR}/compat-wireless" -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_unpack() { - EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git" - EGIT_SOURCEDIR="${WORKDIR}/allstable" - EGIT_COMMIT="refs/tags/${MY_PV}" - git-2_src_unpack - unset EGIT_DIR - unset EGIT_COMMIT - - EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git" - EGIT_SOURCEDIR="${WORKDIR}/linux-next" - git-2_src_unpack - unset EGIT_DIR - - EGIT_REPO_URI="git://github.com/mcgrof/compat.git" - EGIT_SOURCEDIR="${WORKDIR}/compat" - EGIT_BRANCH="linux-$(get_version_component_range 1).$(get_version_component_range 2).y" - git-2_src_unpack - unset EGIT_DIR - unset EGIT_BRANCH - - EGIT_REPO_URI="git://github.com/mcgrof/compat-wireless.git" - EGIT_SOURCEDIR="${WORKDIR}/compat-wireless" - EGIT_BRANCH="linux-$(get_version_component_range 1).$(get_version_component_range 2).y" - git-2_src_unpack - unset EGIT_DIR - unset EGIT_BRANCH -} - -src_prepare() { - use apply_cherrypicks && apply="${apply} -n" - use apply_pending && apply="${apply} -p" - use apply_stable && apply="${apply} -s" - use apply_crap && apply="${apply} -c" - - #CAUTION: on this line GIT_TREE asks for linux-next but wants stable - GIT_TREE="${WORKDIR}/allstable" GIT_COMPAT_TREE="${WORKDIR}/compat" NEXT_TREE="${WORKDIR}/linux-next" scripts/admin-update.sh -s refresh || die - #CAUTION: but on this line GIT_TREE wants stable - GIT_TREE="${WORKDIR}/allstable" GIT_COMPAT_TREE="${WORKDIR}/compat" NEXT_TREE="${WORKDIR}/linux-next" scripts/admin-update.sh${apply} || die - - if use tarball; then - rm -rf .git/ - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build clean - find ./ -type f -name *.orig | xargs rm -f - find ./ -type f -name *.rej | xargs rm -f - use apply_cherrypicks && applied="${applied}n" - use apply_pending && applied="${applied}p" - #use apply_stable && applied="${applied}s" - use apply_crap && applied="${applied}c" - if [ "${applied}" ]; then - applied="-${applied}" - fi - tar -Jcf "${WORKDIR}"/${P}${applied}.tar.xz "${WORKDIR}/compat-wireless/" || die - fi - - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - if use tarball; then - insinto /usr/share/${PN} - doins "${WORKDIR}"/${P}${applied}.tar.xz - fi - - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - einfo "Attempting to unload modules..." - /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" - einfo "Triggering automatic reload of needed modules..." - /sbin/udevadm trigger - einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." - einfo "If you experience any issues reboot is the simplest course of action." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless-builder/compat-wireless-builder-3.4_rc3.ebuild b/net-wireless/compat-wireless-builder/compat-wireless-builder-3.4_rc3.ebuild deleted file mode 100644 index 01fd1604..00000000 --- a/net-wireless/compat-wireless-builder/compat-wireless-builder-3.4_rc3.ebuild +++ /dev/null @@ -1,217 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit git-2 linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} -MY_PV=v${PV/_rc/-rc} -MY_PVS=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="2" -#SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PVS}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="+apply_cherrypicks +apply_crap +apply_stable apply_pending atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules +tarball noleds" - -DEPEND="!net-wireless/compat-wireless - apply_stable? ( dev-util/quilt )" -RDEPEND="${DEPEND} - livecd? ( =sys-kernel/linux-firmware-99999999 ) - !livecd? ( >=sys-kernel/linux-firmware-20110709 ) - sys-fs/udev" - -#S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -S="${WORKDIR}/compat-wireless" -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_unpack() { - EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git" - EGIT_SOURCEDIR="${WORKDIR}/allstable" - EGIT_COMMIT="refs/tags/${MY_PV}" - git-2_src_unpack - unset EGIT_DIR - unset EGIT_COMMIT - - EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git" - EGIT_SOURCEDIR="${WORKDIR}/linux-next" - git-2_src_unpack - unset EGIT_DIR - - EGIT_REPO_URI="git://github.com/mcgrof/compat.git" - EGIT_SOURCEDIR="${WORKDIR}/compat" - EGIT_BRANCH="linux-$(get_version_component_range 1).$(get_version_component_range 2).y" - git-2_src_unpack - unset EGIT_DIR - unset EGIT_BRANCH - - EGIT_REPO_URI="git://github.com/mcgrof/compat-wireless.git" - EGIT_SOURCEDIR="${WORKDIR}/compat-wireless" - EGIT_BRANCH="linux-$(get_version_component_range 1).$(get_version_component_range 2).y" - git-2_src_unpack - unset EGIT_DIR - unset EGIT_BRANCH -} - -src_prepare() { - use apply_cherrypicks && apply="${apply} -n" - use apply_pending && apply="${apply} -p" - use apply_stable && apply="${apply} -s" - use apply_crap && apply="${apply} -c" - - #CAUTION: on this line GIT_TREE asks for linux-next but wants stable - GIT_TREE="${WORKDIR}/allstable" GIT_COMPAT_TREE="${WORKDIR}/compat" NEXT_TREE="${WORKDIR}/linux-next" scripts/admin-update.sh -s refresh || die - #CAUTION: but on this line GIT_TREE wants stable - GIT_TREE="${WORKDIR}/allstable" GIT_COMPAT_TREE="${WORKDIR}/compat" NEXT_TREE="${WORKDIR}/linux-next" scripts/admin-update.sh${apply} || die - - if use tarball; then - rm -rf .git/ - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build clean - find ./ -type f -name *.orig | xargs rm -f - find ./ -type f -name *.rej | xargs rm -f - use apply_cherrypicks && applied="${applied}n" - use apply_pending && applied="${applied}p" - #use apply_stable && applied="${applied}s" - use apply_crap && applied="${applied}c" - if [ "${applied}" ]; then - applied="-${applied}" - fi - tar -Jcf "${WORKDIR}"/${P}${applied}.tar.xz "${WORKDIR}/compat-wireless/" || die - fi - - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - if use tarball; then - insinto /usr/share/${PN} - doins "${WORKDIR}"/${P}${applied}.tar.xz - fi - - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - einfo "Attempting to unload modules..." - /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" - einfo "Triggering automatic reload of needed modules..." - /sbin/udevadm trigger - einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." - einfo "If you experience any issues reboot is the simplest course of action." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless-builder/compat-wireless-builder-3.4_rc7.ebuild b/net-wireless/compat-wireless-builder/compat-wireless-builder-3.4_rc7.ebuild deleted file mode 100644 index 01fd1604..00000000 --- a/net-wireless/compat-wireless-builder/compat-wireless-builder-3.4_rc7.ebuild +++ /dev/null @@ -1,217 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit git-2 linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} -MY_PV=v${PV/_rc/-rc} -MY_PVS=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="2" -#SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PVS}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="+apply_cherrypicks +apply_crap +apply_stable apply_pending atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules +tarball noleds" - -DEPEND="!net-wireless/compat-wireless - apply_stable? ( dev-util/quilt )" -RDEPEND="${DEPEND} - livecd? ( =sys-kernel/linux-firmware-99999999 ) - !livecd? ( >=sys-kernel/linux-firmware-20110709 ) - sys-fs/udev" - -#S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -S="${WORKDIR}/compat-wireless" -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_unpack() { - EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git" - EGIT_SOURCEDIR="${WORKDIR}/allstable" - EGIT_COMMIT="refs/tags/${MY_PV}" - git-2_src_unpack - unset EGIT_DIR - unset EGIT_COMMIT - - EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git" - EGIT_SOURCEDIR="${WORKDIR}/linux-next" - git-2_src_unpack - unset EGIT_DIR - - EGIT_REPO_URI="git://github.com/mcgrof/compat.git" - EGIT_SOURCEDIR="${WORKDIR}/compat" - EGIT_BRANCH="linux-$(get_version_component_range 1).$(get_version_component_range 2).y" - git-2_src_unpack - unset EGIT_DIR - unset EGIT_BRANCH - - EGIT_REPO_URI="git://github.com/mcgrof/compat-wireless.git" - EGIT_SOURCEDIR="${WORKDIR}/compat-wireless" - EGIT_BRANCH="linux-$(get_version_component_range 1).$(get_version_component_range 2).y" - git-2_src_unpack - unset EGIT_DIR - unset EGIT_BRANCH -} - -src_prepare() { - use apply_cherrypicks && apply="${apply} -n" - use apply_pending && apply="${apply} -p" - use apply_stable && apply="${apply} -s" - use apply_crap && apply="${apply} -c" - - #CAUTION: on this line GIT_TREE asks for linux-next but wants stable - GIT_TREE="${WORKDIR}/allstable" GIT_COMPAT_TREE="${WORKDIR}/compat" NEXT_TREE="${WORKDIR}/linux-next" scripts/admin-update.sh -s refresh || die - #CAUTION: but on this line GIT_TREE wants stable - GIT_TREE="${WORKDIR}/allstable" GIT_COMPAT_TREE="${WORKDIR}/compat" NEXT_TREE="${WORKDIR}/linux-next" scripts/admin-update.sh${apply} || die - - if use tarball; then - rm -rf .git/ - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build clean - find ./ -type f -name *.orig | xargs rm -f - find ./ -type f -name *.rej | xargs rm -f - use apply_cherrypicks && applied="${applied}n" - use apply_pending && applied="${applied}p" - #use apply_stable && applied="${applied}s" - use apply_crap && applied="${applied}c" - if [ "${applied}" ]; then - applied="-${applied}" - fi - tar -Jcf "${WORKDIR}"/${P}${applied}.tar.xz "${WORKDIR}/compat-wireless/" || die - fi - - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - if use tarball; then - insinto /usr/share/${PN} - doins "${WORKDIR}"/${P}${applied}.tar.xz - fi - - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - einfo "Attempting to unload modules..." - /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" - einfo "Triggering automatic reload of needed modules..." - /sbin/udevadm trigger - einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." - einfo "If you experience any issues reboot is the simplest course of action." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless-builder/files b/net-wireless/compat-wireless-builder/files deleted file mode 120000 index e7cfba98..00000000 --- a/net-wireless/compat-wireless-builder/files +++ /dev/null @@ -1 +0,0 @@ -../compat-wireless/files
\ No newline at end of file diff --git a/net-wireless/compat-wireless/Manifest b/net-wireless/compat-wireless/Manifest deleted file mode 100644 index 36419698..00000000 --- a/net-wireless/compat-wireless/Manifest +++ /dev/null @@ -1,107 +0,0 @@ -AUX 0001-ath5k-retain-promiscuous-setting.patch 1638 SHA256 c125640e535c9add6422435f72f136f9d4eac4d3655598dccc9b6f2214a3a507 SHA512 4ebaaa7bc10554ba44f7607d35e2afaec83350262be85dc625d79cb86308925fc69e15b750f420fef6444f23b76b5ccb016d914a65ed405afe91d48707db4b72 WHIRLPOOL 7dd6436049c713af28aebf7f365fd7d8f5f0c3344231a09fef05661ab590758442b36269178261294c4e81659b0eff9d3d59f32a0853ba9858967bfbc88960fd -AUX 4000_mac80211_2.6.28-rc4-wl_frag+ack_v3.patch 1063 SHA256 4ae0d3926ed563cb961df0d3236b321ad86698843a2a6df26476657c5e20dac0 SHA512 72ec2e736b6bd10f359b9c50ea5653243672e22302b5172765e5be65abdd3d9c0c63d0e7de7f45f9aca0e1264d42ba25ecda68da0619b57f8ebef610e09a938c WHIRLPOOL b94f026d7e9eea561d2fabe6b73cc2ea3f3949c06422475f00975721e626178a831344b490586fe4a59cd42c933ef9ab1f8c4f23c94250f914a8143dad38de93 -AUX 4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch 559 SHA256 2c9222e0c6aaafabac091766c7e0a71442f0e9521ec1c65fc7024fbca60a3354 SHA512 9bf0b852a4ffc66afc12fc60c3fc683d689a45ff5e18470db68f25f001e14fc09c813aa01fec2b4583af1c19141e748a10c7dfd6022d727cb8cf245f6c33a2ff WHIRLPOOL 2efd4c3f2d58a833be803df6034e01d3601cb1891921fe2031c50a241a3f5e8a9e8d54aa0b29566fcc6b2bac71d48e504a3f88585a1049884e0a5986724048a1 -AUX 4004_zd1211rw-2.6.28.patch 1412 SHA256 6696295acb2a8d12a33208525cba9ce8bd2971c9c0adaabb31debfa9ec15c7be SHA512 2aa73fa8e87cb06220b589f528ba25fcec818a14a98a8d5f1173b12c287ee85e48981a48bbce772aa7fc24a33a833df2eb5bc7af0d569ea8c839090c481566ec WHIRLPOOL 4245c75995d7579b9fcc0aa1412b4f9bc4a3a924076aca24b466658740a99b0592c293420c39a616a6241ec4dce213496bf4317b73fd4b94ab1dcefbe5130382 -AUX 4005_ath5k-frequency-expansion-2.6.30.patch 4838 SHA256 563a1644c51804d6014be54a7ce26cd4db70991a4b75c4b66370ea9136d40467 SHA512 22645e4332e17833d119600ccefb49d9ed6ea25735af5c0f21a2715ae2701d5a69279b1151bbc51f82e65904f7e222b7e19ca2a22493a9eac09f6b15ced8658a WHIRLPOOL 2afac0bd67df4ae794fb420914c23fc056888c9ab93ee423eb5971485fbef94cb17d2674d49a190c231ce31f8f89253dc5d344116dadea161d55c73ac74edcc5 -AUX 4007_ath5k-pass-failed-crc.patch 568 SHA256 12e8549aa3fd85d83fc7c80ab2dbd4ed5a22ae446af6979bfbdd4a3c2d4e9fe6 SHA512 64e305b18193ae4782b8ee8a98c46da095d72b94c876b31b4f7f4d213003cf768da06c8cdc19779aca8020d5e533e87ccc923483c88d15ab9c1977e6e717f5e8 WHIRLPOOL ac92a35bda9530ca23135bc97713f82f8ad0861d6bc2888c0afb313bbaf7798637ac8bd0f7b6183f6e8018600701178c60b05c2a8ee19afef02f7a48b2c3b142 -AUX 4012_openwrt-b43-disable_qos_when_openfw.patch 721 SHA256 f03374faa0d41a5dca7e20079d7a7bd59aebd309b56aa6c7f7108b596d3f0da2 SHA512 9f714ff4a532bb4139e5693622bef39fcc913a0efbaded9f884715c52fdadf445e3aae816a414854747c5416e328f17e436e02eeb7c0b8a530e13b3b02f6b293 WHIRLPOOL fff09fcdce20a25464155c89df09c15464d3db287621833de374c27c1666bb4ab8bd6a151ae1ad309ad7dd9be4b8cf0606c740d3fbaf8ea843a7f4ae278f2bda -AUX 4013-runtime-enable-disable-of-mac80211-packet-injection.patch 1490 SHA256 88f997a54768feeb40a9f985e412e90e9fda2491f32cf6b078eb2a0a9f81e785 SHA512 2f140493a3f9a30ec87e1f3ab24968be6729d8750a5d21a7b0e72431619c8d86d9025da92a47726bcfca0c82f0f332df2c18b089925cb6fe2655085394ca858e WHIRLPOOL eeb30e3d8fced29a3ae00df26bfd4e5898eb5e4f73c3da4ceb5aef84b98b043e39df21479749b51b234f9b0a1e529b317fcc7f87103df84b9089949b047a6b52 -AUX 4099-2.6.32-rc7-mac80211-security-fixes.patch 5951 SHA256 61d0c5e5681f0fb20cf65925b49eeebf34d3b026906e052c086f1f17147a9359 SHA512 4a2691283ed7514363c314f130d6a157b3cf61faa35be15219fffc2fb5cb159979ff0d001b04cb35f1ef999cde7b460b8c35c4b19d8acb67ea04c3ae10a77d9f WHIRLPOOL 7d5a3f377f4c4524420da36953a659ff343c78f0f527961b9636a9fd330bf7f684e60cc8ea99bd14fc92419c7243c94063a5e4be3bebc23e23a99d41ddfe0177 -AUX WEXT-EXT-nuts.patch 3150 SHA256 be6a5f2746ff6cf5963e95b1c7a895cc343c930de22a47e41b4ed0d24a60a6f0 SHA512 eef794f049806df6e5aba22b4db56a613cd7762457174c9262d52e54bf390ce359e773dda89ed918c15cb3463b5ce36cfe702655d611b87a74cfe13b94a6dbf7 WHIRLPOOL 8f1af322ee23976deb3bd9788c8599089176af48cd7d4ab6494e535fd610d22b8787114d8881977449976c3a1359486e97cf8ed233ff15d8253cb64b36901f16 -AUX ath9k_htc_ethtool_driver.patch 1242 SHA256 b27463b3f6cfe64e6b09835e1a06bc3ae83207f6800710ff0c461a6bef363460 SHA512 6c2db0b46d934440f8ea2b40d109351918988022db060f2d5ab0afb8f30db03b539e4b0fdb19317bdec17dba68202a6ff95eafb4a93bbabef81a9dd69008554b WHIRLPOOL 5ce44239dceaf4873f645fcb80d2921c3375e8a86557c0f9fb3e40fd16a130e740b93d57d93edeb8818f49db88affca377ddbe3db1a781517d5c71b293575c8b -AUX ath_ignore_eeprom.patch 2096 SHA256 def6985a8c1486bfe78c8cf72333f620d88730fc1c3116d016a03725a6ba2226 SHA512 7aee117de62bdf2b9c7c43a30bc0f3c944864d89473ed1c6536fb3479515694debc173fae4164959bc1de3675ebac68e64f16abf7cec5e8b784566aa83c44220 WHIRLPOOL a820ef5ca54907994120319667f28d89a68e8494e3acd7c597c04a949cce6345e2f93688d36473a647479f52baf01e78ea7a81a8f8a54a03fedd253f94e58981 -AUX ath_regd_optional.patch 906 SHA256 ebf117d071363e854505c18aef8c9af2652fd4a7b9cc5efe961cf5efb410dbd7 SHA512 dddc5e428f7d2a372ac17cce913c397ac408e20eb17af55633ea8984d6e69e8f7fe134436a4176606740d64fd66579c6a30a358cac393cb22f9a09d10f66e9d3 WHIRLPOOL b46164a1444d74f22d0e4f1e02ed556b52f87d5132871698ab93abd2076656e4ecadb7dc914d571df15a9bd18169ebaef67d4539a7919f1e2ffdd3df3b60cd90 -AUX blinky.patch 357 SHA256 1c2f0e18ecbcf2c07ba732671e77408326d2566d260f0252002c5698f9e65e30 SHA512 2b2eca3f346e450ce11c3c4b4415ee447e7a6dc8fb21dfb0015d1e2dd74ab1ec49f5929083a67fd6e8daa24ea88c43296b2f41c4d81d676691235f9ce2c9aff7 WHIRLPOOL 8fb17d10cc30c5b32dbeca392062b2b2d283ae06b0a2ca235740b66cf5d2573f6d5db8a11907210979a4f402b5b66ad2f88ec36ae690de724c484bbc4ff8fa13 -AUX channel-negative-one-maxim.patch 1021 SHA256 19f7fc0753636c32026e444e23bd101bd21cfeb59661284678bf157dc35212f2 SHA512 365edc44db47b69c4e1babe235ec7e5bc76853665ad45a1fe9e86ea3186aa5e1eb5a2769fe7f75b1f0bd247d67d73f84062f842e9f68e81c119ed4511ec16bcf WHIRLPOOL 09cf698e26f9f8438ff9ce99d5f50ff2aad99ac02888612b9ad56901d0f69f1b771a56cee15affcd9e61b8bfb501cafa0a650fc6228d642f2b34d1b90773d473 -AUX compat-chaos.patch 6187 SHA256 5e8c11b46bc8acf10a2ce8b934fec32662b57c003c99e5e0ca4717a8c6b19474 SHA512 40f8c15935d3f942dc08a223405e4cb46d0e48ad94d568da582f4b45c1fee41142b3b98d9079d0dfc621fbdfc0d9a8887247fd0e477e04bef571415b7f961409 WHIRLPOOL b749dd4f7f9802335ed610f0d51e0de35a9d88209a67530527428025c494f64759b052549e57afe10928bac5e2747f60ab47f0c8e1f5a5f442fa9db099ccad21 -AUX compat-sched.patch 286 SHA256 675e1f877f076f7941dc89248a99b01508cf8a05255bd5a2e2a46c71b148f73e SHA512 20530c0ed571da7cffd33cdf7bab7b4d77cd8c43e2fce9541efca4413a557de8ec676909648fd16c2f142fde3067c37bbc09b14331d8af3dd816d89723f475dd WHIRLPOOL fce079084ea5314880be3f82aa2cbd869309d79b391d6b54d8041abff02514dbd44ff74f6ac000325628b7005903e9cc3535f97686311f5019c312e8a7eb749f -AUX compat-wireless-3.5-grsec.patch 14300 SHA256 ad7cdbf8fca6d3dbe9c125b2b9be1f88cbe3e99bc7dee83d6b2797873b7f9922 SHA512 0cc019cbcfc74135545fdf706b5db222c50c95a3b3e9c16b5e2db219365a328ba1f25a50512734fc0b4f8866db7c99ccc721d04f35df0e7ca376bb08369358c0 WHIRLPOOL 7c4595fe92afd4635e355773bb20ace6810a51880f3495a979c6e360e64cc3850c46acdf28cde7831f725c77ce15b7071b1be0382577fd43dbea5388de4b37ee -AUX compat-wireless-3.5-grsec2.patch 819 SHA256 03add201c40734549319f927975e8bf65fc0d051072af1d2347525bc02da0cd1 SHA512 0471890ee528a15f14b3e6778b2eafca0e6f3b1ed3e7a98309986c57fd1de1718c60ddf716d80d74721b453a48c80ba9f0c1cef17578d1b92f56d4946e6edee1 WHIRLPOOL 1575683f1e368b262ab84d54e96d486b7de8c7dc455ff2a31e186fb3229590225a773e6935b120aa23f4650b145f5949077eb3672f0f0dab0541c1fc894fd843 -AUX compat-wireless-3.5.4-grsec.patch 388653 SHA256 0d7548626795d0c37899837c28a857dea08778cdc2c7a322021f1f159a486b98 SHA512 ab5776fb250778199807faca29d11a6af73b526828d401ec5f94facf3d55490172d1536bcb6efa0be002689be0dd6cc1c4d7d58d4d366d2c75f614fdaf45c84d WHIRLPOOL e6d94156e0f947924abd20fa604afaadafeb4a873efae744bb8c8d0f8db8a6764e944691f212fa1544a1fa1f15fb1563ec61380351374c6fd0ea50b730e51580 -AUX compat-wireless-3.6-grsec.patch 1763 SHA256 c50964800109ed1441e7831785760b9379e1dc7f930c60c89a5a0a80b76d45b8 SHA512 e7bf2da6445c60a991ef0d43f3a23f04a16800d4fd14c0d4ba02707fb27952d4492d03b6149215480400f9c5e9cbc8bdb180d55e7b853fb4e250269556e4e301 WHIRLPOOL 3df9f60d6fbc41e8f804cdd4b07c0afdb9856ac35ba3b0084b24448768dca91ba1e663c4eee56ee481f2d060fd07cb7624d9f69c4745c31de7200ca738b7322d -AUX compat-wireless-3.6-zc-grsec.patch 391128 SHA256 6d7ab834cb27aa6b0fa2e2b35397e3ce886f4a79c1c775164dbd91e424a3ae95 SHA512 9570dae9c5fa43d336cb1f89ae0795283bc2b136ee04f7023ad09ce42d6069f12cfd7856a9efcfc4adba76fbc40919666d2217808051bfd44a07e9f4d4af2551 WHIRLPOOL 9600405dcefea384bcfcc254f27b428b8937638e6c15ad70c4d7f039f3b06523e8aa255b966e62a090c6fbc90dc81e041aef32f48c978e0c0da2025dcae3536f -AUX compat-wireless-3.6.6-grsec-warnings.patch 6160 SHA256 393f78259f3ddc0fe5b0d7f8374260210ce1358e769957ed05ff16c141b68c6a SHA512 b00dba77adaea5d5f4440e592b226565a324738dbe9ebf160504670402daad678cdedc53c4c78bba1198704e715117aa48fb8e910773bd7ceff07a49f0c3c022 WHIRLPOOL e05b7cd3ebfd20ac655f8f1fb53274a405a599a0e2158ef44e14933faa1fbdee58162d911d7d2bac0898ebcac62349ac3e4da10fb2b08db92159bbd5aa15eb52 -AUX compat-wireless-3.6.6-grsec.patch 356795 SHA256 6ea9df3d99d2fe3c855cccb849812e1562634d1091b52287b623893d0907ab8b SHA512 2328497b4afefac7e1cab34f9260a83e0145e61d46171a78e53a2b2a368b25e43e72eb190a18e75ad6eaa978b00517a8d10606c8dd6e093ae3340f6df541a5c1 WHIRLPOOL 34844515231c7671ed8c3f301639b9b21104b4f4774e25e906e93185ccdf82c93cbc0147f959a88132c05c4d464c98d34454e83f62a12b9ff6d36b8480907af4 -AUX driver-debug.patch 2801 SHA256 06a37359ac7129a6f7db2f4e7f72d67c1f7014fd0adf439a89d119415a4316c2 SHA512 38947057ad7dd553f608216eb6858368a97d25a9711463ffb4c1ef477898300d401a8e7e881189ae85063f3e03ef1f432778db1a720b3f9fa04f14a14d2c1d8b WHIRLPOOL fb3ebc2e83a817454b0ec8e3a41ffba1c53fd32813f3cbd3aeda3452f9fc74267ffd6bec19a4a29160b86f4fed993bd0c665325b4e82edc091d3723dba05d510 -AUX failed_ath5k-frequency-chaos-2.6.28.patch 5787 SHA256 8e9e0888e890a2970274a7ba9d40d75e01ebaedb0e16700d8994b9ecfe921185 SHA512 160bea5dbc42b420690a6373666bd0e59eafb98937127d7ea0b02f380b6a49a78d732a773e63461a2ae6b1e882ba37201a6e00cc161b78ec9042aa8d377004cd WHIRLPOOL 2ee067b660c9c70faf28e3b6a4c94d93a4df7735683e97566e6726bbf22a9af9cdafc8e88b9dc7b73cddfda2cc392796195a4679d67c380807242a34c3270982 -AUX failed_ieee80211_inject-2.6.22.patch 772 SHA256 7403780cd3df720439f54b6cad88a803aacc0260af8fbbab0cfa25e523ae2ae9 SHA512 ed3279754e2bb97d79c61373903714d53790fa10201784c39931829ba9cc634bb7c9e3e4a17de7fe671545ba1c367ac5ae59d849c66325ad90f9b5f71134d26f WHIRLPOOL f61cc0e7e5a4505504aa5028a25871c0f8fafc3b30c9de93ff1d74cb0c42ca6758f005329b886183157c858ca09a6c48534c7e1c2486cd4fb9eb2ea78204e30a -AUX failed_linux-wlanng-kernel-2.6.28.patch 11623 SHA256 fd4bd200617c5f28e3a0ae58e5fa02f80279ad98aafed6c2e3d5b249a9b617c6 SHA512 f0637ef31bd91be87d3c38b7c392ddecacf37890b6900c2f08a8fffc711516f59dfa1d0624c85684b2d7f42bd59adf8950975b7a6201e6a865442be1f6ebba5d WHIRLPOOL 365dff7960dc1040d86128a716fe16f012500784e14029a22d1285982308c1fa1258e2ba4b8873206bd4242b87b39865e42cce878d5bbfb1ba2f590c98ebec14 -AUX failed_openembedded-orinoco-remove-all-which-are-in-hostap-HACK.patch 6606 SHA256 6b761693587871591fc0ce96273d37f769f61d28f637c1692d931300c4f04504 SHA512 1e741e72bb801b7d63b3bf3fb48d434158cce54da9280b364e7686efeb4b17d48f2579cda95387ad81735dca46c73fdbe19ff9ad6a68c9ddd424c8211d1190f8 WHIRLPOOL 85a845eaf54fb57c2e8842b4b93dbc8856be9f9a044188530b0faaf1a9eb44d772e69ff0f72f661a3865768fe1a17e56cd072d9bb7b38e76675a17925a5c75f4 -AUX fix-typos-2.6.35_rc2.patch 704 SHA256 8319c6e70cf5c7a9d6b43a0bd7699c67504584ddc1d6d70ba4bf87625d2bb1b2 SHA512 8c417d05dcc1aad118b1b8ff43a60c718fdf02204f8cdbba1cc64c6128ce2d8ffd3216373979a30370d8ac4fef618e89e92ea23bf10592be9c65d465d1acfec1 WHIRLPOOL c7dc99c677754355af46739e1caf05826d554785ea3e559322b0d88541d3fb0eee2829c3b66cf70e57302e8c1e1a9cc40aaa5a0a9e03e4be0efa3bf135e6ccc2 -AUX fix-typos-2.6.36_rc5.patch 479 SHA256 8496796f97cd3074935623c59e155333164588f24556ab7c45bf3a3f71d20bb9 SHA512 95c21113418d4624e4cfb0cd87f3883e76d8726e9e219c23464c29d3bfcc2f3fbf195cecf6e94c0ed98e8e33e4809e3ab15aa916e8b5bcc34733ca49d22e1e2f WHIRLPOOL 06d2a9bbbd84d277968f5d59e39fc5cb5a842681dc6672cbf14dea3780b0fa674593257ccb4d3f3df18f8420f5038095f8df674e69daf714f46842e3f749310a -AUX force-enable-new-ralink-2.6.38_rc3.patch 769 SHA256 fcc7fa9a0f94776b263ac2215f7eb67c943840650a631dd9ca0171adce63dd74 SHA512 6c4540f5555df44a21550547b0b70acc556d39d8517790df4a3d9b214be7a7ec958ba440b8ff6a7cded44eb753f15b5597a22b61f015279e6806e361fbae4028 WHIRLPOOL 2f91bd03a5615cd018e7b2829fca7e4d1fd86d33c86d5f5222cc68c309065833d5a2148bbfb75c75c33ab326f7fc8e690df390a37ff1e5f6232dbe3656fdfc70 -AUX force-enable-new-ralink-pci-2.6.36-rc5.patch 529 SHA256 ed23620a9682c8023d5095007cdc0f7e2602e8d5e580faf446ad9189300ca17e SHA512 1c743c82368c2affa18507858ad4adbbc4b886f15f0284fe5c65089d90652fd4014d0ff1421dddfff9f917fd4c5560b792af3efc1f462e44140e0c6f331ed55d WHIRLPOOL 5fe037c49d7afa33500dfadeb44d845235dbace5806c1514f9298f87ae6f05e9d4178aa318b6624fd61a8b054c967c59002c3e18f3f195231bcc36601b40247f -AUX force-enable-new-ralink-pci.patch 371 SHA256 5ca2668bd930d2bba7eedbd78f2d538bf1a2ba3c8e1deb60af77580e66078a47 SHA512 cdcfb36e7c95d0f3e5f94ad0167450f426e4e989d9c2284de85a122a4610b5a7244b4c40cd0f845095e55bfb7293eed3c2128186bb985a94127a177085b8d6cf WHIRLPOOL 04150e4b24988164ce9c61c6c209ae2db3f325bd350fd5e5b94f99c9d40b9241c758aef38fdaca0b270c836cdce8167b42e4a12a13c684465939392bd9181c95 -AUX force-enable-new-ralink.patch 558 SHA256 b6a411562c8c0964d36817f4d276a8db2c3169d6044b648650eb8b742c2dc898 SHA512 225688766644fb5307c3a2fbb9233b2d56ebc02b0f1f403872ae732e7f216c4eafd771342cb20008cd9a306349f0d6ac5f614d40ad3832a303f76983e9317da4 WHIRLPOOL e317fc0f7433c93e12d79fea9536ce38125e621ca312123b2fa5c04a39ad13726bb5ea274ddf053bc7d58d042e11325e02039473da22b352f340191aa6a5e9a9 -AUX ipw2200-inject.2.6.36.patch 4139 SHA256 a23d46ba2183eca15b2afc9f88b1570589f51d67488cea5f514d534e218d6570 SHA512 772b858d09d0c2dd5ca061a2bc62c73d2d3c177d017db6f96d9bdbe42b310d1a8fb2de002711b9b80e1db3166ab4c07cb2cf14cdce1741af1f6a754f0f3c1e1b WHIRLPOOL b513803d8f600a974969e19d7478f3b9c8377306bbb723fe176878ba1a69269d94c80298b6f7249fd1e8b3ba7efd57ce76e65909cb709d0fcf2fab0405110786 -AUX ipw2200-inject.3.4.6.patch 4173 SHA256 0b649bd7b6d2bf22667edc96949b5ab92cc7fb5c543b4385c17c5e0f47fe4109 SHA512 ebee3efda7b94898ea18a89f57c515d5237ef3c2a1eaf0bd13949ec4663a600eadede4655178355ac3f5b8ddc2eccc2cceb88eba0281ed3f614ada186a041463 WHIRLPOOL 15d94b3176719d006363f4d42a11c505643fdead8d521ccfb149cf5eee8851488aa006d4f8c750ffb5e81b23ff03d275e5fde781505e508467ff76303e612570 -AUX iwlwifi-5000-exp-firmware.patch 475 SHA256 7e486f5d28cfaa50a98d486f6456c11bebae25f9dd7fd4b09fc8e9b12517efff SHA512 02ce73a889f3fcd72b9463ad2a09a7d925e48538562f50935b12de88c3a5d9567c81d8a1f97d42bc908e5dc68b1cd40b8a07417b1518ea976d75c60d923ef2eb WHIRLPOOL e17c9236f8706534bbb9fb0e455a29d41fc3292a2edcb6fee2a4eb499a30d2d48883afe5fce51ed9ee1338769fee6bbe6b8f346c730223737ab27004a6f4d26f -AUX johill-negone-paul.patch 2987 SHA256 0bcc6aaf343f3faaad09da3abdbf4308985dfc084c4213d8acc32dd1c52aab29 SHA512 e75017db29e79c2f49a9ddc3f75f0ca18372bb2f2547b57fea7378321e700fc2890505d7ba9f819dab77af89423978700c66abf7ccd802befe0bc136f4ca737c WHIRLPOOL c6f8873aa5775076ebfb90248447b8f5f2e32cd2256ab7ee5b62c0b2a9194a48d7425d060e51934a2f18ebe3a0f53eefdd5ef38629d2fe4c77e49f6d6aac2dfc -AUX johill-negone.patch 2972 SHA256 8acad1b386c6c849938a62a4d0216f8960f932ed3298a0f33739be39dce9fdc5 SHA512 4632c30e21763ac5f7a96339b034db30fd6b5b025b41b7e08558f4d34181c023acdbfef62510465511464edaa8c649da609d1888c51dd1914b1088c5a8e1092c WHIRLPOOL 445930f31f235478e094d8199fe2ec0d8c273e644875d87685d262a813d5fbb621766290aa7f38f48d453032b1ea7ca3be933d3f6992fbf9c5d43a59597fa9b8 -AUX led-oops.patch 733 SHA256 381f52b08f1b4c268fcc4ad88b0059d27b438bdab6acd4d54c882cc2505c99b9 SHA512 35d40badc12cb871ed5b6d4891e5c1e6c4d97d7f2c0d15735e1e22ff7f3c768084a5dc51dbfe00eb115af9f6545b763ebb3e2b00a4e90ff64832a74e73d7c994 WHIRLPOOL c9b53b7a2633a7d229f2b045c68b2264282eb73e7dd91ce2b27512e6f154608af1e664e0c5c7928b1f5a668b21f118c297e117ca1cd8d9f0159be7bd0eb5c245 -AUX leds-disable-strict-3.6.6.patch 799 SHA256 e1b5947608d9c53263efd76aed404eb7e4107d81669faeb484f5d680e4cfb570 SHA512 6373efc6697b4589c15c3cd2cfd8f3faa06fe90eeeb4fa9acaf187ecc682fac394444949dd26c2dde71c0f45aedb1198374764b580b824ddc6bc1e937273b5f1 WHIRLPOOL 40bdef714aa0ff4069bb50abf434dff88610d97f570b80f36622d29a43301bf013a90e90cb7f3f8044c2bf53a09154b1033a6f53b1edf186513452fdb681d55f -AUX leds-disable-strict.patch 1614 SHA256 58170c088e6d4d78be497d3efe808252df75d660b4ae1fa370d3bbd9ee6299f2 SHA512 d93685e46d0f680fb338cd25629bc58f940987be37366f506204ea16ffcfcce64292adb1781b30e4de875172ab787ea171768640ecf595f0d0a2a268520df299 WHIRLPOOL 1acf27575e81fd1c3386a7fb1d1b6aafb2357dc87248c040e6ab7290344b97bb9591f384bc1cb92ad4d991ad34a3cba8f5c0369db8d7234a1a71aa806a56cabc -AUX leds-disable.patch 1232 SHA256 55080ec9838b3eac1c06bb0b360374fa8170266ba0d85ceb1a88c7caef97ace0 SHA512 a57485a8e8ee598f9787a758ffc2bb2506eaee0be14b0db743c2ccdb73550710141b09aeaf662ed3742b1517340bf810c76f4ebaba8a646dd0d1f420df2d07f4 WHIRLPOOL ff244c6fa17e68a112c0cdc2e618cee2a28e7fb06c2ea209a8b51bf4d5de5b5c06057835b69e5ac908bc70d2a793ddbe5869996871abdfc69d75f13a8e5c761c -AUX linville-aircrack-ng.patch 1806 SHA256 d806d9eb1a402915fcf0daebc359902ea0ffbfc2303e2e77d38df2f2d8da215f SHA512 e1655823a809a7056ae9fab4ccafeef378a47b9aeb6148c71ad7e93d45807e30bd86da9df1520b1dd6016e47bba86959c37b3533088303631771120757b20c2a WHIRLPOOL 8b94bffed19665fe4921a8c44415b207978ac505dfe191a0c1bb0fea5b6523b6a827dc49ffa00a101f94ff309b17286a81a3ed26a75186ce7a3abf771f01dc94 -AUX mac80211.compat08082009.wl_frag+ack_v1.patch 1049 SHA256 e04ed9997e1578cc1becd4ef9d9f2f6f606590aa91a56e42835963913e1b0f52 SHA512 3276224127b3cd1cd02ffa877213de68e4d194bb5a81a90235b93f921bd4e5f916d8b6006c3cd9be7309ea86599599d6f3c7df6d8a3fe2d62559cc7518b799e2 WHIRLPOOL 8dd4739b52b0bdfdc892598588a34b28f4c8164fd2df9cb5568a2a2785f102651323afeab1c31d63854bcc18b27cde042d0c38f502572b7d6814b16b1ad61c31 -AUX make-make.patch 500 SHA256 b0fb357e356e655974dd2652c311f53d6ae32a096f0c7f96e61482a7f5acd7aa SHA512 57bea6ea720a38dc83873e5156b0d2c652776a6664a3214bd63561997f0810966bff0d44d23501303ec49f6f0f79f76aaaa657cfce43982dac71e085e6e3cd40 WHIRLPOOL 83b5f46d6e1e3bed18bebee1208c538169e8d12b2f910de62c4e04cebae8a411d1a4d48f97125c8d1c2f1bf1456560eff278c8f62f2eb8728bd3aa997eabe448 -AUX orinoco-remove-all-which-are-in-hostap-OFFICIAL.patch 12945 SHA256 38705e63f5034052d48c50a29d5a8bf114a692ce6e76a53b73371180d0e0f14b SHA512 89cd69d3631d815201b2b6aa9cc3b4927afbf6d002e6265ed00fd939d05e4cc9775f5e1dc88345a4d99e374487444eaaaf1ea636b1638115bc470368ad085a60 WHIRLPOOL 963ea68645ab2d4c1ae0ed39e9c6187813a44d4cf4232aeca98d76a0bc3b6aead70c1e91e96dd0fd417b82203d0594d1c50cc38ffc3ed02b24500d2b7a775d43 -AUX reinette-test2.patch 1460 SHA256 1de6d6ed109c4c9c23758c7eb02aeac2844f680cfc3c1e568c53f366cd3f4727 SHA512 32239a4b3dd990472bc7ff9bb8ab5815509ee9963ef0fffa1a664e1c858c96bfa358b8f3d52c131218f18587320df536444ebf8778adb59c15815c29ecb1cf71 WHIRLPOOL d1ba16776af0f5c15a6d577b16051912a97516e4c55cc9fa5c75638384c645af6331786a66a01b7f89e49eaf96e306cf022f91a0a289b4bab16936e1b907b3a4 -AUX rtl8187-mac80211-injection-speed-2.6.30-rc3.patch 1179 SHA256 bf6846089eb3d8cf7ebe119b4ffd1c32f7075a98d403fc8f96a5b49017c385b6 SHA512 881ca3e28e65f4b92e694ec54cf74d2e81d7b9207f6e81222dca0a91cac07d8f741c9b27777c88134428787b72e86b51f684209f593fd6a1661ab2366fd31370 WHIRLPOOL 23a370d258e19154637a5efb97b66a57bdbc39b9a8672e0e8dbd250d41272a92e56969dd94620d3a92a751c68feeab5e60962531b4bcb277c954569d31942ade -AUX super_secret_patch.diff 13499 SHA256 f4bd054b3348e98700e4481f50a1d809f2d2c89bfd24419b4d17e01bf6a0168e SHA512 b1fc070a09e2b2c8a555cf6380e462a9f5a0149e94d6a82019ee325d8e0e3c20b6bf755d83f946070f81e59cec930577e277b6c9322b543b2b990f6258b4f6c5 WHIRLPOOL 45a0e86a908d18bfc9554208cd2054a40b2bbe4a5b972ab5c4e1a26656aaadc24497090658737bdae1ee640c2ca847b8c6ecb1c7129496560968de2395006571 -AUX ubnt-wifi-station-ext2.patch 1006 SHA256 c0ebdd30b5ef141e39977fd529a4bd3e6062b20984c0eb53836fa4b0fb6f4b1e SHA512 06e5dbc9af37da946ef3247368703d460f8df7febc792c9da95fbfc6486dfd8ac49df1926e458e9beda23954c69ec33d98562c03904a6fd0cb6f7d40ba276129 WHIRLPOOL 359817e899e618056011e07eb94dffd62ab2636450ba3fd32790d6753a3b70d7a055d866521b7c815a5d2d2fc11d6d223a1577b41b8f2cb81ece9272610a129d -AUX whynot-2.6.31.patch 4272 SHA256 a1839efde553fb6c78b7121f94a3dc5401c146f9ff3e017e61de1b0298f4b371 SHA512 f972946999fab0a16f05ba3508bb4d54d70aa0cc2a1d1294dec34465c27ceb706095507e273b7b96e36014531d59d6ce5def2b23b7f52e93ee3fe8bb6a79a80c WHIRLPOOL a1784771b35ae15748423003b8eb7fab0e8aeeb2919ac3a43581ce0e8f1d4600f990b70f131637270491f4c433c0d96f6909e96ea377adf2aca0dc94c23f7f2b -AUX whynot-2.6.32.patch 666 SHA256 07cfc03d0ad5c47bec08d320afa63c79c0e6be9109dcf42b9811aad10bdc9c63 SHA512 8198dec59c952b641724a7fef8b001a640f84aefdc37651c8701ca6c37f67ea8b6a45233c404b5ee384d649f823a64d61d790bb8eef97837803954706de37e4b WHIRLPOOL 7a497f4861d4ab57f434a6717fa3460d897683c92f14e92b4aebbdf189f126cd4c20f7df506f959dd5a05504733fa6d23b56aae1d614c45a76035e6d4d63dbd8 -AUX whynot.patch 4106 SHA256 956cf3a0a8b8e1f0f0e3df985e351799f325a44e4cddf042d677a9e8109b7c9e SHA512 46e739fd16cc2067ec165f3e65ae711e75b20327768a67d09b839a42bdd128751f5727d283e851dc696f6183b4d8d5e752c2f786da70a186302a390f78497a88 WHIRLPOOL 9ea955e201d50d39fd1756f954e2b66fb2755b43cd166d6846ce888f433e4045c001d0c28254d4d0ceec7e5ff4c1373280e190c85986928e64f4bceb3569bdc8 -AUX wl1251-inject-2.6.37.patch 47143 SHA256 04660a1f7fb241aafeb7fba3a7791cc31fd74efa75fa73616b3abe6b39f89b36 SHA512 7a17230572f0de8ff134b051edd8d65a48d91c61cbe850ee4e4cc04315800619fd29a8f80d83eb5c771639277fe3707d05dcadea76578e95eebd3e901966da28 WHIRLPOOL 4a7daab5281f272d24bfc48a0f9a642334f28a31848d77d411cff678513cfcef34f34f1c33c45619706728263c26bd8d0a29afb9db867a646a9dc5d4feca5775 -DIST compat-wireless-2.6.32.8.tar.bz2 2007299 SHA256 d48a86e82fb314b96097d437215a8c85fe5072d00586a00ef9950d26ba1e673b -DIST compat-wireless-2.6.33.tar.bz2 2266149 SHA256 740c8749808d82495c40a3139fc12e751463a82eb949804dfe96e166f0848200 -DIST compat-wireless-2.6.34.tar.bz2 2370805 SHA256 4e4af0df6c74461571925bea8f315f86a6dee3f4a74bbafed7950fdf30fdddd4 -DIST compat-wireless-2.6.35-1.tar.bz2 2548928 SHA256 579100ac48f459aa1ec71ae183e37ab91475109081a17c7b45fc5af35ed3c3ec -DIST compat-wireless-2.6.36-5-spn.tar.bz2 2664927 SHA256 da4362445405bf7de55947b79ee72a3a9c56cf4a91e3eef74f7896aad59b02df -DIST compat-wireless-2.6.37-4-sn.tar.bz2 3874734 SHA256 95bbc94885bfbccb50d42b4d677f1f1442713fc5db08905aaa05e2955b34b133 -DIST compat-wireless-2.6.38.2-2-ns.tar.bz2 4060490 SHA256 f77b913f90bfc40233d7c71e2c274afac1134997a9257116521873ca1a5a0f79 -DIST compat-wireless-2.6.39-1-sn.tar.bz2 4333239 SHA256 8fb43a233e91c0f3e48ef7428d2a4ee9d6bd77ce1edc1d248a9409bcb985ed71 -DIST compat-wireless-3.0-2.tar.bz2 4238914 SHA256 492f9b5232cd061ca96c26718f5e4a98b9311f8f551713727fdd4fc0b57af79d -DIST compat-wireless-3.1.1-1.tar.bz2 4289900 SHA256 3ce364fe5acddd6fb7ebf0b74358fc489487384ad34d5247c60b073745075d02 -DIST compat-wireless-3.2-1-s.tar.bz2 4107365 SHA256 b6d70ba8ec268d4d0cabece0ff227e1b1aaf7fe89e5261bd2b0dbfecad5cf4f8 -DIST compat-wireless-3.2.5-1.tar.bz2 4102350 SHA256 a7bc714c8e438dea348a154c6f4ca583cdbc5155467ec9ae8498a90c70f89658 -DIST compat-wireless-3.3-1.tar.bz2 4244971 SHA256 d676ecbe8c8c8257c5af1a7feb3c4e8372bf0984807bbc89c98b4df516d6231b -DIST compat-wireless-3.3-2-n.tar.bz2 4156020 SHA256 fdf4801775f7ad7692b9c8ee8b1712a16e198d6d810273b149be71c8e4663b4f -DIST compat-wireless-3.4-rc1-2.tar.bz2 4274601 SHA256 e8b00297b93d3af4397a4621b8f74dca26872cd2e2e5fd3cc398580d809a5089 -DIST compat-wireless-3.4-rc3-1.tar.bz2 4275635 SHA256 44a2a890d389216332c862e4175d054e43dccb8734f7073202ab951ad69aed99 -DIST compat-wireless-3.5-1-snpc.tar.bz2 4506539 SHA256 29b8784cc993f5797cbd3a09acafc4a2446987090bcb8f6f8f6b365b07fa3163 SHA512 74315d2000cb7507c4f95b2c0fe34646d24b6d4bf6e5b27eaa6e492cbd5d244d416867cf4cacbcc98add39f17634ab0476f5b879e81840529bf5f872c2b0e4fe WHIRLPOOL dc94c9072fb6d8c4ae5401e12e9cae8c0c058e3b9ff1a05e4242f65d19729d9107273cd4d97c5ded7bf4dce1c53c668fdd20bc8e94ca4981898d6a94c362c674 -DIST compat-wireless-3.5-rc3-2-snpc.tar.bz2 4496631 SHA256 d741811bcf1609ccbb92b144dc4fd0f4e6efef626af272bcf16bb36e3a73f557 SHA512 30a8b14c17c78f5d60cf2e0b00e651d2bf2685e0a81ad96b7cbf6a8ba340e705097211467465751d09fd43e6eb872b0dc085ff92d073bb7fc8746bcbd0d89471 WHIRLPOOL 67cca3a4ada6af184d9e9ce67ff9db4f0cab4731a51c81ae524dc87b7a6715a4a0081758ec50c4cb5f119f982ed4aced006062fe87be229a6e427eb6c7aff699 -DIST compat-wireless-3.5.4-1-snpc.tar.bz2 4444641 SHA256 0689b3c52655538e045c1f715d2715619e625330241b8e50df3f6e971f848d51 SHA512 58c502668c7a776dd6c46b39766e2dc6f74a285f4ee176d6852c22e9e19d95bc86b8ec1b784f5b4a7ffe5816d2c6bfe6bfe2132d7b9fe1e11fb6377122f64f67 WHIRLPOOL 366a72b8d414950ed855d68caea838bf04e54b047e6075188ba5d3fc0be919cf859ec3fac1dcfe90939f4bb91fe3dbe18ddc5cb11fc323f7e2a45d2a3f6a7f98 -DIST compat-wireless-3.6-rc5-1-c.tar.bz2 4451239 SHA256 8e834f513760c5cf22fec2155b0044e6ec375ee6cb4592b484bb312e7fbf6bde SHA512 bbf9fb7a4570264ab49f6fed7494b907fd5153854df5d18df362a7a9f9ffdc36c7c305be37ff69669533e891777e020ffee5842b6b42374afcfedf4d09939efe WHIRLPOOL 2d24db5cc25f0cb8a8735b962d0a980e6b0192dff00a0f7f3bfb93459b8a3d0f364a453405db1e91b84b268a6567f2d4f3ac0d85dd6a52600cc2d1df90757f18 -DIST compat-wireless-3.6-rc7-1-snpc.tar.bz2 4476642 SHA256 a6dddad3c5b11323d1220514bcf90d416809a7c79aa48206f8833294f917ffad SHA512 e937cf1f35150225e11b5d5cac68f66d1a27396392dec29e5becb297b344798aaf33b0d9f7a0526b3a467cf80190b7505e4468523ed223218b0d1b73af24c791 WHIRLPOOL 9df331c460fba824936a273075e40360b74dbdcc7c1fd4ec29d665b97cbfa3d2d303393bfc022a87720aee7662f58106ba3f8c7713b1cee09e1955ee63ab85e9 -DIST compat-wireless-3.6.2-1-snpc.tar.bz2 4572972 SHA256 bb968ef3575193d378bc83612899a8c992050f36ea3a2d0772fc6fcd53b79f83 SHA512 961d3ea77ccb813ae8183dbdb3214ffbf03e0fe3f2a584261eb36515f810ff98dfdfb885c19cef9358aec084e65b6caa350de4e48dbbdcea357a8b5766797a67 WHIRLPOOL 274ae2d8af2218aaa0b73f70d343c566283dcfd2f4dc5269e88fdf89680a6a5a0b1223efc2eb4c0f7eac6033bdc81222f36b7af243898721d8c422694ee5b8cf -DIST compat-wireless-3.6.6-1-snpc.tar.bz2 4597715 SHA256 3df76268e9e09cac0214be4d048a18fb2baf58b896feebca3b42c88c50387cd3 SHA512 ae96538b0c8589200bae73dfed8a363b43048d61de949a58fcfd86a7c7af4d1bc97cae6f71a33e9e2c4cf9051d49fab192cf278154d8f17c8bffc3ffa5b08511 WHIRLPOOL de5bc105520c5f9df8fe1551bc667103cbb412ad4c25585968a12b591101b3fccbdf76e5adf218234d6f9b3d9974cda8234b12119c5775322b8f6b3e574389f0 -EBUILD compat-wireless-2.6.32.8.ebuild 2368 SHA256 705bb5ad89ec2433edd4252488b3e7322c5137c49520203a3cbea44314ab9234 SHA512 6b0b07c8ce7cf9bbffe0351fc7264ced050313a184a23868be81b3d57b8b8693fb3fc9e83c5717383c53eaaeef7221cad1ebcb6b9b8c21dbc3ffe30eded7e3f4 WHIRLPOOL 81121fa7a68691dd8db9d916360d8996c5666161ca37f4cdc629a881465dea2145d9374e732e4e84c070cb86a97cc9f9e9348999977d5fb1b885055eef0a087f -EBUILD compat-wireless-2.6.33-r1.ebuild 2747 SHA256 0d425eec9472ed83cd1a29945ead1116612c938248c430653510011d56307a6b SHA512 0e738fb2b8faeae9b048274e8b0d6c903295683461008872a162ec30fb05ae5f244b3fe9c3a1f58800b76d46d9d41e9e2ac00c9a677ce0d8fe0f56e6625767f2 WHIRLPOOL 49b65789c947df4d86b38fc8b354d68636553d028f52a318bb72915565a7c335ba56182f7bed3ab6636cd325d9ff2c2ee70f8a48bc0f0369201f787df67ed79d -EBUILD compat-wireless-2.6.34-r2.ebuild 3918 SHA256 a729ecc6955dac802ed9b1585f23a48c54fdd45434d2673930322c792c77e159 SHA512 e2b2e55e2ef0c814d16d59dbdcb3a18fa5505ccae794d5ffa7baaf019fc206ca9446d301a72d2f1c2d0ab04fdb9bba8cf302cd82b6353930e4c2e71fe9a72e71 WHIRLPOOL 1a3d2ab49d7a8b5a16f11953c87ba879cabacafcf7ba6cc3a969145cda0bb7f87fc7e099872d438d5c36f0f1fa8a2e908e627845ec8909777e1f4a28dc9c4b35 -EBUILD compat-wireless-2.6.35-r1.ebuild 5471 SHA256 25c0b5e0db7fe4d1e9942acbe7f0325e1ef8d7e92488f0f554734bca2d0e86e0 SHA512 986c5f7a8fe206ba08c1fe9ea67fd15729697a3df98aa3f654aad91f0994f072f74245770cbb43ed712e861e8779d7beaf4b96e8cbf98914ef84898199b2eca9 WHIRLPOOL ebc0449441adfb5291c66334cdfc0bb71c04f9bc7216062fcf9c9d81c35b08a2815efd3500b2cdb4a55f9db38f3866408eff31890c5d9954aaed40a7f198b747 -EBUILD compat-wireless-2.6.36.ebuild 5332 SHA256 52f02128f594db9950425aa03cd90cf9d5ff54d6475b25db696c58cd8c0a75d2 SHA512 6e762f0cfe590ba56557fb044ccf74496675409f3506ea3a4735a53f597befabd0db5a5ba475d1d3759dbd547115f685c55926c306950b535279a541a616f1b8 WHIRLPOOL 8d22f0604f1f754b610c1a06e0d36e4de41a37aa33f27aa158b133764c6da63f08e8065ad3ae376ccd0ae2afeb0369be6b4efc2226a396096947c4ee54e38577 -EBUILD compat-wireless-2.6.37-r7.ebuild 5443 SHA256 f08fb77d9972331aae217e050e034e3bfd17d933c5eb22a272d05c7022f70462 SHA512 b4444979bfe1836772b070dd4def2d49a00f413345abf10a09a544e509e418bfb8c73025411a4d0ba51cce81aceaceb7d105c194a38108806bf206fccfbf05a1 WHIRLPOOL c6fb723e48bd81aed620de570e4821c8ceee0f757080ff6eec196ca1ebb37e2a40cef15d8b9311bd9e48508efa6a538979d84221653c79ce8293c2a18a3c45c1 -EBUILD compat-wireless-2.6.37-r8.ebuild 5665 SHA256 e772bd9a4c2c39332e0844476a7d9f3452576736f6c072562250644e787350d0 SHA512 e1f4976bbc9c72d3b3bbeed683e3da51d525e7eefe96b3169998c365bcdc8bde9998987cb0aaad830aff28583f3523e3a5cba2ebd3dc7c93e960a720fbac0a72 WHIRLPOOL c7fc58e2afd6449d387bd8c242c6075ea31c2c5384d501044030aad8bf721c74d6adb6a24fd7a2db67aa0ca0817d2ad646679d5048a7d7bbb3cd16e4ad525813 -EBUILD compat-wireless-2.6.38.2-r1.ebuild 5641 SHA256 e226115a59b6c8b91585231ca007d8929dc5f3e4ea7e1e4807c81a2e788869a1 SHA512 de77fdbbfe532b6795d7c97a799fae63bf9453eb9ee4661b34c170654f81e47cdf612239166ced3d08fd27fd37c71a678eb3c5f62d835881bcae798609aa2ff6 WHIRLPOOL 9f0c4a082cd7296fca612b04e87ac0ea469e39f28c38f15f3a91245da029d2b7ec087fef864f80e44d2f6e73d15604e6edbb016dc2b86986b7b19dd18701fab7 -EBUILD compat-wireless-2.6.39-r1.ebuild 5452 SHA256 f93936fa1e85242c8380d6c0ae045b8e7d25930490fe5111f33e7736d9e26aea SHA512 828bbedc9caaa7ceb74f46403b04a29852a464ee617d99b46a0a3844727981835f7127d55ad85289519dce30a238628a849e42df0c01e165a8a60d8ffe6e1dcc WHIRLPOOL 9078e14bdf48624a388c55c8b31f89827f18a64c7420cd717f941e853d8cb203234e81ec5d929cb6786235e5485e8722913c4f1c96d2bb40296c61c09ac39cd4 -EBUILD compat-wireless-3.0.ebuild 6462 SHA256 e40c72a1b7561f30327c37ba21c1aba2037bfc3e2a567d9179c02f004a4ab644 SHA512 e3ac081cd368e068cddc060635ae212510e67e1d6b6507b6b98c14bc0aa3176fbd22b9b22f0ad6bc1a8f14a4383c34afb724155f49e5fb5356ad545c08163917 WHIRLPOOL 1798cb6e82d6df4d437dd674df0b5578009d45195b2b76a2d8170db29024b50e59e997a2afc3e6f7d334a76cc103801931fd54fdf4599757f34cd4fdcba8d85e -EBUILD compat-wireless-3.1.1.ebuild 6627 SHA256 029fc51c569dc55559decd1c6aa3c12d92cd69c5297c42418ce3b91d4a52f376 SHA512 1afcaf19360e670e09b61973c28cea3e32873c68a41699d49a2fa1ef1fe8710d305da1ec5b8ce7dda50bcaf5447079b032dc33729e97aed47ac4e75d21a29353 WHIRLPOOL e38bcb9be17febef0ebc12d94e20e86a56869915ce3e4c94b591a12faff772ebb16ad45ea2cba70757c06daa9929c456d6f0172cc1e67de4c2372ae3e2763a69 -EBUILD compat-wireless-3.2.5.ebuild 6613 SHA256 7d1a5b6a35612206effbc67eb9963c9f414163999a0462bc7527499f6daae653 SHA512 9dbffcb6314392d6c5dc6715f1b69efb8ccb5c50e7d74c3de42687142a0e7d314da040bbb3d30f3ea2445bfb24c44cbd13db8ace02a7c16b66f31fb4804b23f6 WHIRLPOOL e2cab0f2ef9d840ccad4c9711e7b0f94968989e0bcabfe363808bdf7a86bfbc901472e4e8d1ac1201090fe9fd04693f9f31770fbaf059a783992365c225298f4 -EBUILD compat-wireless-3.2.ebuild 6615 SHA256 0f7475bd458596e43913d99406bbb273172c769f7cb11c5d2c5a1c02a15ff15c SHA512 979e270c251644a8e8bb136c90fbcb7c7c26e07d14250e4d768972a22b5e3c7c7c2b5a61d0271de1abae8a88d893cd16582605345a318af9a99e078fa94c9e13 WHIRLPOOL 3730056766e21fb23fa2360942d75d5dc2324dc6ed3c01d3e453e0a42d2ea7ce59b9a6db85e84e48b12f927ec7211d30296c2d0a04c53f78695dd9fda259ccb1 -EBUILD compat-wireless-3.3-r1.ebuild 6317 SHA256 27ae5ed262b60f48ce1d9a7da3b09cb1db33cada389254605679adb1dc718c2e SHA512 8e4293ce97443d1cd61d75227f08bb1887fb6f43ea3001cf8983c2200c5ca479492ea2b88f3ab862f7ad9a40fe9afb66392c639b56d4d50d255237739cdfb0fb WHIRLPOOL 8a64790158a33caa9d71d025bf3521fc3660ddf1e63570e7eea5acf70944d7f0f14ee46f44f7a7d0f75106f46adbe63c1534f712a630500663e8cc028fe3aab5 -EBUILD compat-wireless-3.3.ebuild 6275 SHA256 db55c6bb5a23842442bb39f2a43d3f45ce66e5d84adf1e6db9841db47a5fbac7 SHA512 4153d3afb0fdc810737aca42818f09b2b9597b9ab20ab479a775cf1a40672af4957e4e2d927d12b250c81076415c9e86def9a2de6d7c96084423512a80cf6044 WHIRLPOOL 5e60138c814ccca49a80c56ff389ce4c1a06955fb4646d8aca9a49ca35896aff74a0ef381f240665aae34c0c11dff0f84f354ea020e9665478dfc93a1c2d2ab5 -EBUILD compat-wireless-3.4_rc1-r1.ebuild 6105 SHA256 5ca6f1d0a82acc892f43de06ff3260e2258b92d8e82e632132e5c067e52efea8 SHA512 4585936607e2e439ba831752be38ab3992ce65676493300cbccd96e96c4db2e885adb816086e0c7649cee95b1cf20a7f556698bc5aa438fb606c856d70d5a1fa WHIRLPOOL 0834e6e5864971be8847c600df8ba8d0f6d375146d5e0ff36def418152d7aeb249076eb4e877fdca30cbf55ce54e5fa396a1940f324b786765dfb42ea4e01c0c -EBUILD compat-wireless-3.4_rc1.ebuild 6137 SHA256 6c50d965b199dc1c44b1bd33e2bb7db34218954a6e0ebfdd5e8aeaf930858099 SHA512 765534bb307877f8192b614b821133551adfce6bcb67391a8e2d0b8a016ae3c75c85404bde0e831680b60332bc95334a234fe4b53da3ef6a6977318fd71e50ef WHIRLPOOL addeba3038f52d242404d3cdf4688056fc2b894ff2c1022a27c4bfe62158b233a19fa3b9884b3fb20dfb9a67a3ca983ddc2327feb95b4e687aa47cf0a32e2d6d -EBUILD compat-wireless-3.4_rc3.ebuild 5872 SHA256 27cc89665d38e6d5d77e8d79d17ffd261df01926873a96e9b4f7761ce3f9f021 SHA512 30ec8dc90c7740d771d24c01915548720f63ce7228738ae461f72d5cd9ab2774bc71db953262f51d9daf66b0d9d691434ee8f4a14ca0427cba95a083ad9d2785 WHIRLPOOL 471526b59b1a50a253f9dd919b99bbc7f065dcba99513456ed46b932cc53ed26f5a09abf968ed94c9c0c5ea85d9df55ff5f87dbcb424c4438700f6bc5ed84afa -EBUILD compat-wireless-3.5-r1.ebuild 6796 SHA256 51e3127daf1c5ccce2f87e5e23f44c7574c295224b1b73c925f8178bb04ff0b7 SHA512 f020885f37307d5f09d3f1268a6ffab03bb8b19f6a07f0203e96a3c674eefec9b5cba2ac0815ba0bc8c7cceaa7524642fd5f1a612693c0e513bbd0949da91ad6 WHIRLPOOL b473db6e540a57220c954bb13fbd2a19ea2c4b20a19af86c12db314e24995d5df9b9cf87e27acab0b92f2f0b4d5bfd85fcb36fab2c4188899bc7e8197c745a55 -EBUILD compat-wireless-3.5.4.ebuild 6866 SHA256 5bfd7f37623890fdccc766a5203bf2cb7613a9343498f51d9c5f29e3d888e8f9 SHA512 3b37c20e0ec5368df908e70c3175ca05957120fd81e58e672019a3f611e308b33950fff1251e7d26107bd50a0c8875eeef983a33fe0c19145238c5b78ed2a680 WHIRLPOOL d8e2db4c96037ea606045f87d1835859cbbbdfd4545b6dca345f9f45025c6ba1cf9bfe5b6194b43ecb48515ecaa3ceaff672de2f1837acc393d065ec1d2e1c8c -EBUILD compat-wireless-3.5.ebuild 6738 SHA256 38ca4b3947bffe53f458082be5694c7a9a20277bc6f4f9ee20c66bde89659671 SHA512 d92ad6ef63ee45921494e82847563dd61bf50cb7e26e093b7ecb08db804ec670fe655ccafcfebbd1f0af2afff10d23eac603843403f8dc4ca32e1a98548f6718 WHIRLPOOL 66f73ea8a501d26460003361e240f1e6d1b7328c8eaba353192c6b965a0af0172ffaab622999d3cfe9edf91df9106a99aa3f101774dc2d198e68f5343e996b86 -EBUILD compat-wireless-3.5_rc3.ebuild 5813 SHA256 422b28008c3583b13a20194b9a8f5b575f77e0170ac3964b67adc5c43839c801 SHA512 4ad8b1d41e4097afccf3e7de2bb2ad26d6d52e2ddfffeb61fa4a0c7add0f5b9867546bd0b2cb378cf435f0da3dfafc84198075dbeb583e429f273f23bed97045 WHIRLPOOL e33126218e92d48f94f3e830a35fb24db1d9d9dc267fd0a48cb035b3187720a67af39fccfd2a7ba2cae284662cc3df46ecf7a307a50a2b47fd6f170aa323bbb1 -EBUILD compat-wireless-3.6.2.ebuild 7119 SHA256 0c79591d9afd1d9bed4e26e5690d16e8e3f5d280e7792ff292c37181a9c659bc SHA512 7fab1dfbb744fd649a377b134a413bdeef414ea014646d744ce60441ea5c15c16d3b7e670494670bc0bf220ee0155ee8e6070f02e4ee2bbad59d799d8bd9edfc WHIRLPOOL 047680be03ea2fb004eda87954d31d24a542ae94ee6d4e2cd8f76e330464af8602f45a4d8e7920c5d34e56a5d6ab22c3b0df23ec038c65173f430ea2e9607d95 -EBUILD compat-wireless-3.6.6-r1.ebuild 7241 SHA256 36422b26eb004e9cee54723463dfa2ee3bcbe85215f91b4621cd525fc30ef4d1 SHA512 cd11940f10a60ff22532bbc37faa46015e09494bd50d282fbc8fa2d8ec3d0e37ef0fcb517a59dcd1a2fe75f46ec998c898024348615aafc71fe9eb6789ba364d WHIRLPOOL 353ad02c98ceb63fc3c58756e4968b983635536127072bf24141216001e6e39fd80fa4c54ae498ada53891c6777fee2c69d5d307d4fe75f01a369f9e01efcc78 -EBUILD compat-wireless-3.6.6.ebuild 7120 SHA256 0b463780ffe9339aeb4661db085aad049973b702bab9a3714288275bf11d7dd2 SHA512 64211a924fb68386398a7d189a7e2d5cf25528f61636396764c175f2e7fc21c0dab62578d4870911e599b6619d724b3f7a481428b3682d6385ecdd75b27d9c94 WHIRLPOOL e75a856faab4e808e276260dc27b20da4db2ad920743b3fcc58488aa9566fdbe4cc8f82bd6a4fd075bc6cfee4b43d7d67d37149b9997b193835391adce97948e -EBUILD compat-wireless-3.6_rc5.ebuild 6878 SHA256 5c174ccc936d0a81b585cd20238aed52c2d520b43067b5768579cabbf80ceb20 SHA512 0cef6c6a305c47ac0a3f57e71ed6740e1f5ad76f660ca23df1c2253ab4ba329dba988a061d10e0e23bcbbcf76990f53213ff008b8a03612f58efee1222f56b12 WHIRLPOOL 6595e81a6f805ce643768b74af497398c7cb74e2db0bf7767acf45576b19e976bf0ab172f95ac6cc1aeea0a5869c87b0ecb65faf348e76758056d62ada675362 -EBUILD compat-wireless-3.6_rc7.ebuild 7121 SHA256 40fa110888619aa0eca6a920554e3734e84a8319402ff88369f8c1b16a2460fb SHA512 41aca27c4accfa72c9bd9554e30127ed48627e7dfdfbe60d3a7eeca55387d12beafa04ff6ef36b8bed90f6ccc49aa3b817a8769f3b2ea2d8e9338adc4058adc3 WHIRLPOOL bf2207904ce98356b4b640272a0d0ad37534c50a467fccff8c8696937bb71d36c1fe819d09ee42e79d2b2499b0f968c1725b23ecee4411daec2a9ef61068a65a -MISC metadata.xml 228 SHA256 8715828d1bff71d5d96b991ba600bae9376c1c80c96f0f102260fc335ca22487 SHA512 006b031017fe79d0da68ed1c2684d2b87f75976111d8abdb18d126ffe142df8ded67805f14fe4adfe17e93287080126b7f4af64dac0ebaa1d9fe4c97e5f9573a WHIRLPOOL e711ede3bf7bcf0dc9d3ecd2706e4120270d4942718ee901f8d42c1c86055c8b153bdb24d6682a56d14f5b14d4ff220c115f14714b3f039bdc3deeece3d1fd02 diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.32.8.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.32.8.ebuild deleted file mode 100644 index 9a77e7f7..00000000 --- a/net-wireless/compat-wireless/compat-wireless-2.6.32.8.ebuild +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" -inherit linux-mod linux-info versionator - -##Stable -MY_P=${P/_rc/-rc} -MY_PV=v$(get_version_component_range 1-3) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="injection" - -DEPEND="" -RDEPEND="=sys-kernel/linux-firmware-99999999" - -S=${WORKDIR}/${MY_P} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required" - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" -} - -src_prepare() { - #whynot patch is against the makefile to fix general brokeness - epatch "${FILESDIR}"/whynot-2.6.32.patch - - if use injection; then - epatch "${FILESDIR}"/400[24]_*.patch - epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/compat-chaos.patch; - epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch - fi -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KVER="${KV_FULL}" || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" || die "failed to install module ${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/modlib.sh scripts/b43enable scripts/load.sh \ - scripts/unload.sh || die "script installation failed" - dodoc README || die - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - einfo 'You may have problem if you do not run "depmod -ae" after this installation' - einfo 'To switch to the new drivers without reboot run unload.sh then load.sh' -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.33-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.33-r1.ebuild deleted file mode 100644 index ec5e9381..00000000 --- a/net-wireless/compat-wireless/compat-wireless-2.6.33-r1.ebuild +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" -inherit linux-mod linux-info versionator - -##Stable -MY_P=${P/_rc/-rc} -MY_PV=v$(get_version_component_range 1-3) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="injection" - -DEPEND="" -RDEPEND="=sys-kernel/linux-firmware-99999999" - -S=${WORKDIR}/${MY_P} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -ge $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" -} - -src_prepare() { - #whynot patch is against the makefile to fix general brokeness - epatch "${FILESDIR}"/whynot-2.6.32.patch - - if use injection; then - epatch "${FILESDIR}"/400[24]_*.patch - epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/compat-chaos.patch; - epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch - fi -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KVER="${KV_FULL}" || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" || die "failed to install module ${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/load.sh \ - scripts/unload.sh || die "script installation failed" - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh || die - - dodoc README || die - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - einfo 'You may have problem if you do not run "depmod -ae" after this installation' - einfo 'To switch to the new drivers without reboot run unload.sh then load.sh' -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.34-r2.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.34-r2.ebuild deleted file mode 100644 index e2bb72e4..00000000 --- a/net-wireless/compat-wireless/compat-wireless-2.6.34-r2.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" -inherit linux-mod linux-info versionator - -##Stable -MY_P=${P/_rc/-rc} -MY_PV=v$(get_version_component_range 1-3) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="injection tinyversionoverride" - -DEPEND="" -RDEPEND="=sys-kernel/linux-firmware-99999999" - -S=${WORKDIR}/${MY_P} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then - if use tinyversionoverride; then - ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" - ewarn "kernel is older than the compat-wireless you are installing." - ewarn "Most likely you have no clue what you are doing and should hit control-C now" - ewarn "before you downgrade your system. Ten seconds to think about it." - epause 10 - else - ewarn "Your kernel version is most likely newer than the compat-wireless release you are" - ewarn "trying to install. If you are certain that your kernel is older then you can set" - ewarn "the tinyversionoverride use flag to override this safety check." - epause 5 - die "Your kernel version is too close to the compat-wireless version to risk installation." - fi - fi - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" -} - -src_prepare() { - #whynot patch is against the makefile to fix general brokeness - epatch "${FILESDIR}"/whynot-2.6.32.patch - #0001 is a patch to fix monitor mode promisc for ath5k, a bug present for a very long time. - #this patch should be merged soon and no longer needed. - epatch "${FILESDIR}"/0001-ath5k-retain-promiscuous-setting.patch - - if use injection; then - epatch "${FILESDIR}"/400[24]_*.patch - epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/compat-chaos.patch - epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch - epatch "${FILESDIR}"/super_secret_patch.diff - fi -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KVER="${KV_FULL}" || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" || die "failed to install module ${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/load.sh \ - scripts/unload.sh || die "script installation failed" - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh || die - - dodoc README || die - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - einfo 'You may have problem if you do not run "depmod -ae" after this installation' - einfo 'To switch to the new drivers without reboot run unload.sh then load.sh' -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.35-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.35-r1.ebuild deleted file mode 100644 index 2c946dad..00000000 --- a/net-wireless/compat-wireless/compat-wireless-2.6.35-r1.ebuild +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -#remove the below line -MY_P=${PF/-r/-} -#remove the above line - -MY_PV=v$(get_version_component_range 1-3) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="atheros_obey_crda debugfs debug-driver full-debug injection noleds tinyversionoverride" - -DEPEND="" -RDEPEND="=sys-kernel/linux-firmware-99999999" - -S=${WORKDIR}/${MY_P} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { -# if ! version_is_at_least 4.4.3 "$(gcc-fullversion)"; then -# die -# fi - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then - if use tinyversionoverride; then - ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" - ewarn "kernel is older than the compat-wireless you are installing." - ewarn "Most likely you have no clue what you are doing and should hit control-C now" - ewarn "before you downgrade your system. Ten seconds to think about it." - epause 10 - else - ewarn "Your kernel version is most likely newer than the compat-wireless release you are" - ewarn "trying to install. If you are certain that your kernel is older then you can set" - ewarn "the tinyversionoverride use flag to override this safety check." - epause 5 - die "Your kernel version is too close to the compat-wireless version to risk installation." - fi - fi - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" -} - -src_prepare() { - #whynot patch is against the makefile to fix general brokeness - epatch "${FILESDIR}"/whynot-2.6.32.patch - - #this patch fixes a trivial typo in the config.mk - epatch "${FILESDIR}"/fix-typos-2.6.35_rc2.patch - - #this patch is needed to forcibly enable new ralink chips because the shipped config.mk doesn't enable them - epatch "${FILESDIR}"/force-enable-new-ralink.patch - epatch "${FILESDIR}"/force-enable-new-ralink-pci.patch - - #this patch is needed for general craziness of WEXT being removed from the kernel - epatch "${FILESDIR}"/WEXT-EXT-nuts.patch - - #test patch for fixing iwlagn issues - epatch "${FILESDIR}"/reinette-test2.patch - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epause 10 - epatch "${FILESDIR}"/ath_ignore_eeprom.patch - fi - - if use injection; then - epatch "${FILESDIR}"/400[24]_*.patch - epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/compat-chaos.patch - epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch -# epatch "${FILESDIR}"/super_secret_patch.diff - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KVER="${KV_FULL}" || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" || die "failed to install module ${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/load.sh \ - scripts/unload.sh || die "script installation failed" - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh || die - - dodoc README || die - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - einfo 'You may have problem if you do not run "depmod -ae" after this installation' - einfo 'To switch to the new drivers without reboot run unload.sh then load.sh' -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.36.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.36.ebuild deleted file mode 100644 index 340b734d..00000000 --- a/net-wireless/compat-wireless/compat-wireless-2.6.36.ebuild +++ /dev/null @@ -1,137 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-3) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}-5-spn.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="x86 amd64 arm" -IUSE="atheros_obey_crda debugfs debug-driver full-debug injection noleds tinyversionoverride" - -DEPEND="" -RDEPEND="=sys-kernel/linux-firmware-99999999" - -S="${WORKDIR}"/"${MY_P}"-5-spn -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then - if use tinyversionoverride; then - ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" - ewarn "kernel is older than the compat-wireless you are installing." - ewarn "Most likely you have no clue what you are doing and should hit control-C now" - ewarn "before you downgrade your system. Ten seconds to think about it." - epause 10 - else - ewarn "Your kernel version is most likely newer than the compat-wireless release you are" - ewarn "trying to install. If you are certain that your kernel is older then you can set" - ewarn "the tinyversionoverride use flag to override this safety check." - epause 5 - die "Your kernel version is too close to the compat-wireless version to risk installation." - fi - fi - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" -} - -src_prepare() { - #this patch fixes a trivial typo in the config.mk - epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch - - #this patch is needed to forcibly enable new ralink chips because the shipped config.mk doesn't enable them - epatch "${FILESDIR}"/force-enable-new-ralink-pci-2.6.36-rc5.patch - - #this may or may not HELP the channel -1 issue. this is not a fix - epatch "${FILESDIR}"/channel-negative-one-maxim.patch - - #test patch for fixing iwlagn issues - epatch "${FILESDIR}"/reinette-test2.patch - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epause 10 - epatch "${FILESDIR}"/ath_ignore_eeprom.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/compat-chaos.patch - epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch -# epatch "${FILESDIR}"/super_secret_patch.diff - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" || die "failed to install module ${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/load.sh \ - scripts/unload.sh || die "script installation failed" - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh || die - - dodoc README || die - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - einfo 'You may have problem if you do not run "depmod -ae" after this installation' - einfo 'To switch to the new drivers without reboot run unload.sh then load.sh' -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.37-r7.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.37-r7.ebuild deleted file mode 100644 index 001337b7..00000000 --- a/net-wireless/compat-wireless/compat-wireless-2.6.37-r7.ebuild +++ /dev/null @@ -1,139 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-3) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="4-sn" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="x86 amd64 arm" -IUSE="atheros_obey_crda debugfs debug-driver full-debug injection noleds tinyversionoverride" - -DEPEND="" -RDEPEND="=sys-kernel/linux-firmware-99999999" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then - if use tinyversionoverride; then - ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" - ewarn "kernel is older than the compat-wireless you are installing." - ewarn "Most likely you have no clue what you are doing and should hit control-C now" - ewarn "before you downgrade your system. Ten seconds to think about it." - epause 10 - else - ewarn "Your kernel version is most likely newer than the compat-wireless release you are" - ewarn "trying to install. If you are certain that your kernel is older then you can set" - ewarn "the tinyversionoverride use flag to override this safety check." - epause 5 - die "Your kernel version is too close to the compat-wireless version to risk installation." - fi - fi - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" -} - -src_prepare() { - #this patch fixes a trivial typo in the config.mk - epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch - - #this patch is needed to forcibly enable new ralink chips because the shipped config.mk doesn't enable them - epatch "${FILESDIR}"/force-enable-new-ralink-pci-2.6.36-rc5.patch - - #this may or may not HELP the channel -1 issue. this is not a fix - epatch "${FILESDIR}"/channel-negative-one-maxim.patch - - #add support for ubiquiti toy for Ray - epatch "${FILESDIR}"/ubnt-wifi-station-ext2.patch - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epause 10 - epatch "${FILESDIR}"/ath_ignore_eeprom.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch -# epatch "${FILESDIR}"/compat-chaos.patch - epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch -# epatch "${FILESDIR}"/super_secret_patch.diff - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" || die "failed to install module ${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh || die "script installation failed" - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh || die - - dodoc README || die - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - einfo 'You may have problem if you do not run "depmod -ae" after this installation' - einfo 'To switch to the new drivers without reboot run unload.sh then load - your needed driver.' -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.37-r8.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.37-r8.ebuild deleted file mode 100644 index f0933d65..00000000 --- a/net-wireless/compat-wireless/compat-wireless-2.6.37-r8.ebuild +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" -inherit linux-mod linux-info versionator eutils flag-o-matic - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-3) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="4-sn" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="x86 amd64 arm" -IUSE="atheros_obey_crda debugfs debug-driver full-debug injection noleds tinyversionoverride n900" - -DEPEND="" -RDEPEND="!arm? ( =sys-kernel/linux-firmware-99999999 )" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -#CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then - if use tinyversionoverride; then - ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" - ewarn "kernel is older than the compat-wireless you are installing." - ewarn "Most likely you have no clue what you are doing and should hit control-C now" - ewarn "before you downgrade your system. Ten seconds to think about it." - epause 10 - else - ewarn "Your kernel version is most likely newer than the compat-wireless release you are" - ewarn "trying to install. If you are certain that your kernel is older then you can set" - ewarn "the tinyversionoverride use flag to override this safety check." - epause 5 - die "Your kernel version is too close to the compat-wireless version to risk installation." - fi - fi - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" -} - -src_prepare() { - #this patch fixes a trivial typo in the config.mk - epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch - - #this patch is needed to forcibly enable new ralink chips because the shipped config.mk doesn't enable them - epatch "${FILESDIR}"/force-enable-new-ralink-pci-2.6.36-rc5.patch - - #this may or may not HELP the channel -1 issue. this is not a fix - # this breaks wl1251 patches - #epatch "${FILESDIR}"/channel-negative-one-maxim.patch - - #add support for ubiquiti toy for Ray - epatch "${FILESDIR}"/ubnt-wifi-station-ext2.patch - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epause 10 - epatch "${FILESDIR}"/ath_ignore_eeprom.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch -# epatch "${FILESDIR}"/compat-chaos.patch - epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch -# epatch "${FILESDIR}"/super_secret_patch.diff - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - if use arm; then - epatch "${FILESDIR}"/wl1251-inject-2.6.37.patch - fi - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -} - -src_compile() { - export LDFLAGS=$(raw-ldflags) - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - if use n900; then - ./scripts/driver-select wl1251 - fi - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" || die "failed to install module ${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh || die "script installation failed" - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh || die - - dodoc README || die - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - einfo 'You may have problem if you do not run "depmod -ae" after this installation' - einfo 'To switch to the new drivers without reboot run unload.sh then load - your needed driver.' -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.38.2-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.38.2-r1.ebuild deleted file mode 100644 index cad4a11d..00000000 --- a/net-wireless/compat-wireless/compat-wireless-2.6.38.2-r1.ebuild +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-3) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="2-ns" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="arm amd64 x86" -IUSE="atheros_obey_crda debugfs debug-driver full-debug injection noleds tinyversionoverride" - -DEPEND="" -RDEPEND=">=sys-kernel/linux-firmware-20110429" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then - if use tinyversionoverride; then - ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" - ewarn "kernel is older than the compat-wireless you are installing." - ewarn "Most likely you have no clue what you are doing and should hit control-C now" - ewarn "before you downgrade your system. Ten seconds to think about it." - epause 10 - else - ewarn "Your kernel version is most likely newer than the compat-wireless release you are" - ewarn "trying to install. If you are certain that your kernel is older then you can set" - ewarn "the tinyversionoverride use flag to override this safety check." - epause 5 - die "Your kernel version is too close to the compat-wireless version to risk installation." - fi - fi - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" -} - -src_prepare() { - #this patch fixes a trivial typo in the config.mk - epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch - - #this patch is needed to forcibly enable new ralink chips because the shipped config.mk doesn't enable them - epatch "${FILESDIR}"/force-enable-new-ralink-2.6.38_rc3.patch - - #ath9k_htc ethtool driver fix - epatch "${FILESDIR}"/ath9k_htc_ethtool_driver.patch - - #this may or may not HELP the channel -1 issue. this is not a fix - epatch "${FILESDIR}"/channel-negative-one-maxim.patch - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epause 10 - epatch "${FILESDIR}"/ath_ignore_eeprom.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch -# epatch "${FILESDIR}"/compat-chaos.patch -# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch -# epatch "${FILESDIR}"/super_secret_patch.diff - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" || die "failed to install module ${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh || die "script installation failed" - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh || die - - dodoc README || die - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - einfo 'You may have problem if you do not run "depmod -ae" after this installation' - einfo 'To switch to the new drivers without reboot run unload.sh then load - your needed driver.' -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.39-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.39-r1.ebuild deleted file mode 100644 index 52e85533..00000000 --- a/net-wireless/compat-wireless/compat-wireless-2.6.39-r1.ebuild +++ /dev/null @@ -1,137 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-3) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="1-sn" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="arm amd64 x86" -IUSE="atheros_obey_crda debugfs debug-driver full-debug injection livecd noleds tinyversionoverride" - -DEPEND="" -RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 ) - !livecd? ( >=sys-kernel/linux-firmware-20110709 )" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then - if use tinyversionoverride; then - ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" - ewarn "kernel is older than the compat-wireless you are installing." - ewarn "Most likely you have no clue what you are doing and should hit control-C now" - ewarn "before you downgrade your system. Ten seconds to think about it." - epause 10 - else - ewarn "Your kernel version is most likely newer than the compat-wireless release you are" - ewarn "trying to install. If you are certain that your kernel is older then you can set" - ewarn "the tinyversionoverride use flag to override this safety check." - epause 5 - die "Your kernel version is too close to the compat-wireless version to risk installation." - fi - fi - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" -} - -src_prepare() { - #this patch fixes a trivial typo in the config.mk - epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch - - #this may or may not HELP the channel -1 issue. this is not a fix - epatch "${FILESDIR}"/channel-negative-one-maxim.patch - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epause 10 - epatch "${FILESDIR}"/ath_ignore_eeprom.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch -# epatch "${FILESDIR}"/compat-chaos.patch -# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch -# epatch "${FILESDIR}"/super_secret_patch.diff - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" || die "failed to install module ${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh || die "script installation failed" - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh || die - - dodoc README || die - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - einfo 'You may have problem if you do not run "depmod -ae" after this installation' - einfo 'To switch to the new drivers without reboot run unload.sh then load - your needed driver.' -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.0.ebuild b/net-wireless/compat-wireless/compat-wireless-3.0.ebuild deleted file mode 100644 index ce42f2ba..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.0.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2).0 -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="2" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="arm amd64 x86" -IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride" - -DEPEND="" -RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 ) - !livecd? ( >=sys-kernel/linux-firmware-20110709 ) - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then - if use tinyversionoverride; then - ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" - ewarn "kernel is older than the compat-wireless you are installing." - ewarn "Most likely you have no clue what you are doing and should hit control-C now" - ewarn "before you downgrade your system. Ten seconds to think about it." - else - ewarn "Your kernel version is most likely newer than the compat-wireless release you are" - ewarn "trying to install. If you are certain that your kernel is older then you can set" - ewarn "the tinyversionoverride use flag to override this safety check." - die "Your kernel version is too close to the compat-wireless version to risk installation." - fi - fi - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_present SSB || die "You need to enable CONFIG_SSB or USE=-b44" - linux_chkconfig_present NET_ETHERNET || die "You need to enable CONFIG_NET_ETHERNET or USE=-b44" - fi -} - -src_prepare() { - epatch "${FILESDIR}"/make-make.patch - - #this patch fixes a trivial typo in the config.mk - epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch - - #this may or may not HELP the channel -1 issue. this is not a fix - epatch "${FILESDIR}"/channel-negative-one-maxim.patch - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch -# epatch "${FILESDIR}"/compat-chaos.patch -# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch -# epatch "${FILESDIR}"/super_secret_patch.diff - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - /usr/sbin/unload.sh - /sbin/udevadm trigger - einfo "Your new modules have been loaded for you, sorry for the network hiccup." - fi - fi - einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.1.1.ebuild b/net-wireless/compat-wireless/compat-wireless-3.1.1.ebuild deleted file mode 100644 index 88253317..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.1.1.ebuild +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="1" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~arm amd64 x86" -IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride" - -DEPEND="" -RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 ) - !livecd? ( >=sys-kernel/linux-firmware-20110709 ) - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then - if use tinyversionoverride; then - ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" - ewarn "kernel is older than the compat-wireless you are installing." - ewarn "Most likely you have no clue what you are doing and should hit control-C now" - ewarn "before you downgrade your system." - else - ewarn "Your kernel version is most likely newer than the compat-wireless release you are" - ewarn "trying to install. If you are certain that your kernel is older then you can set" - ewarn "the tinyversionoverride use flag to override this safety check." - die "Your kernel version is too close to the compat-wireless version to risk installation." - fi - fi - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_present SSB || die "You need to enable CONFIG_SSB or USE=-b44" - linux_chkconfig_present NET_ETHERNET || die "You need to enable CONFIG_NET_ETHERNET or USE=-b44" - fi -} - -src_prepare() { - epatch "${FILESDIR}"/make-make.patch - - #this patch fixes a trivial typo in the config.mk - epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch - - #this may or may not HELP the channel -1 issue. this is not a fix - #epatch "${FILESDIR}"/channel-negative-one-maxim.patch - - #Linville finally stepped in and offered this patch so we are testing it - #epatch "${FILESDIR}"/linville-aircrack-ng.patch - - #johill - epatch "${FILESDIR}"/johill-negone-paul.patch - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch -# epatch "${FILESDIR}"/compat-chaos.patch -# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch -# epatch "${FILESDIR}"/super_secret_patch.diff - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - /usr/sbin/unload.sh - /sbin/udevadm trigger - einfo "Your new modules have been loaded for you, sorry for the network hiccup." - fi - fi - einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.2.5.ebuild b/net-wireless/compat-wireless/compat-wireless-3.2.5.ebuild deleted file mode 100644 index 61952b89..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.2.5.ebuild +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="1" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm x86" -IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride" - -DEPEND="" -RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 ) - !livecd? ( >=sys-kernel/linux-firmware-20110709 ) - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then - if use tinyversionoverride; then - ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" - ewarn "kernel is older than the compat-wireless you are installing." - ewarn "Most likely you have no clue what you are doing and should hit control-C now" - ewarn "before you downgrade your system." - else - ewarn "Your kernel version is most likely newer than the compat-wireless release you are" - ewarn "trying to install. If you are certain that your kernel is older then you can set" - ewarn "the tinyversionoverride use flag to override this safety check." - die "Your kernel version is too close to the compat-wireless version to risk installation." - fi - fi - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_present SSB || die "You need to enable CONFIG_SSB or USE=-b44" - linux_chkconfig_present NET_ETHERNET || die "You need to enable CONFIG_NET_ETHERNET or USE=-b44" - fi -} - -src_prepare() { - epatch "${FILESDIR}"/make-make.patch - - #this patch fixes a trivial typo in the config.mk - epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch - - #this may or may not HELP the channel -1 issue. this is not a fix - #epatch "${FILESDIR}"/channel-negative-one-maxim.patch - - #Linville finally stepped in and offered this patch so we are testing it - #epatch "${FILESDIR}"/linville-aircrack-ng.patch - - #johill - epatch "${FILESDIR}"/johill-negone-paul.patch - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch -# epatch "${FILESDIR}"/compat-chaos.patch -# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch -# epatch "${FILESDIR}"/super_secret_patch.diff - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - /usr/sbin/unload.sh - /sbin/udevadm trigger - einfo "Your new modules have been loaded for you, sorry for the network hiccup." - fi - fi - einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.2.ebuild b/net-wireless/compat-wireless/compat-wireless-3.2.ebuild deleted file mode 100644 index 34087505..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.2.ebuild +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="1-s" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm x86" -IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride" - -DEPEND="" -RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 ) - !livecd? ( >=sys-kernel/linux-firmware-20110709 ) - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then - if use tinyversionoverride; then - ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" - ewarn "kernel is older than the compat-wireless you are installing." - ewarn "Most likely you have no clue what you are doing and should hit control-C now" - ewarn "before you downgrade your system." - else - ewarn "Your kernel version is most likely newer than the compat-wireless release you are" - ewarn "trying to install. If you are certain that your kernel is older then you can set" - ewarn "the tinyversionoverride use flag to override this safety check." - die "Your kernel version is too close to the compat-wireless version to risk installation." - fi - fi - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_present SSB || die "You need to enable CONFIG_SSB or USE=-b44" - linux_chkconfig_present NET_ETHERNET || die "You need to enable CONFIG_NET_ETHERNET or USE=-b44" - fi -} - -src_prepare() { - epatch "${FILESDIR}"/make-make.patch - - #this patch fixes a trivial typo in the config.mk - epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch - - #this may or may not HELP the channel -1 issue. this is not a fix - #epatch "${FILESDIR}"/channel-negative-one-maxim.patch - - #Linville finally stepped in and offered this patch so we are testing it - #epatch "${FILESDIR}"/linville-aircrack-ng.patch - - #johill - epatch "${FILESDIR}"/johill-negone-paul.patch - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch -# epatch "${FILESDIR}"/compat-chaos.patch -# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch -# epatch "${FILESDIR}"/super_secret_patch.diff - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - /usr/sbin/unload.sh - /sbin/udevadm trigger - einfo "Your new modules have been loaded for you, sorry for the network hiccup." - fi - fi - einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.3-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-3.3-r1.ebuild deleted file mode 100644 index 82d79610..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.3-r1.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="2-n" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm x86" -IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride" - -DEPEND="!net-wireless/compat-wireless" -RDEPEND="${DEPEND} - livecd? ( =sys-kernel/linux-firmware-99999999 ) - !livecd? ( >=sys-kernel/linux-firmware-20120219 ) - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then - if use tinyversionoverride; then - ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" - ewarn "kernel is older than the compat-wireless you are installing." - ewarn "Most likely you have no clue what you are doing and should hit control-C now" - ewarn "before you downgrade your system." - else - ewarn "Your kernel version is most likely newer than the compat-wireless release you are" - ewarn "trying to install. If you are certain that your kernel is older then you can set" - ewarn "the tinyversionoverride use flag to override this safety check." - die "Your kernel version is too close to the compat-wireless version to risk installation." - fi - fi - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_prepare() { - epatch "${FILESDIR}"/make-make.patch - - #this patch fixes a trivial typo in the config.mk - epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch - - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - /usr/sbin/unload.sh - /sbin/udevadm trigger - einfo "Your new modules have been loaded for you, sorry for the network hiccup." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.3.ebuild b/net-wireless/compat-wireless/compat-wireless-3.3.ebuild deleted file mode 100644 index 0e856449..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.3.ebuild +++ /dev/null @@ -1,169 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="1" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm x86" -IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride" - -DEPEND="" -RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 ) - !livecd? ( >=sys-kernel/linux-firmware-20110709 ) - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then - if use tinyversionoverride; then - ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" - ewarn "kernel is older than the compat-wireless you are installing." - ewarn "Most likely you have no clue what you are doing and should hit control-C now" - ewarn "before you downgrade your system." - else - ewarn "Your kernel version is most likely newer than the compat-wireless release you are" - ewarn "trying to install. If you are certain that your kernel is older then you can set" - ewarn "the tinyversionoverride use flag to override this safety check." - die "Your kernel version is too close to the compat-wireless version to risk installation." - fi - fi - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_prepare() { - epatch "${FILESDIR}"/make-make.patch - - #this patch fixes a trivial typo in the config.mk - epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch - - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - /usr/sbin/unload.sh - /sbin/udevadm trigger - einfo "Your new modules have been loaded for you, sorry for the network hiccup." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.4_rc1-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-3.4_rc1-r1.ebuild deleted file mode 100644 index d570b2e5..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.4_rc1-r1.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="2" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds" - -DEPEND="!net-wireless/compat-wireless-builder" -RDEPEND="${DEPEND} - livecd? ( =sys-kernel/linux-firmware-99999999 ) - !livecd? ( >=sys-kernel/linux-firmware-20110709 ) - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then - ewarn "Please report that you saw this message in #pentoo on irc.freenode.net along with your uname -r" - fi - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_prepare() { - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - einfo "Attempting to unload modules..." - /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" - einfo "Triggering automatic reload of needed modules..." - /sbin/udevadm trigger - einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." - einfo "If you experience any issues reboot is the simplest course of action." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.4_rc1.ebuild b/net-wireless/compat-wireless/compat-wireless-3.4_rc1.ebuild deleted file mode 100644 index 251352c8..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.4_rc1.ebuild +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="2" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride" - -DEPEND="" -RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 ) - !livecd? ( >=sys-kernel/linux-firmware-20110709 ) - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then - if use tinyversionoverride; then - ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" - ewarn "kernel is older than the compat-wireless you are installing." - ewarn "Most likely you have no clue what you are doing and should hit control-C now" - ewarn "before you downgrade your system." - else - ewarn "Your kernel version is most likely newer than the compat-wireless release you are" - ewarn "trying to install. If you are certain that your kernel is older then you can set" - ewarn "the tinyversionoverride use flag to override this safety check." - die "Your kernel version is too close to the compat-wireless version to risk installation." - fi - fi - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_prepare() { - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - /usr/sbin/unload.sh - /sbin/udevadm trigger - einfo "Your new modules have been loaded for you, sorry for the network hiccup." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.4_rc3.ebuild b/net-wireless/compat-wireless/compat-wireless-3.4_rc3.ebuild deleted file mode 100644 index a13cae53..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.4_rc3.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="1" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds" - -DEPEND="!net-wireless/compat-wireless-builder" -RDEPEND="${DEPEND} - livecd? ( =sys-kernel/linux-firmware-99999999 ) - !livecd? ( >=sys-kernel/linux-firmware-20110219 ) - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_prepare() { - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - einfo "Attempting to unload modules..." - /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" - einfo "Triggering automatic reload of needed modules..." - /sbin/udevadm trigger - einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." - einfo "If you experience any issues reboot is the simplest course of action." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.5-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-3.5-r1.ebuild deleted file mode 100644 index e09c719b..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.5-r1.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="1-snpc" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" - -DEPEND="!net-wireless/compat-wireless-builder" -RDEPEND="${DEPEND} - >=sys-kernel/linux-firmware-20110219 - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - CONFIG_CHECK="~NET_SCHED" - CONFIG_CHECK="~IPW2200_PROMISCUOUS" - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_prepare() { - use pax_kernel && epatch "${FILESDIR}"/${P}-grsec.patch - use pax_kernel && epatch "${FILESDIR}"/${P}-grsec2.patch - - #mcgrof said prep for inclusion in compat-wireless.git but this causes issues - #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' - #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk - - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - - #enable alx atheros ethernet driver - sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" - - #avoid annoying ACCESS DENIED sandbox errors - sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" - sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" - sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - einfo "Attempting to unload modules..." - /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" - einfo "Triggering automatic reload of needed modules..." - /sbin/udevadm trigger - einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." - einfo "If you experience any issues reboot is the simplest course of action." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.5.4.ebuild b/net-wireless/compat-wireless/compat-wireless-3.5.4.ebuild deleted file mode 100644 index ee98649d..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.5.4.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="1-snpc" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm x86" -IUSE="+alx atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" - -DEPEND="!net-wireless/compat-wireless-builder" -RDEPEND="${DEPEND} - >=sys-kernel/linux-firmware-20110219 - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - CONFIG_CHECK="~NET_SCHED" - CONFIG_CHECK="~IPW2200_PROMISCUOUS" - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_prepare() { - use pax_kernel && epatch "${FILESDIR}"/${PN}-3.5.4-grsec.patch - - #mcgrof said prep for inclusion in compat-wireless.git but this causes issues - #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' - #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk - - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - - #enable alx atheros ethernet driver - if use alx; then - sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" - else - sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver" - fi - - #avoid annoying ACCESS DENIED sandbox errors - sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" - sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" - sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - einfo "Attempting to unload modules..." - /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" - einfo "Triggering automatic reload of needed modules..." - /sbin/udevadm trigger - einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." - einfo "If you experience any issues reboot is the simplest course of action." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.5.ebuild b/net-wireless/compat-wireless/compat-wireless-3.5.ebuild deleted file mode 100644 index d6e2fc2d..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.5.ebuild +++ /dev/null @@ -1,169 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="1-snpc" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" - -DEPEND="!net-wireless/compat-wireless-builder" -RDEPEND="${DEPEND} - >=sys-kernel/linux-firmware-20110219 - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - CONFIG_CHECK="~NET_SCHED" - CONFIG_CHECK="~IPW2200_PROMISCUOUS" - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_prepare() { - use pax_kernel && epatch "${FILESDIR}"/${P}-grsec.patch - - #mcgrof said prep for inclusion in compat-wireless.git but this causes issues - #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' - #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk - - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - - #enable alx atheros ethernet driver - sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" - - #avoid annoying ACCESS DENIED sandbox errors - sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" - sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" - sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - einfo "Attempting to unload modules..." - /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" - einfo "Triggering automatic reload of needed modules..." - /sbin/udevadm trigger - einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." - einfo "If you experience any issues reboot is the simplest course of action." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.5_rc3.ebuild b/net-wireless/compat-wireless/compat-wireless-3.5_rc3.ebuild deleted file mode 100644 index 4a68c99f..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.5_rc3.ebuild +++ /dev/null @@ -1,155 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="2-snpc" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds" - -DEPEND="!net-wireless/compat-wireless-builder" -RDEPEND="${DEPEND} - >=sys-kernel/linux-firmware-20110219 - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_prepare() { - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - ewarn "Pausing for 10 secs..." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && epatch "${FILESDIR}"/driver-debug.patch - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - einfo "Attempting to unload modules..." - /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" - einfo "Triggering automatic reload of needed modules..." - /sbin/udevadm trigger - einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." - einfo "If you experience any issues reboot is the simplest course of action." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.6.2.ebuild b/net-wireless/compat-wireless/compat-wireless-3.6.2.ebuild deleted file mode 100644 index ce00dd28..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.6.2.ebuild +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="1-snpc" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="+alx ath9k_htc atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" - -DEPEND="!net-wireless/compat-wireless-builder" -RDEPEND="${DEPEND} - >=sys-kernel/linux-firmware-20110219 - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - CONFIG_CHECK="~NET_SCHED" - CONFIG_CHECK="~IPW2200_PROMISCUOUS" - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_prepare() { - use pax_kernel && epatch "${FILESDIR}"/${PN}-3.6-zc-grsec.patch - - #mcgrof said prep for inclusion in compat-wireless.git but this causes issues - #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' - #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk - - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - - #enable alx atheros ethernet driver - if use alx; then - sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" - else - sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver" - fi - - if use ath9k_htc; then - sed -i 's/ATH9K_HTC=n/ATH9K_HTC=m/' "${S}"/config.mk || die "Failed to enable Atheros 9k htc driver" - else - sed -i 's/ATH9K_HTC=m/ATH9K_HTC=n/' "${S}"/config.mk || die "Failed to disable Atheros 9k htc driver" - fi - - #avoid annoying ACCESS DENIED sandbox errors - sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" - sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" - sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - einfo "Attempting to unload modules..." - /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" - einfo "Triggering automatic reload of needed modules..." - /sbin/udevadm trigger - einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." - einfo "If you experience any issues reboot is the simplest course of action." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.6.6-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-3.6.6-r1.ebuild deleted file mode 100644 index ba1fd8f0..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.6.6-r1.ebuild +++ /dev/null @@ -1,181 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 -inherit linux-mod linux-info versionator eutils - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="1-snpc" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="+alx +ath9k_htc atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" - -DEPEND="!net-wireless/compat-wireless-builder" -RDEPEND="${DEPEND} - >=sys-kernel/linux-firmware-20110219 - virtual/udev" - -S="${WORKDIR}/${MY_P}-${CRAZY_VERSIONING}" -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - CONFIG_CHECK="~NET_SCHED" - CONFIG_CHECK="~IPW2200_PROMISCUOUS" - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_prepare() { - use pax_kernel && epatch "${FILESDIR}"/${P}-grsec.patch - use pax_kernel && epatch "${FILESDIR}"/${P}-grsec-warnings.patch - - #mcgrof said prep for inclusion in compat-wireless.git but this causes issues - #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' - #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk - - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch - fi - if use noleds; then - sed -ir 's/^\(export CONFIG_.*_LEDS=\)y$/\1n/' config.mk - epatch "${FILESDIR}/leds-disable-strict-${PV}.patch" - fi - use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - - #enable alx atheros ethernet driver - if use alx; then - sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" - else - sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver" - fi - - if use ath9k_htc; then - sed -i 's/ATH9K_HTC=n/ATH9K_HTC=m/' "${S}"/config.mk || die "Failed to enable Atheros 9k htc driver" - else - sed -i 's/ATH9K_HTC=m/ATH9K_HTC=n/' "${S}"/config.mk || die "Failed to disable Atheros 9k htc driver" - fi - - #avoid annoying ACCESS DENIED sandbox errors - sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" - sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" - sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - einfo "Attempting to unload modules..." - /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" - einfo "Triggering automatic reload of needed modules..." - /sbin/udevadm trigger - einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." - einfo "If you experience any issues reboot is the simplest course of action." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.6.6.ebuild b/net-wireless/compat-wireless/compat-wireless-3.6.6.ebuild deleted file mode 100644 index 8a38ec13..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.6.6.ebuild +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="1-snpc" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="+alx +ath9k_htc atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" - -DEPEND="!net-wireless/compat-wireless-builder" -RDEPEND="${DEPEND} - >=sys-kernel/linux-firmware-20110219 - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - CONFIG_CHECK="~NET_SCHED" - CONFIG_CHECK="~IPW2200_PROMISCUOUS" - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_prepare() { - use pax_kernel && epatch "${FILESDIR}"/${PN}-3.6-zc-grsec.patch - - #mcgrof said prep for inclusion in compat-wireless.git but this causes issues - #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' - #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk - - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - - #enable alx atheros ethernet driver - if use alx; then - sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" - else - sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver" - fi - - if use ath9k_htc; then - sed -i 's/ATH9K_HTC=n/ATH9K_HTC=m/' "${S}"/config.mk || die "Failed to enable Atheros 9k htc driver" - else - sed -i 's/ATH9K_HTC=m/ATH9K_HTC=n/' "${S}"/config.mk || die "Failed to disable Atheros 9k htc driver" - fi - - #avoid annoying ACCESS DENIED sandbox errors - sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" - sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" - sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - einfo "Attempting to unload modules..." - /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" - einfo "Triggering automatic reload of needed modules..." - /sbin/udevadm trigger - einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." - einfo "If you experience any issues reboot is the simplest course of action." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.6_rc5.ebuild b/net-wireless/compat-wireless/compat-wireless-3.6_rc5.ebuild deleted file mode 100644 index 14cce0f1..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.6_rc5.ebuild +++ /dev/null @@ -1,172 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="1-c" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="" -#KEYWORDS="~amd64 ~arm ~x86" -IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" - -DEPEND="!net-wireless/compat-wireless-builder" -RDEPEND="${DEPEND} - >=sys-kernel/linux-firmware-20110219 - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - CONFIG_CHECK="~NET_SCHED" - CONFIG_CHECK="~IPW2200_PROMISCUOUS" - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_prepare() { - use pax_kernel && epatch "${FILESDIR}"/${PN}-3.5-grsec.patch - use pax_kernel && epatch "${FILESDIR}"/${PN}-3.5-grsec2.patch - use pax_kernel && epatch "${FILESDIR}"/${PN}-3.6-grsec.patch - - #mcgrof said prep for inclusion in compat-wireless.git but this causes issues - #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' - #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk - - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - - #enable alx atheros ethernet driver - sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" - - #avoid annoying ACCESS DENIED sandbox errors - sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" - sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" - sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - einfo "Attempting to unload modules..." - /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" - einfo "Triggering automatic reload of needed modules..." - /sbin/udevadm trigger - einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." - einfo "If you experience any issues reboot is the simplest course of action." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/compat-wireless-3.6_rc7.ebuild b/net-wireless/compat-wireless/compat-wireless-3.6_rc7.ebuild deleted file mode 100644 index 238436dc..00000000 --- a/net-wireless/compat-wireless/compat-wireless-3.6_rc7.ebuild +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" -inherit linux-mod linux-info versionator eutils - -##Stable - -MY_P=${P/_rc/-rc} - -MY_PV=v$(get_version_component_range 1-2) -DESCRIPTION="Stable kernel pre-release wifi subsystem backport" -HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" -CRAZY_VERSIONING="1-snpc" -SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="+alx ath9k_htc atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" - -DEPEND="!net-wireless/compat-wireless-builder" -RDEPEND="${DEPEND} - >=sys-kernel/linux-firmware-20110219 - virtual/udev" - -S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} -RESTRICT="strip" - -CONFIG_CHECK="!DYNAMIC_FTRACE" - -pkg_setup() { - CONFIG_CHECK="~NET_SCHED" - CONFIG_CHECK="~IPW2200_PROMISCUOUS" - linux-mod_pkg_setup - kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" - kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." - - #these things are not optional - linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" - linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" - linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" - - if use b43; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" - fi - if use b44; then - linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" - fi -} - -src_prepare() { - use pax_kernel && epatch "${FILESDIR}"/${PN}-3.6-zc-grsec.patch - - #mcgrof said prep for inclusion in compat-wireless.git but this causes issues - #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' - #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk - - # CONFIG_CFG80211_REG_DEBUG=y - sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk - - #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right - if use atheros_obey_crda; then - ewarn "You have enabled atheros_obey_crda which doesn't do what you think." - ewarn "This use flag will cause the eeprom of the card to be ignored and force" - ewarn "world roaming on the device until crda provides a valid regdomain." - ewarn "Short version, this is not a way to break the law, this will automatically" - ewarn "make your card less functional unless you set a proper regdomain with iw/crda." - epatch "${FILESDIR}"/ath_regd_optional.patch - fi - - if use injection; then - epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch - epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch - # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch - # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch - epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch - fi - use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch - use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk - use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk - if use full-debug; then - if use debug-driver ; then - sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk - else - ewarn "Enabling full-debug includes debug-driver." - sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk - fi - fi -# Disable B44 ethernet driver - if ! use b44; then - sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" - fi - -# Disable B43 driver - if ! use b43; then - sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" - #CONFIG_B43LEGACY= - fi - -# fixme: there are more bluethooth settings in the config.mk - if ! use bluetooth; then - sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" - sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" - fi - - #enable alx atheros ethernet driver - if use alx; then - sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" - else - sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver" - fi - - if use ath9k_htc; then - sed -i 's/ATH9K_HTC=n/ATH9K_HTC=m/' "${S}"/config.mk || die "Failed to enable Atheros 9k htc driver" - else - sed -i 's/ATH9K_HTC=m/ATH9K_HTC=n/' "${S}"/config.mk || die "Failed to disable Atheros 9k htc driver" - fi - - #avoid annoying ACCESS DENIED sandbox errors - sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" - sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" - sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" -} - -src_compile() { - addpredict "${KERNEL_DIR}" - set_arch_to_kernel - emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" -} - -src_install() { - for file in $(find -name \*.ko); do - insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" - doins "${file}" - done - dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ - scripts/madwifi-unload scripts/athload scripts/iwl-load \ - scripts/b43enable scripts/unload.sh - - dodir /usr/lib/compat-wireless - exeinto /usr/lib/compat-wireless - doexe scripts/modlib.sh - - dodoc README - dodir /$(get_libdir)/udev/rules.d/ - insinto /$(get_libdir)/udev/rules.d/ - doins udev/50-compat_firmware.rules - exeinto /$(get_libdir)/udev/ - doexe udev/compat_firmware.sh -} - -pkg_postinst() { - update_depmod - update_moduledb - - if use !livecd; then - if use loadmodules; then - einfo "Attempting to unload modules..." - /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" - einfo "Triggering automatic reload of needed modules..." - /sbin/udevadm trigger - einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." - einfo "If you experience any issues reboot is the simplest course of action." - fi - fi - if use !loadmodules; then - einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." - einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." - einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." - fi -} - -pkg_postrm() { - remove_moduledb -} diff --git a/net-wireless/compat-wireless/files/0001-ath5k-retain-promiscuous-setting.patch b/net-wireless/compat-wireless/files/0001-ath5k-retain-promiscuous-setting.patch deleted file mode 100644 index 62d496a7..00000000 --- a/net-wireless/compat-wireless/files/0001-ath5k-retain-promiscuous-setting.patch +++ /dev/null @@ -1,48 +0,0 @@ -From befe47a84a22312e0547d04cd3d250b0e49ecf54 Mon Sep 17 00:00:00 2001 -From: Bob Copeland <me@bobcopeland.com> -Date: Thu, 27 May 2010 08:54:38 -0400 -Subject: [PATCH] ath5k: retain promiscuous setting - -Commit 56d1de0a21db28e41741cfa0a66e18bc8d920554, "ath5k: clean up -filter flags setting" introduced a regression in monitor mode such -that the promisc filter flag would get lost. - -Although we set the promisc flag when it changed, we did not -preserve it across subsequent calls to configure_filter. This patch -restores the original functionality. - -Cc: stable@kernel.org -Signed-off-by: Bob Copeland <me@bobcopeland.com> ---- - -Note, a better fix would be to just unconditionally look at new_flags, -but this is the minimal change for stable. I'll add fixing all this -stuff up to my todo. - - drivers/net/wireless/ath/ath5k/base.c | 4 +++- - 1 files changed, 3 insertions(+), 1 deletions(-) - -diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c -index 9c27623..9e023b8 100644 ---- a/drivers/net/wireless/ath/ath5k/base.c -+++ b/drivers/net/wireless/ath/ath5k/base.c -@@ -3153,13 +3153,15 @@ static void ath5k_configure_filter(struct ieee80211_hw *hw, - - if (changed_flags & (FIF_PROMISC_IN_BSS | FIF_OTHER_BSS)) { - if (*new_flags & FIF_PROMISC_IN_BSS) { -- rfilt |= AR5K_RX_FILTER_PROM; - __set_bit(ATH_STAT_PROMISC, sc->status); - } else { - __clear_bit(ATH_STAT_PROMISC, sc->status); - } - } - -+ if (test_bit(ATH_STAT_PROMISC, sc->status)) -+ rfilt |= AR5K_RX_FILTER_PROM; -+ - /* Note, AR5K_RX_FILTER_MCAST is already enabled */ - if (*new_flags & FIF_ALLMULTI) { - mfilt[0] = ~0; --- -1.6.3.3 - diff --git a/net-wireless/compat-wireless/files/4000_mac80211_2.6.28-rc4-wl_frag+ack_v3.patch b/net-wireless/compat-wireless/files/4000_mac80211_2.6.28-rc4-wl_frag+ack_v3.patch deleted file mode 100644 index 58bf3323..00000000 --- a/net-wireless/compat-wireless/files/4000_mac80211_2.6.28-rc4-wl_frag+ack_v3.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c -index 0855cac..221bed6 100644 ---- a/net/mac80211/tx.c -+++ b/net/mac80211/tx.c -@@ -611,11 +611,19 @@ ieee80211_tx_h_sequence(struct ieee80211_tx_data *tx) - - /* - * Packet injection may want to control the sequence -- * number, if we have no matching interface then we -- * neither assign one ourselves nor ask the driver to. -+ * number, so if an injected packet is found, skip -+ * renumbering it. Also make the packet NO_ACK to avoid -+ * excessive retries (ACKing and retrying should be -+ * handled by the injecting application). -+ * FIXME This may break hostapd and some other injectors. -+ * This should be done using a radiotap flag. - */ -- if (unlikely(!info->control.vif)) -+ if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) && -+ !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) { -+ if (!ieee80211_has_morefrags(hdr->frame_control)) -+ info->flags |= IEEE80211_TX_CTL_NO_ACK; - return TX_CONTINUE; -+ } - - if (unlikely(ieee80211_is_ctl(hdr->frame_control))) - return TX_CONTINUE; diff --git a/net-wireless/compat-wireless/files/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch b/net-wireless/compat-wireless/files/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch deleted file mode 100644 index a2b080f5..00000000 --- a/net-wireless/compat-wireless/files/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch +++ /dev/null @@ -1,17 +0,0 @@ - tx.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c -index b47435d..751934b 100644 ---- a/net/mac80211/tx.c -+++ b/net/mac80211/tx.c -@@ -539,7 +539,8 @@ ieee80211_tx_h_rate_ctrl(struct ieee80211_tx_data *tx) - if (tx->sta) - tx->sta->last_tx_rate = txrc.reported_rate; - -- if (unlikely(!info->control.rates[0].count)) -+ if (unlikely(!info->control.rates[0].count) || -+ info->flags & IEEE80211_TX_CTL_NO_ACK) - info->control.rates[0].count = 1; - - if (is_multicast_ether_addr(hdr->addr1)) { diff --git a/net-wireless/compat-wireless/files/4004_zd1211rw-2.6.28.patch b/net-wireless/compat-wireless/files/4004_zd1211rw-2.6.28.patch deleted file mode 100644 index c0697dee..00000000 --- a/net-wireless/compat-wireless/files/4004_zd1211rw-2.6.28.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -Naur linux-2.6.28-pentoo-r1-orig/drivers/net/wireless/zd1211rw/zd_mac.c linux-2.6.28-pentoo-r1-improved/drivers/net/wireless/zd1211rw/zd_mac.c ---- linux-2.6.28-pentoo-r1-orig/drivers/net/wireless/zd1211rw/zd_mac.c 2009-01-18 17:49:00.000000000 -0500 -+++ linux-2.6.28-pentoo-r1-improved/drivers/net/wireless/zd1211rw/zd_mac.c 2009-01-18 18:46:44.000000000 -0500 -@@ -191,14 +191,19 @@ - static int set_rx_filter(struct zd_mac *mac) - { - unsigned long flags; -- u32 filter = STA_RX_FILTER; -+ struct zd_ioreq32 ioreqs[] = { -+ {CR_RX_FILTER, STA_RX_FILTER}, -+ { CR_SNIFFER_ON, 0U }, -+ }; - - spin_lock_irqsave(&mac->lock, flags); -- if (mac->pass_ctrl) -- filter |= RX_FILTER_CTRL; -+ if (mac->pass_ctrl) { -+ ioreqs[0].value |= 0xFFFFFFFF; -+ ioreqs[1].value = 0x1; -+ } - spin_unlock_irqrestore(&mac->lock, flags); - -- return zd_iowrite32(&mac->chip, CR_RX_FILTER, filter); -+ return zd_iowrite32a(&mac->chip, ioreqs, ARRAY_SIZE(ioreqs)); - } - - static int set_mc_hash(struct zd_mac *mac) -@@ -657,7 +662,8 @@ - /* Caller has to ensure that length >= sizeof(struct rx_status). */ - status = (struct rx_status *) - (buffer + (length - sizeof(struct rx_status))); -- if (status->frame_status & ZD_RX_ERROR) { -+ if ((status->frame_status & ZD_RX_ERROR) || -+ (status->frame_status & ~0x21)) { - if (mac->pass_failed_fcs && - (status->frame_status & ZD_RX_CRC32_ERROR)) { - stats.flag |= RX_FLAG_FAILED_FCS_CRC; diff --git a/net-wireless/compat-wireless/files/4005_ath5k-frequency-expansion-2.6.30.patch b/net-wireless/compat-wireless/files/4005_ath5k-frequency-expansion-2.6.30.patch deleted file mode 100644 index 775fe656..00000000 --- a/net-wireless/compat-wireless/files/4005_ath5k-frequency-expansion-2.6.30.patch +++ /dev/null @@ -1,132 +0,0 @@ -diff -ru ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/base.c ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/base.c ---- ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/base.c 2009-06-10 16:58:40.000000000 -0700 -+++ ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/base.c 2009-06-11 17:18:19.000000000 -0700 -@@ -276,7 +276,7 @@ - static void ath5k_detach(struct pci_dev *pdev, - struct ieee80211_hw *hw); - /* Channel/mode setup */ --static inline short ath5k_ieee2mhz(short chan); -+static inline short ath5k_ieee2mhz(int chan, unsigned int chfreq); - static unsigned int ath5k_copy_channels(struct ath5k_hw *ah, - struct ieee80211_channel *channels, - unsigned int mode, -@@ -875,12 +875,15 @@ - * Convert IEEE channel number to MHz frequency. - */ - static inline short --ath5k_ieee2mhz(short chan) -+ath5k_ieee2mhz(int chan, unsigned int chfreq) - { -- if (chan <= 14 || chan >= 27) -- return ieee80211chan2mhz(chan); -+ if (chan == CHANNEL_5GHZ) -+ return (chan + 1000) * 5; - else -- return 2212 + chan * 20; -+ if (chan <= 14 || chan >= 27) -+ return ieee80211chan2mhz(chan); -+ else -+ return 2212 + chan * 20; - } - - /* -@@ -903,7 +906,8 @@ - unsigned int mode, - unsigned int max) - { -- unsigned int i, count, size, chfreq, freq, ch; -+ unsigned int i, count, size, chfreq, freq; -+ int ch; - - if (!test_bit(mode, ah->ah_modes)) - return 0; -@@ -912,13 +916,15 @@ - case AR5K_MODE_11A: - case AR5K_MODE_11A_TURBO: - /* 1..220, but 2GHz frequencies are filtered by check_channel */ -- size = 220 ; -+ size = 241 ; -+ ch = -40; - chfreq = CHANNEL_5GHZ; - break; - case AR5K_MODE_11B: - case AR5K_MODE_11G: - case AR5K_MODE_11G_TURBO: -- size = 26; -+ size = 70; -+ ch = -43; - chfreq = CHANNEL_2GHZ; - break; - default: -@@ -926,9 +932,8 @@ - return 0; - } - -- for (i = 0, count = 0; i < size && max > 0; i++) { -- ch = i + 1 ; -- freq = ath5k_ieee2mhz(ch); -+ for (i = 0, count = 0; i < size && max > 0; i++,ch++) { -+ freq = ath5k_ieee2mhz(ch,chfreq); - - /* Check if channel is supported by the chipset */ - if (!ath5k_channel_ok(ah, freq, chfreq)) -@@ -1244,7 +1249,9 @@ - - rate = ieee80211_get_tx_rate(sc->hw, info); - -- if (info->flags & IEEE80211_TX_CTL_NO_ACK) -+ if (info->flags & IEEE80211_TX_CTL_NO_ACK || -+ (info->flags & IEEE80211_TX_CTL_INJECTED && -+ !(ieee80211_has_morefrags(((struct ieee80211_hdr *)skb->data)->frame_control)))) - flags |= AR5K_TXDESC_NOACK; - - rc_flags = info->control.rates[0].flags; -diff -ru ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/base.h ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/base.h ---- ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/base.h 2009-06-10 16:58:50.000000000 -0700 -+++ ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/base.h 2009-06-11 17:21:55.000000000 -0700 -@@ -107,9 +107,9 @@ - }; - - #if CHAN_DEBUG --#define ATH_CHAN_MAX (26+26+26+200+200) -+#define ATH_CHAN_MAX (70+70+70+240+240) - #else --#define ATH_CHAN_MAX (14+14+14+252+20) -+#define ATH_CHAN_MAX (70+70+70+240+240) - #endif - - /* Software Carrier, keeps track of the driver state -diff -ru ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/caps.c ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/caps.c ---- ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/caps.c 2009-06-10 16:58:40.000000000 -0700 -+++ ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/caps.c 2009-06-11 17:24:22.000000000 -0700 -@@ -69,8 +69,8 @@ - - if (AR5K_EEPROM_HDR_11A(ee_header)) { - /* 4920 */ -- ah->ah_capabilities.cap_range.range_5ghz_min = 5005; -- ah->ah_capabilities.cap_range.range_5ghz_max = 6100; -+ ah->ah_capabilities.cap_range.range_5ghz_min = 4800; -+ ah->ah_capabilities.cap_range.range_5ghz_max = 6000; - - /* Set supported modes */ - __set_bit(AR5K_MODE_11A, -@@ -88,7 +88,7 @@ - (AR5K_EEPROM_HDR_11G(ee_header) && - ah->ah_version != AR5K_AR5211)) { - /* 2312 */ -- ah->ah_capabilities.cap_range.range_2ghz_min = 2412; -+ ah->ah_capabilities.cap_range.range_2ghz_min = 2192; - ah->ah_capabilities.cap_range.range_2ghz_max = 2732; - - if (AR5K_EEPROM_HDR_11B(ee_header)) -diff -ru ./compat-wireless-2009-06-11clean/net/mac80211/tx.c ./compat-wireless-2009-06-11/net/mac80211/tx.c ---- ./compat-wireless-2009-06-11clean/net/mac80211/tx.c 2009-06-10 16:58:40.000000000 -0700 -+++ ./compat-wireless-2009-06-11/net/mac80211/tx.c 2009-06-11 18:18:20.000000000 -0700 -@@ -1387,6 +1387,7 @@ - { - struct ieee80211_master_priv *mpriv = netdev_priv(dev); - struct ieee80211_local *local = mpriv->local; -+ struct ieee80211_channel *chan = local->hw.conf.channel; - struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); - struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; - struct net_device *odev = NULL; diff --git a/net-wireless/compat-wireless/files/4007_ath5k-pass-failed-crc.patch b/net-wireless/compat-wireless/files/4007_ath5k-pass-failed-crc.patch deleted file mode 100644 index 33075a35..00000000 --- a/net-wireless/compat-wireless/files/4007_ath5k-pass-failed-crc.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -Naur linux-2.6.28/drivers/net/wireless/ath5k/base.c linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.c ---- linux-2.6.28/drivers/net/wireless/ath5k/base.c 2008-12-24 18:26:37.000000000 -0500 -+++ linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.c 2009-02-06 21:38:43.000000000 -0500 -@@ -1732,6 +1738,11 @@ - goto accept; - } - -+ /* Allow CRC errors through */ -+ if (rs.rs_status & AR5K_RXERR_CRC) { -+ goto accept; -+ } -+ - /* let crypto-error packets fall through in MNTR */ - if ((rs.rs_status & - ~(AR5K_RXERR_DECRYPT|AR5K_RXERR_MIC)) || diff --git a/net-wireless/compat-wireless/files/4012_openwrt-b43-disable_qos_when_openfw.patch b/net-wireless/compat-wireless/files/4012_openwrt-b43-disable_qos_when_openfw.patch deleted file mode 100644 index 219e5c58..00000000 --- a/net-wireless/compat-wireless/files/4012_openwrt-b43-disable_qos_when_openfw.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur linux-2.6.28-pentoo-r4/drivers/net/wireless/b43/main.c linux-2.6.28-pentoo-r4-patched/drivers/net/wireless/b43/main.c ---- linux-2.6.28-pentoo-r4/drivers/net/wireless/b43/main.c 2008-12-24 18:26:37.000000000 -0500 -+++ linux-2.6.28-pentoo-r4-patched/drivers/net/wireless/b43/main.c 2009-04-08 00:03:57.000000000 -0400 -@@ -2299,6 +2299,8 @@ - b43info(dev->wl, "Loading OpenSource firmware version %u.%u%s\n", - dev->fw.rev, dev->fw.patch, - dev->fw.pcm_request_failed ? " (Hardware crypto not supported)" : ""); -+ /* The OpenSource firmware does not support qos for now. */ -+ b43_modparam_qos = 0; - } else { - b43info(dev->wl, "Loading firmware version %u.%u " - "(20%.2i-%.2i-%.2i %.2i:%.2i:%.2i)\n", diff --git a/net-wireless/compat-wireless/files/4013-runtime-enable-disable-of-mac80211-packet-injection.patch b/net-wireless/compat-wireless/files/4013-runtime-enable-disable-of-mac80211-packet-injection.patch deleted file mode 100644 index 82d9a4c2..00000000 --- a/net-wireless/compat-wireless/files/4013-runtime-enable-disable-of-mac80211-packet-injection.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- net/mac80211/tx.c 2009-11-29 14:59:53.474095955 +0100 -+++ net/mac80211/tx.c 2009-11-29 15:03:06.436871431 +0100 -@@ -670,6 +670,10 @@ - return TX_CONTINUE; - } - -+static int ieee80211_injection_patch = 1; -+module_param(ieee80211_injection_patch, int, 0644); -+MODULE_PARM_DESC(ieee80211_injection_patch, "Enable packet injection patch"); -+ - static ieee80211_tx_result debug_noinline - ieee80211_tx_h_sequence(struct ieee80211_tx_data *tx) - { -@@ -686,14 +690,20 @@ - * excessive retries (ACKing and retrying should be - * handled by the injecting application). - * FIXME This may break hostapd and some other injectors. -- * This should be done using a radiotap flag. -+ * This should be done using a radiotap flag. For the time being, this -+ * may be enabled/disabled in -+ * /sys/module/mac80211/parameters/ieee80211_injection_patch - */ -- if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) && -- !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) { -+ if (unlikely(ieee80211_injection_patch && -+ (info->flags & IEEE80211_TX_CTL_INJECTED) && -+ !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) { - if (!ieee80211_has_morefrags(hdr->frame_control)) - info->flags |= IEEE80211_TX_CTL_NO_ACK; - return TX_CONTINUE; - } -+ if (unlikely(!ieee80211_injection_patch && -+ info->control.vif->type == NL80211_IFTYPE_MONITOR)) -+ return TX_CONTINUE; - - if (unlikely(ieee80211_is_ctl(hdr->frame_control))) - return TX_CONTINUE; diff --git a/net-wireless/compat-wireless/files/4099-2.6.32-rc7-mac80211-security-fixes.patch b/net-wireless/compat-wireless/files/4099-2.6.32-rc7-mac80211-security-fixes.patch deleted file mode 100644 index 754e1c28..00000000 --- a/net-wireless/compat-wireless/files/4099-2.6.32-rc7-mac80211-security-fixes.patch +++ /dev/null @@ -1,159 +0,0 @@ -Johannes Berg (2): - mac80211: fix two remote exploits - mac80211: fix spurious delBA handling - - drivers/net/wireless/iwlwifi/iwl-tx.c | 10 +++++++++- - include/net/mac80211.h | 6 ++++++ - net/mac80211/agg-rx.c | 4 ---- - net/mac80211/agg-tx.c | 17 ++++++++--------- - net/mac80211/ht.c | 8 +++----- - net/mac80211/ieee80211_i.h | 2 ++ - 6 files changed, 28 insertions(+), 19 deletions(-) - -diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c -index fb9bcfa..b7e196e 100644 ---- a/drivers/net/wireless/iwlwifi/iwl-tx.c -+++ b/drivers/net/wireless/iwlwifi/iwl-tx.c -@@ -1277,8 +1277,16 @@ int iwl_tx_agg_stop(struct iwl_priv *priv , const u8 *ra, u16 tid) - return -ENXIO; - } - -+ if (priv->stations[sta_id].tid[tid].agg.state == -+ IWL_EMPTYING_HW_QUEUE_ADDBA) { -+ IWL_DEBUG_HT(priv, "AGG stop before setup done\n"); -+ ieee80211_stop_tx_ba_cb_irqsafe(priv->hw, ra, tid); -+ priv->stations[sta_id].tid[tid].agg.state = IWL_AGG_OFF; -+ return 0; -+ } -+ - if (priv->stations[sta_id].tid[tid].agg.state != IWL_AGG_ON) -- IWL_WARN(priv, "Stopping AGG while state not IWL_AGG_ON\n"); -+ IWL_WARN(priv, "Stopping AGG while state not ON or starting\n"); - - tid_data = &priv->stations[sta_id].tid[tid]; - ssn = (tid_data->seq_number & IEEE80211_SCTL_SEQ) >> 4; -diff --git a/include/net/mac80211.h b/include/net/mac80211.h -index c75b960..998c30f 100644 ---- a/include/net/mac80211.h -+++ b/include/net/mac80211.h -@@ -1283,6 +1283,12 @@ enum ieee80211_filter_flags { - * - * These flags are used with the ampdu_action() callback in - * &struct ieee80211_ops to indicate which action is needed. -+ * -+ * Note that drivers MUST be able to deal with a TX aggregation -+ * session being stopped even before they OK'ed starting it by -+ * calling ieee80211_start_tx_ba_cb(_irqsafe), because the peer -+ * might receive the addBA frame and send a delBA right away! -+ * - * @IEEE80211_AMPDU_RX_START: start Rx aggregation - * @IEEE80211_AMPDU_RX_STOP: stop Rx aggregation - * @IEEE80211_AMPDU_TX_START: start Tx aggregation -diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c -index bc064d7..ce8e0e7 100644 ---- a/net/mac80211/agg-rx.c -+++ b/net/mac80211/agg-rx.c -@@ -85,10 +85,6 @@ void ieee80211_sta_stop_rx_ba_session(struct ieee80211_sub_if_data *sdata, u8 *r - struct ieee80211_local *local = sdata->local; - struct sta_info *sta; - -- /* stop HW Rx aggregation. ampdu_action existence -- * already verified in session init so we add the BUG_ON */ -- BUG_ON(!local->ops->ampdu_action); -- - rcu_read_lock(); - - sta = sta_info_get(local, ra); -diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c -index 206fd82..89e238b 100644 ---- a/net/mac80211/agg-tx.c -+++ b/net/mac80211/agg-tx.c -@@ -123,13 +123,18 @@ void ieee80211_send_bar(struct ieee80211_sub_if_data *sdata, u8 *ra, u16 tid, u1 - ieee80211_tx_skb(sdata, skb, 0); - } - --static int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, -- enum ieee80211_back_parties initiator) -+int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, -+ enum ieee80211_back_parties initiator) - { - struct ieee80211_local *local = sta->local; - int ret; - u8 *state; - -+#ifdef CONFIG_MAC80211_HT_DEBUG -+ printk(KERN_DEBUG "Tx BA session stop requested for %pM tid %u\n", -+ sta->sta.addr, tid); -+#endif /* CONFIG_MAC80211_HT_DEBUG */ -+ - state = &sta->ampdu_mlme.tid_state_tx[tid]; - - if (*state == HT_AGG_STATE_OPERATIONAL) -@@ -143,7 +148,6 @@ static int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, - - /* HW shall not deny going back to legacy */ - if (WARN_ON(ret)) { -- *state = HT_AGG_STATE_OPERATIONAL; - /* - * We may have pending packets get stuck in this case... - * Not bothering with a workaround for now. -@@ -525,11 +529,6 @@ int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, - goto unlock; - } - --#ifdef CONFIG_MAC80211_HT_DEBUG -- printk(KERN_DEBUG "Tx BA session stop requested for %pM tid %u\n", -- sta->sta.addr, tid); --#endif /* CONFIG_MAC80211_HT_DEBUG */ -- - ret = ___ieee80211_stop_tx_ba_session(sta, tid, initiator); - - unlock: -@@ -545,7 +544,7 @@ int ieee80211_stop_tx_ba_session(struct ieee80211_hw *hw, - struct sta_info *sta; - int ret = 0; - -- if (WARN_ON(!local->ops->ampdu_action)) -+ if (!local->ops->ampdu_action) - return -EINVAL; - - if (tid >= STA_TID_NUM) -diff --git a/net/mac80211/ht.c b/net/mac80211/ht.c -index 48ef1a2..cdc58e6 100644 ---- a/net/mac80211/ht.c -+++ b/net/mac80211/ht.c -@@ -141,7 +141,6 @@ void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata, - struct sta_info *sta, - struct ieee80211_mgmt *mgmt, size_t len) - { -- struct ieee80211_local *local = sdata->local; - u16 tid, params; - u16 initiator; - -@@ -161,10 +160,9 @@ void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata, - WLAN_BACK_INITIATOR, 0); - else { /* WLAN_BACK_RECIPIENT */ - spin_lock_bh(&sta->lock); -- sta->ampdu_mlme.tid_state_tx[tid] = -- HT_AGG_STATE_OPERATIONAL; -+ if (sta->ampdu_mlme.tid_state_tx[tid] & HT_ADDBA_REQUESTED_MSK) -+ ___ieee80211_stop_tx_ba_session(sta, tid, -+ WLAN_BACK_RECIPIENT); - spin_unlock_bh(&sta->lock); -- ieee80211_stop_tx_ba_session(&local->hw, sta->sta.addr, tid, -- WLAN_BACK_RECIPIENT); - } - } -diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h -index a910bf1..10d316e 100644 ---- a/net/mac80211/ieee80211_i.h -+++ b/net/mac80211/ieee80211_i.h -@@ -1091,6 +1091,8 @@ void ieee80211_process_addba_request(struct ieee80211_local *local, - - int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, - enum ieee80211_back_parties initiator); -+int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, -+ enum ieee80211_back_parties initiator); - - /* Spectrum management */ - void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata, diff --git a/net-wireless/compat-wireless/files/WEXT-EXT-nuts.patch b/net-wireless/compat-wireless/files/WEXT-EXT-nuts.patch deleted file mode 100644 index 9c316b80..00000000 --- a/net-wireless/compat-wireless/files/WEXT-EXT-nuts.patch +++ /dev/null @@ -1,71 +0,0 @@ -From: Luis R. Rodriguez <lrodriguez@atheros.com> -Date: Thu, 17 Jun 2010 20:28:58 +0000 (-0700) -Subject: compat-wireles: fix compilation when you have disabled CONFIG_CFG80211_WEXT -X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fmcgrof%2Fcompat-wireless-2.6.git;a=commitdiff_plain;h=75bb5106cc632665fdccb9abc13f35dbaf70df1e - -compat-wireles: fix compilation when you have disabled CONFIG_CFG80211_WEXT - -On newer kernels you can disable CONFIG_CFG80211_WEXT. If you try to -compile compat-wireless with CONFIG_CFG80211_WEXT disabled you get: - - CC [M] /home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.o -/home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.c: In function 'cfg80211_netdev_notifier_call': -/home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.c:703: error: 'struct net_device' has no member named 'wireless_handlers' -/home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.c:704: error: 'struct net_device' has no member named 'wireless_handlers' -make[3]: *** [/home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.o] Error 1 -make[2]: *** [/home/mcgrof/devel/compat-wireless-2.6/net/wireless] Error 2 -make[1]: *** [_module_/home/mcgrof/devel/compat-wireless-2.6] Error 2 - -This is because we currently force CONFIG_CFG80211_WEXT to be enabled -on the compat_autoconf.h. Instead we should enable it conditionally -based on CONFIG_CFG80211_WEXT for older kernels and simply leave it -out for newer kernels, so we can respect your kernel config. For -newer kernels you cannot enable CONFIG_CFG80211_WEXT since -the net_device structure changes based on CONFIG_CFG80211_WEXT, -the wireless_handlers are not added to the net_device if you don't -have it enabled. - -Reported-by: Mathieu Olivari <Mathieu.Olivari@Atheros.com> -Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> ---- - -diff --git a/config.mk b/config.mk -index 0001a7d..04a6f7e 100644 ---- a/config.mk -+++ b/config.mk -@@ -162,8 +162,19 @@ CONFIG_BT_CMTP=m - endif - CONFIG_BT_HIDP=m - -+# CONFIG_CFG80211_WEXT will be resepected for -+# future kernels but for older kenrels we need -+# to enable it against the the old CONFIG_WIRELESS_EXT. -+# By using a space here we prevent scripts/gen-compat-autoconf.sh -+# from defining CONFIG_CFG80211_WEXT through its grep sweep for ^CONFIG -+# options, instead its handled specially there based on kernel revision. -+# using this logic: if you are on older kernel and have CONFIG_WIRELESS_EXT -+# defined we'll define it. -+# -+# For newer kernels we'll just respect your own kernel's -+# autoconf.h - ifneq ($(CONFIG_WIRELESS_EXT),) --CONFIG_CFG80211_WEXT=y -+ CONFIG_CFG80211_WEXT=y - endif - - # mac80211 test driver -diff --git a/scripts/gen-compat-autoconf.sh b/scripts/gen-compat-autoconf.sh -index 7fb63e9..88e2740 100755 ---- a/scripts/gen-compat-autoconf.sh -+++ b/scripts/gen-compat-autoconf.sh -@@ -193,8 +193,7 @@ if [ -f $KLIB_BUILD/Makefile ]; then - rm -f $MULT_DEP_FILE - # Kernels >= 2.6.32 can disable WEXT :D - if [ $SUBLEVEL -lt 32 ]; then -- # Handle core kernel wireless depenencies here -- define_config_req CONFIG_WIRELESS_EXT -+ define_config_dep CONFIG_CFG80211_WEXT 1 CONFIG_WIRELESS_EXT - fi - fi - fi - diff --git a/net-wireless/compat-wireless/files/ath9k_htc_ethtool_driver.patch b/net-wireless/compat-wireless/files/ath9k_htc_ethtool_driver.patch deleted file mode 100644 index a7b4a870..00000000 --- a/net-wireless/compat-wireless/files/ath9k_htc_ethtool_driver.patch +++ /dev/null @@ -1,37 +0,0 @@ -From: Sujith Manoharan <Sujith.Manoharan@atheros.com> - -Pass the correct module name and device interface so that -ethtool can display the proper values. - -The firmware version will be fixed later on when the FW -can actually report a version. :) - -Reported-by: Richard Farina <sidhayn@gmail.com> -Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com> ---- - drivers/net/wireless/ath/ath9k/hif_usb.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c -index f1b8af6..2d10239 100644 ---- a/drivers/net/wireless/ath/ath9k/hif_usb.c -+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c -@@ -1040,7 +1040,7 @@ static int ath9k_hif_usb_probe(struct usb_interface *interface, - } - - ret = ath9k_htc_hw_init(hif_dev->htc_handle, -- &hif_dev->udev->dev, hif_dev->device_id, -+ &interface->dev, hif_dev->device_id, - hif_dev->udev->product, id->driver_info); - if (ret) { - ret = -EINVAL; -@@ -1158,7 +1158,7 @@ fail_resume: - #endif - - static struct usb_driver ath9k_hif_usb_driver = { -- .name = "ath9k_hif_usb", -+ .name = KBUILD_MODNAME, - .probe = ath9k_hif_usb_probe, - .disconnect = ath9k_hif_usb_disconnect, - #ifdef CONFIG_PM --- 1.7.4.4 diff --git a/net-wireless/compat-wireless/files/ath_ignore_eeprom.patch b/net-wireless/compat-wireless/files/ath_ignore_eeprom.patch deleted file mode 100644 index 71b392d9..00000000 --- a/net-wireless/compat-wireless/files/ath_ignore_eeprom.patch +++ /dev/null @@ -1,70 +0,0 @@ -diff -Naur /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r3/work/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.c /usr/src/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.c ---- /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r3/work/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.c 2010-06-11 14:16:36.000000000 -0400 -+++ /usr/src/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.c 2010-06-21 17:20:13.000000000 -0400 -@@ -18,6 +18,9 @@ - #include <net/cfg80211.h> - #include <net/mac80211.h> - #include "regd.h" -+ -+#ifdef ATH_FORCE_REGD -+ - #include "regd_common.h" - - /* -@@ -587,3 +590,5 @@ - } - } - EXPORT_SYMBOL(ath_regd_get_band_ctl); -+ -+#endif -diff -Naur /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r3/work/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.h /usr/src/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.h ---- /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r3/work/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.h 2010-06-11 14:16:36.000000000 -0400 -+++ /usr/src/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.h 2010-06-21 17:21:33.000000000 -0400 -@@ -250,6 +250,41 @@ - CTRY_BELGIUM2 = 5002 - }; - -+#ifndef ATH_FORCE_REGD -+ -+static inline bool -+ath_is_world_regd(struct ath_regulatory *reg) -+{ -+ return true; -+} -+ -+static inline int -+ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy, -+ int (*reg_notifier)(struct wiphy *wiphy, -+ struct regulatory_request *request)) -+{ -+ return 0; -+} -+ -+ -+static inline u32 -+ath_regd_get_band_ctl(struct ath_regulatory *reg, -+ enum ieee80211_band band) -+{ -+ return SD_NO_CTL; -+} -+ -+static inline int -+ath_reg_notifier_apply(struct wiphy *wiphy, -+ struct regulatory_request *request, -+ struct ath_regulatory *reg) -+{ -+ return 0; -+} -+ -+ -+#else -+ - bool ath_is_world_regd(struct ath_regulatory *reg); - int ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy, - int (*reg_notifier)(struct wiphy *wiphy, -@@ -261,3 +296,5 @@ - struct ath_regulatory *reg); - - #endif -+ -+#endif diff --git a/net-wireless/compat-wireless/files/ath_regd_optional.patch b/net-wireless/compat-wireless/files/ath_regd_optional.patch deleted file mode 100644 index 415fc896..00000000 --- a/net-wireless/compat-wireless/files/ath_regd_optional.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -Naur compat-wireless-3.0-rc4-1-orig/drivers/net/wireless/ath/regd.c compat-wireless-3.0-rc4-1/drivers/net/wireless/ath/regd.c ---- compat-wireless-3.0-rc4-1-orig/drivers/net/wireless/ath/regd.c 2011-06-23 19:02:22.000000000 -0400 -+++ compat-wireless-3.0-rc4-1/drivers/net/wireless/ath/regd.c 2011-06-26 01:52:35.000000000 -0400 -@@ -193,6 +193,8 @@ - u32 bandwidth = 0; - int r; - -+ return; -+ - for (band = 0; band < IEEE80211_NUM_BANDS; band++) { - - if (!wiphy->bands[band]) -@@ -252,6 +254,8 @@ - u32 bandwidth = 0; - int r; - -+ return; -+ - sband = wiphy->bands[IEEE80211_BAND_2GHZ]; - - /* -@@ -299,6 +303,8 @@ - struct ieee80211_channel *ch; - unsigned int i; - -+ return; -+ - if (!wiphy->bands[IEEE80211_BAND_5GHZ]) - return; - -@@ -466,6 +472,8 @@ - { - const struct ieee80211_regdomain *regd; - -+ return 0; -+ - wiphy->reg_notifier = reg_notifier; - wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY; - diff --git a/net-wireless/compat-wireless/files/blinky.patch b/net-wireless/compat-wireless/files/blinky.patch deleted file mode 100644 index 4b928999..00000000 --- a/net-wireless/compat-wireless/files/blinky.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Naur compat-wireless-2.6.31-rc7-orig/config.mk compat-wireless-2.6.31-rc7/config.mk ---- compat-wireless-2.6.31-rc7-orig/config.mk 2009-08-25 20:07:50.000000000 -0400 -+++ compat-wireless-2.6.31-rc7/config.mk 2009-08-25 21:58:33.000000000 -0400 -@@ -266,6 +266,7 @@ - - CONFIG_P54_USB=m - CONFIG_RTL8187=m -+CONFIG_RTL8187_LEDS=y - - CONFIG_AT76C50X_USB=m - diff --git a/net-wireless/compat-wireless/files/channel-negative-one-maxim.patch b/net-wireless/compat-wireless/files/channel-negative-one-maxim.patch deleted file mode 100644 index a1eb2b2d..00000000 --- a/net-wireless/compat-wireless/files/channel-negative-one-maxim.patch +++ /dev/null @@ -1,38 +0,0 @@ -commit fffd6e63ea75850dafbf2ccfb38a4189f43c0282 -Author: Maxim Levitsky <maximlevitsky@xxxxxxxxx> -Date: Tue Jun 1 15:43:21 2010 +0300 - - wireless: allow to retrieve the channel set on monitor interface - - This will allow to preserve compatibility with userspace - - Signed-off-by: Maxim Levitsky <maximlevitsky@xxxxxxxxx> - -diff --git a/net/wireless/chan.c b/net/wireless/chan.c -index b01a6f6..09d979b 100644 ---- a/net/wireless/chan.c -+++ b/net/wireless/chan.c -@@ -49,9 +49,12 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev, - { - struct ieee80211_channel *chan; - int result; -+ struct wireless_dev *mon_dev = NULL; - -- if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) -+ if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) { -+ mon_dev = wdev; - wdev = NULL; -+ } - - if (wdev) { - ASSERT_WDEV_LOCK(wdev); -@@ -76,5 +79,8 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev, - if (wdev) - wdev->channel = chan; - -+ if (mon_dev) -+ mon_dev->channel = chan; -+ - return 0; - } - diff --git a/net-wireless/compat-wireless/files/compat-chaos.patch b/net-wireless/compat-wireless/files/compat-chaos.patch deleted file mode 100644 index e1447b5f..00000000 --- a/net-wireless/compat-wireless/files/compat-chaos.patch +++ /dev/null @@ -1,166 +0,0 @@ -diff -Naur compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/base.c compat-chaos/drivers/net/wireless/ath/ath5k/base.c ---- compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/base.c 2009-10-02 16:42:13.000000000 -0700 -+++ compat-chaos/drivers/net/wireless/ath/ath5k/base.c 2009-10-05 09:45:40.000000000 -0700 -@@ -285,7 +285,7 @@ - static void ath5k_detach(struct pci_dev *pdev, - struct ieee80211_hw *hw); - /* Channel/mode setup */ --static inline short ath5k_ieee2mhz(short chan); -+static inline short ath5k_ieee2mhz(int chan, unsigned int chfreq); - static unsigned int ath5k_copy_channels(struct ath5k_hw *ah, - struct ieee80211_channel *channels, - unsigned int mode, -@@ -889,7 +889,7 @@ - * Convert IEEE channel number to MHz frequency. - */ - static inline short --ath5k_ieee2mhz(short chan) -+ath5k_ieee2mhz(int chan, unsigned int chfreq) - { - if (chan <= 14 || chan >= 27) - return ieee80211chan2mhz(chan); -@@ -902,13 +902,7 @@ - */ - static bool ath5k_is_standard_channel(short chan) - { -- return ((chan <= 14) || -- /* UNII 1,2 */ -- ((chan & 3) == 0 && chan >= 36 && chan <= 64) || -- /* midband */ -- ((chan & 3) == 0 && chan >= 100 && chan <= 140) || -- /* UNII-3 */ -- ((chan & 3) == 1 && chan >= 149 && chan <= 165)); -+ return true; - } - - static unsigned int -@@ -917,7 +911,8 @@ - unsigned int mode, - unsigned int max) - { -- unsigned int i, count, size, chfreq, freq, ch; -+ unsigned int i, count, size, chfreq, freq; -+ int ch; - - if (!test_bit(mode, ah->ah_modes)) - return 0; -@@ -926,13 +921,15 @@ - case AR5K_MODE_11A: - case AR5K_MODE_11A_TURBO: - /* 1..220, but 2GHz frequencies are filtered by check_channel */ -- size = 220 ; -+ size = 3000 ; -+ ch = -40; - chfreq = CHANNEL_5GHZ; - break; - case AR5K_MODE_11B: - case AR5K_MODE_11G: - case AR5K_MODE_11G_TURBO: -- size = 26; -+ size = 3000; -+ ch = -43; - chfreq = CHANNEL_2GHZ; - break; - default: -@@ -940,9 +937,8 @@ - return 0; - } - -- for (i = 0, count = 0; i < size && max > 0; i++) { -- ch = i + 1 ; -- freq = ath5k_ieee2mhz(ch); -+ for (i = 0, count = 0; i < size && max > 0; i++,ch++) { -+ freq = ath5k_ieee2mhz(ch,chfreq); - - /* Check if channel is supported by the chipset */ - if (!ath5k_channel_ok(ah, freq, chfreq)) -@@ -1246,7 +1242,9 @@ - - rate = ieee80211_get_tx_rate(sc->hw, info); - -- if (info->flags & IEEE80211_TX_CTL_NO_ACK) -+ if (info->flags & IEEE80211_TX_CTL_NO_ACK || -+ (info->flags & IEEE80211_TX_CTL_INJECTED && -+ !(ieee80211_has_morefrags(((struct ieee80211_hdr *)skb->data)->frame_control)))) - flags |= AR5K_TXDESC_NOACK; - - rc_flags = info->control.rates[0].flags; -diff -Naur compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/base.h compat-chaos/drivers/net/wireless/ath/ath5k/base.h ---- compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/base.h 2009-10-02 16:42:15.000000000 -0700 -+++ compat-chaos/drivers/net/wireless/ath/ath5k/base.h 2009-10-05 09:46:12.000000000 -0700 -@@ -110,9 +110,9 @@ - }; - - #if CHAN_DEBUG --#define ATH_CHAN_MAX (26+26+26+200+200) -+#define ATH_CHAN_MAX (4000) - #else --#define ATH_CHAN_MAX (14+14+14+252+20) -+#define ATH_CHAN_MAX (4000) - #endif - - /* Software Carrier, keeps track of the driver state -diff -Naur compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/caps.c compat-chaos/drivers/net/wireless/ath/ath5k/caps.c ---- compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/caps.c 2009-10-02 16:42:13.000000000 -0700 -+++ compat-chaos/drivers/net/wireless/ath/ath5k/caps.c 2009-10-05 09:47:07.000000000 -0700 -@@ -69,8 +69,8 @@ - - if (AR5K_EEPROM_HDR_11A(ee_header)) { - /* 4920 */ -- ah->ah_capabilities.cap_range.range_5ghz_min = 5005; -- ah->ah_capabilities.cap_range.range_5ghz_max = 6100; -+ ah->ah_capabilities.cap_range.range_5ghz_min = 4800; -+ ah->ah_capabilities.cap_range.range_5ghz_max = 6000; - - /* Set supported modes */ - __set_bit(AR5K_MODE_11A, -@@ -88,7 +88,7 @@ - (AR5K_EEPROM_HDR_11G(ee_header) && - ah->ah_version != AR5K_AR5211)) { - /* 2312 */ -- ah->ah_capabilities.cap_range.range_2ghz_min = 2412; -+ ah->ah_capabilities.cap_range.range_2ghz_min = 2192; - ah->ah_capabilities.cap_range.range_2ghz_max = 2732; - - if (AR5K_EEPROM_HDR_11B(ee_header)) -diff -Naur compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/phy.c compat-chaos/drivers/net/wireless/ath/ath5k/phy.c ---- compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/phy.c 2009-10-02 16:42:13.000000000 -0700 -+++ compat-chaos/drivers/net/wireless/ath/ath5k/phy.c 2009-10-05 09:48:55.000000000 -0700 -@@ -830,13 +830,7 @@ - bool ath5k_channel_ok(struct ath5k_hw *ah, u16 freq, unsigned int flags) - { - /* Check if the channel is in our supported range */ -- if (flags & CHANNEL_2GHZ) { -- if ((freq >= ah->ah_capabilities.cap_range.range_2ghz_min) && -- (freq <= ah->ah_capabilities.cap_range.range_2ghz_max)) -- return true; -- } else if (flags & CHANNEL_5GHZ) -- if ((freq >= ah->ah_capabilities.cap_range.range_5ghz_min) && -- (freq <= ah->ah_capabilities.cap_range.range_5ghz_max)) -+ if ((freq >=2190) && (freq <=5900)) - return true; - - return false; -diff -Naur compat-wireless-2.6.32-rc1/include/net/ieee80211_radiotap.h compat-chaos/include/net/ieee80211_radiotap.h ---- compat-wireless-2.6.32-rc1/include/net/ieee80211_radiotap.h 2009-10-02 16:42:12.000000000 -0700 -+++ compat-chaos/include/net/ieee80211_radiotap.h 2009-10-05 09:49:54.000000000 -0700 -@@ -247,7 +247,7 @@ - #define ieee80211chan2mhz(x) \ - (((x) <= 14) ? \ - (((x) == 14) ? 2484 : ((x) * 5) + 2407) : \ -- ((x) + 1000) * 5) -+ ((x) + 2100)) - - /* helpers */ - static inline int ieee80211_get_radiotap_len(unsigned char *data) -diff -Naur compat-wireless-2.6.32-rc1/net/mac80211/tx.c compat-chaos/net/mac80211/tx.c ---- compat-wireless-2.6.32-rc1/net/mac80211/tx.c 2009-10-02 16:42:12.000000000 -0700 -+++ compat-chaos/net/mac80211/tx.c 2009-10-05 09:50:38.000000000 -0700 -@@ -1392,6 +1392,7 @@ - { - struct ieee80211_local *local = sdata->local; - struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); -+ struct ieee80211_channel *chan = local->hw.conf.channel; - struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; - struct ieee80211_sub_if_data *tmp_sdata; - int headroom; diff --git a/net-wireless/compat-wireless/files/compat-sched.patch b/net-wireless/compat-wireless/files/compat-sched.patch deleted file mode 100644 index 9670069e..00000000 --- a/net-wireless/compat-wireless/files/compat-sched.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- compat/compat-2.6.39.c.orig 2011-05-04 09:45:45.885000018 +0800 -+++ compat/compat-2.6.39.c 2011-05-04 09:46:04.691000014 +0800 -@@ -10,6 +10,7 @@ - - #include <linux/compat.h> - #include <linux/tty.h> -+#include <linux/sched.h> - - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)) - /* diff --git a/net-wireless/compat-wireless/files/compat-wireless-3.5-grsec.patch b/net-wireless/compat-wireless/files/compat-wireless-3.5-grsec.patch deleted file mode 100644 index 857d5fb3..00000000 --- a/net-wireless/compat-wireless/files/compat-wireless-3.5-grsec.patch +++ /dev/null @@ -1,398 +0,0 @@ -diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h -index c54b7d37..af1f359 100644 ---- a/drivers/net/wireless/ath/ath.h -+++ b/drivers/net/wireless/ath/ath.h -@@ -119,6 +119,7 @@ struct ath_ops { - void (*write_flush) (void *); - u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr); - }; -+typedef struct ath_ops __no_const ath_ops_no_const; - - struct ath_common; - struct ath_bus_ops; -diff --git a/drivers/net/wireless/ath/ath9k/ar9002_mac.c b/drivers/net/wireless/ath/ath9k/ar9002_mac.c -index aa2abaf..5f5152d 100644 ---- a/drivers/net/wireless/ath/ath9k/ar9002_mac.c -+++ b/drivers/net/wireless/ath/ath9k/ar9002_mac.c -@@ -183,8 +183,8 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) - ads->ds_txstatus6 = ads->ds_txstatus7 = 0; - ads->ds_txstatus8 = ads->ds_txstatus9 = 0; - -- ACCESS_ONCE(ads->ds_link) = i->link; -- ACCESS_ONCE(ads->ds_data) = i->buf_addr[0]; -+ ACCESS_ONCE_RW(ads->ds_link) = i->link; -+ ACCESS_ONCE_RW(ads->ds_data) = i->buf_addr[0]; - - ctl1 = i->buf_len[0] | (i->is_last ? 0 : AR_TxMore); - ctl6 = SM(i->keytype, AR_EncrType); -@@ -198,26 +198,26 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) - - if ((i->is_first || i->is_last) && - i->aggr != AGGR_BUF_MIDDLE && i->aggr != AGGR_BUF_LAST) { -- ACCESS_ONCE(ads->ds_ctl2) = set11nTries(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl2) = set11nTries(i->rates, 0) - | set11nTries(i->rates, 1) - | set11nTries(i->rates, 2) - | set11nTries(i->rates, 3) - | (i->dur_update ? AR_DurUpdateEna : 0) - | SM(0, AR_BurstDur); - -- ACCESS_ONCE(ads->ds_ctl3) = set11nRate(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl3) = set11nRate(i->rates, 0) - | set11nRate(i->rates, 1) - | set11nRate(i->rates, 2) - | set11nRate(i->rates, 3); - } else { -- ACCESS_ONCE(ads->ds_ctl2) = 0; -- ACCESS_ONCE(ads->ds_ctl3) = 0; -+ ACCESS_ONCE_RW(ads->ds_ctl2) = 0; -+ ACCESS_ONCE_RW(ads->ds_ctl3) = 0; - } - - if (!i->is_first) { -- ACCESS_ONCE(ads->ds_ctl0) = 0; -- ACCESS_ONCE(ads->ds_ctl1) = ctl1; -- ACCESS_ONCE(ads->ds_ctl6) = ctl6; -+ ACCESS_ONCE_RW(ads->ds_ctl0) = 0; -+ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; -+ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; - return; - } - -@@ -242,7 +242,7 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) - break; - } - -- ACCESS_ONCE(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) -+ ACCESS_ONCE_RW(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) - | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) - | SM(i->txpower, AR_XmitPower) - | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) -@@ -252,19 +252,19 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) - | (i->flags & ATH9K_TXDESC_RTSENA ? AR_RTSEnable : - (i->flags & ATH9K_TXDESC_CTSENA ? AR_CTSEnable : 0)); - -- ACCESS_ONCE(ads->ds_ctl1) = ctl1; -- ACCESS_ONCE(ads->ds_ctl6) = ctl6; -+ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; -+ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; - - if (i->aggr == AGGR_BUF_MIDDLE || i->aggr == AGGR_BUF_LAST) - return; - -- ACCESS_ONCE(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) - | set11nPktDurRTSCTS(i->rates, 1); - -- ACCESS_ONCE(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) -+ ACCESS_ONCE_RW(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) - | set11nPktDurRTSCTS(i->rates, 3); - -- ACCESS_ONCE(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) - | set11nRateFlags(i->rates, 1) - | set11nRateFlags(i->rates, 2) - | set11nRateFlags(i->rates, 3) -diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mac.c b/drivers/net/wireless/ath/ath9k/ar9003_mac.c -index a66a13b..0ef399e 100644 ---- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c -+++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c -@@ -39,47 +39,47 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) - (i->qcu << AR_TxQcuNum_S) | desc_len; - - checksum += val; -- ACCESS_ONCE(ads->info) = val; -+ ACCESS_ONCE_RW(ads->info) = val; - - checksum += i->link; -- ACCESS_ONCE(ads->link) = i->link; -+ ACCESS_ONCE_RW(ads->link) = i->link; - - checksum += i->buf_addr[0]; -- ACCESS_ONCE(ads->data0) = i->buf_addr[0]; -+ ACCESS_ONCE_RW(ads->data0) = i->buf_addr[0]; - checksum += i->buf_addr[1]; -- ACCESS_ONCE(ads->data1) = i->buf_addr[1]; -+ ACCESS_ONCE_RW(ads->data1) = i->buf_addr[1]; - checksum += i->buf_addr[2]; -- ACCESS_ONCE(ads->data2) = i->buf_addr[2]; -+ ACCESS_ONCE_RW(ads->data2) = i->buf_addr[2]; - checksum += i->buf_addr[3]; -- ACCESS_ONCE(ads->data3) = i->buf_addr[3]; -+ ACCESS_ONCE_RW(ads->data3) = i->buf_addr[3]; - - checksum += (val = (i->buf_len[0] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl3) = val; -+ ACCESS_ONCE_RW(ads->ctl3) = val; - checksum += (val = (i->buf_len[1] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl5) = val; -+ ACCESS_ONCE_RW(ads->ctl5) = val; - checksum += (val = (i->buf_len[2] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl7) = val; -+ ACCESS_ONCE_RW(ads->ctl7) = val; - checksum += (val = (i->buf_len[3] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl9) = val; -+ ACCESS_ONCE_RW(ads->ctl9) = val; - - checksum = (u16) (((checksum & 0xffff) + (checksum >> 16)) & 0xffff); -- ACCESS_ONCE(ads->ctl10) = checksum; -+ ACCESS_ONCE_RW(ads->ctl10) = checksum; - - if (i->is_first || i->is_last) { -- ACCESS_ONCE(ads->ctl13) = set11nTries(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl13) = set11nTries(i->rates, 0) - | set11nTries(i->rates, 1) - | set11nTries(i->rates, 2) - | set11nTries(i->rates, 3) - | (i->dur_update ? AR_DurUpdateEna : 0) - | SM(0, AR_BurstDur); - -- ACCESS_ONCE(ads->ctl14) = set11nRate(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl14) = set11nRate(i->rates, 0) - | set11nRate(i->rates, 1) - | set11nRate(i->rates, 2) - | set11nRate(i->rates, 3); - } else { -- ACCESS_ONCE(ads->ctl13) = 0; -- ACCESS_ONCE(ads->ctl14) = 0; -+ ACCESS_ONCE_RW(ads->ctl13) = 0; -+ ACCESS_ONCE_RW(ads->ctl14) = 0; - } - - ads->ctl20 = 0; -@@ -89,17 +89,17 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) - - ctl17 = SM(i->keytype, AR_EncrType); - if (!i->is_first) { -- ACCESS_ONCE(ads->ctl11) = 0; -- ACCESS_ONCE(ads->ctl12) = i->is_last ? 0 : AR_TxMore; -- ACCESS_ONCE(ads->ctl15) = 0; -- ACCESS_ONCE(ads->ctl16) = 0; -- ACCESS_ONCE(ads->ctl17) = ctl17; -- ACCESS_ONCE(ads->ctl18) = 0; -- ACCESS_ONCE(ads->ctl19) = 0; -+ ACCESS_ONCE_RW(ads->ctl11) = 0; -+ ACCESS_ONCE_RW(ads->ctl12) = i->is_last ? 0 : AR_TxMore; -+ ACCESS_ONCE_RW(ads->ctl15) = 0; -+ ACCESS_ONCE_RW(ads->ctl16) = 0; -+ ACCESS_ONCE_RW(ads->ctl17) = ctl17; -+ ACCESS_ONCE_RW(ads->ctl18) = 0; -+ ACCESS_ONCE_RW(ads->ctl19) = 0; - return; - } - -- ACCESS_ONCE(ads->ctl11) = (i->pkt_len & AR_FrameLen) -+ ACCESS_ONCE_RW(ads->ctl11) = (i->pkt_len & AR_FrameLen) - | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) - | SM(i->txpower, AR_XmitPower) - | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) -@@ -135,22 +135,22 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) - val = (i->flags & ATH9K_TXDESC_PAPRD) >> ATH9K_TXDESC_PAPRD_S; - ctl12 |= SM(val, AR_PAPRDChainMask); - -- ACCESS_ONCE(ads->ctl12) = ctl12; -- ACCESS_ONCE(ads->ctl17) = ctl17; -+ ACCESS_ONCE_RW(ads->ctl12) = ctl12; -+ ACCESS_ONCE_RW(ads->ctl17) = ctl17; - -- ACCESS_ONCE(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) - | set11nPktDurRTSCTS(i->rates, 1); - -- ACCESS_ONCE(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) -+ ACCESS_ONCE_RW(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) - | set11nPktDurRTSCTS(i->rates, 3); - -- ACCESS_ONCE(ads->ctl18) = set11nRateFlags(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl18) = set11nRateFlags(i->rates, 0) - | set11nRateFlags(i->rates, 1) - | set11nRateFlags(i->rates, 2) - | set11nRateFlags(i->rates, 3) - | SM(i->rtscts_rate, AR_RTSCTSRate); - -- ACCESS_ONCE(ads->ctl19) = AR_Not_Sounding; -+ ACCESS_ONCE_RW(ads->ctl19) = AR_Not_Sounding; - } - - static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads) -diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h -index e88f182..4e57f5d 100644 ---- a/drivers/net/wireless/ath/ath9k/hw.h -+++ b/drivers/net/wireless/ath/ath9k/hw.h -@@ -614,7 +614,7 @@ struct ath_hw_private_ops { - - /* ANI */ - void (*ani_cache_ini_regs)(struct ath_hw *ah); --}; -+} __no_const; - - /** - * struct ath_hw_ops - callbacks used by hardware code and driver code -@@ -644,7 +644,7 @@ struct ath_hw_ops { - void (*antdiv_comb_conf_set)(struct ath_hw *ah, - struct ath_hw_antcomb_conf *antconf); - --}; -+} __no_const; - - struct ath_nf_limits { - s16 max; -@@ -664,7 +664,7 @@ enum ath_cal_list { - #define AH_FASTCC 0x4 - - struct ath_hw { -- struct ath_ops reg_ops; -+ ath_ops_no_const reg_ops; - - struct ieee80211_hw *hw; - struct ath_common common; -diff --git a/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h b/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h -index af00e2c..ab04d34 100644 ---- a/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h -+++ b/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h -@@ -545,7 +545,7 @@ struct phy_func_ptr { - void (*carrsuppr)(struct brcms_phy *); - s32 (*rxsigpwr)(struct brcms_phy *, s32); - void (*detach)(struct brcms_phy *); --}; -+} __no_const; - - struct brcms_phy { - struct brcms_phy_pub pubpi_ro; -diff --git a/drivers/net/wireless/iwlegacy/3945-mac.c b/drivers/net/wireless/iwlegacy/3945-mac.c -index faec404..a5277f1 100644 ---- a/drivers/net/wireless/iwlegacy/3945-mac.c -+++ b/drivers/net/wireless/iwlegacy/3945-mac.c -@@ -3611,7 +3611,9 @@ il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - */ - if (il3945_mod_params.disable_hw_scan) { - D_INFO("Disabling hw_scan\n"); -- il3945_mac_ops.hw_scan = NULL; -+ pax_open_kernel(); -+ *(void **)&il3945_mac_ops.hw_scan = NULL; -+ pax_close_kernel(); - } - - D_INFO("*** LOAD DRIVER ***\n"); -diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c -index b7ce6a6..5649756 100644 ---- a/drivers/net/wireless/mac80211_hwsim.c -+++ b/drivers/net/wireless/mac80211_hwsim.c -@@ -1721,9 +1721,11 @@ static int __init init_mac80211_hwsim(void) - return -EINVAL; - - if (fake_hw_scan) { -- mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; -- mac80211_hwsim_ops.sw_scan_start = NULL; -- mac80211_hwsim_ops.sw_scan_complete = NULL; -+ pax_open_kernel(); -+ *(void **)&mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; -+ *(void **)&mac80211_hwsim_ops.sw_scan_start = NULL; -+ *(void **)&mac80211_hwsim_ops.sw_scan_complete = NULL; -+ pax_close_kernel(); - } - - spin_lock_init(&hwsim_radio_lock); -diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h -index 35225e9..95e6bf9 100644 ---- a/drivers/net/wireless/mwifiex/main.h -+++ b/drivers/net/wireless/mwifiex/main.h -This needed some manual massage to work on compat-wireless -@@ -567,7 +567,7 @@ - int (*event_complete) (struct mwifiex_adapter *, struct sk_buff *); - int (*data_complete) (struct mwifiex_adapter *, struct sk_buff *); - int (*dnld_fw) (struct mwifiex_adapter *, struct mwifiex_fw_image *); --}; -+} __no_const; - - struct mwifiex_adapter { - u8 iface_type; -diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c -index d66e298..55b0a89 100644 ---- a/drivers/net/wireless/rndis_wlan.c -+++ b/drivers/net/wireless/rndis_wlan.c -@@ -1278,7 +1278,7 @@ static int set_rts_threshold(struct usbnet *usbdev, u32 rts_threshold) - - netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold); - -- if (rts_threshold < 0 || rts_threshold > 2347) -+ if (rts_threshold > 2347) - rts_threshold = 2347; - - tmp = cpu_to_le32(rts_threshold); -diff --git a/drivers/net/wireless/wl1251/wl1251.h b/drivers/net/wireless/wl1251/wl1251.h -index 9d8f581..0f6589e 100644 ---- a/drivers/net/wireless/ti/wl1251/wl1251.h -+++ b/drivers/net/wireless/ti/wl1251/wl1251.h -Special for compat-wireless: the module is in "ti" folder -@@ -266,7 +266,7 @@ struct wl1251_if_operations { - void (*reset)(struct wl1251 *wl); - void (*enable_irq)(struct wl1251 *wl); - void (*disable_irq)(struct wl1251 *wl); --}; -+} __no_const; - - struct wl1251 { - struct ieee80211_hw *hw; -diff --git a/net/wireless/core.h b/net/wireless/core.h -index 3ac2dd0..fbe533e 100644 ---- a/net/wireless/core.h -+++ b/net/wireless/core.h -@@ -27,7 +27,7 @@ struct cfg80211_registered_device { - struct mutex mtx; - - /* rfkill support */ -- struct rfkill_ops rfkill_ops; -+ rfkill_ops_no_const rfkill_ops; - struct rfkill *rfkill; - struct work_struct rfkill_sync; - -diff --git a/net/wireless/wext-core.c b/net/wireless/wext-core.c -index af648e0..6185d3a 100644 ---- a/net/wireless/wext-core.c -+++ b/net/wireless/wext-core.c -@@ -747,8 +747,7 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd, - */ - - /* Support for very large requests */ -- if ((descr->flags & IW_DESCR_FLAG_NOMAX) && -- (user_length > descr->max_tokens)) { -+ if (user_length > descr->max_tokens) { - /* Allow userspace to GET more than max so - * we can support any size GET requests. - * There is still a limit : -ENOMEM. -@@ -787,22 +786,6 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd, - } - } - -- if (IW_IS_GET(cmd) && !(descr->flags & IW_DESCR_FLAG_NOMAX)) { -- /* -- * If this is a GET, but not NOMAX, it means that the extra -- * data is not bounded by userspace, but by max_tokens. Thus -- * set the length to max_tokens. This matches the extra data -- * allocation. -- * The driver should fill it with the number of tokens it -- * provided, and it may check iwp->length rather than having -- * knowledge of max_tokens. If the driver doesn't change the -- * iwp->length, this ioctl just copies back max_token tokens -- * filled with zeroes. Hopefully the driver isn't claiming -- * them to be valid data. -- */ -- iwp->length = descr->max_tokens; -- } -- - err = handler(dev, info, (union iwreq_data *) iwp, extra); - - iwp->length += essid_compat; ---- a/drivers/net/ethernet/atheros/alx/alx_sw.h -+++ b/drivers/net/ethernet/atheros/alx/alx_sw.h -Unsure about this, making alx_hw_callbacks writeable, is that SElinux conform? -@@ -326,7 +326,7 @@ - - /* Others */ - int (*get_ethtool_regs)(struct alx_hw *, void *); --}; -+} __no_const; - - struct alx_hw { - struct alx_adapter *adpt;
\ No newline at end of file diff --git a/net-wireless/compat-wireless/files/compat-wireless-3.5-grsec2.patch b/net-wireless/compat-wireless/files/compat-wireless-3.5-grsec2.patch deleted file mode 100644 index b52cd6d6..00000000 --- a/net-wireless/compat-wireless/files/compat-wireless-3.5-grsec2.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- drivers/net/wireless/ti/wl12xx/main.c -+++ drivers/net/wireless/ti/wl12xx/main.c -Thanks to ryao for explaining the fix on ZFS! -@@ -612,6 +612,10 @@ - } - } - -+static struct wlcore_ops wl127x_ops = { -+ .prepare_read = wl127x_prepare_read -+}; -+ - static int wl12xx_identify_chip(struct wl1271 *wl) - { - int ret = 0; -@@ -631,7 +635,8 @@ - sizeof(wl->conf.mem)); - - /* read data preparation is only needed by wl127x */ -- wl->ops->prepare_read = wl127x_prepare_read; -+ /* wl->ops->prepare_read = wl127x_prepare_read; */ -+ wl->ops = &wl127x_ops; - - break; - -@@ -650,7 +655,8 @@ - sizeof(wl->conf.mem)); - - /* read data preparation is only needed by wl127x */ -- wl->ops->prepare_read = wl127x_prepare_read; -+ /* wl->ops->prepare_read = wl127x_prepare_read; */ -+ wl->ops = &wl127x_ops; - - break; diff --git a/net-wireless/compat-wireless/files/compat-wireless-3.5.4-grsec.patch b/net-wireless/compat-wireless/files/compat-wireless-3.5.4-grsec.patch deleted file mode 100644 index 387f3c3c..00000000 --- a/net-wireless/compat-wireless/files/compat-wireless-3.5.4-grsec.patch +++ /dev/null @@ -1,9033 +0,0 @@ -diff -rupN compat-wireless-3.5.4-1-snpc/Makefile.rej compat-wireless-3.5.4-1-snpc/Makefile.rej ---- compat-wireless-3.5.4-1-snpc/Makefile.rej 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/Makefile.rej 2012-10-15 19:11:12.829824571 +0000 -@@ -0,0 +1,196 @@ -+--- Makefile 2012-09-15 22:09:21.004897009 +0200 -++++ Makefile 2012-09-15 22:09:27.440902945 +0200 -+@@ -241,8 +241,9 @@ -+ -+ HOSTCC = gcc -+ HOSTCXX = g++ -+-HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -+-HOSTCXXFLAGS = -O2 -++HOSTCFLAGS = -Wall -W -Wmissing-prototypes -Wstrict-prototypes -Wno-unused-parameter -Wno-missing-field-initializers -O2 -fomit-frame-pointer -fno-delete-null-pointer-checks -++HOSTCLFAGS += $(call cc-option, -Wno-empty-body) -++HOSTCXXFLAGS = -O2 -Wall -W -fno-delete-null-pointer-checks -+ -+ # Decide whether to build built-in, modular, or both. -+ # Normally, just do built-in. -+@@ -404,8 +405,8 @@ -+ # Rules shared between *config targets and build targets -+ -+ # Basic helpers built in scripts/ -+-PHONY += scripts_basic -+-scripts_basic: -++PHONY += scripts_basic gcc-plugins -++scripts_basic: gcc-plugins -+ $(Q)$(MAKE) $(build)=scripts/basic -+ $(Q)rm -f .tmp_quiet_recordmcount -+ -+@@ -561,6 +562,56 @@ -+ KBUILD_CFLAGS += -O2 -+ endif -+ -++PLUGINCC := $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCC)" "$(HOSTCXX)" "$(CC)") -++ifneq ($(PLUGINCC),) -++ifdef CONFIG_PAX_CONSTIFY_PLUGIN -++CONSTIFY_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN -++endif -++ifdef CONFIG_PAX_MEMORY_STACKLEAK -++STACKLEAK_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -DSTACKLEAK_PLUGIN -++STACKLEAK_PLUGIN_CFLAGS += -fplugin-arg-stackleak_plugin-track-lowest-sp=100 -++endif -++ifdef CONFIG_KALLOCSTAT_PLUGIN -++KALLOCSTAT_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/kallocstat_plugin.so -++endif -++ifdef CONFIG_PAX_KERNEXEC_PLUGIN -++KERNEXEC_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/kernexec_plugin.so -++KERNEXEC_PLUGIN_CFLAGS += -fplugin-arg-kernexec_plugin-method=$(CONFIG_PAX_KERNEXEC_PLUGIN_METHOD) -DKERNEXEC_PLUGIN -++KERNEXEC_PLUGIN_AFLAGS := -DKERNEXEC_PLUGIN -++endif -++ifdef CONFIG_CHECKER_PLUGIN -++ifeq ($(call cc-ifversion, -ge, 0406, y), y) -++CHECKER_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/checker_plugin.so -DCHECKER_PLUGIN -++endif -++endif -++COLORIZE_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/colorize_plugin.so -++ifdef CONFIG_PAX_SIZE_OVERFLOW -++SIZE_OVERFLOW_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/size_overflow_plugin.so -DSIZE_OVERFLOW_PLUGIN -++endif -++ifdef CONFIG_PAX_LATENT_ENTROPY -++LATENT_ENTROPY_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/latent_entropy_plugin.so -DLATENT_ENTROPY_PLUGIN -++endif -++GCC_PLUGINS_CFLAGS := $(CONSTIFY_PLUGIN_CFLAGS) $(STACKLEAK_PLUGIN_CFLAGS) $(KALLOCSTAT_PLUGIN_CFLAGS) -++GCC_PLUGINS_CFLAGS += $(KERNEXEC_PLUGIN_CFLAGS) $(CHECKER_PLUGIN_CFLAGS) $(COLORIZE_PLUGIN_CFLAGS) -++GCC_PLUGINS_CFLAGS += $(SIZE_OVERFLOW_PLUGIN_CFLAGS) $(LATENT_ENTROPY_PLUGIN_CFLAGS) -++GCC_PLUGINS_AFLAGS := $(KERNEXEC_PLUGIN_AFLAGS) -++export PLUGINCC GCC_PLUGINS_CFLAGS GCC_PLUGINS_AFLAGS CONSTIFY_PLUGIN -++ifeq ($(KBUILD_EXTMOD),) -++gcc-plugins: -++ $(Q)$(MAKE) $(build)=tools/gcc -++else -++gcc-plugins: ; -++endif -++else -++gcc-plugins: -++ifeq ($(call cc-ifversion, -ge, 0405, y), y) -++ $(Q)echo "warning, your gcc installation does not support plugins, perhaps the necessary headers are missing?" -++else -++ $(Q)echo "warning, your gcc version does not support plugins, you should upgrade it to gcc 4.5 at least" -++endif -++ $(Q)echo "PAX_MEMORY_STACKLEAK and other features will be less secure" -++endif -++ -+ include $(srctree)/arch/$(SRCARCH)/Makefile -+ -+ ifdef CONFIG_READABLE_ASM -+@@ -762,6 +813,8 @@ -+ -+ # The actual objects are generated when descending, -+ # make sure no implicit rule kicks in -++$(filter-out $(init-y),$(vmlinux-deps)): KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) -++$(filter-out $(init-y),$(vmlinux-deps)): KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) -+ $(sort $(vmlinux-deps)): $(vmlinux-dirs) ; -+ -+ # Handle descending into subdirectories listed in $(vmlinux-dirs) -+@@ -771,7 +824,7 @@ -+ # Error messages still appears in the original language -+ -+ PHONY += $(vmlinux-dirs) -+-$(vmlinux-dirs): prepare scripts -++$(vmlinux-dirs): gcc-plugins prepare scripts -+ $(Q)$(MAKE) $(build)=$@ -+ -+ # Store (new) KERNELRELASE string in include/config/kernel.release -+@@ -815,6 +868,7 @@ -+ $(Q)$(MAKE) $(build)=. -+ -+ # All the preparing.. -++prepare: KBUILD_CFLAGS := $(filter-out $(GCC_PLUGINS_CFLAGS),$(KBUILD_CFLAGS)) -+ prepare: prepare0 -+ -+ # Generate some files -+@@ -922,6 +976,8 @@ -+ # using awk while concatenating to the final file. -+ -+ PHONY += modules -++modules: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) -++modules: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) -+ modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin -+ $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order -+ @$(kecho) ' Building modules, stage 2.'; -+@@ -937,7 +993,7 @@ -+ -+ # Target to prepare building external modules -+ PHONY += modules_prepare -+-modules_prepare: prepare scripts -++modules_prepare: gcc-plugins prepare scripts -+ -+ # Target to install modules -+ PHONY += modules_install -+@@ -994,7 +1050,7 @@ -+ MRPROPER_DIRS += include/config usr/include include/generated \ -+ arch/*/include/generated -+ MRPROPER_FILES += .config .config.old .version .old_version \ -+- include/linux/version.h \ -++ include/linux/version.h tools/gcc/size_overflow_hash.h\ -+ Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS -+ -+ # clean - Delete most, but leave enough to build external modules -+@@ -1032,6 +1088,7 @@ -+ \( -name '*.orig' -o -name '*.rej' -o -name '*~' \ -+ -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ -+ -o -name '.*.rej' \ -++ -o -name '.*.rej' -o -name '*.so' \ -+ -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \ -+ -type f -print | xargs rm -f -+ -+@@ -1192,6 +1249,8 @@ -+ $(module-dirs): crmodverdir $(objtree)/Module.symvers -+ $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@) -+ -++modules: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) -++modules: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) -+ modules: $(module-dirs) -+ @$(kecho) ' Building modules, stage 2.'; -+ $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost -+@@ -1326,17 +1385,21 @@ -+ target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@)) -+ endif -+ -+-%.s: %.c prepare scripts FORCE -++%.s: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) -++%.s: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) -++%.s: %.c gcc-plugins prepare scripts FORCE -+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) -+ %.i: %.c prepare scripts FORCE -+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) -+-%.o: %.c prepare scripts FORCE -++%.o: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) -++%.o: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) -++%.o: %.c gcc-plugins prepare scripts FORCE -+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) -+ %.lst: %.c prepare scripts FORCE -+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) -+-%.s: %.S prepare scripts FORCE -++%.s: %.S gcc-plugins prepare scripts FORCE -+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) -+-%.o: %.S prepare scripts FORCE -++%.o: %.S gcc-plugins prepare scripts FORCE -+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) -+ %.symtypes: %.c prepare scripts FORCE -+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) -+@@ -1346,11 +1409,15 @@ -+ $(cmd_crmodverdir) -+ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ -+ $(build)=$(build-dir) -+-%/: prepare scripts FORCE -++%/: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) -++%/: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) -++%/: gcc-plugins prepare scripts FORCE -+ $(cmd_crmodverdir) -+ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ -+ $(build)=$(build-dir) -+-%.ko: prepare scripts FORCE -++%.ko: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) -++%.ko: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) -++%.ko: gcc-plugins prepare scripts FORCE -+ $(cmd_crmodverdir) -+ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ -+ $(build)=$(build-dir) $(@:.ko=.o) -diff -rupN compat-wireless-3.5.4-1-snpc/Makefile.~1~ compat-wireless-3.5.4-1-snpc/Makefile.~1~ ---- compat-wireless-3.5.4-1-snpc/Makefile.~1~ 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/Makefile.~1~ 2012-10-15 19:11:12.829824571 +0000 -@@ -0,0 +1,256 @@ -+# -+# Copyright (c) 2007-2012 Luis R. Rodriguez <mcgrof@frijolero.org> -+# -+# Permission to use, copy, modify, and/or distribute this software for any -+# purpose with or without fee is hereby granted, provided that the above -+# copyright notice and this permission notice appear in all copies. -+# -+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ -+export KMODDIR?= updates -+KMODDIR_ARG:= "INSTALL_MOD_DIR=$(KMODDIR)" -+ifneq ($(origin KLIB), undefined) -+KMODPATH_ARG:= "INSTALL_MOD_PATH=$(KLIB)" -+else -+export KLIB:= /lib/modules/$(shell uname -r) -+endif -+export KLIB_BUILD ?= $(KLIB)/build -+export MAKE -+ -+DESTDIR?= -+ -+ifneq ($(KERNELRELEASE),) -+ -+-include $(COMPAT_CONFIG) -+include $(COMPAT_CONFIG_CW) -+ -+NOSTDINC_FLAGS := -I$(M)/include/ \ -+ -include $(M)/include/linux/compat-2.6.h \ -+ $(CFLAGS) -+ -+obj-y := compat/ -+ -+obj-$(CONFIG_COMPAT_RFKILL) += net/rfkill/ -+ -+ifeq ($(BT),) -+obj-$(CONFIG_COMPAT_WIRELESS) += net/wireless/ net/mac80211/ -+obj-$(CONFIG_COMPAT_WIRELESS_MODULES) += drivers/net/wireless/ -+ -+obj-$(CONFIG_COMPAT_NET_USB_MODULES) += drivers/net/usb/ -+ -+obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/ethernet/atheros/ -+obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/ethernet/broadcom/ -+ -+obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/ssb/ -+obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/bcma/ -+obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/misc/eeprom/ -+ -+ifeq ($(CONFIG_STAGING_EXCLUDE_BUILD),) -+endif -+ -+endif -+ -+obj-$(CONFIG_COMPAT_BLUETOOTH) += net/bluetooth/ -+obj-$(CONFIG_COMPAT_BLUETOOTH_MODULES) += drivers/bluetooth/ -+ -+else -+ -+export PWD := $(shell pwd) -+ -+# The build will fail if there is any space in PWD. -+ifneq (,$(findstring $() ,$(PWD))) -+$(error "The path to this compat-wireless directory has spaces in it." \ -+ "Please put it somewhere where there is no space") -+endif -+ -+export CFLAGS += \ -+ -DCOMPAT_BASE="\"$(shell cat $(PWD)/.compat_base)\"" \ -+ -DCOMPAT_BASE_TREE="\"$(shell cat $(PWD)/.compat_base_tree)\"" \ -+ -DCOMPAT_BASE_TREE_VERSION="\"$(shell cat $(PWD)/.compat_base_tree_version)\"" \ -+ -DCOMPAT_PROJECT="\"Compat-wireless\"" \ -+ -DCOMPAT_VERSION="\"$(shell cat $(PWD)/.compat_version)\"" -+ -+# These exported as they are used by the scripts -+# to check config and compat autoconf -+export COMPAT_CONFIG_CW=$(PWD)/config.mk -+export COMPAT_CONFIG=$(PWD)/.config -+export CONFIG_CHECK=$(PWD)/.config.mk_md5sum.txt -+export COMPAT_AUTOCONF=include/linux/compat_autoconf.h -+export CREL=$(shell cat $(PWD)/.compat_version) -+export CREL_PRE:=.compat_autoconf_ -+export CREL_CHECK:=$(PWD)/$(CREL_PRE)$(CREL) -+ -+all: modules -+ -+$(COMPAT_CONFIG): ; -+ -+modules: $(CREL_CHECK) -+ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) modules -+ @touch $@ -+ -+bt: $(CREL_CHECK) -+ +@./scripts/check_config.sh -+ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) BT=TRUE modules -+ @touch $@ -+ -+# We use a CREL_CHECK variable which will depend on the environment used to -+# build. If the environment requirements change it forces a reconfiguration -+# check. This means we force a new reconfiguration check if a the user gets a -+# new updates of compat-wireless or when the user updates the $(COMPAT_CONFIG) -+# file. -+# XXX: add kernel target to the CREL_CHECK mix, this would ensure we also -+# reconfigure and build again fresh if we detect a new target kernel is -+# being used. -+$(CREL_CHECK): -+ @# Force to regenerate compat autoconf -+ +@./compat/scripts/gen-compat-config.sh > $(COMPAT_CONFIG) -+ @rm -f $(CONFIG_CHECK) -+ +@./scripts/check_config.sh -+ @md5sum $(COMPAT_CONFIG_CW) > $(CONFIG_CHECK) -+ @touch $@ -+ -+btinstall: btuninstall bt-install-modules -+ -+bt-install-modules: bt -+ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) BT=TRUE \ -+ modules_install -+ @/sbin/depmod -ae -+ @echo -+ @echo Now run: -+ @echo -+ @echo sudo make btunload: -+ @echo -+ @echo And then load the needed bluetooth modules. If unsure reboot. -+ @echo -+ -+btuninstall: -+ @# New location, matches upstream -+ @rm -rf $(KLIB)/$(KMODDIR)/net/bluetooth/ -+ @rm -rf $(KLIB)/$(KMODDIR)/drivers/bluetooth/ -+ @# Lets only remove the stuff we are sure we are providing -+ @# on the misc directory. -+ @/sbin/depmod -ae -+ @echo -+ -+btclean: -+ $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) BT=TRUE clean -+ @rm -f $(CREL_PRE)* -+ -+install: uninstall install-modules install-scripts -+ -+install-modules: modules -+ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \ -+ modules_install -+ @./scripts/update-initramfs -+ -+install-scripts: -+ @# All the scripts we can use -+ @mkdir -p $(DESTDIR)/usr/lib/compat-wireless/ -+ @install scripts/modlib.sh $(DESTDIR)/usr/lib/compat-wireless/ -+ @install scripts/madwifi-unload $(DESTDIR)/usr/sbin/ -+ @# This is to allow switching between drivers without blacklisting -+ @install scripts/athenable $(DESTDIR)/usr/sbin/ -+ @install scripts/b43enable $(DESTDIR)/usr/sbin/ -+ @install scripts/iwl-enable $(DESTDIR)/usr/sbin/ -+ @install scripts/athload $(DESTDIR)/usr/sbin/ -+ @install scripts/b43load $(DESTDIR)/usr/sbin/ -+ @install scripts/iwl-load $(DESTDIR)/usr/sbin/ -+ @if [ $(shell modinfo ath_pci > /dev/null 2>&1 && echo 1) ]; then \ -+ echo -n "Note: madwifi detected, we're going to disable it. " ;\ -+ echo "If you would like to enable it later you can run:" ;\ -+ echo " sudo athenable madwifi" ;\ -+ echo ;\ -+ echo Running athenable ath5k...;\ -+ $(DESTDIR)/usr/sbin/athenable ath5k ;\ -+ fi -+ @if [ $(shell modinfo iwl4965 > /dev/null 2>&1 && echo 1) ]; then \ -+ echo ;\ -+ echo -n "Note: iwl4965 detected, we're going to disable it. " ;\ -+ echo "If you would like to enable it later you can run:" ;\ -+ echo " sudo iwl-load iwl4965" ;\ -+ echo ;\ -+ echo Running iwl-enable iwlagn...;\ -+ $(DESTDIR)/usr/sbin/iwl-enable iwlagn ;\ -+ fi -+ @if [ $(shell modinfo iwlagn > /dev/null 2>&1 && echo 1) ] \ -+ && [ $(shell modinfo iwlwifi > /dev/null 2>&1 && echo 1) ]; then \ -+ echo ;\ -+ echo -n "Note: iwlagn detected, we're going to disable it. " ;\ -+ echo "If you would like to enable it later you can run:" ;\ -+ echo " sudo iwl-load iwlagn" ;\ -+ echo ;\ -+ echo Running iwl-enable iwlwifi...;\ -+ $(DESTDIR)/usr/sbin/iwl-enable iwlwifi ;\ -+ fi -+ @# If on distributions like Mandriva which like to -+ @# compress their modules this will find out and do -+ @# it for you. Reason is some old version of modutils -+ @# won't know mac80211.ko should be used instead of -+ @# mac80211.ko.gz -+ @./scripts/compress_modules -+ @# Mandrake doesn't have a depmod.d/ conf file to prefer -+ @# the updates/ dir which is what we use so we add one for it -+ @# (or any other distribution that doens't have this). -+ @./scripts/check_depmod -+ @# Udev stuff needed for the new compat_firmware_class. -+ @./compat/scripts/compat_firmware_install -+ @/sbin/depmod -a -+ @echo -+ @echo Now run: -+ @echo -+ @echo sudo make unload to unload all: wireless, bluetooth and ethernet modules -+ @echo sudo make wlunload to unload wireless modules -+ @echo sudo make btunload to unload bluetooth modules -+ @echo -+ @echo Run sudo modprobe 'driver-name' to load your desired driver. -+ @echo If unsure reboot. -+ @echo -+ -+uninstall: -+ @# New location, matches upstream -+ @rm -rf $(KLIB)/$(KMODDIR)/compat/ -+ @rm -rf $(KLIB)/$(KMODDIR)/net/mac80211/ -+ @rm -rf $(KLIB)/$(KMODDIR)/net/rfkill/ -+ @rm -rf $(KLIB)/$(KMODDIR)/net/wireless/ -+ @rm -rf $(KLIB)/$(KMODDIR)/drivers/ssb/ -+ @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/usb/ -+ @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/wireless/ -+ @rm -rf $(KLIB)/$(KMODDIR)/drivers/staging/ -+ @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/atl* -+ @find $(KLIB)/$(KMODDIR)/drivers/net/ -name "alx*.ko" -o -name "atl*.ko" 2>/dev/null |xargs rm -f -+ @# Lets only remove the stuff we are sure we are providing -+ @# on the misc directory. -+ @rm -f $(KLIB)/$(KMODDIR)/drivers/misc/eeprom/eeprom_93cx6.ko* -+ @rm -f $(KLIB)/$(KMODDIR)/drivers/misc/eeprom_93cx6.ko* -+ @rm -f $(KLIB)/$(KMODDIR)/drivers/net/b44.ko* -+ @/sbin/depmod -a -+ @./scripts/update-initramfs -+ @echo -+ -+clean: -+ @if [ -d net -a -d $(KLIB_BUILD) ]; then \ -+ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) clean ;\ -+ fi -+ @rm -f $(CREL_PRE)* -+unload: -+ @./scripts/unload.sh -+ -+btunload: -+ @./scripts/btunload.sh -+ -+wlunload: -+ @./scripts/wlunload.sh -+ -+ -+.PHONY: all clean install uninstall unload btunload wlunload modules bt Makefile -+ -+endif -+ -+clean-files += Module.symvers Module.markers modules modules.order -+clean-files += $(CREL_CHECK) $(CONFIG_CHECK) $(COMPAT_CONFIG) -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/alx/alx_sw.h compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/alx/alx_sw.h ---- compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/alx/alx_sw.h 2012-09-22 03:47:20.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/alx/alx_sw.h 2012-10-15 19:11:28.939824302 +0000 -@@ -326,7 +326,7 @@ struct alx_hw_callbacks { - - /* Others */ - int (*get_ethtool_regs)(struct alx_hw *, void *); --}; -+} __no_const; - - struct alx_hw { - struct alx_adapter *adpt; -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/atlx/atl2.c compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/atlx/atl2.c ---- compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/atlx/atl2.c 2012-09-22 03:47:19.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/atlx/atl2.c 2012-10-15 19:11:12.831824568 +0000 -@@ -2886,7 +2886,7 @@ static void atl2_force_ps(struct atl2_hw - */ - - #define ATL2_PARAM(X, desc) \ -- static const int __devinitdata X[ATL2_MAX_NIC + 1] = ATL2_PARAM_INIT; \ -+ static const int __devinitconst X[ATL2_MAX_NIC + 1] = ATL2_PARAM_INIT; \ - MODULE_PARM(X, "1-" __MODULE_STRING(ATL2_MAX_NIC) "i"); \ - MODULE_PARM_DESC(X, desc); - #else -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath.h compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath.h ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath.h 2012-09-22 03:47:18.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath.h 2012-10-15 19:11:12.832824568 +0000 -@@ -119,6 +119,7 @@ struct ath_ops { - void (*write_flush) (void *); - u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr); - }; -+typedef struct ath_ops __no_const ath_ops_no_const; - - struct ath_common; - struct ath_bus_ops; -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9002_mac.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9002_mac.c ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9002_mac.c 2012-09-22 03:47:18.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9002_mac.c 2012-10-15 19:11:12.832824568 +0000 -@@ -184,8 +184,8 @@ ar9002_set_txdesc(struct ath_hw *ah, voi - ads->ds_txstatus6 = ads->ds_txstatus7 = 0; - ads->ds_txstatus8 = ads->ds_txstatus9 = 0; - -- ACCESS_ONCE(ads->ds_link) = i->link; -- ACCESS_ONCE(ads->ds_data) = i->buf_addr[0]; -+ ACCESS_ONCE_RW(ads->ds_link) = i->link; -+ ACCESS_ONCE_RW(ads->ds_data) = i->buf_addr[0]; - - ctl1 = i->buf_len[0] | (i->is_last ? 0 : AR_TxMore); - ctl6 = SM(i->keytype, AR_EncrType); -@@ -199,26 +199,26 @@ ar9002_set_txdesc(struct ath_hw *ah, voi - - if ((i->is_first || i->is_last) && - i->aggr != AGGR_BUF_MIDDLE && i->aggr != AGGR_BUF_LAST) { -- ACCESS_ONCE(ads->ds_ctl2) = set11nTries(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl2) = set11nTries(i->rates, 0) - | set11nTries(i->rates, 1) - | set11nTries(i->rates, 2) - | set11nTries(i->rates, 3) - | (i->dur_update ? AR_DurUpdateEna : 0) - | SM(0, AR_BurstDur); - -- ACCESS_ONCE(ads->ds_ctl3) = set11nRate(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl3) = set11nRate(i->rates, 0) - | set11nRate(i->rates, 1) - | set11nRate(i->rates, 2) - | set11nRate(i->rates, 3); - } else { -- ACCESS_ONCE(ads->ds_ctl2) = 0; -- ACCESS_ONCE(ads->ds_ctl3) = 0; -+ ACCESS_ONCE_RW(ads->ds_ctl2) = 0; -+ ACCESS_ONCE_RW(ads->ds_ctl3) = 0; - } - - if (!i->is_first) { -- ACCESS_ONCE(ads->ds_ctl0) = 0; -- ACCESS_ONCE(ads->ds_ctl1) = ctl1; -- ACCESS_ONCE(ads->ds_ctl6) = ctl6; -+ ACCESS_ONCE_RW(ads->ds_ctl0) = 0; -+ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; -+ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; - return; - } - -@@ -243,7 +243,7 @@ ar9002_set_txdesc(struct ath_hw *ah, voi - break; - } - -- ACCESS_ONCE(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) -+ ACCESS_ONCE_RW(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) - | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) - | SM(i->txpower, AR_XmitPower) - | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) -@@ -253,19 +253,19 @@ ar9002_set_txdesc(struct ath_hw *ah, voi - | (i->flags & ATH9K_TXDESC_RTSENA ? AR_RTSEnable : - (i->flags & ATH9K_TXDESC_CTSENA ? AR_CTSEnable : 0)); - -- ACCESS_ONCE(ads->ds_ctl1) = ctl1; -- ACCESS_ONCE(ads->ds_ctl6) = ctl6; -+ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; -+ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; - - if (i->aggr == AGGR_BUF_MIDDLE || i->aggr == AGGR_BUF_LAST) - return; - -- ACCESS_ONCE(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) - | set11nPktDurRTSCTS(i->rates, 1); - -- ACCESS_ONCE(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) -+ ACCESS_ONCE_RW(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) - | set11nPktDurRTSCTS(i->rates, 3); - -- ACCESS_ONCE(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) - | set11nRateFlags(i->rates, 1) - | set11nRateFlags(i->rates, 2) - | set11nRateFlags(i->rates, 3) -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9003_mac.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9003_mac.c ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9003_mac.c 2012-09-22 03:47:20.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9003_mac.c 2012-10-15 19:11:12.833824568 +0000 -@@ -39,47 +39,47 @@ ar9003_set_txdesc(struct ath_hw *ah, voi - (i->qcu << AR_TxQcuNum_S) | desc_len; - - checksum += val; -- ACCESS_ONCE(ads->info) = val; -+ ACCESS_ONCE_RW(ads->info) = val; - - checksum += i->link; -- ACCESS_ONCE(ads->link) = i->link; -+ ACCESS_ONCE_RW(ads->link) = i->link; - - checksum += i->buf_addr[0]; -- ACCESS_ONCE(ads->data0) = i->buf_addr[0]; -+ ACCESS_ONCE_RW(ads->data0) = i->buf_addr[0]; - checksum += i->buf_addr[1]; -- ACCESS_ONCE(ads->data1) = i->buf_addr[1]; -+ ACCESS_ONCE_RW(ads->data1) = i->buf_addr[1]; - checksum += i->buf_addr[2]; -- ACCESS_ONCE(ads->data2) = i->buf_addr[2]; -+ ACCESS_ONCE_RW(ads->data2) = i->buf_addr[2]; - checksum += i->buf_addr[3]; -- ACCESS_ONCE(ads->data3) = i->buf_addr[3]; -+ ACCESS_ONCE_RW(ads->data3) = i->buf_addr[3]; - - checksum += (val = (i->buf_len[0] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl3) = val; -+ ACCESS_ONCE_RW(ads->ctl3) = val; - checksum += (val = (i->buf_len[1] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl5) = val; -+ ACCESS_ONCE_RW(ads->ctl5) = val; - checksum += (val = (i->buf_len[2] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl7) = val; -+ ACCESS_ONCE_RW(ads->ctl7) = val; - checksum += (val = (i->buf_len[3] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl9) = val; -+ ACCESS_ONCE_RW(ads->ctl9) = val; - - checksum = (u16) (((checksum & 0xffff) + (checksum >> 16)) & 0xffff); -- ACCESS_ONCE(ads->ctl10) = checksum; -+ ACCESS_ONCE_RW(ads->ctl10) = checksum; - - if (i->is_first || i->is_last) { -- ACCESS_ONCE(ads->ctl13) = set11nTries(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl13) = set11nTries(i->rates, 0) - | set11nTries(i->rates, 1) - | set11nTries(i->rates, 2) - | set11nTries(i->rates, 3) - | (i->dur_update ? AR_DurUpdateEna : 0) - | SM(0, AR_BurstDur); - -- ACCESS_ONCE(ads->ctl14) = set11nRate(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl14) = set11nRate(i->rates, 0) - | set11nRate(i->rates, 1) - | set11nRate(i->rates, 2) - | set11nRate(i->rates, 3); - } else { -- ACCESS_ONCE(ads->ctl13) = 0; -- ACCESS_ONCE(ads->ctl14) = 0; -+ ACCESS_ONCE_RW(ads->ctl13) = 0; -+ ACCESS_ONCE_RW(ads->ctl14) = 0; - } - - ads->ctl20 = 0; -@@ -89,17 +89,17 @@ ar9003_set_txdesc(struct ath_hw *ah, voi - - ctl17 = SM(i->keytype, AR_EncrType); - if (!i->is_first) { -- ACCESS_ONCE(ads->ctl11) = 0; -- ACCESS_ONCE(ads->ctl12) = i->is_last ? 0 : AR_TxMore; -- ACCESS_ONCE(ads->ctl15) = 0; -- ACCESS_ONCE(ads->ctl16) = 0; -- ACCESS_ONCE(ads->ctl17) = ctl17; -- ACCESS_ONCE(ads->ctl18) = 0; -- ACCESS_ONCE(ads->ctl19) = 0; -+ ACCESS_ONCE_RW(ads->ctl11) = 0; -+ ACCESS_ONCE_RW(ads->ctl12) = i->is_last ? 0 : AR_TxMore; -+ ACCESS_ONCE_RW(ads->ctl15) = 0; -+ ACCESS_ONCE_RW(ads->ctl16) = 0; -+ ACCESS_ONCE_RW(ads->ctl17) = ctl17; -+ ACCESS_ONCE_RW(ads->ctl18) = 0; -+ ACCESS_ONCE_RW(ads->ctl19) = 0; - return; - } - -- ACCESS_ONCE(ads->ctl11) = (i->pkt_len & AR_FrameLen) -+ ACCESS_ONCE_RW(ads->ctl11) = (i->pkt_len & AR_FrameLen) - | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) - | SM(i->txpower, AR_XmitPower) - | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) -@@ -135,22 +135,22 @@ ar9003_set_txdesc(struct ath_hw *ah, voi - val = (i->flags & ATH9K_TXDESC_PAPRD) >> ATH9K_TXDESC_PAPRD_S; - ctl12 |= SM(val, AR_PAPRDChainMask); - -- ACCESS_ONCE(ads->ctl12) = ctl12; -- ACCESS_ONCE(ads->ctl17) = ctl17; -+ ACCESS_ONCE_RW(ads->ctl12) = ctl12; -+ ACCESS_ONCE_RW(ads->ctl17) = ctl17; - -- ACCESS_ONCE(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) - | set11nPktDurRTSCTS(i->rates, 1); - -- ACCESS_ONCE(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) -+ ACCESS_ONCE_RW(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) - | set11nPktDurRTSCTS(i->rates, 3); - -- ACCESS_ONCE(ads->ctl18) = set11nRateFlags(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl18) = set11nRateFlags(i->rates, 0) - | set11nRateFlags(i->rates, 1) - | set11nRateFlags(i->rates, 2) - | set11nRateFlags(i->rates, 3) - | SM(i->rtscts_rate, AR_RTSCTSRate); - -- ACCESS_ONCE(ads->ctl19) = AR_Not_Sounding; -+ ACCESS_ONCE_RW(ads->ctl19) = AR_Not_Sounding; - } - - static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads) -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/hw.h compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/hw.h ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/hw.h 2012-09-22 03:47:20.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/hw.h 2012-10-15 19:11:12.834824568 +0000 -@@ -610,7 +610,7 @@ struct ath_hw_private_ops { - - /* ANI */ - void (*ani_cache_ini_regs)(struct ath_hw *ah); --}; -+} __no_const; - - /** - * struct ath_hw_ops - callbacks used by hardware code and driver code -@@ -640,7 +640,7 @@ struct ath_hw_ops { - void (*antdiv_comb_conf_set)(struct ath_hw *ah, - struct ath_hw_antcomb_conf *antconf); - --}; -+} __no_const; - - struct ath_nf_limits { - s16 max; -@@ -660,7 +660,7 @@ enum ath_cal_list { - #define AH_FASTCC 0x4 - - struct ath_hw { -- struct ath_ops reg_ops; -+ ath_ops_no_const reg_ops; - - struct ieee80211_hw *hw; - struct ath_common common; -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h compat-wireless-3.5.4-1-snpc/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h 2012-09-22 03:47:18.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h 2012-10-15 19:11:12.835824568 +0000 -@@ -545,7 +545,7 @@ struct phy_func_ptr { - void (*carrsuppr)(struct brcms_phy *); - s32 (*rxsigpwr)(struct brcms_phy *, s32); - void (*detach)(struct brcms_phy *); --}; -+} __no_const; - - struct brcms_phy { - struct brcms_phy_pub pubpi_ro; -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlegacy/3945-mac.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlegacy/3945-mac.c ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlegacy/3945-mac.c 2012-09-22 03:47:19.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlegacy/3945-mac.c 2012-10-15 19:11:12.837824568 +0000 -@@ -3613,7 +3613,9 @@ il3945_pci_probe(struct pci_dev *pdev, c - */ - if (il3945_mod_params.disable_hw_scan) { - D_INFO("Disabling hw_scan\n"); -- il3945_mac_ops.hw_scan = NULL; -+ pax_open_kernel(); -+ *(void **)&il3945_mac_ops.hw_scan = NULL; -+ pax_close_kernel(); - } - - D_INFO("*** LOAD DRIVER ***\n"); -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-debugfs.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-debugfs.c ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2012-09-22 03:47:18.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2012-10-15 19:11:12.838824568 +0000 -@@ -204,7 +204,7 @@ static ssize_t iwl_dbgfs_sram_write(stru - { - struct iwl_priv *priv = file->private_data; - char buf[64]; -- int buf_size; -+ size_t buf_size; - u32 offset, len; - - memset(buf, 0, sizeof(buf)); -@@ -481,7 +481,7 @@ static ssize_t iwl_dbgfs_rx_handlers_wri - struct iwl_priv *priv = file->private_data; - - char buf[8]; -- int buf_size; -+ size_t buf_size; - u32 reset_flag; - - memset(buf, 0, sizeof(buf)); -@@ -562,7 +562,7 @@ static ssize_t iwl_dbgfs_disable_ht40_wr - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int ht40; - - memset(buf, 0, sizeof(buf)); -@@ -614,7 +614,7 @@ static ssize_t iwl_dbgfs_sleep_level_ove - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int value; - - memset(buf, 0, sizeof(buf)); -@@ -1879,7 +1879,7 @@ static ssize_t iwl_dbgfs_clear_ucode_sta - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int clear; - - memset(buf, 0, sizeof(buf)); -@@ -1924,7 +1924,7 @@ static ssize_t iwl_dbgfs_ucode_tracing_w - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int trace; - - memset(buf, 0, sizeof(buf)); -@@ -1995,7 +1995,7 @@ static ssize_t iwl_dbgfs_missed_beacon_w - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int missed; - - memset(buf, 0, sizeof(buf)); -@@ -2036,7 +2036,7 @@ static ssize_t iwl_dbgfs_plcp_delta_writ - - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int plcp; - - memset(buf, 0, sizeof(buf)); -@@ -2096,7 +2096,7 @@ static ssize_t iwl_dbgfs_txfifo_flush_wr - - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int flush; - - memset(buf, 0, sizeof(buf)); -@@ -2186,7 +2186,7 @@ static ssize_t iwl_dbgfs_protection_mode - - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int rts; - - if (!priv->cfg->ht_params) -@@ -2228,7 +2228,7 @@ static ssize_t iwl_dbgfs_echo_test_write - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - - memset(buf, 0, sizeof(buf)); - buf_size = min(count, sizeof(buf) - 1); -@@ -2264,7 +2264,7 @@ static ssize_t iwl_dbgfs_log_event_write - struct iwl_priv *priv = file->private_data; - u32 event_log_flag; - char buf[8]; -- int buf_size; -+ size_t buf_size; - - memset(buf, 0, sizeof(buf)); - buf_size = min(count, sizeof(buf) - 1); -@@ -2314,7 +2314,7 @@ static ssize_t iwl_dbgfs_calib_disabled_ - struct iwl_priv *priv = file->private_data; - char buf[8]; - u32 calib_disabled; -- int buf_size; -+ size_t buf_size; - - memset(buf, 0, sizeof(buf)); - buf_size = min(count, sizeof(buf) - 1); -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c 2012-09-22 03:47:20.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c 2012-10-15 19:11:12.839824568 +0000 -@@ -1949,7 +1949,7 @@ static ssize_t iwl_dbgfs_interrupt_write - struct isr_statistics *isr_stats = &trans_pcie->isr_stats; - - char buf[8]; -- int buf_size; -+ size_t buf_size; - u32 reset_flag; - - memset(buf, 0, sizeof(buf)); -@@ -1970,7 +1970,7 @@ static ssize_t iwl_dbgfs_csr_write(struc - { - struct iwl_trans *trans = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int csr; - - memset(buf, 0, sizeof(buf)); -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mac80211_hwsim.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mac80211_hwsim.c ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mac80211_hwsim.c 2012-09-22 03:47:19.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mac80211_hwsim.c 2012-10-15 19:11:12.840824568 +0000 -@@ -1752,9 +1752,11 @@ static int __init init_mac80211_hwsim(vo - return -EINVAL; - - if (fake_hw_scan) { -- mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; -- mac80211_hwsim_ops.sw_scan_start = NULL; -- mac80211_hwsim_ops.sw_scan_complete = NULL; -+ pax_open_kernel(); -+ *(void **)&mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; -+ *(void **)&mac80211_hwsim_ops.sw_scan_start = NULL; -+ *(void **)&mac80211_hwsim_ops.sw_scan_complete = NULL; -+ pax_close_kernel(); - } - - spin_lock_init(&hwsim_radio_lock); -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mwifiex/main.h compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mwifiex/main.h ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mwifiex/main.h 2012-09-22 03:47:18.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mwifiex/main.h 2012-10-15 19:11:12.841824568 +0000 -@@ -567,7 +567,7 @@ struct mwifiex_if_ops { - int (*event_complete) (struct mwifiex_adapter *, struct sk_buff *); - int (*data_complete) (struct mwifiex_adapter *, struct sk_buff *); - int (*dnld_fw) (struct mwifiex_adapter *, struct mwifiex_fw_image *); --}; -+} __no_const; - - struct mwifiex_adapter { - u8 iface_type; -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rndis_wlan.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rndis_wlan.c ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rndis_wlan.c 2012-09-22 03:47:19.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rndis_wlan.c 2012-10-15 19:11:12.843824568 +0000 -@@ -1235,7 +1235,7 @@ static int set_rts_threshold(struct usbn - - netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold); - -- if (rts_threshold < 0 || rts_threshold > 2347) -+ if (rts_threshold > 2347) - rts_threshold = 2347; - - tmp = cpu_to_le32(rts_threshold); -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00.h compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00.h ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00.h 2012-09-22 03:47:18.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00.h 2012-10-15 19:11:12.844824568 +0000 -@@ -396,7 +396,7 @@ struct rt2x00_intf { - * for hardware which doesn't support hardware - * sequence counting. - */ -- atomic_t seqno; -+ atomic_unchecked_t seqno; - }; - - static inline struct rt2x00_intf* vif_to_intf(struct ieee80211_vif *vif) -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00queue.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00queue.c ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00queue.c 2012-09-22 03:47:18.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00queue.c 2012-10-15 19:11:12.845824568 +0000 -@@ -240,9 +240,9 @@ static void rt2x00queue_create_tx_descri - * sequence counter given by mac80211. - */ - if (test_bit(ENTRY_TXD_FIRST_FRAGMENT, &txdesc->flags)) -- seqno = atomic_add_return(0x10, &intf->seqno); -+ seqno = atomic_add_return_unchecked(0x10, &intf->seqno); - else -- seqno = atomic_read(&intf->seqno); -+ seqno = atomic_read_unchecked(&intf->seqno); - - hdr->seq_ctrl &= cpu_to_le16(IEEE80211_SCTL_FRAG); - hdr->seq_ctrl |= cpu_to_le16(seqno); -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wl1251/wl1251.h compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wl1251/wl1251.h ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wl1251/wl1251.h 2012-09-22 03:47:18.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wl1251/wl1251.h 2012-10-15 19:11:12.845824568 +0000 -@@ -266,7 +266,7 @@ struct wl1251_if_operations { - void (*reset)(struct wl1251 *wl); - void (*enable_irq)(struct wl1251 *wl); - void (*disable_irq)(struct wl1251 *wl); --}; -+} __no_const; - - struct wl1251 { - struct ieee80211_hw *hw; -diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wlcore/wlcore.h compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wlcore/wlcore.h ---- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wlcore/wlcore.h 2012-09-22 03:47:19.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wlcore/wlcore.h 2012-10-15 19:11:12.846824568 +0000 -@@ -61,7 +61,7 @@ struct wlcore_ops { - struct wl12xx_vif *wlvif); - s8 (*get_pg_ver)(struct wl1271 *wl); - void (*get_mac)(struct wl1271 *wl); --}; -+} __no_const; - - enum wlcore_partitions { - PART_DOWN, -diff -rupN compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.rej compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.rej ---- compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.rej 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.rej 2012-10-15 19:11:12.847824568 +0000 -@@ -0,0 +1,11 @@ -+--- include/linux/pm_runtime.h 2012-07-23 00:22:30.802342811 +0200 -++++ include/linux/pm_runtime.h 2012-07-23 00:23:11.582344010 +0200 -+@@ -97,7 +97,7 @@ -+ -+ static inline void pm_runtime_mark_last_busy(struct device *dev) -+ { -+- ACCESS_ONCE(dev->power.last_busy) = jiffies; -++ ACCESS_ONCE_RW(dev->power.last_busy) = jiffies; -+ } -+ -+ #else /* !CONFIG_PM_RUNTIME */ -diff -rupN compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.~1~ compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.~1~ ---- compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.~1~ 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.~1~ 2012-10-15 19:11:12.847824568 +0000 -@@ -0,0 +1,14 @@ -+#include <linux/version.h> -+ -+#ifndef __COMPAT_LINUX_PM_RUNTIME_H -+#define __COMPAT_LINUX_PM_RUNTIME_H -+ -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) -+#include_next <linux/pm_runtime.h> -+#else -+ -+static inline void pm_runtime_enable(struct device *dev) {} -+ -+#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) */ -+ -+#endif -diff -rupN compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.rej compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.rej ---- compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.rej 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.rej 2012-10-15 19:11:12.848824568 +0000 -@@ -0,0 +1,10 @@ -+--- include/linux/rfkill.h 2012-05-21 11:33:38.331929879 +0200 -++++ include/linux/rfkill.h 2012-07-23 00:23:11.586344010 +0200 -+@@ -147,6 +147,7 @@ -+ void (*query)(struct rfkill *rfkill, void *data); -+ int (*set_block)(void *data, bool blocked); -+ }; -++typedef struct rfkill_ops __no_const rfkill_ops_no_const; -+ -+ #if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE) -+ /** -diff -rupN compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.~1~ compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.~1~ ---- compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.~1~ 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.~1~ 2012-10-15 19:11:12.848824568 +0000 -@@ -0,0 +1,32 @@ -+#ifndef __COMPAT_RFKILL_H -+#define __COMPAT_RFKILL_H -+ -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)) -+ -+#include_next <linux/rfkill.h> -+ -+#else -+ -+#include <linux/compat-2.6.h> -+ -+#undef CONFIG_RFKILL -+#undef CONFIG_RFKILL_INPUT -+#undef CONFIG_RFKILL_LEDS -+ -+#ifdef CONFIG_RFKILL_BACKPORT -+#define CONFIG_RFKILL 1 -+#endif -+ -+#ifdef CONFIG_RFKILL_BACKPORT_INPUT -+#define CONFIG_RFKILL_INPUT -+#endif -+ -+#ifdef CONFIG_RFKILL_BACKPORT_LEDS -+#define CONFIG_RFKILL_LEDS -+#endif -+ -+#include <linux/rfkill_backport.h> -+ -+#endif -+ -+#endif -diff -rupN compat-wireless-3.5.4-1-snpc/include/linux/unaligned/access_ok.h compat-wireless-3.5.4-1-snpc/include/linux/unaligned/access_ok.h ---- compat-wireless-3.5.4-1-snpc/include/linux/unaligned/access_ok.h 2012-09-17 19:15:56.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/include/linux/unaligned/access_ok.h 2012-10-15 19:11:12.848824568 +0000 -@@ -6,32 +6,32 @@ - - static inline u16 get_unaligned_le16(const void *p) - { -- return le16_to_cpup((__le16 *)p); -+ return le16_to_cpup((const __le16 *)p); - } - - static inline u32 get_unaligned_le32(const void *p) - { -- return le32_to_cpup((__le32 *)p); -+ return le32_to_cpup((const __le32 *)p); - } - - static inline u64 get_unaligned_le64(const void *p) - { -- return le64_to_cpup((__le64 *)p); -+ return le64_to_cpup((const __le64 *)p); - } - - static inline u16 get_unaligned_be16(const void *p) - { -- return be16_to_cpup((__be16 *)p); -+ return be16_to_cpup((const __be16 *)p); - } - - static inline u32 get_unaligned_be32(const void *p) - { -- return be32_to_cpup((__be32 *)p); -+ return be32_to_cpup((const __be32 *)p); - } - - static inline u64 get_unaligned_be64(const void *p) - { -- return be64_to_cpup((__be64 *)p); -+ return be64_to_cpup((const __be64 *)p); - } - - static inline void put_unaligned_le16(u16 val, void *p) -diff -rupN compat-wireless-3.5.4-1-snpc/net/bluetooth/hci_sock.c compat-wireless-3.5.4-1-snpc/net/bluetooth/hci_sock.c ---- compat-wireless-3.5.4-1-snpc/net/bluetooth/hci_sock.c 2012-09-22 03:47:19.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/net/bluetooth/hci_sock.c 2012-10-15 19:11:12.849824568 +0000 -@@ -947,7 +947,7 @@ static int hci_sock_setsockopt(struct so - uf.event_mask[1] = *((u32 *) f->event_mask + 1); - } - -- len = min_t(unsigned int, len, sizeof(uf)); -+ len = min((size_t)len, sizeof(uf)); - if (copy_from_user(&uf, optval, len)) { - err = -EFAULT; - break; -diff -rupN compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_core.c compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_core.c ---- compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_core.c 2012-09-22 03:47:18.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_core.c 2012-10-15 19:11:12.851824568 +0000 -@@ -2799,8 +2799,10 @@ static int l2cap_parse_conf_rsp(struct l - break; - - case L2CAP_CONF_RFC: -- if (olen == sizeof(rfc)) -- memcpy(&rfc, (void *)val, olen); -+ if (olen != sizeof(rfc)) -+ break; -+ -+ memcpy(&rfc, (void *)val, olen); - - if (test_bit(CONF_STATE2_DEVICE, &chan->conf_state) && - rfc.mode != chan->mode) -diff -rupN compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_sock.c compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_sock.c ---- compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_sock.c 2012-09-22 03:47:19.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_sock.c 2012-10-15 19:11:12.852824568 +0000 -@@ -451,7 +451,8 @@ static int l2cap_sock_setsockopt_old(str - struct sock *sk = sock->sk; - struct l2cap_chan *chan = l2cap_pi(sk)->chan; - struct l2cap_options opts; -- int len, err = 0; -+ int err = 0; -+ size_t len = optlen; - u32 opt; - - BT_DBG("sk %p", sk); -@@ -473,7 +474,7 @@ static int l2cap_sock_setsockopt_old(str - opts.max_tx = chan->max_tx; - opts.txwin_size = chan->tx_win; - -- len = min_t(unsigned int, sizeof(opts), optlen); -+ len = min(sizeof(opts), len); - if (copy_from_user((char *) &opts, optval, len)) { - err = -EFAULT; - break; -@@ -553,7 +554,8 @@ static int l2cap_sock_setsockopt(struct - struct bt_security sec; - struct bt_power pwr; - struct l2cap_conn *conn; -- int len, err = 0; -+ int err = 0; -+ size_t len = optlen; - u32 opt; - - BT_DBG("sk %p", sk); -@@ -576,7 +578,7 @@ static int l2cap_sock_setsockopt(struct - - sec.level = BT_SECURITY_LOW; - -- len = min_t(unsigned int, sizeof(sec), optlen); -+ len = min(sizeof(sec), len); - if (copy_from_user((char *) &sec, optval, len)) { - err = -EFAULT; - break; -@@ -673,7 +675,7 @@ static int l2cap_sock_setsockopt(struct - - pwr.force_active = BT_POWER_FORCE_ACTIVE_ON; - -- len = min_t(unsigned int, sizeof(pwr), optlen); -+ len = min(sizeof(pwr), len); - if (copy_from_user((char *) &pwr, optval, len)) { - err = -EFAULT; - break; -diff -rupN compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/sock.c compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/sock.c ---- compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/sock.c 2012-09-22 03:47:19.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/sock.c 2012-10-15 19:11:12.853824568 +0000 -@@ -694,7 +694,7 @@ static int rfcomm_sock_setsockopt(struct - struct sock *sk = sock->sk; - struct bt_security sec; - int err = 0; -- size_t len; -+ size_t len = optlen; - u32 opt; - - BT_DBG("sk %p", sk); -@@ -716,7 +716,7 @@ static int rfcomm_sock_setsockopt(struct - - sec.level = BT_SECURITY_LOW; - -- len = min_t(unsigned int, sizeof(sec), optlen); -+ len = min(sizeof(sec), len); - if (copy_from_user((char *) &sec, optval, len)) { - err = -EFAULT; - break; -diff -rupN compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/tty.c compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/tty.c ---- compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/tty.c 2012-09-22 03:47:19.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/tty.c 2012-10-15 19:11:12.854824568 +0000 -@@ -314,7 +314,7 @@ static void rfcomm_dev_del(struct rfcomm - BUG_ON(test_and_set_bit(RFCOMM_TTY_RELEASED, &dev->flags)); - - spin_lock_irqsave(&dev->port.lock, flags); -- if (dev->port.count > 0) { -+ if (atomic_read(&dev->port.count) > 0) { - spin_unlock_irqrestore(&dev->port.lock, flags); - return; - } -@@ -669,10 +669,10 @@ static int rfcomm_tty_open(struct tty_st - return -ENODEV; - - BT_DBG("dev %p dst %s channel %d opened %d", dev, batostr(&dev->dst), -- dev->channel, dev->port.count); -+ dev->channel, atomic_read(&dev->port.count)); - - spin_lock_irqsave(&dev->port.lock, flags); -- if (++dev->port.count > 1) { -+ if (atomic_inc_return(&dev->port.count) > 1) { - spin_unlock_irqrestore(&dev->port.lock, flags); - return 0; - } -@@ -741,10 +741,10 @@ static void rfcomm_tty_close(struct tty_ - return; - - BT_DBG("tty %p dev %p dlc %p opened %d", tty, dev, dev->dlc, -- dev->port.count); -+ atomic_read(&dev->port.count)); - - spin_lock_irqsave(&dev->port.lock, flags); -- if (!--dev->port.count) { -+ if (!atomic_dec_return(&dev->port.count)) { - spin_unlock_irqrestore(&dev->port.lock, flags); - if (dev->tty_dev->parent) - #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29)) -diff -rupN compat-wireless-3.5.4-1-snpc/net/mac80211/ieee80211_i.h compat-wireless-3.5.4-1-snpc/net/mac80211/ieee80211_i.h ---- compat-wireless-3.5.4-1-snpc/net/mac80211/ieee80211_i.h 2012-09-22 03:47:19.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/net/mac80211/ieee80211_i.h 2012-10-15 19:11:12.855824568 +0000 -@@ -28,6 +28,7 @@ - #include <net/ieee80211_radiotap.h> - #include <net/cfg80211.h> - #include <net/mac80211.h> -+#include <asm/local.h> - #include "key.h" - #include "sta_info.h" - -@@ -863,7 +864,7 @@ struct ieee80211_local { - /* also used to protect ampdu_ac_queue and amdpu_ac_stop_refcnt */ - spinlock_t queue_stop_reason_lock; - -- int open_count; -+ local_t open_count; - int monitors, cooked_mntrs; - /* number of interfaces with corresponding FIF_ flags */ - int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss, fif_pspoll, -diff -rupN compat-wireless-3.5.4-1-snpc/net/mac80211/iface.c compat-wireless-3.5.4-1-snpc/net/mac80211/iface.c ---- compat-wireless-3.5.4-1-snpc/net/mac80211/iface.c 2012-09-22 03:47:19.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/net/mac80211/iface.c 2012-10-15 19:11:12.856824568 +0000 -@@ -328,7 +328,7 @@ static int ieee80211_do_open(struct net_ - break; - } - -- if (local->open_count == 0) { -+ if (local_read(&local->open_count) == 0) { - res = drv_start(local); - if (res) - goto err_del_bss; -@@ -371,7 +371,7 @@ static int ieee80211_do_open(struct net_ - break; - } - -- if (local->monitors == 0 && local->open_count == 0) { -+ if (local->monitors == 0 && local_read(&local->open_count) == 0) { - res = ieee80211_add_virtual_monitor(local); - if (res) - goto err_stop; -@@ -468,7 +468,7 @@ static int ieee80211_do_open(struct net_ - mutex_unlock(&local->mtx); - - if (coming_up) -- local->open_count++; -+ local_inc(&local->open_count); - - if (hw_reconf_flags) - ieee80211_hw_config(local, hw_reconf_flags); -@@ -481,7 +481,7 @@ static int ieee80211_do_open(struct net_ - err_del_interface: - drv_remove_interface(local, sdata); - err_stop: -- if (!local->open_count) -+ if (!local_read(&local->open_count)) - drv_stop(local); - err_del_bss: - sdata->bss = NULL; -@@ -618,7 +618,7 @@ static void ieee80211_do_stop(struct iee - } - - if (going_down) -- local->open_count--; -+ local_dec(&local->open_count); - - switch (sdata->vif.type) { - case NL80211_IFTYPE_AP_VLAN: -@@ -690,7 +690,7 @@ static void ieee80211_do_stop(struct iee - - ieee80211_recalc_ps(local, -1); - -- if (local->open_count == 0) { -+ if (local_read(&local->open_count) == 0) { - if (local->ops->napi_poll) - napi_disable(&local->napi); - ieee80211_clear_tx_pending(local); -@@ -722,7 +722,7 @@ static void ieee80211_do_stop(struct iee - } - spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); - -- if (local->monitors == local->open_count && local->monitors > 0) -+ if (local->monitors == local_read(&local->open_count) && local->monitors > 0) - ieee80211_add_virtual_monitor(local); - } - -diff -rupN compat-wireless-3.5.4-1-snpc/net/mac80211/main.c compat-wireless-3.5.4-1-snpc/net/mac80211/main.c ---- compat-wireless-3.5.4-1-snpc/net/mac80211/main.c 2012-09-22 03:47:19.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/net/mac80211/main.c 2012-10-15 19:11:12.857824568 +0000 -@@ -170,7 +170,7 @@ int ieee80211_hw_config(struct ieee80211 - local->hw.conf.power_level = power; - } - -- if (changed && local->open_count) { -+ if (changed && local_read(&local->open_count)) { - ret = drv_config(local, changed); - /* - * Goal: -diff -rupN compat-wireless-3.5.4-1-snpc/net/mac80211/pm.c compat-wireless-3.5.4-1-snpc/net/mac80211/pm.c ---- compat-wireless-3.5.4-1-snpc/net/mac80211/pm.c 2012-09-22 03:47:18.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/net/mac80211/pm.c 2012-10-15 19:11:12.857824568 +0000 -@@ -34,7 +34,7 @@ int __ieee80211_suspend(struct ieee80211 - struct ieee80211_sub_if_data *sdata; - struct sta_info *sta; - -- if (!local->open_count) -+ if (!local_read(&local->open_count)) - goto suspend; - - ieee80211_scan_cancel(local); -@@ -72,7 +72,7 @@ int __ieee80211_suspend(struct ieee80211 - cancel_work_sync(&local->dynamic_ps_enable_work); - del_timer_sync(&local->dynamic_ps_timer); - -- local->wowlan = wowlan && local->open_count; -+ local->wowlan = wowlan && local_read(&local->open_count); - if (local->wowlan) { - int err = drv_suspend(local, wowlan); - if (err < 0) { -@@ -132,7 +132,7 @@ int __ieee80211_suspend(struct ieee80211 - drv_remove_interface(local, sdata); - - /* stop hardware - this must stop RX */ -- if (local->open_count) -+ if (local_read(&local->open_count)) - ieee80211_stop_device(local); - - suspend: -diff -rupN compat-wireless-3.5.4-1-snpc/net/mac80211/rate.c compat-wireless-3.5.4-1-snpc/net/mac80211/rate.c ---- compat-wireless-3.5.4-1-snpc/net/mac80211/rate.c 2012-09-22 03:47:19.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/net/mac80211/rate.c 2012-10-15 19:11:12.858824568 +0000 -@@ -494,7 +494,7 @@ int ieee80211_init_rate_ctrl_alg(struct - - ASSERT_RTNL(); - -- if (local->open_count) -+ if (local_read(&local->open_count)) - return -EBUSY; - - if (local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) { -diff -rupN compat-wireless-3.5.4-1-snpc/net/mac80211/rc80211_pid_debugfs.c compat-wireless-3.5.4-1-snpc/net/mac80211/rc80211_pid_debugfs.c ---- compat-wireless-3.5.4-1-snpc/net/mac80211/rc80211_pid_debugfs.c 2012-09-22 03:47:18.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/net/mac80211/rc80211_pid_debugfs.c 2012-10-15 19:11:12.859824568 +0000 -@@ -193,7 +193,7 @@ static ssize_t rate_control_pid_events_r - - spin_unlock_irqrestore(&events->lock, status); - -- if (copy_to_user(buf, pb, p)) -+ if (p > sizeof(pb) || copy_to_user(buf, pb, p)) - return -EFAULT; - - return p; -diff -rupN compat-wireless-3.5.4-1-snpc/net/mac80211/util.c compat-wireless-3.5.4-1-snpc/net/mac80211/util.c ---- compat-wireless-3.5.4-1-snpc/net/mac80211/util.c 2012-09-22 03:47:18.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/net/mac80211/util.c 2012-10-15 19:11:12.859824568 +0000 -@@ -1224,7 +1224,7 @@ int ieee80211_reconfig(struct ieee80211_ - } - #endif - /* everything else happens only if HW was up & running */ -- if (!local->open_count) -+ if (!local_read(&local->open_count)) - goto wake_up; - - /* -diff -rupN compat-wireless-3.5.4-1-snpc/net/wireless/core.h compat-wireless-3.5.4-1-snpc/net/wireless/core.h ---- compat-wireless-3.5.4-1-snpc/net/wireless/core.h 2012-09-22 03:47:18.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/net/wireless/core.h 2012-10-15 19:11:12.860824568 +0000 -@@ -27,7 +27,7 @@ struct cfg80211_registered_device { - struct mutex mtx; - - /* rfkill support */ -- struct rfkill_ops rfkill_ops; -+ rfkill_ops_no_const rfkill_ops; - struct rfkill *rfkill; - struct work_struct rfkill_sync; - -diff -rupN compat-wireless-3.5.4-1-snpc/net/wireless/wext-core.c compat-wireless-3.5.4-1-snpc/net/wireless/wext-core.c ---- compat-wireless-3.5.4-1-snpc/net/wireless/wext-core.c 2012-09-22 03:47:19.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/net/wireless/wext-core.c 2012-10-15 19:11:12.861824568 +0000 -@@ -781,8 +781,7 @@ static int ioctl_standard_iw_point(struc - */ - - /* Support for very large requests */ -- if ((descr->flags & IW_DESCR_FLAG_NOMAX) && -- (user_length > descr->max_tokens)) { -+ if (user_length > descr->max_tokens) { - /* Allow userspace to GET more than max so - * we can support any size GET requests. - * There is still a limit : -ENOMEM. -@@ -821,22 +820,6 @@ static int ioctl_standard_iw_point(struc - } - } - -- if (IW_IS_GET(cmd) && !(descr->flags & IW_DESCR_FLAG_NOMAX)) { -- /* -- * If this is a GET, but not NOMAX, it means that the extra -- * data is not bounded by userspace, but by max_tokens. Thus -- * set the length to max_tokens. This matches the extra data -- * allocation. -- * The driver should fill it with the number of tokens it -- * provided, and it may check iwp->length rather than having -- * knowledge of max_tokens. If the driver doesn't change the -- * iwp->length, this ioctl just copies back max_token tokens -- * filled with zeroes. Hopefully the driver isn't claiming -- * them to be valid data. -- */ -- iwp->length = descr->max_tokens; -- } -- - err = handler(dev, info, (union iwreq_data *) iwp, extra); - - iwp->length += essid_compat; -diff -rupN compat-wireless-3.5.4-1-snpc/scripts/gcc-plugin.sh compat-wireless-3.5.4-1-snpc/scripts/gcc-plugin.sh ---- compat-wireless-3.5.4-1-snpc/scripts/gcc-plugin.sh 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/scripts/gcc-plugin.sh 2012-10-15 19:11:12.861824568 +0000 -@@ -0,0 +1,17 @@ -+#!/bin/bash -+plugincc=`$1 -x c -shared - -o /dev/null -I\`$3 -print-file-name=plugin\`/include 2>&1 <<EOF -+#include "gcc-plugin.h" -+#include "tree.h" -+#include "tm.h" -+#include "rtl.h" -+#ifdef ENABLE_BUILD_WITH_CXX -+#warning $2 -+#else -+#warning $1 -+#endif -+EOF` -+if [ $? -eq 0 ] -+then -+ [[ "$plugincc" =~ "$1" ]] && echo "$1" -+ [[ "$plugincc" =~ "$2" ]] && echo "$2" -+fi -diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/.gitignore compat-wireless-3.5.4-1-snpc/tools/gcc/.gitignore ---- compat-wireless-3.5.4-1-snpc/tools/gcc/.gitignore 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/tools/gcc/.gitignore 2012-10-15 19:11:12.862824568 +0000 -@@ -0,0 +1 @@ -+size_overflow_hash.h -diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/Makefile compat-wireless-3.5.4-1-snpc/tools/gcc/Makefile ---- compat-wireless-3.5.4-1-snpc/tools/gcc/Makefile 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/tools/gcc/Makefile 2012-10-15 19:11:12.862824568 +0000 -@@ -0,0 +1,43 @@ -+#CC := gcc -+#PLUGIN_SOURCE_FILES := pax_plugin.c -+#PLUGIN_OBJECT_FILES := $(patsubst %.c,%.o,$(PLUGIN_SOURCE_FILES)) -+GCCPLUGINS_DIR := $(shell $(CC) -print-file-name=plugin) -+#CFLAGS += -I$(GCCPLUGINS_DIR)/include -fPIC -O2 -Wall -W -std=gnu99 -+ -+ifeq ($(PLUGINCC),$(HOSTCC)) -+HOSTLIBS := hostlibs -+HOST_EXTRACFLAGS += -I$(GCCPLUGINS_DIR)/include -I$(GCCPLUGINS_DIR)/include/c-family -std=gnu99 -ggdb -+else -+HOSTLIBS := hostcxxlibs -+HOST_EXTRACXXFLAGS += -I$(GCCPLUGINS_DIR)/include -I$(GCCPLUGINS_DIR)/include/c-family -std=gnu++98 -ggdb -Wno-unused-parameter -+endif -+ -+$(HOSTLIBS)-$(CONFIG_PAX_CONSTIFY_PLUGIN) := constify_plugin.so -+$(HOSTLIBS)-$(CONFIG_PAX_MEMORY_STACKLEAK) += stackleak_plugin.so -+$(HOSTLIBS)-$(CONFIG_KALLOCSTAT_PLUGIN) += kallocstat_plugin.so -+$(HOSTLIBS)-$(CONFIG_PAX_KERNEXEC_PLUGIN) += kernexec_plugin.so -+$(HOSTLIBS)-$(CONFIG_CHECKER_PLUGIN) += checker_plugin.so -+$(HOSTLIBS)-y += colorize_plugin.so -+$(HOSTLIBS)-$(CONFIG_PAX_SIZE_OVERFLOW) += size_overflow_plugin.so -+$(HOSTLIBS)-$(CONFIG_PAX_LATENT_ENTROPY) += latent_entropy_plugin.so -+ -+always := $($(HOSTLIBS)-y) -+ -+constify_plugin-objs := constify_plugin.o -+stackleak_plugin-objs := stackleak_plugin.o -+kallocstat_plugin-objs := kallocstat_plugin.o -+kernexec_plugin-objs := kernexec_plugin.o -+checker_plugin-objs := checker_plugin.o -+colorize_plugin-objs := colorize_plugin.o -+size_overflow_plugin-objs := size_overflow_plugin.o -+latent_entropy_plugin-objs := latent_entropy_plugin.o -+ -+$(obj)/size_overflow_plugin.o: $(objtree)/$(obj)/size_overflow_hash.h -+ -+quiet_cmd_build_size_overflow_hash = GENHASH $@ -+ cmd_build_size_overflow_hash = \ -+ $(CONFIG_SHELL) $(srctree)/$(src)/generate_size_overflow_hash.sh -d $< -o $@ -+$(objtree)/$(obj)/size_overflow_hash.h: $(src)/size_overflow_hash.data FORCE -+ $(call if_changed,build_size_overflow_hash) -+ -+targets += size_overflow_hash.h -diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/checker_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/checker_plugin.c ---- compat-wireless-3.5.4-1-snpc/tools/gcc/checker_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/tools/gcc/checker_plugin.c 2012-10-15 19:11:12.863824568 +0000 -@@ -0,0 +1,171 @@ -+/* -+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to implement various sparse (source code checker) features -+ * -+ * TODO: -+ * - define separate __iomem, __percpu and __rcu address spaces (lots of code to patch) -+ * -+ * BUGS: -+ * - none known -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+#include "tree-flow.h" -+#include "target.h" -+ -+extern void c_register_addr_space (const char *str, addr_space_t as); -+extern enum machine_mode default_addr_space_pointer_mode (addr_space_t); -+extern enum machine_mode default_addr_space_address_mode (addr_space_t); -+extern bool default_addr_space_valid_pointer_mode(enum machine_mode mode, addr_space_t as); -+extern bool default_addr_space_legitimate_address_p(enum machine_mode mode, rtx mem, bool strict, addr_space_t as); -+extern rtx default_addr_space_legitimize_address(rtx x, rtx oldx, enum machine_mode mode, addr_space_t as); -+ -+extern void print_gimple_stmt(FILE *, gimple, int, int); -+extern rtx emit_move_insn(rtx x, rtx y); -+ -+int plugin_is_GPL_compatible; -+ -+static struct plugin_info checker_plugin_info = { -+ .version = "201111150100", -+}; -+ -+#define ADDR_SPACE_KERNEL 0 -+#define ADDR_SPACE_FORCE_KERNEL 1 -+#define ADDR_SPACE_USER 2 -+#define ADDR_SPACE_FORCE_USER 3 -+#define ADDR_SPACE_IOMEM 0 -+#define ADDR_SPACE_FORCE_IOMEM 0 -+#define ADDR_SPACE_PERCPU 0 -+#define ADDR_SPACE_FORCE_PERCPU 0 -+#define ADDR_SPACE_RCU 0 -+#define ADDR_SPACE_FORCE_RCU 0 -+ -+static enum machine_mode checker_addr_space_pointer_mode(addr_space_t addrspace) -+{ -+ return default_addr_space_pointer_mode(ADDR_SPACE_GENERIC); -+} -+ -+static enum machine_mode checker_addr_space_address_mode(addr_space_t addrspace) -+{ -+ return default_addr_space_address_mode(ADDR_SPACE_GENERIC); -+} -+ -+static bool checker_addr_space_valid_pointer_mode(enum machine_mode mode, addr_space_t as) -+{ -+ return default_addr_space_valid_pointer_mode(mode, as); -+} -+ -+static bool checker_addr_space_legitimate_address_p(enum machine_mode mode, rtx mem, bool strict, addr_space_t as) -+{ -+ return default_addr_space_legitimate_address_p(mode, mem, strict, ADDR_SPACE_GENERIC); -+} -+ -+static rtx checker_addr_space_legitimize_address(rtx x, rtx oldx, enum machine_mode mode, addr_space_t as) -+{ -+ return default_addr_space_legitimize_address(x, oldx, mode, as); -+} -+ -+static bool checker_addr_space_subset_p(addr_space_t subset, addr_space_t superset) -+{ -+ if (subset == ADDR_SPACE_FORCE_KERNEL && superset == ADDR_SPACE_KERNEL) -+ return true; -+ -+ if (subset == ADDR_SPACE_FORCE_USER && superset == ADDR_SPACE_USER) -+ return true; -+ -+ if (subset == ADDR_SPACE_FORCE_IOMEM && superset == ADDR_SPACE_IOMEM) -+ return true; -+ -+ if (subset == ADDR_SPACE_KERNEL && superset == ADDR_SPACE_FORCE_USER) -+ return true; -+ -+ if (subset == ADDR_SPACE_KERNEL && superset == ADDR_SPACE_FORCE_IOMEM) -+ return true; -+ -+ if (subset == ADDR_SPACE_USER && superset == ADDR_SPACE_FORCE_KERNEL) -+ return true; -+ -+ if (subset == ADDR_SPACE_IOMEM && superset == ADDR_SPACE_FORCE_KERNEL) -+ return true; -+ -+ return subset == superset; -+} -+ -+static rtx checker_addr_space_convert(rtx op, tree from_type, tree to_type) -+{ -+// addr_space_t from_as = TYPE_ADDR_SPACE(TREE_TYPE(from_type)); -+// addr_space_t to_as = TYPE_ADDR_SPACE(TREE_TYPE(to_type)); -+ -+ return op; -+} -+ -+static void register_checker_address_spaces(void *event_data, void *data) -+{ -+ c_register_addr_space("__kernel", ADDR_SPACE_KERNEL); -+ c_register_addr_space("__force_kernel", ADDR_SPACE_FORCE_KERNEL); -+ c_register_addr_space("__user", ADDR_SPACE_USER); -+ c_register_addr_space("__force_user", ADDR_SPACE_FORCE_USER); -+// c_register_addr_space("__iomem", ADDR_SPACE_IOMEM); -+// c_register_addr_space("__force_iomem", ADDR_SPACE_FORCE_IOMEM); -+// c_register_addr_space("__percpu", ADDR_SPACE_PERCPU); -+// c_register_addr_space("__force_percpu", ADDR_SPACE_FORCE_PERCPU); -+// c_register_addr_space("__rcu", ADDR_SPACE_RCU); -+// c_register_addr_space("__force_rcu", ADDR_SPACE_FORCE_RCU); -+ -+ targetm.addr_space.pointer_mode = checker_addr_space_pointer_mode; -+ targetm.addr_space.address_mode = checker_addr_space_address_mode; -+ targetm.addr_space.valid_pointer_mode = checker_addr_space_valid_pointer_mode; -+ targetm.addr_space.legitimate_address_p = checker_addr_space_legitimate_address_p; -+// targetm.addr_space.legitimize_address = checker_addr_space_legitimize_address; -+ targetm.addr_space.subset_p = checker_addr_space_subset_p; -+ targetm.addr_space.convert = checker_addr_space_convert; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ int i; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &checker_plugin_info); -+ -+ for (i = 0; i < argc; ++i) -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ -+ if (TARGET_64BIT == 0) -+ return 0; -+ -+ register_callback(plugin_name, PLUGIN_PRAGMAS, register_checker_address_spaces, NULL); -+ -+ return 0; -+} -diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/colorize_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/colorize_plugin.c ---- compat-wireless-3.5.4-1-snpc/tools/gcc/colorize_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/tools/gcc/colorize_plugin.c 2012-10-15 19:11:12.863824568 +0000 -@@ -0,0 +1,148 @@ -+/* -+ * Copyright 2012 by PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to colorize diagnostic output -+ * -+ */ -+ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+ -+int plugin_is_GPL_compatible; -+ -+static struct plugin_info colorize_plugin_info = { -+ .version = "201203092200", -+ .help = NULL, -+}; -+ -+#define GREEN "\033[32m\033[2m" -+#define LIGHTGREEN "\033[32m\033[1m" -+#define YELLOW "\033[33m\033[2m" -+#define LIGHTYELLOW "\033[33m\033[1m" -+#define RED "\033[31m\033[2m" -+#define LIGHTRED "\033[31m\033[1m" -+#define BLUE "\033[34m\033[2m" -+#define LIGHTBLUE "\033[34m\033[1m" -+#define BRIGHT "\033[m\033[1m" -+#define NORMAL "\033[m" -+ -+static diagnostic_starter_fn old_starter; -+static diagnostic_finalizer_fn old_finalizer; -+ -+static void start_colorize(diagnostic_context *context, diagnostic_info *diagnostic) -+{ -+ const char *color; -+ char *newprefix; -+ -+ switch (diagnostic->kind) { -+ case DK_NOTE: -+ color = LIGHTBLUE; -+ break; -+ -+ case DK_PEDWARN: -+ case DK_WARNING: -+ color = LIGHTYELLOW; -+ break; -+ -+ case DK_ERROR: -+ case DK_FATAL: -+ case DK_ICE: -+ case DK_PERMERROR: -+ case DK_SORRY: -+ color = LIGHTRED; -+ break; -+ -+ default: -+ color = NORMAL; -+ } -+ -+ old_starter(context, diagnostic); -+ if (-1 == asprintf(&newprefix, "%s%s" NORMAL, color, context->printer->prefix)) -+ return; -+ pp_destroy_prefix(context->printer); -+ pp_set_prefix(context->printer, newprefix); -+} -+ -+static void finalize_colorize(diagnostic_context *context, diagnostic_info *diagnostic) -+{ -+ old_finalizer(context, diagnostic); -+} -+ -+static void colorize_arm(void) -+{ -+ old_starter = diagnostic_starter(global_dc); -+ old_finalizer = diagnostic_finalizer(global_dc); -+ -+ diagnostic_starter(global_dc) = start_colorize; -+ diagnostic_finalizer(global_dc) = finalize_colorize; -+} -+ -+static unsigned int execute_colorize_rearm(void) -+{ -+ if (diagnostic_starter(global_dc) == start_colorize) -+ return 0; -+ -+ colorize_arm(); -+ return 0; -+} -+ -+struct simple_ipa_opt_pass pass_ipa_colorize_rearm = { -+ .pass = { -+ .type = SIMPLE_IPA_PASS, -+ .name = "colorize_rearm", -+ .gate = NULL, -+ .execute = execute_colorize_rearm, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = 0 -+ } -+}; -+ -+static void colorize_start_unit(void *gcc_data, void *user_data) -+{ -+ colorize_arm(); -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ struct register_pass_info colorize_rearm_pass_info = { -+ .pass = &pass_ipa_colorize_rearm.pass, -+ .reference_pass_name = "*free_lang_data", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &colorize_plugin_info); -+ register_callback(plugin_name, PLUGIN_START_UNIT, &colorize_start_unit, NULL); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &colorize_rearm_pass_info); -+ return 0; -+} -diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/constify_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/constify_plugin.c ---- compat-wireless-3.5.4-1-snpc/tools/gcc/constify_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/tools/gcc/constify_plugin.c 2012-10-15 19:11:12.864824568 +0000 -@@ -0,0 +1,331 @@ -+/* -+ * Copyright 2011 by Emese Revfy <re.emese@gmail.com> -+ * Copyright 2011 by PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2, or (at your option) v3 -+ * -+ * This gcc plugin constifies all structures which contain only function pointers or are explicitly marked for constification. -+ * -+ * Homepage: -+ * http://www.grsecurity.net/~ephox/const_plugin/ -+ * -+ * Usage: -+ * $ gcc -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -o constify_plugin.so constify_plugin.c -+ * $ gcc -fplugin=constify_plugin.so test.c -O2 -+ */ -+ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+#include "tree-flow.h" -+ -+#define C_TYPE_FIELDS_READONLY(TYPE) TREE_LANG_FLAG_1(TYPE) -+ -+int plugin_is_GPL_compatible; -+ -+static struct plugin_info const_plugin_info = { -+ .version = "201205300030", -+ .help = "no-constify\tturn off constification\n", -+}; -+ -+static void deconstify_tree(tree node); -+ -+static void deconstify_type(tree type) -+{ -+ tree field; -+ -+ for (field = TYPE_FIELDS(type); field; field = TREE_CHAIN(field)) { -+ tree type = TREE_TYPE(field); -+ -+ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) -+ continue; -+ if (!TYPE_READONLY(type)) -+ continue; -+ -+ deconstify_tree(field); -+ } -+ TYPE_READONLY(type) = 0; -+ C_TYPE_FIELDS_READONLY(type) = 0; -+} -+ -+static void deconstify_tree(tree node) -+{ -+ tree old_type, new_type, field; -+ -+ old_type = TREE_TYPE(node); -+ -+ gcc_assert(TYPE_READONLY(old_type) && (TYPE_QUALS(old_type) & TYPE_QUAL_CONST)); -+ -+ new_type = build_qualified_type(old_type, TYPE_QUALS(old_type) & ~TYPE_QUAL_CONST); -+ TYPE_FIELDS(new_type) = copy_list(TYPE_FIELDS(new_type)); -+ for (field = TYPE_FIELDS(new_type); field; field = TREE_CHAIN(field)) -+ DECL_FIELD_CONTEXT(field) = new_type; -+ -+ deconstify_type(new_type); -+ -+ TREE_READONLY(node) = 0; -+ TREE_TYPE(node) = new_type; -+} -+ -+static tree handle_no_const_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) -+{ -+ tree type; -+ -+ *no_add_attrs = true; -+ if (TREE_CODE(*node) == FUNCTION_DECL) { -+ error("%qE attribute does not apply to functions", name); -+ return NULL_TREE; -+ } -+ -+ if (TREE_CODE(*node) == VAR_DECL) { -+ error("%qE attribute does not apply to variables", name); -+ return NULL_TREE; -+ } -+ -+ if (TYPE_P(*node)) { -+ if (TREE_CODE(*node) == RECORD_TYPE || TREE_CODE(*node) == UNION_TYPE) -+ *no_add_attrs = false; -+ else -+ error("%qE attribute applies to struct and union types only", name); -+ return NULL_TREE; -+ } -+ -+ type = TREE_TYPE(*node); -+ -+ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) { -+ error("%qE attribute applies to struct and union types only", name); -+ return NULL_TREE; -+ } -+ -+ if (lookup_attribute(IDENTIFIER_POINTER(name), TYPE_ATTRIBUTES(type))) { -+ error("%qE attribute is already applied to the type", name); -+ return NULL_TREE; -+ } -+ -+ if (TREE_CODE(*node) == TYPE_DECL && !TYPE_READONLY(type)) { -+ error("%qE attribute used on type that is not constified", name); -+ return NULL_TREE; -+ } -+ -+ if (TREE_CODE(*node) == TYPE_DECL) { -+ deconstify_tree(*node); -+ return NULL_TREE; -+ } -+ -+ return NULL_TREE; -+} -+ -+static void constify_type(tree type) -+{ -+ TYPE_READONLY(type) = 1; -+ C_TYPE_FIELDS_READONLY(type) = 1; -+} -+ -+static tree handle_do_const_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) -+{ -+ *no_add_attrs = true; -+ if (!TYPE_P(*node)) { -+ error("%qE attribute applies to types only", name); -+ return NULL_TREE; -+ } -+ -+ if (TREE_CODE(*node) != RECORD_TYPE && TREE_CODE(*node) != UNION_TYPE) { -+ error("%qE attribute applies to struct and union types only", name); -+ return NULL_TREE; -+ } -+ -+ *no_add_attrs = false; -+ constify_type(*node); -+ return NULL_TREE; -+} -+ -+static struct attribute_spec no_const_attr = { -+ .name = "no_const", -+ .min_length = 0, -+ .max_length = 0, -+ .decl_required = false, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_no_const_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = true -+#endif -+}; -+ -+static struct attribute_spec do_const_attr = { -+ .name = "do_const", -+ .min_length = 0, -+ .max_length = 0, -+ .decl_required = false, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_do_const_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = true -+#endif -+}; -+ -+static void register_attributes(void *event_data, void *data) -+{ -+ register_attribute(&no_const_attr); -+ register_attribute(&do_const_attr); -+} -+ -+static bool is_fptr(tree field) -+{ -+ tree ptr = TREE_TYPE(field); -+ -+ if (TREE_CODE(ptr) != POINTER_TYPE) -+ return false; -+ -+ return TREE_CODE(TREE_TYPE(ptr)) == FUNCTION_TYPE; -+} -+ -+static bool walk_struct(tree node) -+{ -+ tree field; -+ -+ if (TYPE_FIELDS(node) == NULL_TREE) -+ return false; -+ -+ if (lookup_attribute("no_const", TYPE_ATTRIBUTES(node))) { -+ gcc_assert(!TYPE_READONLY(node)); -+ deconstify_type(node); -+ return false; -+ } -+ -+ for (field = TYPE_FIELDS(node); field; field = TREE_CHAIN(field)) { -+ tree type = TREE_TYPE(field); -+ enum tree_code code = TREE_CODE(type); -+ -+ if (node == type) -+ return false; -+ if (code == RECORD_TYPE || code == UNION_TYPE) { -+ if (!(walk_struct(type))) -+ return false; -+ } else if (!is_fptr(field) && !TREE_READONLY(field)) -+ return false; -+ } -+ return true; -+} -+ -+static void finish_type(void *event_data, void *data) -+{ -+ tree type = (tree)event_data; -+ -+ if (type == NULL_TREE || type == error_mark_node) -+ return; -+ -+ if (TYPE_READONLY(type)) -+ return; -+ -+ if (walk_struct(type)) -+ constify_type(type); -+} -+ -+static unsigned int check_local_variables(void); -+ -+struct gimple_opt_pass pass_local_variable = { -+ { -+ .type = GIMPLE_PASS, -+ .name = "check_local_variables", -+ .gate = NULL, -+ .execute = check_local_variables, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = 0 -+ } -+}; -+ -+static unsigned int check_local_variables(void) -+{ -+ tree var; -+ referenced_var_iterator rvi; -+ -+#if BUILDING_GCC_VERSION == 4005 -+ FOR_EACH_REFERENCED_VAR(var, rvi) { -+#else -+ FOR_EACH_REFERENCED_VAR(cfun, var, rvi) { -+#endif -+ tree type = TREE_TYPE(var); -+ -+ if (!DECL_P(var) || TREE_STATIC(var) || DECL_EXTERNAL(var)) -+ continue; -+ -+ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) -+ continue; -+ -+ if (!TYPE_READONLY(type)) -+ continue; -+ -+// if (lookup_attribute("no_const", DECL_ATTRIBUTES(var))) -+// continue; -+ -+// if (lookup_attribute("no_const", TYPE_ATTRIBUTES(type))) -+// continue; -+ -+ if (walk_struct(type)) { -+ error_at(DECL_SOURCE_LOCATION(var), "constified variable %qE cannot be local", var); -+ return 1; -+ } -+ } -+ return 0; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ int i; -+ bool constify = true; -+ -+ struct register_pass_info local_variable_pass_info = { -+ .pass = &pass_local_variable.pass, -+ .reference_pass_name = "*referenced_vars", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ for (i = 0; i < argc; ++i) { -+ if (!(strcmp(argv[i].key, "no-constify"))) { -+ constify = false; -+ continue; -+ } -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &const_plugin_info); -+ if (constify) { -+ register_callback(plugin_name, PLUGIN_FINISH_TYPE, finish_type, NULL); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &local_variable_pass_info); -+ } -+ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); -+ -+ return 0; -+} -diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/generate_size_overflow_hash.sh compat-wireless-3.5.4-1-snpc/tools/gcc/generate_size_overflow_hash.sh ---- compat-wireless-3.5.4-1-snpc/tools/gcc/generate_size_overflow_hash.sh 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/tools/gcc/generate_size_overflow_hash.sh 2012-10-15 19:11:12.864824568 +0000 -@@ -0,0 +1,94 @@ -+#!/bin/bash -+ -+# This script generates the hash table (size_overflow_hash.h) for the size_overflow gcc plugin (size_overflow_plugin.c). -+ -+header1="size_overflow_hash.h" -+database="size_overflow_hash.data" -+n=65536 -+ -+usage() { -+cat <<EOF -+usage: $0 options -+OPTIONS: -+ -h|--help help -+ -o header file -+ -d database file -+ -n hash array size -+EOF -+ return 0 -+} -+ -+while true -+do -+ case "$1" in -+ -h|--help) usage && exit 0;; -+ -n) n=$2; shift 2;; -+ -o) header1="$2"; shift 2;; -+ -d) database="$2"; shift 2;; -+ --) shift 1; break ;; -+ *) break ;; -+ esac -+done -+ -+create_defines() { -+ for i in `seq 1 32` -+ do -+ echo -e "#define PARAM"$i" (1U << "$i")" >> "$header1" -+ done -+ echo >> "$header1" -+} -+ -+create_structs () { -+ rm -f "$header1" -+ -+ create_defines -+ -+ cat "$database" | while read data -+ do -+ data_array=($data) -+ struct_hash_name="${data_array[0]}" -+ funcn="${data_array[1]}" -+ params="${data_array[2]}" -+ next="${data_array[5]}" -+ -+ echo "const struct size_overflow_hash $struct_hash_name = {" >> "$header1" -+ -+ echo -e "\t.next\t= $next,\n\t.name\t= \"$funcn\"," >> "$header1" -+ echo -en "\t.param\t= " >> "$header1" -+ line= -+ for param_num in ${params//-/ }; -+ do -+ line="${line}PARAM"$param_num"|" -+ done -+ -+ echo -e "${line%?},\n};\n" >> "$header1" -+ done -+} -+ -+create_headers () { -+ echo "const struct size_overflow_hash * const size_overflow_hash[$n] = {" >> "$header1" -+} -+ -+create_array_elements () { -+ index=0 -+ grep -v "nohasharray" $database | sort -n -k 4 | while read data -+ do -+ data_array=($data) -+ i="${data_array[3]}" -+ hash="${data_array[4]}" -+ while [[ $index -lt $i ]] -+ do -+ echo -e "\t["$index"]\t= NULL," >> "$header1" -+ index=$(($index + 1)) -+ done -+ index=$(($index + 1)) -+ echo -e "\t["$i"]\t= &"$hash"," >> "$header1" -+ done -+ echo '};' >> $header1 -+} -+ -+create_structs -+create_headers -+create_array_elements -+ -+exit 0 -diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/kallocstat_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/kallocstat_plugin.c ---- compat-wireless-3.5.4-1-snpc/tools/gcc/kallocstat_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/tools/gcc/kallocstat_plugin.c 2012-10-15 19:11:12.865824568 +0000 -@@ -0,0 +1,167 @@ -+/* -+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to find the distribution of k*alloc sizes -+ * -+ * TODO: -+ * -+ * BUGS: -+ * - none known -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+ -+extern void print_gimple_stmt(FILE *, gimple, int, int); -+ -+int plugin_is_GPL_compatible; -+ -+static const char * const kalloc_functions[] = { -+ "__kmalloc", -+ "kmalloc", -+ "kmalloc_large", -+ "kmalloc_node", -+ "kmalloc_order", -+ "kmalloc_order_trace", -+ "kmalloc_slab", -+ "kzalloc", -+ "kzalloc_node", -+}; -+ -+static struct plugin_info kallocstat_plugin_info = { -+ .version = "201111150100", -+}; -+ -+static unsigned int execute_kallocstat(void); -+ -+static struct gimple_opt_pass kallocstat_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "kallocstat", -+ .gate = NULL, -+ .execute = execute_kallocstat, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = 0 -+ } -+}; -+ -+static bool is_kalloc(const char *fnname) -+{ -+ size_t i; -+ -+ for (i = 0; i < ARRAY_SIZE(kalloc_functions); i++) -+ if (!strcmp(fnname, kalloc_functions[i])) -+ return true; -+ return false; -+} -+ -+static unsigned int execute_kallocstat(void) -+{ -+ basic_block bb; -+ -+ // 1. loop through BBs and GIMPLE statements -+ FOR_EACH_BB(bb) { -+ gimple_stmt_iterator gsi; -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ // gimple match: -+ tree fndecl, size; -+ gimple call_stmt; -+ const char *fnname; -+ -+ // is it a call -+ call_stmt = gsi_stmt(gsi); -+ if (!is_gimple_call(call_stmt)) -+ continue; -+ fndecl = gimple_call_fndecl(call_stmt); -+ if (fndecl == NULL_TREE) -+ continue; -+ if (TREE_CODE(fndecl) != FUNCTION_DECL) -+ continue; -+ -+ // is it a call to k*alloc -+ fnname = IDENTIFIER_POINTER(DECL_NAME(fndecl)); -+ if (!is_kalloc(fnname)) -+ continue; -+ -+ // is the size arg the result of a simple const assignment -+ size = gimple_call_arg(call_stmt, 0); -+ while (true) { -+ gimple def_stmt; -+ expanded_location xloc; -+ size_t size_val; -+ -+ if (TREE_CODE(size) != SSA_NAME) -+ break; -+ def_stmt = SSA_NAME_DEF_STMT(size); -+ if (!def_stmt || !is_gimple_assign(def_stmt)) -+ break; -+ if (gimple_num_ops(def_stmt) != 2) -+ break; -+ size = gimple_assign_rhs1(def_stmt); -+ if (!TREE_CONSTANT(size)) -+ continue; -+ xloc = expand_location(gimple_location(def_stmt)); -+ if (!xloc.file) -+ xloc = expand_location(DECL_SOURCE_LOCATION(current_function_decl)); -+ size_val = TREE_INT_CST_LOW(size); -+ fprintf(stderr, "kallocsize: %8zu %8zx %s %s:%u\n", size_val, size_val, fnname, xloc.file, xloc.line); -+ break; -+ } -+//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO); -+//debug_tree(gimple_call_fn(call_stmt)); -+//print_node(stderr, "pax", fndecl, 4); -+ } -+ } -+ -+ return 0; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ struct register_pass_info kallocstat_pass_info = { -+ .pass = &kallocstat_pass.pass, -+ .reference_pass_name = "ssa", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &kallocstat_plugin_info); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kallocstat_pass_info); -+ -+ return 0; -+} -diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/kernexec_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/kernexec_plugin.c ---- compat-wireless-3.5.4-1-snpc/tools/gcc/kernexec_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/tools/gcc/kernexec_plugin.c 2012-10-15 19:11:12.866824568 +0000 -@@ -0,0 +1,427 @@ -+/* -+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to make KERNEXEC/amd64 almost as good as it is on i386 -+ * -+ * TODO: -+ * -+ * BUGS: -+ * - none known -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+#include "tree-flow.h" -+ -+extern void print_gimple_stmt(FILE *, gimple, int, int); -+extern rtx emit_move_insn(rtx x, rtx y); -+ -+int plugin_is_GPL_compatible; -+ -+static struct plugin_info kernexec_plugin_info = { -+ .version = "201111291120", -+ .help = "method=[bts|or]\tinstrumentation method\n" -+}; -+ -+static unsigned int execute_kernexec_reload(void); -+static unsigned int execute_kernexec_fptr(void); -+static unsigned int execute_kernexec_retaddr(void); -+static bool kernexec_cmodel_check(void); -+ -+static void (*kernexec_instrument_fptr)(gimple_stmt_iterator *); -+static void (*kernexec_instrument_retaddr)(rtx); -+ -+static struct gimple_opt_pass kernexec_reload_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "kernexec_reload", -+ .gate = kernexec_cmodel_check, -+ .execute = execute_kernexec_reload, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi -+ } -+}; -+ -+static struct gimple_opt_pass kernexec_fptr_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "kernexec_fptr", -+ .gate = kernexec_cmodel_check, -+ .execute = execute_kernexec_fptr, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi -+ } -+}; -+ -+static struct rtl_opt_pass kernexec_retaddr_pass = { -+ .pass = { -+ .type = RTL_PASS, -+ .name = "kernexec_retaddr", -+ .gate = kernexec_cmodel_check, -+ .execute = execute_kernexec_retaddr, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_dump_func | TODO_ggc_collect -+ } -+}; -+ -+static bool kernexec_cmodel_check(void) -+{ -+ tree section; -+ -+ if (ix86_cmodel != CM_KERNEL) -+ return false; -+ -+ section = lookup_attribute("section", DECL_ATTRIBUTES(current_function_decl)); -+ if (!section || !TREE_VALUE(section)) -+ return true; -+ -+ section = TREE_VALUE(TREE_VALUE(section)); -+ if (strncmp(TREE_STRING_POINTER(section), ".vsyscall_", 10)) -+ return true; -+ -+ return false; -+} -+ -+/* -+ * add special KERNEXEC instrumentation: reload %r10 after it has been clobbered -+ */ -+static void kernexec_reload_fptr_mask(gimple_stmt_iterator *gsi) -+{ -+ gimple asm_movabs_stmt; -+ -+ // build asm volatile("movabs $0x8000000000000000, %%r10\n\t" : : : ); -+ asm_movabs_stmt = gimple_build_asm_vec("movabs $0x8000000000000000, %%r10\n\t", NULL, NULL, NULL, NULL); -+ gimple_asm_set_volatile(asm_movabs_stmt, true); -+ gsi_insert_after(gsi, asm_movabs_stmt, GSI_CONTINUE_LINKING); -+ update_stmt(asm_movabs_stmt); -+} -+ -+/* -+ * find all asm() stmts that clobber r10 and add a reload of r10 -+ */ -+static unsigned int execute_kernexec_reload(void) -+{ -+ basic_block bb; -+ -+ // 1. loop through BBs and GIMPLE statements -+ FOR_EACH_BB(bb) { -+ gimple_stmt_iterator gsi; -+ -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ // gimple match: __asm__ ("" : : : "r10"); -+ gimple asm_stmt; -+ size_t nclobbers; -+ -+ // is it an asm ... -+ asm_stmt = gsi_stmt(gsi); -+ if (gimple_code(asm_stmt) != GIMPLE_ASM) -+ continue; -+ -+ // ... clobbering r10 -+ nclobbers = gimple_asm_nclobbers(asm_stmt); -+ while (nclobbers--) { -+ tree op = gimple_asm_clobber_op(asm_stmt, nclobbers); -+ if (strcmp(TREE_STRING_POINTER(TREE_VALUE(op)), "r10")) -+ continue; -+ kernexec_reload_fptr_mask(&gsi); -+//print_gimple_stmt(stderr, asm_stmt, 0, TDF_LINENO); -+ break; -+ } -+ } -+ } -+ -+ return 0; -+} -+ -+/* -+ * add special KERNEXEC instrumentation: force MSB of fptr to 1, which will produce -+ * a non-canonical address from a userland ptr and will just trigger a GPF on dereference -+ */ -+static void kernexec_instrument_fptr_bts(gimple_stmt_iterator *gsi) -+{ -+ gimple assign_intptr, assign_new_fptr, call_stmt; -+ tree intptr, old_fptr, new_fptr, kernexec_mask; -+ -+ call_stmt = gsi_stmt(*gsi); -+ old_fptr = gimple_call_fn(call_stmt); -+ -+ // create temporary unsigned long variable used for bitops and cast fptr to it -+ intptr = create_tmp_var(long_unsigned_type_node, "kernexec_bts"); -+ add_referenced_var(intptr); -+ mark_sym_for_renaming(intptr); -+ assign_intptr = gimple_build_assign(intptr, fold_convert(long_unsigned_type_node, old_fptr)); -+ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT); -+ update_stmt(assign_intptr); -+ -+ // apply logical or to temporary unsigned long and bitmask -+ kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0x8000000000000000LL); -+// kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0xffffffff80000000LL); -+ assign_intptr = gimple_build_assign(intptr, fold_build2(BIT_IOR_EXPR, long_long_unsigned_type_node, intptr, kernexec_mask)); -+ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT); -+ update_stmt(assign_intptr); -+ -+ // cast temporary unsigned long back to a temporary fptr variable -+ new_fptr = create_tmp_var(TREE_TYPE(old_fptr), "kernexec_fptr"); -+ add_referenced_var(new_fptr); -+ mark_sym_for_renaming(new_fptr); -+ assign_new_fptr = gimple_build_assign(new_fptr, fold_convert(TREE_TYPE(old_fptr), intptr)); -+ gsi_insert_before(gsi, assign_new_fptr, GSI_SAME_STMT); -+ update_stmt(assign_new_fptr); -+ -+ // replace call stmt fn with the new fptr -+ gimple_call_set_fn(call_stmt, new_fptr); -+ update_stmt(call_stmt); -+} -+ -+static void kernexec_instrument_fptr_or(gimple_stmt_iterator *gsi) -+{ -+ gimple asm_or_stmt, call_stmt; -+ tree old_fptr, new_fptr, input, output; -+ VEC(tree, gc) *inputs = NULL; -+ VEC(tree, gc) *outputs = NULL; -+ -+ call_stmt = gsi_stmt(*gsi); -+ old_fptr = gimple_call_fn(call_stmt); -+ -+ // create temporary fptr variable -+ new_fptr = create_tmp_var(TREE_TYPE(old_fptr), "kernexec_or"); -+ add_referenced_var(new_fptr); -+ mark_sym_for_renaming(new_fptr); -+ -+ // build asm volatile("orq %%r10, %0\n\t" : "=r"(new_fptr) : "0"(old_fptr)); -+ input = build_tree_list(NULL_TREE, build_string(2, "0")); -+ input = chainon(NULL_TREE, build_tree_list(input, old_fptr)); -+ output = build_tree_list(NULL_TREE, build_string(3, "=r")); -+ output = chainon(NULL_TREE, build_tree_list(output, new_fptr)); -+ VEC_safe_push(tree, gc, inputs, input); -+ VEC_safe_push(tree, gc, outputs, output); -+ asm_or_stmt = gimple_build_asm_vec("orq %%r10, %0\n\t", inputs, outputs, NULL, NULL); -+ gimple_asm_set_volatile(asm_or_stmt, true); -+ gsi_insert_before(gsi, asm_or_stmt, GSI_SAME_STMT); -+ update_stmt(asm_or_stmt); -+ -+ // replace call stmt fn with the new fptr -+ gimple_call_set_fn(call_stmt, new_fptr); -+ update_stmt(call_stmt); -+} -+ -+/* -+ * find all C level function pointer dereferences and forcibly set the highest bit of the pointer -+ */ -+static unsigned int execute_kernexec_fptr(void) -+{ -+ basic_block bb; -+ -+ // 1. loop through BBs and GIMPLE statements -+ FOR_EACH_BB(bb) { -+ gimple_stmt_iterator gsi; -+ -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ // gimple match: h_1 = get_fptr (); D.2709_3 = h_1 (x_2(D)); -+ tree fn; -+ gimple call_stmt; -+ -+ // is it a call ... -+ call_stmt = gsi_stmt(gsi); -+ if (!is_gimple_call(call_stmt)) -+ continue; -+ fn = gimple_call_fn(call_stmt); -+ if (TREE_CODE(fn) == ADDR_EXPR) -+ continue; -+ if (TREE_CODE(fn) != SSA_NAME) -+ gcc_unreachable(); -+ -+ // ... through a function pointer -+ fn = SSA_NAME_VAR(fn); -+ if (TREE_CODE(fn) != VAR_DECL && TREE_CODE(fn) != PARM_DECL) -+ continue; -+ fn = TREE_TYPE(fn); -+ if (TREE_CODE(fn) != POINTER_TYPE) -+ continue; -+ fn = TREE_TYPE(fn); -+ if (TREE_CODE(fn) != FUNCTION_TYPE) -+ continue; -+ -+ kernexec_instrument_fptr(&gsi); -+ -+//debug_tree(gimple_call_fn(call_stmt)); -+//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO); -+ } -+ } -+ -+ return 0; -+} -+ -+// add special KERNEXEC instrumentation: btsq $63,(%rsp) just before retn -+static void kernexec_instrument_retaddr_bts(rtx insn) -+{ -+ rtx btsq; -+ rtvec argvec, constraintvec, labelvec; -+ int line; -+ -+ // create asm volatile("btsq $63,(%%rsp)":::) -+ argvec = rtvec_alloc(0); -+ constraintvec = rtvec_alloc(0); -+ labelvec = rtvec_alloc(0); -+ line = expand_location(RTL_LOCATION(insn)).line; -+ btsq = gen_rtx_ASM_OPERANDS(VOIDmode, "btsq $63,(%%rsp)", empty_string, 0, argvec, constraintvec, labelvec, line); -+ MEM_VOLATILE_P(btsq) = 1; -+// RTX_FRAME_RELATED_P(btsq) = 1; // not for ASM_OPERANDS -+ emit_insn_before(btsq, insn); -+} -+ -+// add special KERNEXEC instrumentation: orq %r10,(%rsp) just before retn -+static void kernexec_instrument_retaddr_or(rtx insn) -+{ -+ rtx orq; -+ rtvec argvec, constraintvec, labelvec; -+ int line; -+ -+ // create asm volatile("orq %%r10,(%%rsp)":::) -+ argvec = rtvec_alloc(0); -+ constraintvec = rtvec_alloc(0); -+ labelvec = rtvec_alloc(0); -+ line = expand_location(RTL_LOCATION(insn)).line; -+ orq = gen_rtx_ASM_OPERANDS(VOIDmode, "orq %%r10,(%%rsp)", empty_string, 0, argvec, constraintvec, labelvec, line); -+ MEM_VOLATILE_P(orq) = 1; -+// RTX_FRAME_RELATED_P(orq) = 1; // not for ASM_OPERANDS -+ emit_insn_before(orq, insn); -+} -+ -+/* -+ * find all asm level function returns and forcibly set the highest bit of the return address -+ */ -+static unsigned int execute_kernexec_retaddr(void) -+{ -+ rtx insn; -+ -+ // 1. find function returns -+ for (insn = get_insns(); insn; insn = NEXT_INSN(insn)) { -+ // rtl match: (jump_insn 41 40 42 2 (return) fptr.c:42 634 {return_internal} (nil)) -+ // (jump_insn 12 9 11 2 (parallel [ (return) (unspec [ (0) ] UNSPEC_REP) ]) fptr.c:46 635 {return_internal_long} (nil)) -+ rtx body; -+ -+ // is it a retn -+ if (!JUMP_P(insn)) -+ continue; -+ body = PATTERN(insn); -+ if (GET_CODE(body) == PARALLEL) -+ body = XVECEXP(body, 0, 0); -+ if (GET_CODE(body) != RETURN) -+ continue; -+ kernexec_instrument_retaddr(insn); -+ } -+ -+// print_simple_rtl(stderr, get_insns()); -+// print_rtl(stderr, get_insns()); -+ -+ return 0; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ int i; -+ struct register_pass_info kernexec_reload_pass_info = { -+ .pass = &kernexec_reload_pass.pass, -+ .reference_pass_name = "ssa", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ struct register_pass_info kernexec_fptr_pass_info = { -+ .pass = &kernexec_fptr_pass.pass, -+ .reference_pass_name = "ssa", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ struct register_pass_info kernexec_retaddr_pass_info = { -+ .pass = &kernexec_retaddr_pass.pass, -+ .reference_pass_name = "pro_and_epilogue", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &kernexec_plugin_info); -+ -+ if (TARGET_64BIT == 0) -+ return 0; -+ -+ for (i = 0; i < argc; ++i) { -+ if (!strcmp(argv[i].key, "method")) { -+ if (!argv[i].value) { -+ error(G_("no value supplied for option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ continue; -+ } -+ if (!strcmp(argv[i].value, "bts")) { -+ kernexec_instrument_fptr = kernexec_instrument_fptr_bts; -+ kernexec_instrument_retaddr = kernexec_instrument_retaddr_bts; -+ } else if (!strcmp(argv[i].value, "or")) { -+ kernexec_instrument_fptr = kernexec_instrument_fptr_or; -+ kernexec_instrument_retaddr = kernexec_instrument_retaddr_or; -+ fix_register("r10", 1, 1); -+ } else -+ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); -+ continue; -+ } -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ } -+ if (!kernexec_instrument_fptr || !kernexec_instrument_retaddr) -+ error(G_("no instrumentation method was selected via '-fplugin-arg-%s-method'"), plugin_name); -+ -+ if (kernexec_instrument_fptr == kernexec_instrument_fptr_or) -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_reload_pass_info); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_fptr_pass_info); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_retaddr_pass_info); -+ -+ return 0; -+} -diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/latent_entropy_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/latent_entropy_plugin.c ---- compat-wireless-3.5.4-1-snpc/tools/gcc/latent_entropy_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/tools/gcc/latent_entropy_plugin.c 2012-10-15 19:11:12.866824568 +0000 -@@ -0,0 +1,295 @@ -+/* -+ * Copyright 2012 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to help generate a little bit of entropy from program state, -+ * used during boot in the kernel -+ * -+ * TODO: -+ * - add ipa pass to identify not explicitly marked candidate functions -+ * - mix in more program state (function arguments/return values, loop variables, etc) -+ * - more instrumentation control via attribute parameters -+ * -+ * BUGS: -+ * - LTO needs -flto-partition=none for now -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+#include "tree-flow.h" -+ -+int plugin_is_GPL_compatible; -+ -+static tree latent_entropy_decl; -+ -+static struct plugin_info latent_entropy_plugin_info = { -+ .version = "201207271820", -+ .help = NULL -+}; -+ -+static unsigned int execute_latent_entropy(void); -+static bool gate_latent_entropy(void); -+ -+static struct gimple_opt_pass latent_entropy_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "latent_entropy", -+ .gate = gate_latent_entropy, -+ .execute = execute_latent_entropy, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = PROP_gimple_leh | PROP_cfg, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, //TODO_verify_ssa | TODO_verify_flow | TODO_verify_stmts, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_update_ssa -+ } -+}; -+ -+static tree handle_latent_entropy_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) -+{ -+ if (TREE_CODE(*node) != FUNCTION_DECL) { -+ *no_add_attrs = true; -+ error("%qE attribute only applies to functions", name); -+ } -+ return NULL_TREE; -+} -+ -+static struct attribute_spec latent_entropy_attr = { -+ .name = "latent_entropy", -+ .min_length = 0, -+ .max_length = 0, -+ .decl_required = true, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_latent_entropy_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = false -+#endif -+}; -+ -+static void register_attributes(void *event_data, void *data) -+{ -+ register_attribute(&latent_entropy_attr); -+} -+ -+static bool gate_latent_entropy(void) -+{ -+ tree latent_entropy_attr; -+ -+ latent_entropy_attr = lookup_attribute("latent_entropy", DECL_ATTRIBUTES(current_function_decl)); -+ return latent_entropy_attr != NULL_TREE; -+} -+ -+static unsigned HOST_WIDE_INT seed; -+static unsigned HOST_WIDE_INT get_random_const(void) -+{ -+ seed = (seed >> 1U) ^ (-(seed & 1ULL) & 0xD800000000000000ULL); -+ return seed; -+} -+ -+static enum tree_code get_op(tree *rhs) -+{ -+ static enum tree_code op; -+ unsigned HOST_WIDE_INT random_const; -+ -+ random_const = get_random_const(); -+ -+ switch (op) { -+ case BIT_XOR_EXPR: -+ op = PLUS_EXPR; -+ break; -+ -+ case PLUS_EXPR: -+ if (rhs) { -+ op = LROTATE_EXPR; -+ random_const &= HOST_BITS_PER_WIDE_INT - 1; -+ break; -+ } -+ -+ case LROTATE_EXPR: -+ default: -+ op = BIT_XOR_EXPR; -+ break; -+ } -+ if (rhs) -+ *rhs = build_int_cstu(unsigned_intDI_type_node, random_const); -+ return op; -+} -+ -+static void perturb_local_entropy(basic_block bb, tree local_entropy) -+{ -+ gimple_stmt_iterator gsi; -+ gimple assign; -+ tree addxorrol, rhs; -+ enum tree_code op; -+ -+ op = get_op(&rhs); -+ addxorrol = fold_build2_loc(UNKNOWN_LOCATION, op, unsigned_intDI_type_node, local_entropy, rhs); -+ assign = gimple_build_assign(local_entropy, addxorrol); -+ find_referenced_vars_in(assign); -+//debug_bb(bb); -+ gsi = gsi_after_labels(bb); -+ gsi_insert_before(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+} -+ -+static void perturb_latent_entropy(basic_block bb, tree rhs) -+{ -+ gimple_stmt_iterator gsi; -+ gimple assign; -+ tree addxorrol, temp; -+ -+ // 1. create temporary copy of latent_entropy -+ temp = create_tmp_var(unsigned_intDI_type_node, "temp_latent_entropy"); -+ add_referenced_var(temp); -+ mark_sym_for_renaming(temp); -+ -+ // 2. read... -+ assign = gimple_build_assign(temp, latent_entropy_decl); -+ find_referenced_vars_in(assign); -+ gsi = gsi_after_labels(bb); -+ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ -+ // 3. ...modify... -+ addxorrol = fold_build2_loc(UNKNOWN_LOCATION, get_op(NULL), unsigned_intDI_type_node, temp, rhs); -+ assign = gimple_build_assign(temp, addxorrol); -+ find_referenced_vars_in(assign); -+ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ -+ // 4. ...write latent_entropy -+ assign = gimple_build_assign(latent_entropy_decl, temp); -+ find_referenced_vars_in(assign); -+ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+} -+ -+static unsigned int execute_latent_entropy(void) -+{ -+ basic_block bb; -+ gimple assign; -+ gimple_stmt_iterator gsi; -+ tree local_entropy; -+ -+ if (!latent_entropy_decl) { -+ struct varpool_node *node; -+ -+ for (node = varpool_nodes; node; node = node->next) { -+ tree var = node->decl; -+ if (strcmp(IDENTIFIER_POINTER(DECL_NAME(var)), "latent_entropy")) -+ continue; -+ latent_entropy_decl = var; -+// debug_tree(var); -+ break; -+ } -+ if (!latent_entropy_decl) { -+// debug_tree(current_function_decl); -+ return 0; -+ } -+ } -+ -+//fprintf(stderr, "latent_entropy: %s\n", IDENTIFIER_POINTER(DECL_NAME(current_function_decl))); -+ -+ // 1. create local entropy variable -+ local_entropy = create_tmp_var(unsigned_intDI_type_node, "local_entropy"); -+ add_referenced_var(local_entropy); -+ mark_sym_for_renaming(local_entropy); -+ -+ // 2. initialize local entropy variable -+ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; -+ if (dom_info_available_p(CDI_DOMINATORS)) -+ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR); -+ gsi = gsi_start_bb(bb); -+ -+ assign = gimple_build_assign(local_entropy, build_int_cstu(unsigned_intDI_type_node, get_random_const())); -+// gimple_set_location(assign, loc); -+ find_referenced_vars_in(assign); -+ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ bb = bb->next_bb; -+ -+ // 3. instrument each BB with an operation on the local entropy variable -+ while (bb != EXIT_BLOCK_PTR) { -+ perturb_local_entropy(bb, local_entropy); -+ bb = bb->next_bb; -+ }; -+ -+ // 4. mix local entropy into the global entropy variable -+ perturb_latent_entropy(EXIT_BLOCK_PTR->prev_bb, local_entropy); -+ return 0; -+} -+ -+static void start_unit_callback(void *gcc_data, void *user_data) -+{ -+#if BUILDING_GCC_VERSION >= 4007 -+ seed = get_random_seed(false); -+#else -+ sscanf(get_random_seed(false), "%" HOST_WIDE_INT_PRINT "x", &seed); -+ seed *= seed; -+#endif -+ -+ if (in_lto_p) -+ return; -+ -+ // extern u64 latent_entropy -+ latent_entropy_decl = build_decl(UNKNOWN_LOCATION, VAR_DECL, get_identifier("latent_entropy"), unsigned_intDI_type_node); -+ -+ TREE_STATIC(latent_entropy_decl) = 1; -+ TREE_PUBLIC(latent_entropy_decl) = 1; -+ TREE_USED(latent_entropy_decl) = 1; -+ TREE_THIS_VOLATILE(latent_entropy_decl) = 1; -+ DECL_EXTERNAL(latent_entropy_decl) = 1; -+ DECL_ARTIFICIAL(latent_entropy_decl) = 0; -+ DECL_INITIAL(latent_entropy_decl) = NULL; -+// DECL_ASSEMBLER_NAME(latent_entropy_decl); -+// varpool_finalize_decl(latent_entropy_decl); -+// varpool_mark_needed_node(latent_entropy_decl); -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ struct register_pass_info latent_entropy_pass_info = { -+ .pass = &latent_entropy_pass.pass, -+ .reference_pass_name = "optimized", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_BEFORE -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &latent_entropy_plugin_info); -+ register_callback ("start_unit", PLUGIN_START_UNIT, &start_unit_callback, NULL); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &latent_entropy_pass_info); -+ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); -+ -+ return 0; -+} -diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_hash.data compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_hash.data ---- compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_hash.data 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_hash.data 2012-10-15 19:11:12.872824568 +0000 -@@ -0,0 +1,3633 @@ -+_000001_hash alloc_dr 2 65495 _000001_hash NULL -+_000002_hash __copy_from_user 3 10918 _000002_hash NULL -+_000003_hash copy_from_user 3 17559 _000003_hash NULL -+_000004_hash __copy_from_user_inatomic 3 4365 _000004_hash NULL -+_000005_hash __copy_from_user_nocache 3 39351 _000005_hash NULL -+_000006_hash __copy_to_user_inatomic 3 19214 _000006_hash NULL -+_000007_hash do_xip_mapping_read 5 60297 _000007_hash NULL -+_000008_hash hugetlbfs_read 3 11268 _000008_hash NULL -+_000009_hash kmalloc 1 60432 _002597_hash NULL nohasharray -+_000010_hash kmalloc_array 1-2 9444 _000010_hash NULL -+_000012_hash kmalloc_slab 1 11917 _000012_hash NULL -+_000013_hash kmemdup 2 64015 _000013_hash NULL -+_000014_hash __krealloc 2 14857 _000331_hash NULL nohasharray -+_000015_hash memdup_user 2 59590 _000015_hash NULL -+_000016_hash module_alloc 1 63630 _000016_hash NULL -+_000017_hash read_default_ldt 2 14302 _000017_hash NULL -+_000018_hash read_kcore 3 63488 _000018_hash NULL -+_000019_hash read_ldt 2 47570 _000019_hash NULL -+_000020_hash read_zero 3 19366 _000020_hash NULL -+_000021_hash __vmalloc_node 1 39308 _000021_hash NULL -+_000022_hash vm_map_ram 2 23078 _001054_hash NULL nohasharray -+_000023_hash aa_simple_write_to_buffer 4-3 49683 _000023_hash NULL -+_000024_hash ablkcipher_copy_iv 3 64140 _000024_hash NULL -+_000025_hash ablkcipher_next_slow 4-3 47274 _000025_hash NULL -+_000026_hash acpi_battery_write_alarm 3 1240 _000026_hash NULL -+_000027_hash acpi_os_allocate 1 14892 _000027_hash NULL -+_000028_hash acpi_system_write_wakeup_device 3 34853 _000028_hash NULL -+_000029_hash adu_write 3 30487 _000029_hash NULL -+_000030_hash aer_inject_write 3 52399 _000030_hash NULL -+_000031_hash afs_alloc_flat_call 2-3 36399 _000031_hash NULL -+_000033_hash afs_proc_cells_write 3 61139 _000033_hash NULL -+_000034_hash afs_proc_rootcell_write 3 15822 _000034_hash NULL -+_000035_hash agp_3_5_isochronous_node_enable 3 49465 _000035_hash NULL -+_000036_hash agp_alloc_page_array 1 22554 _000036_hash NULL -+_000037_hash ah_alloc_tmp 2-3 54378 _000037_hash NULL -+_000038_hash ahash_setkey_unaligned 3 33521 _000038_hash NULL -+_000039_hash alg_setkey 3 31485 _000039_hash NULL -+_000040_hash aligned_kmalloc 1 3628 _000040_hash NULL -+_000041_hash alloc_context 1 3194 _000041_hash NULL -+_000042_hash alloc_ep_req 2 54860 _000042_hash NULL -+_000043_hash alloc_fdmem 1 27083 _000043_hash NULL -+_000044_hash alloc_flex_gd 1 57259 _000044_hash NULL -+_000045_hash alloc_sglist 1-3-2 22960 _000045_hash NULL -+_000046_hash aoedev_flush 2 44398 _000046_hash NULL -+_000047_hash append_to_buffer 3 63550 _000047_hash NULL -+_000048_hash asix_read_cmd 5 13245 _000048_hash NULL -+_000049_hash asix_write_cmd 5 58192 _000049_hash NULL -+_000050_hash asn1_octets_decode 2 9991 _000050_hash NULL -+_000051_hash asn1_oid_decode 2 4999 _000051_hash NULL -+_000052_hash at76_set_card_command 4 4471 _000052_hash NULL -+_000053_hash ath6kl_add_bss_if_needed 6 24317 _000053_hash NULL -+_000054_hash ath6kl_debug_roam_tbl_event 3 5224 _000054_hash NULL -+_000055_hash ath6kl_mgmt_powersave_ap 6 13791 _000055_hash NULL -+_000056_hash ath6kl_send_go_probe_resp 3 21113 _000056_hash NULL -+_000057_hash ath6kl_set_ap_probe_resp_ies 3 50539 _000057_hash NULL -+_000058_hash ath6kl_set_assoc_req_ies 3 43185 _000058_hash NULL -+_000059_hash ath6kl_wmi_bssinfo_event_rx 3 2275 _000059_hash NULL -+_000060_hash ath6kl_wmi_send_action_cmd 7 58860 _000060_hash NULL -+_000061_hash __ath6kl_wmi_send_mgmt_cmd 7 38971 _000061_hash NULL -+_000062_hash attach_hdlc_protocol 3 19986 _000062_hash NULL -+_000063_hash audio_write 4 54261 _001597_hash NULL nohasharray -+_000064_hash audit_unpack_string 3 13748 _000064_hash NULL -+_000065_hash av7110_vbi_write 3 34384 _000065_hash NULL -+_000066_hash ax25_setsockopt 5 42740 _000066_hash NULL -+_000067_hash b43_debugfs_write 3 34838 _000067_hash NULL -+_000068_hash b43legacy_debugfs_write 3 28556 _000068_hash NULL -+_000069_hash bch_alloc 1 4593 _000069_hash NULL -+_000070_hash befs_nls2utf 3 17163 _000070_hash NULL -+_000071_hash befs_utf2nls 3 25628 _000071_hash NULL -+_000072_hash bfad_debugfs_write_regrd 3 15218 _000072_hash NULL -+_000073_hash bfad_debugfs_write_regwr 3 61841 _000073_hash NULL -+_000074_hash bio_alloc_map_data 1-2 50782 _000074_hash NULL -+_000076_hash bio_kmalloc 2 54672 _000076_hash NULL -+_000077_hash blkcipher_copy_iv 3 24075 _000077_hash NULL -+_000078_hash blkcipher_next_slow 4-3 52733 _000078_hash NULL -+_000079_hash bl_pipe_downcall 3 34264 _000079_hash NULL -+_000080_hash bnad_debugfs_write_regrd 3 6706 _000080_hash NULL -+_000081_hash bnad_debugfs_write_regwr 3 57500 _000081_hash NULL -+_000082_hash bnx2fc_cmd_mgr_alloc 2-3 24873 _000082_hash NULL -+_000084_hash bnx2_nvram_write 4-2 7790 _000084_hash NULL -+_000085_hash brcmf_sdbrcm_downloadvars 3 42064 _000085_hash NULL -+_000086_hash btmrvl_gpiogap_write 3 35053 _000086_hash NULL -+_000087_hash btmrvl_hscfgcmd_write 3 27143 _000087_hash NULL -+_000088_hash btmrvl_hscmd_write 3 27089 _000088_hash NULL -+_000089_hash btmrvl_hsmode_write 3 42252 _000089_hash NULL -+_000090_hash btmrvl_pscmd_write 3 29504 _000090_hash NULL -+_000091_hash btmrvl_psmode_write 3 3703 _000091_hash NULL -+_000092_hash btrfs_alloc_delayed_item 1 11678 _000092_hash NULL -+_000093_hash cache_do_downcall 3 6926 _000093_hash NULL -+_000094_hash cachefiles_cook_key 2 33274 _000094_hash NULL -+_000095_hash cachefiles_daemon_write 3 43535 _000095_hash NULL -+_000096_hash capi_write 3 35104 _000096_hash NULL -+_000097_hash carl9170_debugfs_write 3 50857 _000097_hash NULL -+_000098_hash cciss_allocate_sg_chain_blocks 2-3 5368 _000098_hash NULL -+_000100_hash cciss_proc_write 3 10259 _000100_hash NULL -+_000101_hash cdrom_read_cdda_old 4 27664 _000101_hash NULL -+_000102_hash ceph_alloc_page_vector 1 18710 _000102_hash NULL -+_000103_hash ceph_buffer_new 1 35974 _000103_hash NULL -+_000104_hash ceph_copy_user_to_page_vector 4-3 656 _000104_hash NULL -+_000105_hash ceph_get_direct_page_vector 2 41917 _000105_hash NULL -+_000106_hash ceph_msg_new 2 5846 _000106_hash NULL -+_000107_hash ceph_setxattr 4 18913 _000107_hash NULL -+_000108_hash cfi_read_pri 3 24366 _000108_hash NULL -+_000109_hash cgroup_write_string 5 10900 _000109_hash NULL -+_000110_hash cgroup_write_X64 5 54514 _000110_hash NULL -+_000111_hash change_xattr 5 61390 _000111_hash NULL -+_000112_hash check_load_and_stores 2 2143 _000112_hash NULL -+_000113_hash cifs_idmap_key_instantiate 3 54503 _000113_hash NULL -+_000114_hash cifs_security_flags_proc_write 3 5484 _000114_hash NULL -+_000115_hash cifs_setxattr 4 23957 _000115_hash NULL -+_000116_hash cifs_spnego_key_instantiate 3 23588 _000116_hash NULL -+_000117_hash ci_ll_write 4 3740 _000117_hash NULL -+_000118_hash cld_pipe_downcall 3 15058 _000118_hash NULL -+_000119_hash clear_refs_write 3 61904 _000119_hash NULL -+_000120_hash clusterip_proc_write 3 44729 _000120_hash NULL -+_000121_hash cm4040_write 3 58079 _000121_hash NULL -+_000122_hash cm_copy_private_data 2 3649 _000122_hash NULL -+_000123_hash cmm_write 3 2896 _000123_hash NULL -+_000124_hash cm_write 3 36858 _000124_hash NULL -+_000125_hash coda_psdev_write 3 1711 _000125_hash NULL -+_000126_hash codec_reg_read_file 3 36280 _000126_hash NULL -+_000127_hash command_file_write 3 31318 _000127_hash NULL -+_000128_hash command_write 3 58841 _000128_hash NULL -+_000129_hash comm_write 3 44537 _001532_hash NULL nohasharray -+_000130_hash concat_writev 3 21451 _000130_hash NULL -+_000131_hash copy_and_check 3 19089 _000131_hash NULL -+_000132_hash copy_from_user_toio 3 31966 _000132_hash NULL -+_000133_hash copy_items 6 50140 _000133_hash NULL -+_000134_hash copy_macs 4 45534 _000134_hash NULL -+_000135_hash __copy_to_user 3 17551 _000135_hash NULL -+_000136_hash copy_vm86_regs_from_user 3 45340 _000136_hash NULL -+_000137_hash cosa_write 3 1774 _000137_hash NULL -+_000138_hash create_entry 2 33479 _000138_hash NULL -+_000139_hash create_queues 2-3 9088 _000139_hash NULL -+_000141_hash create_xattr 5 54106 _000141_hash NULL -+_000142_hash create_xattr_datum 5 33356 _000142_hash NULL -+_000143_hash csum_partial_copy_fromiovecend 3-4 9957 _000143_hash NULL -+_000145_hash ctrl_out 3-5 8712 _000145_hash NULL -+_000147_hash cx24116_writeregN 4 41975 _000147_hash NULL -+_000148_hash cxacru_cm_get_array 4 4412 _000148_hash NULL -+_000149_hash cxgbi_alloc_big_mem 1 4707 _000149_hash NULL -+_000150_hash dac960_user_command_proc_write 3 3071 _000150_hash NULL -+_000151_hash datablob_format 2 39571 _002156_hash NULL nohasharray -+_000152_hash dccp_feat_clone_sp_val 3 11942 _000152_hash NULL -+_000153_hash dccp_setsockopt_ccid 4 30701 _000153_hash NULL -+_000154_hash dccp_setsockopt_cscov 2 37766 _000154_hash NULL -+_000155_hash dccp_setsockopt_service 4 65336 _000155_hash NULL -+_000156_hash ddb_output_write 3 31902 _000156_hash NULL -+_000157_hash ddebug_proc_write 3 18055 _000157_hash NULL -+_000158_hash dev_config 3 8506 _000158_hash NULL -+_000159_hash device_write 3 45156 _000159_hash NULL -+_000160_hash devm_kzalloc 2 4966 _000160_hash NULL -+_000161_hash devres_alloc 2 551 _000161_hash NULL -+_000162_hash dfs_file_write 3 41196 _000162_hash NULL -+_000163_hash direct_entry 3 38836 _000163_hash NULL -+_000164_hash dispatch_proc_write 3 44320 _000164_hash NULL -+_000165_hash diva_os_copy_from_user 4 7792 _000165_hash NULL -+_000166_hash dlm_alloc_pagevec 1 54296 _000166_hash NULL -+_000167_hash dlmfs_file_read 3 28385 _000167_hash NULL -+_000168_hash dlmfs_file_write 3 6892 _000168_hash NULL -+_000169_hash dm_read 3 15674 _000169_hash NULL -+_000170_hash dm_write 3 2513 _000170_hash NULL -+_000171_hash __dn_setsockopt 5 13060 _000171_hash NULL -+_000172_hash dns_query 3 9676 _000172_hash NULL -+_000173_hash dns_resolver_instantiate 3 63314 _000173_hash NULL -+_000174_hash do_add_counters 3 3992 _000174_hash NULL -+_000175_hash __do_config_autodelink 3 58763 _000175_hash NULL -+_000176_hash do_ip_setsockopt 5 41852 _000176_hash NULL -+_000177_hash do_ipv6_setsockopt 5 18215 _000177_hash NULL -+_000178_hash do_ip_vs_set_ctl 4 48641 _000178_hash NULL -+_000179_hash do_kimage_alloc 3 64827 _000179_hash NULL -+_000180_hash do_register_entry 4 29478 _000180_hash NULL -+_000181_hash do_tty_write 5 44896 _000181_hash NULL -+_000182_hash do_update_counters 4 2259 _000182_hash NULL -+_000183_hash dsp_write 2 46218 _000183_hash NULL -+_000184_hash dup_to_netobj 3 26363 _000184_hash NULL -+_000185_hash dvb_aplay 3 56296 _000185_hash NULL -+_000186_hash dvb_ca_en50221_io_write 3 43533 _000186_hash NULL -+_000187_hash dvbdmx_write 3 19423 _000187_hash NULL -+_000188_hash dvb_play 3 50814 _000188_hash NULL -+_000189_hash dw210x_op_rw 6 39915 _000189_hash NULL -+_000190_hash dwc3_link_state_write 3 12641 _000190_hash NULL -+_000191_hash dwc3_mode_write 3 51997 _000191_hash NULL -+_000192_hash dwc3_testmode_write 3 30516 _000192_hash NULL -+_000193_hash ecryptfs_copy_filename 4 11868 _000193_hash NULL -+_000194_hash ecryptfs_miscdev_write 3 26847 _000194_hash NULL -+_000195_hash ecryptfs_send_miscdev 2 64816 _000195_hash NULL -+_000196_hash efx_tsoh_heap_alloc 2 58545 _000196_hash NULL -+_000197_hash emi26_writememory 4 57908 _000197_hash NULL -+_000198_hash emi62_writememory 4 29731 _000198_hash NULL -+_000199_hash encrypted_instantiate 3 3168 _000199_hash NULL -+_000200_hash encrypted_update 3 13414 _000200_hash NULL -+_000201_hash ep0_write 3 14536 _001328_hash NULL nohasharray -+_000202_hash ep_read 3 58813 _000202_hash NULL -+_000203_hash ep_write 3 59008 _000203_hash NULL -+_000204_hash erst_dbg_write 3 46715 _000204_hash NULL -+_000205_hash esp_alloc_tmp 2-3 40558 _000205_hash NULL -+_000206_hash exofs_read_lookup_dev_table 3 17733 _000206_hash NULL -+_000207_hash ext4_kvmalloc 1 14796 _000207_hash NULL -+_000208_hash ezusb_writememory 4 45976 _000208_hash NULL -+_000209_hash fanotify_write 3 64623 _000209_hash NULL -+_000210_hash fd_copyin 3 56247 _000210_hash NULL -+_000211_hash ffs_epfile_io 3 64886 _000211_hash NULL -+_000212_hash ffs_prepare_buffer 2 59892 _000212_hash NULL -+_000213_hash f_hidg_write 3 7932 _000213_hash NULL -+_000214_hash file_read_actor 4 1401 _000214_hash NULL -+_000215_hash fill_write_buffer 3 3142 _000215_hash NULL -+_000216_hash fl_create 5 56435 _000216_hash NULL -+_000217_hash ftdi_elan_write 3 57309 _000217_hash NULL -+_000218_hash fuse_conn_limit_write 3 30777 _003837_hash NULL nohasharray -+_000219_hash fw_iso_buffer_init 3 54582 _000219_hash NULL -+_000220_hash garmin_write_bulk 3 58191 _000220_hash NULL -+_000221_hash garp_attr_create 3 3883 _000221_hash NULL -+_000222_hash get_arg 3 5694 _000222_hash NULL -+_000223_hash getdqbuf 1 62908 _000223_hash NULL -+_000224_hash get_fdb_entries 3 41916 _000224_hash NULL -+_000225_hash get_indirect_ea 4 51869 _000225_hash NULL -+_000226_hash get_registers 3 26187 _000226_hash NULL -+_000227_hash get_scq 2 10897 _000227_hash NULL -+_000228_hash get_server_iovec 2 16804 _000228_hash NULL -+_000229_hash get_ucode_user 3 38202 _000229_hash NULL -+_000230_hash get_user_cpu_mask 2 14861 _000230_hash NULL -+_000231_hash gfs2_alloc_sort_buffer 1 18275 _000231_hash NULL -+_000232_hash gfs2_glock_nq_m 1 20347 _000232_hash NULL -+_000233_hash gigaset_initcs 2 43753 _000233_hash NULL -+_000234_hash gigaset_initdriver 2 1060 _000234_hash NULL -+_000235_hash gs_alloc_req 2 58883 _000235_hash NULL -+_000236_hash gs_buf_alloc 2 25067 _000236_hash NULL -+_000237_hash gsm_data_alloc 3 42437 _000237_hash NULL -+_000238_hash gss_pipe_downcall 3 23182 _000238_hash NULL -+_000239_hash handle_request 9 10024 _000239_hash NULL -+_000240_hash hash_new 1 62224 _000240_hash NULL -+_000241_hash hashtab_create 3 33769 _000241_hash NULL -+_000242_hash hcd_buffer_alloc 2 27495 _000242_hash NULL -+_000243_hash hci_sock_setsockopt 5 28993 _000243_hash NULL -+_000244_hash heap_init 2 49617 _000244_hash NULL -+_000245_hash hest_ghes_dev_register 1 46766 _000245_hash NULL -+_000246_hash hidraw_get_report 3 45609 _000246_hash NULL -+_000247_hash hidraw_report_event 3 49578 _000509_hash NULL nohasharray -+_000248_hash hidraw_send_report 3 23449 _000248_hash NULL -+_000249_hash hpfs_translate_name 3 41497 _000249_hash NULL -+_000250_hash hysdn_conf_write 3 52145 _000250_hash NULL -+_000251_hash hysdn_log_write 3 48694 _000251_hash NULL -+_000252_hash __i2400mu_send_barker 3 23652 _000252_hash NULL -+_000253_hash i2cdev_read 3 1206 _000253_hash NULL -+_000254_hash i2cdev_write 3 23310 _000254_hash NULL -+_000255_hash i2o_parm_field_get 5 34477 _000255_hash NULL -+_000256_hash i2o_parm_table_get 6 61635 _000256_hash NULL -+_000257_hash ib_copy_from_udata 3 59502 _000257_hash NULL -+_000258_hash ib_ucm_alloc_data 3 36885 _000258_hash NULL -+_000259_hash ib_umad_write 3 47993 _000259_hash NULL -+_000260_hash ib_uverbs_unmarshall_recv 5 12251 _000260_hash NULL -+_000261_hash icn_writecmd 2 38629 _000261_hash NULL -+_000262_hash ide_driver_proc_write 3 32493 _000262_hash NULL -+_000263_hash ide_settings_proc_write 3 35110 _000263_hash NULL -+_000264_hash idetape_chrdev_write 3 53976 _000264_hash NULL -+_000265_hash idmap_pipe_downcall 3 14591 _000265_hash NULL -+_000266_hash ieee80211_build_probe_req 7-5 27660 _000266_hash NULL -+_000267_hash ieee80211_if_write 3 34894 _000267_hash NULL -+_000268_hash if_write 3 51756 _000268_hash NULL -+_000269_hash ilo_write 3 64378 _000269_hash NULL -+_000270_hash ima_write_policy 3 40548 _000270_hash NULL -+_000271_hash init_data_container 1 60709 _000271_hash NULL -+_000272_hash init_send_hfcd 1 34586 _000272_hash NULL -+_000273_hash insert_dent 7 65034 _000273_hash NULL -+_000274_hash interpret_user_input 2 19393 _000274_hash NULL -+_000275_hash int_proc_write 3 39542 _000275_hash NULL -+_000276_hash ioctl_private_iw_point 7 1273 _000276_hash NULL -+_000277_hash iov_iter_copy_from_user 4 31942 _000277_hash NULL -+_000278_hash iov_iter_copy_from_user_atomic 4 56368 _000278_hash NULL -+_000279_hash iowarrior_write 3 18604 _000279_hash NULL -+_000280_hash ipc_alloc 1 1192 _000280_hash NULL -+_000281_hash ipc_rcu_alloc 1 21208 _000281_hash NULL -+_000282_hash ip_options_get_from_user 4 64958 _000282_hash NULL -+_000283_hash ipv6_renew_option 3 38813 _000283_hash NULL -+_000284_hash ip_vs_conn_fill_param_sync 6 29771 _002404_hash NULL nohasharray -+_000285_hash ip_vs_create_timeout_table 2 64478 _000285_hash NULL -+_000286_hash ipw_queue_tx_init 3 49161 _000286_hash NULL -+_000287_hash irda_setsockopt 5 19824 _000287_hash NULL -+_000288_hash irias_new_octseq_value 2 13596 _003296_hash NULL nohasharray -+_000289_hash ir_lirc_transmit_ir 3 64403 _000289_hash NULL -+_000290_hash irnet_ctrl_write 3 24139 _000290_hash NULL -+_000291_hash isdn_add_channels 3 40905 _000291_hash NULL -+_000292_hash isdn_ppp_fill_rq 2 41428 _000292_hash NULL -+_000293_hash isdn_ppp_write 4 29109 _000293_hash NULL -+_000294_hash isdn_read 3 50021 _000294_hash NULL -+_000295_hash isdn_v110_open 3 2418 _000295_hash NULL -+_000296_hash isdn_writebuf_stub 4 52383 _000296_hash NULL -+_000297_hash islpci_mgt_transmit 5 34133 _000297_hash NULL -+_000298_hash iso_callback 3 43208 _000298_hash NULL -+_000299_hash iso_packets_buffer_init 3-4 29061 _000299_hash NULL -+_000300_hash it821x_firmware_command 3 8628 _000300_hash NULL -+_000301_hash ivtv_buf_copy_from_user 4 25502 _000301_hash NULL -+_000302_hash iwch_alloc_fastreg_pbl 2 40153 _000302_hash NULL -+_000303_hash iwl_calib_set 3 34400 _002188_hash NULL nohasharray -+_000304_hash jbd2_journal_init_revoke_table 1 36336 _000304_hash NULL -+_000305_hash jffs2_alloc_full_dirent 1 60179 _001111_hash NULL nohasharray -+_000306_hash journal_init_revoke_table 1 56331 _000306_hash NULL -+_000307_hash kcalloc 1-2 27770 _000307_hash NULL -+_000309_hash keyctl_instantiate_key_common 4 47889 _000309_hash NULL -+_000310_hash keyctl_update_key 3 26061 _000310_hash NULL -+_000311_hash __kfifo_alloc 2-3 22173 _000311_hash NULL -+_000313_hash kfifo_copy_from_user 3 5091 _000313_hash NULL -+_000314_hash kmalloc_node 1 50163 _003293_hash NULL nohasharray -+_000315_hash kmalloc_parameter 1 65279 _000315_hash NULL -+_000316_hash kmem_alloc 1 31920 _000316_hash NULL -+_000317_hash kobj_map 2-3 9566 _000317_hash NULL -+_000319_hash kone_receive 4 4690 _000319_hash NULL -+_000320_hash kone_send 4 63435 _000320_hash NULL -+_000321_hash krealloc 2 14908 _000321_hash NULL -+_000322_hash kvmalloc 1 32646 _000322_hash NULL -+_000323_hash kvm_read_guest_atomic 4 10765 _000323_hash NULL -+_000324_hash kvm_read_guest_cached 4 39666 _000324_hash NULL -+_000325_hash kvm_read_guest_page 5 18074 _000325_hash NULL -+_000326_hash kzalloc 1 54740 _000326_hash NULL -+_000327_hash l2cap_sock_setsockopt 5 50207 _000327_hash NULL -+_000328_hash l2cap_sock_setsockopt_old 4 29346 _000328_hash NULL -+_000329_hash lane2_associate_req 4 45398 _000329_hash NULL -+_000330_hash lbs_debugfs_write 3 48413 _000330_hash NULL -+_000331_hash lcd_write 3 14857 _000331_hash &_000014_hash -+_000332_hash ldm_frag_add 2 5611 _000332_hash NULL -+_000333_hash __lgread 4 31668 _000333_hash NULL -+_000334_hash libipw_alloc_txb 1-3-2 27579 _000334_hash NULL -+_000335_hash link_send_sections_long 4 46556 _000335_hash NULL -+_000336_hash listxattr 3 12769 _000336_hash NULL -+_000337_hash LoadBitmap 2 19658 _000337_hash NULL -+_000338_hash load_msg 2 95 _000338_hash NULL -+_000339_hash lpfc_debugfs_dif_err_write 3 17424 _000339_hash NULL -+_000340_hash lp_write 3 9511 _000340_hash NULL -+_000341_hash mb_cache_create 2 17307 _000341_hash NULL -+_000342_hash mce_write 3 26201 _000342_hash NULL -+_000343_hash mcs7830_get_reg 3 33308 _000343_hash NULL -+_000344_hash mcs7830_set_reg 3 31413 _000344_hash NULL -+_000345_hash memcpy_fromiovec 3 55247 _000345_hash NULL -+_000346_hash memcpy_fromiovecend 3-4 2707 _000346_hash NULL -+_000348_hash mempool_kmalloc 2 53831 _000348_hash NULL -+_000349_hash mempool_resize 2 47983 _001821_hash NULL nohasharray -+_000350_hash mem_rw 3 22085 _000350_hash NULL -+_000351_hash mgmt_control 3 7349 _000351_hash NULL -+_000352_hash mgmt_pending_add 5 46976 _000352_hash NULL -+_000353_hash mlx4_ib_alloc_fast_reg_page_list 2 46119 _000353_hash NULL -+_000354_hash mmc_alloc_sg 1 21504 _000354_hash NULL -+_000355_hash mmc_send_bus_test 4 18285 _000355_hash NULL -+_000356_hash mmc_send_cxd_data 5 38655 _000356_hash NULL -+_000357_hash module_alloc_update_bounds 1 47205 _000357_hash NULL -+_000358_hash move_addr_to_kernel 2 32673 _000358_hash NULL -+_000359_hash mpi_alloc_limb_space 1 23190 _000359_hash NULL -+_000360_hash mpi_resize 2 44674 _000360_hash NULL -+_000361_hash mptctl_getiocinfo 2 28545 _000361_hash NULL -+_000362_hash mtdchar_readoob 4 31200 _000362_hash NULL -+_000363_hash mtdchar_write 3 56831 _002688_hash NULL nohasharray -+_000364_hash mtdchar_writeoob 4 3393 _000364_hash NULL -+_000365_hash mtd_device_parse_register 5 5024 _000365_hash NULL -+_000366_hash mtf_test_write 3 18844 _000366_hash NULL -+_000367_hash mtrr_write 3 59622 _000367_hash NULL -+_000368_hash musb_test_mode_write 3 33518 _000368_hash NULL -+_000369_hash mwifiex_get_common_rates 3 17131 _000369_hash NULL -+_000370_hash mwifiex_update_curr_bss_params 5 16908 _000370_hash NULL -+_000371_hash nand_bch_init 2-3 16280 _001341_hash NULL nohasharray -+_000373_hash ncp_file_write 3 3813 _000373_hash NULL -+_000374_hash ncp__vol2io 5 4804 _000374_hash NULL -+_000375_hash nes_alloc_fast_reg_page_list 2 33523 _000375_hash NULL -+_000376_hash nfc_targets_found 3 29886 _000376_hash NULL -+_000377_hash nfs4_acl_new 1 49806 _000377_hash NULL -+_000378_hash nfs4_write_cached_acl 4 15070 _000378_hash NULL -+_000379_hash nfsd_cache_update 3 59574 _000379_hash NULL -+_000380_hash nfsd_symlink 6 63442 _000380_hash NULL -+_000381_hash nfs_idmap_get_desc 2-4 42990 _000381_hash NULL -+_000383_hash nfs_readdir_make_qstr 3 12509 _000383_hash NULL -+_000384_hash note_last_dentry 3 12285 _000384_hash NULL -+_000385_hash ntfs_copy_from_user 3-5 15072 _000385_hash NULL -+_000387_hash __ntfs_copy_from_user_iovec_inatomic 3-4 38153 _000387_hash NULL -+_000389_hash ntfs_ucstonls 3-5 23097 _000389_hash NULL -+_000390_hash nvme_alloc_iod 1 56027 _000390_hash NULL -+_000391_hash nvram_write 3 3894 _000391_hash NULL -+_000392_hash o2hb_debug_create 4 18744 _000392_hash NULL -+_000393_hash o2net_send_message_vec 4 879 _001792_hash NULL nohasharray -+_000394_hash ocfs2_control_cfu 2 37750 _000394_hash NULL -+_000395_hash oom_adjust_write 3 41116 _000395_hash NULL -+_000396_hash oom_score_adj_write 3 42594 _000396_hash NULL -+_000397_hash opera1_xilinx_rw 5 31453 _000397_hash NULL -+_000398_hash oprofilefs_ulong_from_user 3 57251 _000398_hash NULL -+_000399_hash opticon_write 4 60775 _000399_hash NULL -+_000400_hash orig_node_add_if 2 32833 _000400_hash NULL -+_000401_hash orig_node_del_if 2 28371 _000401_hash NULL -+_000402_hash p9_check_zc_errors 4 15534 _000402_hash NULL -+_000403_hash packet_buffer_init 2 1607 _000403_hash NULL -+_000404_hash packet_setsockopt 5 17662 _000404_hash NULL -+_000405_hash parse_command 2 37079 _000405_hash NULL -+_000406_hash pcbit_writecmd 2 12332 _000406_hash NULL -+_000407_hash pcmcia_replace_cis 3 57066 _000407_hash NULL -+_000408_hash pgctrl_write 3 50453 _000408_hash NULL -+_000409_hash pg_write 3 40766 _000409_hash NULL -+_000410_hash pidlist_allocate 1 64404 _000410_hash NULL -+_000411_hash pipe_iov_copy_from_user 3 23102 _000411_hash NULL -+_000412_hash pipe_iov_copy_to_user 3 3447 _000412_hash NULL -+_000413_hash pkt_add 3 39897 _000413_hash NULL -+_000414_hash pktgen_if_write 3 55628 _000414_hash NULL -+_000415_hash platform_device_add_data 3 310 _000415_hash NULL -+_000416_hash platform_device_add_resources 3 13289 _000416_hash NULL -+_000417_hash pm_qos_power_write 3 52513 _000417_hash NULL -+_000418_hash pnpbios_proc_write 3 19758 _000418_hash NULL -+_000419_hash pool_allocate 3 42012 _000419_hash NULL -+_000420_hash posix_acl_alloc 1 48063 _000420_hash NULL -+_000421_hash ppp_cp_parse_cr 4 5214 _000421_hash NULL -+_000422_hash ppp_write 3 34034 _000422_hash NULL -+_000423_hash pp_read 3 33210 _000423_hash NULL -+_000424_hash pp_write 3 39554 _000424_hash NULL -+_000425_hash printer_req_alloc 2 62687 _001807_hash NULL nohasharray -+_000426_hash printer_write 3 60276 _000426_hash NULL -+_000427_hash prism2_set_genericelement 3 29277 _000427_hash NULL -+_000428_hash __probe_kernel_read 3 61119 _000428_hash NULL -+_000429_hash __probe_kernel_write 3 29842 _000429_hash NULL -+_000430_hash proc_coredump_filter_write 3 25625 _000430_hash NULL -+_000431_hash _proc_do_string 2 6376 _000431_hash NULL -+_000432_hash process_vm_rw_pages 5-6 15954 _000432_hash NULL -+_000434_hash proc_loginuid_write 3 63648 _000434_hash NULL -+_000435_hash proc_pid_attr_write 3 63845 _000435_hash NULL -+_000436_hash proc_scsi_devinfo_write 3 32064 _000436_hash NULL -+_000437_hash proc_scsi_write 3 29142 _000437_hash NULL -+_000438_hash proc_scsi_write_proc 3 267 _000438_hash NULL -+_000439_hash pstore_mkfile 5 50830 _000439_hash NULL -+_000440_hash pti_char_write 3 60960 _000440_hash NULL -+_000441_hash ptrace_writedata 4 45021 _000441_hash NULL -+_000442_hash pt_write 3 40159 _000442_hash NULL -+_000443_hash pvr2_ioread_set_sync_key 3 59882 _000443_hash NULL -+_000444_hash pvr2_stream_buffer_count 2 33719 _000444_hash NULL -+_000445_hash qdisc_class_hash_alloc 1 18262 _000445_hash NULL -+_000446_hash r3964_write 4 57662 _000446_hash NULL -+_000447_hash raw_seticmpfilter 3 6888 _000447_hash NULL -+_000448_hash raw_setsockopt 5 45800 _000448_hash NULL -+_000449_hash rawv6_seticmpfilter 5 12137 _000449_hash NULL -+_000450_hash ray_cs_essid_proc_write 3 17875 _000450_hash NULL -+_000451_hash rbd_add 3 16366 _000451_hash NULL -+_000452_hash rbd_snap_add 4 19678 _000452_hash NULL -+_000453_hash rdma_set_ib_paths 3 45592 _000453_hash NULL -+_000454_hash rds_page_copy_user 4 35691 _000454_hash NULL -+_000455_hash read 3 9397 _000455_hash NULL -+_000456_hash read_buf 2 20469 _000456_hash NULL -+_000457_hash read_cis_cache 4 29735 _000457_hash NULL -+_000458_hash realloc_buffer 2 25816 _000458_hash NULL -+_000459_hash realloc_packet_buffer 2 25569 _000459_hash NULL -+_000460_hash receive_DataRequest 3 9904 _000460_hash NULL -+_000461_hash recent_mt_proc_write 3 8206 _000461_hash NULL -+_000462_hash regmap_access_read_file 3 37223 _000462_hash NULL -+_000463_hash regmap_bulk_write 4 59049 _000463_hash NULL -+_000464_hash regmap_map_read_file 3 37685 _000464_hash NULL -+_000465_hash regset_tls_set 4 18459 _000465_hash NULL -+_000466_hash reg_w_buf 3 27724 _000466_hash NULL -+_000467_hash reg_w_ixbuf 4 34736 _000467_hash NULL -+_000468_hash remote_settings_file_write 3 22987 _000468_hash NULL -+_000469_hash request_key_auth_new 3 38092 _000469_hash NULL -+_000470_hash restore_i387_fxsave 2 17528 _000470_hash NULL -+_000471_hash revalidate 2 19043 _000471_hash NULL -+_000472_hash rfcomm_sock_setsockopt 5 18254 _000472_hash NULL -+_000473_hash rndis_add_response 2 58544 _000473_hash NULL -+_000474_hash rndis_set_oid 4 6547 _000474_hash NULL -+_000475_hash rngapi_reset 3 34366 _002911_hash NULL nohasharray -+_000476_hash roccat_common_receive 4 53407 _000476_hash NULL -+_000477_hash roccat_common_send 4 12284 _000477_hash NULL -+_000478_hash rpc_malloc 2 43573 _000478_hash NULL -+_000479_hash rt2x00debug_write_bbp 3 8212 _000479_hash NULL -+_000480_hash rt2x00debug_write_csr 3 64753 _000480_hash NULL -+_000481_hash rt2x00debug_write_eeprom 3 23091 _000481_hash NULL -+_000482_hash rt2x00debug_write_rf 3 38195 _000482_hash NULL -+_000483_hash rts51x_read_mem 4 26577 _000483_hash NULL -+_000484_hash rts51x_read_status 4 11830 _000484_hash NULL -+_000485_hash rts51x_write_mem 4 17598 _000485_hash NULL -+_000486_hash rw_copy_check_uvector 3 34271 _000486_hash NULL -+_000487_hash rxrpc_request_key 3 27235 _000487_hash NULL -+_000488_hash rxrpc_server_keyring 3 16431 _000488_hash NULL -+_000489_hash savemem 3 58129 _000489_hash NULL -+_000490_hash sb16_copy_from_user 10-7-6 55836 _000490_hash NULL -+_000493_hash sched_autogroup_write 3 10984 _000493_hash NULL -+_000494_hash scsi_mode_select 6 37330 _000494_hash NULL -+_000495_hash scsi_tgt_copy_sense 3 26933 _000495_hash NULL -+_000496_hash sctp_auth_create_key 1 51641 _000496_hash NULL -+_000497_hash sctp_getsockopt_delayed_ack 2 9232 _000497_hash NULL -+_000498_hash sctp_getsockopt_local_addrs 2 25178 _000498_hash NULL -+_000499_hash sctp_make_abort_user 3 29654 _000499_hash NULL -+_000500_hash sctp_setsockopt_active_key 3 43755 _000500_hash NULL -+_000501_hash sctp_setsockopt_adaptation_layer 3 26935 _001925_hash NULL nohasharray -+_000502_hash sctp_setsockopt_associnfo 3 51684 _000502_hash NULL -+_000503_hash sctp_setsockopt_auth_chunk 3 30843 _000503_hash NULL -+_000504_hash sctp_setsockopt_auth_key 3 3793 _000504_hash NULL -+_000505_hash sctp_setsockopt_autoclose 3 5775 _000505_hash NULL -+_000506_hash sctp_setsockopt_bindx 3 49870 _000506_hash NULL -+_000507_hash __sctp_setsockopt_connectx 3 46949 _000507_hash NULL -+_000508_hash sctp_setsockopt_context 3 31091 _000508_hash NULL -+_000509_hash sctp_setsockopt_default_send_param 3 49578 _000509_hash &_000247_hash -+_000510_hash sctp_setsockopt_delayed_ack 3 40129 _000510_hash NULL -+_000511_hash sctp_setsockopt_del_key 3 42304 _002281_hash NULL nohasharray -+_000512_hash sctp_setsockopt_events 3 18862 _000512_hash NULL -+_000513_hash sctp_setsockopt_hmac_ident 3 11687 _000513_hash NULL -+_000514_hash sctp_setsockopt_initmsg 3 1383 _000514_hash NULL -+_000515_hash sctp_setsockopt_maxburst 3 28041 _000515_hash NULL -+_000516_hash sctp_setsockopt_maxseg 3 11829 _000516_hash NULL -+_000517_hash sctp_setsockopt_peer_addr_params 3 734 _000517_hash NULL -+_000518_hash sctp_setsockopt_peer_primary_addr 3 13440 _000518_hash NULL -+_000519_hash sctp_setsockopt_rtoinfo 3 30941 _000519_hash NULL -+_000520_hash security_context_to_sid_core 2 29248 _000520_hash NULL -+_000521_hash sel_commit_bools_write 3 46077 _000521_hash NULL -+_000522_hash sel_write_avc_cache_threshold 3 2256 _000522_hash NULL -+_000523_hash sel_write_bool 3 46996 _000523_hash NULL -+_000524_hash sel_write_checkreqprot 3 60774 _000524_hash NULL -+_000525_hash sel_write_disable 3 10511 _000525_hash NULL -+_000526_hash sel_write_enforce 3 48998 _000526_hash NULL -+_000527_hash sel_write_load 3 63830 _000527_hash NULL -+_000528_hash send_bulk_static_data 3 61932 _000528_hash NULL -+_000529_hash send_control_msg 6 48498 _000529_hash NULL -+_000530_hash set_aoe_iflist 2 42737 _000530_hash NULL -+_000531_hash setkey_unaligned 3 39474 _000531_hash NULL -+_000532_hash set_registers 3 53582 _000532_hash NULL -+_000533_hash setsockopt 5 54539 _000533_hash NULL -+_000534_hash setup_req 3 5848 _000534_hash NULL -+_000535_hash setup_window 7-5-4-2 59178 _000535_hash NULL -+_000536_hash setxattr 4 37006 _000536_hash NULL -+_000537_hash sfq_alloc 1 2861 _000537_hash NULL -+_000538_hash sg_kmalloc 1 50240 _000538_hash NULL -+_000539_hash sgl_map_user_pages 2 30610 _000539_hash NULL -+_000540_hash shash_setkey_unaligned 3 8620 _000540_hash NULL -+_000541_hash shmem_xattr_alloc 2 61190 _000541_hash NULL -+_000542_hash sierra_setup_urb 5 46029 _000542_hash NULL -+_000543_hash simple_transaction_get 3 50633 _000543_hash NULL -+_000544_hash simple_write_to_buffer 2-5 3122 _000544_hash NULL -+_000546_hash sisusb_send_bulk_msg 3 17864 _000546_hash NULL -+_000547_hash skb_add_data 3 48363 _000547_hash NULL -+_000548_hash skb_do_copy_data_nocache 5 12465 _000548_hash NULL -+_000549_hash sl_alloc_bufs 2 50380 _000549_hash NULL -+_000550_hash sl_realloc_bufs 2 64086 _000550_hash NULL -+_000551_hash smk_write_ambient 3 45691 _000551_hash NULL -+_000552_hash smk_write_cipso 3 17989 _000552_hash NULL -+_000553_hash smk_write_direct 3 46363 _000553_hash NULL -+_000554_hash smk_write_doi 3 49621 _000554_hash NULL -+_000555_hash smk_write_load_list 3 52280 _000555_hash NULL -+_000556_hash smk_write_logging 3 2618 _000556_hash NULL -+_000557_hash smk_write_netlbladdr 3 42525 _000557_hash NULL -+_000558_hash smk_write_onlycap 3 14400 _000558_hash NULL -+_000559_hash snd_ctl_elem_user_tlv 3 11695 _000559_hash NULL -+_000560_hash snd_emu10k1_fx8010_read 5 9605 _000560_hash NULL -+_000561_hash snd_emu10k1_synth_copy_from_user 3-5 9061 _000561_hash NULL -+_000563_hash snd_gus_dram_poke 4 18525 _000563_hash NULL -+_000564_hash snd_hdsp_playback_copy 5 20676 _000564_hash NULL -+_000565_hash snd_info_entry_write 3 63474 _000565_hash NULL -+_000566_hash snd_korg1212_copy_from 6 36169 _000566_hash NULL -+_000567_hash snd_mem_proc_write 3 9786 _000567_hash NULL -+_000568_hash snd_midi_channel_init_set 1 30092 _000568_hash NULL -+_000569_hash snd_midi_event_new 1 9893 _000750_hash NULL nohasharray -+_000570_hash snd_opl4_mem_proc_write 5 9670 _000570_hash NULL -+_000571_hash snd_pcm_aio_read 3 13900 _000571_hash NULL -+_000572_hash snd_pcm_aio_write 3 28738 _000572_hash NULL -+_000573_hash snd_pcm_oss_write1 3 10872 _000573_hash NULL -+_000574_hash snd_pcm_oss_write2 3 27332 _000574_hash NULL -+_000575_hash snd_rawmidi_kernel_write1 4 56847 _000575_hash NULL -+_000576_hash snd_rme9652_playback_copy 5 20970 _000576_hash NULL -+_000577_hash snd_sb_csp_load_user 3 45190 _000577_hash NULL -+_000578_hash snd_usb_ctl_msg 8 8436 _000578_hash NULL -+_000579_hash sock_bindtodevice 3 50942 _000579_hash NULL -+_000580_hash sock_kmalloc 2 62205 _000580_hash NULL -+_000581_hash spidev_write 3 44510 _000581_hash NULL -+_000582_hash squashfs_read_table 3 16945 _000582_hash NULL -+_000583_hash srpt_alloc_ioctx 2-3 51042 _000583_hash NULL -+_000585_hash srpt_alloc_ioctx_ring 2-4-3 49330 _000585_hash NULL -+_000586_hash st5481_setup_isocpipes 6-4 61340 _000586_hash NULL -+_000587_hash sta_agg_status_write 3 45164 _000587_hash NULL -+_000588_hash svc_setsockopt 5 36876 _000588_hash NULL -+_000589_hash sys_add_key 4 61288 _000589_hash NULL -+_000590_hash sys_modify_ldt 3 18824 _000590_hash NULL -+_000591_hash sys_semtimedop 3 4486 _000591_hash NULL -+_000592_hash sys_setdomainname 2 4373 _000592_hash NULL -+_000593_hash sys_sethostname 2 42962 _000593_hash NULL -+_000594_hash tda10048_writeregbulk 4 11050 _000594_hash NULL -+_000595_hash tipc_log_resize 1 34803 _000595_hash NULL -+_000596_hash tomoyo_write_self 3 45161 _000596_hash NULL -+_000597_hash tower_write 3 8580 _000597_hash NULL -+_000598_hash tpm_write 3 50798 _000598_hash NULL -+_000599_hash trusted_instantiate 3 4710 _000599_hash NULL -+_000600_hash trusted_update 3 12664 _000600_hash NULL -+_000601_hash tt_changes_fill_buffer 3 62649 _000601_hash NULL -+_000602_hash tty_buffer_alloc 2 45437 _000602_hash NULL -+_000603_hash __tun_chr_ioctl 4 22300 _000603_hash NULL -+_000604_hash ubi_more_leb_change_data 4 63534 _000604_hash NULL -+_000605_hash ubi_more_update_data 4 39189 _000605_hash NULL -+_000606_hash ubi_resize_volume 2 50172 _000606_hash NULL -+_000607_hash udf_alloc_i_data 2 35786 _000607_hash NULL -+_000608_hash uea_idma_write 3 64139 _000608_hash NULL -+_000609_hash uea_request 4 47613 _000609_hash NULL -+_000610_hash uea_send_modem_cmd 3 3888 _000610_hash NULL -+_000611_hash uio_write 3 43202 _000611_hash NULL -+_000612_hash um_idi_write 3 18293 _000612_hash NULL -+_000613_hash us122l_ctl_msg 8 13330 _000613_hash NULL -+_000614_hash usb_alloc_urb 1 43436 _000614_hash NULL -+_000615_hash usblp_new_writeurb 2 22894 _000615_hash NULL -+_000616_hash usblp_write 3 23178 _000616_hash NULL -+_000617_hash usbtest_alloc_urb 3-5 34446 _000617_hash NULL -+_000619_hash usbtmc_write 3 64340 _000619_hash NULL -+_000620_hash user_instantiate 3 26131 _000620_hash NULL -+_000621_hash user_update 3 41332 _000621_hash NULL -+_000622_hash uvc_simplify_fraction 3 31303 _000622_hash NULL -+_000623_hash uwb_rc_cmd_done 4 35892 _000623_hash NULL -+_000624_hash uwb_rc_neh_grok_event 3 55799 _000624_hash NULL -+_000625_hash v9fs_alloc_rdir_buf 2 42150 _000625_hash NULL -+_000626_hash __vb2_perform_fileio 3 63033 _000626_hash NULL -+_000627_hash vc_do_resize 3-4 48842 _000627_hash NULL -+_000629_hash vcs_write 3 3910 _000629_hash NULL -+_000630_hash vfd_write 3 14717 _000630_hash NULL -+_000631_hash vga_arb_write 3 36112 _000631_hash NULL -+_000632_hash vga_switcheroo_debugfs_write 3 33984 _000632_hash NULL -+_000633_hash vhci_get_user 3 45039 _000633_hash NULL -+_000634_hash video_proc_write 3 6724 _000634_hash NULL -+_000635_hash vlsi_alloc_ring 3-4 57003 _000635_hash NULL -+_000637_hash __vmalloc 1 61168 _000637_hash NULL -+_000638_hash vmalloc_32 1 1135 _000638_hash NULL -+_000639_hash vmalloc_32_user 1 37519 _000639_hash NULL -+_000640_hash vmalloc_exec 1 36132 _000640_hash NULL -+_000641_hash vmalloc_node 1 58700 _000641_hash NULL -+_000642_hash __vmalloc_node_flags 1 30352 _000642_hash NULL -+_000643_hash vmalloc_user 1 32308 _000643_hash NULL -+_000644_hash vol_cdev_direct_write 3 20751 _000644_hash NULL -+_000645_hash vp_request_msix_vectors 2 28849 _000645_hash NULL -+_000646_hash vring_add_indirect 3-4 20737 _000646_hash NULL -+_000648_hash vring_new_virtqueue 1 9671 _000648_hash NULL -+_000649_hash vxge_os_dma_malloc 2 46184 _000649_hash NULL -+_000650_hash vxge_os_dma_malloc_async 3 56348 _000650_hash NULL -+_000651_hash wdm_write 3 53735 _000651_hash NULL -+_000652_hash wiimote_hid_send 3 48528 _000652_hash NULL -+_000653_hash wl1273_fm_fops_write 3 60621 _000653_hash NULL -+_000654_hash wlc_phy_loadsampletable_nphy 3 64367 _000654_hash NULL -+_000655_hash write 3 62671 _000655_hash NULL -+_000656_hash write_flush 3 50803 _000656_hash NULL -+_000657_hash write_rio 3 54837 _000657_hash NULL -+_000658_hash x25_asy_change_mtu 2 26928 _000658_hash NULL -+_000659_hash xdi_copy_from_user 4 8395 _000659_hash NULL -+_000660_hash xfrm_dst_alloc_copy 3 3034 _000660_hash NULL -+_000661_hash xfrm_user_policy 4 62573 _000661_hash NULL -+_000662_hash xfs_attrmulti_attr_set 4 59346 _000662_hash NULL -+_000663_hash xfs_handle_to_dentry 3 12135 _000663_hash NULL -+_000664_hash __xip_file_write 3-4 2733 _000664_hash NULL -+_000665_hash xprt_rdma_allocate 2 31372 _000665_hash NULL -+_000666_hash zd_usb_iowrite16v_async 3 23984 _000666_hash NULL -+_000667_hash zd_usb_read_fw 4 22049 _000667_hash NULL -+_000668_hash zerocopy_sg_from_iovec 3 11828 _000668_hash NULL -+_000669_hash zoran_write 3 22404 _000669_hash NULL -+_000671_hash acpi_ex_allocate_name_string 2-1 7685 _002855_hash NULL nohasharray -+_000672_hash acpi_os_allocate_zeroed 1 37422 _000672_hash NULL -+_000673_hash acpi_ut_initialize_buffer 2 47143 _002314_hash NULL nohasharray -+_000674_hash ad7879_spi_xfer 3 36311 _000674_hash NULL -+_000675_hash add_new_gdb 3 27643 _000675_hash NULL -+_000676_hash add_numbered_child 5 14273 _000676_hash NULL -+_000677_hash add_res_range 4 21310 _000677_hash NULL -+_000678_hash addtgt 3 54703 _000678_hash NULL -+_000679_hash add_uuid 4 49831 _000679_hash NULL -+_000680_hash afs_cell_alloc 2 24052 _000680_hash NULL -+_000681_hash aggr_recv_addba_req_evt 4 38037 _000681_hash NULL -+_000682_hash agp_create_memory 1 1075 _000682_hash NULL -+_000683_hash agp_create_user_memory 1 62955 _000683_hash NULL -+_000684_hash alg_setsockopt 5 20985 _000684_hash NULL -+_000685_hash alloc_async 1 14208 _000685_hash NULL -+_000686_hash ___alloc_bootmem_nopanic 1 53626 _000686_hash NULL -+_000687_hash alloc_buf 1 34532 _000687_hash NULL -+_000688_hash alloc_chunk 1 49575 _000688_hash NULL -+_000689_hash alloc_context 1 41283 _000689_hash NULL -+_000690_hash alloc_ctrl_packet 1 44667 _000690_hash NULL -+_000691_hash alloc_data_packet 1 46698 _000691_hash NULL -+_000692_hash alloc_dca_provider 2 59670 _000692_hash NULL -+_000693_hash __alloc_dev_table 2 54343 _000693_hash NULL -+_000694_hash alloc_ep 1 17269 _000694_hash NULL -+_000695_hash __alloc_extent_buffer 3 15093 _000695_hash NULL -+_000696_hash alloc_group_attrs 2 9194 _000719_hash NULL nohasharray -+_000697_hash alloc_large_system_hash 2 64490 _000697_hash NULL -+_000698_hash alloc_netdev_mqs 1 30030 _000698_hash NULL -+_000699_hash __alloc_objio_seg 1 7203 _000699_hash NULL -+_000700_hash alloc_ring 2-4 15345 _000700_hash NULL -+_000701_hash alloc_ring 2-4 39151 _000701_hash NULL -+_000704_hash alloc_session 1-2 64171 _000704_hash NULL -+_000708_hash alloc_smp_req 1 51337 _000708_hash NULL -+_000709_hash alloc_smp_resp 1 3566 _000709_hash NULL -+_000710_hash alloc_ts_config 1 45775 _000710_hash NULL -+_000711_hash alloc_upcall 2 62186 _000711_hash NULL -+_000712_hash altera_drscan 2 48698 _000712_hash NULL -+_000713_hash altera_irscan 2 62396 _000713_hash NULL -+_000714_hash altera_set_dr_post 2 54291 _000714_hash NULL -+_000715_hash altera_set_dr_pre 2 64862 _000715_hash NULL -+_000716_hash altera_set_ir_post 2 20948 _000716_hash NULL -+_000717_hash altera_set_ir_pre 2 54103 _000717_hash NULL -+_000718_hash altera_swap_dr 2 50090 _000718_hash NULL -+_000719_hash altera_swap_ir 2 9194 _000719_hash &_000696_hash -+_000720_hash amd_create_gatt_pages 1 20537 _000720_hash NULL -+_000721_hash aoechr_write 3 62883 _001352_hash NULL nohasharray -+_000722_hash applesmc_create_nodes 2 49392 _000722_hash NULL -+_000723_hash array_zalloc 1-2 7519 _000723_hash NULL -+_000725_hash arvo_sysfs_read 6 31617 _000725_hash NULL -+_000726_hash arvo_sysfs_write 6 3311 _000726_hash NULL -+_000727_hash asd_store_update_bios 4 10165 _000727_hash NULL -+_000728_hash ata_host_alloc 2 46094 _000728_hash NULL -+_000729_hash atalk_sendmsg 4 21677 _000729_hash NULL -+_000730_hash ath6kl_cfg80211_connect_event 7-9-8 13443 _000730_hash NULL -+_000731_hash ath6kl_mgmt_tx 9 21153 _000731_hash NULL -+_000732_hash ath6kl_wmi_roam_tbl_event_rx 3 43440 _000732_hash NULL -+_000733_hash ath6kl_wmi_send_mgmt_cmd 7 17347 _000733_hash NULL -+_000734_hash ath_descdma_setup 5 12257 _000734_hash NULL -+_000735_hash ath_rx_edma_init 2 65483 _000735_hash NULL -+_000736_hash ati_create_gatt_pages 1 4722 _003185_hash NULL nohasharray -+_000737_hash au0828_init_isoc 2-3 61917 _000737_hash NULL -+_000739_hash audit_init_entry 1 38644 _000739_hash NULL -+_000740_hash ax25_sendmsg 4 62770 _000740_hash NULL -+_000741_hash b1_alloc_card 1 36155 _000741_hash NULL -+_000742_hash b43_nphy_load_samples 3 36481 _000742_hash NULL -+_000743_hash bio_copy_user_iov 4 37660 _000743_hash NULL -+_000744_hash __bio_map_kern 2-3 47379 _000744_hash NULL -+_000746_hash blk_register_region 1-2 51424 _000746_hash NULL -+_000748_hash bm_entry_write 3 28338 _000748_hash NULL -+_000749_hash bm_realloc_pages 2 9431 _000749_hash NULL -+_000750_hash bm_register_write 3 9893 _000750_hash &_000569_hash -+_000751_hash bm_status_write 3 12964 _000751_hash NULL -+_000752_hash br_mdb_rehash 2 42643 _000752_hash NULL -+_000753_hash btrfs_copy_from_user 3-1 43806 _000753_hash NULL -+_000754_hash btrfs_insert_delayed_dir_index 4 63720 _000754_hash NULL -+_000755_hash __btrfs_map_block 3 49839 _000755_hash NULL -+_000756_hash __c4iw_init_resource_fifo 3 8334 _000756_hash NULL -+_000757_hash cache_downcall 3 13666 _000757_hash NULL -+_000758_hash cache_slow_downcall 2 8570 _000758_hash NULL -+_000759_hash ca_extend 2 64541 _000759_hash NULL -+_000760_hash caif_seqpkt_sendmsg 4 22961 _000760_hash NULL -+_000761_hash caif_stream_sendmsg 4 9110 _000761_hash NULL -+_000762_hash carl9170_cmd_buf 3 950 _000762_hash NULL -+_000763_hash cdev_add 2-3 38176 _000763_hash NULL -+_000765_hash cdrom_read_cdda 4 50478 _000765_hash NULL -+_000766_hash ceph_dns_resolve_name 1-2 62488 _000766_hash NULL -+_000767_hash ceph_msgpool_get 2 54258 _000767_hash NULL -+_000768_hash cfg80211_connect_result 4-6 56515 _000768_hash NULL -+_000770_hash cfg80211_disconnected 4 57 _000770_hash NULL -+_000771_hash cfg80211_inform_bss 8 19332 _000771_hash NULL -+_000772_hash cfg80211_inform_bss_frame 4 41078 _000772_hash NULL -+_000773_hash cfg80211_mlme_register_mgmt 5 19852 _000773_hash NULL -+_000774_hash cfg80211_roamed_bss 4-6 50198 _000774_hash NULL -+_000776_hash cifs_readdata_alloc 1 50318 _000776_hash NULL -+_000777_hash cifs_readv_from_socket 3 19109 _000777_hash NULL -+_000778_hash cifs_writedata_alloc 1 32880 _003119_hash NULL nohasharray -+_000779_hash cnic_alloc_dma 3 34641 _000779_hash NULL -+_000780_hash configfs_write_file 3 61621 _000780_hash NULL -+_000781_hash construct_key 3 11329 _000781_hash NULL -+_000782_hash context_alloc 3 24645 _000782_hash NULL -+_000783_hash copy_to_user 3 57835 _000783_hash NULL -+_000784_hash create_attr_set 1 22861 _000784_hash NULL -+_000785_hash create_bounce_buffer 3 39155 _000785_hash NULL -+_000786_hash create_gpadl_header 2 19064 _000786_hash NULL -+_000787_hash _create_sg_bios 4 31244 _000787_hash NULL -+_000788_hash cryptd_alloc_instance 2-3 18048 _000788_hash NULL -+_000790_hash crypto_ahash_setkey 3 55134 _000790_hash NULL -+_000791_hash crypto_alloc_instance2 3 25277 _000791_hash NULL -+_000792_hash crypto_shash_setkey 3 60483 _000792_hash NULL -+_000793_hash cx231xx_init_bulk 3-2 47024 _000793_hash NULL -+_000794_hash cx231xx_init_isoc 2-3 56453 _000794_hash NULL -+_000796_hash cx231xx_init_vbi_isoc 2-3 28053 _000796_hash NULL -+_000798_hash cxgb_alloc_mem 1 24007 _000798_hash NULL -+_000799_hash cxgbi_device_portmap_create 3 25747 _000799_hash NULL -+_000800_hash cxgbi_device_register 1-2 36746 _000800_hash NULL -+_000802_hash __cxio_init_resource_fifo 3 23447 _000802_hash NULL -+_000803_hash dccp_sendmsg 4 56058 _000803_hash NULL -+_000804_hash ddp_make_gl 1 12179 _000804_hash NULL -+_000805_hash depth_write 3 3021 _000805_hash NULL -+_000806_hash dev_irnet_write 3 11398 _000806_hash NULL -+_000807_hash dev_set_alias 3 50084 _000807_hash NULL -+_000808_hash dev_write 3 7708 _000808_hash NULL -+_000809_hash dfs_global_file_write 3 6112 _000809_hash NULL -+_000810_hash dgram_sendmsg 4 45679 _000810_hash NULL -+_000811_hash disconnect 4 32521 _000811_hash NULL -+_000812_hash dma_attach 6-7 50831 _000812_hash NULL -+_000814_hash dn_sendmsg 4 38390 _000814_hash NULL -+_000815_hash do_dccp_setsockopt 5 54377 _003160_hash NULL nohasharray -+_000816_hash do_jffs2_setxattr 5 25910 _000816_hash NULL -+_000817_hash do_msgsnd 4 1387 _000817_hash NULL -+_000818_hash do_raw_setsockopt 5 55215 _000818_hash NULL -+_000819_hash do_readv_writev 4 51849 _000819_hash NULL -+_000820_hash do_sync 1 9604 _000820_hash NULL -+_000821_hash dup_array 3 33551 _000821_hash NULL -+_000822_hash dvb_audio_write 3 51275 _000822_hash NULL -+_000823_hash dvb_ca_en50221_init 4 45718 _000823_hash NULL -+_000824_hash dvb_video_write 3 754 _000824_hash NULL -+_000825_hash econet_sendmsg 4 51430 _000825_hash NULL -+_000826_hash ecryptfs_decode_and_decrypt_filename 5 10379 _000826_hash NULL -+_000827_hash ecryptfs_encrypt_and_encode_filename 6 2109 _000827_hash NULL -+_000828_hash ecryptfs_send_message_locked 2 31801 _000828_hash NULL -+_000829_hash edac_device_alloc_ctl_info 1 5941 _000829_hash NULL -+_000830_hash edac_mc_alloc 1 54846 _000830_hash NULL -+_000831_hash edac_pci_alloc_ctl_info 1 63388 _000831_hash NULL -+_000832_hash efivar_create_sysfs_entry 2 19485 _000832_hash NULL -+_000833_hash em28xx_alloc_isoc 4 46892 _000833_hash NULL -+_000834_hash enable_write 3 30456 _000834_hash NULL -+_000835_hash enclosure_register 3 57412 _000835_hash NULL -+_000836_hash ext4_kvzalloc 1 47605 _000836_hash NULL -+_000837_hash extend_netdev_table 2 31680 _000837_hash NULL -+_000838_hash __feat_register_sp 6 64712 _000838_hash NULL -+_000839_hash __ffs_ep0_read_events 3 48868 _000839_hash NULL -+_000840_hash ffs_ep0_write 3 9438 _000840_hash NULL -+_000841_hash ffs_epfile_read 3 18775 _000841_hash NULL -+_000842_hash ffs_epfile_write 3 48014 _000842_hash NULL -+_000843_hash fib_info_hash_alloc 1 9075 _000843_hash NULL -+_000844_hash fillonedir 3 41746 _000844_hash NULL -+_000845_hash flexcop_device_kmalloc 1 54793 _000845_hash NULL -+_000846_hash frame_alloc 4 15981 _000846_hash NULL -+_000847_hash fw_node_create 2 9559 _000847_hash NULL -+_000848_hash garmin_read_process 3 27509 _000848_hash NULL -+_000849_hash garp_request_join 4 7471 _000849_hash NULL -+_000850_hash get_derived_key 4 61100 _000850_hash NULL -+_000851_hash get_entry 4 16003 _000851_hash NULL -+_000852_hash get_free_de 2 33714 _000852_hash NULL -+_000853_hash get_new_cssid 2 51665 _000853_hash NULL -+_000854_hash getxattr 4 24398 _003728_hash NULL nohasharray -+_000855_hash gspca_dev_probe2 4 59833 _000855_hash NULL -+_000856_hash hcd_alloc_coherent 5 55862 _000856_hash NULL -+_000857_hash hci_sock_sendmsg 4 37420 _000857_hash NULL -+_000858_hash hid_register_field 2-3 4874 _000858_hash NULL -+_000860_hash hid_report_raw_event 4 7024 _000860_hash NULL -+_000861_hash hpi_alloc_control_cache 1 35351 _000861_hash NULL -+_000862_hash hugetlbfs_read_actor 2-5-4 34547 _000862_hash NULL -+_000865_hash hvc_alloc 4 12579 _000865_hash NULL -+_000866_hash __hwahc_dev_set_key 5 46328 _000866_hash NULL -+_000867_hash i2400m_zrealloc_2x 3 54166 _001430_hash NULL nohasharray -+_000868_hash ib_alloc_device 1 26483 _000868_hash NULL -+_000869_hash ib_create_send_mad 5 1196 _000869_hash NULL -+_000870_hash ibmasm_new_command 2 25714 _000870_hash NULL -+_000871_hash ib_send_cm_drep 3 50186 _000871_hash NULL -+_000872_hash ib_send_cm_mra 4 60202 _003875_hash NULL nohasharray -+_000873_hash ib_send_cm_rtu 3 63138 _000873_hash NULL -+_000874_hash ieee80211_key_alloc 3 19065 _000874_hash NULL -+_000875_hash ieee80211_mgmt_tx 9 46860 _000875_hash NULL -+_000876_hash ieee80211_send_probe_req 6-4 6924 _000876_hash NULL -+_000877_hash if_writecmd 2 815 _000877_hash NULL -+_000878_hash init_bch 1-2 64130 _000878_hash NULL -+_000880_hash init_ipath 1 48187 _000880_hash NULL -+_000881_hash init_list_set 2-3 39188 _000881_hash NULL -+_000883_hash init_q 4 132 _000883_hash NULL -+_000884_hash init_state 2 60165 _000884_hash NULL -+_000885_hash init_tag_map 3 57515 _000885_hash NULL -+_000886_hash input_ff_create 2 21240 _000886_hash NULL -+_000887_hash input_mt_init_slots 2 31183 _000887_hash NULL -+_000888_hash interfaces 2 38859 _000888_hash NULL -+_000889_hash ioat2_alloc_ring 2 11172 _000889_hash NULL -+_000890_hash ip_generic_getfrag 3-4 12187 _000890_hash NULL -+_000892_hash ipr_alloc_ucode_buffer 1 40199 _000892_hash NULL -+_000893_hash ip_set_alloc 1 57953 _000893_hash NULL -+_000894_hash ipv6_flowlabel_opt 3 58135 _001125_hash NULL nohasharray -+_000895_hash ipv6_renew_options 5 28867 _000895_hash NULL -+_000896_hash ipxrtr_route_packet 4 54036 _000896_hash NULL -+_000897_hash irda_sendmsg 4 4388 _000897_hash NULL -+_000898_hash irda_sendmsg_dgram 4 38563 _000898_hash NULL -+_000899_hash irda_sendmsg_ultra 4 42047 _000899_hash NULL -+_000900_hash irias_add_octseq_attrib 4 29983 _000900_hash NULL -+_000901_hash irq_alloc_generic_chip 2 26650 _000901_hash NULL -+_000902_hash irq_domain_add_linear 2 29236 _000902_hash NULL -+_000903_hash iscsi_alloc_session 3 49390 _000903_hash NULL -+_000904_hash iscsi_create_conn 2 50425 _000904_hash NULL -+_000905_hash iscsi_create_endpoint 1 15193 _000905_hash NULL -+_000906_hash iscsi_create_iface 5 38510 _000906_hash NULL -+_000907_hash iscsi_decode_text_input 4 58292 _000907_hash NULL -+_000908_hash iscsi_pool_init 2-4 54913 _000908_hash NULL -+_000910_hash iscsit_dump_data_payload 2 38683 _000910_hash NULL -+_000911_hash isdn_write 3 45863 _000911_hash NULL -+_000912_hash isku_receive 4 54130 _000912_hash NULL -+_000913_hash isku_send 4 41542 _000913_hash NULL -+_000914_hash islpci_mgt_transaction 5 23610 _000914_hash NULL -+_000915_hash iso_sched_alloc 1 13377 _002079_hash NULL nohasharray -+_000916_hash ivtv_v4l2_write 3 39226 _000916_hash NULL -+_000917_hash iwl_trans_txq_alloc 3 36147 _000917_hash NULL -+_000918_hash iwmct_fw_parser_init 4 37876 _000918_hash NULL -+_000919_hash iwm_notif_send 6 12295 _000919_hash NULL -+_000920_hash iwm_ntf_calib_res 3 11686 _000920_hash NULL -+_000921_hash iwm_umac_set_config_var 4 17320 _000921_hash NULL -+_000922_hash ixgbe_alloc_q_vector 3-5 45428 _000922_hash NULL -+_000924_hash jbd2_journal_init_revoke 2 51088 _000924_hash NULL -+_000925_hash jffs2_write_dirent 5 37311 _000925_hash NULL -+_000926_hash journal_init_revoke 2 56933 _000926_hash NULL -+_000927_hash keyctl_instantiate_key 3 41855 _000927_hash NULL -+_000928_hash keyctl_instantiate_key_iov 3 16969 _000928_hash NULL -+_000929_hash __kfifo_from_user 3 20399 _000929_hash NULL -+_000930_hash kimage_crash_alloc 3 3233 _000930_hash NULL -+_000931_hash kimage_normal_alloc 3 31140 _000931_hash NULL -+_000932_hash kmem_realloc 2 37489 _000932_hash NULL -+_000933_hash kmem_zalloc 1 11510 _000933_hash NULL -+_000934_hash koneplus_send 4 18226 _000934_hash NULL -+_000935_hash koneplus_sysfs_read 6 42792 _000935_hash NULL -+_000936_hash kovaplus_send 4 10009 _000936_hash NULL -+_000937_hash kvm_read_guest_page_mmu 6 37611 _000937_hash NULL -+_000938_hash kvm_set_irq_routing 3 48704 _000938_hash NULL -+_000939_hash kvm_write_guest_cached 4 11106 _000939_hash NULL -+_000940_hash kvm_write_guest_page 5 63555 _002809_hash NULL nohasharray -+_000941_hash l2cap_skbuff_fromiovec 3-4 35003 _000941_hash NULL -+_000943_hash l2tp_ip_sendmsg 4 50411 _000943_hash NULL -+_000944_hash l2tp_session_create 1 25286 _000944_hash NULL -+_000945_hash lc_create 3 48662 _000945_hash NULL -+_000946_hash leaf_dealloc 3 29566 _000946_hash NULL -+_000947_hash linear_conf 2 23485 _003314_hash NULL nohasharray -+_000948_hash lirc_buffer_init 2-3 53282 _000948_hash NULL -+_000950_hash llc_ui_sendmsg 4 24987 _000950_hash NULL -+_000951_hash lpfc_sli4_queue_alloc 3 62646 _000951_hash NULL -+_000952_hash mce_request_packet 3 1073 _000952_hash NULL -+_000953_hash mdiobus_alloc_size 1 52259 _000953_hash NULL -+_000954_hash media_entity_init 2-4 15870 _001556_hash NULL nohasharray -+_000956_hash memstick_alloc_host 1 142 _000956_hash NULL -+_000957_hash mesh_table_alloc 1 22305 _000957_hash NULL -+_000958_hash mfd_add_devices 4 56753 _000958_hash NULL -+_000959_hash mISDN_sock_sendmsg 4 41035 _000959_hash NULL -+_000960_hash mmc_alloc_host 1 48097 _000960_hash NULL -+_000961_hash mmc_test_alloc_mem 3-2 28102 _000961_hash NULL -+_000962_hash mpi_alloc 1 18094 _000962_hash NULL -+_000963_hash mpihelp_mul_karatsuba_case 5-3 23918 _003873_hash NULL nohasharray -+_000964_hash mpihelp_mul_n 4 16405 _000964_hash NULL -+_000965_hash mpi_set_bit 2 15104 _000965_hash NULL -+_000966_hash mpi_set_highbit 2 37327 _001420_hash NULL nohasharray -+_000967_hash mtd_concat_create 2 14416 _000967_hash NULL -+_000968_hash mvumi_alloc_mem_resource 3 47750 _000968_hash NULL -+_000969_hash mwifiex_11n_create_rx_reorder_tbl 4 63806 _000969_hash NULL -+_000970_hash mwifiex_alloc_sdio_mpa_buffers 2-3 60961 _000970_hash NULL -+_000972_hash mwl8k_cmd_set_beacon 4 23110 _000972_hash NULL -+_000973_hash neigh_hash_alloc 1 17595 _000973_hash NULL -+_000974_hash netlink_sendmsg 4 33708 _001172_hash NULL nohasharray -+_000975_hash netxen_alloc_sds_rings 2 13417 _000975_hash NULL -+_000976_hash new_bind_ctl 2 35324 _000976_hash NULL -+_000977_hash new_dir 3 31919 _000977_hash NULL -+_000978_hash new_tape_buffer 2 32866 _000978_hash NULL -+_000979_hash nfc_llcp_build_tlv 3 19536 _000979_hash NULL -+_000980_hash nfc_llcp_send_i_frame 3 59130 _000980_hash NULL -+_000981_hash nfs4_alloc_slots 1 2454 _003914_hash NULL nohasharray -+_000982_hash nfsctl_transaction_write 3 64800 _000982_hash NULL -+_000983_hash nfs_idmap_request_key 3 30208 _000983_hash NULL -+_000984_hash nfs_readdata_alloc 1 9990 _000984_hash NULL -+_000985_hash nfs_writedata_alloc 1 62868 _000985_hash NULL -+_000986_hash nl_pid_hash_zalloc 1 23314 _000986_hash NULL -+_000987_hash nr_sendmsg 4 53656 _000987_hash NULL -+_000988_hash nsm_create_handle 4 38060 _000988_hash NULL -+_000989_hash ntfs_copy_from_user_iovec 3-6 49829 _000989_hash NULL -+_000991_hash ntfs_file_buffered_write 4-6 41442 _000991_hash NULL -+_000993_hash __ntfs_malloc 1 34022 _000993_hash NULL -+_000994_hash nvme_alloc_queue 3 46865 _000994_hash NULL -+_000995_hash ocfs2_acl_from_xattr 2 21604 _000995_hash NULL -+_000996_hash ocfs2_control_message 3 19564 _000996_hash NULL -+_000997_hash opera1_usb_i2c_msgxfer 4 64521 _000997_hash NULL -+_000998_hash _ore_get_io_state 3-5-4 2166 _000998_hash NULL -+_000999_hash orig_hash_add_if 2 53676 _000999_hash NULL -+_001000_hash orig_hash_del_if 2 45080 _001000_hash NULL -+_001001_hash orinoco_set_key 5-7 17878 _001001_hash NULL -+_001003_hash osdmap_set_max_osd 2 57630 _003740_hash NULL nohasharray -+_001004_hash _osd_realloc_seg 3 54352 _001004_hash NULL -+_001005_hash OSDSetBlock 2-4 38986 _001005_hash NULL -+_001007_hash osst_execute 7-6 17607 _001007_hash NULL -+_001008_hash osst_write 3 31581 _001008_hash NULL -+_001009_hash otp_read 2-5-4 10594 _001009_hash NULL -+_001012_hash ovs_vport_alloc 1 33475 _001012_hash NULL -+_001013_hash packet_sendmsg_spkt 4 28885 _001013_hash NULL -+_001014_hash pair_device 4 61175 _001708_hash NULL nohasharray -+_001015_hash pccard_store_cis 6 18176 _001015_hash NULL -+_001016_hash pci_add_cap_save_buffer 3 3426 _001016_hash NULL -+_001017_hash pcnet32_realloc_rx_ring 3 36598 _001017_hash NULL -+_001018_hash pcnet32_realloc_tx_ring 3 38428 _001018_hash NULL -+_001019_hash pcpu_mem_zalloc 1 22948 _001019_hash NULL -+_001020_hash pep_sendmsg 4 62524 _001020_hash NULL -+_001021_hash pfkey_sendmsg 4 47394 _001021_hash NULL -+_001022_hash pidlist_resize 2 496 _001022_hash NULL -+_001023_hash pin_code_reply 4 46510 _001023_hash NULL -+_001024_hash ping_getfrag 3-4 8360 _001024_hash NULL -+_001026_hash pipe_set_size 2 5204 _001026_hash NULL -+_001027_hash pkt_bio_alloc 1 48284 _001027_hash NULL -+_001028_hash platform_create_bundle 4-6 12785 _001028_hash NULL -+_001030_hash play_iframe 3 8219 _001030_hash NULL -+_001031_hash pm8001_store_update_fw 4 55716 _001031_hash NULL -+_001032_hash pmcraid_alloc_sglist 1 9864 _001032_hash NULL -+_001033_hash pn533_dep_link_up 5 7659 _001033_hash NULL -+_001034_hash pnp_alloc 1 24869 _001419_hash NULL nohasharray -+_001035_hash pn_sendmsg 4 12640 _001035_hash NULL -+_001036_hash pppoe_sendmsg 4 48039 _001036_hash NULL -+_001037_hash pppol2tp_sendmsg 4 56420 _001037_hash NULL -+_001038_hash process_vm_rw 3-5 47533 _001038_hash NULL -+_001040_hash process_vm_rw_single_vec 1-2 26213 _001040_hash NULL -+_001042_hash proc_write 3 51003 _001042_hash NULL -+_001043_hash profile_load 3 58267 _001043_hash NULL -+_001044_hash profile_remove 3 8556 _001044_hash NULL -+_001045_hash profile_replace 3 14652 _001045_hash NULL -+_001046_hash pscsi_get_bio 1 56103 _001046_hash NULL -+_001047_hash pyra_send 4 12061 _001047_hash NULL -+_001048_hash qc_capture 3 19298 _001048_hash NULL -+_001049_hash qla4xxx_alloc_work 2 44813 _001049_hash NULL -+_001050_hash qlcnic_alloc_msix_entries 2 46160 _001050_hash NULL -+_001051_hash qlcnic_alloc_sds_rings 2 26795 _001051_hash NULL -+_001052_hash queue_received_packet 5 9657 _001052_hash NULL -+_001053_hash raw_send_hdrinc 4 58803 _001053_hash NULL -+_001054_hash raw_sendmsg 4 23078 _001054_hash &_000022_hash -+_001055_hash rawsock_sendmsg 4 60010 _001055_hash NULL -+_001056_hash rawv6_send_hdrinc 3 35425 _001056_hash NULL -+_001057_hash rb_alloc 1 3102 _001057_hash NULL -+_001058_hash rbd_alloc_coll 1 33678 _001058_hash NULL -+_001059_hash rbd_create_rw_ops 2 4605 _001059_hash NULL -+_001060_hash rds_ib_inc_copy_to_user 3 55007 _001060_hash NULL -+_001061_hash rds_iw_inc_copy_to_user 3 29214 _001061_hash NULL -+_001062_hash rds_message_alloc 1 10517 _001062_hash NULL -+_001063_hash rds_message_copy_from_user 3 45510 _001063_hash NULL -+_001064_hash rds_message_inc_copy_to_user 3 26540 _001064_hash NULL -+_001065_hash redrat3_transmit_ir 3 64244 _001065_hash NULL -+_001066_hash regcache_rbtree_insert_to_block 5 58009 _001066_hash NULL -+_001067_hash _regmap_raw_write 4 42652 _001067_hash NULL -+_001068_hash regmap_register_patch 3 21681 _001068_hash NULL -+_001069_hash relay_alloc_page_array 1 52735 _001069_hash NULL -+_001070_hash remove_uuid 4 64505 _001070_hash NULL -+_001071_hash reshape_ring 2 29147 _001071_hash NULL -+_001072_hash RESIZE_IF_NEEDED 2 56286 _001072_hash NULL -+_001073_hash resize_stripes 2 61650 _001073_hash NULL -+_001074_hash rfcomm_sock_sendmsg 4 37661 _003927_hash NULL nohasharray -+_001075_hash rose_sendmsg 4 20249 _001075_hash NULL -+_001076_hash rxrpc_send_data 5 21553 _001076_hash NULL -+_001077_hash rxrpc_setsockopt 5 50286 _001077_hash NULL -+_001078_hash saa7146_vmalloc_build_pgtable 2 19780 _001078_hash NULL -+_001079_hash saa7164_buffer_alloc_user 2 9627 _001079_hash NULL -+_001081_hash sco_send_frame 3 41815 _001081_hash NULL -+_001082_hash scsi_host_alloc 2 63041 _001082_hash NULL -+_001083_hash scsi_tgt_kspace_exec 8 9522 _001083_hash NULL -+_001084_hash sctp_sendmsg 4 61919 _001084_hash NULL -+_001085_hash sctp_setsockopt 5 44788 _001085_hash NULL -+_001086_hash sctp_setsockopt_connectx 3 6073 _001086_hash NULL -+_001087_hash sctp_setsockopt_connectx_old 3 22631 _001087_hash NULL -+_001088_hash sctp_tsnmap_init 2 36446 _001088_hash NULL -+_001089_hash sctp_user_addto_chunk 2-3 62047 _001089_hash NULL -+_001091_hash security_context_to_sid 2 19839 _001091_hash NULL -+_001092_hash security_context_to_sid_default 2 3492 _003366_hash NULL nohasharray -+_001093_hash security_context_to_sid_force 2 20724 _001093_hash NULL -+_001094_hash selinux_transaction_write 3 59038 _001094_hash NULL -+_001095_hash sel_write_access 3 51704 _001095_hash NULL -+_001096_hash sel_write_create 3 11353 _001096_hash NULL -+_001097_hash sel_write_member 3 28800 _001097_hash NULL -+_001098_hash sel_write_relabel 3 55195 _001098_hash NULL -+_001099_hash sel_write_user 3 45060 _001099_hash NULL -+_001100_hash __seq_open_private 3 40715 _001100_hash NULL -+_001101_hash serverworks_create_gatt_pages 1 46582 _001101_hash NULL -+_001102_hash set_connectable 4 56458 _001102_hash NULL -+_001103_hash set_dev_class 4 39645 _001697_hash NULL nohasharray -+_001104_hash set_discoverable 4 48141 _001104_hash NULL -+_001105_hash setkey 3 14987 _001105_hash NULL -+_001106_hash set_le 4 30581 _001106_hash NULL -+_001107_hash set_link_security 4 4502 _001107_hash NULL -+_001108_hash set_local_name 4 55757 _001108_hash NULL -+_001109_hash set_powered 4 12129 _001109_hash NULL -+_001110_hash set_ssp 4 62411 _001110_hash NULL -+_001111_hash sg_build_sgat 3 60179 _001111_hash &_000305_hash -+_001112_hash sg_read_oxfer 3 51724 _001112_hash NULL -+_001113_hash shmem_xattr_set 4 11843 _001113_hash NULL -+_001114_hash simple_alloc_urb 3 60420 _001114_hash NULL -+_001115_hash sisusb_send_bridge_packet 2 11649 _001115_hash NULL -+_001116_hash sisusb_send_packet 2 20891 _001116_hash NULL -+_001117_hash skb_add_data_nocache 4 4682 _001117_hash NULL -+_001118_hash skb_copy_datagram_from_iovec 2-5-4 52014 _001118_hash NULL -+_001121_hash skb_copy_to_page_nocache 6 58624 _001121_hash NULL -+_001122_hash sk_chk_filter 2 42095 _001122_hash NULL -+_001123_hash skcipher_sendmsg 4 30290 _001123_hash NULL -+_001124_hash sl_change_mtu 2 7396 _001124_hash NULL -+_001125_hash slhc_init 1-2 58135 _001125_hash &_000894_hash -+_001127_hash sm501_create_subdev 3-4 48668 _003678_hash NULL nohasharray -+_001129_hash smk_write_access 3 49561 _001129_hash NULL -+_001130_hash snapshot_write 3 28351 _001130_hash NULL -+_001131_hash snd_ac97_pcm_assign 2 30218 _001131_hash NULL -+_001132_hash snd_card_create 4 64418 _001411_hash NULL nohasharray -+_001133_hash snd_emux_create_port 3 42533 _001133_hash NULL -+_001134_hash snd_gus_dram_write 4 38784 _001134_hash NULL -+_001135_hash snd_midi_channel_alloc_set 1 28153 _001135_hash NULL -+_001136_hash _snd_pcm_lib_alloc_vmalloc_buffer 2 17820 _001136_hash NULL -+_001137_hash snd_pcm_oss_sync1 2 45298 _001137_hash NULL -+_001138_hash snd_pcm_oss_write 3 38108 _001138_hash NULL -+_001139_hash snd_pcm_plugin_build 5 25505 _001139_hash NULL -+_001140_hash snd_rawmidi_kernel_write 3 25106 _001140_hash NULL -+_001141_hash snd_rawmidi_write 3 28008 _001141_hash NULL -+_001142_hash snd_rme32_playback_copy 5 43732 _001142_hash NULL -+_001143_hash snd_rme96_playback_copy 5 13111 _001143_hash NULL -+_001144_hash snd_seq_device_new 4 31753 _001144_hash NULL -+_001145_hash snd_seq_oss_readq_new 2 14283 _001145_hash NULL -+_001146_hash snd_vx_create 4 40948 _001146_hash NULL -+_001147_hash sock_setsockopt 5 50088 _001147_hash NULL -+_001148_hash sound_write 3 5102 _001148_hash NULL -+_001149_hash _sp2d_alloc 1-3-2 16944 _001149_hash NULL -+_001150_hash spi_alloc_master 2 45223 _001150_hash NULL -+_001151_hash spidev_message 3 5518 _001151_hash NULL -+_001152_hash spi_register_board_info 2 35651 _001152_hash NULL -+_001153_hash squashfs_cache_init 2 41656 _001153_hash NULL -+_001154_hash squashfs_read_data 6 59440 _001154_hash NULL -+_001155_hash srp_alloc_iu 2 44227 _001155_hash NULL -+_001156_hash srp_iu_pool_alloc 2 17920 _001156_hash NULL -+_001157_hash srp_ring_alloc 2 26760 _001157_hash NULL -+_001159_hash start_isoc_chain 2 565 _001159_hash NULL -+_001160_hash stk_prepare_sio_buffers 2 57168 _001160_hash NULL -+_001161_hash store_iwmct_log_level 4 60209 _001161_hash NULL -+_001162_hash store_iwmct_log_level_fw 4 1974 _001162_hash NULL -+_001163_hash st_write 3 16874 _001163_hash NULL -+_001164_hash svc_pool_map_alloc_arrays 2 47181 _001164_hash NULL -+_001165_hash symtab_init 2 61050 _001165_hash NULL -+_001166_hash sys_bind 3 10799 _001166_hash NULL -+_001167_hash sys_connect 3 15291 _003291_hash NULL nohasharray -+_001168_hash sys_flistxattr 3 41407 _001168_hash NULL -+_001169_hash sys_fsetxattr 4 49736 _001169_hash NULL -+_001170_hash sysfs_write_file 3 57116 _001170_hash NULL -+_001171_hash sys_ipc 3 4889 _001171_hash NULL -+_001172_hash sys_keyctl 4 33708 _001172_hash &_000974_hash -+_001173_hash sys_listxattr 3 27833 _001173_hash NULL -+_001174_hash sys_llistxattr 3 4532 _001174_hash NULL -+_001175_hash sys_lsetxattr 4 61177 _001175_hash NULL -+_001176_hash sys_mq_timedsend 3 57661 _001176_hash NULL -+_001177_hash sys_sched_setaffinity 2 32046 _001177_hash NULL -+_001178_hash sys_semop 3 39457 _001178_hash NULL -+_001179_hash sys_sendto 6 20809 _001179_hash NULL -+_001180_hash sys_setxattr 4 37880 _001180_hash NULL -+_001181_hash t4_alloc_mem 1 32342 _001181_hash NULL -+_001182_hash tcf_hash_create 4 54360 _001182_hash NULL -+_001183_hash __team_options_register 3 63941 _001183_hash NULL -+_001184_hash test_unaligned_bulk 3 52333 _001184_hash NULL -+_001185_hash tifm_alloc_adapter 1 10903 _001185_hash NULL -+_001186_hash timeout_write 3 50991 _001186_hash NULL -+_001187_hash tipc_link_send_sections_fast 4 37920 _001187_hash NULL -+_001188_hash tipc_subseq_alloc 1 5957 _001188_hash NULL -+_001189_hash tm6000_read_write_usb 7 50774 _002917_hash NULL nohasharray -+_001190_hash tnode_alloc 1 49407 _001190_hash NULL -+_001191_hash tomoyo_commit_ok 2 20167 _001191_hash NULL -+_001192_hash tomoyo_scan_bprm 2-4 15642 _001192_hash NULL -+_001194_hash tps65910_i2c_write 3 39531 _001194_hash NULL -+_001195_hash ts_write 3 64336 _001195_hash NULL -+_001196_hash ttusb2_msg 4 3100 _001196_hash NULL -+_001197_hash tty_write 3 5494 _001197_hash NULL -+_001198_hash ubi_dbg_check_all_ff 4 59810 _001198_hash NULL -+_001199_hash ubi_dbg_check_write 5 48525 _001199_hash NULL -+_001200_hash ubifs_setxattr 4 59650 _001370_hash NULL nohasharray -+_001201_hash udf_sb_alloc_partition_maps 2 62313 _001201_hash NULL -+_001202_hash udplite_getfrag 3-4 14479 _001202_hash NULL -+_001204_hash ulong_write_file 3 26485 _001204_hash NULL -+_001205_hash unix_dgram_sendmsg 4 45699 _001205_hash NULL -+_001206_hash unix_stream_sendmsg 4 61455 _001206_hash NULL -+_001207_hash unlink_queued 3-4 645 _001207_hash NULL -+_001208_hash update_pmkid 4 2481 _001208_hash NULL -+_001209_hash usb_alloc_coherent 2 65444 _001209_hash NULL -+_001210_hash uvc_alloc_buffers 2-3 9656 _001210_hash NULL -+_001211_hash uvc_alloc_entity 3-4 20836 _001211_hash NULL -+_001212_hash v4l2_ctrl_new 7 38725 _001212_hash NULL -+_001213_hash v4l2_event_subscribe 3 19510 _001213_hash NULL -+_001214_hash vb2_read 3 42703 _001214_hash NULL -+_001215_hash vb2_write 3 31948 _001215_hash NULL -+_001216_hash vc_resize 2-3 3585 _001216_hash NULL -+_001218_hash __vhost_add_used_n 3 26554 _001218_hash NULL -+_001219_hash __videobuf_alloc_vb 1 27062 _001219_hash NULL -+_001220_hash videobuf_dma_init_kernel 3 6963 _001220_hash NULL -+_001221_hash virtqueue_add_buf 3-4 59470 _001221_hash NULL -+_001223_hash vmalloc 1 15464 _001223_hash NULL -+_001224_hash vmalloc_to_sg 2 58354 _001224_hash NULL -+_001225_hash vol_cdev_write 3 40915 _001225_hash NULL -+_001226_hash vxge_device_register 4 7752 _001226_hash NULL -+_001227_hash __vxge_hw_channel_allocate 3 55462 _001227_hash NULL -+_001228_hash vzalloc 1 47421 _001228_hash NULL -+_001229_hash vzalloc_node 1 23424 _001229_hash NULL -+_001230_hash wa_nep_queue 2 8858 _001230_hash NULL -+_001231_hash __wa_xfer_setup_segs 2 56725 _001231_hash NULL -+_001232_hash wiphy_new 2 2482 _001232_hash NULL -+_001233_hash wpan_phy_alloc 1 48056 _001233_hash NULL -+_001234_hash wusb_ccm_mac 7 32199 _001234_hash NULL -+_001235_hash x25_sendmsg 4 12487 _001235_hash NULL -+_001236_hash xfrm_hash_alloc 1 10997 _001236_hash NULL -+_001237_hash _xfs_buf_get_pages 2 46811 _001237_hash NULL -+_001238_hash xfs_da_buf_make 1 55845 _001238_hash NULL -+_001239_hash xfs_da_grow_inode_int 3 21785 _001239_hash NULL -+_001240_hash xfs_dir_cilookup_result 3 64288 _003139_hash NULL nohasharray -+_001241_hash xfs_iext_add_indirect_multi 3 32400 _001241_hash NULL -+_001242_hash xfs_iext_inline_to_direct 2 12384 _001242_hash NULL -+_001243_hash xfs_iroot_realloc 2 46826 _001243_hash NULL -+_001244_hash xhci_alloc_stream_info 3 63902 _001244_hash NULL -+_001245_hash xlog_recover_add_to_trans 4 62839 _001245_hash NULL -+_001246_hash xprt_alloc 2 1475 _001246_hash NULL -+_001247_hash xt_alloc_table_info 1 57903 _001247_hash NULL -+_001248_hash _zd_iowrite32v_async_locked 3 39034 _001248_hash NULL -+_001249_hash zd_usb_iowrite16v 3 49744 _001249_hash NULL -+_001250_hash acpi_ds_build_internal_package_obj 3 58271 _001250_hash NULL -+_001251_hash acpi_system_read_event 3 55362 _001251_hash NULL -+_001252_hash acpi_ut_create_buffer_object 1 42030 _001252_hash NULL -+_001253_hash acpi_ut_create_package_object 1 17594 _001253_hash NULL -+_001254_hash acpi_ut_create_string_object 1 15360 _001254_hash NULL -+_001255_hash ad7879_spi_multi_read 3 8218 _001255_hash NULL -+_001256_hash add_child 4 45201 _001256_hash NULL -+_001257_hash add_port 2 54941 _001257_hash NULL -+_001258_hash adu_read 3 24177 _001258_hash NULL -+_001259_hash afs_cell_create 2 27346 _001259_hash NULL -+_001260_hash agp_generic_alloc_user 1 9470 _001260_hash NULL -+_001261_hash alloc_agpphysmem_i8xx 1 39427 _001261_hash NULL -+_001262_hash allocate_cnodes 1 5329 _001262_hash NULL -+_001263_hash ___alloc_bootmem 1 11410 _001263_hash NULL -+_001264_hash __alloc_bootmem_nopanic 1 65397 _001264_hash NULL -+_001265_hash alloc_bulk_urbs_generic 5 12127 _001265_hash NULL -+_001266_hash alloc_candev 1-2 7776 _001266_hash NULL -+_001268_hash ____alloc_ei_netdev 1 51475 _001268_hash NULL -+_001269_hash alloc_etherdev_mqs 1 36450 _001269_hash NULL -+_001270_hash alloc_extent_buffer 3 52824 _001270_hash NULL -+_001271_hash alloc_fcdev 1 18780 _001271_hash NULL -+_001272_hash alloc_fddidev 1 15382 _001272_hash NULL -+_001273_hash alloc_hippi_dev 1 51320 _001273_hash NULL -+_001274_hash alloc_irdadev 1 19140 _001274_hash NULL -+_001275_hash alloc_ltalkdev 1 38071 _001275_hash NULL -+_001276_hash alloc_one_pg_vec_page 1 10747 _001276_hash NULL -+_001277_hash alloc_orinocodev 1 21371 _001277_hash NULL -+_001279_hash alloc_trdev 1 16399 _001279_hash NULL -+_001280_hash async_setkey 3 35521 _001280_hash NULL -+_001281_hash ata_host_alloc_pinfo 3 17325 _001281_hash NULL -+_001284_hash ath6kl_connect_event 7-9-8 14267 _001284_hash NULL -+_001285_hash ath6kl_fwlog_block_read 3 49836 _001285_hash NULL -+_001286_hash ath6kl_fwlog_read 3 32101 _001286_hash NULL -+_001287_hash ath_rx_init 2 43564 _001287_hash NULL -+_001288_hash ath_tx_init 2 60515 _001288_hash NULL -+_001289_hash atm_get_addr 3 31221 _001289_hash NULL -+_001290_hash av7110_ipack_init 2 46655 _001290_hash NULL -+_001291_hash bdx_rxdb_create 1 46525 _001291_hash NULL -+_001292_hash bdx_tx_db_init 2 41719 _001292_hash NULL -+_001293_hash bio_map_kern 3 64751 _001293_hash NULL -+_001294_hash bits_to_user 3-2 47733 _001294_hash NULL -+_001295_hash __blk_queue_init_tags 2 9778 _001295_hash NULL -+_001296_hash blk_queue_resize_tags 2 28670 _001296_hash NULL -+_001297_hash blk_rq_map_user_iov 5 16772 _001297_hash NULL -+_001298_hash bm_init 2 13529 _001298_hash NULL -+_001299_hash brcmf_alloc_wdev 1 60347 _001299_hash NULL -+_001300_hash btrfs_insert_dir_item 4 59304 _001300_hash NULL -+_001301_hash btrfs_map_block 3 64379 _001301_hash NULL -+_001302_hash c4_add_card 3 54968 _001302_hash NULL -+_001303_hash cache_read 3 24790 _001303_hash NULL -+_001304_hash cache_write 3 13589 _001304_hash NULL -+_001305_hash calc_hmac 3 32010 _001305_hash NULL -+_001306_hash ccid_getsockopt_builtin_ccids 2 53634 _001306_hash NULL -+_001307_hash ceph_copy_page_vector_to_user 4-3 31270 _001307_hash NULL -+_001308_hash ceph_read_dir 3 17005 _001308_hash NULL -+_001309_hash cfg80211_roamed 5-7 32632 _001309_hash NULL -+_001311_hash ci_ll_init 3 12930 _001311_hash NULL -+_001312_hash coda_psdev_read 3 35029 _001312_hash NULL -+_001313_hash construct_key_and_link 4 8321 _001313_hash NULL -+_001314_hash copy_counters_to_user 5 17027 _001824_hash NULL nohasharray -+_001315_hash copy_entries_to_user 1 52367 _001315_hash NULL -+_001316_hash copy_from_buf 4-2 27308 _001316_hash NULL -+_001317_hash copy_oldmem_page 3-1 26164 _001317_hash NULL -+_001318_hash copy_to_user_fromio 3 57432 _001318_hash NULL -+_001319_hash cryptd_hash_setkey 3 42781 _001319_hash NULL -+_001320_hash crypto_authenc_esn_setkey 3 6985 _001320_hash NULL -+_001321_hash crypto_authenc_setkey 3 80 _003311_hash NULL nohasharray -+_001322_hash cx18_copy_buf_to_user 4 22735 _001322_hash NULL -+_001324_hash cxgbi_ddp_reserve 4 30091 _001324_hash NULL -+_001325_hash datablob_hmac_append 3 40038 _001325_hash NULL -+_001326_hash datablob_hmac_verify 4 24786 _001326_hash NULL -+_001327_hash dataflash_read_fact_otp 3-2 33204 _001327_hash NULL -+_001328_hash dataflash_read_user_otp 3-2 14536 _001328_hash &_000201_hash -+_001329_hash dccp_feat_register_sp 5 17914 _001329_hash NULL -+_001330_hash ddb_input_read 3 9743 _001330_hash NULL -+_001331_hash dev_read 3 56369 _001331_hash NULL -+_001332_hash diva_os_copy_to_user 4 48508 _001332_hash NULL -+_001333_hash diva_os_malloc 2 16406 _001333_hash NULL -+_001334_hash dlm_dir_lookup 4 56662 _001334_hash NULL -+_001335_hash dm_vcalloc 1-2 16814 _001335_hash NULL -+_001337_hash do_proc_readlink 3 14096 _001337_hash NULL -+_001338_hash do_readlink 2 43518 _001338_hash NULL -+_001339_hash __do_replace 5 37227 _001339_hash NULL -+_001340_hash do_sigpending 2 9766 _001340_hash NULL -+_001341_hash drbd_setsockopt 5 16280 _001341_hash &_000371_hash -+_001342_hash dsp_buffer_alloc 2 11684 _001342_hash NULL -+_001343_hash dump_midi 3 51040 _001343_hash NULL -+_001344_hash dvb_dmxdev_set_buffer_size 2 55643 _001344_hash NULL -+_001345_hash dvb_dvr_set_buffer_size 2 9840 _001345_hash NULL -+_001346_hash dvb_ringbuffer_pkt_read_user 3-5-2 4303 _001346_hash NULL -+_001348_hash dvb_ringbuffer_read_user 3 56702 _001348_hash NULL -+_001349_hash ecryptfs_filldir 3 6622 _001349_hash NULL -+_001350_hash ecryptfs_readlink 3 40775 _001350_hash NULL -+_001351_hash ecryptfs_send_message 2 18322 _001351_hash NULL -+_001352_hash em28xx_init_isoc 4 62883 _001352_hash &_000721_hash -+_001353_hash et61x251_read 3 25420 _001353_hash NULL -+_001354_hash ext4_add_new_descs 3 19509 _001354_hash NULL -+_001355_hash fat_ioctl_filldir 3 36621 _001355_hash NULL -+_001356_hash fd_copyout 3 59323 _001356_hash NULL -+_001357_hash f_hidg_read 3 6238 _001357_hash NULL -+_001358_hash filldir 3 55137 _001358_hash NULL -+_001359_hash filldir64 3 46469 _001359_hash NULL -+_001360_hash fops_read 3 40672 _001360_hash NULL -+_001361_hash from_buffer 3 18625 _001361_hash NULL -+_001362_hash fsm_init 2 16134 _001362_hash NULL -+_001363_hash get_subdir 3 62581 _001363_hash NULL -+_001364_hash gspca_dev_probe 4 2570 _001364_hash NULL -+_001365_hash handle_received_packet 3 22457 _001365_hash NULL -+_001366_hash hash_setkey 3 48310 _001366_hash NULL -+_001367_hash hdlcdrv_register 2 6792 _001367_hash NULL -+_001368_hash hdpvr_read 3 9273 _001368_hash NULL -+_001369_hash hid_input_report 4 32458 _001369_hash NULL -+_001370_hash hidraw_read 3 59650 _001370_hash &_001200_hash -+_001371_hash HiSax_readstatus 2 15752 _001371_hash NULL -+_001373_hash __hwahc_op_set_gtk 4 42038 _001373_hash NULL -+_001374_hash __hwahc_op_set_ptk 5 36510 _001374_hash NULL -+_001375_hash ib_copy_to_udata 3 27525 _001375_hash NULL -+_001376_hash idetape_chrdev_read 3 2097 _001376_hash NULL -+_001377_hash ieee80211_alloc_hw 1 43829 _001377_hash NULL -+_001378_hash ieee80211_bss_info_update 4 13991 _001378_hash NULL -+_001379_hash ilo_read 3 32531 _001379_hash NULL -+_001380_hash init_map_ipmac 3-4 63896 _001380_hash NULL -+_001382_hash init_tid_tabs 2-4-3 13252 _001382_hash NULL -+_001385_hash iowarrior_read 3 53483 _001385_hash NULL -+_001386_hash ipv6_getsockopt_sticky 5 56711 _001386_hash NULL -+_001387_hash ipwireless_send_packet 4 8328 _001387_hash NULL -+_001388_hash ipx_sendmsg 4 1362 _001388_hash NULL -+_001389_hash iscsi_conn_setup 2 35159 _001389_hash NULL -+_001390_hash iscsi_create_session 3 51647 _001390_hash NULL -+_001391_hash iscsi_host_alloc 2 36671 _001391_hash NULL -+_001392_hash iscsi_session_setup 4-5 196 _001392_hash NULL -+_001394_hash iscsit_find_cmd_from_itt_or_dump 3 17194 _001701_hash NULL nohasharray -+_001395_hash isdn_ppp_read 4 50356 _001395_hash NULL -+_001396_hash isku_sysfs_read 6 58806 _001396_hash NULL -+_001397_hash isku_sysfs_write 6 49767 _001397_hash NULL -+_001398_hash iso_alloc_urb 4-5 45206 _001398_hash NULL -+_001400_hash ivtv_copy_buf_to_user 4 6159 _001400_hash NULL -+_001401_hash iwm_rx_handle 3 24899 _001401_hash NULL -+_001402_hash iwm_wdev_alloc 1 38415 _001402_hash NULL -+_001403_hash jbd2_alloc 1 41359 _001403_hash NULL -+_001404_hash jffs2_do_link 6 42048 _001404_hash NULL -+_001405_hash jffs2_do_unlink 4 62020 _001405_hash NULL -+_001406_hash jffs2_security_setxattr 4 62107 _001406_hash NULL -+_001407_hash jffs2_trusted_setxattr 4 17048 _001407_hash NULL -+_001408_hash jffs2_user_setxattr 4 10182 _001408_hash NULL -+_001409_hash kernel_setsockopt 5 35913 _001409_hash NULL -+_001410_hash keyctl_describe_key 3 36853 _001410_hash NULL -+_001411_hash keyctl_get_security 3 64418 _001411_hash &_001132_hash -+_001412_hash keyring_read 3 13438 _001412_hash NULL -+_001413_hash kfifo_copy_to_user 3 20646 _001413_hash NULL -+_001414_hash kmem_zalloc_large 1 56128 _001414_hash NULL -+_001415_hash kmp_init 2 41373 _001415_hash NULL -+_001416_hash koneplus_sysfs_write 6 35993 _001416_hash NULL -+_001417_hash kvm_clear_guest_page 4 2308 _001417_hash NULL -+_001418_hash kvm_read_nested_guest_page 5 13337 _001418_hash NULL -+_001419_hash l2cap_create_basic_pdu 3 24869 _003830_hash &_001034_hash nohasharray -+_001420_hash l2cap_create_connless_pdu 3 37327 _001420_hash &_000966_hash -+_001421_hash l2cap_create_iframe_pdu 3 51801 _001421_hash NULL -+_001422_hash __lgwrite 4 57669 _001422_hash NULL -+_001423_hash libfc_host_alloc 2 7917 _001423_hash NULL -+_001424_hash llcp_sock_sendmsg 4 1092 _001424_hash NULL -+_001425_hash macvtap_get_user 4 28185 _001425_hash NULL -+_001426_hash mcam_v4l_read 3 36513 _001426_hash NULL -+_001427_hash mce_async_out 3 58056 _001427_hash NULL -+_001428_hash mce_flush_rx_buffer 2 14976 _001428_hash NULL -+_001429_hash mdc800_device_read 3 22896 _001429_hash NULL -+_001430_hash memcpy_toiovec 3 54166 _001430_hash &_000867_hash -+_001431_hash memcpy_toiovecend 3-4 19736 _001431_hash NULL -+_001433_hash mgt_set_varlen 4 60916 _001433_hash NULL -+_001434_hash mlx4_en_create_rx_ring 3 62498 _001434_hash NULL -+_001435_hash mlx4_en_create_tx_ring 4 48501 _001435_hash NULL -+_001436_hash mon_bin_get_event 4 52863 _001436_hash NULL -+_001437_hash mousedev_read 3 47123 _001437_hash NULL -+_001438_hash move_addr_to_user 2 2868 _001438_hash NULL -+_001439_hash mpihelp_mul 5-3 27805 _001439_hash NULL -+_001441_hash mpi_lshift_limbs 2 9337 _001441_hash NULL -+_001442_hash msnd_fifo_alloc 2 23179 _001442_hash NULL -+_001443_hash mtdswap_init 2 55719 _001443_hash NULL -+_001444_hash neigh_hash_grow 2 17283 _001444_hash NULL -+_001445_hash nfs4_realloc_slot_table 2 22859 _001445_hash NULL -+_001446_hash nfs_idmap_get_key 2 39616 _001446_hash NULL -+_001447_hash nsm_get_handle 4 52089 _001447_hash NULL -+_001448_hash ntfs_malloc_nofs 1 49572 _001448_hash NULL -+_001449_hash ntfs_malloc_nofs_nofail 1 63631 _001449_hash NULL -+_001450_hash nvme_create_queue 3 170 _001450_hash NULL -+_001451_hash ocfs2_control_write 3 54737 _001451_hash NULL -+_001452_hash orinoco_add_extscan_result 3 18207 _001452_hash NULL -+_001454_hash override_release 2 52032 _001454_hash NULL -+_001455_hash packet_snd 3 13634 _001455_hash NULL -+_001456_hash pcbit_stat 2 27364 _001456_hash NULL -+_001457_hash pcpu_extend_area_map 2 12589 _001457_hash NULL -+_001458_hash pg_read 3 17276 _001458_hash NULL -+_001459_hash picolcd_debug_eeprom_read 3 14549 _001459_hash NULL -+_001460_hash pkt_alloc_packet_data 1 37928 _001460_hash NULL -+_001461_hash pmcraid_build_passthrough_ioadls 2 62034 _001461_hash NULL -+_001462_hash pms_capture 4 27142 _001462_hash NULL -+_001463_hash posix_clock_register 2 5662 _001463_hash NULL -+_001464_hash printer_read 3 54851 _001464_hash NULL -+_001465_hash __proc_file_read 3 54978 _001465_hash NULL -+_001466_hash pt_read 3 49136 _001466_hash NULL -+_001467_hash put_cmsg 4 36589 _001467_hash NULL -+_001468_hash pvr2_ioread_read 3 10720 _001505_hash NULL nohasharray -+_001469_hash pwc_video_read 3 51735 _001469_hash NULL -+_001470_hash px_raw_event 4 49371 _001470_hash NULL -+_001471_hash qcam_read 3 13977 _001471_hash NULL -+_001472_hash rawv6_sendmsg 4 20080 _001472_hash NULL -+_001473_hash rds_sendmsg 4 40976 _001473_hash NULL -+_001474_hash read_flush 3 43851 _001474_hash NULL -+_001475_hash read_profile 3 27859 _001475_hash NULL -+_001476_hash read_vmcore 3 26501 _001476_hash NULL -+_001477_hash redirected_tty_write 3 65297 _001477_hash NULL -+_001478_hash __register_chrdev 2-3 54223 _001478_hash NULL -+_001480_hash regmap_raw_write 4 53803 _001480_hash NULL -+_001481_hash reiserfs_allocate_list_bitmaps 3 21732 _001481_hash NULL -+_001482_hash reiserfs_resize 2 34377 _001482_hash NULL -+_001483_hash request_key_auth_read 3 24109 _001483_hash NULL -+_001484_hash rfkill_fop_read 3 54711 _001484_hash NULL -+_001485_hash rng_dev_read 3 41581 _001485_hash NULL -+_001486_hash roccat_read 3 41093 _003519_hash NULL nohasharray -+_001487_hash sco_sock_sendmsg 4 62542 _001487_hash NULL -+_001488_hash scsi_register 2 49094 _001488_hash NULL -+_001489_hash sctp_getsockopt_events 2 3607 _001489_hash NULL -+_001490_hash sctp_getsockopt_maxburst 2 42941 _001490_hash NULL -+_001491_hash sctp_getsockopt_maxseg 2 10737 _001491_hash NULL -+_001492_hash sctpprobe_read 3 17741 _001492_hash NULL -+_001493_hash sdhci_alloc_host 2 7509 _001493_hash NULL -+_001494_hash selinux_inode_post_setxattr 4 26037 _001494_hash NULL -+_001495_hash selinux_inode_setsecurity 4 18148 _001495_hash NULL -+_001496_hash selinux_inode_setxattr 4 10708 _001496_hash NULL -+_001497_hash selinux_secctx_to_secid 2 63744 _001497_hash NULL -+_001498_hash selinux_setprocattr 4 55611 _001498_hash NULL -+_001499_hash sel_write_context 3 25726 _002397_hash NULL nohasharray -+_001500_hash seq_copy_in_user 3 18543 _001500_hash NULL -+_001501_hash seq_open_net 4 8968 _001594_hash NULL nohasharray -+_001502_hash seq_open_private 3 61589 _001502_hash NULL -+_001503_hash set_arg 3 42824 _001503_hash NULL -+_001504_hash sg_read 3 25799 _001504_hash NULL -+_001505_hash shash_async_setkey 3 10720 _001505_hash &_001468_hash -+_001506_hash shash_compat_setkey 3 12267 _001506_hash NULL -+_001507_hash shmem_setxattr 4 55867 _001507_hash NULL -+_001508_hash simple_read_from_buffer 2-5 55957 _001508_hash NULL -+_001511_hash sm_checker_extend 2 23615 _001511_hash NULL -+_001512_hash sn9c102_read 3 29305 _001512_hash NULL -+_001513_hash snd_es1938_capture_copy 5 25930 _001513_hash NULL -+_001514_hash snd_gus_dram_peek 4 9062 _001514_hash NULL -+_001515_hash snd_hdsp_capture_copy 5 4011 _001515_hash NULL -+_001516_hash snd_korg1212_copy_to 6 92 _001516_hash NULL -+_001517_hash snd_opl4_mem_proc_read 5 63774 _001517_hash NULL -+_001518_hash snd_pcm_alloc_vmalloc_buffer 2 44595 _001518_hash NULL -+_001519_hash snd_pcm_oss_read1 3 63771 _001519_hash NULL -+_001520_hash snd_rawmidi_kernel_read1 4 36740 _001520_hash NULL -+_001521_hash snd_rme9652_capture_copy 5 10287 _001521_hash NULL -+_001522_hash srp_target_alloc 3 37288 _001522_hash NULL -+_001523_hash stk_allocate_buffers 2 16291 _001523_hash NULL -+_001524_hash store_ifalias 4 35088 _001524_hash NULL -+_001525_hash store_msg 3 56417 _001525_hash NULL -+_001526_hash str_to_user 2 11411 _001526_hash NULL -+_001527_hash subbuf_read_actor 3 2071 _001527_hash NULL -+_001528_hash sys_fgetxattr 4 25166 _001528_hash NULL -+_001529_hash sys_gethostname 2 49698 _001529_hash NULL -+_001530_hash sys_getxattr 4 37418 _001530_hash NULL -+_001531_hash sys_kexec_load 2 14222 _001531_hash NULL -+_001532_hash sys_msgsnd 3 44537 _001532_hash &_000129_hash -+_001533_hash sys_process_vm_readv 3-5 19090 _003125_hash NULL nohasharray -+_001535_hash sys_process_vm_writev 3-5 4928 _001535_hash NULL -+_001537_hash sys_sched_getaffinity 2 60033 _001537_hash NULL -+_001538_hash sys_setsockopt 5 35320 _001538_hash NULL -+_001539_hash t3_init_l2t 1 8261 _001539_hash NULL -+_001540_hash team_options_register 3 20091 _001540_hash NULL -+_001541_hash tipc_send2name 6 16809 _001541_hash NULL -+_001542_hash tipc_send2port 5 63935 _001542_hash NULL -+_001543_hash tipc_send 4 51238 _001543_hash NULL -+_001544_hash tm6000_i2c_recv_regs16 5 2949 _001544_hash NULL -+_001545_hash tm6000_i2c_recv_regs 5 46215 _001545_hash NULL -+_001546_hash tm6000_i2c_send_regs 5 20250 _001546_hash NULL -+_001547_hash tnode_new 3 44757 _003828_hash NULL nohasharray -+_001548_hash tomoyo_read_self 3 33539 _001548_hash NULL -+_001549_hash tomoyo_update_domain 2 5498 _001549_hash NULL -+_001550_hash tomoyo_update_policy 2 40458 _001550_hash NULL -+_001551_hash tpm_read 3 50344 _001551_hash NULL -+_001552_hash TSS_rawhmac 3 17486 _001552_hash NULL -+_001553_hash tt3650_ci_msg 4 57219 _001553_hash NULL -+_001554_hash tun_get_user 3 33178 _001554_hash NULL -+_001555_hash ubi_dbg_dump_flash 4 3870 _001555_hash NULL -+_001556_hash ubi_io_write 4-5 15870 _001556_hash &_000954_hash -+_001558_hash uio_read 3 49300 _001558_hash NULL -+_001559_hash unix_seqpacket_sendmsg 4 27893 _001559_hash NULL -+_001560_hash unlink1 3 63059 _001560_hash NULL -+_001562_hash usb_allocate_stream_buffers 3 8964 _001562_hash NULL -+_001563_hash usbdev_read 3 45114 _001563_hash NULL -+_001564_hash usblp_read 3 57342 _003306_hash NULL nohasharray -+_001565_hash usbtmc_read 3 32377 _001565_hash NULL -+_001566_hash usbvision_v4l2_read 3 34386 _001566_hash NULL -+_001567_hash _usb_writeN_sync 4 31682 _001567_hash NULL -+_001568_hash user_read 3 51881 _001568_hash NULL -+_001569_hash v4l_stk_read 3 39672 _001569_hash NULL -+_001570_hash vcs_read 3 8017 _001570_hash NULL -+_001571_hash vdma_mem_alloc 1 6171 _001571_hash NULL -+_001572_hash venus_create 4 20555 _001572_hash NULL -+_001573_hash venus_link 5 32165 _001573_hash NULL -+_001574_hash venus_lookup 4 8121 _001574_hash NULL -+_001575_hash venus_mkdir 4 8967 _001575_hash NULL -+_001576_hash venus_remove 4 59781 _001576_hash NULL -+_001577_hash venus_rename 4-5 17707 _003279_hash NULL nohasharray -+_001579_hash venus_rmdir 4 45564 _001579_hash NULL -+_001580_hash venus_symlink 4-6 23570 _001580_hash NULL -+_001582_hash vfs_readlink 3 54368 _001582_hash NULL -+_001583_hash vfs_readv 3 38011 _001583_hash NULL -+_001584_hash vfs_writev 3 25278 _001584_hash NULL -+_001585_hash vga_arb_read 3 4886 _001585_hash NULL -+_001586_hash vhci_put_user 4 12604 _001586_hash NULL -+_001587_hash vhost_add_used_n 3 10760 _001587_hash NULL -+_001588_hash __videobuf_copy_to_user 4 15423 _001588_hash NULL -+_001589_hash videobuf_pages_to_sg 2 3708 _001589_hash NULL -+_001590_hash videobuf_vmalloc_to_sg 2 4548 _001590_hash NULL -+_001591_hash virtnet_send_command 5-6 61993 _001591_hash NULL -+_001593_hash vmbus_establish_gpadl 3 4495 _001593_hash NULL -+_001594_hash vol_cdev_read 3 8968 _001594_hash &_001501_hash -+_001595_hash w9966_v4l_read 3 31148 _001595_hash NULL -+_001596_hash wdm_read 3 6549 _001596_hash NULL -+_001597_hash wusb_prf 7 54261 _001597_hash &_000063_hash -+_001598_hash xdi_copy_to_user 4 48900 _001598_hash NULL -+_001599_hash xfs_buf_get_uncached 2 51477 _001599_hash NULL -+_001600_hash xfs_efd_init 3 5463 _001600_hash NULL -+_001601_hash xfs_efi_init 2 5476 _001601_hash NULL -+_001602_hash xfs_iext_realloc_direct 2 20521 _001602_hash NULL -+_001603_hash xfs_iext_realloc_indirect 2 59211 _001603_hash NULL -+_001604_hash xfs_inumbers_fmt 3 12817 _001604_hash NULL -+_001605_hash xlog_recover_add_to_cont_trans 4 44102 _001605_hash NULL -+_001606_hash xz_dec_lzma2_create 2 36353 _002745_hash NULL nohasharray -+_001607_hash _zd_iowrite32v_locked 3 44725 _001607_hash NULL -+_001608_hash aat2870_reg_read_file 3 12221 _001608_hash NULL -+_001609_hash add_sctp_bind_addr 3 12269 _001609_hash NULL -+_001610_hash aes_decrypt_fail_read 3 54815 _001610_hash NULL -+_001611_hash aes_decrypt_interrupt_read 3 19910 _001611_hash NULL -+_001612_hash aes_decrypt_packets_read 3 10155 _001612_hash NULL -+_001613_hash aes_encrypt_fail_read 3 32562 _001613_hash NULL -+_001614_hash aes_encrypt_interrupt_read 3 39919 _001614_hash NULL -+_001615_hash aes_encrypt_packets_read 3 48666 _001615_hash NULL -+_001616_hash afs_cell_lookup 2 8482 _001616_hash NULL -+_001617_hash agp_allocate_memory 2 58761 _001617_hash NULL -+_001618_hash __alloc_bootmem 1 31498 _001618_hash NULL -+_001619_hash __alloc_bootmem_low 1 43423 _003150_hash NULL nohasharray -+_001620_hash __alloc_bootmem_node_nopanic 2 6432 _001620_hash NULL -+_001621_hash alloc_cc770dev 1 48186 _001621_hash NULL -+_001622_hash __alloc_ei_netdev 1 29338 _001622_hash NULL -+_001623_hash __alloc_eip_netdev 1 51549 _001623_hash NULL -+_001624_hash alloc_libipw 1 22708 _001624_hash NULL -+_001625_hash alloc_pg_vec 2 8533 _001625_hash NULL -+_001626_hash alloc_sja1000dev 1 17868 _001626_hash NULL -+_001627_hash alloc_targets 2 8074 _003536_hash NULL nohasharray -+_001630_hash ath6kl_disconnect_timeout_read 3 3650 _001630_hash NULL -+_001631_hash ath6kl_endpoint_stats_read 3 41554 _001631_hash NULL -+_001632_hash ath6kl_fwlog_mask_read 3 2050 _001632_hash NULL -+_001633_hash ath6kl_keepalive_read 3 44303 _001633_hash NULL -+_001634_hash ath6kl_listen_int_read 3 10355 _001634_hash NULL -+_001635_hash ath6kl_lrssi_roam_read 3 61022 _001635_hash NULL -+_001636_hash ath6kl_regdump_read 3 14393 _001636_hash NULL -+_001637_hash ath6kl_regread_read 3 25884 _001637_hash NULL -+_001638_hash ath6kl_regwrite_read 3 48747 _001638_hash NULL -+_001639_hash ath6kl_roam_table_read 3 26166 _001639_hash NULL -+_001640_hash ath9k_debugfs_read_buf 3 25316 _001640_hash NULL -+_001641_hash atk_debugfs_ggrp_read 3 29522 _001641_hash NULL -+_001642_hash b43_debugfs_read 3 24425 _001642_hash NULL -+_001643_hash b43legacy_debugfs_read 3 2473 _001643_hash NULL -+_001644_hash bcm_recvmsg 4 43992 _001644_hash NULL -+_001645_hash bfad_debugfs_read 3 13119 _001645_hash NULL -+_001646_hash bfad_debugfs_read_regrd 3 57830 _001646_hash NULL -+_001647_hash blk_init_tags 1 30592 _001647_hash NULL -+_001648_hash blk_queue_init_tags 2 44355 _002686_hash NULL nohasharray -+_001649_hash blk_rq_map_kern 4 47004 _001649_hash NULL -+_001650_hash bm_entry_read 3 10976 _001650_hash NULL -+_001651_hash bm_status_read 3 19583 _001651_hash NULL -+_001652_hash bnad_debugfs_read 3 50665 _001652_hash NULL -+_001653_hash bnad_debugfs_read_regrd 3 51308 _001653_hash NULL -+_001654_hash btmrvl_curpsmode_read 3 46939 _001654_hash NULL -+_001655_hash btmrvl_gpiogap_read 3 4718 _001655_hash NULL -+_001656_hash btmrvl_hscfgcmd_read 3 56303 _001656_hash NULL -+_001657_hash btmrvl_hscmd_read 3 1614 _001657_hash NULL -+_001658_hash btmrvl_hsmode_read 3 1647 _001658_hash NULL -+_001659_hash btmrvl_hsstate_read 3 920 _001659_hash NULL -+_001660_hash btmrvl_pscmd_read 3 24308 _001660_hash NULL -+_001661_hash btmrvl_psmode_read 3 22395 _001661_hash NULL -+_001662_hash btmrvl_psstate_read 3 50683 _001662_hash NULL -+_001663_hash btmrvl_txdnldready_read 3 413 _001663_hash NULL -+_001664_hash btrfs_add_link 5 9973 _001664_hash NULL -+_001665_hash btrfs_discard_extent 2 38547 _001665_hash NULL -+_001666_hash btrfs_find_create_tree_block 3 55812 _001666_hash NULL -+_001667_hash btrfsic_map_block 2 56751 _001667_hash NULL -+_001668_hash caif_stream_recvmsg 4 13173 _001668_hash NULL -+_001669_hash carl9170_alloc 1 27 _001669_hash NULL -+_001670_hash carl9170_debugfs_read 3 47738 _001670_hash NULL -+_001671_hash cgroup_read_s64 5 19570 _001671_hash NULL -+_001672_hash cgroup_read_u64 5 45532 _001672_hash NULL -+_001673_hash channel_type_read 3 47308 _001673_hash NULL -+_001674_hash codec_list_read_file 3 24910 _001674_hash NULL -+_001675_hash configfs_read_file 3 1683 _001675_hash NULL -+_001676_hash cpuset_common_file_read 5 8800 _001676_hash NULL -+_001677_hash create_subvol 4 2347 _001677_hash NULL -+_001678_hash cx18_copy_mdl_to_user 4 45549 _001678_hash NULL -+_001679_hash dai_list_read_file 3 25421 _001679_hash NULL -+_001680_hash dapm_bias_read_file 3 64715 _001680_hash NULL -+_001681_hash dapm_widget_power_read_file 3 59950 _001754_hash NULL nohasharray -+_001684_hash dbgfs_frame 3 45917 _001684_hash NULL -+_001685_hash dbgfs_state 3 38894 _001685_hash NULL -+_001686_hash debugfs_read 3 62535 _001686_hash NULL -+_001687_hash debug_output 3 18575 _001687_hash NULL -+_001688_hash debug_read 3 19322 _001688_hash NULL -+_001689_hash dfs_file_read 3 18116 _001689_hash NULL -+_001690_hash dma_memcpy_pg_to_iovec 6 1725 _001690_hash NULL -+_001691_hash dma_memcpy_to_iovec 5 12173 _001691_hash NULL -+_001692_hash dma_rx_errors_read 3 52045 _001692_hash NULL -+_001693_hash dma_rx_requested_read 3 65354 _001693_hash NULL -+_001694_hash dma_show_regs 3 35266 _001694_hash NULL -+_001695_hash dma_tx_errors_read 3 46060 _001695_hash NULL -+_001696_hash dma_tx_requested_read 3 16110 _001775_hash NULL nohasharray -+_001697_hash dm_exception_table_init 2 39645 _001697_hash &_001103_hash -+_001698_hash dn_recvmsg 4 17213 _001698_hash NULL -+_001699_hash dns_resolver_read 3 54658 _001699_hash NULL -+_001700_hash do_msgrcv 4 5590 _001700_hash NULL -+_001701_hash driver_state_read 3 17194 _001701_hash &_001394_hash -+_001702_hash dvb_demux_do_ioctl 3 34871 _001702_hash NULL -+_001703_hash dvb_dmxdev_buffer_read 4 20682 _001703_hash NULL -+_001704_hash dvb_dvr_do_ioctl 3 43355 _001704_hash NULL -+_001705_hash econet_recvmsg 4 40978 _001705_hash NULL -+_001706_hash event_calibration_read 3 21083 _001706_hash NULL -+_001707_hash event_heart_beat_read 3 48961 _001707_hash NULL -+_001708_hash event_oom_late_read 3 61175 _001708_hash &_001014_hash -+_001709_hash event_phy_transmit_error_read 3 10471 _001709_hash NULL -+_001710_hash event_rx_mem_empty_read 3 40363 _001710_hash NULL -+_001711_hash event_rx_mismatch_read 3 38518 _001711_hash NULL -+_001712_hash event_rx_pool_read 3 25792 _001712_hash NULL -+_001713_hash event_tx_stuck_read 3 19305 _001713_hash NULL -+_001714_hash excessive_retries_read 3 60425 _001714_hash NULL -+_001715_hash fallback_on_nodma_alloc 2 35332 _001715_hash NULL -+_001716_hash filter_read 3 61692 _001716_hash NULL -+_001717_hash format_devstat_counter 3 32550 _001717_hash NULL -+_001718_hash fragmentation_threshold_read 3 61718 _001718_hash NULL -+_001719_hash fuse_conn_limit_read 3 20084 _001719_hash NULL -+_001720_hash fuse_conn_waiting_read 3 49762 _001720_hash NULL -+_001721_hash generic_readlink 3 32654 _001721_hash NULL -+_001722_hash gpio_power_read 3 36059 _001722_hash NULL -+_001723_hash hash_recvmsg 4 50924 _001723_hash NULL -+_001724_hash ht40allow_map_read 3 55209 _002830_hash NULL nohasharray -+_001725_hash hwflags_read 3 52318 _001725_hash NULL -+_001726_hash hysdn_conf_read 3 42324 _003205_hash NULL nohasharray -+_001727_hash i2400m_rx_stats_read 3 57706 _001727_hash NULL -+_001728_hash i2400m_tx_stats_read 3 28527 _001728_hash NULL -+_001729_hash idmouse_read 3 63374 _001729_hash NULL -+_001730_hash ieee80211_if_read 3 6785 _001730_hash NULL -+_001731_hash ieee80211_rx_bss_info 3 61630 _001731_hash NULL -+_001732_hash ikconfig_read_current 3 1658 _001732_hash NULL -+_001733_hash il3945_sta_dbgfs_stats_table_read 3 48802 _001733_hash NULL -+_001734_hash il3945_ucode_general_stats_read 3 46111 _001734_hash NULL -+_001735_hash il3945_ucode_rx_stats_read 3 3048 _001735_hash NULL -+_001736_hash il3945_ucode_tx_stats_read 3 36016 _001736_hash NULL -+_001737_hash il4965_rs_sta_dbgfs_rate_scale_data_read 3 37792 _001737_hash NULL -+_001738_hash il4965_rs_sta_dbgfs_scale_table_read 3 38564 _001738_hash NULL -+_001739_hash il4965_rs_sta_dbgfs_stats_table_read 3 49206 _001739_hash NULL -+_001740_hash il4965_ucode_general_stats_read 3 56277 _001740_hash NULL -+_001741_hash il4965_ucode_rx_stats_read 3 61948 _001741_hash NULL -+_001742_hash il4965_ucode_tx_stats_read 3 12064 _001742_hash NULL -+_001743_hash il_dbgfs_chain_noise_read 3 38044 _001743_hash NULL -+_001744_hash il_dbgfs_channels_read 3 25005 _001744_hash NULL -+_001745_hash il_dbgfs_disable_ht40_read 3 42386 _001745_hash NULL -+_001746_hash il_dbgfs_fh_reg_read 3 40993 _001746_hash NULL -+_001747_hash il_dbgfs_force_reset_read 3 57517 _001747_hash NULL -+_001748_hash il_dbgfs_interrupt_read 3 3351 _001748_hash NULL -+_001749_hash il_dbgfs_missed_beacon_read 3 59956 _001749_hash NULL -+_001750_hash il_dbgfs_nvm_read 3 12288 _001750_hash NULL -+_001751_hash il_dbgfs_power_save_status_read 3 43165 _001751_hash NULL -+_001752_hash il_dbgfs_qos_read 3 33615 _001752_hash NULL -+_001753_hash il_dbgfs_rxon_filter_flags_read 3 19281 _001753_hash NULL -+_001754_hash il_dbgfs_rxon_flags_read 3 59950 _001754_hash &_001681_hash -+_001755_hash il_dbgfs_rx_queue_read 3 11221 _001755_hash NULL -+_001756_hash il_dbgfs_rx_stats_read 3 15243 _001756_hash NULL -+_001757_hash il_dbgfs_sensitivity_read 3 2370 _001757_hash NULL -+_001758_hash il_dbgfs_sram_read 3 62296 _001758_hash NULL -+_001759_hash il_dbgfs_stations_read 3 21532 _001759_hash NULL -+_001760_hash il_dbgfs_status_read 3 58388 _001760_hash NULL -+_001761_hash il_dbgfs_tx_queue_read 3 55668 _001761_hash NULL -+_001762_hash il_dbgfs_tx_stats_read 3 32913 _001762_hash NULL -+_001763_hash ima_show_htable_value 2 57136 _001763_hash NULL -+_001765_hash ipw_write 3 59807 _001765_hash NULL -+_001766_hash irda_recvmsg_stream 4 35280 _001766_hash NULL -+_001767_hash iscsi_tcp_conn_setup 2 16376 _001767_hash NULL -+_001768_hash isr_cmd_cmplt_read 3 53439 _001768_hash NULL -+_001769_hash isr_commands_read 3 41398 _001769_hash NULL -+_001770_hash isr_decrypt_done_read 3 49490 _001770_hash NULL -+_001771_hash isr_dma0_done_read 3 8574 _001771_hash NULL -+_001772_hash isr_dma1_done_read 3 48159 _001772_hash NULL -+_001773_hash isr_fiqs_read 3 34687 _001773_hash NULL -+_001774_hash isr_host_acknowledges_read 3 54136 _001774_hash NULL -+_001775_hash isr_hw_pm_mode_changes_read 3 16110 _001775_hash &_001696_hash -+_001776_hash isr_irqs_read 3 9181 _001776_hash NULL -+_001777_hash isr_low_rssi_read 3 64789 _001777_hash NULL -+_001778_hash isr_pci_pm_read 3 30271 _001778_hash NULL -+_001779_hash isr_rx_headers_read 3 38325 _001779_hash NULL -+_001780_hash isr_rx_mem_overflow_read 3 43025 _001780_hash NULL -+_001781_hash isr_rx_procs_read 3 31804 _001781_hash NULL -+_001782_hash isr_rx_rdys_read 3 35283 _001782_hash NULL -+_001783_hash isr_tx_exch_complete_read 3 16103 _001783_hash NULL -+_001784_hash isr_tx_procs_read 3 23084 _001784_hash NULL -+_001785_hash isr_wakeups_read 3 49607 _001785_hash NULL -+_001786_hash ivtv_read 3 57796 _001786_hash NULL -+_001787_hash iwl_dbgfs_bt_traffic_read 3 35534 _001787_hash NULL -+_001788_hash iwl_dbgfs_chain_noise_read 3 46355 _001788_hash NULL -+_001789_hash iwl_dbgfs_channels_read 3 6784 _001789_hash NULL -+_001790_hash iwl_dbgfs_current_sleep_command_read 3 2081 _001790_hash NULL -+_001791_hash iwl_dbgfs_disable_ht40_read 3 35761 _001791_hash NULL -+_001792_hash iwl_dbgfs_fh_reg_read 3 879 _001792_hash &_000393_hash -+_001793_hash iwl_dbgfs_force_reset_read 3 62628 _001793_hash NULL -+_001794_hash iwl_dbgfs_interrupt_read 3 23574 _001794_hash NULL -+_001795_hash iwl_dbgfs_log_event_read 3 2107 _001795_hash NULL -+_001796_hash iwl_dbgfs_missed_beacon_read 3 50584 _001796_hash NULL -+_001797_hash iwl_dbgfs_nvm_read 3 23845 _001797_hash NULL -+_001798_hash iwl_dbgfs_plcp_delta_read 3 55407 _001798_hash NULL -+_001799_hash iwl_dbgfs_power_save_status_read 3 54392 _001799_hash NULL -+_001800_hash iwl_dbgfs_protection_mode_read 3 13943 _001800_hash NULL -+_001801_hash iwl_dbgfs_qos_read 3 11753 _001801_hash NULL -+_001802_hash iwl_dbgfs_reply_tx_error_read 3 19205 _001802_hash NULL -+_001803_hash iwl_dbgfs_rx_handlers_read 3 18708 _001803_hash NULL -+_001804_hash iwl_dbgfs_rxon_filter_flags_read 3 28832 _001804_hash NULL -+_001805_hash iwl_dbgfs_rxon_flags_read 3 20795 _001805_hash NULL -+_001806_hash iwl_dbgfs_rx_queue_read 3 19943 _001806_hash NULL -+_001807_hash iwl_dbgfs_rx_statistics_read 3 62687 _001807_hash &_000425_hash -+_001808_hash iwl_dbgfs_sensitivity_read 3 63116 _003026_hash NULL nohasharray -+_001809_hash iwl_dbgfs_sleep_level_override_read 3 3038 _001809_hash NULL -+_001810_hash iwl_dbgfs_sram_read 3 44505 _001810_hash NULL -+_001811_hash iwl_dbgfs_stations_read 3 9309 _001811_hash NULL -+_001812_hash iwl_dbgfs_status_read 3 5171 _001812_hash NULL -+_001813_hash iwl_dbgfs_temperature_read 3 29224 _001813_hash NULL -+_001814_hash iwl_dbgfs_thermal_throttling_read 3 38779 _001814_hash NULL -+_001815_hash iwl_dbgfs_traffic_log_read 3 58870 _001815_hash NULL -+_001816_hash iwl_dbgfs_tx_queue_read 3 4635 _001816_hash NULL -+_001817_hash iwl_dbgfs_tx_statistics_read 3 314 _003437_hash NULL nohasharray -+_001818_hash iwl_dbgfs_ucode_bt_stats_read 3 42820 _001818_hash NULL -+_001819_hash iwl_dbgfs_ucode_general_stats_read 3 49199 _001819_hash NULL -+_001820_hash iwl_dbgfs_ucode_rx_stats_read 3 58023 _001820_hash NULL -+_001821_hash iwl_dbgfs_ucode_tracing_read 3 47983 _001821_hash &_000349_hash -+_001822_hash iwl_dbgfs_ucode_tx_stats_read 3 31611 _001822_hash NULL -+_001823_hash iwl_dbgfs_wowlan_sram_read 3 540 _001823_hash NULL -+_001824_hash iwm_if_alloc 1 17027 _001824_hash &_001314_hash -+_001825_hash kernel_readv 3 35617 _001825_hash NULL -+_001826_hash key_algorithm_read 3 57946 _001826_hash NULL -+_001827_hash key_icverrors_read 3 20895 _001827_hash NULL -+_001828_hash key_key_read 3 3241 _001828_hash NULL -+_001829_hash key_replays_read 3 62746 _001829_hash NULL -+_001830_hash key_rx_spec_read 3 12736 _001830_hash NULL -+_001831_hash key_tx_spec_read 3 4862 _001831_hash NULL -+_001832_hash __kfifo_to_user 3 36555 _002199_hash NULL nohasharray -+_001833_hash __kfifo_to_user_r 3 39123 _001833_hash NULL -+_001834_hash kmem_zalloc_greedy 2-3 65268 _001834_hash NULL -+_001836_hash l2cap_chan_send 3 49995 _001836_hash NULL -+_001837_hash l2cap_sar_segment_sdu 3 27701 _001837_hash NULL -+_001838_hash lbs_debugfs_read 3 30721 _001838_hash NULL -+_001839_hash lbs_dev_info 3 51023 _001839_hash NULL -+_001840_hash lbs_host_sleep_read 3 31013 _001840_hash NULL -+_001841_hash lbs_rdbbp_read 3 45805 _001841_hash NULL -+_001842_hash lbs_rdmac_read 3 418 _001842_hash NULL -+_001843_hash lbs_rdrf_read 3 41431 _001843_hash NULL -+_001844_hash lbs_sleepparams_read 3 10840 _001844_hash NULL -+_001845_hash lbs_threshold_read 5 21046 _001845_hash NULL -+_001846_hash libfc_vport_create 2 4415 _001846_hash NULL -+_001847_hash lkdtm_debugfs_read 3 45752 _001847_hash NULL -+_001848_hash llcp_sock_recvmsg 4 13556 _001848_hash NULL -+_001849_hash long_retry_limit_read 3 59766 _001849_hash NULL -+_001850_hash lpfc_debugfs_dif_err_read 3 36303 _001850_hash NULL -+_001851_hash lpfc_debugfs_read 3 16566 _001851_hash NULL -+_001852_hash lpfc_idiag_baracc_read 3 58466 _002447_hash NULL nohasharray -+_001853_hash lpfc_idiag_ctlacc_read 3 33943 _001853_hash NULL -+_001854_hash lpfc_idiag_drbacc_read 3 15948 _001854_hash NULL -+_001855_hash lpfc_idiag_extacc_read 3 48301 _001855_hash NULL -+_001856_hash lpfc_idiag_mbxacc_read 3 28061 _001856_hash NULL -+_001857_hash lpfc_idiag_pcicfg_read 3 50334 _001857_hash NULL -+_001858_hash lpfc_idiag_queacc_read 3 13950 _001858_hash NULL -+_001859_hash lpfc_idiag_queinfo_read 3 55662 _001859_hash NULL -+_001860_hash mac80211_format_buffer 2 41010 _001860_hash NULL -+_001861_hash macvtap_put_user 4 55609 _001861_hash NULL -+_001862_hash macvtap_sendmsg 4 30629 _001862_hash NULL -+_001863_hash mic_calc_failure_read 3 59700 _001863_hash NULL -+_001864_hash mic_rx_pkts_read 3 27972 _001864_hash NULL -+_001865_hash minstrel_stats_read 3 17290 _001865_hash NULL -+_001866_hash mmc_ext_csd_read 3 13205 _001866_hash NULL -+_001867_hash mon_bin_read 3 6841 _001867_hash NULL -+_001868_hash mon_stat_read 3 25238 _001868_hash NULL -+_001870_hash mqueue_read_file 3 6228 _001870_hash NULL -+_001871_hash mwifiex_debug_read 3 53074 _001871_hash NULL -+_001872_hash mwifiex_getlog_read 3 54269 _001872_hash NULL -+_001873_hash mwifiex_info_read 3 53447 _001873_hash NULL -+_001874_hash mwifiex_rdeeprom_read 3 51429 _001874_hash NULL -+_001875_hash mwifiex_regrdwr_read 3 34472 _001875_hash NULL -+_001876_hash nfsd_vfs_read 6 62605 _003003_hash NULL nohasharray -+_001877_hash nfsd_vfs_write 6 54577 _001877_hash NULL -+_001878_hash nfs_idmap_lookup_id 2 10660 _001878_hash NULL -+_001879_hash o2hb_debug_read 3 37851 _001879_hash NULL -+_001880_hash o2net_debug_read 3 52105 _001880_hash NULL -+_001881_hash ocfs2_control_read 3 56405 _001881_hash NULL -+_001882_hash ocfs2_debug_read 3 14507 _001882_hash NULL -+_001883_hash ocfs2_readlink 3 50656 _001883_hash NULL -+_001884_hash oom_adjust_read 3 25127 _001884_hash NULL -+_001885_hash oom_score_adj_read 3 39921 _002116_hash NULL nohasharray -+_001886_hash oprofilefs_str_to_user 3 42182 _001886_hash NULL -+_001887_hash oprofilefs_ulong_to_user 3 11582 _001887_hash NULL -+_001888_hash _osd_req_list_objects 6 4204 _001888_hash NULL -+_001889_hash osd_req_read_kern 5 59990 _001889_hash NULL -+_001890_hash osd_req_write_kern 5 53486 _001890_hash NULL -+_001891_hash p54_init_common 1 23850 _001891_hash NULL -+_001892_hash packet_sendmsg 4 24954 _001892_hash NULL -+_001893_hash page_readlink 3 23346 _001893_hash NULL -+_001894_hash pcf50633_write_block 3 2124 _001894_hash NULL -+_001895_hash platform_list_read_file 3 34734 _001895_hash NULL -+_001896_hash pm860x_bulk_write 3 43875 _001896_hash NULL -+_001897_hash pm_qos_power_read 3 55891 _001897_hash NULL -+_001898_hash pms_read 3 53873 _001898_hash NULL -+_001899_hash port_show_regs 3 5904 _001899_hash NULL -+_001900_hash proc_coredump_filter_read 3 39153 _001900_hash NULL -+_001901_hash proc_fdinfo_read 3 62043 _001901_hash NULL -+_001902_hash proc_info_read 3 63344 _001902_hash NULL -+_001903_hash proc_loginuid_read 3 15631 _001903_hash NULL -+_001904_hash proc_pid_attr_read 3 10173 _001904_hash NULL -+_001905_hash proc_pid_readlink 3 52186 _001905_hash NULL -+_001906_hash proc_read 3 43614 _001906_hash NULL -+_001907_hash proc_self_readlink 3 38094 _001907_hash NULL -+_001908_hash proc_sessionid_read 3 6911 _002038_hash NULL nohasharray -+_001909_hash provide_user_output 3 41105 _001909_hash NULL -+_001910_hash ps_pspoll_max_apturn_read 3 6699 _001910_hash NULL -+_001911_hash ps_pspoll_timeouts_read 3 11776 _001911_hash NULL -+_001912_hash ps_pspoll_utilization_read 3 5361 _001912_hash NULL -+_001913_hash pstore_file_read 3 57288 _001913_hash NULL -+_001914_hash ps_upsd_max_apturn_read 3 19918 _001914_hash NULL -+_001915_hash ps_upsd_max_sptime_read 3 63362 _001915_hash NULL -+_001916_hash ps_upsd_timeouts_read 3 28924 _001916_hash NULL -+_001917_hash ps_upsd_utilization_read 3 51669 _001917_hash NULL -+_001918_hash pvr2_v4l2_read 3 18006 _001918_hash NULL -+_001919_hash pwr_disable_ps_read 3 13176 _001919_hash NULL -+_001920_hash pwr_elp_enter_read 3 5324 _001920_hash NULL -+_001921_hash pwr_enable_ps_read 3 17686 _001921_hash NULL -+_001922_hash pwr_fix_tsf_ps_read 3 26627 _001922_hash NULL -+_001923_hash pwr_missing_bcns_read 3 25824 _001923_hash NULL -+_001924_hash pwr_power_save_off_read 3 18355 _001924_hash NULL -+_001925_hash pwr_ps_enter_read 3 26935 _001925_hash &_000501_hash -+_001926_hash pwr_rcvd_awake_beacons_read 3 50505 _001926_hash NULL -+_001927_hash pwr_rcvd_beacons_read 3 52836 _001927_hash NULL -+_001928_hash pwr_tx_without_ps_read 3 48423 _001928_hash NULL -+_001929_hash pwr_tx_with_ps_read 3 60851 _001929_hash NULL -+_001930_hash pwr_wake_on_host_read 3 26321 _001930_hash NULL -+_001931_hash pwr_wake_on_timer_exp_read 3 22640 _001931_hash NULL -+_001932_hash queues_read 3 24877 _001932_hash NULL -+_001933_hash raw_recvmsg 4 17277 _001933_hash NULL -+_001934_hash rcname_read 3 25919 _001934_hash NULL -+_001935_hash read_4k_modal_eeprom 3 30212 _001935_hash NULL -+_001936_hash read_9287_modal_eeprom 3 59327 _001936_hash NULL -+_001937_hash reada_find_extent 2 63486 _001937_hash NULL -+_001938_hash read_def_modal_eeprom 3 14041 _001938_hash NULL -+_001939_hash read_enabled_file_bool 3 37744 _001939_hash NULL -+_001940_hash read_file_ani 3 23161 _001940_hash NULL -+_001941_hash read_file_antenna 3 13574 _001941_hash NULL -+_001942_hash read_file_base_eeprom 3 42168 _001942_hash NULL -+_001943_hash read_file_beacon 3 32595 _001943_hash NULL -+_001944_hash read_file_blob 3 57406 _001944_hash NULL -+_001945_hash read_file_bool 3 4180 _001945_hash NULL -+_001946_hash read_file_credit_dist_stats 3 54367 _001946_hash NULL -+_001947_hash read_file_debug 3 58256 _001947_hash NULL -+_001948_hash read_file_disable_ani 3 6536 _001948_hash NULL -+_001949_hash read_file_dma 3 9530 _001949_hash NULL -+_001950_hash read_file_dump_nfcal 3 18766 _001950_hash NULL -+_001951_hash read_file_frameerrors 3 64001 _001951_hash NULL -+_001952_hash read_file_interrupt 3 61742 _001959_hash NULL nohasharray -+_001953_hash read_file_misc 3 9948 _001953_hash NULL -+_001954_hash read_file_modal_eeprom 3 39909 _001954_hash NULL -+_001955_hash read_file_queue 3 40895 _001955_hash NULL -+_001956_hash read_file_rcstat 3 22854 _001956_hash NULL -+_001957_hash read_file_recv 3 48232 _001957_hash NULL -+_001958_hash read_file_regidx 3 33370 _001958_hash NULL -+_001959_hash read_file_regval 3 61742 _001959_hash &_001952_hash -+_001960_hash read_file_reset 3 52310 _001960_hash NULL -+_001961_hash read_file_rx_chainmask 3 41605 _001961_hash NULL -+_001962_hash read_file_slot 3 50111 _001962_hash NULL -+_001963_hash read_file_stations 3 35795 _001963_hash NULL -+_001964_hash read_file_tgt_int_stats 3 20697 _001964_hash NULL -+_001965_hash read_file_tgt_rx_stats 3 33944 _001965_hash NULL -+_001966_hash read_file_tgt_stats 3 8959 _001966_hash NULL -+_001967_hash read_file_tgt_tx_stats 3 51847 _001967_hash NULL -+_001968_hash read_file_tx_chainmask 3 3829 _001968_hash NULL -+_001969_hash read_file_war_stats 3 292 _001969_hash NULL -+_001970_hash read_file_xmit 3 21487 _001970_hash NULL -+_001971_hash read_from_oldmem 2 3337 _001971_hash NULL -+_001972_hash read_oldmem 3 55658 _001972_hash NULL -+_001973_hash regmap_name_read_file 3 39379 _001973_hash NULL -+_001974_hash repair_io_failure 4 4815 _001974_hash NULL -+_001975_hash request_key_and_link 4 42693 _001975_hash NULL -+_001976_hash res_counter_read 4 33499 _001976_hash NULL -+_001977_hash retry_count_read 3 52129 _001977_hash NULL -+_001978_hash rs_sta_dbgfs_rate_scale_data_read 3 47165 _001978_hash NULL -+_001979_hash rs_sta_dbgfs_scale_table_read 3 40262 _001979_hash NULL -+_001980_hash rs_sta_dbgfs_stats_table_read 3 56573 _001980_hash NULL -+_001981_hash rts_threshold_read 3 44384 _001981_hash NULL -+_001982_hash rx_dropped_read 3 44799 _001982_hash NULL -+_001983_hash rx_fcs_err_read 3 62844 _001983_hash NULL -+_001984_hash rx_hdr_overflow_read 3 64407 _001984_hash NULL -+_001985_hash rx_hw_stuck_read 3 57179 _001985_hash NULL -+_001986_hash rx_out_of_mem_read 3 10157 _001986_hash NULL -+_001987_hash rx_path_reset_read 3 23801 _001987_hash NULL -+_001988_hash rxpipe_beacon_buffer_thres_host_int_trig_rx_data_read 3 55106 _001988_hash NULL -+_001989_hash rxpipe_descr_host_int_trig_rx_data_read 3 22001 _003089_hash NULL nohasharray -+_001990_hash rxpipe_missed_beacon_host_int_trig_rx_data_read 3 63405 _001990_hash NULL -+_001991_hash rxpipe_rx_prep_beacon_drop_read 3 2403 _001991_hash NULL -+_001992_hash rxpipe_tx_xfr_host_int_trig_rx_data_read 3 35538 _001992_hash NULL -+_001993_hash rx_reset_counter_read 3 58001 _001993_hash NULL -+_001994_hash rx_xfr_hint_trig_read 3 40283 _001994_hash NULL -+_001995_hash s5m_bulk_write 3 4833 _001995_hash NULL -+_001996_hash scrub_setup_recheck_block 3-4 56245 _001996_hash NULL -+_001998_hash scsi_adjust_queue_depth 3 12802 _001998_hash NULL -+_001999_hash selinux_inode_notifysecctx 3 36896 _001999_hash NULL -+_002000_hash sel_read_avc_cache_threshold 3 33942 _002000_hash NULL -+_002001_hash sel_read_avc_hash_stats 3 1984 _002001_hash NULL -+_002002_hash sel_read_bool 3 24236 _002002_hash NULL -+_002003_hash sel_read_checkreqprot 3 33068 _002003_hash NULL -+_002004_hash sel_read_class 3 12669 _002541_hash NULL nohasharray -+_002005_hash sel_read_enforce 3 2828 _002005_hash NULL -+_002006_hash sel_read_handle_status 3 56139 _002006_hash NULL -+_002007_hash sel_read_handle_unknown 3 57933 _002007_hash NULL -+_002008_hash sel_read_initcon 3 32362 _002008_hash NULL -+_002009_hash sel_read_mls 3 25369 _002009_hash NULL -+_002010_hash sel_read_perm 3 42302 _002010_hash NULL -+_002011_hash sel_read_policy 3 55947 _002011_hash NULL -+_002012_hash sel_read_policycap 3 28544 _002012_hash NULL -+_002013_hash sel_read_policyvers 3 55 _003257_hash NULL nohasharray -+_002014_hash send_msg 4 37323 _002014_hash NULL -+_002015_hash send_packet 4 52960 _002015_hash NULL -+_002016_hash short_retry_limit_read 3 4687 _002016_hash NULL -+_002017_hash simple_attr_read 3 24738 _002017_hash NULL -+_002018_hash simple_transaction_read 3 17076 _002018_hash NULL -+_002019_hash skb_copy_datagram_const_iovec 2-5-4 48102 _002019_hash NULL -+_002022_hash skb_copy_datagram_iovec 2-4 5806 _002022_hash NULL -+_002024_hash smk_read_ambient 3 61220 _002024_hash NULL -+_002025_hash smk_read_direct 3 15803 _002025_hash NULL -+_002026_hash smk_read_doi 3 30813 _002026_hash NULL -+_002027_hash smk_read_logging 3 37804 _002027_hash NULL -+_002028_hash smk_read_onlycap 3 3855 _002028_hash NULL -+_002029_hash snapshot_read 3 22601 _002029_hash NULL -+_002030_hash snd_cs4281_BA0_read 5 6847 _002030_hash NULL -+_002031_hash snd_cs4281_BA1_read 5 20323 _002031_hash NULL -+_002032_hash snd_cs46xx_io_read 5 45734 _002032_hash NULL -+_002033_hash snd_gus_dram_read 4 56686 _002033_hash NULL -+_002034_hash snd_pcm_oss_read 3 28317 _002034_hash NULL -+_002035_hash snd_rme32_capture_copy 5 39653 _002035_hash NULL -+_002036_hash snd_rme96_capture_copy 5 58484 _002036_hash NULL -+_002037_hash snd_soc_hw_bulk_write_raw 4 14245 _002037_hash NULL -+_002038_hash spi_show_regs 3 6911 _002038_hash &_001908_hash -+_002039_hash sta_agg_status_read 3 14058 _002039_hash NULL -+_002040_hash sta_connected_time_read 3 17435 _002040_hash NULL -+_002041_hash sta_flags_read 3 56710 _002041_hash NULL -+_002042_hash sta_ht_capa_read 3 10366 _002042_hash NULL -+_002043_hash sta_last_seq_ctrl_read 3 19106 _002043_hash NULL -+_002044_hash sta_num_ps_buf_frames_read 3 1488 _002044_hash NULL -+_002045_hash st_read 3 51251 _002045_hash NULL -+_002046_hash supply_map_read_file 3 10608 _002046_hash NULL -+_002047_hash sysfs_read_file 3 42113 _002047_hash NULL -+_002048_hash sys_lgetxattr 4 45531 _002048_hash NULL -+_002049_hash sys_preadv 3 17100 _002049_hash NULL -+_002050_hash sys_pwritev 3 41722 _002050_hash NULL -+_002051_hash sys_readv 3 50664 _002051_hash NULL -+_002052_hash sys_rt_sigpending 2 24961 _002052_hash NULL -+_002053_hash sys_writev 3 28384 _002053_hash NULL -+_002054_hash test_iso_queue 5 62534 _002054_hash NULL -+_002055_hash ts_read 3 44687 _002055_hash NULL -+_002056_hash TSS_authhmac 3 12839 _002056_hash NULL -+_002057_hash TSS_checkhmac1 5 31429 _002057_hash NULL -+_002058_hash TSS_checkhmac2 5-7 40520 _002058_hash NULL -+_002060_hash tt3650_ci_msg_locked 4 8013 _002060_hash NULL -+_002061_hash tun_sendmsg 4 10337 _002061_hash NULL -+_002062_hash tx_internal_desc_overflow_read 3 47300 _002062_hash NULL -+_002063_hash tx_queue_len_read 3 1463 _002063_hash NULL -+_002064_hash tx_queue_status_read 3 44978 _002064_hash NULL -+_002065_hash ubi_io_write_data 4-5 40305 _002065_hash NULL -+_002067_hash uhci_debug_read 3 5911 _002067_hash NULL -+_002068_hash unix_stream_recvmsg 4 35210 _002068_hash NULL -+_002069_hash uvc_debugfs_stats_read 3 56651 _002069_hash NULL -+_002070_hash vhost_add_used_and_signal_n 4 8038 _002070_hash NULL -+_002071_hash vifs_state_read 3 33762 _002071_hash NULL -+_002072_hash vmbus_open 2-3 12154 _002072_hash NULL -+_002074_hash waiters_read 3 40902 _002074_hash NULL -+_002075_hash wep_addr_key_count_read 3 20174 _002075_hash NULL -+_002076_hash wep_decrypt_fail_read 3 58567 _002076_hash NULL -+_002077_hash wep_default_key_count_read 3 43035 _002077_hash NULL -+_002078_hash wep_interrupt_read 3 41492 _002078_hash NULL -+_002079_hash wep_key_not_found_read 3 13377 _002079_hash &_000915_hash -+_002080_hash wep_packets_read 3 18751 _002080_hash NULL -+_002081_hash wl1271_format_buffer 2 20834 _002081_hash NULL -+_002082_hash wm8994_bulk_write 3 13615 _002082_hash NULL -+_002083_hash wusb_prf_256 7 29203 _002083_hash NULL -+_002084_hash wusb_prf_64 7 51065 _002084_hash NULL -+_002085_hash xfs_buf_read_uncached 4 27519 _002085_hash NULL -+_002086_hash xfs_iext_add 3 41422 _002086_hash NULL -+_002087_hash xfs_iext_remove_direct 3 40744 _002087_hash NULL -+_002088_hash xfs_trans_get_efd 3 51148 _002088_hash NULL -+_002089_hash xfs_trans_get_efi 2 7898 _002089_hash NULL -+_002090_hash xlog_get_bp 2 23229 _002090_hash NULL -+_002091_hash xz_dec_init 2 29029 _002091_hash NULL -+_002092_hash aac_change_queue_depth 2 825 _002092_hash NULL -+_002093_hash agp_allocate_memory_wrap 1 16576 _002093_hash NULL -+_002094_hash arcmsr_adjust_disk_queue_depth 2 16756 _002094_hash NULL -+_002095_hash atalk_recvmsg 4 22053 _002095_hash NULL -+_002097_hash atomic_read_file 3 16227 _002097_hash NULL -+_002098_hash ax25_recvmsg 4 64441 _002098_hash NULL -+_002099_hash beacon_interval_read 3 7091 _002099_hash NULL -+_002100_hash btrfs_init_new_buffer 4 55761 _002100_hash NULL -+_002101_hash btrfs_mksubvol 3 39479 _002101_hash NULL -+_002102_hash bt_sock_recvmsg 4 12316 _002102_hash NULL -+_002103_hash bt_sock_stream_recvmsg 4 52518 _002103_hash NULL -+_002104_hash caif_seqpkt_recvmsg 4 32241 _002104_hash NULL -+_002105_hash cpu_type_read 3 36540 _002105_hash NULL -+_002106_hash cx18_read 3 23699 _002106_hash NULL -+_002107_hash dccp_recvmsg 4 16056 _002107_hash NULL -+_002108_hash depth_read 3 31112 _002108_hash NULL -+_002109_hash dfs_global_file_read 3 7787 _002109_hash NULL -+_002110_hash dgram_recvmsg 4 23104 _002110_hash NULL -+_002111_hash dma_skb_copy_datagram_iovec 3-5 21516 _002111_hash NULL -+_002113_hash dtim_interval_read 3 654 _002113_hash NULL -+_002114_hash dynamic_ps_timeout_read 3 10110 _002114_hash NULL -+_002115_hash enable_read 3 2117 _002115_hash NULL -+_002116_hash exofs_read_kern 6 39921 _002116_hash &_001885_hash -+_002117_hash fc_change_queue_depth 2 36841 _002117_hash NULL -+_002118_hash forced_ps_read 3 31685 _002118_hash NULL -+_002119_hash frequency_read 3 64031 _003106_hash NULL nohasharray -+_002120_hash get_alua_req 3 4166 _002120_hash NULL -+_002121_hash get_rdac_req 3 45882 _002121_hash NULL -+_002122_hash hci_sock_recvmsg 4 7072 _002122_hash NULL -+_002123_hash hpsa_change_queue_depth 2 15449 _002123_hash NULL -+_002124_hash hptiop_adjust_disk_queue_depth 2 20122 _002124_hash NULL -+_002125_hash ide_queue_pc_tail 5 11673 _002125_hash NULL -+_002126_hash ide_raw_taskfile 4 42355 _002126_hash NULL -+_002127_hash idetape_queue_rw_tail 3 29562 _002127_hash NULL -+_002128_hash ieee80211_if_read_aid 3 9705 _002128_hash NULL -+_002129_hash ieee80211_if_read_auto_open_plinks 3 38268 _003504_hash NULL nohasharray -+_002130_hash ieee80211_if_read_ave_beacon 3 64924 _002130_hash NULL -+_002131_hash ieee80211_if_read_bssid 3 35161 _002131_hash NULL -+_002132_hash ieee80211_if_read_channel_type 3 23884 _002132_hash NULL -+_002133_hash ieee80211_if_read_dot11MeshConfirmTimeout 3 60670 _002133_hash NULL -+_002134_hash ieee80211_if_read_dot11MeshGateAnnouncementProtocol 3 14486 _002134_hash NULL -+_002135_hash ieee80211_if_read_dot11MeshHoldingTimeout 3 47356 _002135_hash NULL -+_002136_hash ieee80211_if_read_dot11MeshHWMPactivePathTimeout 3 7368 _002136_hash NULL -+_002137_hash ieee80211_if_read_dot11MeshHWMPmaxPREQretries 3 59829 _002137_hash NULL -+_002138_hash ieee80211_if_read_dot11MeshHWMPnetDiameterTraversalTime 3 1589 _002138_hash NULL -+_002139_hash ieee80211_if_read_dot11MeshHWMPperrMinInterval 3 17346 _002139_hash NULL -+_002140_hash ieee80211_if_read_dot11MeshHWMPpreqMinInterval 3 24208 _002140_hash NULL -+_002141_hash ieee80211_if_read_dot11MeshHWMPRannInterval 3 2249 _002141_hash NULL -+_002142_hash ieee80211_if_read_dot11MeshHWMPRootMode 3 51441 _002142_hash NULL -+_002143_hash ieee80211_if_read_dot11MeshMaxPeerLinks 3 23878 _002143_hash NULL -+_002144_hash ieee80211_if_read_dot11MeshMaxRetries 3 12756 _002144_hash NULL -+_002145_hash ieee80211_if_read_dot11MeshRetryTimeout 3 52168 _002145_hash NULL -+_002146_hash ieee80211_if_read_dot11MeshTTL 3 58307 _002146_hash NULL -+_002147_hash ieee80211_if_read_dropped_frames_congestion 3 32603 _002147_hash NULL -+_002148_hash ieee80211_if_read_dropped_frames_no_route 3 33383 _002148_hash NULL -+_002149_hash ieee80211_if_read_dropped_frames_ttl 3 44500 _002149_hash NULL -+_002150_hash ieee80211_if_read_drop_unencrypted 3 37053 _002150_hash NULL -+_002151_hash ieee80211_if_read_dtim_count 3 38419 _002151_hash NULL -+_002152_hash ieee80211_if_read_element_ttl 3 18869 _002152_hash NULL -+_002153_hash ieee80211_if_read_estab_plinks 3 32533 _002153_hash NULL -+_002154_hash ieee80211_if_read_flags 3 57470 _002389_hash NULL nohasharray -+_002155_hash ieee80211_if_read_fwded_frames 3 36520 _002155_hash NULL -+_002156_hash ieee80211_if_read_fwded_mcast 3 39571 _002156_hash &_000151_hash -+_002157_hash ieee80211_if_read_fwded_unicast 3 59740 _002859_hash NULL nohasharray -+_002158_hash ieee80211_if_read_last_beacon 3 31257 _002158_hash NULL -+_002159_hash ieee80211_if_read_min_discovery_timeout 3 13946 _002159_hash NULL -+_002160_hash ieee80211_if_read_num_buffered_multicast 3 12716 _002160_hash NULL -+_002161_hash ieee80211_if_read_num_sta_authorized 3 56177 _002161_hash NULL -+_002162_hash ieee80211_if_read_num_sta_ps 3 34722 _002162_hash NULL -+_002163_hash ieee80211_if_read_path_refresh_time 3 25545 _002163_hash NULL -+_002164_hash ieee80211_if_read_peer 3 45233 _002164_hash NULL -+_002165_hash ieee80211_if_read_rc_rateidx_mask_2ghz 3 61570 _002165_hash NULL -+_002166_hash ieee80211_if_read_rc_rateidx_mask_5ghz 3 27183 _002166_hash NULL -+_002167_hash ieee80211_if_read_rc_rateidx_mcs_mask_2ghz 3 37675 _002167_hash NULL -+_002168_hash ieee80211_if_read_rc_rateidx_mcs_mask_5ghz 3 44423 _002168_hash NULL -+_002169_hash ieee80211_if_read_rssi_threshold 3 49260 _002169_hash NULL -+_002170_hash ieee80211_if_read_smps 3 27416 _002170_hash NULL -+_002171_hash ieee80211_if_read_state 3 9813 _002280_hash NULL nohasharray -+_002172_hash ieee80211_if_read_tkip_mic_test 3 19565 _002172_hash NULL -+_002173_hash ieee80211_if_read_tsf 3 16420 _002173_hash NULL -+_002174_hash ieee80211_if_read_uapsd_max_sp_len 3 15067 _002174_hash NULL -+_002175_hash ieee80211_if_read_uapsd_queues 3 55150 _002175_hash NULL -+_002176_hash ieee80211_rx_mgmt_beacon 3 24430 _002176_hash NULL -+_002177_hash ieee80211_rx_mgmt_probe_resp 3 6918 _002177_hash NULL -+_002178_hash ima_show_htable_violations 3 10619 _002178_hash NULL -+_002179_hash ima_show_measurements_count 3 23536 _002179_hash NULL -+_002180_hash insert_one_name 7 61668 _002180_hash NULL -+_002181_hash ipr_change_queue_depth 2 6431 _002181_hash NULL -+_002182_hash ip_recv_error 3 23109 _002182_hash NULL -+_002183_hash ipv6_recv_error 3 56347 _002183_hash NULL -+_002184_hash ipv6_recv_rxpmtu 3 7142 _002184_hash NULL -+_002185_hash ipx_recvmsg 4 44366 _002185_hash NULL -+_002186_hash irda_recvmsg_dgram 4 32631 _002186_hash NULL -+_002187_hash iscsi_change_queue_depth 2 23416 _002187_hash NULL -+_002188_hash ivtv_read_pos 3 34400 _002188_hash &_000303_hash -+_002189_hash key_conf_hw_key_idx_read 3 25003 _002189_hash NULL -+_002190_hash key_conf_keyidx_read 3 42443 _002190_hash NULL -+_002191_hash key_conf_keylen_read 3 49758 _002191_hash NULL -+_002192_hash key_flags_read 3 25931 _002192_hash NULL -+_002193_hash key_ifindex_read 3 31411 _002193_hash NULL -+_002194_hash key_tx_rx_count_read 3 44742 _002194_hash NULL -+_002195_hash l2cap_sock_sendmsg 4 63427 _002195_hash NULL -+_002196_hash l2tp_ip_recvmsg 4 22681 _002196_hash NULL -+_002197_hash llc_ui_recvmsg 4 3826 _002197_hash NULL -+_002198_hash lpfc_change_queue_depth 2 25905 _002198_hash NULL -+_002199_hash macvtap_do_read 4 36555 _002199_hash &_001832_hash -+_002200_hash megaraid_change_queue_depth 2 64815 _002200_hash NULL -+_002201_hash megasas_change_queue_depth 2 32747 _002201_hash NULL -+_002202_hash mptscsih_change_queue_depth 2 26036 _002202_hash NULL -+_002203_hash NCR_700_change_queue_depth 2 31742 _002203_hash NULL -+_002204_hash netlink_recvmsg 4 61600 _002204_hash NULL -+_002205_hash nfsctl_transaction_read 3 48250 _002205_hash NULL -+_002206_hash nfs_map_group_to_gid 3 15892 _002206_hash NULL -+_002207_hash nfs_map_name_to_uid 3 51132 _002207_hash NULL -+_002208_hash nr_recvmsg 4 12649 _002208_hash NULL -+_002209_hash osd_req_list_collection_objects 5 36664 _002209_hash NULL -+_002210_hash osd_req_list_partition_objects 5 56464 _002210_hash NULL -+_002212_hash packet_recv_error 3 16669 _002212_hash NULL -+_002213_hash packet_recvmsg 4 47700 _002213_hash NULL -+_002214_hash pep_recvmsg 4 19402 _002214_hash NULL -+_002215_hash pfkey_recvmsg 4 53604 _002215_hash NULL -+_002216_hash ping_recvmsg 4 25597 _002216_hash NULL -+_002217_hash pmcraid_change_queue_depth 2 9116 _002217_hash NULL -+_002218_hash pn_recvmsg 4 30887 _002218_hash NULL -+_002219_hash pointer_size_read 3 51863 _002219_hash NULL -+_002220_hash power_read 3 15939 _002220_hash NULL -+_002221_hash pppoe_recvmsg 4 15073 _002221_hash NULL -+_002222_hash pppol2tp_recvmsg 4 57742 _003858_hash NULL nohasharray -+_002223_hash qla2x00_adjust_sdev_qdepth_up 2 20097 _002223_hash NULL -+_002224_hash qla2x00_change_queue_depth 2 24742 _002224_hash NULL -+_002225_hash raw_recvmsg 4 52529 _002225_hash NULL -+_002226_hash rawsock_recvmsg 4 12144 _002226_hash NULL -+_002227_hash rawv6_recvmsg 4 30265 _002227_hash NULL -+_002228_hash reada_add_block 2 54247 _002228_hash NULL -+_002229_hash readahead_tree_block 3 36285 _002229_hash NULL -+_002230_hash reada_tree_block_flagged 3 18402 _002230_hash NULL -+_002231_hash read_tree_block 3 841 _002231_hash NULL -+_002232_hash recover_peb 6-7 29238 _002232_hash NULL -+_002234_hash recv_msg 4 48709 _002234_hash NULL -+_002235_hash recv_stream 4 30138 _002235_hash NULL -+_002236_hash _req_append_segment 2 41031 _002236_hash NULL -+_002237_hash request_key_async 4 6990 _002237_hash NULL -+_002238_hash request_key_async_with_auxdata 4 46624 _002238_hash NULL -+_002239_hash request_key_with_auxdata 4 24515 _002239_hash NULL -+_002240_hash rose_recvmsg 4 2368 _002240_hash NULL -+_002241_hash rxrpc_recvmsg 4 26233 _002241_hash NULL -+_002242_hash rx_streaming_always_read 3 49401 _002242_hash NULL -+_002243_hash rx_streaming_interval_read 3 55291 _002243_hash NULL -+_002244_hash sas_change_queue_depth 2 18555 _002244_hash NULL -+_002245_hash scsi_activate_tcq 2 42640 _002245_hash NULL -+_002246_hash scsi_deactivate_tcq 2 47086 _002246_hash NULL -+_002247_hash scsi_execute 5 33596 _002247_hash NULL -+_002248_hash _scsih_adjust_queue_depth 2 1083 _002248_hash NULL -+_002249_hash scsi_init_shared_tag_map 2 59812 _002249_hash NULL -+_002250_hash scsi_track_queue_full 2 44239 _002250_hash NULL -+_002251_hash sctp_recvmsg 4 23265 _002251_hash NULL -+_002252_hash send_stream 4 3397 _002252_hash NULL -+_002253_hash skb_copy_and_csum_datagram_iovec 2 24466 _002253_hash NULL -+_002255_hash snd_gf1_mem_proc_dump 5 16926 _003922_hash NULL nohasharray -+_002256_hash split_scan_timeout_read 3 20029 _002256_hash NULL -+_002257_hash sta_dev_read 3 14782 _002257_hash NULL -+_002258_hash sta_inactive_ms_read 3 25690 _002258_hash NULL -+_002259_hash sta_last_signal_read 3 31818 _002259_hash NULL -+_002260_hash stats_dot11ACKFailureCount_read 3 45558 _002260_hash NULL -+_002261_hash stats_dot11FCSErrorCount_read 3 28154 _002261_hash NULL -+_002262_hash stats_dot11RTSFailureCount_read 3 43948 _002262_hash NULL -+_002263_hash stats_dot11RTSSuccessCount_read 3 33065 _002263_hash NULL -+_002264_hash storvsc_connect_to_vsp 2 22 _002264_hash NULL -+_002265_hash suspend_dtim_interval_read 3 64971 _002265_hash NULL -+_002266_hash sys_msgrcv 3 959 _002266_hash NULL -+_002267_hash tcm_loop_change_queue_depth 2 42454 _002267_hash NULL -+_002268_hash tcp_copy_to_iovec 3 28344 _002268_hash NULL -+_002269_hash tcp_recvmsg 4 31238 _002269_hash NULL -+_002270_hash timeout_read 3 47915 _002270_hash NULL -+_002271_hash total_ps_buffered_read 3 16365 _002271_hash NULL -+_002272_hash tun_put_user 4 59849 _002272_hash NULL -+_002273_hash twa_change_queue_depth 2 48808 _002273_hash NULL -+_002274_hash tw_change_queue_depth 2 11116 _002274_hash NULL -+_002275_hash twl_change_queue_depth 2 41342 _002275_hash NULL -+_002276_hash ubi_eba_write_leb 5-6 19826 _002276_hash NULL -+_002278_hash ubi_eba_write_leb_st 5 27896 _002278_hash NULL -+_002279_hash udp_recvmsg 4 42558 _002279_hash NULL -+_002280_hash udpv6_recvmsg 4 9813 _002280_hash &_002171_hash -+_002281_hash ulong_read_file 3 42304 _002281_hash &_000511_hash -+_002282_hash unix_dgram_recvmsg 4 14952 _002282_hash NULL -+_002283_hash user_power_read 3 39414 _002283_hash NULL -+_002284_hash vcc_recvmsg 4 37198 _002284_hash NULL -+_002285_hash wep_iv_read 3 54744 _002285_hash NULL -+_002286_hash x25_recvmsg 4 42777 _002286_hash NULL -+_002287_hash xfs_iext_insert 3 18667 _003817_hash NULL nohasharray -+_002288_hash xfs_iext_remove 3 50909 _002288_hash NULL -+_002289_hash xlog_find_verify_log_record 2 18870 _002289_hash NULL -+_002290_hash btrfs_alloc_free_block 3 29982 _002290_hash NULL -+_002291_hash cx18_read_pos 3 4683 _002291_hash NULL -+_002292_hash l2cap_sock_recvmsg 4 59886 _002292_hash NULL -+_002293_hash osd_req_list_dev_partitions 4 60027 _002293_hash NULL -+_002294_hash osd_req_list_partition_collections 5 38223 _002294_hash NULL -+_002295_hash osst_do_scsi 4 44410 _002295_hash NULL -+_002296_hash qla2x00_handle_queue_full 2 24365 _002296_hash NULL -+_002297_hash rfcomm_sock_recvmsg 4 22227 _002297_hash NULL -+_002298_hash scsi_execute_req 5 42088 _002298_hash NULL -+_002299_hash _scsih_change_queue_depth 2 26230 _002299_hash NULL -+_002300_hash spi_execute 5 28736 _002300_hash NULL -+_002301_hash submit_inquiry 3 42108 _002301_hash NULL -+_002302_hash tcp_dma_try_early_copy 3 37651 _002302_hash NULL -+_002303_hash tun_do_read 4 50800 _002303_hash NULL -+_002304_hash ubi_eba_atomic_leb_change 5 13041 _002304_hash NULL -+_002305_hash ubi_leb_write 4-5 41691 _002305_hash NULL -+_002307_hash unix_seqpacket_recvmsg 4 23062 _003542_hash NULL nohasharray -+_002308_hash write_leb 5 36957 _002308_hash NULL -+_002309_hash ch_do_scsi 4 31171 _002309_hash NULL -+_002310_hash dbg_leb_write 4-5 20478 _002310_hash NULL -+_002312_hash scsi_mode_sense 5 16835 _002312_hash NULL -+_002313_hash scsi_vpd_inquiry 4 30040 _002313_hash NULL -+_002314_hash ses_recv_diag 4 47143 _002314_hash &_000673_hash -+_002315_hash ses_send_diag 4 64527 _002315_hash NULL -+_002316_hash spi_dv_device_echo_buffer 2-3 39846 _002316_hash NULL -+_002318_hash ubifs_leb_write 4-5 61226 _002318_hash NULL -+_002320_hash ubi_leb_change 4 14899 _002320_hash NULL -+_002321_hash ubi_write 4-5 30809 _002321_hash NULL -+_002322_hash dbg_leb_change 4 19969 _002322_hash NULL -+_002323_hash gluebi_write 3 27905 _002323_hash NULL -+_002324_hash scsi_get_vpd_page 4 51951 _002324_hash NULL -+_002325_hash sd_do_mode_sense 5 11507 _002325_hash NULL -+_002326_hash ubifs_leb_change 4 22399 _002436_hash NULL nohasharray -+_002327_hash ubifs_write_node 5 15088 _002327_hash NULL -+_002328_hash fixup_leb 3 43256 _002328_hash NULL -+_002329_hash recover_head 3 17904 _002329_hash NULL -+_002330_hash alloc_cpu_rmap 1 65363 _002330_hash NULL -+_002331_hash alloc_ebda_hpc 1-2 50046 _002331_hash NULL -+_002333_hash alloc_sched_domains 1 28972 _002333_hash NULL -+_002334_hash amthi_read 4 45831 _002334_hash NULL -+_002335_hash bcm_char_read 3 31750 _002335_hash NULL -+_002336_hash BcmCopySection 5 2035 _002336_hash NULL -+_002337_hash buffer_from_user 3 51826 _002337_hash NULL -+_002338_hash buffer_to_user 3 35439 _002338_hash NULL -+_002339_hash c4iw_init_resource_fifo 3 48090 _002339_hash NULL -+_002340_hash c4iw_init_resource_fifo_random 3 25547 _002340_hash NULL -+_002341_hash card_send_command 3 40757 _002341_hash NULL -+_002342_hash chd_dec_fetch_cdata 3 50926 _002342_hash NULL -+_002343_hash crystalhd_create_dio_pool 2 3427 _002343_hash NULL -+_002344_hash crystalhd_user_data 3 18407 _002344_hash NULL -+_002345_hash cxio_init_resource_fifo 3 28764 _002345_hash NULL -+_002346_hash cxio_init_resource_fifo_random 3 47151 _002346_hash NULL -+_002347_hash do_pages_stat 2 4437 _002347_hash NULL -+_002348_hash do_read_log_to_user 4 3236 _002348_hash NULL -+_002349_hash do_write_log_from_user 3 39362 _002349_hash NULL -+_002350_hash dt3155_read 3 59226 _002350_hash NULL -+_002351_hash easycap_alsa_vmalloc 2 14426 _002351_hash NULL -+_002352_hash evm_read_key 3 54674 _002352_hash NULL -+_002353_hash evm_write_key 3 27715 _002353_hash NULL -+_002354_hash fir16_create 3 5574 _002354_hash NULL -+_002355_hash iio_allocate_device 1 18821 _002355_hash NULL -+_002356_hash __iio_allocate_kfifo 2-3 55738 _002356_hash NULL -+_002358_hash __iio_allocate_sw_ring_buffer 3 4843 _002358_hash NULL -+_002359_hash iio_debugfs_read_reg 3 60908 _002359_hash NULL -+_002360_hash iio_debugfs_write_reg 3 22742 _002360_hash NULL -+_002361_hash iio_event_chrdev_read 3 54757 _002361_hash NULL -+_002362_hash iio_read_first_n_kfifo 2 57910 _002362_hash NULL -+_002363_hash iio_read_first_n_sw_rb 2 51911 _002363_hash NULL -+_002364_hash ioapic_setup_resources 1 35255 _002364_hash NULL -+_002365_hash keymap_store 4 45406 _002365_hash NULL -+_002366_hash kzalloc_node 1 24352 _002366_hash NULL -+_002367_hash line6_alloc_sysex_buffer 4 28225 _002367_hash NULL -+_002368_hash line6_dumpreq_initbuf 3 53123 _002368_hash NULL -+_002369_hash line6_midibuf_init 2 52425 _002369_hash NULL -+_002370_hash lirc_write 3 20604 _002370_hash NULL -+_002371_hash _malloc 1 54077 _002371_hash NULL -+_002372_hash mei_read 3 6507 _002372_hash NULL -+_002373_hash mei_write 3 4005 _002373_hash NULL -+_002374_hash mempool_create_node 1 44715 _002374_hash NULL -+_002375_hash msg_set 3 51725 _002375_hash NULL -+_002376_hash newpart 6 47485 _002376_hash NULL -+_002377_hash OS_kmalloc 1 36909 _002377_hash NULL -+_002378_hash pcpu_alloc_bootmem 2 62074 _002378_hash NULL -+_002379_hash pcpu_get_vm_areas 3 50085 _002379_hash NULL -+_002380_hash resource_from_user 3 30341 _002380_hash NULL -+_002381_hash sca3000_read_data 4 57064 _002381_hash NULL -+_002382_hash sca3000_read_first_n_hw_rb 2 11479 _002382_hash NULL -+_002383_hash send_midi_async 3 57463 _002383_hash NULL -+_002384_hash sep_create_dcb_dmatables_context 6 37551 _002384_hash NULL -+_002385_hash sep_create_dcb_dmatables_context_kernel 6 49728 _002385_hash NULL -+_002386_hash sep_create_msgarea_context 4 33829 _002386_hash NULL -+_002387_hash sep_lli_table_secure_dma 2-3 64042 _002387_hash NULL -+_002389_hash sep_lock_user_pages 2-3 57470 _002389_hash &_002154_hash -+_002391_hash sep_prepare_input_output_dma_table_in_dcb 4-5-2-3 63087 _002391_hash NULL -+_002393_hash sep_read 3 17161 _002393_hash NULL -+_002394_hash TransmitTcb 4 12989 _002394_hash NULL -+_002395_hash ValidateDSDParamsChecksum 3 63654 _002395_hash NULL -+_002396_hash Wb35Reg_BurstWrite 4 62327 _002396_hash NULL -+_002397_hash __alloc_bootmem_low_node 2 25726 _002397_hash &_001499_hash -+_002398_hash __alloc_bootmem_node 2 1992 _002398_hash NULL -+_002399_hash alloc_irq_cpu_rmap 1 28459 _002399_hash NULL -+_002400_hash alloc_ring 2-4 18278 _002400_hash NULL -+_002402_hash c4iw_init_resource 2-3 30393 _002402_hash NULL -+_002404_hash cxio_hal_init_resource 2-7-6 29771 _002404_hash &_000284_hash -+_002407_hash cxio_hal_init_rhdl_resource 1 25104 _002407_hash NULL -+_002408_hash disk_expand_part_tbl 2 30561 _002408_hash NULL -+_002409_hash InterfaceTransmitPacket 3 42058 _002409_hash NULL -+_002410_hash line6_dumpreq_init 3 34473 _002410_hash NULL -+_002411_hash mempool_create 1 29437 _002411_hash NULL -+_002412_hash pcpu_fc_alloc 2 11818 _002412_hash NULL -+_002413_hash pod_alloc_sysex_buffer 3 31651 _002413_hash NULL -+_002414_hash r8712_usbctrl_vendorreq 6 48489 _002414_hash NULL -+_002415_hash r871x_set_wpa_ie 3 7000 _002415_hash NULL -+_002416_hash sys_move_pages 2 42626 _002416_hash NULL -+_002417_hash variax_alloc_sysex_buffer 3 15237 _002417_hash NULL -+_002418_hash vme_user_write 3 15587 _002418_hash NULL -+_002419_hash add_partition 2 55588 _002419_hash NULL -+_002420_hash __alloc_bootmem_node_high 2 65076 _002420_hash NULL -+_002421_hash ceph_msgpool_init 3 33312 _002421_hash NULL -+_002423_hash mempool_create_kmalloc_pool 1 41650 _002423_hash NULL -+_002424_hash mempool_create_page_pool 1 30189 _002424_hash NULL -+_002425_hash mempool_create_slab_pool 1 62907 _002425_hash NULL -+_002426_hash variax_set_raw2 4 32374 _002426_hash NULL -+_002427_hash bioset_create 1 5580 _002427_hash NULL -+_002428_hash bioset_integrity_create 2 62708 _002428_hash NULL -+_002429_hash biovec_create_pools 2 9575 _002429_hash NULL -+_002430_hash i2o_pool_alloc 4 55485 _002430_hash NULL -+_002431_hash prison_create 1 43623 _002431_hash NULL -+_002432_hash unlink_simple 3 47506 _002432_hash NULL -+_002433_hash alloc_ieee80211 1 20063 _002433_hash NULL -+_002434_hash alloc_ieee80211_rsl 1 34564 _002434_hash NULL -+_002435_hash alloc_page_cgroup 1 2919 _002435_hash NULL -+_002436_hash alloc_private 2 22399 _002436_hash &_002326_hash -+_002437_hash alloc_rtllib 1 51136 _002437_hash NULL -+_002438_hash alloc_rx_desc_ring 2 18016 _002438_hash NULL -+_002439_hash alloc_subdevices 2 43300 _002439_hash NULL -+_002440_hash atomic_counters_read 3 48827 _002440_hash NULL -+_002441_hash atomic_stats_read 3 36228 _002441_hash NULL -+_002442_hash capabilities_read 3 58457 _002442_hash NULL -+_002443_hash comedi_read 3 13199 _002443_hash NULL -+_002444_hash comedi_write 3 47926 _002444_hash NULL -+_002445_hash compat_do_arpt_set_ctl 4 12184 _002445_hash NULL -+_002446_hash compat_do_ip6t_set_ctl 4 3184 _002446_hash NULL -+_002447_hash compat_do_ipt_set_ctl 4 58466 _002447_hash &_001852_hash -+_002448_hash compat_filldir 3 32999 _002448_hash NULL -+_002449_hash compat_filldir64 3 35354 _002449_hash NULL -+_002450_hash compat_fillonedir 3 15620 _002450_hash NULL -+_002451_hash compat_rw_copy_check_uvector 3 25242 _002451_hash NULL -+_002452_hash compat_sock_setsockopt 5 23 _002452_hash NULL -+_002453_hash compat_sys_kexec_load 2 35674 _002453_hash NULL -+_002454_hash compat_sys_keyctl 4 9639 _002454_hash NULL -+_002455_hash compat_sys_move_pages 2 5861 _002455_hash NULL -+_002456_hash compat_sys_mq_timedsend 3 31060 _002456_hash NULL -+_002457_hash compat_sys_msgrcv 2 7482 _002457_hash NULL -+_002458_hash compat_sys_msgsnd 2 10738 _002458_hash NULL -+_002459_hash compat_sys_semtimedop 3 3606 _002459_hash NULL -+_002460_hash __copy_in_user 3 34790 _002460_hash NULL -+_002461_hash copy_in_user 3 57502 _002461_hash NULL -+_002462_hash dev_counters_read 3 19216 _002462_hash NULL -+_002463_hash dev_names_read 3 38509 _002463_hash NULL -+_002464_hash do_arpt_set_ctl 4 51053 _002464_hash NULL -+_002465_hash do_ip6t_set_ctl 4 60040 _002465_hash NULL -+_002466_hash do_ipt_set_ctl 4 56238 _002466_hash NULL -+_002467_hash drbd_bm_resize 2 20522 _002467_hash NULL -+_002468_hash driver_names_read 3 60399 _002468_hash NULL -+_002469_hash driver_stats_read 3 8944 _002469_hash NULL -+_002470_hash __earlyonly_bootmem_alloc 2 23824 _002470_hash NULL -+_002471_hash evtchn_read 3 3569 _002471_hash NULL -+_002472_hash ext_sd_execute_read_data 9 48589 _002472_hash NULL -+_002473_hash ext_sd_execute_write_data 9 8175 _002473_hash NULL -+_002474_hash fat_compat_ioctl_filldir 3 36328 _002474_hash NULL -+_002475_hash firmwareUpload 3 32794 _002475_hash NULL -+_002476_hash flash_read 3 57843 _002476_hash NULL -+_002477_hash flash_write 3 62354 _002477_hash NULL -+_002478_hash gather_array 3 56641 _002478_hash NULL -+_002479_hash ghash_async_setkey 3 60001 _002479_hash NULL -+_002480_hash gntdev_alloc_map 2 35145 _002480_hash NULL -+_002481_hash gnttab_map 2 56439 _002481_hash NULL -+_002482_hash gru_alloc_gts 2-3 60056 _003495_hash NULL nohasharray -+_002484_hash handle_eviocgbit 3 44193 _002484_hash NULL -+_002485_hash hid_parse_report 3 51737 _002485_hash NULL -+_002486_hash ieee80211_alloc_txb 1-2 52477 _002486_hash NULL -+_002487_hash ieee80211_wx_set_gen_ie 3 51399 _002487_hash NULL -+_002488_hash ieee80211_wx_set_gen_ie_rsl 3 3521 _002488_hash NULL -+_002489_hash init_cdev 1 8274 _002489_hash NULL -+_002490_hash init_per_cpu 1 17880 _002490_hash NULL -+_002491_hash ipath_create_cq 2 45586 _002491_hash NULL -+_002492_hash ipath_get_base_info 3 7043 _002492_hash NULL -+_002493_hash ipath_init_qp_table 2 25167 _002493_hash NULL -+_002494_hash ipath_resize_cq 2 712 _002494_hash NULL -+_002495_hash ni_gpct_device_construct 5 610 _002495_hash NULL -+_002496_hash options_write 3 47243 _002496_hash NULL -+_002497_hash portcntrs_1_read 3 47253 _002497_hash NULL -+_002498_hash portcntrs_2_read 3 56586 _002498_hash NULL -+_002499_hash portnames_read 3 41958 _002499_hash NULL -+_002500_hash ptc_proc_write 3 12076 _002500_hash NULL -+_002501_hash put_cmsg_compat 4 35937 _002501_hash NULL -+_002502_hash qib_alloc_devdata 2 51819 _002502_hash NULL -+_002503_hash qib_alloc_fast_reg_page_list 2 10507 _002503_hash NULL -+_002504_hash qib_cdev_init 1 34778 _002504_hash NULL -+_002505_hash qib_create_cq 2 27497 _002505_hash NULL -+_002506_hash qib_diag_write 3 62133 _002506_hash NULL -+_002507_hash qib_get_base_info 3 11369 _002507_hash NULL -+_002508_hash qib_resize_cq 2 53090 _002508_hash NULL -+_002509_hash qsfp_1_read 3 21915 _002509_hash NULL -+_002510_hash qsfp_2_read 3 31491 _002510_hash NULL -+_002511_hash queue_reply 3 22416 _002511_hash NULL -+_002512_hash Realloc 2 34961 _002512_hash NULL -+_002513_hash rfc4106_set_key 3 54519 _002513_hash NULL -+_002514_hash rtllib_alloc_txb 1-2 21687 _002514_hash NULL -+_002515_hash rtllib_wx_set_gen_ie 3 59808 _002515_hash NULL -+_002516_hash rts51x_transfer_data_partial 6 5735 _002516_hash NULL -+_002517_hash sparse_early_usemaps_alloc_node 4 9269 _002517_hash NULL -+_002518_hash split 2 11691 _002518_hash NULL -+_002519_hash stats_read_ul 3 32751 _002519_hash NULL -+_002520_hash store_debug_level 3 35652 _002520_hash NULL -+_002521_hash sys32_ipc 3 7238 _002521_hash NULL -+_002522_hash sys32_rt_sigpending 2 25814 _002522_hash NULL -+_002523_hash tunables_read 3 36385 _002523_hash NULL -+_002524_hash tunables_write 3 59563 _002524_hash NULL -+_002525_hash u32_array_read 3 2219 _002525_hash NULL -+_002526_hash usb_buffer_alloc 2 36276 _002526_hash NULL -+_002527_hash xenbus_file_write 3 6282 _002527_hash NULL -+_002528_hash xpc_kmalloc_cacheline_aligned 1 42895 _002528_hash NULL -+_002529_hash xpc_kzalloc_cacheline_aligned 1 65433 _002529_hash NULL -+_002530_hash xsd_read 3 15653 _002530_hash NULL -+_002531_hash compat_do_readv_writev 4 49102 _002531_hash NULL -+_002532_hash compat_keyctl_instantiate_key_iov 3 57431 _003110_hash NULL nohasharray -+_002533_hash compat_process_vm_rw 3-5 22254 _002533_hash NULL -+_002535_hash compat_sys_setsockopt 5 3326 _002535_hash NULL -+_002536_hash ipath_cdev_init 1 37752 _002536_hash NULL -+_002537_hash ms_read_multiple_pages 4-5 8052 _002537_hash NULL -+_002539_hash ms_write_multiple_pages 5-6 10362 _002539_hash NULL -+_002541_hash sparse_mem_maps_populate_node 4 12669 _002541_hash &_002004_hash -+_002542_hash vmemmap_alloc_block 1 43245 _002542_hash NULL -+_002543_hash xd_read_multiple_pages 4-5 11422 _002543_hash NULL -+_002545_hash xd_write_multiple_pages 5-6 53633 _002545_hash NULL -+_002546_hash compat_readv 3 30273 _002546_hash NULL -+_002547_hash compat_sys_process_vm_readv 3-5 15374 _002547_hash NULL -+_002549_hash compat_sys_process_vm_writev 3-5 41194 _002549_hash NULL -+_002551_hash compat_writev 3 60063 _002551_hash NULL -+_002552_hash ms_rw_multi_sector 4-3 7459 _002552_hash NULL -+_002553_hash sparse_early_mem_maps_alloc_node 4 36971 _002553_hash NULL -+_002554_hash vmemmap_alloc_block_buf 1 61126 _002554_hash NULL -+_002555_hash xd_rw 4-3 49020 _002555_hash NULL -+_002556_hash compat_sys_preadv64 3 24283 _002556_hash NULL -+_002557_hash compat_sys_pwritev64 3 51151 _002557_hash NULL -+_002558_hash compat_sys_readv 3 20911 _002558_hash NULL -+_002559_hash compat_sys_writev 3 5784 _002559_hash NULL -+_002560_hash ms_rw 4 17220 _002560_hash NULL -+_002561_hash compat_sys_preadv 3 583 _002561_hash NULL -+_002562_hash compat_sys_pwritev 3 17886 _002562_hash NULL -+_002563_hash alloc_apertures 1 56561 _002563_hash NULL -+_002564_hash bin_uuid 3 28999 _002564_hash NULL -+_002565_hash __copy_from_user_inatomic_nocache 3 49921 _002565_hash NULL -+_002566_hash do_dmabuf_dirty_sou 7 3017 _002566_hash NULL -+_002567_hash do_surface_dirty_sou 7 39678 _002567_hash NULL -+_002568_hash drm_agp_bind_pages 3 56748 _002568_hash NULL -+_002569_hash drm_calloc_large 1-2 65421 _002569_hash NULL -+_002571_hash drm_fb_helper_init 3-4 19044 _002571_hash NULL -+_002573_hash drm_ht_create 2 18853 _002573_hash NULL -+_002574_hash drm_malloc_ab 1-2 16831 _002574_hash NULL -+_002576_hash drm_mode_crtc_set_gamma_size 2 31881 _002576_hash NULL -+_002577_hash drm_plane_init 6 28731 _002577_hash NULL -+_002578_hash drm_property_create 4 51239 _002578_hash NULL -+_002579_hash drm_property_create_blob 2 7414 _002579_hash NULL -+_002580_hash drm_vblank_init 2 11362 _002580_hash NULL -+_002581_hash drm_vmalloc_dma 1 14550 _002581_hash NULL -+_002582_hash fb_alloc_cmap_gfp 2 20792 _002582_hash NULL -+_002583_hash fbcon_prepare_logo 5 6246 _002583_hash NULL -+_002584_hash fb_read 3 33506 _002584_hash NULL -+_002585_hash fb_write 3 46924 _002585_hash NULL -+_002586_hash framebuffer_alloc 1 59145 _002586_hash NULL -+_002587_hash i915_cache_sharing_read 3 24775 _002587_hash NULL -+_002588_hash i915_cache_sharing_write 3 57961 _002588_hash NULL -+_002589_hash i915_max_freq_read 3 20581 _002589_hash NULL -+_002590_hash i915_max_freq_write 3 11350 _002590_hash NULL -+_002591_hash i915_wedged_read 3 35474 _002591_hash NULL -+_002592_hash i915_wedged_write 3 47771 _002592_hash NULL -+_002593_hash p9_client_read 5 19750 _002593_hash NULL -+_002594_hash probe_kernel_write 3 17481 _002594_hash NULL -+_002595_hash sched_feat_write 3 55202 _002595_hash NULL -+_002596_hash sd_alloc_ctl_entry 1 29708 _002596_hash NULL -+_002597_hash tstats_write 3 60432 _002597_hash &_000009_hash -+_002598_hash ttm_bo_fbdev_io 4 9805 _002598_hash NULL -+_002599_hash ttm_bo_io 5 47000 _002599_hash NULL -+_002600_hash ttm_dma_page_pool_free 2 34135 _002600_hash NULL -+_002601_hash ttm_page_pool_free 2 61661 _002601_hash NULL -+_002602_hash vmw_execbuf_process 5 22885 _002602_hash NULL -+_002603_hash vmw_fifo_reserve 2 12141 _002603_hash NULL -+_002604_hash vmw_kms_present 9 38130 _002604_hash NULL -+_002605_hash vmw_kms_readback 6 5727 _002605_hash NULL -+_002606_hash do_dmabuf_dirty_ldu 6 52241 _002606_hash NULL -+_002607_hash drm_mode_create_tv_properties 2 23122 _002607_hash NULL -+_002608_hash drm_property_create_enum 5 29201 _002608_hash NULL -+_002609_hash fast_user_write 5 20494 _002609_hash NULL -+_002610_hash fb_alloc_cmap 2 6554 _002610_hash NULL -+_002611_hash i915_gem_execbuffer_relocate_slow 7 25355 _002611_hash NULL -+_002612_hash kgdb_hex2mem 3 24755 _002612_hash NULL -+_002613_hash ttm_object_device_init 2 10321 _002613_hash NULL -+_002614_hash ttm_object_file_init 2 27804 _002614_hash NULL -+_002615_hash vmw_cursor_update_image 3-4 16332 _002615_hash NULL -+_002617_hash vmw_gmr2_bind 3 21305 _002617_hash NULL -+_002618_hash vmw_cursor_update_dmabuf 3-4 32045 _002618_hash NULL -+_002620_hash vmw_gmr_bind 3 44130 _002620_hash NULL -+_002621_hash vmw_du_crtc_cursor_set 4-5 28479 _002621_hash NULL -+_002622_hash __module_alloc 1 50004 _002622_hash NULL -+_002623_hash module_alloc_update_bounds_rw 1 63233 _002623_hash NULL -+_002624_hash module_alloc_update_bounds_rx 1 58634 _002624_hash NULL -+_002625_hash acpi_system_write_alarm 3 40205 _002625_hash NULL -+_002626_hash create_table 2 16213 _002626_hash NULL -+_002627_hash mem_read 3 57631 _002627_hash NULL -+_002628_hash mem_write 3 22232 _002628_hash NULL -+_002629_hash proc_fault_inject_read 3 36802 _002629_hash NULL -+_002630_hash proc_fault_inject_write 3 21058 _002630_hash NULL -+_002631_hash v9fs_fid_readn 4 60544 _002631_hash NULL -+_002632_hash v9fs_file_read 3 40858 _002632_hash NULL -+_002633_hash __devres_alloc 2 25598 _002633_hash NULL -+_002634_hash alloc_dummy_extent_buffer 2 56374 _002634_hash NULL -+_002635_hash alloc_fdtable 1 17389 _002635_hash NULL -+_002636_hash alloc_large_system_hash 2 22391 _002636_hash NULL -+_002637_hash alloc_ldt 2 21972 _002637_hash NULL -+_002638_hash __alloc_skb 1 23940 _002638_hash NULL -+_002639_hash __ata_change_queue_depth 3 23484 _002639_hash NULL -+_002640_hash btrfs_alloc_free_block 3 8986 _002640_hash NULL -+_002641_hash btrfs_find_device_for_logical 2 44993 _002641_hash NULL -+_002642_hash ccid3_hc_rx_getsockopt 3 62331 _002642_hash NULL -+_002643_hash ccid3_hc_tx_getsockopt 3 16314 _002643_hash NULL -+_002644_hash cifs_readdata_alloc 1 26360 _002644_hash NULL -+_002645_hash cistpl_vers_1 4 15023 _002645_hash NULL -+_002646_hash cmm_read 3 57520 _002646_hash NULL -+_002647_hash cosa_read 3 25966 _002647_hash NULL -+_002648_hash dm_table_create 3 35687 _002648_hash NULL -+_002649_hash dpcm_state_read_file 3 65489 _002649_hash NULL -+_002651_hash edac_mc_alloc 4 3611 _002651_hash NULL -+_002652_hash ep0_read 3 38095 _002652_hash NULL -+_002653_hash event_buffer_read 3 48772 _002765_hash NULL nohasharray -+_002654_hash extend_netdev_table 2 21453 _002654_hash NULL -+_002655_hash extract_entropy_user 3 26952 _003616_hash NULL nohasharray -+_002656_hash fcoe_ctlr_device_add 3 1793 _002656_hash NULL -+_002657_hash fd_do_readv 3 51297 _002657_hash NULL -+_002658_hash fd_do_writev 3 29329 _002658_hash NULL -+_002659_hash ffs_ep0_read 3 2672 _002659_hash NULL -+_002660_hash fill_readbuf 3 32464 _002660_hash NULL -+_002661_hash fw_iso_buffer_alloc 2 13704 _002661_hash NULL -+_002662_hash get_fd_set 1 3866 _002662_hash NULL -+_002663_hash hidraw_report_event 3 20503 _002663_hash NULL -+_002664_hash ieee80211_if_read_ht_opmode 3 29044 _002664_hash NULL -+_002665_hash ieee80211_if_read_num_mcast_sta 3 12419 _002665_hash NULL -+_002666_hash iwl_dbgfs_calib_disabled_read 3 22649 _002666_hash NULL -+_002667_hash iwl_dbgfs_rf_reset_read 3 26512 _002667_hash NULL -+_002668_hash ixgbe_alloc_q_vector 4-6 24439 _002668_hash NULL -+_002670_hash joydev_handle_JSIOCSAXMAP 3 48898 _002836_hash NULL nohasharray -+_002671_hash joydev_handle_JSIOCSBTNMAP 3 15643 _002671_hash NULL -+_002672_hash __kfifo_from_user_r 3 60345 _002672_hash NULL -+_002673_hash kstrtoint_from_user 2 8778 _002673_hash NULL -+_002674_hash kstrtol_from_user 2 10168 _002674_hash NULL -+_002675_hash kstrtoll_from_user 2 19500 _002675_hash NULL -+_002676_hash kstrtos16_from_user 2 28300 _002676_hash NULL -+_002677_hash kstrtos8_from_user 2 58268 _002677_hash NULL -+_002678_hash kstrtou16_from_user 2 54274 _002678_hash NULL -+_002679_hash kstrtou8_from_user 2 55599 _002679_hash NULL -+_002680_hash kstrtouint_from_user 2 10536 _002680_hash NULL -+_002681_hash kstrtoul_from_user 2 64569 _002681_hash NULL -+_002682_hash kstrtoull_from_user 2 63026 _002682_hash NULL -+_002683_hash l2cap_create_iframe_pdu 3 40055 _002683_hash NULL -+_002684_hash l2tp_ip6_recvmsg 4 62874 _002684_hash NULL -+_002685_hash mem_cgroup_read 5 22461 _002685_hash NULL -+_002686_hash nfs_fscache_get_super_cookie 3 44355 _002686_hash &_001648_hash -+_002687_hash nfs_pgarray_set 2 1085 _002687_hash NULL -+_002688_hash ntfs_rl_realloc 3 56831 _002688_hash &_000363_hash -+_002689_hash ntfs_rl_realloc_nofail 3 32173 _002689_hash NULL -+_002690_hash pn533_dep_link_up 5 22154 _002690_hash NULL -+_002691_hash port_fops_write 3 54627 _002691_hash NULL -+_002692_hash ptp_read 4 63251 _002692_hash NULL -+_002693_hash qla4xxx_change_queue_depth 2 1268 _002693_hash NULL -+_002694_hash reqsk_queue_alloc 2 40272 _002694_hash NULL -+_002695_hash resize_info_buffer 2 62889 _002695_hash NULL -+_002696_hash rfkill_fop_write 3 64808 _002696_hash NULL -+_002697_hash rt2x00debug_write_rfcsr 3 41473 _002697_hash NULL -+_002698_hash rvmalloc 1 46873 _002698_hash NULL -+_002699_hash rw_copy_check_uvector 3 45748 _003398_hash NULL nohasharray -+_002700_hash sctp_getsockopt_active_key 2 45483 _002700_hash NULL -+_002701_hash sctp_getsockopt_adaptation_layer 2 45375 _002701_hash NULL -+_002702_hash sctp_getsockopt_assoc_ids 2 9043 _002702_hash NULL -+_002703_hash sctp_getsockopt_associnfo 2 58169 _002703_hash NULL -+_002704_hash sctp_getsockopt_assoc_number 2 6384 _002704_hash NULL -+_002705_hash sctp_getsockopt_auto_asconf 2 46584 _002705_hash NULL -+_002706_hash sctp_getsockopt_context 2 52490 _002706_hash NULL -+_002707_hash sctp_getsockopt_default_send_param 2 63056 _002707_hash NULL -+_002708_hash sctp_getsockopt_disable_fragments 2 12330 _002708_hash NULL -+_002709_hash sctp_getsockopt_fragment_interleave 2 51215 _002709_hash NULL -+_002710_hash sctp_getsockopt_initmsg 2 26042 _002710_hash NULL -+_002711_hash sctp_getsockopt_mappedv4 2 20044 _002711_hash NULL -+_002712_hash sctp_getsockopt_nodelay 2 9560 _002712_hash NULL -+_002713_hash sctp_getsockopt_partial_delivery_point 2 60952 _002713_hash NULL -+_002714_hash sctp_getsockopt_peeloff 2 59190 _002714_hash NULL -+_002715_hash sctp_getsockopt_peer_addr_info 2 6024 _002715_hash NULL -+_002716_hash sctp_getsockopt_peer_addr_params 2 53645 _002716_hash NULL -+_002717_hash sctp_getsockopt_primary_addr 2 24639 _002717_hash NULL -+_002718_hash sctp_getsockopt_rtoinfo 2 62027 _002718_hash NULL -+_002719_hash sctp_getsockopt_sctp_status 2 56540 _002719_hash NULL -+_002720_hash self_check_write 5 50856 _002720_hash NULL -+_002721_hash smk_read_mapped 3 7562 _002721_hash NULL -+_002722_hash smk_set_cipso 3 20379 _002722_hash NULL -+_002723_hash smk_user_access 3 24440 _002723_hash NULL -+_002724_hash smk_write_mapped 3 13519 _002724_hash NULL -+_002725_hash smk_write_rules_list 3 18565 _002725_hash NULL -+_002726_hash snd_mixart_BA0_read 5 45069 _002726_hash NULL -+_002727_hash snd_mixart_BA1_read 5 5082 _002727_hash NULL -+_002728_hash snd_pcm_oss_read2 3 54387 _002728_hash NULL -+_002729_hash syslog_print 2 307 _002729_hash NULL -+_002730_hash tcp_dma_try_early_copy 3 4457 _002730_hash NULL -+_002731_hash tcp_send_rcvq 3 11316 _002731_hash NULL -+_002732_hash tomoyo_init_log 2 61526 _002732_hash NULL -+_002733_hash ubi_dump_flash 4 46381 _002733_hash NULL -+_002734_hash ubi_eba_atomic_leb_change 5 60379 _002734_hash NULL -+_002735_hash ubi_eba_write_leb 5-6 36029 _002735_hash NULL -+_002737_hash ubi_eba_write_leb_st 5 44343 _002737_hash NULL -+_002738_hash ubi_self_check_all_ff 4 41959 _002738_hash NULL -+_002739_hash unix_bind 3 15668 _002739_hash NULL -+_002740_hash usbvision_rvmalloc 1 19655 _002740_hash NULL -+_002742_hash v4l2_ctrl_new 7 24927 _002742_hash NULL -+_002743_hash v4l2_event_subscribe 3 53687 _002743_hash NULL -+_002744_hash v9fs_direct_read 3 45546 _002744_hash NULL -+_002745_hash v9fs_file_readn 4 36353 _002745_hash &_001606_hash -+_002746_hash __videobuf_alloc_vb 1 5665 _002746_hash NULL -+_002747_hash wm8350_write 3 24480 _002747_hash NULL -+_002748_hash xfs_buf_read_uncached 3 42844 _002748_hash NULL -+_002749_hash yurex_write 3 8761 _002749_hash NULL -+_002750_hash alloc_skb 1 55439 _002750_hash NULL -+_002751_hash alloc_skb_fclone 1 3467 _002751_hash NULL -+_002752_hash ata_scsi_change_queue_depth 2 23126 _002752_hash NULL -+_002753_hash ath6kl_disconnect_timeout_write 3 794 _002753_hash NULL -+_002754_hash ath6kl_keepalive_write 3 45600 _002754_hash NULL -+_002755_hash ath6kl_lrssi_roam_write 3 8362 _002755_hash NULL -+_002756_hash ath6kl_regread_write 3 14220 _002756_hash NULL -+_002757_hash core_sys_select 1 47494 _002757_hash NULL -+_002758_hash do_syslog 3 56807 _002758_hash NULL -+_002759_hash expand_fdtable 2 39273 _002759_hash NULL -+_002760_hash fd_execute_cmd 3 1132 _002760_hash NULL -+_002761_hash get_chars 3 40373 _002761_hash NULL -+_002762_hash hid_report_raw_event 4 2762 _002762_hash NULL -+_002763_hash inet_csk_listen_start 2 38233 _002763_hash NULL -+_002764_hash kstrtou32_from_user 2 30361 _002764_hash NULL -+_002765_hash l2cap_segment_sdu 4 48772 _002765_hash &_002653_hash -+_002766_hash __netdev_alloc_skb 2 18595 _002766_hash NULL -+_002767_hash nfs_readdata_alloc 2 65015 _002767_hash NULL -+_002768_hash nfs_writedata_alloc 2 12133 _002768_hash NULL -+_002769_hash ntfs_rl_append 2-4 6037 _002769_hash NULL -+_002771_hash ntfs_rl_insert 2-4 4931 _002771_hash NULL -+_002773_hash ntfs_rl_replace 2-4 14136 _002773_hash NULL -+_002775_hash ntfs_rl_split 2-4 52328 _002775_hash NULL -+_002777_hash port_fops_read 3 49626 _002777_hash NULL -+_002778_hash random_read 3 13815 _002778_hash NULL -+_002779_hash sg_proc_write_adio 3 45704 _002779_hash NULL -+_002780_hash sg_proc_write_dressz 3 46316 _002780_hash NULL -+_002781_hash tcp_sendmsg 4 30296 _002781_hash NULL -+_002782_hash tomoyo_write_log2 2 34318 _002782_hash NULL -+_002783_hash ubi_leb_change 4 10289 _002783_hash NULL -+_002784_hash ubi_leb_write 4-5 5478 _002784_hash NULL -+_002786_hash urandom_read 3 30462 _002786_hash NULL -+_002787_hash v9fs_cached_file_read 3 2514 _002787_hash NULL -+_002788_hash __videobuf_alloc_cached 1 12740 _002788_hash NULL -+_002789_hash __videobuf_alloc_uncached 1 55711 _002789_hash NULL -+_002790_hash wm8350_block_write 3 19727 _002790_hash NULL -+_002791_hash alloc_tx 2 32143 _002791_hash NULL -+_002792_hash alloc_wr 1-2 24635 _002792_hash NULL -+_002794_hash ath6kl_endpoint_stats_write 3 59621 _002794_hash NULL -+_002795_hash ath6kl_fwlog_mask_write 3 24810 _002795_hash NULL -+_002796_hash ath9k_wmi_cmd 4 327 _002796_hash NULL -+_002797_hash atm_alloc_charge 2 19517 _002879_hash NULL nohasharray -+_002798_hash ax25_output 2 22736 _002798_hash NULL -+_002799_hash bcsp_prepare_pkt 3 12961 _002799_hash NULL -+_002800_hash bt_skb_alloc 1 6404 _002800_hash NULL -+_002801_hash capinc_tty_write 3 28539 _002801_hash NULL -+_002802_hash cfpkt_create_pfx 1-2 23594 _002802_hash NULL -+_002804_hash cmd_complete 6 51629 _002804_hash NULL -+_002805_hash cmtp_add_msgpart 4 9252 _002805_hash NULL -+_002806_hash cmtp_send_interopmsg 7 376 _002806_hash NULL -+_002807_hash cxgb3_get_cpl_reply_skb 2 10620 _002807_hash NULL -+_002808_hash dbg_leb_change 4 23555 _002808_hash NULL -+_002809_hash dbg_leb_write 4-5 63555 _002809_hash &_000940_hash -+_002811_hash dccp_listen_start 2 35918 _002811_hash NULL -+_002812_hash __dev_alloc_skb 1 28681 _002812_hash NULL -+_002813_hash diva_os_alloc_message_buffer 1 64568 _002813_hash NULL -+_002814_hash dn_alloc_skb 2 6631 _002814_hash NULL -+_002815_hash do_pselect 1 62061 _002815_hash NULL -+_002816_hash _fc_frame_alloc 1 43568 _002816_hash NULL -+_002817_hash find_skb 2 20431 _002817_hash NULL -+_002818_hash fm_send_cmd 5 39639 _002818_hash NULL -+_002819_hash gem_alloc_skb 2 51715 _002819_hash NULL -+_002820_hash get_packet 3 41914 _002820_hash NULL -+_002821_hash get_packet 3 5747 _002821_hash NULL -+_002822_hash get_packet_pg 4 28023 _002822_hash NULL -+_002823_hash get_skb 2 63008 _002823_hash NULL -+_002824_hash hidp_queue_report 3 1881 _002824_hash NULL -+_002825_hash __hidp_send_ctrl_message 4 28303 _002825_hash NULL -+_002826_hash hycapi_rx_capipkt 3 11602 _002826_hash NULL -+_002827_hash i2400m_net_rx 5 27170 _002827_hash NULL -+_002828_hash igmpv3_newpack 2 35912 _002828_hash NULL -+_002829_hash inet_listen 2 14723 _002829_hash NULL -+_002830_hash isdn_net_ciscohdlck_alloc_skb 2 55209 _002830_hash &_001724_hash -+_002831_hash isdn_ppp_ccp_xmit_reset 6 63297 _002831_hash NULL -+_002832_hash kmsg_read 3 46514 _002832_hash NULL -+_002833_hash _l2_alloc_skb 1 11883 _002833_hash NULL -+_002834_hash l3_alloc_skb 1 32289 _002834_hash NULL -+_002835_hash llc_alloc_frame 4 64366 _002835_hash NULL -+_002836_hash mac_drv_rx_init 2 48898 _002836_hash &_002670_hash -+_002837_hash mgmt_event 4 12810 _002837_hash NULL -+_002838_hash mI_alloc_skb 1 24770 _002838_hash NULL -+_002839_hash nci_skb_alloc 2 49757 _002839_hash NULL -+_002840_hash netdev_alloc_skb 2 62437 _002840_hash NULL -+_002841_hash __netdev_alloc_skb_ip_align 2 55067 _002841_hash NULL -+_002842_hash new_skb 1 21148 _002842_hash NULL -+_002843_hash nfc_alloc_recv_skb 1 10244 _002843_hash NULL -+_002844_hash nfcwilink_skb_alloc 1 16167 _002844_hash NULL -+_002845_hash nfulnl_alloc_skb 2 65207 _002845_hash NULL -+_002846_hash ni65_alloc_mem 3 10664 _002846_hash NULL -+_002847_hash pep_alloc_skb 3 46303 _002847_hash NULL -+_002848_hash pn_raw_send 2 54330 _002848_hash NULL -+_002849_hash __pskb_copy 2 9038 _002849_hash NULL -+_002850_hash refill_pool 2 19477 _002850_hash NULL -+_002851_hash rfcomm_wmalloc 2 58090 _002851_hash NULL -+_002852_hash rx 4 57944 _002852_hash NULL -+_002853_hash sctp_ulpevent_new 1 33377 _002853_hash NULL -+_002854_hash send_command 4 10832 _002854_hash NULL -+_002855_hash skb_copy_expand 2-3 7685 _002855_hash &_000671_hash -+_002857_hash sk_stream_alloc_skb 2 57622 _002857_hash NULL -+_002858_hash sock_alloc_send_pskb 2 21246 _002858_hash NULL -+_002859_hash sock_rmalloc 2 59740 _002859_hash &_002157_hash -+_002860_hash sock_wmalloc 2 16472 _002860_hash NULL -+_002861_hash solos_param_store 4 34755 _002861_hash NULL -+_002862_hash sys_select 1 38827 _002862_hash NULL -+_002863_hash sys_syslog 3 10746 _002863_hash NULL -+_002864_hash t4vf_pktgl_to_skb 2 39005 _002864_hash NULL -+_002865_hash tcp_collapse 5-6 63294 _002865_hash NULL -+_002867_hash tipc_cfg_reply_alloc 1 27606 _002867_hash NULL -+_002868_hash ubifs_leb_change 4 17789 _002868_hash NULL -+_002869_hash ubifs_leb_write 4-5 22679 _002869_hash NULL -+_002871_hash ulog_alloc_skb 1 23427 _002871_hash NULL -+_002872_hash _alloc_mISDN_skb 3 52232 _002872_hash NULL -+_002873_hash ath9k_multi_regread 4 65056 _002873_hash NULL -+_002874_hash ath_rxbuf_alloc 2 24745 _002874_hash NULL -+_002875_hash ax25_send_frame 2 19964 _002875_hash NULL -+_002876_hash bchannel_get_rxbuf 2 37213 _002876_hash NULL -+_002877_hash cfpkt_create 1 18197 _002877_hash NULL -+_002878_hash console_store 4 36007 _002878_hash NULL -+_002879_hash dev_alloc_skb 1 19517 _002879_hash &_002797_hash -+_002880_hash dn_nsp_do_disc 2-6 49474 _002880_hash NULL -+_002882_hash do_write_orph_node 2 64343 _002882_hash NULL -+_002883_hash dsp_cmx_send_member 2 15625 _002883_hash NULL -+_002884_hash fc_frame_alloc 2 1596 _002884_hash NULL -+_002885_hash fc_frame_alloc_fill 2 59394 _002885_hash NULL -+_002886_hash fmc_send_cmd 5 20435 _002886_hash NULL -+_002887_hash hci_send_cmd 3 43810 _002887_hash NULL -+_002888_hash hci_si_event 3 1404 _002888_hash NULL -+_002889_hash hfcpci_empty_bfifo 4 62323 _002889_hash NULL -+_002890_hash hidp_send_ctrl_message 4 43702 _002890_hash NULL -+_002891_hash hysdn_sched_rx 3 60533 _002891_hash NULL -+_002892_hash inet_dccp_listen 2 28565 _002892_hash NULL -+_002893_hash ip6_append_data 4-5 36490 _002893_hash NULL -+_002894_hash __ip_append_data 7-8 36191 _002894_hash NULL -+_002895_hash l1oip_socket_recv 6 56537 _002895_hash NULL -+_002896_hash l2cap_build_cmd 4 48676 _002896_hash NULL -+_002897_hash l2down_create 4 21755 _002897_hash NULL -+_002898_hash l2up_create 3 6430 _002898_hash NULL -+_002899_hash ldisc_receive 4 41516 _002899_hash NULL -+_002902_hash lro_gen_skb 6 2644 _002902_hash NULL -+_002903_hash macvtap_alloc_skb 2-4-3 50629 _002903_hash NULL -+_002906_hash mgmt_device_found 10 14146 _002906_hash NULL -+_002907_hash nci_send_cmd 3 58206 _002907_hash NULL -+_002908_hash netdev_alloc_skb_ip_align 2 40811 _002908_hash NULL -+_002909_hash nfcwilink_send_bts_cmd 3 10802 _002909_hash NULL -+_002910_hash nfqnl_mangle 2 14583 _002910_hash NULL -+_002911_hash p54_alloc_skb 3 34366 _002911_hash &_000475_hash -+_002912_hash packet_alloc_skb 2-5-4 62602 _002912_hash NULL -+_002915_hash pep_indicate 5 38611 _002915_hash NULL -+_002916_hash pep_reply 5 50582 _002916_hash NULL -+_002917_hash pipe_handler_request 5 50774 _002917_hash &_001189_hash -+_002918_hash ql_process_mac_rx_page 4 15543 _002918_hash NULL -+_002919_hash ql_process_mac_rx_skb 4 6689 _002919_hash NULL -+_002920_hash rfcomm_tty_write 3 51603 _002920_hash NULL -+_002921_hash send_mpa_reject 3 7135 _002921_hash NULL -+_002922_hash send_mpa_reply 3 32372 _002922_hash NULL -+_002923_hash set_rxd_buffer_pointer 8 9950 _002923_hash NULL -+_002924_hash sge_rx 3 50594 _002924_hash NULL -+_002925_hash skb_cow_data 2 11565 _002925_hash NULL -+_002926_hash smp_build_cmd 3 45853 _002926_hash NULL -+_002927_hash sock_alloc_send_skb 2 23720 _002927_hash NULL -+_002928_hash sys_pselect6 1 57449 _002928_hash NULL -+_002929_hash tcp_fragment 3 20436 _002929_hash NULL -+_002930_hash teiup_create 3 43201 _002930_hash NULL -+_002931_hash tg3_run_loopback 2 30093 _002931_hash NULL -+_002932_hash tun_alloc_skb 2-4-3 41216 _002932_hash NULL -+_002935_hash ubifs_write_node 5-3 11258 _002935_hash NULL -+_002936_hash use_pool 2 64607 _002936_hash NULL -+_002937_hash vxge_rx_alloc 3 52024 _002937_hash NULL -+_002938_hash add_packet 3 54433 _002938_hash NULL -+_002939_hash add_rx_skb 3 8257 _002939_hash NULL -+_002940_hash ath6kl_buf_alloc 1 57304 _002940_hash NULL -+_002941_hash bat_iv_ogm_aggregate_new 2 2620 _002941_hash NULL -+_002942_hash bnx2fc_process_l2_frame_compl 3 65072 _002942_hash NULL -+_002943_hash brcmu_pkt_buf_get_skb 1 5556 _002943_hash NULL -+_002944_hash br_send_bpdu 3 29669 _002944_hash NULL -+_002945_hash bt_skb_send_alloc 2 6581 _002945_hash NULL -+_002946_hash c4iw_reject_cr 3 28174 _002946_hash NULL -+_002947_hash carl9170_rx_copy_data 2 21656 _002947_hash NULL -+_002948_hash cfpkt_add_body 3 44630 _002948_hash NULL -+_002949_hash cfpkt_append 3 61206 _002949_hash NULL -+_002950_hash cosa_net_setup_rx 2 38594 _002950_hash NULL -+_002951_hash cxgb4_pktgl_to_skb 2 61899 _002951_hash NULL -+_002952_hash dn_alloc_send_pskb 2 4465 _002952_hash NULL -+_002953_hash dn_nsp_return_disc 2 60296 _002953_hash NULL -+_002954_hash dn_nsp_send_disc 2 23469 _002954_hash NULL -+_002955_hash dsp_tone_hw_message 3 17678 _002955_hash NULL -+_002956_hash dvb_net_sec 3 37884 _002956_hash NULL -+_002957_hash e1000_check_copybreak 3 62448 _002957_hash NULL -+_002958_hash fast_rx_path 3 59214 _002958_hash NULL -+_002959_hash fc_fcp_frame_alloc 2 12624 _002959_hash NULL -+_002960_hash fcoe_ctlr_send_keep_alive 3 15308 _002960_hash NULL -+_002961_hash fwnet_incoming_packet 3 40380 _002961_hash NULL -+_002962_hash fwnet_pd_new 4 39947 _002962_hash NULL -+_002963_hash got_frame 2 16028 _002963_hash NULL -+_002964_hash gsm_mux_rx_netchar 3 33336 _002964_hash NULL -+_002965_hash hdlcdev_rx 3 997 _002965_hash NULL -+_002966_hash hdlc_empty_fifo 2 18397 _002966_hash NULL -+_002967_hash hfc_empty_fifo 2 57972 _002967_hash NULL -+_002968_hash hfcpci_empty_fifo 4 2427 _002968_hash NULL -+_002969_hash hfcsusb_rx_frame 3 52745 _002969_hash NULL -+_002970_hash hidp_output_raw_report 3 5629 _002970_hash NULL -+_002971_hash hscx_empty_fifo 2 13360 _002971_hash NULL -+_002972_hash hysdn_rx_netpkt 3 16136 _002972_hash NULL -+_002973_hash ieee80211_fragment 4 33112 _002973_hash NULL -+_002974_hash ieee80211_probereq_get 4-6 29069 _002974_hash NULL -+_002976_hash ieee80211_send_auth 5 24121 _002976_hash NULL -+_002977_hash ieee80211_set_probe_resp 3 10077 _002977_hash NULL -+_002978_hash ieee80211_tdls_mgmt 8 9581 _002978_hash NULL -+_002979_hash ip6_ufo_append_data 5-7-6 4780 _002979_hash NULL -+_002982_hash ip_ufo_append_data 6-8-7 12775 _002982_hash NULL -+_002985_hash ipw_packet_received_skb 2 1230 _002985_hash NULL -+_002986_hash iwch_reject_cr 3 23901 _002986_hash NULL -+_002987_hash iwm_rx_packet_alloc 3 9898 _002987_hash NULL -+_002988_hash ixgb_check_copybreak 3 5847 _002988_hash NULL -+_002989_hash l1oip_socket_parse 4 4507 _002989_hash NULL -+_002990_hash l2cap_send_cmd 4 14548 _002990_hash NULL -+_002991_hash l2tp_ip6_sendmsg 4 7461 _002991_hash NULL -+_002993_hash lowpan_fragment_xmit 3-4 22095 _002993_hash NULL -+_002996_hash mcs_unwrap_fir 3 25733 _002996_hash NULL -+_002997_hash mcs_unwrap_mir 3 9455 _002997_hash NULL -+_002998_hash mld_newpack 2 50950 _002998_hash NULL -+_002999_hash nfc_alloc_send_skb 4 3167 _002999_hash NULL -+_003000_hash p54_download_eeprom 4 43842 _003000_hash NULL -+_003002_hash ppp_tx_cp 5 62044 _003002_hash NULL -+_003003_hash prism2_send_mgmt 4 62605 _003003_hash &_001876_hash -+_003004_hash prism2_sta_send_mgmt 5 43916 _003004_hash NULL -+_003005_hash _queue_data 4 54983 _003005_hash NULL -+_003006_hash read_dma 3 55086 _003006_hash NULL -+_003007_hash read_fifo 3 826 _003007_hash NULL -+_003008_hash receive_copy 3 12216 _003008_hash NULL -+_003009_hash rtl8169_try_rx_copy 3 705 _003009_hash NULL -+_003010_hash _rtl92s_firmware_downloadcode 3 14021 _003010_hash NULL -+_003011_hash rx_data 4 60442 _003011_hash NULL -+_003012_hash sis190_try_rx_copy 3 57069 _003012_hash NULL -+_003013_hash skge_rx_get 3 40598 _003013_hash NULL -+_003014_hash tcp_mark_head_lost 2 35895 _003014_hash NULL -+_003015_hash tcp_match_skb_to_sack 3-4 23568 _003015_hash NULL -+_003017_hash tso_fragment 3 29050 _003017_hash NULL -+_003018_hash tt_response_fill_table 1 57902 _003018_hash NULL -+_003020_hash udpv6_sendmsg 4 22316 _003020_hash NULL -+_003021_hash velocity_rx_copy 2 34583 _003021_hash NULL -+_003022_hash W6692_empty_Bfifo 2 47804 _003022_hash NULL -+_003023_hash zd_mac_rx 3 38296 _003023_hash NULL -+_003024_hash ath6kl_wmi_get_new_buf 1 52304 _003024_hash NULL -+_003025_hash bat_iv_ogm_queue_add 3 30870 _003025_hash NULL -+_003026_hash brcmf_alloc_pkt_and_read 2 63116 _003026_hash &_001808_hash -+_003027_hash brcmf_sdcard_recv_buf 6 38179 _003027_hash NULL -+_003028_hash brcmf_sdcard_rwdata 5 65041 _003028_hash NULL -+_003029_hash brcmf_sdcard_send_buf 6 7713 _003029_hash NULL -+_003030_hash carl9170_handle_mpdu 3 11056 _003030_hash NULL -+_003031_hash cfpkt_add_trail 3 27260 _003031_hash NULL -+_003032_hash cfpkt_pad_trail 2 55511 _003032_hash NULL -+_003033_hash dvb_net_sec_callback 2 28786 _003033_hash NULL -+_003034_hash fwnet_receive_packet 9 50537 _003034_hash NULL -+_003035_hash handle_rx_packet 3 58993 _003035_hash NULL -+_003036_hash HDLC_irq 2 8709 _003036_hash NULL -+_003037_hash hdlc_rpr_irq 2 10240 _003037_hash NULL -+_003043_hash ipwireless_network_packet_received 4 51277 _003043_hash NULL -+_003044_hash l2cap_bredr_sig_cmd 3 49065 _003044_hash NULL -+_003045_hash l2cap_sock_alloc_skb_cb 2 33532 _003045_hash NULL -+_003046_hash llcp_allocate_pdu 3 19866 _003046_hash NULL -+_003047_hash ppp_cp_event 6 2965 _003047_hash NULL -+_003048_hash receive_client_update_packet 3 49104 _003048_hash NULL -+_003049_hash receive_server_sync_packet 3 59021 _003049_hash NULL -+_003050_hash sky2_receive 2 13407 _003050_hash NULL -+_003051_hash tcp_sacktag_walk 5-6 49703 _003051_hash NULL -+_003053_hash tcp_write_xmit 2 64602 _003053_hash NULL -+_003054_hash ath6kl_wmi_add_wow_pattern_cmd 4 12842 _003054_hash NULL -+_003055_hash ath6kl_wmi_beginscan_cmd 8 25462 _003055_hash NULL -+_003056_hash ath6kl_wmi_send_probe_response_cmd 6 31728 _003056_hash NULL -+_003057_hash ath6kl_wmi_set_appie_cmd 5 39266 _003057_hash NULL -+_003058_hash ath6kl_wmi_set_ie_cmd 6 37260 _003058_hash NULL -+_003059_hash ath6kl_wmi_startscan_cmd 8 33674 _003059_hash NULL -+_003060_hash ath6kl_wmi_test_cmd 3 27312 _003060_hash NULL -+_003061_hash brcmf_sdbrcm_membytes 3-5 37324 _003061_hash NULL -+_003063_hash brcmf_sdbrcm_read_control 3 22721 _003063_hash NULL -+_003064_hash brcmf_tx_frame 3 20978 _003064_hash NULL -+_003065_hash __carl9170_rx 3 56784 _003065_hash NULL -+_003066_hash cfpkt_setlen 2 49343 _003066_hash NULL -+_003067_hash hdlc_irq_one 2 3944 _003067_hash NULL -+_003069_hash tcp_push_one 2 48816 _003069_hash NULL -+_003070_hash __tcp_push_pending_frames 2 48148 _003070_hash NULL -+_003071_hash brcmf_sdbrcm_bus_txctl 3 42492 _003071_hash NULL -+_003072_hash carl9170_rx 3 13272 _003072_hash NULL -+_003073_hash carl9170_rx_stream 3 1334 _003073_hash NULL -+_003074_hash tcp_push 3 10680 _003074_hash NULL -+_003075_hash create_log 2 8225 _003075_hash NULL -+_003076_hash expand_files 2 17080 _003076_hash NULL -+_003077_hash iio_device_alloc 1 41440 _003077_hash NULL -+_003078_hash OS_mem_token_alloc 1 14276 _003078_hash NULL -+_003079_hash packet_came 3 18072 _003079_hash NULL -+_003080_hash softsynth_write 3 3455 _003080_hash NULL -+_003081_hash alloc_fd 1 37637 _003081_hash NULL -+_003082_hash sys_dup3 2 33421 _003082_hash NULL -+_003083_hash do_fcntl 3 31468 _003083_hash NULL -+_003084_hash sys_dup2 2 25284 _003084_hash NULL -+_003085_hash sys_fcntl 3 19267 _003085_hash NULL -+_003086_hash sys_fcntl64 3 29031 _003086_hash NULL -+_003087_hash cmpk_message_handle_tx 4 54024 _003087_hash NULL -+_003088_hash comedi_buf_alloc 3 24822 _003088_hash NULL -+_003089_hash compat_rw_copy_check_uvector 3 22001 _003089_hash &_001989_hash -+_003090_hash compat_sys_fcntl64 3 60256 _003090_hash NULL -+_003091_hash evtchn_write 3 43278 _003091_hash NULL -+_003092_hash fw_download_code 3 13249 _003092_hash NULL -+_003093_hash fwSendNullPacket 2 54618 _003093_hash NULL -+_003095_hash ieee80211_authentication_req 3 63973 _003095_hash NULL -+_003097_hash rtllib_authentication_req 3 26713 _003097_hash NULL -+_003098_hash SendTxCommandPacket 3 42901 _003098_hash NULL -+_003099_hash snd_nm256_capture_copy 5 28622 _003099_hash NULL -+_003100_hash snd_nm256_playback_copy 5 38567 _003100_hash NULL -+_003101_hash tomoyo_init_log 2 14806 _003101_hash NULL -+_003102_hash usbdux_attach_common 4 51764 _003271_hash NULL nohasharray -+_003103_hash compat_sys_fcntl 3 15654 _003103_hash NULL -+_003104_hash ieee80211_auth_challenge 3 18810 _003104_hash NULL -+_003105_hash ieee80211_rtl_auth_challenge 3 61897 _003105_hash NULL -+_003106_hash resize_async_buffer 4 64031 _003106_hash &_002119_hash -+_003107_hash rtllib_auth_challenge 3 12493 _003107_hash NULL -+_003108_hash tomoyo_write_log2 2 11732 _003108_hash NULL -+_003109_hash allocate_probes 1 40204 _003109_hash NULL -+_003110_hash alloc_ftrace_hash 1 57431 _003110_hash &_002532_hash -+_003111_hash __alloc_preds 2 9492 _003111_hash NULL -+_003112_hash __alloc_pred_stack 2 26687 _003112_hash NULL -+_003113_hash alloc_sched_domains 1 47756 _003113_hash NULL -+_003114_hash alloc_trace_probe 6 38720 _003114_hash NULL -+_003115_hash alloc_trace_uprobe 3 13870 _003850_hash NULL nohasharray -+_003116_hash arcfb_write 3 8702 _003116_hash NULL -+_003117_hash ath6kl_sdio_alloc_prep_scat_req 2 51986 _003117_hash NULL -+_003118_hash ath6kl_usb_post_recv_transfers 2 32892 _003118_hash NULL -+_003119_hash ath6kl_usb_submit_ctrl_in 6 32880 _003119_hash &_000778_hash -+_003120_hash ath6kl_usb_submit_ctrl_out 6 9978 _003120_hash NULL -+_003121_hash auok190xfb_write 3 37001 _003121_hash NULL -+_003122_hash beacon_interval_write 3 17952 _003122_hash NULL -+_003123_hash blk_dropped_read 3 4168 _003123_hash NULL -+_003124_hash blk_msg_write 3 13655 _003124_hash NULL -+_003125_hash brcmf_usbdev_qinit 2 19090 _003125_hash &_001533_hash -+_003126_hash brcmf_usb_dl_cmd 4 53130 _003126_hash NULL -+_003127_hash broadsheetfb_write 3 39976 _003127_hash NULL -+_003128_hash broadsheet_spiflash_rewrite_sector 2 54864 _003128_hash NULL -+_003129_hash cyttsp_probe 4 1940 _003129_hash NULL -+_003130_hash da9052_group_write 3 4534 _003130_hash NULL -+_003131_hash dccpprobe_read 3 52549 _003131_hash NULL -+_003132_hash drm_property_create_bitmask 5 30195 _003132_hash NULL -+_003133_hash dtim_interval_write 3 30489 _003133_hash NULL -+_003134_hash dynamic_ps_timeout_write 3 37713 _003134_hash NULL -+_003135_hash event_enable_read 3 7074 _003135_hash NULL -+_003136_hash event_enable_write 3 45238 _003136_hash NULL -+_003137_hash event_filter_read 3 23494 _003137_hash NULL -+_003138_hash event_filter_write 3 56609 _003138_hash NULL -+_003139_hash event_id_read 3 64288 _003139_hash &_001240_hash -+_003140_hash f_audio_buffer_alloc 1 41110 _003140_hash NULL -+_003141_hash fb_sys_read 3 13778 _003141_hash NULL -+_003142_hash fb_sys_write 3 33130 _003142_hash NULL -+_003143_hash forced_ps_write 3 37209 _003143_hash NULL -+_003144_hash __fprog_create 2 41263 _003144_hash NULL -+_003145_hash fq_codel_zalloc 1 15378 _003145_hash NULL -+_003146_hash ftrace_pid_write 3 39710 _003146_hash NULL -+_003147_hash ftrace_profile_read 3 21327 _003147_hash NULL -+_003148_hash ftrace_profile_write 3 53327 _003148_hash NULL -+_003149_hash ftrace_write 3 29551 _003149_hash NULL -+_003150_hash gdm_wimax_netif_rx 3 43423 _003150_hash &_001619_hash -+_003151_hash gpio_power_write 3 1991 _003151_hash NULL -+_003152_hash hecubafb_write 3 26942 _003152_hash NULL -+_003153_hash hsc_msg_alloc 1 60990 _003153_hash NULL -+_003154_hash hsc_write 3 55875 _003154_hash NULL -+_003155_hash hsi_alloc_controller 1 41802 _003155_hash NULL -+_003156_hash hsi_register_board_info 2 13820 _003156_hash NULL -+_003157_hash i915_ring_stop_read 3 42549 _003406_hash NULL nohasharray -+_003158_hash i915_ring_stop_write 3 59010 _003158_hash NULL -+_003159_hash ieee802154_alloc_device 1 13767 _003159_hash NULL -+_003160_hash intel_sdvo_write_cmd 4 54377 _003160_hash &_000815_hash -+_003161_hash ivtvfb_write 3 40023 _003161_hash NULL -+_003162_hash metronomefb_write 3 8823 _003162_hash NULL -+_003163_hash mwifiex_usb_submit_rx_urb 2 54558 _003163_hash NULL -+_003164_hash nfc_hci_hcp_message_tx 6 14534 _003164_hash NULL -+_003165_hash nfc_hci_set_param 5 40697 _003165_hash NULL -+_003166_hash nfc_shdlc_alloc_skb 2 12741 _003166_hash NULL -+_003167_hash odev_update 2 50169 _003167_hash NULL -+_003168_hash oz_add_farewell 5 20652 _003168_hash NULL -+_003169_hash oz_cdev_read 3 20659 _003169_hash NULL -+_003170_hash oz_cdev_write 3 33852 _003170_hash NULL -+_003171_hash oz_ep_alloc 2 5587 _003171_hash NULL -+_003172_hash oz_events_read 3 47535 _003172_hash NULL -+_003173_hash pmcraid_copy_sglist 3 38431 _003173_hash NULL -+_003174_hash prctl_set_mm 3 64538 _003174_hash NULL -+_003175_hash ptp_filter_init 2 36780 _003175_hash NULL -+_003176_hash rb_simple_read 3 45972 _003176_hash NULL -+_003177_hash rb_simple_write 3 20890 _003177_hash NULL -+_003178_hash read_file_dfs 3 43145 _003178_hash NULL -+_003179_hash rx_streaming_always_write 3 32357 _003436_hash NULL nohasharray -+_003180_hash rx_streaming_interval_write 3 50120 _003180_hash NULL -+_003181_hash shmem_pread_fast 3 34147 _003181_hash NULL -+_003182_hash shmem_pread_slow 3 3198 _003182_hash NULL -+_003183_hash shmem_pwrite_fast 3 46842 _003183_hash NULL -+_003184_hash shmem_pwrite_slow 3 31741 _003184_hash NULL -+_003185_hash show_header 3 4722 _003185_hash &_000736_hash -+_003186_hash split_scan_timeout_write 3 52128 _003186_hash NULL -+_003187_hash stack_max_size_read 3 1445 _003187_hash NULL -+_003188_hash stack_max_size_write 3 36068 _003188_hash NULL -+_003189_hash subsystem_filter_read 3 62310 _003189_hash NULL -+_003190_hash subsystem_filter_write 3 13022 _003190_hash NULL -+_003191_hash suspend_dtim_interval_write 3 48854 _003191_hash NULL -+_003192_hash system_enable_read 3 25815 _003192_hash NULL -+_003193_hash system_enable_write 3 61396 _003193_hash NULL -+_003194_hash trace_options_core_read 3 47390 _003194_hash NULL -+_003195_hash trace_options_core_write 3 61551 _003195_hash NULL -+_003196_hash trace_options_read 3 11419 _003196_hash NULL -+_003197_hash trace_options_write 3 48275 _003197_hash NULL -+_003198_hash trace_parser_get_init 2 31379 _003198_hash NULL -+_003199_hash traceprobe_probes_write 3 64969 _003199_hash NULL -+_003200_hash trace_seq_to_user 3 65398 _003200_hash NULL -+_003201_hash tracing_buffers_read 3 11124 _003201_hash NULL -+_003202_hash tracing_clock_write 3 27961 _003202_hash NULL -+_003203_hash tracing_cpumask_read 3 7010 _003203_hash NULL -+_003204_hash tracing_ctrl_read 3 46922 _003204_hash NULL -+_003205_hash tracing_ctrl_write 3 42324 _003205_hash &_001726_hash -+_003206_hash tracing_entries_read 3 8345 _003206_hash NULL -+_003207_hash tracing_entries_write 3 60563 _003207_hash NULL -+_003208_hash tracing_max_lat_read 3 8890 _003208_hash NULL -+_003209_hash tracing_max_lat_write 3 8728 _003209_hash NULL -+_003210_hash tracing_read_dyn_info 3 45468 _003210_hash NULL -+_003211_hash tracing_readme_read 3 16493 _003211_hash NULL -+_003212_hash tracing_saved_cmdlines_read 3 21434 _003212_hash NULL -+_003213_hash tracing_set_trace_read 3 44122 _003213_hash NULL -+_003214_hash tracing_set_trace_write 3 57096 _003214_hash NULL -+_003215_hash tracing_stats_read 3 34537 _003215_hash NULL -+_003216_hash tracing_total_entries_read 3 62817 _003216_hash NULL -+_003217_hash tracing_trace_options_write 3 153 _003217_hash NULL -+_003218_hash ttm_put_pages 2 9179 _003218_hash NULL -+_003219_hash udl_prime_create 2 57159 _003219_hash NULL -+_003220_hash ufx_alloc_urb_list 3 10349 _003220_hash NULL -+_003221_hash u_memcpya 2-3 30139 _003221_hash NULL -+_003223_hash viafb_dfph_proc_write 3 49288 _003223_hash NULL -+_003224_hash viafb_dfpl_proc_write 3 627 _003224_hash NULL -+_003225_hash viafb_dvp0_proc_write 3 23023 _003225_hash NULL -+_003226_hash viafb_dvp1_proc_write 3 48864 _003226_hash NULL -+_003227_hash viafb_vt1636_proc_write 3 16018 _003227_hash NULL -+_003228_hash vivi_read 3 23073 _003228_hash NULL -+_003229_hash wl1271_rx_filter_alloc_field 5 46721 _003229_hash NULL -+_003230_hash wl12xx_cmd_build_probe_req 6-8 3098 _003230_hash NULL -+_003232_hash wlcore_alloc_hw 1 7785 _003232_hash NULL -+_003233_hash alloc_and_copy_ftrace_hash 1 29368 _003233_hash NULL -+_003234_hash create_trace_probe 1 20175 _003234_hash NULL -+_003235_hash create_trace_uprobe 1 13184 _003235_hash NULL -+_003236_hash intel_sdvo_set_value 4 2311 _003236_hash NULL -+_003237_hash mmio_read 4 40348 _003237_hash NULL -+_003238_hash nfc_hci_execute_cmd 5 43882 _003238_hash NULL -+_003239_hash nfc_hci_send_event 5 21452 _003239_hash NULL -+_003240_hash nfc_hci_send_response 5 56462 _003240_hash NULL -+_003241_hash picolcd_fb_write 3 2318 _003241_hash NULL -+_003242_hash probes_write 3 29711 _003242_hash NULL -+_003243_hash sys_prctl 4 8766 _003243_hash NULL -+_003244_hash tracing_read_pipe 3 35312 _003244_hash NULL -+_003245_hash brcmf_usb_attach 1-2 44656 _003245_hash NULL -+_003247_hash dlfb_ops_write 3 64150 _003247_hash NULL -+_003248_hash nfc_hci_send_cmd 5 55714 _003248_hash NULL -+_003249_hash ufx_ops_write 3 54848 _003249_hash NULL -+_003250_hash viafb_iga1_odev_proc_write 3 36241 _003250_hash NULL -+_003251_hash viafb_iga2_odev_proc_write 3 2363 _003251_hash NULL -+_003252_hash xenfb_write 3 43412 _003252_hash NULL -+_003253_hash acl_alloc 1 35979 _003253_hash NULL -+_003254_hash acl_alloc_stack_init 1 60630 _003254_hash NULL -+_003255_hash acl_alloc_num 1-2 60778 _003255_hash NULL -+_003257_hash padzero 1 55 _003257_hash &_002013_hash -+_003258_hash __get_vm_area_node 1 55305 _003258_hash NULL -+_003259_hash get_vm_area 1 18080 _003259_hash NULL -+_003260_hash __get_vm_area 1 61599 _003260_hash NULL -+_003261_hash get_vm_area_caller 1 10527 _003261_hash NULL -+_003262_hash __get_vm_area_caller 1 56416 _003302_hash NULL nohasharray -+_003263_hash alloc_vm_area 1 36149 _003263_hash NULL -+_003264_hash __ioremap_caller 1-2 21800 _003264_hash NULL -+_003266_hash vmap 2 15025 _003266_hash NULL -+_003267_hash ioremap_cache 1-2 47189 _003267_hash NULL -+_003269_hash ioremap_nocache 1-2 2439 _003269_hash NULL -+_003271_hash ioremap_prot 1-2 51764 _003271_hash &_003102_hash -+_003273_hash ioremap_wc 1-2 62695 _003273_hash NULL -+_003274_hash acpi_os_ioremap 1-2 49523 _003274_hash NULL -+_003276_hash ca91cx42_alloc_resource 2 10502 _003276_hash NULL -+_003277_hash devm_ioremap_nocache 2-3 2036 _003277_hash NULL -+_003279_hash __einj_error_trigger 1 17707 _003279_hash &_001577_hash -+_003280_hash io_mapping_map_wc 2 19284 _003280_hash NULL -+_003281_hash ioremap 1-2 23172 _003281_hash NULL -+_003283_hash lguest_map 1-2 42008 _003283_hash NULL -+_003285_hash msix_map_region 3 3411 _003285_hash NULL -+_003286_hash pci_iomap 3 47575 _003286_hash NULL -+_003287_hash sfi_map_memory 1-2 5183 _003287_hash NULL -+_003289_hash tsi148_alloc_resource 2 24563 _003289_hash NULL -+_003290_hash vb2_vmalloc_get_userptr 3 31374 _003290_hash NULL -+_003291_hash xlate_dev_mem_ptr 1 15291 _003291_hash &_001167_hash -+_003292_hash a4t_cs_init 3 27734 _003292_hash NULL -+_003293_hash aac_nark_ioremap 2 50163 _003293_hash &_000314_hash -+_003294_hash aac_rkt_ioremap 2 3333 _003294_hash NULL -+_003295_hash aac_rx_ioremap 2 52410 _003295_hash NULL -+_003296_hash aac_sa_ioremap 2 13596 _003296_hash &_000288_hash -+_003297_hash aac_src_ioremap 2 41688 _003297_hash NULL -+_003298_hash aac_srcv_ioremap 2 6659 _003298_hash NULL -+_003299_hash acpi_map 1-2 58725 _003299_hash NULL -+_003301_hash acpi_os_read_memory 1-3 54186 _003301_hash NULL -+_003302_hash acpi_os_write_memory 1-3 56416 _003302_hash &_003262_hash -+_003303_hash c101_run 2 37279 _003303_hash NULL -+_003304_hash ca91cx42_master_set 4 23146 _003304_hash NULL -+_003305_hash check586 2 29914 _003305_hash NULL -+_003306_hash check_mirror 1-2 57342 _003306_hash &_001564_hash -+_003308_hash cru_detect 1 11272 _003308_hash NULL -+_003309_hash cs553x_init_one 3 58886 _003309_hash NULL -+_003310_hash cycx_setup 4 47562 _003310_hash NULL -+_003311_hash DepcaSignature 2 80 _003311_hash &_001321_hash -+_003312_hash devm_ioremap 2-3 29235 _003312_hash NULL -+_003314_hash divasa_remap_pci_bar 3-4 23485 _003314_hash &_000947_hash -+_003316_hash dma_declare_coherent_memory 2-4 14244 _003316_hash NULL -+_003318_hash doc_probe 1 23285 _003318_hash NULL -+_003319_hash DoC_Probe 1 57534 _003319_hash NULL -+_003320_hash ems_pcmcia_add_card 2 62627 _003320_hash NULL -+_003321_hash gdth_init_isa 1 28091 _003321_hash NULL -+_003322_hash gdth_search_isa 1 58595 _003322_hash NULL -+_003323_hash isp1760_register 1-2 628 _003323_hash NULL -+_003325_hash mthca_map_reg 2-3 5664 _003325_hash NULL -+_003327_hash n2_run 3 53459 _003327_hash NULL -+_003328_hash pcim_iomap 3 58334 _003328_hash NULL -+_003329_hash probe_bios 1 17467 _003329_hash NULL -+_003330_hash register_device 2-3 60015 _003330_hash NULL -+_003332_hash remap_pci_mem 1-2 15966 _003332_hash NULL -+_003334_hash rtl_port_map 1-2 2385 _003334_hash NULL -+_003336_hash sfi_map_table 1 5462 _003336_hash NULL -+_003337_hash sriov_enable_migration 2 14889 _003337_hash NULL -+_003338_hash ssb_bus_scan 2 36578 _003338_hash NULL -+_003339_hash ssb_ioremap 2 5228 _003339_hash NULL -+_003340_hash tpm_tis_init 2-3 15304 _003340_hash NULL -+_003342_hash tsi148_master_set 4 14685 _003342_hash NULL -+_003343_hash acpi_os_map_memory 1-2 11161 _003343_hash NULL -+_003345_hash com90xx_found 3 13974 _003345_hash NULL -+_003346_hash dmam_declare_coherent_memory 2-4 43679 _003346_hash NULL -+_003348_hash gdth_isa_probe_one 1 48925 _003348_hash NULL -+_003349_hash sfi_check_table 1 6772 _003349_hash NULL -+_003350_hash sfi_sysfs_install_table 1 51688 _003350_hash NULL -+_003351_hash sriov_enable 2 59689 _003351_hash NULL -+_003352_hash ssb_bus_register 3 65183 _003352_hash NULL -+_003353_hash acpi_ex_system_memory_space_handler 2 31192 _003353_hash NULL -+_003354_hash acpi_tb_check_xsdt 1 21862 _003354_hash NULL -+_003355_hash acpi_tb_install_table 1 12988 _003355_hash NULL -+_003356_hash acpi_tb_parse_root_table 1 53455 _003356_hash NULL -+_003357_hash check_vendor_extension 1 3254 _003357_hash NULL -+_003358_hash pci_enable_sriov 2 35745 _003358_hash NULL -+_003359_hash ssb_bus_pcmciabus_register 3 56020 _003359_hash NULL -+_003360_hash ssb_bus_ssbbus_register 2 2217 _003360_hash NULL -+_003361_hash lpfc_sli_probe_sriov_nr_virtfn 2 26004 _003361_hash NULL -+_003364_hash alloc_vm_area 1 15989 _003364_hash NULL -+_003366_hash efi_ioremap 1-2 3492 _003366_hash &_001092_hash -+_003368_hash init_chip_wc_pat 2 62768 _003368_hash NULL -+_003369_hash io_mapping_create_wc 1-2 1354 _003369_hash NULL -+_003371_hash iommu_map_mmio_space 1 30919 _003371_hash NULL -+_003372_hash arch_gnttab_map_shared 3 41306 _003372_hash NULL -+_003373_hash arch_gnttab_map_status 3 49812 _003373_hash NULL -+_003374_hash intel_render_ring_init_dri 2-3 45446 _003374_hash NULL -+_003376_hash persistent_ram_iomap 1-2 47156 _003376_hash NULL -+_003378_hash sparse_early_usemaps_alloc_pgdat_section 2 62304 _003378_hash NULL -+_003379_hash ttm_bo_ioremap 2-3 31082 _003379_hash NULL -+_003381_hash ttm_bo_kmap_ttm 3 5922 _003381_hash NULL -+_003382_hash atyfb_setup_generic 3 49151 _003382_hash NULL -+_003383_hash do_test 1 15766 _003383_hash NULL -+_003384_hash mga_ioremap 1-2 8571 _003384_hash NULL -+_003386_hash mid_get_vbt_data_r0 2 10876 _003386_hash NULL -+_003387_hash mid_get_vbt_data_r10 2 6308 _003387_hash NULL -+_003388_hash mid_get_vbt_data_r1 2 26170 _003388_hash NULL -+_003389_hash persistent_ram_buffer_map 1-2 11332 _003389_hash NULL -+_003391_hash read_vbt_r0 1 503 _003391_hash NULL -+_003392_hash read_vbt_r10 1 60679 _003392_hash NULL -+_003393_hash tpci200_slot_map_space 2 3848 _003393_hash NULL -+_003394_hash ttm_bo_kmap 2-3 60118 _003394_hash NULL -+_003395_hash persistent_ram_new 1-2 14588 _003395_hash NULL -+_003396_hash mpt_lan_receive_post_turbo 2 13592 _003396_hash NULL -+_003397_hash v4l2_ctrl_new_int_menu 4 41151 _003397_hash NULL -+_003398_hash v4l2_ctrl_new_std 5 45748 _003398_hash &_002699_hash -+_003399_hash v4l2_ctrl_new_std_menu 4 6221 _003399_hash NULL -+_003400_hash xhci_alloc_streams 5 37586 _003400_hash NULL -+_003401_hash cx2341x_ctrl_new_menu 3 49700 _003401_hash NULL -+_003402_hash cx2341x_ctrl_new_std 4 57061 _003402_hash NULL -+_003405_hash _alloc_get_attr_desc 2 470 _003405_hash NULL -+_003406_hash ath6kl_wmi_proc_events_vif 5 42549 _003406_hash &_003157_hash -+_003407_hash bitmap_resize 2 33054 _003407_hash NULL -+_003408_hash bitmap_storage_alloc 2 55077 _003408_hash NULL -+_003411_hash bnx2fc_process_unsol_compl 2 15576 _003411_hash NULL -+_003413_hash btmrvl_sdio_host_to_card 3 12152 _003413_hash NULL -+_003415_hash btrfs_error_discard_extent 2 50444 _003415_hash NULL -+_003416_hash btrfsic_cmp_log_and_dev_bytenr 2 49628 _003416_hash NULL -+_003417_hash c4iw_id_table_alloc 3 48163 _003417_hash NULL -+_003418_hash cache_read_pipefs 3 47615 _003418_hash NULL -+_003419_hash cache_read_procfs 3 52882 _003419_hash NULL -+_003420_hash cache_write_pipefs 3 48270 _003420_hash NULL -+_003421_hash cache_write_procfs 3 22491 _003421_hash NULL -+_003425_hash cfpkt_split 2 47541 _003425_hash NULL -+_003426_hash cgroup_file_read 3 28804 _003426_hash NULL -+_003427_hash cgroup_file_write 3 52417 _003427_hash NULL -+_003428_hash cnic_init_id_tbl 2 41354 _003428_hash NULL -+_003430_hash copy_nodes_to_user 2 63807 _003430_hash NULL -+_003431_hash cp210x_get_config 4 56229 _003431_hash NULL -+_003432_hash cp210x_set_config 4 46447 _003432_hash NULL -+_003433_hash cx18_v4l2_read 3 21196 _003433_hash NULL -+_003434_hash dccp_setsockopt 5 60367 _003434_hash NULL -+_003435_hash ddp_ppod_write_idata 5 25610 _003435_hash NULL -+_003436_hash dispatch_ioctl 2 32357 _003436_hash &_003179_hash -+_003437_hash dn_setsockopt 5 314 _003437_hash &_001817_hash -+_003438_hash dt3155_alloc_coherent 2 58073 _003438_hash NULL -+_003439_hash dvb_ca_write 3 41171 _003439_hash NULL -+_003440_hash dvb_demux_read 3 13981 _003440_hash NULL -+_003441_hash dvb_dmxdev_read_sec 4 7892 _003441_hash NULL -+_003442_hash dvb_dvr_read 3 17073 _003442_hash NULL -+_003443_hash dvb_usercopy 2 14036 _003443_hash NULL -+_003445_hash evdev_do_ioctl 2 24459 _003445_hash NULL -+_003446_hash fc_host_post_vendor_event 3 30903 _003446_hash NULL -+_003447_hash fix_unclean_leb 3 23188 _003447_hash NULL -+_003448_hash fs_devrw_entry 3 11924 _003448_hash NULL -+_003449_hash fuse_conn_congestion_threshold_read 3 51028 _003449_hash NULL -+_003450_hash fuse_conn_congestion_threshold_write 3 43736 _003450_hash NULL -+_003451_hash fuse_conn_max_background_read 3 10855 _003451_hash NULL -+_003452_hash fuse_conn_max_background_write 3 50061 _003452_hash NULL -+_003453_hash fuse_fill_write_pages 4 53682 _003453_hash NULL -+_003454_hash generic_perform_write 3 54832 _003454_hash NULL -+_003455_hash gen_pool_add_virt 4 39913 _003455_hash NULL -+_003456_hash get_info 3 55681 _003456_hash NULL -+_003457_hash get_nodes 3 39012 _003457_hash NULL -+_003458_hash groups_alloc 1 7614 _003458_hash NULL -+_003459_hash hiddev_ioctl 2 36816 _003459_hash NULL -+_003460_hash hidraw_ioctl 2 63658 _003460_hash NULL -+_003461_hash hidraw_write 3 31536 _003461_hash NULL -+_003462_hash ide_core_cp_entry 3 22636 _003462_hash NULL -+_003463_hash ieee80211_amsdu_to_8023s 5 15561 _003463_hash NULL -+_003464_hash ieee80211_if_write_smps 3 35550 _003464_hash NULL -+_003465_hash ieee80211_if_write_tkip_mic_test 3 58748 _003465_hash NULL -+_003466_hash ieee80211_if_write_tsf 3 36077 _003466_hash NULL -+_003467_hash ieee80211_if_write_uapsd_max_sp_len 3 14233 _003467_hash NULL -+_003468_hash ieee80211_if_write_uapsd_queues 3 51526 _003468_hash NULL -+_003469_hash if_spi_host_to_card 4 62890 _003469_hash NULL -+_003470_hash intel_fake_agp_alloc_by_type 1 1 _003470_hash NULL -+_003471_hash int_hardware_entry 3 36833 _003471_hash NULL -+_003472_hash int_hw_irq_en 3 46776 _003472_hash NULL -+_003473_hash int_tasklet_entry 3 52500 _003473_hash NULL -+_003474_hash ip_append_data 5-6 16942 _003474_hash NULL -+_003476_hash ip_make_skb 5-6 13129 _003476_hash NULL -+_003478_hash ip_options_get_alloc 1 7448 _003478_hash NULL -+_003479_hash ip_setsockopt 5 33487 _003479_hash NULL -+_003480_hash ipv6_setsockopt 5 29871 _003480_hash NULL -+_003481_hash iscsi_if_send_reply 7 52219 _003481_hash NULL -+_003482_hash iscsi_offload_mesg 5 58425 _003482_hash NULL -+_003483_hash iscsi_ping_comp_event 5 38263 _003483_hash NULL -+_003484_hash iscsi_post_host_event 4 13473 _003484_hash NULL -+_003485_hash iscsi_recv_pdu 4 16755 _003485_hash NULL -+_003487_hash ivtv_v4l2_read 3 1964 _003487_hash NULL -+_003488_hash joydev_ioctl_common 2 49359 _003488_hash NULL -+_003489_hash lbs_bcnmiss_read 3 8678 _003489_hash NULL -+_003490_hash lbs_failcount_read 3 31063 _003490_hash NULL -+_003491_hash lbs_highrssi_read 3 64089 _003491_hash NULL -+_003492_hash lbs_highsnr_read 3 5931 _003492_hash NULL -+_003493_hash lbs_lowrssi_read 3 32242 _003493_hash NULL -+_003494_hash lbs_lowsnr_read 3 29571 _003494_hash NULL -+_003495_hash load_module 2 60056 _003495_hash &_002482_hash -+_003496_hash logger_read 3 59607 _003496_hash NULL -+_003497_hash mem_swapout_entry 3 32586 _003497_hash NULL -+_003498_hash mlx4_init_icm_table 4-5 2151 _003498_hash NULL -+_003501_hash mon_bin_ioctl 3 2771 _003501_hash NULL -+_003502_hash mpi_set_buffer 3 65294 _003502_hash NULL -+_003503_hash __mptctl_ioctl 2 15875 _003503_hash NULL -+_003504_hash mthca_alloc_icm_table 3-4 38268 _003504_hash &_002129_hash -+_003506_hash mthca_alloc_init 2 21754 _003506_hash NULL -+_003507_hash mthca_array_init 2 39987 _003507_hash NULL -+_003508_hash mthca_buf_alloc 2 35861 _003508_hash NULL -+_003509_hash mthca_setup_cmd_doorbells 2 53954 _003509_hash NULL -+_003510_hash __netlink_change_ngroups 2 46156 _003510_hash NULL -+_003511_hash netlink_kernel_create 3 18110 _003511_hash NULL -+_003512_hash netpoll_send_udp 3 58955 _003512_hash NULL -+_003513_hash netxen_nic_map_indirect_address_128M 2 42257 _003513_hash NULL -+_003514_hash nfs4_alloc_pages 1 48426 _003514_hash NULL -+_003515_hash nfsd_read 5 19568 _003515_hash NULL -+_003516_hash nfsd_read_file 6 62241 _003516_hash NULL -+_003517_hash nfsd_write 6 54809 _003517_hash NULL -+_003519_hash nvme_map_user_pages 3-4 41093 _003519_hash &_001486_hash -+_003523_hash osd_req_read_sg_kern 5 6378 _003523_hash NULL -+_003524_hash osd_req_write_sg_kern 5 10514 _003524_hash NULL -+_003525_hash osst_read 3 40237 _003525_hash NULL -+_003526_hash p54_parse_rssical 3 64493 _003526_hash NULL -+_003527_hash p9_client_zc_rpc 7 14345 _003527_hash NULL -+_003528_hash pcpu_alloc_alloc_info 1-2 45813 _003528_hash NULL -+_003530_hash prism2_info_hostscanresults 3 39657 _003530_hash NULL -+_003531_hash prism2_info_scanresults 3 59729 _003531_hash NULL -+_003532_hash proc_file_read 3 53905 _003532_hash NULL -+_003533_hash pskb_expand_head 2-3 42881 _003533_hash NULL -+_003535_hash qla4xxx_post_aen_work 3 46953 _003535_hash NULL -+_003536_hash qla4xxx_post_ping_evt_work 4 8074 _003536_hash &_001627_hash -+_003537_hash rawv6_setsockopt 5 56165 _003537_hash NULL -+_003538_hash rds_message_map_pages 2 31487 _003538_hash NULL -+_003539_hash read_flush_pipefs 3 20171 _003539_hash NULL -+_003540_hash read_flush_procfs 3 27642 _003540_hash NULL -+_003541_hash receive_packet 2 12367 _003541_hash NULL -+_003542_hash reiserfs_add_entry 4 23062 _003542_hash &_002307_hash -+_003543_hash rsc_mgr_init 3 16299 _003543_hash NULL -+_003544_hash rtsx_read_cfg_seq 3-5 48139 _003544_hash NULL -+_003546_hash rtsx_write_cfg_seq 3-5 27485 _003546_hash NULL -+_003548_hash rxrpc_client_sendmsg 5 23236 _003548_hash NULL -+_003549_hash rxrpc_kernel_send_data 3 60083 _003549_hash NULL -+_003550_hash rxrpc_server_sendmsg 4 37331 _003550_hash NULL -+_003551_hash scsi_dispatch_cmd_entry 3 49848 _003551_hash NULL -+_003552_hash scsi_nl_send_vendor_msg 5 16394 _003552_hash NULL -+_003553_hash sctp_datamsg_from_user 4 55342 _003553_hash NULL -+_003554_hash sctp_make_chunk 4 12986 _003554_hash NULL -+_003555_hash sctp_tsnmap_grow 2 32784 _003555_hash NULL -+_003556_hash sep_prepare_input_dma_table 2-3 2009 _003556_hash NULL -+_003558_hash sep_prepare_input_output_dma_table 4-3-2 63429 _003558_hash NULL -+_003559_hash set_fd_set 1 35249 _003559_hash NULL -+_003563_hash sisusbcon_do_font_op 9 52271 _003563_hash NULL -+_003564_hash sisusb_write_mem_bulk 4 29678 _003564_hash NULL -+_003565_hash smk_write_access2 3 19170 _003565_hash NULL -+_003566_hash smk_write_cipso2 3 1021 _003566_hash NULL -+_003567_hash smk_write_load2 3 52155 _003567_hash NULL -+_003568_hash smk_write_load 3 26829 _003568_hash NULL -+_003569_hash smk_write_load_self2 3 591 _003569_hash NULL -+_003570_hash smk_write_load_self 3 7958 _003570_hash NULL -+_003571_hash snd_pcm_plugin_alloc 2 12580 _003571_hash NULL -+_003572_hash snd_rawmidi_kernel_read 3 4328 _003572_hash NULL -+_003573_hash snd_rawmidi_read 3 56337 _003573_hash NULL -+_003576_hash spidev_ioctl 2 12846 _003576_hash NULL -+_003577_hash squashfs_read_fragment_index_table 4 2506 _003577_hash NULL -+_003578_hash squashfs_read_id_index_table 4 61961 _003578_hash NULL -+_003579_hash squashfs_read_inode_lookup_table 4 64739 _003579_hash NULL -+_003582_hash swap_cgroup_swapon 2 13614 _003582_hash NULL -+_003583_hash timeradd_entry 3 49850 _003583_hash NULL -+_003584_hash tipc_buf_acquire 1 60437 _003584_hash NULL -+_003585_hash tty_buffer_find 2 2443 _003585_hash NULL -+_003586_hash ubifs_wbuf_write_nolock 3 64946 _003586_hash NULL -+_003588_hash usblp_ioctl 2 30203 _003588_hash NULL -+_003589_hash vgacon_adjust_height 2 28124 _003589_hash NULL -+_003590_hash vhci_read 3 47878 _003590_hash NULL -+_003591_hash vhci_write 3 2224 _003591_hash NULL -+_003592_hash __videobuf_copy_stream 4 44769 _003592_hash NULL -+_003593_hash videobuf_read_one 3 31637 _003593_hash NULL -+_003594_hash video_usercopy 2 62151 _003594_hash NULL -+_003595_hash vme_user_read 3 55338 _003595_hash NULL -+_003596_hash __vxge_hw_blockpool_malloc 2 5786 _003596_hash NULL -+_003597_hash write_adapter_mem 3 3234 _003597_hash NULL -+_003598_hash write_flush_pipefs 3 2021 _003598_hash NULL -+_003599_hash write_flush_procfs 3 44011 _003599_hash NULL -+_003600_hash xfs_buf_associate_memory 3 17915 _003600_hash NULL -+_003601_hash xfs_dir2_leaf_getdents 3 23841 _003601_hash NULL -+_003602_hash xfs_idata_realloc 2 26199 _003602_hash NULL -+_003603_hash xfs_iformat_local 4 49472 _003603_hash NULL -+_003604_hash xip_file_read 3 58592 _003604_hash NULL -+_003605_hash afs_send_simple_reply 3 63940 _003605_hash NULL -+_003606_hash audit_expand 2 2098 _003606_hash NULL -+_003607_hash bnx2i_send_nl_mesg 4 53353 _003607_hash NULL -+_003608_hash __btrfs_buffered_write 3 35311 _003608_hash NULL -+_003609_hash bttv_read 3 11432 _003609_hash NULL -+_003610_hash ceph_parse_server_name 2 60318 _003610_hash NULL -+_003611_hash ddp_clear_map 4 46152 _003611_hash NULL -+_003612_hash ddp_set_map 4 751 _003612_hash NULL -+_003613_hash do_arpt_get_ctl 4 49526 _003613_hash NULL -+_003614_hash do_ip6t_get_ctl 4 47808 _003614_hash NULL -+_003615_hash do_ipt_get_ctl 4 33897 _003615_hash NULL -+_003616_hash do_trimming 3 26952 _003616_hash &_002655_hash -+_003617_hash dvb_ca_en50221_io_ioctl 2 26490 _003617_hash NULL -+_003618_hash dvb_demux_ioctl 2 42733 _003618_hash NULL -+_003619_hash dvb_dvr_ioctl 2 49182 _003619_hash NULL -+_003620_hash dvb_generic_ioctl 2 21810 _003620_hash NULL -+_003621_hash dvb_net_ioctl 2 61559 _003621_hash NULL -+_003622_hash enlarge_skb 2 44248 _003622_hash NULL -+_003623_hash evdev_ioctl_handler 2 21705 _003623_hash NULL -+_003624_hash fuse_perform_write 4 18457 _003624_hash NULL -+_003625_hash fw_device_op_ioctl 2 11595 _003625_hash NULL -+_003626_hash generic_file_buffered_write 4 25464 _003626_hash NULL -+_003627_hash gen_pool_add 3 21776 _003627_hash NULL -+_003628_hash ieee80211_skb_resize 3 50211 _003628_hash NULL -+_003629_hash ip_options_get 4 56538 _003629_hash NULL -+_003630_hash ip_send_reply 5 19987 _003630_hash NULL -+_003631_hash __iscsi_complete_pdu 4 10726 _003631_hash NULL -+_003632_hash iscsi_nop_out_rsp 4 51117 _003632_hash NULL -+_003633_hash joydev_ioctl 2 33343 _003633_hash NULL -+_003634_hash mlx4_init_cmpt_table 3 11569 _003634_hash NULL -+_003635_hash mptctl_ioctl 2 12355 _003635_hash NULL -+_003636_hash mthca_alloc_cq_buf 3 46512 _003636_hash NULL -+_003637_hash named_prepare_buf 2 24532 _003637_hash NULL -+_003638_hash netlink_change_ngroups 2 16457 _003638_hash NULL -+_003639_hash netxen_nic_hw_read_wx_128M 2 26858 _003639_hash NULL -+_003640_hash netxen_nic_hw_write_wx_128M 2 33488 _003640_hash NULL -+_003642_hash osd_req_add_get_attr_list 3 49278 _003642_hash NULL -+_003643_hash pcpu_build_alloc_info 1-3-2 41443 _003643_hash NULL -+_003646_hash ping_sendmsg 4 3782 _003646_hash NULL -+_003647_hash __pskb_pull_tail 2 60287 _003647_hash NULL -+_003648_hash raid5_resize 2 63306 _003648_hash NULL -+_003649_hash rxrpc_sendmsg 4 29049 _003649_hash NULL -+_003650_hash sctp_make_abort 3 34459 _003650_hash NULL -+_003651_hash sctp_make_asconf 3 4078 _003651_hash NULL -+_003652_hash sctp_make_asconf_ack 3 31726 _003652_hash NULL -+_003653_hash sctp_make_datafrag_empty 3 34737 _003653_hash NULL -+_003654_hash sctp_make_fwdtsn 3 53265 _003654_hash NULL -+_003655_hash sctp_make_heartbeat_ack 4 34411 _003655_hash NULL -+_003656_hash sctp_make_init 4 58401 _003656_hash NULL -+_003657_hash sctp_make_init_ack 4 3335 _003657_hash NULL -+_003658_hash sctp_make_op_error_space 3 5528 _003658_hash NULL -+_003659_hash sctp_tsnmap_mark 2 35929 _003659_hash NULL -+_003663_hash sisusb_clear_vram 2-3 57466 _003663_hash NULL -+_003665_hash sisusb_copy_memory 4 35016 _003665_hash NULL -+_003666_hash sisusb_write 3 44834 _003666_hash NULL -+_003667_hash __skb_cow 2 39254 _003667_hash NULL -+_003668_hash skb_pad 2 17302 _003668_hash NULL -+_003669_hash skb_realloc_headroom 2 19516 _003669_hash NULL -+_003670_hash snd_pcm_plug_alloc 2 42339 _003670_hash NULL -+_003673_hash subdev_ioctl 2 28417 _003673_hash NULL -+_003674_hash sys_get_mempolicy 3 30379 _003674_hash NULL -+_003675_hash sys_init_module 2 36047 _003675_hash NULL -+_003676_hash sys_mbind 5 7990 _003676_hash NULL -+_003677_hash sys_migrate_pages 2 39825 _003677_hash NULL -+_003678_hash sys_setgroups 1 48668 _003678_hash &_001127_hash -+_003679_hash sys_setgroups16 1 48882 _003679_hash NULL -+_003680_hash sys_set_mempolicy 3 32608 _003680_hash NULL -+_003681_hash tipc_msg_build 4 12326 _003681_hash NULL -+_003682_hash __tty_buffer_request_room 2 27700 _003682_hash NULL -+_003683_hash ubifs_recover_leb 3 60639 _003683_hash NULL -+_003684_hash udp_sendmsg 4 4492 _003684_hash NULL -+_003685_hash udp_setsockopt 5 25985 _003685_hash NULL -+_003686_hash udpv6_setsockopt 5 18487 _003686_hash NULL -+_003687_hash uvc_v4l2_ioctl 2 8411 _003687_hash NULL -+_003688_hash videobuf_read_stream 3 14956 _003688_hash NULL -+_003689_hash video_ioctl2 2 21380 _003689_hash NULL -+_003690_hash video_read 3 28148 _003690_hash NULL -+_003691_hash write_head 4 30481 _003691_hash NULL -+_003692_hash write_node 4 33121 _003692_hash NULL -+_003693_hash write_pbl 4 59583 _003693_hash NULL -+_003694_hash xfs_dir2_block_to_sf 3 37868 _003694_hash NULL -+_003695_hash xfs_dir2_sf_addname_hard 3 54254 _003695_hash NULL -+_003696_hash xfs_readdir 3 41200 _003696_hash NULL -+_003697_hash xlog_bread_offset 3 60030 _003697_hash NULL -+_003698_hash zr364xx_read 3 2354 _003698_hash NULL -+_003699_hash au0828_v4l2_read 3 40220 _003699_hash NULL -+_003700_hash audit_log_n_hex 3 45617 _003700_hash NULL -+_003701_hash audit_log_n_string 3 31705 _003701_hash NULL -+_003702_hash beiscsi_process_async_pdu 7 39834 _003702_hash NULL -+_003703_hash __btrfs_direct_write 4 22273 _003703_hash NULL -+_003704_hash btrfs_file_aio_write 4 21520 _003704_hash NULL -+_003705_hash cx231xx_v4l2_read 3 55014 _003705_hash NULL -+_003706_hash cx25821_video_ioctl 2 30188 _003706_hash NULL -+_003707_hash em28xx_v4l2_read 3 16701 _003707_hash NULL -+_003708_hash evdev_ioctl 2 22371 _003708_hash NULL -+_003709_hash fuse_file_aio_write 4 46399 _003709_hash NULL -+_003710_hash iscsi_complete_pdu 4 48372 _003710_hash NULL -+_003711_hash isdn_ppp_skb_push 2 5236 _003711_hash NULL -+_003712_hash ivtv_v4l2_ioctl 2 16915 _003712_hash NULL -+_003713_hash mpeg_read 3 6708 _003713_hash NULL -+_003714_hash mthca_alloc_resize_buf 3 60394 _003714_hash NULL -+_003715_hash mthca_init_cq 2 60011 _003715_hash NULL -+_003716_hash named_distribute 4 48544 _003716_hash NULL -+_003717_hash __nf_nat_mangle_tcp_packet 5-7 8190 _003717_hash NULL -+_003719_hash nf_nat_mangle_udp_packet 5-7 13321 _003719_hash NULL -+_003722_hash pcpu_embed_first_chunk 1-3-2 24224 _003722_hash NULL -+_003724_hash pcpu_page_first_chunk 1 20712 _003724_hash NULL -+_003725_hash pd_video_read 3 24510 _003725_hash NULL -+_003726_hash pskb_may_pull 2 22546 _003726_hash NULL -+_003727_hash __pskb_pull 2 42602 _003727_hash NULL -+_003728_hash pvr2_v4l2_ioctl 2 24398 _003728_hash &_000854_hash -+_003729_hash sctp_abort_pkt_new 5 55218 _003729_hash NULL -+_003730_hash sctp_make_abort_violation 4 27959 _003730_hash NULL -+_003731_hash sctp_make_op_error 5-6 7057 _003731_hash NULL -+_003734_hash sisusbcon_bmove 5-7-6 21873 _003734_hash NULL -+_003737_hash sisusbcon_clear 3-5-4 64329 _003737_hash NULL -+_003740_hash sisusbcon_putcs 3 57630 _003740_hash &_001003_hash -+_003741_hash sisusbcon_scroll 5-3-2 31315 _003741_hash NULL -+_003742_hash sisusbcon_scroll_area 3-4 25899 _003742_hash NULL -+_003744_hash skb_cow 2 26138 _003744_hash NULL -+_003745_hash skb_cow_head 2 52495 _003745_hash NULL -+_003746_hash skb_make_writable 2 24783 _003746_hash NULL -+_003747_hash skb_padto 2 50759 _003747_hash NULL -+_003748_hash solo_enc_read 3 33553 _003748_hash NULL -+_003749_hash solo_v4l2_read 3 59247 _003749_hash NULL -+_003750_hash timblogiw_read 3 48305 _003750_hash NULL -+_003751_hash tipc_multicast 5 49144 _003751_hash NULL -+_003752_hash tipc_port_recv_sections 4 42890 _003752_hash NULL -+_003753_hash tipc_port_reject_sections 5 55229 _003753_hash NULL -+_003754_hash tm6000_read 3 4151 _003754_hash NULL -+_003755_hash trim_bitmaps 3 24158 _003755_hash NULL -+_003756_hash trim_no_bitmap 3 22524 _003756_hash NULL -+_003757_hash tty_buffer_request_room 2 23228 _003757_hash NULL -+_003758_hash tty_insert_flip_string_fixed_flag 4 37428 _003758_hash NULL -+_003759_hash tty_insert_flip_string_flags 4 30969 _003759_hash NULL -+_003760_hash tty_prepare_flip_string 3 39955 _003760_hash NULL -+_003761_hash tty_prepare_flip_string_flags 4 59240 _003761_hash NULL -+_003762_hash ubifs_recover_log_leb 3 12079 _003762_hash NULL -+_003763_hash vbi_read 3 63673 _003763_hash NULL -+_003764_hash xfs_file_buffered_aio_write 4 11492 _003764_hash NULL -+_003765_hash xlog_do_recovery_pass 3 21618 _003765_hash NULL -+_003766_hash zoran_ioctl 2 30465 _003766_hash NULL -+_003767_hash audit_log_n_untrustedstring 3 9548 _003767_hash NULL -+_003768_hash bla_is_backbone_gw 3 53001 _003768_hash NULL -+_003769_hash btrfs_trim_block_group 3 28963 _003769_hash NULL -+_003770_hash check_header 2 56930 _003770_hash NULL -+_003771_hash check_management_packet 3 976 _003771_hash NULL -+_003772_hash check_unicast_packet 2 62217 _003772_hash NULL -+_003773_hash cx18_v4l2_ioctl 2 46647 _003773_hash NULL -+_003774_hash dccp_manip_pkt 2 30229 _003774_hash NULL -+_003775_hash dma_push_rx 2 39973 _003775_hash NULL -+_003776_hash ftdi_process_packet 5 45005 _003776_hash NULL -+_003777_hash gre_manip_pkt 2 38785 _003777_hash NULL -+_003778_hash handle_response 5 55951 _003778_hash NULL -+_003779_hash handle_response_icmp 7 39574 _003779_hash NULL -+_003780_hash help 4 14971 _003780_hash NULL -+_003781_hash icmp_manip_pkt 2 48801 _003781_hash NULL -+_003782_hash interface_rx 4 20404 _003782_hash NULL -+_003783_hash ip4ip6_err 5 36772 _003783_hash NULL -+_003784_hash ip6ip6_err 5 18308 _003784_hash NULL -+_003785_hash ip_vs_icmp_xmit 4 59624 _003785_hash NULL -+_003786_hash ip_vs_icmp_xmit_v6 4 20464 _003786_hash NULL -+_003787_hash iscsi_iser_recv 4 41948 _003787_hash NULL -+_003788_hash l2tp_xmit_skb 3 42672 _003788_hash NULL -+_003789_hash mangle_packet 6-8 27864 _003789_hash NULL -+_003791_hash manip_pkt 3 7741 _003791_hash NULL -+_003792_hash mthca_resize_cq 2 19333 _003792_hash NULL -+_003793_hash my_skb_head_push 2 58297 _003793_hash NULL -+_003794_hash nf_nat_mangle_tcp_packet 5-7 8643 _003794_hash NULL -+_003797_hash pskb_network_may_pull 2 35336 _003797_hash NULL -+_003798_hash pskb_pull 2 65005 _003798_hash NULL -+_003799_hash replay_log_leb 3 18704 _003799_hash NULL -+_003800_hash sctp_manip_pkt 2 40620 _003800_hash NULL -+_003801_hash sctp_sf_abort_violation 6 38380 _003801_hash NULL -+_003806_hash skb_gro_header_slow 2 34958 _003806_hash NULL -+_003807_hash tcf_csum_skb_nextlayer 3 64025 _003807_hash NULL -+_003808_hash tcp_manip_pkt 2 14202 _003808_hash NULL -+_003809_hash tty_audit_log 8 47280 _003809_hash NULL -+_003810_hash tty_insert_flip_string 3 34042 _003810_hash NULL -+_003811_hash udplite_manip_pkt 2 62433 _003811_hash NULL -+_003812_hash udp_manip_pkt 2 50770 _003812_hash NULL -+_003813_hash xfs_file_aio_write 4 33234 _003813_hash NULL -+_003814_hash xlog_do_log_recovery 3 17550 _003814_hash NULL -+_003815_hash afs_extract_data 5 50261 _003815_hash NULL -+_003816_hash aircable_process_packet 5 46639 _003816_hash NULL -+_003817_hash edge_tty_recv 4 18667 _003817_hash &_002287_hash -+_003818_hash gigaset_if_receive 3 4861 _003818_hash NULL -+_003819_hash gsm_dlci_data 3 14155 _003819_hash NULL -+_003820_hash ifx_spi_insert_flip_string 3 51752 _003820_hash NULL -+_003821_hash ip_nat_sdp_port 6 52938 _003821_hash NULL -+_003822_hash ip_nat_sip_expect 7 45693 _003822_hash NULL -+_003823_hash ipwireless_tty_received 3 49154 _003823_hash NULL -+_003824_hash iser_rcv_completion 2 8048 _003824_hash NULL -+_003825_hash mangle_sdp_packet 9 36279 _003825_hash NULL -+_003826_hash map_addr 6 4666 _003826_hash NULL -+_003827_hash nf_nat_ftp 5 47948 _003827_hash NULL -+_003828_hash pty_write 3 44757 _003828_hash &_001547_hash -+_003829_hash push_rx 3 28939 _003829_hash NULL -+_003830_hash put_data_to_circ_buf 3 24869 _003830_hash &_001419_hash -+_003831_hash rds_tcp_data_recv 3 53476 _003831_hash NULL -+_003832_hash send_to_tty 3 45141 _003832_hash NULL -+_003834_hash tcf_csum_ipv4_icmp 3 9258 _003834_hash NULL -+_003835_hash tcf_csum_ipv4_igmp 3 60446 _003835_hash NULL -+_003836_hash tcf_csum_ipv4_tcp 4 39713 _003836_hash NULL -+_003837_hash tcf_csum_ipv4_udp 4 30777 _003837_hash &_000218_hash -+_003838_hash tcf_csum_ipv6_icmp 4 11738 _003838_hash NULL -+_003839_hash tcf_csum_ipv6_tcp 4 54877 _003839_hash NULL -+_003840_hash tcf_csum_ipv6_udp 4 25241 _003840_hash NULL -+_003841_hash ti_recv 4 22027 _003841_hash NULL -+_003842_hash xlog_do_recover 3 59789 _003842_hash NULL -+_003843_hash ip_nat_sdp_media 8 23386 _003843_hash NULL -+_003844_hash lock_loop 1 61681 _003844_hash NULL -+_003845_hash max3107_handlerx 2 58978 _003845_hash NULL -+_003846_hash process_rcvd_data 3 6679 _003846_hash NULL -+_003847_hash alloc_mr 1 45935 _003847_hash NULL -+_003848_hash compat_core_sys_select 1 65285 _003848_hash NULL -+_003849_hash compat_dccp_setsockopt 5 51263 _003849_hash NULL -+_003850_hash compat_ip_setsockopt 5 13870 _003850_hash &_003115_hash -+_003851_hash compat_ipv6_setsockopt 5 20468 _003851_hash NULL -+_003852_hash compat_mpctl_ioctl 2 45671 _003852_hash NULL -+_003853_hash compat_raw_setsockopt 5 30634 _003853_hash NULL -+_003854_hash compat_rawv6_setsockopt 5 4967 _003854_hash NULL -+_003855_hash compat_sys_get_mempolicy 3 31109 _003855_hash NULL -+_003856_hash compat_sys_mbind 5 36256 _003856_hash NULL -+_003857_hash compat_sys_migrate_pages 2 3157 _003857_hash NULL -+_003858_hash compat_sys_set_mempolicy 3 57742 _003858_hash &_002222_hash -+_003859_hash evdev_ioctl_compat 2 13851 _003859_hash NULL -+_003860_hash fw_device_op_compat_ioctl 2 42804 _003860_hash NULL -+_003861_hash gnttab_expand 1 15817 _003861_hash NULL -+_003862_hash hiddev_compat_ioctl 2 41255 _003862_hash NULL -+_003863_hash joydev_compat_ioctl 2 8765 _003863_hash NULL -+_003864_hash mon_bin_compat_ioctl 3 50234 _003864_hash NULL -+_003865_hash spidev_compat_ioctl 2 63778 _003865_hash NULL -+_003866_hash uvc_v4l2_compat_ioctl32 2 8375 _003866_hash NULL -+_003867_hash xlbd_reserve_minors 1-2 18365 _003867_hash NULL -+_003868_hash compat_sys_select 1 16131 _003868_hash NULL -+_003869_hash compat_udp_setsockopt 5 38840 _003869_hash NULL -+_003870_hash compat_udpv6_setsockopt 5 42981 _003870_hash NULL -+_003871_hash do_compat_pselect 1 10398 _003871_hash NULL -+_003872_hash get_free_entries 1 46030 _003872_hash NULL -+_003873_hash ipath_reg_phys_mr 3 23918 _003873_hash &_000963_hash -+_003874_hash qib_alloc_fast_reg_mr 2 12526 _003874_hash NULL -+_003875_hash qib_reg_phys_mr 3 60202 _003875_hash &_000872_hash -+_003876_hash compat_sys_pselect6 1 14105 _003876_hash NULL -+_003877_hash gnttab_alloc_grant_references 1 18240 _003877_hash NULL -+_003878_hash alc_auto_create_extra_outs 2 18975 _003878_hash NULL -+_003879_hash _alloc_cdb_cont 2 23609 _003879_hash NULL -+_003880_hash _alloc_set_attr_list 4 48991 _003880_hash NULL -+_003881_hash __btrfs_free_reserved_extent 2 31207 _003881_hash NULL -+_003882_hash btrfsic_create_link_to_next_block 4 58246 _003882_hash NULL -+_003883_hash diva_alloc_dma_map 2 23798 _003883_hash NULL -+_003884_hash diva_xdi_write 4 63975 _003884_hash NULL -+_003885_hash gsm_control_reply 4 53333 _003885_hash NULL -+_003886_hash iwm_ntf_rx_packet 3 60452 _003886_hash NULL -+_003887_hash macvtap_recvmsg 4 63949 _003887_hash NULL -+_003890_hash smp_send_cmd 3 512 _003890_hash NULL -+_003891_hash tun_recvmsg 4 48463 _003891_hash NULL -+_003892_hash um_idi_read 3 850 _003892_hash NULL -+_003893_hash _add_sg_continuation_descriptor 3 54721 _003893_hash NULL -+_003894_hash btrfs_free_and_pin_reserved_extent 2 53016 _003894_hash NULL -+_003895_hash btrfs_free_reserved_extent 2 9867 _003895_hash NULL -+_003896_hash diva_init_dma_map 3 58336 _003896_hash NULL -+_003897_hash divas_write 3 63901 _003897_hash NULL -+_003898_hash gsm_control_message 4 18209 _003898_hash NULL -+_003899_hash gsm_control_modem 3 55303 _003899_hash NULL -+_003900_hash gsm_control_rls 3 3353 _003900_hash NULL -+_003901_hash osd_req_read_sg 5 47905 _003901_hash NULL -+_003902_hash osd_req_write_sg 5 50908 _003902_hash NULL -+_003903_hash agp_remap 2 30665 _003903_hash NULL -+_003904_hash alloc_arraycache 2 47505 _003904_hash NULL -+_003905_hash drm_buffer_alloc 2 44405 _003905_hash NULL -+_003906_hash drm_ioctl 2 42813 _003906_hash NULL -+_003907_hash fbcon_do_set_font 2-3 4079 _003907_hash NULL -+_003909_hash slabinfo_write 3 18600 _003909_hash NULL -+_003910_hash do_tune_cpucache 2 14828 _003910_hash NULL -+_003911_hash drm_compat_ioctl 2 51717 _003911_hash NULL -+_003912_hash i915_compat_ioctl 2 3656 _003912_hash NULL -+_003913_hash ath6kl_usb_bmi_read 3 48745 _003913_hash NULL -+_003914_hash ath6kl_usb_bmi_write 3 2454 _003914_hash &_000981_hash -+_003915_hash ath6kl_usb_ctrl_msg_exchange 4 33327 _003915_hash NULL -+_003916_hash mga_compat_ioctl 2 52170 _003916_hash NULL -+_003918_hash netlink_send 5 38434 _003918_hash NULL -+_003919_hash nouveau_compat_ioctl 2 28305 _003919_hash NULL -+_003920_hash persistent_ram_vmap 1-2 709 _003920_hash NULL -+_003922_hash psb_unlocked_ioctl 2 16926 _003922_hash &_002255_hash -+_003923_hash r128_compat_ioctl 2 39250 _003923_hash NULL -+_003924_hash radeon_compat_ioctl 2 59150 _003924_hash NULL -+_003925_hash radeon_kms_compat_ioctl 2 51371 _003925_hash NULL -+_003926_hash viacam_read 3 54526 _003926_hash NULL -+_003927_hash vmw_framebuffer_dmabuf_dirty 6 37661 _003927_hash &_001074_hash -+_003928_hash vmw_framebuffer_surface_dirty 6 48132 _003928_hash NULL -+_003929_hash vmw_unlocked_ioctl 2 19212 _003929_hash NULL -+_003930_hash wl1251_cmd_template_set 4 6172 _003930_hash NULL -+_003931_hash cma_create_area 2 38642 _003931_hash NULL -diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_plugin.c ---- compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_plugin.c 2012-10-15 19:11:12.874824568 +0000 -@@ -0,0 +1,1879 @@ -+/* -+ * Copyright 2011, 2012 by Emese Revfy <re.emese@gmail.com> -+ * Licensed under the GPL v2, or (at your option) v3 -+ * -+ * Homepage: -+ * http://www.grsecurity.net/~ephox/overflow_plugin/ -+ * -+ * This plugin recomputes expressions of function arguments marked by a size_overflow attribute -+ * with double integer precision (DImode/TImode for 32/64 bit integer types). -+ * The recomputed argument is checked against TYPE_MAX and an event is logged on overflow and the triggering process is killed. -+ * -+ * Usage: -+ * $ gcc -I`gcc -print-file-name=plugin`/include/c-family -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -ggdb -Wall -W -Wno-missing-field-initializers -o size_overflow_plugin.so size_overflow_plugin.c -+ * $ gcc -fplugin=size_overflow_plugin.so test.c -O2 -+ */ -+ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "intl.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "toplev.h" -+#include "function.h" -+#include "tree-flow.h" -+#include "plugin.h" -+#include "gimple.h" -+#include "c-common.h" -+#include "diagnostic.h" -+#include "cfgloop.h" -+ -+#if BUILDING_GCC_VERSION >= 4007 -+#include "c-tree.h" -+#else -+#define C_DECL_IMPLICIT(EXP) DECL_LANG_FLAG_2 (EXP) -+#endif -+ -+struct size_overflow_hash { -+ const struct size_overflow_hash * const next; -+ const char * const name; -+ const unsigned int param; -+}; -+ -+#include "size_overflow_hash.h" -+ -+enum marked { -+ MARKED_NO, MARKED_YES, MARKED_NOT_INTENTIONAL -+}; -+ -+#define __unused __attribute__((__unused__)) -+#define NAME(node) IDENTIFIER_POINTER(DECL_NAME(node)) -+#define NAME_LEN(node) IDENTIFIER_LENGTH(DECL_NAME(node)) -+#define BEFORE_STMT true -+#define AFTER_STMT false -+#define CREATE_NEW_VAR NULL_TREE -+#define CODES_LIMIT 32 -+#define MAX_PARAM 32 -+#define MY_STMT GF_PLF_1 -+#define NO_CAST_CHECK GF_PLF_2 -+ -+#if BUILDING_GCC_VERSION == 4005 -+#define DECL_CHAIN(NODE) (TREE_CHAIN(DECL_MINIMAL_CHECK(NODE))) -+#endif -+ -+int plugin_is_GPL_compatible; -+void debug_gimple_stmt(gimple gs); -+ -+static tree expand(struct pointer_set_t *visited, tree lhs); -+static bool pre_expand(struct pointer_set_t *visited, const_tree lhs); -+static tree report_size_overflow_decl; -+static const_tree const_char_ptr_type_node; -+static unsigned int handle_function(void); -+static void check_size_overflow(gimple stmt, tree size_overflow_type, tree cast_rhs, tree rhs, bool before); -+static tree get_size_overflow_type(gimple stmt, const_tree node); -+static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, tree size_overflow_type, tree rhs1, tree rhs2, tree __unused rhs3); -+ -+static struct plugin_info size_overflow_plugin_info = { -+ .version = "20120930beta", -+ .help = "no-size-overflow\tturn off size overflow checking\n", -+}; -+ -+static tree handle_size_overflow_attribute(tree *node, tree __unused name, tree args, int __unused flags, bool *no_add_attrs) -+{ -+ unsigned int arg_count; -+ enum tree_code code = TREE_CODE(*node); -+ -+ switch (code) { -+ case FUNCTION_DECL: -+ arg_count = type_num_arguments(TREE_TYPE(*node)); -+ break; -+ case FUNCTION_TYPE: -+ case METHOD_TYPE: -+ arg_count = type_num_arguments(*node); -+ break; -+ default: -+ *no_add_attrs = true; -+ error("%s: %qE attribute only applies to functions", __func__, name); -+ return NULL_TREE; -+ } -+ -+ for (; args; args = TREE_CHAIN(args)) { -+ tree position = TREE_VALUE(args); -+ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) < 1 || TREE_INT_CST_LOW(position) > arg_count ) { -+ error("%s: parameter %u is outside range.", __func__, (unsigned int)TREE_INT_CST_LOW(position)); -+ *no_add_attrs = true; -+ } -+ } -+ return NULL_TREE; -+} -+ -+static const char* get_asm_name(tree node) -+{ -+ return IDENTIFIER_POINTER(DECL_ASSEMBLER_NAME(node)); -+} -+ -+static tree handle_intentional_overflow_attribute(tree *node, tree __unused name, tree args, int __unused flags, bool *no_add_attrs) -+{ -+ unsigned int arg_count, arg_num; -+ enum tree_code code = TREE_CODE(*node); -+ -+ switch (code) { -+ case FUNCTION_DECL: -+ arg_count = type_num_arguments(TREE_TYPE(*node)); -+ break; -+ case FUNCTION_TYPE: -+ case METHOD_TYPE: -+ arg_count = type_num_arguments(*node); -+ break; -+ case FIELD_DECL: -+ arg_num = TREE_INT_CST_LOW(TREE_VALUE(args)); -+ if (arg_num != 0) { -+ *no_add_attrs = true; -+ error("%s: %qE attribute parameter can only be 0 in structure fields", __func__, name); -+ } -+ return NULL_TREE; -+ default: -+ *no_add_attrs = true; -+ error("%qE attribute only applies to functions", name); -+ return NULL_TREE; -+ } -+ -+ for (; args; args = TREE_CHAIN(args)) { -+ tree position = TREE_VALUE(args); -+ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) > arg_count ) { -+ error("%s: parameter %u is outside range.", __func__, (unsigned int)TREE_INT_CST_LOW(position)); -+ *no_add_attrs = true; -+ } -+ } -+ return NULL_TREE; -+} -+ -+static struct attribute_spec size_overflow_attr = { -+ .name = "size_overflow", -+ .min_length = 1, -+ .max_length = -1, -+ .decl_required = true, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_size_overflow_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = false -+#endif -+}; -+ -+static struct attribute_spec intentional_overflow_attr = { -+ .name = "intentional_overflow", -+ .min_length = 1, -+ .max_length = -1, -+ .decl_required = true, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_intentional_overflow_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = false -+#endif -+}; -+ -+static void register_attributes(void __unused *event_data, void __unused *data) -+{ -+ register_attribute(&size_overflow_attr); -+ register_attribute(&intentional_overflow_attr); -+} -+ -+// http://www.team5150.com/~andrew/noncryptohashzoo2~/CrapWow.html -+static unsigned int CrapWow(const char *key, unsigned int len, unsigned int seed) -+{ -+#define cwfold( a, b, lo, hi ) { p = (unsigned int)(a) * (unsigned long long)(b); lo ^= (unsigned int)p; hi ^= (unsigned int)(p >> 32); } -+#define cwmixa( in ) { cwfold( in, m, k, h ); } -+#define cwmixb( in ) { cwfold( in, n, h, k ); } -+ -+ unsigned int m = 0x57559429; -+ unsigned int n = 0x5052acdb; -+ const unsigned int *key4 = (const unsigned int *)key; -+ unsigned int h = len; -+ unsigned int k = len + seed + n; -+ unsigned long long p; -+ -+ while (len >= 8) { -+ cwmixb(key4[0]) cwmixa(key4[1]) key4 += 2; -+ len -= 8; -+ } -+ if (len >= 4) { -+ cwmixb(key4[0]) key4 += 1; -+ len -= 4; -+ } -+ if (len) -+ cwmixa(key4[0] & ((1 << (len * 8)) - 1 )); -+ cwmixb(h ^ (k + n)); -+ return k ^ h; -+ -+#undef cwfold -+#undef cwmixa -+#undef cwmixb -+} -+ -+static inline unsigned int get_hash_num(const char *fndecl, const char *tree_codes, unsigned int len, unsigned int seed) -+{ -+ unsigned int fn = CrapWow(fndecl, strlen(fndecl), seed) & 0xffff; -+ unsigned int codes = CrapWow(tree_codes, len, seed) & 0xffff; -+ return fn ^ codes; -+} -+ -+static inline tree get_original_function_decl(tree fndecl) -+{ -+ if (DECL_ABSTRACT_ORIGIN(fndecl)) -+ return DECL_ABSTRACT_ORIGIN(fndecl); -+ return fndecl; -+} -+ -+static inline gimple get_def_stmt(const_tree node) -+{ -+ gcc_assert(node != NULL_TREE); -+ gcc_assert(TREE_CODE(node) == SSA_NAME); -+ return SSA_NAME_DEF_STMT(node); -+} -+ -+static unsigned char get_tree_code(const_tree type) -+{ -+ switch (TREE_CODE(type)) { -+ case ARRAY_TYPE: -+ return 0; -+ case BOOLEAN_TYPE: -+ return 1; -+ case ENUMERAL_TYPE: -+ return 2; -+ case FUNCTION_TYPE: -+ return 3; -+ case INTEGER_TYPE: -+ return 4; -+ case POINTER_TYPE: -+ return 5; -+ case RECORD_TYPE: -+ return 6; -+ case UNION_TYPE: -+ return 7; -+ case VOID_TYPE: -+ return 8; -+ case REAL_TYPE: -+ return 9; -+ case VECTOR_TYPE: -+ return 10; -+ case REFERENCE_TYPE: -+ return 11; -+ case OFFSET_TYPE: -+ return 12; -+ case COMPLEX_TYPE: -+ return 13; -+ default: -+ debug_tree((tree)type); -+ gcc_unreachable(); -+ } -+} -+ -+static size_t add_type_codes(const_tree type, unsigned char *tree_codes, size_t len) -+{ -+ gcc_assert(type != NULL_TREE); -+ -+ while (type && len < CODES_LIMIT) { -+ tree_codes[len] = get_tree_code(type); -+ len++; -+ type = TREE_TYPE(type); -+ } -+ return len; -+} -+ -+static unsigned int get_function_decl(const_tree fndecl, unsigned char *tree_codes) -+{ -+ const_tree arg, result, arg_field, type = TREE_TYPE(fndecl); -+ enum tree_code code = TREE_CODE(type); -+ size_t len = 0; -+ -+ gcc_assert(code == FUNCTION_TYPE || code == METHOD_TYPE); -+ -+ arg = TYPE_ARG_TYPES(type); -+ // skip builtins __builtin_constant_p -+ if (!arg && DECL_BUILT_IN(fndecl)) -+ return 0; -+ -+ if (TREE_CODE_CLASS(code) == tcc_type) -+ result = type; -+ else -+ result = DECL_RESULT(fndecl); -+ -+ gcc_assert(result != NULL_TREE); -+ len = add_type_codes(TREE_TYPE(result), tree_codes, len); -+ -+ if (arg == NULL_TREE) { -+ gcc_assert(CODE_CONTAINS_STRUCT(TREE_CODE(fndecl), TS_DECL_NON_COMMON)); -+ arg_field = DECL_ARGUMENT_FLD(fndecl); -+ if (arg_field == NULL_TREE) -+ return 0; -+ arg = TREE_TYPE(arg_field); -+ len = add_type_codes(arg, tree_codes, len); -+ gcc_assert(len != 0); -+ return len; -+ } -+ -+ gcc_assert(arg != NULL_TREE && TREE_CODE(arg) == TREE_LIST); -+ while (arg && len < CODES_LIMIT) { -+ len = add_type_codes(TREE_VALUE(arg), tree_codes, len); -+ arg = TREE_CHAIN(arg); -+ } -+ -+ gcc_assert(len != 0); -+ return len; -+} -+ -+static const struct size_overflow_hash *get_function_hash(tree fndecl) -+{ -+ unsigned int hash; -+ const struct size_overflow_hash *entry; -+ unsigned char tree_codes[CODES_LIMIT]; -+ size_t len; -+ const char *func_name = get_asm_name(fndecl); -+ -+ len = get_function_decl(fndecl, tree_codes); -+ if (len == 0) -+ return NULL; -+ -+ hash = get_hash_num(func_name, (const char*) tree_codes, len, 0); -+ -+ entry = size_overflow_hash[hash]; -+ while (entry) { -+ if (!strcmp(entry->name, func_name)) -+ return entry; -+ entry = entry->next; -+ } -+ -+ return NULL; -+} -+ -+static void check_arg_type(const_tree arg) -+{ -+ const_tree type = TREE_TYPE(arg); -+ enum tree_code code = TREE_CODE(type); -+ -+ gcc_assert(code == INTEGER_TYPE || code == ENUMERAL_TYPE || -+ (code == POINTER_TYPE && TREE_CODE(TREE_TYPE(type)) == VOID_TYPE) || -+ (code == POINTER_TYPE && TREE_CODE(TREE_TYPE(type)) == INTEGER_TYPE)); -+} -+ -+static int find_arg_number(const_tree arg, tree func) -+{ -+ tree var; -+ unsigned int argnum = 1; -+ -+ if (TREE_CODE(arg) == SSA_NAME) -+ arg = SSA_NAME_VAR(arg); -+ -+ for (var = DECL_ARGUMENTS(func); var; var = TREE_CHAIN(var)) { -+ if (strcmp(NAME(arg), NAME(var))) { -+ argnum++; -+ continue; -+ } -+ check_arg_type(var); -+ return argnum; -+ } -+ gcc_unreachable(); -+} -+ -+static tree create_new_var(tree type) -+{ -+ tree new_var = create_tmp_var(type, "cicus"); -+ -+ add_referenced_var(new_var); -+ mark_sym_for_renaming(new_var); -+ return new_var; -+} -+ -+static gimple create_binary_assign(enum tree_code code, gimple stmt, tree rhs1, tree rhs2) -+{ -+ gimple assign; -+ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); -+ tree type = TREE_TYPE(rhs1); -+ tree lhs = create_new_var(type); -+ -+ assign = gimple_build_assign_with_ops(code, lhs, rhs1, rhs2); -+ gimple_set_lhs(assign, make_ssa_name(lhs, assign)); -+ -+ gsi_insert_before(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ gimple_set_plf(assign, MY_STMT, true); -+ return assign; -+} -+ -+static bool is_bool(const_tree node) -+{ -+ const_tree type; -+ -+ if (node == NULL_TREE) -+ return false; -+ -+ type = TREE_TYPE(node); -+ if (!INTEGRAL_TYPE_P(type)) -+ return false; -+ if (TREE_CODE(type) == BOOLEAN_TYPE) -+ return true; -+ if (TYPE_PRECISION(type) == 1) -+ return true; -+ return false; -+} -+ -+static tree cast_a_tree(tree type, tree var) -+{ -+ gcc_assert(type != NULL_TREE); -+ gcc_assert(var != NULL_TREE); -+ gcc_assert(fold_convertible_p(type, var)); -+ -+ return fold_convert(type, var); -+} -+ -+static gimple build_cast_stmt(tree dst_type, tree rhs, tree lhs, gimple_stmt_iterator *gsi, bool before) -+{ -+ gimple assign; -+ -+ gcc_assert(dst_type != NULL_TREE && rhs != NULL_TREE); -+ if (gsi_end_p(*gsi) && before == AFTER_STMT) -+ gcc_unreachable(); -+ -+ if (lhs == CREATE_NEW_VAR) -+ lhs = create_new_var(dst_type); -+ -+ assign = gimple_build_assign(lhs, cast_a_tree(dst_type, rhs)); -+ -+ if (!gsi_end_p(*gsi)) { -+ location_t loc = gimple_location(gsi_stmt(*gsi)); -+ gimple_set_location(assign, loc); -+ } -+ -+ gimple_set_lhs(assign, make_ssa_name(lhs, assign)); -+ -+ if (before) -+ gsi_insert_before(gsi, assign, GSI_NEW_STMT); -+ else -+ gsi_insert_after(gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ gimple_set_plf(assign, MY_STMT, true); -+ -+ return assign; -+} -+ -+static tree cast_to_new_size_overflow_type(gimple stmt, tree new_rhs1, tree size_overflow_type, bool before) -+{ -+ const_gimple assign; -+ gimple_stmt_iterator gsi; -+ -+ if (new_rhs1 == NULL_TREE) -+ return NULL_TREE; -+ -+ if (!useless_type_conversion_p(TREE_TYPE(new_rhs1), size_overflow_type)) { -+ gsi = gsi_for_stmt(stmt); -+ assign = build_cast_stmt(size_overflow_type, new_rhs1, CREATE_NEW_VAR, &gsi, before); -+ return gimple_get_lhs(assign); -+ } -+ return new_rhs1; -+} -+ -+static tree follow_overflow_type_and_dup(struct pointer_set_t *visited, gimple stmt, const_tree node, tree new_rhs1, tree new_rhs2, tree new_rhs3) -+{ -+ tree size_overflow_type = get_size_overflow_type(stmt, node); -+ -+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); -+ -+ if (new_rhs2 != NULL_TREE) -+ new_rhs2 = cast_to_new_size_overflow_type(stmt, new_rhs2, size_overflow_type, BEFORE_STMT); -+ -+ if (new_rhs3 != NULL_TREE) -+ new_rhs3 = cast_to_new_size_overflow_type(stmt, new_rhs3, size_overflow_type, BEFORE_STMT); -+ -+ return dup_assign(visited, stmt, size_overflow_type, new_rhs1, new_rhs2, new_rhs3); -+} -+ -+ -+static tree create_assign(struct pointer_set_t *visited, gimple oldstmt, tree rhs1, bool before) -+{ -+ tree size_overflow_type, lhs; -+ gimple stmt; -+ gimple_stmt_iterator gsi; -+ -+ if (rhs1 == NULL_TREE) { -+ debug_gimple_stmt(oldstmt); -+ error("%s: rhs1 is NULL_TREE", __func__); -+ gcc_unreachable(); -+ } -+ -+ if (gimple_code(oldstmt) == GIMPLE_ASM) -+ lhs = rhs1; -+ else -+ lhs = gimple_get_lhs(oldstmt); -+ -+ gsi = gsi_for_stmt(oldstmt); -+ pointer_set_insert(visited, oldstmt); -+ if (lookup_stmt_eh_lp(oldstmt) != 0) { -+ basic_block next_bb, cur_bb; -+ const_edge e; -+ -+ gcc_assert(before == false); -+ gcc_assert(stmt_can_throw_internal(oldstmt)); -+ gcc_assert(gimple_code(oldstmt) == GIMPLE_CALL); -+ gcc_assert(!gsi_end_p(gsi)); -+ -+ cur_bb = gimple_bb(oldstmt); -+ next_bb = cur_bb->next_bb; -+ e = find_edge(cur_bb, next_bb); -+ gcc_assert(e != NULL); -+ gcc_assert(e->flags & EDGE_FALLTHRU); -+ -+ gsi = gsi_after_labels(next_bb); -+ gcc_assert(!gsi_end_p(gsi)); -+ -+ before = true; -+ oldstmt = gsi_stmt(gsi); -+ } -+ -+ size_overflow_type = get_size_overflow_type(oldstmt, lhs); -+ -+ stmt = build_cast_stmt(size_overflow_type, rhs1, CREATE_NEW_VAR, &gsi, before); -+ gimple_set_plf(stmt, MY_STMT, true); -+ return gimple_get_lhs(stmt); -+} -+ -+static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, tree size_overflow_type, tree rhs1, tree rhs2, tree __unused rhs3) -+{ -+ gimple stmt; -+ gimple_stmt_iterator gsi; -+ tree new_var, lhs = gimple_get_lhs(oldstmt); -+ -+ if (gimple_plf(oldstmt, MY_STMT)) -+ return lhs; -+ -+ if (gimple_num_ops(oldstmt) != 4 && rhs1 == NULL_TREE) { -+ rhs1 = gimple_assign_rhs1(oldstmt); -+ rhs1 = create_assign(visited, oldstmt, rhs1, BEFORE_STMT); -+ } -+ if (gimple_num_ops(oldstmt) == 3 && rhs2 == NULL_TREE) { -+ rhs2 = gimple_assign_rhs2(oldstmt); -+ rhs2 = create_assign(visited, oldstmt, rhs2, BEFORE_STMT); -+ } -+ -+ stmt = gimple_copy(oldstmt); -+ gimple_set_location(stmt, gimple_location(oldstmt)); -+ gimple_set_plf(stmt, MY_STMT, true); -+ -+ if (gimple_assign_rhs_code(oldstmt) == WIDEN_MULT_EXPR) -+ gimple_assign_set_rhs_code(stmt, MULT_EXPR); -+ -+ if (is_bool(lhs)) -+ new_var = SSA_NAME_VAR(lhs); -+ else -+ new_var = create_new_var(size_overflow_type); -+ new_var = make_ssa_name(new_var, stmt); -+ gimple_set_lhs(stmt, new_var); -+ -+ if (rhs1 != NULL_TREE) { -+ if (!gimple_assign_cast_p(oldstmt)) -+ rhs1 = cast_a_tree(size_overflow_type, rhs1); -+ gimple_assign_set_rhs1(stmt, rhs1); -+ } -+ -+ if (rhs2 != NULL_TREE) -+ gimple_assign_set_rhs2(stmt, rhs2); -+#if BUILDING_GCC_VERSION >= 4007 -+ if (rhs3 != NULL_TREE) -+ gimple_assign_set_rhs3(stmt, rhs3); -+#endif -+ gimple_set_vuse(stmt, gimple_vuse(oldstmt)); -+ gimple_set_vdef(stmt, gimple_vdef(oldstmt)); -+ -+ gsi = gsi_for_stmt(oldstmt); -+ gsi_insert_after(&gsi, stmt, GSI_SAME_STMT); -+ update_stmt(stmt); -+ pointer_set_insert(visited, oldstmt); -+ return gimple_get_lhs(stmt); -+} -+ -+static gimple overflow_create_phi_node(gimple oldstmt, tree result) -+{ -+ basic_block bb; -+ gimple phi; -+ gimple_stmt_iterator gsi = gsi_for_stmt(oldstmt); -+ -+ bb = gsi_bb(gsi); -+ -+ phi = create_phi_node(result, bb); -+ gsi = gsi_last(phi_nodes(bb)); -+ gsi_remove(&gsi, false); -+ -+ gsi = gsi_for_stmt(oldstmt); -+ gsi_insert_after(&gsi, phi, GSI_NEW_STMT); -+ gimple_set_bb(phi, bb); -+ gimple_set_plf(phi, MY_STMT, true); -+ return phi; -+} -+ -+static basic_block create_a_first_bb(void) -+{ -+ basic_block first_bb; -+ -+ first_bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; -+ if (dom_info_available_p(CDI_DOMINATORS)) -+ set_immediate_dominator(CDI_DOMINATORS, first_bb, ENTRY_BLOCK_PTR); -+ return first_bb; -+} -+ -+static tree cast_old_phi_arg(gimple oldstmt, tree size_overflow_type, tree arg, tree new_var, unsigned int i) -+{ -+ basic_block bb; -+ const_gimple newstmt; -+ gimple_stmt_iterator gsi; -+ bool before = BEFORE_STMT; -+ -+ if (TREE_CODE(arg) == SSA_NAME && gimple_code(get_def_stmt(arg)) != GIMPLE_NOP) { -+ gsi = gsi_for_stmt(get_def_stmt(arg)); -+ newstmt = build_cast_stmt(size_overflow_type, arg, new_var, &gsi, AFTER_STMT); -+ return gimple_get_lhs(newstmt); -+ } -+ -+ bb = gimple_phi_arg_edge(oldstmt, i)->src; -+ gsi = gsi_after_labels(bb); -+ if (bb->index == 0) { -+ bb = create_a_first_bb(); -+ gsi = gsi_start_bb(bb); -+ } -+ newstmt = build_cast_stmt(size_overflow_type, arg, new_var, &gsi, before); -+ return gimple_get_lhs(newstmt); -+} -+ -+static const_gimple handle_new_phi_arg(const_tree arg, tree new_var, tree new_rhs) -+{ -+ gimple newstmt; -+ gimple_stmt_iterator gsi; -+ void (*gsi_insert)(gimple_stmt_iterator *, gimple, enum gsi_iterator_update); -+ gimple def_newstmt = get_def_stmt(new_rhs); -+ -+ gsi_insert = gsi_insert_after; -+ gsi = gsi_for_stmt(def_newstmt); -+ -+ switch (gimple_code(get_def_stmt(arg))) { -+ case GIMPLE_PHI: -+ newstmt = gimple_build_assign(new_var, new_rhs); -+ gsi = gsi_after_labels(gimple_bb(def_newstmt)); -+ gsi_insert = gsi_insert_before; -+ break; -+ case GIMPLE_ASM: -+ case GIMPLE_CALL: -+ newstmt = gimple_build_assign(new_var, new_rhs); -+ break; -+ case GIMPLE_ASSIGN: -+ newstmt = gimple_build_assign(new_var, gimple_get_lhs(def_newstmt)); -+ break; -+ default: -+ /* unknown gimple_code (handle_build_new_phi_arg) */ -+ gcc_unreachable(); -+ } -+ -+ gimple_set_lhs(newstmt, make_ssa_name(new_var, newstmt)); -+ gsi_insert(&gsi, newstmt, GSI_NEW_STMT); -+ gimple_set_plf(newstmt, MY_STMT, true); -+ update_stmt(newstmt); -+ return newstmt; -+} -+ -+static tree build_new_phi_arg(struct pointer_set_t *visited, tree size_overflow_type, tree arg, tree new_var) -+{ -+ const_gimple newstmt; -+ gimple def_stmt; -+ tree new_rhs; -+ -+ new_rhs = expand(visited, arg); -+ if (new_rhs == NULL_TREE) -+ return NULL_TREE; -+ -+ def_stmt = get_def_stmt(new_rhs); -+ if (gimple_code(def_stmt) == GIMPLE_NOP) -+ return NULL_TREE; -+ new_rhs = cast_to_new_size_overflow_type(def_stmt, new_rhs, size_overflow_type, AFTER_STMT); -+ -+ newstmt = handle_new_phi_arg(arg, new_var, new_rhs); -+ return gimple_get_lhs(newstmt); -+} -+ -+static tree build_new_phi(struct pointer_set_t *visited, tree orig_result) -+{ -+ gimple phi, oldstmt = get_def_stmt(orig_result); -+ tree new_result, size_overflow_type; -+ unsigned int i; -+ unsigned int n = gimple_phi_num_args(oldstmt); -+ -+ size_overflow_type = get_size_overflow_type(oldstmt, orig_result); -+ -+ new_result = create_new_var(size_overflow_type); -+ -+ pointer_set_insert(visited, oldstmt); -+ phi = overflow_create_phi_node(oldstmt, new_result); -+ for (i = 0; i < n; i++) { -+ tree arg, lhs; -+ -+ arg = gimple_phi_arg_def(oldstmt, i); -+ if (is_gimple_constant(arg)) -+ arg = cast_a_tree(size_overflow_type, arg); -+ lhs = build_new_phi_arg(visited, size_overflow_type, arg, new_result); -+ if (lhs == NULL_TREE) -+ lhs = cast_old_phi_arg(oldstmt, size_overflow_type, arg, new_result, i); -+ add_phi_arg(phi, lhs, gimple_phi_arg_edge(oldstmt, i), gimple_location(oldstmt)); -+ } -+ -+ update_stmt(phi); -+ return gimple_phi_result(phi); -+} -+ -+static tree change_assign_rhs(gimple stmt, const_tree orig_rhs, tree new_rhs) -+{ -+ const_gimple assign; -+ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); -+ tree origtype = TREE_TYPE(orig_rhs); -+ -+ gcc_assert(gimple_code(stmt) == GIMPLE_ASSIGN); -+ -+ assign = build_cast_stmt(origtype, new_rhs, CREATE_NEW_VAR, &gsi, BEFORE_STMT); -+ return gimple_get_lhs(assign); -+} -+ -+static void change_rhs1(gimple stmt, tree new_rhs1) -+{ -+ tree assign_rhs; -+ const_tree rhs = gimple_assign_rhs1(stmt); -+ -+ assign_rhs = change_assign_rhs(stmt, rhs, new_rhs1); -+ gimple_assign_set_rhs1(stmt, assign_rhs); -+ update_stmt(stmt); -+} -+ -+static bool check_mode_type(const_gimple stmt) -+{ -+ const_tree lhs = gimple_get_lhs(stmt); -+ const_tree lhs_type = TREE_TYPE(lhs); -+ const_tree rhs_type = TREE_TYPE(gimple_assign_rhs1(stmt)); -+ enum machine_mode lhs_mode = TYPE_MODE(lhs_type); -+ enum machine_mode rhs_mode = TYPE_MODE(rhs_type); -+ -+ if (rhs_mode == lhs_mode && TYPE_UNSIGNED(rhs_type) == TYPE_UNSIGNED(lhs_type)) -+ return false; -+ -+ if (rhs_mode == SImode && lhs_mode == DImode && (TYPE_UNSIGNED(rhs_type) || !TYPE_UNSIGNED(lhs_type))) -+ return false; -+ -+ return true; -+} -+ -+static bool check_undefined_integer_operation(const_gimple stmt) -+{ -+ const_gimple def_stmt; -+ const_tree lhs = gimple_get_lhs(stmt); -+ const_tree rhs1 = gimple_assign_rhs1(stmt); -+ const_tree rhs1_type = TREE_TYPE(rhs1); -+ const_tree lhs_type = TREE_TYPE(lhs); -+ -+ if (TYPE_MODE(rhs1_type) != TYPE_MODE(lhs_type) || TYPE_UNSIGNED(rhs1_type) == TYPE_UNSIGNED(lhs_type)) -+ return false; -+ -+ def_stmt = get_def_stmt(rhs1); -+ if (gimple_code(def_stmt) != GIMPLE_ASSIGN) -+ return false; -+ -+ if (gimple_assign_rhs_code(def_stmt) != MINUS_EXPR) -+ return false; -+ return true; -+} -+ -+static bool is_a_cast_and_const_overflow(const_tree no_const_rhs) -+{ -+ const_tree rhs1, lhs, rhs1_type, lhs_type; -+ enum machine_mode lhs_mode, rhs_mode; -+ gimple def_stmt = get_def_stmt(no_const_rhs); -+ -+ if (!gimple_assign_cast_p(def_stmt)) -+ return false; -+ -+ rhs1 = gimple_assign_rhs1(def_stmt); -+ lhs = gimple_get_lhs(def_stmt); -+ rhs1_type = TREE_TYPE(rhs1); -+ lhs_type = TREE_TYPE(lhs); -+ rhs_mode = TYPE_MODE(rhs1_type); -+ lhs_mode = TYPE_MODE(lhs_type); -+ if (TYPE_UNSIGNED(lhs_type) == TYPE_UNSIGNED(rhs1_type) || lhs_mode != rhs_mode) -+ return false; -+ -+ return true; -+} -+ -+static tree handle_unary_rhs(struct pointer_set_t *visited, gimple stmt) -+{ -+ tree size_overflow_type, lhs = gimple_get_lhs(stmt); -+ tree new_rhs1, rhs1 = gimple_assign_rhs1(stmt); -+ const_tree rhs1_type = TREE_TYPE(rhs1); -+ const_tree lhs_type = TREE_TYPE(lhs); -+ -+ new_rhs1 = expand(visited, rhs1); -+ -+ if (new_rhs1 == NULL_TREE || TREE_CODE(rhs1_type) == POINTER_TYPE) -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+ -+ if (gimple_plf(stmt, MY_STMT)) -+ return lhs; -+ -+ if (gimple_plf(stmt, NO_CAST_CHECK)) -+ return follow_overflow_type_and_dup(visited, stmt, rhs1, new_rhs1, NULL_TREE, NULL_TREE); -+ -+ if (gimple_assign_rhs_code(stmt) == BIT_NOT_EXPR) { -+ size_overflow_type = get_size_overflow_type(stmt, rhs1); -+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); -+ check_size_overflow(stmt, size_overflow_type, new_rhs1, rhs1, BEFORE_STMT); -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+ } -+ -+ if (!gimple_assign_cast_p(stmt) || check_undefined_integer_operation(stmt)) -+ return follow_overflow_type_and_dup(visited, stmt, lhs, new_rhs1, NULL_TREE, NULL_TREE); -+ -+ size_overflow_type = get_size_overflow_type(stmt, rhs1); -+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); -+ -+ change_rhs1(stmt, new_rhs1); -+ check_size_overflow(stmt, size_overflow_type, new_rhs1, rhs1, BEFORE_STMT); -+ -+ rhs1 = gimple_assign_rhs1(stmt); -+ rhs1_type = TREE_TYPE(rhs1); -+ if (TYPE_UNSIGNED(rhs1_type) != TYPE_UNSIGNED(lhs_type)) -+ return create_assign(visited, stmt, rhs1, AFTER_STMT); -+ -+ if (!check_mode_type(stmt)) -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+ -+ size_overflow_type = get_size_overflow_type(stmt, lhs); -+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); -+ -+ check_size_overflow(stmt, size_overflow_type, new_rhs1, lhs, BEFORE_STMT); -+ -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+} -+ -+static tree handle_unary_ops(struct pointer_set_t *visited, tree lhs) -+{ -+ gimple def_stmt = get_def_stmt(lhs); -+ tree rhs1 = gimple_assign_rhs1(def_stmt); -+ -+ if (is_gimple_constant(rhs1)) -+ return create_assign(visited, def_stmt, lhs, AFTER_STMT); -+ -+ gcc_assert(TREE_CODE(rhs1) != COND_EXPR); -+ switch (TREE_CODE(rhs1)) { -+ case SSA_NAME: -+ return handle_unary_rhs(visited, def_stmt); -+ case ARRAY_REF: -+ case BIT_FIELD_REF: -+ case ADDR_EXPR: -+ case COMPONENT_REF: -+ case INDIRECT_REF: -+#if BUILDING_GCC_VERSION >= 4006 -+ case MEM_REF: -+#endif -+ case PARM_DECL: -+ case TARGET_MEM_REF: -+ case VAR_DECL: -+ return create_assign(visited, def_stmt, lhs, AFTER_STMT); -+ -+ default: -+ debug_gimple_stmt(def_stmt); -+ debug_tree(rhs1); -+ gcc_unreachable(); -+ } -+} -+ -+static void insert_cond(basic_block cond_bb, tree arg, enum tree_code cond_code, tree type_value) -+{ -+ gimple cond_stmt; -+ gimple_stmt_iterator gsi = gsi_last_bb(cond_bb); -+ -+ cond_stmt = gimple_build_cond(cond_code, arg, type_value, NULL_TREE, NULL_TREE); -+ gsi_insert_after(&gsi, cond_stmt, GSI_CONTINUE_LINKING); -+ update_stmt(cond_stmt); -+} -+ -+static tree create_string_param(tree string) -+{ -+ tree i_type, a_type; -+ const int length = TREE_STRING_LENGTH(string); -+ -+ gcc_assert(length > 0); -+ -+ i_type = build_index_type(build_int_cst(NULL_TREE, length - 1)); -+ a_type = build_array_type(char_type_node, i_type); -+ -+ TREE_TYPE(string) = a_type; -+ TREE_CONSTANT(string) = 1; -+ TREE_READONLY(string) = 1; -+ -+ return build1(ADDR_EXPR, ptr_type_node, string); -+} -+ -+static void insert_cond_result(basic_block bb_true, const_gimple stmt, const_tree arg, bool min) -+{ -+ gimple func_stmt; -+ const_gimple def_stmt; -+ const_tree loc_line; -+ tree loc_file, ssa_name, current_func; -+ expanded_location xloc; -+ char ssa_name_buf[256]; -+ gimple_stmt_iterator gsi = gsi_start_bb(bb_true); -+ -+ def_stmt = get_def_stmt(arg); -+ xloc = expand_location(gimple_location(def_stmt)); -+ -+ if (!gimple_has_location(def_stmt)) { -+ xloc = expand_location(gimple_location(stmt)); -+ if (!gimple_has_location(stmt)) -+ xloc = expand_location(DECL_SOURCE_LOCATION(current_function_decl)); -+ } -+ -+ loc_line = build_int_cstu(unsigned_type_node, xloc.line); -+ -+ loc_file = build_string(strlen(xloc.file) + 1, xloc.file); -+ loc_file = create_string_param(loc_file); -+ -+ current_func = build_string(NAME_LEN(current_function_decl) + 1, NAME(current_function_decl)); -+ current_func = create_string_param(current_func); -+ -+ snprintf(ssa_name_buf, 256, "%s_%u (%s)\n", NAME(SSA_NAME_VAR(arg)), SSA_NAME_VERSION(arg), min ? "min" : "max"); -+ ssa_name = build_string(256, ssa_name_buf); -+ ssa_name = create_string_param(ssa_name); -+ -+ // void report_size_overflow(const char *file, unsigned int line, const char *func, const char *ssa_name) -+ func_stmt = gimple_build_call(report_size_overflow_decl, 4, loc_file, loc_line, current_func, ssa_name); -+ -+ gsi_insert_after(&gsi, func_stmt, GSI_CONTINUE_LINKING); -+} -+ -+static void __unused print_the_code_insertions(const_gimple stmt) -+{ -+ location_t loc = gimple_location(stmt); -+ -+ inform(loc, "Integer size_overflow check applied here."); -+} -+ -+static void insert_check_size_overflow(gimple stmt, enum tree_code cond_code, tree arg, tree type_value, bool before, bool min) -+{ -+ basic_block cond_bb, join_bb, bb_true; -+ edge e; -+ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); -+ -+ cond_bb = gimple_bb(stmt); -+ if (before) -+ gsi_prev(&gsi); -+ if (gsi_end_p(gsi)) -+ e = split_block_after_labels(cond_bb); -+ else -+ e = split_block(cond_bb, gsi_stmt(gsi)); -+ cond_bb = e->src; -+ join_bb = e->dest; -+ e->flags = EDGE_FALSE_VALUE; -+ e->probability = REG_BR_PROB_BASE; -+ -+ bb_true = create_empty_bb(cond_bb); -+ make_edge(cond_bb, bb_true, EDGE_TRUE_VALUE); -+ make_edge(cond_bb, join_bb, EDGE_FALSE_VALUE); -+ make_edge(bb_true, join_bb, EDGE_FALLTHRU); -+ -+ if (dom_info_available_p(CDI_DOMINATORS)) { -+ set_immediate_dominator(CDI_DOMINATORS, bb_true, cond_bb); -+ set_immediate_dominator(CDI_DOMINATORS, join_bb, cond_bb); -+ } -+ -+ if (current_loops != NULL) { -+ gcc_assert(cond_bb->loop_father == join_bb->loop_father); -+ add_bb_to_loop(bb_true, cond_bb->loop_father); -+ } -+ -+ insert_cond(cond_bb, arg, cond_code, type_value); -+ insert_cond_result(bb_true, stmt, arg, min); -+ -+// print_the_code_insertions(stmt); -+} -+ -+static void check_size_overflow(gimple stmt, tree size_overflow_type, tree cast_rhs, tree rhs, bool before) -+{ -+ const_tree rhs_type = TREE_TYPE(rhs); -+ tree cast_rhs_type, type_max_type, type_min_type, type_max, type_min; -+ -+ gcc_assert(rhs_type != NULL_TREE); -+ if (TREE_CODE(rhs_type) == POINTER_TYPE) -+ return; -+ -+ gcc_assert(TREE_CODE(rhs_type) == INTEGER_TYPE || TREE_CODE(rhs_type) == BOOLEAN_TYPE || TREE_CODE(rhs_type) == ENUMERAL_TYPE); -+ -+ type_max = cast_a_tree(size_overflow_type, TYPE_MAX_VALUE(rhs_type)); -+ type_min = cast_a_tree(size_overflow_type, TYPE_MIN_VALUE(rhs_type)); -+ -+ gcc_assert(!TREE_OVERFLOW(type_max)); -+ -+ cast_rhs_type = TREE_TYPE(cast_rhs); -+ type_max_type = TREE_TYPE(type_max); -+ type_min_type = TREE_TYPE(type_min); -+ gcc_assert(useless_type_conversion_p(cast_rhs_type, type_max_type)); -+ gcc_assert(useless_type_conversion_p(type_max_type, type_min_type)); -+ -+ insert_check_size_overflow(stmt, GT_EXPR, cast_rhs, type_max, before, false); -+ insert_check_size_overflow(stmt, LT_EXPR, cast_rhs, type_min, before, true); -+} -+ -+static tree get_size_overflow_type_for_intentional_overflow(gimple def_stmt, tree change_rhs) -+{ -+ gimple change_rhs_def_stmt; -+ tree lhs = gimple_get_lhs(def_stmt); -+ tree lhs_type = TREE_TYPE(lhs); -+ tree rhs1_type = TREE_TYPE(gimple_assign_rhs1(def_stmt)); -+ tree rhs2_type = TREE_TYPE(gimple_assign_rhs2(def_stmt)); -+ -+ if (change_rhs == NULL_TREE) -+ return get_size_overflow_type(def_stmt, lhs); -+ -+ change_rhs_def_stmt = get_def_stmt(change_rhs); -+ -+ if (TREE_CODE_CLASS(gimple_assign_rhs_code(def_stmt)) == tcc_comparison) -+ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); -+ -+ if (gimple_assign_rhs_code(def_stmt) == LSHIFT_EXPR) -+ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); -+ -+ if (gimple_assign_rhs_code(def_stmt) == RSHIFT_EXPR) -+ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); -+ -+ if (!useless_type_conversion_p(lhs_type, rhs1_type) || !useless_type_conversion_p(rhs1_type, rhs2_type)) { -+ debug_gimple_stmt(def_stmt); -+ gcc_unreachable(); -+ } -+ -+ return get_size_overflow_type(def_stmt, lhs); -+} -+ -+static bool is_a_constant_overflow(const_gimple stmt, const_tree rhs) -+{ -+ if (gimple_assign_rhs_code(stmt) == MIN_EXPR) -+ return false; -+ if (!is_gimple_constant(rhs)) -+ return false; -+ return true; -+} -+ -+static tree get_cast_def_stmt_rhs(const_tree new_rhs) -+{ -+ gimple def_stmt; -+ -+ def_stmt = get_def_stmt(new_rhs); -+ // get_size_overflow_type -+ if (LONG_TYPE_SIZE != GET_MODE_BITSIZE(SImode)) -+ gcc_assert(gimple_assign_cast_p(def_stmt)); -+ return gimple_assign_rhs1(def_stmt); -+} -+ -+static tree cast_to_int_TI_type_and_check(gimple stmt, tree new_rhs) -+{ -+ gimple_stmt_iterator gsi; -+ const_gimple cast_stmt; -+ gimple def_stmt; -+ enum machine_mode mode = TYPE_MODE(TREE_TYPE(new_rhs)); -+ -+ if (mode != TImode && mode != DImode) { -+ def_stmt = get_def_stmt(new_rhs); -+ gcc_assert(gimple_assign_cast_p(def_stmt)); -+ new_rhs = gimple_assign_rhs1(def_stmt); -+ mode = TYPE_MODE(TREE_TYPE(new_rhs)); -+ } -+ -+ gcc_assert(mode == TImode || mode == DImode); -+ -+ if (mode == TYPE_MODE(intTI_type_node) && useless_type_conversion_p(TREE_TYPE(new_rhs), intTI_type_node)) -+ return new_rhs; -+ -+ gsi = gsi_for_stmt(stmt); -+ cast_stmt = build_cast_stmt(intTI_type_node, new_rhs, CREATE_NEW_VAR, &gsi, BEFORE_STMT); -+ new_rhs = gimple_get_lhs(cast_stmt); -+ -+ if (mode == DImode) -+ return new_rhs; -+ -+ check_size_overflow(stmt, intTI_type_node, new_rhs, new_rhs, BEFORE_STMT); -+ -+ return new_rhs; -+} -+ -+static bool is_an_integer_trunction(const_gimple stmt) -+{ -+ gimple rhs1_def_stmt, rhs2_def_stmt; -+ const_tree rhs1_def_stmt_rhs1, rhs2_def_stmt_rhs1; -+ enum machine_mode rhs1_def_stmt_rhs1_mode, rhs2_def_stmt_rhs1_mode; -+ const_tree rhs1 = gimple_assign_rhs1(stmt); -+ const_tree rhs2 = gimple_assign_rhs2(stmt); -+ enum machine_mode rhs1_mode = TYPE_MODE(TREE_TYPE(rhs1)); -+ enum machine_mode rhs2_mode = TYPE_MODE(TREE_TYPE(rhs2)); -+ -+ if (is_gimple_constant(rhs1) || is_gimple_constant(rhs2)) -+ return false; -+ -+ gcc_assert(TREE_CODE(rhs1) == SSA_NAME && TREE_CODE(rhs2) == SSA_NAME); -+ -+ if (gimple_assign_rhs_code(stmt) != MINUS_EXPR || rhs1_mode != SImode || rhs2_mode != SImode) -+ return false; -+ -+ rhs1_def_stmt = get_def_stmt(rhs1); -+ rhs2_def_stmt = get_def_stmt(rhs2); -+ if (!gimple_assign_cast_p(rhs1_def_stmt) || !gimple_assign_cast_p(rhs2_def_stmt)) -+ return false; -+ -+ rhs1_def_stmt_rhs1 = gimple_assign_rhs1(rhs1_def_stmt); -+ rhs2_def_stmt_rhs1 = gimple_assign_rhs1(rhs2_def_stmt); -+ rhs1_def_stmt_rhs1_mode = TYPE_MODE(TREE_TYPE(rhs1_def_stmt_rhs1)); -+ rhs2_def_stmt_rhs1_mode = TYPE_MODE(TREE_TYPE(rhs2_def_stmt_rhs1)); -+ if (rhs1_def_stmt_rhs1_mode != DImode || rhs2_def_stmt_rhs1_mode != DImode) -+ return false; -+ -+ gimple_set_plf(rhs1_def_stmt, NO_CAST_CHECK, true); -+ gimple_set_plf(rhs2_def_stmt, NO_CAST_CHECK, true); -+ return true; -+} -+ -+static tree handle_integer_truncation(struct pointer_set_t *visited, const_tree lhs) -+{ -+ tree new_rhs1, new_rhs2; -+ tree new_rhs1_def_stmt_rhs1, new_rhs2_def_stmt_rhs1, new_lhs; -+ tree new_rhs1_def_stmt_rhs1_type, new_rhs2_def_stmt_rhs1_type; -+ gimple assign, stmt = get_def_stmt(lhs); -+ tree rhs1 = gimple_assign_rhs1(stmt); -+ tree rhs2 = gimple_assign_rhs2(stmt); -+ -+ if (!is_an_integer_trunction(stmt)) -+ return NULL_TREE; -+ -+ new_rhs1 = expand(visited, rhs1); -+ new_rhs2 = expand(visited, rhs2); -+ -+ new_rhs1_def_stmt_rhs1 = get_cast_def_stmt_rhs(new_rhs1); -+ new_rhs2_def_stmt_rhs1 = get_cast_def_stmt_rhs(new_rhs2); -+ -+ new_rhs1_def_stmt_rhs1_type = TREE_TYPE(new_rhs1_def_stmt_rhs1); -+ new_rhs2_def_stmt_rhs1_type = TREE_TYPE(new_rhs2_def_stmt_rhs1); -+ -+ if (!useless_type_conversion_p(new_rhs1_def_stmt_rhs1_type, new_rhs2_def_stmt_rhs1_type)) { -+ new_rhs1_def_stmt_rhs1 = cast_to_int_TI_type_and_check(stmt, new_rhs1_def_stmt_rhs1); -+ new_rhs2_def_stmt_rhs1 = cast_to_int_TI_type_and_check(stmt, new_rhs2_def_stmt_rhs1); -+ } -+ -+ assign = create_binary_assign(MINUS_EXPR, stmt, new_rhs1_def_stmt_rhs1, new_rhs2_def_stmt_rhs1); -+ new_lhs = gimple_get_lhs(assign); -+ check_size_overflow(assign, TREE_TYPE(new_lhs), new_lhs, rhs1, AFTER_STMT); -+ -+ return follow_overflow_type_and_dup(visited, stmt, lhs, new_rhs1, new_rhs2, NULL_TREE); -+} -+ -+static bool is_a_neg_overflow(const_gimple stmt, const_tree rhs) -+{ -+ const_gimple def_stmt; -+ -+ if (TREE_CODE(rhs) != SSA_NAME) -+ return false; -+ -+ if (gimple_assign_rhs_code(stmt) != PLUS_EXPR) -+ return false; -+ -+ def_stmt = get_def_stmt(rhs); -+ if (gimple_code(def_stmt) != GIMPLE_ASSIGN || gimple_assign_rhs_code(def_stmt) != BIT_NOT_EXPR) -+ return false; -+ -+ return true; -+} -+ -+static tree handle_intentional_overflow(struct pointer_set_t *visited, bool check_overflow, gimple stmt, tree change_rhs, tree new_rhs1, tree new_rhs2) -+{ -+ tree new_rhs, size_overflow_type, orig_rhs; -+ void (*gimple_assign_set_rhs)(gimple, tree); -+ tree rhs1 = gimple_assign_rhs1(stmt); -+ tree rhs2 = gimple_assign_rhs2(stmt); -+ tree lhs = gimple_get_lhs(stmt); -+ -+ if (change_rhs == NULL_TREE) -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+ -+ if (new_rhs2 == NULL_TREE) { -+ size_overflow_type = get_size_overflow_type_for_intentional_overflow(stmt, new_rhs1); -+ new_rhs2 = cast_a_tree(size_overflow_type, rhs2); -+ orig_rhs = rhs1; -+ gimple_assign_set_rhs = &gimple_assign_set_rhs1; -+ } else { -+ size_overflow_type = get_size_overflow_type_for_intentional_overflow(stmt, new_rhs2); -+ new_rhs1 = cast_a_tree(size_overflow_type, rhs1); -+ orig_rhs = rhs2; -+ gimple_assign_set_rhs = &gimple_assign_set_rhs2; -+ } -+ -+ change_rhs = cast_to_new_size_overflow_type(stmt, change_rhs, size_overflow_type, BEFORE_STMT); -+ -+ if (check_overflow) -+ check_size_overflow(stmt, size_overflow_type, change_rhs, orig_rhs, BEFORE_STMT); -+ -+ new_rhs = change_assign_rhs(stmt, orig_rhs, change_rhs); -+ gimple_assign_set_rhs(stmt, new_rhs); -+ update_stmt(stmt); -+ -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+} -+ -+static tree handle_binary_ops(struct pointer_set_t *visited, tree lhs) -+{ -+ tree rhs1, rhs2, new_lhs; -+ gimple def_stmt = get_def_stmt(lhs); -+ tree new_rhs1 = NULL_TREE; -+ tree new_rhs2 = NULL_TREE; -+ -+ rhs1 = gimple_assign_rhs1(def_stmt); -+ rhs2 = gimple_assign_rhs2(def_stmt); -+ -+ /* no DImode/TImode division in the 32/64 bit kernel */ -+ switch (gimple_assign_rhs_code(def_stmt)) { -+ case RDIV_EXPR: -+ case TRUNC_DIV_EXPR: -+ case CEIL_DIV_EXPR: -+ case FLOOR_DIV_EXPR: -+ case ROUND_DIV_EXPR: -+ case TRUNC_MOD_EXPR: -+ case CEIL_MOD_EXPR: -+ case FLOOR_MOD_EXPR: -+ case ROUND_MOD_EXPR: -+ case EXACT_DIV_EXPR: -+ case POINTER_PLUS_EXPR: -+ case BIT_AND_EXPR: -+ return create_assign(visited, def_stmt, lhs, AFTER_STMT); -+ default: -+ break; -+ } -+ -+ new_lhs = handle_integer_truncation(visited, lhs); -+ if (new_lhs != NULL_TREE) -+ return new_lhs; -+ -+ if (TREE_CODE(rhs1) == SSA_NAME) -+ new_rhs1 = expand(visited, rhs1); -+ if (TREE_CODE(rhs2) == SSA_NAME) -+ new_rhs2 = expand(visited, rhs2); -+ -+ if (is_a_neg_overflow(def_stmt, rhs2)) -+ return handle_intentional_overflow(visited, true, def_stmt, new_rhs1, new_rhs1, NULL_TREE); -+ if (is_a_neg_overflow(def_stmt, rhs1)) -+ return handle_intentional_overflow(visited, true, def_stmt, new_rhs2, NULL_TREE, new_rhs2); -+ -+ if (is_a_constant_overflow(def_stmt, rhs2)) -+ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs1), def_stmt, new_rhs1, new_rhs1, NULL_TREE); -+ if (is_a_constant_overflow(def_stmt, rhs1)) -+ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs2), def_stmt, new_rhs2, NULL_TREE, new_rhs2); -+ -+ return follow_overflow_type_and_dup(visited, def_stmt, lhs, new_rhs1, new_rhs2, NULL_TREE); -+} -+ -+#if BUILDING_GCC_VERSION >= 4007 -+static tree get_new_rhs(struct pointer_set_t *visited, tree size_overflow_type, tree rhs) -+{ -+ if (is_gimple_constant(rhs)) -+ return cast_a_tree(size_overflow_type, rhs); -+ if (TREE_CODE(rhs) != SSA_NAME) -+ return NULL_TREE; -+ return expand(visited, rhs); -+} -+ -+static tree handle_ternary_ops(struct pointer_set_t *visited, tree lhs) -+{ -+ tree rhs1, rhs2, rhs3, new_rhs1, new_rhs2, new_rhs3, size_overflow_type; -+ gimple def_stmt = get_def_stmt(lhs); -+ -+ size_overflow_type = get_size_overflow_type(def_stmt, lhs); -+ -+ rhs1 = gimple_assign_rhs1(def_stmt); -+ rhs2 = gimple_assign_rhs2(def_stmt); -+ rhs3 = gimple_assign_rhs3(def_stmt); -+ new_rhs1 = get_new_rhs(visited, size_overflow_type, rhs1); -+ new_rhs2 = get_new_rhs(visited, size_overflow_type, rhs2); -+ new_rhs3 = get_new_rhs(visited, size_overflow_type, rhs3); -+ -+ return follow_overflow_type_and_dup(visited, def_stmt, lhs, new_rhs1, new_rhs2, new_rhs3); -+} -+#endif -+ -+static tree get_size_overflow_type(gimple stmt, const_tree node) -+{ -+ const_tree type; -+ -+ gcc_assert(node != NULL_TREE); -+ -+ type = TREE_TYPE(node); -+ -+ if (gimple_plf(stmt, MY_STMT)) -+ return TREE_TYPE(node); -+ -+ switch (TYPE_MODE(type)) { -+ case QImode: -+ return (TYPE_UNSIGNED(type)) ? unsigned_intHI_type_node : intHI_type_node; -+ case HImode: -+ return (TYPE_UNSIGNED(type)) ? unsigned_intSI_type_node : intSI_type_node; -+ case SImode: -+ return (TYPE_UNSIGNED(type)) ? unsigned_intDI_type_node : intDI_type_node; -+ case DImode: -+ if (LONG_TYPE_SIZE == GET_MODE_BITSIZE(SImode)) -+ return (TYPE_UNSIGNED(type)) ? unsigned_intDI_type_node : intDI_type_node; -+ return (TYPE_UNSIGNED(type)) ? unsigned_intTI_type_node : intTI_type_node; -+ default: -+ debug_tree((tree)node); -+ error("%s: unsupported gcc configuration.", __func__); -+ gcc_unreachable(); -+ } -+} -+ -+static tree expand_visited(gimple def_stmt) -+{ -+ const_gimple next_stmt; -+ gimple_stmt_iterator gsi = gsi_for_stmt(def_stmt); -+ -+ gsi_next(&gsi); -+ next_stmt = gsi_stmt(gsi); -+ -+ gcc_assert(gimple_plf((gimple)next_stmt, MY_STMT)); -+ -+ switch (gimple_code(next_stmt)) { -+ case GIMPLE_ASSIGN: -+ return gimple_get_lhs(next_stmt); -+ case GIMPLE_PHI: -+ return gimple_phi_result(next_stmt); -+ case GIMPLE_CALL: -+ return gimple_call_lhs(next_stmt); -+ default: -+ return NULL_TREE; -+ } -+} -+ -+static tree expand(struct pointer_set_t *visited, tree lhs) -+{ -+ gimple def_stmt; -+ enum tree_code code = TREE_CODE(TREE_TYPE(lhs)); -+ -+ if (is_gimple_constant(lhs)) -+ return NULL_TREE; -+ -+ if (TREE_CODE(lhs) == ADDR_EXPR) -+ return NULL_TREE; -+ -+ if (code == REAL_TYPE) -+ return NULL_TREE; -+ -+ gcc_assert(code == INTEGER_TYPE || code == POINTER_TYPE || code == BOOLEAN_TYPE || code == ENUMERAL_TYPE); -+ -+ -+ def_stmt = get_def_stmt(lhs); -+ -+ if (!def_stmt) -+ return NULL_TREE; -+ -+ if (gimple_plf(def_stmt, MY_STMT)) -+ return lhs; -+ -+ if (pointer_set_contains(visited, def_stmt)) -+ return expand_visited(def_stmt); -+ -+ switch (gimple_code(def_stmt)) { -+ case GIMPLE_NOP: -+ return NULL_TREE; -+ case GIMPLE_PHI: -+ return build_new_phi(visited, lhs); -+ case GIMPLE_CALL: -+ case GIMPLE_ASM: -+ return create_assign(visited, def_stmt, lhs, AFTER_STMT); -+ case GIMPLE_ASSIGN: -+ switch (gimple_num_ops(def_stmt)) { -+ case 2: -+ return handle_unary_ops(visited, lhs); -+ case 3: -+ return handle_binary_ops(visited, lhs); -+#if BUILDING_GCC_VERSION >= 4007 -+ case 4: -+ return handle_ternary_ops(visited, lhs); -+#endif -+ } -+ default: -+ debug_gimple_stmt(def_stmt); -+ error("%s: unknown gimple code", __func__); -+ gcc_unreachable(); -+ } -+} -+ -+static void change_function_arg(gimple stmt, const_tree origarg, unsigned int argnum, tree newarg) -+{ -+ const_gimple assign; -+ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); -+ tree origtype = TREE_TYPE(origarg); -+ -+ gcc_assert(gimple_code(stmt) == GIMPLE_CALL); -+ -+ assign = build_cast_stmt(origtype, newarg, CREATE_NEW_VAR, &gsi, BEFORE_STMT); -+ -+ gimple_call_set_arg(stmt, argnum, gimple_get_lhs(assign)); -+ update_stmt(stmt); -+} -+ -+static bool get_function_arg(unsigned int* argnum, const_tree fndecl) -+{ -+ const char *origid; -+ tree arg; -+ const_tree origarg; -+ -+ if (!DECL_ABSTRACT_ORIGIN(fndecl)) -+ return true; -+ -+ origarg = DECL_ARGUMENTS(DECL_ABSTRACT_ORIGIN(fndecl)); -+ while (origarg && *argnum) { -+ (*argnum)--; -+ origarg = TREE_CHAIN(origarg); -+ } -+ -+ gcc_assert(*argnum == 0); -+ -+ gcc_assert(origarg != NULL_TREE); -+ origid = NAME(origarg); -+ *argnum = 0; -+ for (arg = DECL_ARGUMENTS(fndecl); arg; arg = TREE_CHAIN(arg)) { -+ if (!strcmp(origid, NAME(arg))) -+ return true; -+ (*argnum)++; -+ } -+ return false; -+} -+ -+static bool skip_types(const_tree var) -+{ -+ switch (TREE_CODE(var)) { -+ case ADDR_EXPR: -+#if BUILDING_GCC_VERSION >= 4006 -+ case MEM_REF: -+#endif -+ case ARRAY_REF: -+ case BIT_FIELD_REF: -+ case INDIRECT_REF: -+ case TARGET_MEM_REF: -+ case VAR_DECL: -+ return true; -+ default: -+ break; -+ } -+ return false; -+} -+ -+static bool walk_phi(struct pointer_set_t *visited, const_tree result) -+{ -+ gimple phi = get_def_stmt(result); -+ unsigned int i, n = gimple_phi_num_args(phi); -+ -+ if (!phi) -+ return false; -+ -+ pointer_set_insert(visited, phi); -+ for (i = 0; i < n; i++) { -+ const_tree arg = gimple_phi_arg_def(phi, i); -+ if (pre_expand(visited, arg)) -+ return true; -+ } -+ return false; -+} -+ -+static bool walk_unary_ops(struct pointer_set_t *visited, const_tree lhs) -+{ -+ gimple def_stmt = get_def_stmt(lhs); -+ const_tree rhs; -+ -+ if (!def_stmt) -+ return false; -+ -+ rhs = gimple_assign_rhs1(def_stmt); -+ if (pre_expand(visited, rhs)) -+ return true; -+ return false; -+} -+ -+static bool walk_binary_ops(struct pointer_set_t *visited, const_tree lhs) -+{ -+ bool rhs1_found, rhs2_found; -+ gimple def_stmt = get_def_stmt(lhs); -+ const_tree rhs1, rhs2; -+ -+ if (!def_stmt) -+ return false; -+ -+ rhs1 = gimple_assign_rhs1(def_stmt); -+ rhs2 = gimple_assign_rhs2(def_stmt); -+ rhs1_found = pre_expand(visited, rhs1); -+ rhs2_found = pre_expand(visited, rhs2); -+ -+ return rhs1_found || rhs2_found; -+} -+ -+static const_tree search_field_decl(const_tree comp_ref) -+{ -+ const_tree field = NULL_TREE; -+ unsigned int i, len = TREE_OPERAND_LENGTH(comp_ref); -+ -+ for (i = 0; i < len; i++) { -+ field = TREE_OPERAND(comp_ref, i); -+ if (TREE_CODE(field) == FIELD_DECL) -+ break; -+ } -+ gcc_assert(TREE_CODE(field) == FIELD_DECL); -+ return field; -+} -+ -+static enum marked mark_status(const_tree fndecl, unsigned int argnum) -+{ -+ const_tree attr, p; -+ -+ attr = lookup_attribute("intentional_overflow", DECL_ATTRIBUTES(fndecl)); -+ if (!attr || !TREE_VALUE(attr)) -+ return MARKED_NO; -+ -+ p = TREE_VALUE(attr); -+ if (!TREE_INT_CST_LOW(TREE_VALUE(p))) -+ return MARKED_NOT_INTENTIONAL; -+ -+ do { -+ if (argnum == TREE_INT_CST_LOW(TREE_VALUE(p))) -+ return MARKED_YES; -+ p = TREE_CHAIN(p); -+ } while (p); -+ -+ return MARKED_NO; -+} -+ -+static void print_missing_msg(tree func, unsigned int argnum) -+{ -+ unsigned int new_hash; -+ size_t len; -+ unsigned char tree_codes[CODES_LIMIT]; -+ location_t loc = DECL_SOURCE_LOCATION(func); -+ const char *curfunc = get_asm_name(func); -+ -+ len = get_function_decl(func, tree_codes); -+ new_hash = get_hash_num(curfunc, (const char *) tree_codes, len, 0); -+ inform(loc, "Function %s is missing from the size_overflow hash table +%s+%u+%u+", curfunc, curfunc, argnum, new_hash); -+} -+ -+static unsigned int search_missing_attribute(const_tree arg) -+{ -+ const_tree type = TREE_TYPE(arg); -+ tree func = get_original_function_decl(current_function_decl); -+ unsigned int argnum; -+ const struct size_overflow_hash *hash; -+ -+ gcc_assert(TREE_CODE(arg) != COMPONENT_REF); -+ -+ if (TREE_CODE(type) == POINTER_TYPE) -+ return 0; -+ -+ argnum = find_arg_number(arg, func); -+ if (argnum == 0) -+ return 0; -+ -+ if (lookup_attribute("size_overflow", DECL_ATTRIBUTES(func))) -+ return argnum; -+ -+ hash = get_function_hash(func); -+ if (!hash || !(hash->param & (1U << argnum))) { -+ print_missing_msg(func, argnum); -+ return 0; -+ } -+ return argnum; -+} -+ -+static bool is_already_marked(const_tree lhs) -+{ -+ unsigned int argnum; -+ const_tree fndecl; -+ -+ argnum = search_missing_attribute(lhs); -+ fndecl = get_original_function_decl(current_function_decl); -+ if (argnum && mark_status(fndecl, argnum) == MARKED_YES) -+ return true; -+ return false; -+} -+ -+static bool pre_expand(struct pointer_set_t *visited, const_tree lhs) -+{ -+ const_gimple def_stmt; -+ -+ if (is_gimple_constant(lhs)) -+ return false; -+ -+ if (skip_types(lhs)) -+ return false; -+ -+ if (TREE_CODE(lhs) == PARM_DECL) -+ return is_already_marked(lhs); -+ -+ if (TREE_CODE(lhs) == COMPONENT_REF) { -+ const_tree field, attr; -+ -+ field = search_field_decl(lhs); -+ attr = lookup_attribute("intentional_overflow", DECL_ATTRIBUTES(field)); -+ if (!attr || !TREE_VALUE(attr)) -+ return false; -+ return true; -+ } -+ -+ def_stmt = get_def_stmt(lhs); -+ -+ if (!def_stmt) -+ return false; -+ -+ if (pointer_set_contains(visited, def_stmt)) -+ return false; -+ -+ switch (gimple_code(def_stmt)) { -+ case GIMPLE_NOP: -+ if (TREE_CODE(SSA_NAME_VAR(lhs)) == PARM_DECL) -+ return is_already_marked(lhs); -+ return false; -+ case GIMPLE_PHI: -+ return walk_phi(visited, lhs); -+ case GIMPLE_CALL: -+ case GIMPLE_ASM: -+ return false; -+ case GIMPLE_ASSIGN: -+ switch (gimple_num_ops(def_stmt)) { -+ case 2: -+ return walk_unary_ops(visited, lhs); -+ case 3: -+ return walk_binary_ops(visited, lhs); -+ } -+ default: -+ debug_gimple_stmt((gimple)def_stmt); -+ error("%s: unknown gimple code", __func__); -+ gcc_unreachable(); -+ } -+} -+ -+static bool search_attributes(tree fndecl, const_tree arg, unsigned int argnum) -+{ -+ struct pointer_set_t *visited; -+ bool is_found; -+ enum marked is_marked; -+ location_t loc; -+ -+ visited = pointer_set_create(); -+ is_found = pre_expand(visited, arg); -+ pointer_set_destroy(visited); -+ -+ is_marked = mark_status(fndecl, argnum + 1); -+ if ((is_found && is_marked == MARKED_YES) || is_marked == MARKED_NOT_INTENTIONAL) -+ return true; -+ -+ if (is_found) { -+ loc = DECL_SOURCE_LOCATION(fndecl); -+ inform(loc, "The intentional_overflow attribute is missing from +%s+%u+", get_asm_name(fndecl), argnum + 1); -+ return true; -+ } -+ return false; -+} -+ -+static void handle_function_arg(gimple stmt, tree fndecl, unsigned int argnum) -+{ -+ struct pointer_set_t *visited; -+ tree arg, newarg; -+ bool match; -+ -+ match = get_function_arg(&argnum, fndecl); -+ if (!match) -+ return; -+ gcc_assert(gimple_call_num_args(stmt) > argnum); -+ arg = gimple_call_arg(stmt, argnum); -+ if (arg == NULL_TREE) -+ return; -+ -+ if (is_gimple_constant(arg)) -+ return; -+ -+ if (search_attributes(fndecl, arg, argnum)) -+ return; -+ -+ if (TREE_CODE(arg) != SSA_NAME) -+ return; -+ -+ check_arg_type(arg); -+ -+ visited = pointer_set_create(); -+ newarg = expand(visited, arg); -+ pointer_set_destroy(visited); -+ -+ if (newarg == NULL_TREE) -+ return; -+ -+ change_function_arg(stmt, arg, argnum, newarg); -+ -+ check_size_overflow(stmt, TREE_TYPE(newarg), newarg, arg, BEFORE_STMT); -+} -+ -+static void handle_function_by_attribute(gimple stmt, const_tree attr, tree fndecl) -+{ -+ tree p = TREE_VALUE(attr); -+ do { -+ handle_function_arg(stmt, fndecl, TREE_INT_CST_LOW(TREE_VALUE(p))-1); -+ p = TREE_CHAIN(p); -+ } while (p); -+} -+ -+static void handle_function_by_hash(gimple stmt, tree fndecl) -+{ -+ tree orig_fndecl; -+ unsigned int num; -+ const struct size_overflow_hash *hash; -+ -+ orig_fndecl = get_original_function_decl(fndecl); -+ if (C_DECL_IMPLICIT(orig_fndecl)) -+ return; -+ hash = get_function_hash(orig_fndecl); -+ if (!hash) -+ return; -+ -+ for (num = 1; num <= MAX_PARAM; num++) -+ if (hash->param & (1U << num)) -+ handle_function_arg(stmt, fndecl, num - 1); -+} -+ -+static void set_plf_false(void) -+{ -+ basic_block bb; -+ -+ FOR_ALL_BB(bb) { -+ gimple_stmt_iterator si; -+ -+ for (si = gsi_start_bb(bb); !gsi_end_p(si); gsi_next(&si)) -+ gimple_set_plf(gsi_stmt(si), MY_STMT, false); -+ for (si = gsi_start_phis(bb); !gsi_end_p(si); gsi_next(&si)) -+ gimple_set_plf(gsi_stmt(si), MY_STMT, false); -+ } -+} -+ -+static unsigned int handle_function(void) -+{ -+ basic_block next, bb = ENTRY_BLOCK_PTR->next_bb; -+ -+ set_plf_false(); -+ -+ do { -+ gimple_stmt_iterator gsi; -+ next = bb->next_bb; -+ -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ tree fndecl, attr; -+ gimple stmt = gsi_stmt(gsi); -+ -+ if (!(is_gimple_call(stmt))) -+ continue; -+ fndecl = gimple_call_fndecl(stmt); -+ if (fndecl == NULL_TREE) -+ continue; -+ if (gimple_call_num_args(stmt) == 0) -+ continue; -+ attr = lookup_attribute("size_overflow", DECL_ATTRIBUTES(fndecl)); -+ if (!attr || !TREE_VALUE(attr)) -+ handle_function_by_hash(stmt, fndecl); -+ else -+ handle_function_by_attribute(stmt, attr, fndecl); -+ gsi = gsi_for_stmt(stmt); -+ next = gimple_bb(stmt)->next_bb; -+ } -+ bb = next; -+ } while (bb); -+ return 0; -+} -+ -+static struct gimple_opt_pass size_overflow_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "size_overflow", -+ .gate = NULL, -+ .execute = handle_function, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = PROP_cfg | PROP_referenced_vars, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi | TODO_cleanup_cfg | TODO_ggc_collect | TODO_verify_flow -+ } -+}; -+ -+static void start_unit_callback(void __unused *gcc_data, void __unused *user_data) -+{ -+ tree fntype; -+ -+ const_char_ptr_type_node = build_pointer_type(build_type_variant(char_type_node, 1, 0)); -+ -+ // void report_size_overflow(const char *loc_file, unsigned int loc_line, const char *current_func, const char *ssa_var) -+ fntype = build_function_type_list(void_type_node, -+ const_char_ptr_type_node, -+ unsigned_type_node, -+ const_char_ptr_type_node, -+ const_char_ptr_type_node, -+ NULL_TREE); -+ report_size_overflow_decl = build_fn_decl("report_size_overflow", fntype); -+ -+ DECL_ASSEMBLER_NAME(report_size_overflow_decl); -+ TREE_PUBLIC(report_size_overflow_decl) = 1; -+ DECL_EXTERNAL(report_size_overflow_decl) = 1; -+ DECL_ARTIFICIAL(report_size_overflow_decl) = 1; -+ TREE_THIS_VOLATILE(report_size_overflow_decl) = 1; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ int i; -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ bool enable = true; -+ -+ struct register_pass_info size_overflow_pass_info = { -+ .pass = &size_overflow_pass.pass, -+ .reference_pass_name = "ssa", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ for (i = 0; i < argc; ++i) { -+ if (!strcmp(argv[i].key, "no-size-overflow")) { -+ enable = false; -+ continue; -+ } -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &size_overflow_plugin_info); -+ if (enable) { -+ register_callback("start_unit", PLUGIN_START_UNIT, &start_unit_callback, NULL); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &size_overflow_pass_info); -+ } -+ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); -+ -+ return 0; -+} -diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/stackleak_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/stackleak_plugin.c ---- compat-wireless-3.5.4-1-snpc/tools/gcc/stackleak_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.5.4-1-snpc/tools/gcc/stackleak_plugin.c 2012-10-15 19:11:12.875824568 +0000 -@@ -0,0 +1,313 @@ -+/* -+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to help implement various PaX features -+ * -+ * - track lowest stack pointer -+ * -+ * TODO: -+ * - initialize all local variables -+ * -+ * BUGS: -+ * - none known -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+ -+extern void print_gimple_stmt(FILE *, gimple, int, int); -+ -+int plugin_is_GPL_compatible; -+ -+static int track_frame_size = -1; -+static const char track_function[] = "pax_track_stack"; -+static const char check_function[] = "pax_check_alloca"; -+static bool init_locals; -+ -+static struct plugin_info stackleak_plugin_info = { -+ .version = "201203140940", -+ .help = "track-lowest-sp=nn\ttrack sp in functions whose frame size is at least nn bytes\n" -+// "initialize-locals\t\tforcibly initialize all stack frames\n" -+}; -+ -+static bool gate_stackleak_track_stack(void); -+static unsigned int execute_stackleak_tree_instrument(void); -+static unsigned int execute_stackleak_final(void); -+ -+static struct gimple_opt_pass stackleak_tree_instrument_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "stackleak_tree_instrument", -+ .gate = gate_stackleak_track_stack, -+ .execute = execute_stackleak_tree_instrument, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = PROP_gimple_leh | PROP_cfg, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, //TODO_verify_ssa | TODO_verify_flow | TODO_verify_stmts, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_update_ssa -+ } -+}; -+ -+static struct rtl_opt_pass stackleak_final_rtl_opt_pass = { -+ .pass = { -+ .type = RTL_PASS, -+ .name = "stackleak_final", -+ .gate = gate_stackleak_track_stack, -+ .execute = execute_stackleak_final, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_dump_func -+ } -+}; -+ -+static bool gate_stackleak_track_stack(void) -+{ -+ return track_frame_size >= 0; -+} -+ -+static void stackleak_check_alloca(gimple_stmt_iterator *gsi) -+{ -+ gimple check_alloca; -+ tree fntype, fndecl, alloca_size; -+ -+ fntype = build_function_type_list(void_type_node, long_unsigned_type_node, NULL_TREE); -+ fndecl = build_fn_decl(check_function, fntype); -+ DECL_ASSEMBLER_NAME(fndecl); // for LTO -+ -+ // insert call to void pax_check_alloca(unsigned long size) -+ alloca_size = gimple_call_arg(gsi_stmt(*gsi), 0); -+ check_alloca = gimple_build_call(fndecl, 1, alloca_size); -+ gsi_insert_before(gsi, check_alloca, GSI_SAME_STMT); -+} -+ -+static void stackleak_add_instrumentation(gimple_stmt_iterator *gsi) -+{ -+ gimple track_stack; -+ tree fntype, fndecl; -+ -+ fntype = build_function_type_list(void_type_node, NULL_TREE); -+ fndecl = build_fn_decl(track_function, fntype); -+ DECL_ASSEMBLER_NAME(fndecl); // for LTO -+ -+ // insert call to void pax_track_stack(void) -+ track_stack = gimple_build_call(fndecl, 0); -+ gsi_insert_after(gsi, track_stack, GSI_CONTINUE_LINKING); -+} -+ -+#if BUILDING_GCC_VERSION == 4005 -+static bool gimple_call_builtin_p(gimple stmt, enum built_in_function code) -+{ -+ tree fndecl; -+ -+ if (!is_gimple_call(stmt)) -+ return false; -+ fndecl = gimple_call_fndecl(stmt); -+ if (!fndecl) -+ return false; -+ if (DECL_BUILT_IN_CLASS(fndecl) != BUILT_IN_NORMAL) -+ return false; -+// print_node(stderr, "pax", fndecl, 4); -+ return DECL_FUNCTION_CODE(fndecl) == code; -+} -+#endif -+ -+static bool is_alloca(gimple stmt) -+{ -+ if (gimple_call_builtin_p(stmt, BUILT_IN_ALLOCA)) -+ return true; -+ -+#if BUILDING_GCC_VERSION >= 4007 -+ if (gimple_call_builtin_p(stmt, BUILT_IN_ALLOCA_WITH_ALIGN)) -+ return true; -+#endif -+ -+ return false; -+} -+ -+static unsigned int execute_stackleak_tree_instrument(void) -+{ -+ basic_block bb, entry_bb; -+ bool prologue_instrumented = false, is_leaf = true; -+ -+ entry_bb = ENTRY_BLOCK_PTR_FOR_FUNCTION(cfun)->next_bb; -+ -+ // 1. loop through BBs and GIMPLE statements -+ FOR_EACH_BB(bb) { -+ gimple_stmt_iterator gsi; -+ -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ gimple stmt; -+ -+ stmt = gsi_stmt(gsi); -+ -+ if (is_gimple_call(stmt)) -+ is_leaf = false; -+ -+ // gimple match: align 8 built-in BUILT_IN_NORMAL:BUILT_IN_ALLOCA attributes <tree_list 0xb7576450> -+ if (!is_alloca(stmt)) -+ continue; -+ -+ // 2. insert stack overflow check before each __builtin_alloca call -+ stackleak_check_alloca(&gsi); -+ -+ // 3. insert track call after each __builtin_alloca call -+ stackleak_add_instrumentation(&gsi); -+ if (bb == entry_bb) -+ prologue_instrumented = true; -+ } -+ } -+ -+ // special cases for some bad linux code: taking the address of static inline functions will materialize them -+ // but we mustn't instrument some of them as the resulting stack alignment required by the function call ABI -+ // will break other assumptions regarding the expected (but not otherwise enforced) register clobbering ABI. -+ // case in point: native_save_fl on amd64 when optimized for size clobbers rdx if it were instrumented here. -+ if (is_leaf && !TREE_PUBLIC(current_function_decl) && DECL_DECLARED_INLINE_P(current_function_decl)) -+ return 0; -+ if (is_leaf && !strncmp(IDENTIFIER_POINTER(DECL_NAME(current_function_decl)), "_paravirt_", 10)) -+ return 0; -+ -+ // 4. insert track call at the beginning -+ if (!prologue_instrumented) { -+ gimple_stmt_iterator gsi; -+ -+ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; -+ if (dom_info_available_p(CDI_DOMINATORS)) -+ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR); -+ gsi = gsi_start_bb(bb); -+ stackleak_add_instrumentation(&gsi); -+ } -+ -+ return 0; -+} -+ -+static unsigned int execute_stackleak_final(void) -+{ -+ rtx insn; -+ -+ if (cfun->calls_alloca) -+ return 0; -+ -+ // keep calls only if function frame is big enough -+ if (get_frame_size() >= track_frame_size) -+ return 0; -+ -+ // 1. find pax_track_stack calls -+ for (insn = get_insns(); insn; insn = NEXT_INSN(insn)) { -+ // rtl match: (call_insn 8 7 9 3 (call (mem (symbol_ref ("pax_track_stack") [flags 0x41] <function_decl 0xb7470e80 pax_track_stack>) [0 S1 A8]) (4)) -1 (nil) (nil)) -+ rtx body; -+ -+ if (!CALL_P(insn)) -+ continue; -+ body = PATTERN(insn); -+ if (GET_CODE(body) != CALL) -+ continue; -+ body = XEXP(body, 0); -+ if (GET_CODE(body) != MEM) -+ continue; -+ body = XEXP(body, 0); -+ if (GET_CODE(body) != SYMBOL_REF) -+ continue; -+ if (strcmp(XSTR(body, 0), track_function)) -+ continue; -+// warning(0, "track_frame_size: %d %ld %d", cfun->calls_alloca, get_frame_size(), track_frame_size); -+ // 2. delete call -+ insn = delete_insn_and_edges(insn); -+#if BUILDING_GCC_VERSION >= 4007 -+ if (GET_CODE(insn) == NOTE && NOTE_KIND(insn) == NOTE_INSN_CALL_ARG_LOCATION) -+ insn = delete_insn_and_edges(insn); -+#endif -+ } -+ -+// print_simple_rtl(stderr, get_insns()); -+// print_rtl(stderr, get_insns()); -+// warning(0, "track_frame_size: %d %ld %d", cfun->calls_alloca, get_frame_size(), track_frame_size); -+ -+ return 0; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ int i; -+ struct register_pass_info stackleak_tree_instrument_pass_info = { -+ .pass = &stackleak_tree_instrument_pass.pass, -+// .reference_pass_name = "tree_profile", -+ .reference_pass_name = "optimized", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_BEFORE -+ }; -+ struct register_pass_info stackleak_final_pass_info = { -+ .pass = &stackleak_final_rtl_opt_pass.pass, -+ .reference_pass_name = "final", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_BEFORE -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &stackleak_plugin_info); -+ -+ for (i = 0; i < argc; ++i) { -+ if (!strcmp(argv[i].key, "track-lowest-sp")) { -+ if (!argv[i].value) { -+ error(G_("no value supplied for option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ continue; -+ } -+ track_frame_size = atoi(argv[i].value); -+ if (argv[i].value[0] < '0' || argv[i].value[0] > '9' || track_frame_size < 0) -+ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); -+ continue; -+ } -+ if (!strcmp(argv[i].key, "initialize-locals")) { -+ if (argv[i].value) { -+ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); -+ continue; -+ } -+ init_locals = true; -+ continue; -+ } -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ } -+ -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &stackleak_tree_instrument_pass_info); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &stackleak_final_pass_info); -+ -+ return 0; -+} diff --git a/net-wireless/compat-wireless/files/compat-wireless-3.6-grsec.patch b/net-wireless/compat-wireless/files/compat-wireless-3.6-grsec.patch deleted file mode 100644 index 817b3d54..00000000 --- a/net-wireless/compat-wireless/files/compat-wireless-3.6-grsec.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- drivers/net/wireless/ti/wl18xx/main.c -+++ drivers/net/wireless/ti/wl18xx/main.c -@@ -1320,6 +1320,34 @@ static struct wlcore_ops wl18xx_ops = { - .pre_pkt_send = wl18xx_pre_pkt_send, - }; - -+static struct wlcore_ops wl18xx_ops_no_checksum = { -+ .identify_chip = wl18xx_identify_chip, -+ .boot = wl18xx_boot, -+ .plt_init = wl18xx_plt_init, -+ .trigger_cmd = wl18xx_trigger_cmd, -+ .ack_event = wl18xx_ack_event, -+ .calc_tx_blocks = wl18xx_calc_tx_blocks, -+ .set_tx_desc_blocks = wl18xx_set_tx_desc_blocks, -+ .set_tx_desc_data_len = wl18xx_set_tx_desc_data_len, -+ .get_rx_buf_align = wl18xx_get_rx_buf_align, -+ .get_rx_packet_len = wl18xx_get_rx_packet_len, -+ .tx_immediate_compl = wl18xx_tx_immediate_completion, -+ .tx_delayed_compl = NULL, -+ .hw_init = wl18xx_hw_init, -+ .set_tx_desc_csum = wl18xx_set_tx_desc_csum, -+ .get_pg_ver = wl18xx_get_pg_ver, -+ .set_rx_csum = NULL, -+ .sta_get_ap_rate_mask = wl18xx_sta_get_ap_rate_mask, -+ .ap_get_mimo_wide_rate_mask = wl18xx_ap_get_mimo_wide_rate_mask, -+ .get_mac = wl18xx_get_mac, -+ .debugfs_init = wl18xx_debugfs_add_files, -+ .handle_static_data = wl18xx_handle_static_data, -+ .get_spare_blocks = wl18xx_get_spare_blocks, -+ .set_key = wl18xx_set_key, -+ .pre_pkt_send = wl18xx_pre_pkt_send, -+ .init_vif = NULL, -+}; -+ - /* HT cap appropriate for wide channels in 2Ghz */ - static struct ieee80211_sta_ht_cap wl18xx_siso40_ht_cap_2ghz = { - .cap = IEEE80211_HT_CAP_SGI_20 | IEEE80211_HT_CAP_SGI_40 | -@@ -1509,8 +1537,11 @@ static int __devinit wl18xx_probe(struct - } - - if (!checksum_param) { -- wl18xx_ops.set_rx_csum = NULL; -- wl18xx_ops.init_vif = NULL; -+ /* -+ * wl18xx_ops.set_rx_csum = NULL; -+ * wl18xx_ops.init_vif = NULL; -+ */ -+ wl->ops = &wl18xx_ops_no_checksum; - } - - wl->enable_11a = enable_11a_param;
\ No newline at end of file diff --git a/net-wireless/compat-wireless/files/compat-wireless-3.6-zc-grsec.patch b/net-wireless/compat-wireless/files/compat-wireless-3.6-zc-grsec.patch deleted file mode 100644 index 41431feb..00000000 --- a/net-wireless/compat-wireless/files/compat-wireless-3.6-zc-grsec.patch +++ /dev/null @@ -1,9057 +0,0 @@ -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/Makefile.rej compat-wireless-3.6-rc7-1-snpc/Makefile.rej ---- compat-wireless-3.6-rc7-1-snpc.orig/Makefile.rej 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/Makefile.rej 2012-10-15 17:30:59.824924531 +0000 -@@ -0,0 +1,196 @@ -+--- Makefile 2012-10-07 18:49:41.159544632 +0200 -++++ Makefile 2012-10-07 18:49:47.351545272 +0200 -+@@ -241,8 +241,9 @@ -+ -+ HOSTCC = gcc -+ HOSTCXX = g++ -+-HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -+-HOSTCXXFLAGS = -O2 -++HOSTCFLAGS = -Wall -W -Wmissing-prototypes -Wstrict-prototypes -Wno-unused-parameter -Wno-missing-field-initializers -O2 -fomit-frame-pointer -fno-delete-null-pointer-checks -++HOSTCLFAGS += $(call cc-option, -Wno-empty-body) -++HOSTCXXFLAGS = -O2 -Wall -W -fno-delete-null-pointer-checks -+ -+ # Decide whether to build built-in, modular, or both. -+ # Normally, just do built-in. -+@@ -404,8 +405,8 @@ -+ # Rules shared between *config targets and build targets -+ -+ # Basic helpers built in scripts/ -+-PHONY += scripts_basic -+-scripts_basic: -++PHONY += scripts_basic gcc-plugins -++scripts_basic: gcc-plugins -+ $(Q)$(MAKE) $(build)=scripts/basic -+ $(Q)rm -f .tmp_quiet_recordmcount -+ -+@@ -561,6 +562,56 @@ -+ KBUILD_CFLAGS += -O2 -+ endif -+ -++PLUGINCC := $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCC)" "$(HOSTCXX)" "$(CC)") -++ifneq ($(PLUGINCC),) -++ifdef CONFIG_PAX_CONSTIFY_PLUGIN -++CONSTIFY_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN -++endif -++ifdef CONFIG_PAX_MEMORY_STACKLEAK -++STACKLEAK_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -DSTACKLEAK_PLUGIN -++STACKLEAK_PLUGIN_CFLAGS += -fplugin-arg-stackleak_plugin-track-lowest-sp=100 -++endif -++ifdef CONFIG_KALLOCSTAT_PLUGIN -++KALLOCSTAT_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/kallocstat_plugin.so -++endif -++ifdef CONFIG_PAX_KERNEXEC_PLUGIN -++KERNEXEC_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/kernexec_plugin.so -++KERNEXEC_PLUGIN_CFLAGS += -fplugin-arg-kernexec_plugin-method=$(CONFIG_PAX_KERNEXEC_PLUGIN_METHOD) -DKERNEXEC_PLUGIN -++KERNEXEC_PLUGIN_AFLAGS := -DKERNEXEC_PLUGIN -++endif -++ifdef CONFIG_CHECKER_PLUGIN -++ifeq ($(call cc-ifversion, -ge, 0406, y), y) -++CHECKER_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/checker_plugin.so -DCHECKER_PLUGIN -++endif -++endif -++COLORIZE_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/colorize_plugin.so -++ifdef CONFIG_PAX_SIZE_OVERFLOW -++SIZE_OVERFLOW_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/size_overflow_plugin.so -DSIZE_OVERFLOW_PLUGIN -++endif -++ifdef CONFIG_PAX_LATENT_ENTROPY -++LATENT_ENTROPY_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/latent_entropy_plugin.so -DLATENT_ENTROPY_PLUGIN -++endif -++GCC_PLUGINS_CFLAGS := $(CONSTIFY_PLUGIN_CFLAGS) $(STACKLEAK_PLUGIN_CFLAGS) $(KALLOCSTAT_PLUGIN_CFLAGS) -++GCC_PLUGINS_CFLAGS += $(KERNEXEC_PLUGIN_CFLAGS) $(CHECKER_PLUGIN_CFLAGS) $(COLORIZE_PLUGIN_CFLAGS) -++GCC_PLUGINS_CFLAGS += $(SIZE_OVERFLOW_PLUGIN_CFLAGS) $(LATENT_ENTROPY_PLUGIN_CFLAGS) -++GCC_PLUGINS_AFLAGS := $(KERNEXEC_PLUGIN_AFLAGS) -++export PLUGINCC GCC_PLUGINS_CFLAGS GCC_PLUGINS_AFLAGS CONSTIFY_PLUGIN -++ifeq ($(KBUILD_EXTMOD),) -++gcc-plugins: -++ $(Q)$(MAKE) $(build)=tools/gcc -++else -++gcc-plugins: ; -++endif -++else -++gcc-plugins: -++ifeq ($(call cc-ifversion, -ge, 0405, y), y) -++ $(Q)echo "warning, your gcc installation does not support plugins, perhaps the necessary headers are missing?" -++else -++ $(Q)echo "warning, your gcc version does not support plugins, you should upgrade it to gcc 4.5 at least" -++endif -++ $(Q)echo "PAX_MEMORY_STACKLEAK and other features will be less secure" -++endif -++ -+ include $(srctree)/arch/$(SRCARCH)/Makefile -+ -+ ifdef CONFIG_READABLE_ASM -+@@ -762,6 +813,8 @@ -+ -+ # The actual objects are generated when descending, -+ # make sure no implicit rule kicks in -++$(filter-out $(init-y),$(vmlinux-deps)): KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) -++$(filter-out $(init-y),$(vmlinux-deps)): KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) -+ $(sort $(vmlinux-deps)): $(vmlinux-dirs) ; -+ -+ # Handle descending into subdirectories listed in $(vmlinux-dirs) -+@@ -771,7 +824,7 @@ -+ # Error messages still appears in the original language -+ -+ PHONY += $(vmlinux-dirs) -+-$(vmlinux-dirs): prepare scripts -++$(vmlinux-dirs): gcc-plugins prepare scripts -+ $(Q)$(MAKE) $(build)=$@ -+ -+ # Store (new) KERNELRELASE string in include/config/kernel.release -+@@ -815,6 +868,7 @@ -+ $(Q)$(MAKE) $(build)=. -+ -+ # All the preparing.. -++prepare: KBUILD_CFLAGS := $(filter-out $(GCC_PLUGINS_CFLAGS),$(KBUILD_CFLAGS)) -+ prepare: prepare0 -+ -+ # Generate some files -+@@ -922,6 +976,8 @@ -+ # using awk while concatenating to the final file. -+ -+ PHONY += modules -++modules: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) -++modules: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) -+ modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin -+ $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order -+ @$(kecho) ' Building modules, stage 2.'; -+@@ -937,7 +993,7 @@ -+ -+ # Target to prepare building external modules -+ PHONY += modules_prepare -+-modules_prepare: prepare scripts -++modules_prepare: gcc-plugins prepare scripts -+ -+ # Target to install modules -+ PHONY += modules_install -+@@ -994,7 +1050,7 @@ -+ MRPROPER_DIRS += include/config usr/include include/generated \ -+ arch/*/include/generated -+ MRPROPER_FILES += .config .config.old .version .old_version \ -+- include/linux/version.h \ -++ include/linux/version.h tools/gcc/size_overflow_hash.h\ -+ Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS -+ -+ # clean - Delete most, but leave enough to build external modules -+@@ -1032,6 +1088,7 @@ -+ \( -name '*.orig' -o -name '*.rej' -o -name '*~' \ -+ -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ -+ -o -name '.*.rej' \ -++ -o -name '.*.rej' -o -name '*.so' \ -+ -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \ -+ -type f -print | xargs rm -f -+ -+@@ -1192,6 +1249,8 @@ -+ $(module-dirs): crmodverdir $(objtree)/Module.symvers -+ $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@) -+ -++modules: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) -++modules: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) -+ modules: $(module-dirs) -+ @$(kecho) ' Building modules, stage 2.'; -+ $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost -+@@ -1326,17 +1385,21 @@ -+ target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@)) -+ endif -+ -+-%.s: %.c prepare scripts FORCE -++%.s: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) -++%.s: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) -++%.s: %.c gcc-plugins prepare scripts FORCE -+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) -+ %.i: %.c prepare scripts FORCE -+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) -+-%.o: %.c prepare scripts FORCE -++%.o: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) -++%.o: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) -++%.o: %.c gcc-plugins prepare scripts FORCE -+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) -+ %.lst: %.c prepare scripts FORCE -+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) -+-%.s: %.S prepare scripts FORCE -++%.s: %.S gcc-plugins prepare scripts FORCE -+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) -+-%.o: %.S prepare scripts FORCE -++%.o: %.S gcc-plugins prepare scripts FORCE -+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) -+ %.symtypes: %.c prepare scripts FORCE -+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) -+@@ -1346,11 +1409,15 @@ -+ $(cmd_crmodverdir) -+ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ -+ $(build)=$(build-dir) -+-%/: prepare scripts FORCE -++%/: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) -++%/: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) -++%/: gcc-plugins prepare scripts FORCE -+ $(cmd_crmodverdir) -+ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ -+ $(build)=$(build-dir) -+-%.ko: prepare scripts FORCE -++%.ko: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) -++%.ko: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) -++%.ko: gcc-plugins prepare scripts FORCE -+ $(cmd_crmodverdir) -+ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ -+ $(build)=$(build-dir) $(@:.ko=.o) -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/Makefile.~1~ compat-wireless-3.6-rc7-1-snpc/Makefile.~1~ ---- compat-wireless-3.6-rc7-1-snpc.orig/Makefile.~1~ 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/Makefile.~1~ 2012-10-15 17:30:59.824924531 +0000 -@@ -0,0 +1,257 @@ -+# -+ -+# Copyright (c) 2007-2012 Luis R. Rodriguez <mcgrof@frijolero.org> -+# -+# Permission to use, copy, modify, and/or distribute this software for any -+# purpose with or without fee is hereby granted, provided that the above -+# copyright notice and this permission notice appear in all copies. -+# -+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ -+export KMODDIR?= updates -+KMODDIR_ARG:= "INSTALL_MOD_DIR=$(KMODDIR)" -+ifneq ($(origin KLIB), undefined) -+KMODPATH_ARG:= "INSTALL_MOD_PATH=$(KLIB)" -+else -+export KLIB:= /lib/modules/$(shell uname -r) -+endif -+export KLIB_BUILD ?= $(KLIB)/build -+export MAKE -+ -+DESTDIR?= -+ -+ifneq ($(KERNELRELEASE),) -+ -+-include $(COMPAT_CONFIG) -+include $(COMPAT_CONFIG_CW) -+ -+NOSTDINC_FLAGS := -I$(M)/include/ \ -+ -include $(M)/include/linux/compat-2.6.h \ -+ $(CFLAGS) -+ -+obj-y := compat/ -+ -+obj-$(CONFIG_COMPAT_RFKILL) += net/rfkill/ -+ -+ifeq ($(BT),) -+obj-$(CONFIG_COMPAT_WIRELESS) += net/wireless/ net/mac80211/ -+obj-$(CONFIG_COMPAT_WIRELESS_MODULES) += drivers/net/wireless/ -+ -+obj-$(CONFIG_COMPAT_NET_USB_MODULES) += drivers/net/usb/ -+ -+obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/ethernet/atheros/ -+obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/ethernet/broadcom/ -+ -+obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/ssb/ -+obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/bcma/ -+obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/misc/eeprom/ -+ -+ifeq ($(CONFIG_STAGING_EXCLUDE_BUILD),) -+endif -+ -+endif -+ -+obj-$(CONFIG_COMPAT_BLUETOOTH) += net/bluetooth/ -+obj-$(CONFIG_COMPAT_BLUETOOTH_MODULES) += drivers/bluetooth/ -+ -+else -+ -+export PWD := $(shell pwd) -+ -+# The build will fail if there is any space in PWD. -+ifneq (,$(findstring $() ,$(PWD))) -+$(error "The path to this compat-wireless directory has spaces in it." \ -+ "Please put it somewhere where there is no space") -+endif -+ -+export CFLAGS += \ -+ -DCOMPAT_BASE="\"$(shell cat $(PWD)/.compat_base)\"" \ -+ -DCOMPAT_BASE_TREE="\"$(shell cat $(PWD)/.compat_base_tree)\"" \ -+ -DCOMPAT_BASE_TREE_VERSION="\"$(shell cat $(PWD)/.compat_base_tree_version)\"" \ -+ -DCOMPAT_PROJECT="\"Compat-wireless\"" \ -+ -DCOMPAT_VERSION="\"$(shell cat $(PWD)/.compat_version)\"" -+ -+# These exported as they are used by the scripts -+# to check config and compat autoconf -+export COMPAT_CONFIG_CW=$(PWD)/config.mk -+export COMPAT_CONFIG=$(PWD)/.config -+export CONFIG_CHECK=$(PWD)/.config.mk_md5sum.txt -+export COMPAT_AUTOCONF=include/linux/compat_autoconf.h -+export CREL=$(shell cat $(PWD)/.compat_version) -+export CREL_PRE:=.compat_autoconf_ -+export CREL_CHECK:=$(PWD)/$(CREL_PRE)$(CREL) -+ -+all: modules -+ -+$(COMPAT_CONFIG): ; -+ -+modules: $(CREL_CHECK) -+ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) modules -+ @touch $@ -+ -+bt: $(CREL_CHECK) -+ +@./scripts/check_config.sh -+ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) BT=TRUE modules -+ @touch $@ -+ -+# We use a CREL_CHECK variable which will depend on the environment used to -+# build. If the environment requirements change it forces a reconfiguration -+# check. This means we force a new reconfiguration check if a the user gets a -+# new updates of compat-wireless or when the user updates the $(COMPAT_CONFIG) -+# file. -+# XXX: add kernel target to the CREL_CHECK mix, this would ensure we also -+# reconfigure and build again fresh if we detect a new target kernel is -+# being used. -+$(CREL_CHECK): -+ @# Force to regenerate compat autoconf -+ +@./compat/scripts/gen-compat-config.sh > $(COMPAT_CONFIG) -+ @rm -f $(CONFIG_CHECK) -+ +@./scripts/check_config.sh -+ @md5sum $(COMPAT_CONFIG_CW) > $(CONFIG_CHECK) -+ @touch $@ -+ -+btinstall: btuninstall bt-install-modules -+ -+bt-install-modules: bt -+ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) BT=TRUE \ -+ modules_install -+ @/sbin/depmod -ae -+ @echo -+ @echo Now run: -+ @echo -+ @echo sudo make btunload: -+ @echo -+ @echo And then load the needed bluetooth modules. If unsure reboot. -+ @echo -+ -+btuninstall: -+ @# New location, matches upstream -+ @rm -rf $(KLIB)/$(KMODDIR)/net/bluetooth/ -+ @rm -rf $(KLIB)/$(KMODDIR)/drivers/bluetooth/ -+ @# Lets only remove the stuff we are sure we are providing -+ @# on the misc directory. -+ @/sbin/depmod -ae -+ @echo -+ -+btclean: -+ $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) BT=TRUE clean -+ @rm -f $(CREL_PRE)* -+ -+install: uninstall install-modules install-scripts -+ -+install-modules: modules -+ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \ -+ modules_install -+ @./scripts/update-initramfs -+ -+install-scripts: -+ @# All the scripts we can use -+ @mkdir -p $(DESTDIR)/usr/lib/compat-wireless/ -+ @install scripts/modlib.sh $(DESTDIR)/usr/lib/compat-wireless/ -+ @install scripts/madwifi-unload $(DESTDIR)/usr/sbin/ -+ @# This is to allow switching between drivers without blacklisting -+ @install scripts/athenable $(DESTDIR)/usr/sbin/ -+ @install scripts/b43enable $(DESTDIR)/usr/sbin/ -+ @install scripts/iwl-enable $(DESTDIR)/usr/sbin/ -+ @install scripts/athload $(DESTDIR)/usr/sbin/ -+ @install scripts/b43load $(DESTDIR)/usr/sbin/ -+ @install scripts/iwl-load $(DESTDIR)/usr/sbin/ -+ @if [ $(shell modinfo ath_pci > /dev/null 2>&1 && echo 1) ]; then \ -+ echo -n "Note: madwifi detected, we're going to disable it. " ;\ -+ echo "If you would like to enable it later you can run:" ;\ -+ echo " sudo athenable madwifi" ;\ -+ echo ;\ -+ echo Running athenable ath5k...;\ -+ $(DESTDIR)/usr/sbin/athenable ath5k ;\ -+ fi -+ @if [ $(shell modinfo iwl4965 > /dev/null 2>&1 && echo 1) ]; then \ -+ echo ;\ -+ echo -n "Note: iwl4965 detected, we're going to disable it. " ;\ -+ echo "If you would like to enable it later you can run:" ;\ -+ echo " sudo iwl-load iwl4965" ;\ -+ echo ;\ -+ echo Running iwl-enable iwlagn...;\ -+ $(DESTDIR)/usr/sbin/iwl-enable iwlagn ;\ -+ fi -+ @if [ $(shell modinfo iwlagn > /dev/null 2>&1 && echo 1) ] \ -+ && [ $(shell modinfo iwlwifi > /dev/null 2>&1 && echo 1) ]; then \ -+ echo ;\ -+ echo -n "Note: iwlagn detected, we're going to disable it. " ;\ -+ echo "If you would like to enable it later you can run:" ;\ -+ echo " sudo iwl-load iwlagn" ;\ -+ echo ;\ -+ echo Running iwl-enable iwlwifi...;\ -+ $(DESTDIR)/usr/sbin/iwl-enable iwlwifi ;\ -+ fi -+ @# If on distributions like Mandriva which like to -+ @# compress their modules this will find out and do -+ @# it for you. Reason is some old version of modutils -+ @# won't know mac80211.ko should be used instead of -+ @# mac80211.ko.gz -+ @./scripts/compress_modules -+ @# Mandrake doesn't have a depmod.d/ conf file to prefer -+ @# the updates/ dir which is what we use so we add one for it -+ @# (or any other distribution that doens't have this). -+ @./scripts/check_depmod -+ @# Udev stuff needed for the new compat_firmware_class. -+ @./compat/scripts/compat_firmware_install -+ @/sbin/depmod -a -+ @echo -+ @echo Now run: -+ @echo -+ @echo sudo make unload to unload all: wireless, bluetooth and ethernet modules -+ @echo sudo make wlunload to unload wireless modules -+ @echo sudo make btunload to unload bluetooth modules -+ @echo -+ @echo Run sudo modprobe 'driver-name' to load your desired driver. -+ @echo If unsure reboot. -+ @echo -+ -+uninstall: -+ @# New location, matches upstream -+ @rm -rf $(KLIB)/$(KMODDIR)/compat/ -+ @rm -rf $(KLIB)/$(KMODDIR)/net/mac80211/ -+ @rm -rf $(KLIB)/$(KMODDIR)/net/rfkill/ -+ @rm -rf $(KLIB)/$(KMODDIR)/net/wireless/ -+ @rm -rf $(KLIB)/$(KMODDIR)/drivers/ssb/ -+ @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/usb/ -+ @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/wireless/ -+ @rm -rf $(KLIB)/$(KMODDIR)/drivers/staging/ -+ @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/atl* -+ @find $(KLIB)/$(KMODDIR)/drivers/net/ -name "alx*.ko" -o -name "atl*.ko" 2>/dev/null |xargs rm -f -+ @# Lets only remove the stuff we are sure we are providing -+ @# on the misc directory. -+ @rm -f $(KLIB)/$(KMODDIR)/drivers/misc/eeprom/eeprom_93cx6.ko* -+ @rm -f $(KLIB)/$(KMODDIR)/drivers/misc/eeprom_93cx6.ko* -+ @rm -f $(KLIB)/$(KMODDIR)/drivers/net/b44.ko* -+ @/sbin/depmod -a -+ @./scripts/update-initramfs -+ @echo -+ -+clean: -+ @if [ -d net -a -d $(KLIB_BUILD) ]; then \ -+ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) clean ;\ -+ fi -+ @rm -f $(CREL_PRE)* -+unload: -+ @./scripts/unload.sh -+ -+btunload: -+ @./scripts/btunload.sh -+ -+wlunload: -+ @./scripts/wlunload.sh -+ -+ -+.PHONY: all clean install uninstall unload btunload wlunload modules bt Makefile -+ -+endif -+ -+clean-files += Module.symvers Module.markers modules modules.order -+clean-files += $(CREL_CHECK) $(CONFIG_CHECK) $(COMPAT_CONFIG) -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/ethernet/atheros/alx/alx_sw.h compat-wireless-3.6-rc7-1-snpc/drivers/net/ethernet/atheros/alx/alx_sw.h ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/ethernet/atheros/alx/alx_sw.h 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/ethernet/atheros/alx/alx_sw.h 2012-10-15 17:29:45.216925787 +0000 -@@ -326,7 +326,7 @@ struct alx_hw_callbacks { - - /* Others */ - int (*get_ethtool_regs)(struct alx_hw *, void *); --}; -+} __no_const; - - struct alx_hw { - struct alx_adapter *adpt; -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/ethernet/atheros/atlx/atl2.c compat-wireless-3.6-rc7-1-snpc/drivers/net/ethernet/atheros/atlx/atl2.c ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/ethernet/atheros/atlx/atl2.c 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/ethernet/atheros/atlx/atl2.c 2012-10-15 17:30:59.816924531 +0000 -@@ -2872,7 +2872,7 @@ static void atl2_force_ps(struct atl2_hw - */ - - #define ATL2_PARAM(X, desc) \ -- static const int __devinitdata X[ATL2_MAX_NIC + 1] = ATL2_PARAM_INIT; \ -+ static const int __devinitconst X[ATL2_MAX_NIC + 1] = ATL2_PARAM_INIT; \ - MODULE_PARM(X, "1-" __MODULE_STRING(ATL2_MAX_NIC) "i"); \ - MODULE_PARM_DESC(X, desc); - #else -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath.h compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath.h ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath.h 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath.h 2012-10-15 17:30:59.818924529 +0000 -@@ -119,6 +119,7 @@ struct ath_ops { - void (*write_flush) (void *); - u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr); - }; -+typedef struct ath_ops __no_const ath_ops_no_const; - - struct ath_common; - struct ath_bus_ops; -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/ar9002_mac.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/ar9002_mac.c ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/ar9002_mac.c 2012-09-27 23:19:11.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/ar9002_mac.c 2012-10-15 17:30:59.816924531 +0000 -@@ -184,8 +184,8 @@ ar9002_set_txdesc(struct ath_hw *ah, voi - ads->ds_txstatus6 = ads->ds_txstatus7 = 0; - ads->ds_txstatus8 = ads->ds_txstatus9 = 0; - -- ACCESS_ONCE(ads->ds_link) = i->link; -- ACCESS_ONCE(ads->ds_data) = i->buf_addr[0]; -+ ACCESS_ONCE_RW(ads->ds_link) = i->link; -+ ACCESS_ONCE_RW(ads->ds_data) = i->buf_addr[0]; - - ctl1 = i->buf_len[0] | (i->is_last ? 0 : AR_TxMore); - ctl6 = SM(i->keytype, AR_EncrType); -@@ -199,26 +199,26 @@ ar9002_set_txdesc(struct ath_hw *ah, voi - - if ((i->is_first || i->is_last) && - i->aggr != AGGR_BUF_MIDDLE && i->aggr != AGGR_BUF_LAST) { -- ACCESS_ONCE(ads->ds_ctl2) = set11nTries(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl2) = set11nTries(i->rates, 0) - | set11nTries(i->rates, 1) - | set11nTries(i->rates, 2) - | set11nTries(i->rates, 3) - | (i->dur_update ? AR_DurUpdateEna : 0) - | SM(0, AR_BurstDur); - -- ACCESS_ONCE(ads->ds_ctl3) = set11nRate(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl3) = set11nRate(i->rates, 0) - | set11nRate(i->rates, 1) - | set11nRate(i->rates, 2) - | set11nRate(i->rates, 3); - } else { -- ACCESS_ONCE(ads->ds_ctl2) = 0; -- ACCESS_ONCE(ads->ds_ctl3) = 0; -+ ACCESS_ONCE_RW(ads->ds_ctl2) = 0; -+ ACCESS_ONCE_RW(ads->ds_ctl3) = 0; - } - - if (!i->is_first) { -- ACCESS_ONCE(ads->ds_ctl0) = 0; -- ACCESS_ONCE(ads->ds_ctl1) = ctl1; -- ACCESS_ONCE(ads->ds_ctl6) = ctl6; -+ ACCESS_ONCE_RW(ads->ds_ctl0) = 0; -+ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; -+ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; - return; - } - -@@ -243,7 +243,7 @@ ar9002_set_txdesc(struct ath_hw *ah, voi - break; - } - -- ACCESS_ONCE(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) -+ ACCESS_ONCE_RW(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) - | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) - | SM(i->txpower, AR_XmitPower) - | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) -@@ -253,19 +253,19 @@ ar9002_set_txdesc(struct ath_hw *ah, voi - | (i->flags & ATH9K_TXDESC_RTSENA ? AR_RTSEnable : - (i->flags & ATH9K_TXDESC_CTSENA ? AR_CTSEnable : 0)); - -- ACCESS_ONCE(ads->ds_ctl1) = ctl1; -- ACCESS_ONCE(ads->ds_ctl6) = ctl6; -+ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; -+ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; - - if (i->aggr == AGGR_BUF_MIDDLE || i->aggr == AGGR_BUF_LAST) - return; - -- ACCESS_ONCE(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) - | set11nPktDurRTSCTS(i->rates, 1); - -- ACCESS_ONCE(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) -+ ACCESS_ONCE_RW(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) - | set11nPktDurRTSCTS(i->rates, 3); - -- ACCESS_ONCE(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) - | set11nRateFlags(i->rates, 1) - | set11nRateFlags(i->rates, 2) - | set11nRateFlags(i->rates, 3) -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/ar9003_mac.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/ar9003_mac.c ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/ar9003_mac.c 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/ar9003_mac.c 2012-10-15 17:30:59.817924530 +0000 -@@ -39,47 +39,47 @@ ar9003_set_txdesc(struct ath_hw *ah, voi - (i->qcu << AR_TxQcuNum_S) | desc_len; - - checksum += val; -- ACCESS_ONCE(ads->info) = val; -+ ACCESS_ONCE_RW(ads->info) = val; - - checksum += i->link; -- ACCESS_ONCE(ads->link) = i->link; -+ ACCESS_ONCE_RW(ads->link) = i->link; - - checksum += i->buf_addr[0]; -- ACCESS_ONCE(ads->data0) = i->buf_addr[0]; -+ ACCESS_ONCE_RW(ads->data0) = i->buf_addr[0]; - checksum += i->buf_addr[1]; -- ACCESS_ONCE(ads->data1) = i->buf_addr[1]; -+ ACCESS_ONCE_RW(ads->data1) = i->buf_addr[1]; - checksum += i->buf_addr[2]; -- ACCESS_ONCE(ads->data2) = i->buf_addr[2]; -+ ACCESS_ONCE_RW(ads->data2) = i->buf_addr[2]; - checksum += i->buf_addr[3]; -- ACCESS_ONCE(ads->data3) = i->buf_addr[3]; -+ ACCESS_ONCE_RW(ads->data3) = i->buf_addr[3]; - - checksum += (val = (i->buf_len[0] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl3) = val; -+ ACCESS_ONCE_RW(ads->ctl3) = val; - checksum += (val = (i->buf_len[1] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl5) = val; -+ ACCESS_ONCE_RW(ads->ctl5) = val; - checksum += (val = (i->buf_len[2] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl7) = val; -+ ACCESS_ONCE_RW(ads->ctl7) = val; - checksum += (val = (i->buf_len[3] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl9) = val; -+ ACCESS_ONCE_RW(ads->ctl9) = val; - - checksum = (u16) (((checksum & 0xffff) + (checksum >> 16)) & 0xffff); -- ACCESS_ONCE(ads->ctl10) = checksum; -+ ACCESS_ONCE_RW(ads->ctl10) = checksum; - - if (i->is_first || i->is_last) { -- ACCESS_ONCE(ads->ctl13) = set11nTries(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl13) = set11nTries(i->rates, 0) - | set11nTries(i->rates, 1) - | set11nTries(i->rates, 2) - | set11nTries(i->rates, 3) - | (i->dur_update ? AR_DurUpdateEna : 0) - | SM(0, AR_BurstDur); - -- ACCESS_ONCE(ads->ctl14) = set11nRate(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl14) = set11nRate(i->rates, 0) - | set11nRate(i->rates, 1) - | set11nRate(i->rates, 2) - | set11nRate(i->rates, 3); - } else { -- ACCESS_ONCE(ads->ctl13) = 0; -- ACCESS_ONCE(ads->ctl14) = 0; -+ ACCESS_ONCE_RW(ads->ctl13) = 0; -+ ACCESS_ONCE_RW(ads->ctl14) = 0; - } - - ads->ctl20 = 0; -@@ -89,17 +89,17 @@ ar9003_set_txdesc(struct ath_hw *ah, voi - - ctl17 = SM(i->keytype, AR_EncrType); - if (!i->is_first) { -- ACCESS_ONCE(ads->ctl11) = 0; -- ACCESS_ONCE(ads->ctl12) = i->is_last ? 0 : AR_TxMore; -- ACCESS_ONCE(ads->ctl15) = 0; -- ACCESS_ONCE(ads->ctl16) = 0; -- ACCESS_ONCE(ads->ctl17) = ctl17; -- ACCESS_ONCE(ads->ctl18) = 0; -- ACCESS_ONCE(ads->ctl19) = 0; -+ ACCESS_ONCE_RW(ads->ctl11) = 0; -+ ACCESS_ONCE_RW(ads->ctl12) = i->is_last ? 0 : AR_TxMore; -+ ACCESS_ONCE_RW(ads->ctl15) = 0; -+ ACCESS_ONCE_RW(ads->ctl16) = 0; -+ ACCESS_ONCE_RW(ads->ctl17) = ctl17; -+ ACCESS_ONCE_RW(ads->ctl18) = 0; -+ ACCESS_ONCE_RW(ads->ctl19) = 0; - return; - } - -- ACCESS_ONCE(ads->ctl11) = (i->pkt_len & AR_FrameLen) -+ ACCESS_ONCE_RW(ads->ctl11) = (i->pkt_len & AR_FrameLen) - | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) - | SM(i->txpower, AR_XmitPower) - | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) -@@ -135,22 +135,22 @@ ar9003_set_txdesc(struct ath_hw *ah, voi - val = (i->flags & ATH9K_TXDESC_PAPRD) >> ATH9K_TXDESC_PAPRD_S; - ctl12 |= SM(val, AR_PAPRDChainMask); - -- ACCESS_ONCE(ads->ctl12) = ctl12; -- ACCESS_ONCE(ads->ctl17) = ctl17; -+ ACCESS_ONCE_RW(ads->ctl12) = ctl12; -+ ACCESS_ONCE_RW(ads->ctl17) = ctl17; - -- ACCESS_ONCE(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) - | set11nPktDurRTSCTS(i->rates, 1); - -- ACCESS_ONCE(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) -+ ACCESS_ONCE_RW(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) - | set11nPktDurRTSCTS(i->rates, 3); - -- ACCESS_ONCE(ads->ctl18) = set11nRateFlags(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl18) = set11nRateFlags(i->rates, 0) - | set11nRateFlags(i->rates, 1) - | set11nRateFlags(i->rates, 2) - | set11nRateFlags(i->rates, 3) - | SM(i->rtscts_rate, AR_RTSCTSRate); - -- ACCESS_ONCE(ads->ctl19) = AR_Not_Sounding; -+ ACCESS_ONCE_RW(ads->ctl19) = AR_Not_Sounding; - } - - static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads) -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/hw.h compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/hw.h ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/hw.h 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/hw.h 2012-10-15 17:30:59.817924530 +0000 -@@ -657,7 +657,7 @@ struct ath_hw_private_ops { - - /* ANI */ - void (*ani_cache_ini_regs)(struct ath_hw *ah); --}; -+} __no_const; - - /** - * struct ath_hw_ops - callbacks used by hardware code and driver code -@@ -687,7 +687,7 @@ struct ath_hw_ops { - void (*antdiv_comb_conf_set)(struct ath_hw *ah, - struct ath_hw_antcomb_conf *antconf); - void (*antctrl_shared_chain_lnadiv)(struct ath_hw *hw, bool enable); --}; -+} __no_const; - - struct ath_nf_limits { - s16 max; -@@ -707,7 +707,7 @@ enum ath_cal_list { - #define AH_FASTCC 0x4 - - struct ath_hw { -- struct ath_ops reg_ops; -+ ath_ops_no_const reg_ops; - - struct ieee80211_hw *hw; - struct ath_common common; -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/hw.h.rej compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/hw.h.rej ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/hw.h.rej 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/hw.h.rej 2012-10-15 17:30:59.817924530 +0000 -@@ -0,0 +1,11 @@ -+--- drivers/net/wireless/ath/ath9k/hw.h 2012-10-01 02:49:33.956114433 +0200 -++++ drivers/net/wireless/ath/ath9k/hw.h 2012-10-01 02:50:42.624114649 +0200 -+@@ -686,7 +686,7 @@ -+ void (*antdiv_comb_conf_set)(struct ath_hw *ah, -+ struct ath_hw_antcomb_conf *antconf); -+ -+-}; -++} __no_const; -+ -+ struct ath_nf_limits { -+ s16 max; -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h 2012-09-27 23:19:11.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h 2012-10-15 17:30:59.818924529 +0000 -@@ -545,7 +545,7 @@ struct phy_func_ptr { - void (*carrsuppr)(struct brcms_phy *); - s32 (*rxsigpwr)(struct brcms_phy *, s32); - void (*detach)(struct brcms_phy *); --}; -+} __no_const; - - struct brcms_phy { - struct brcms_phy_pub pubpi_ro; -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/iwlegacy/3945-mac.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/iwlegacy/3945-mac.c ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/iwlegacy/3945-mac.c 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/iwlegacy/3945-mac.c 2012-10-15 17:30:59.819924529 +0000 -@@ -3613,7 +3613,9 @@ il3945_pci_probe(struct pci_dev *pdev, c - */ - if (il3945_mod_params.disable_hw_scan) { - D_INFO("Disabling hw_scan\n"); -- il3945_mac_ops.hw_scan = NULL; -+ pax_open_kernel(); -+ *(void **)&il3945_mac_ops.hw_scan = NULL; -+ pax_close_kernel(); - } - - D_INFO("*** LOAD DRIVER ***\n"); -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/iwlwifi/dvm/debugfs.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/iwlwifi/dvm/debugfs.c ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/iwlwifi/dvm/debugfs.c 2012-09-27 23:19:11.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/iwlwifi/dvm/debugfs.c 2012-10-15 17:30:59.819924529 +0000 -@@ -203,7 +203,7 @@ static ssize_t iwl_dbgfs_sram_write(stru - { - struct iwl_priv *priv = file->private_data; - char buf[64]; -- int buf_size; -+ size_t buf_size; - u32 offset, len; - - memset(buf, 0, sizeof(buf)); -@@ -473,7 +473,7 @@ static ssize_t iwl_dbgfs_rx_handlers_wri - struct iwl_priv *priv = file->private_data; - - char buf[8]; -- int buf_size; -+ size_t buf_size; - u32 reset_flag; - - memset(buf, 0, sizeof(buf)); -@@ -554,7 +554,7 @@ static ssize_t iwl_dbgfs_disable_ht40_wr - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int ht40; - - memset(buf, 0, sizeof(buf)); -@@ -606,7 +606,7 @@ static ssize_t iwl_dbgfs_sleep_level_ove - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int value; - - memset(buf, 0, sizeof(buf)); -@@ -1871,7 +1871,7 @@ static ssize_t iwl_dbgfs_clear_ucode_sta - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int clear; - - memset(buf, 0, sizeof(buf)); -@@ -1916,7 +1916,7 @@ static ssize_t iwl_dbgfs_ucode_tracing_w - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int trace; - - memset(buf, 0, sizeof(buf)); -@@ -1987,7 +1987,7 @@ static ssize_t iwl_dbgfs_missed_beacon_w - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int missed; - - memset(buf, 0, sizeof(buf)); -@@ -2028,7 +2028,7 @@ static ssize_t iwl_dbgfs_plcp_delta_writ - - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int plcp; - - memset(buf, 0, sizeof(buf)); -@@ -2088,7 +2088,7 @@ static ssize_t iwl_dbgfs_txfifo_flush_wr - - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int flush; - - memset(buf, 0, sizeof(buf)); -@@ -2178,7 +2178,7 @@ static ssize_t iwl_dbgfs_protection_mode - - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int rts; - - if (!priv->cfg->ht_params) -@@ -2220,7 +2220,7 @@ static ssize_t iwl_dbgfs_echo_test_write - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - - memset(buf, 0, sizeof(buf)); - buf_size = min(count, sizeof(buf) - 1); -@@ -2256,7 +2256,7 @@ static ssize_t iwl_dbgfs_log_event_write - struct iwl_priv *priv = file->private_data; - u32 event_log_flag; - char buf[8]; -- int buf_size; -+ size_t buf_size; - - /* check that the interface is up */ - if (!iwl_is_ready(priv)) -@@ -2310,7 +2310,7 @@ static ssize_t iwl_dbgfs_calib_disabled_ - struct iwl_priv *priv = file->private_data; - char buf[8]; - u32 calib_disabled; -- int buf_size; -+ size_t buf_size; - - memset(buf, 0, sizeof(buf)); - buf_size = min(count, sizeof(buf) - 1); -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/iwlwifi/pcie/trans.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/iwlwifi/pcie/trans.c ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/iwlwifi/pcie/trans.c 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/iwlwifi/pcie/trans.c 2012-10-15 17:30:59.820924530 +0000 -@@ -1944,7 +1944,7 @@ static ssize_t iwl_dbgfs_interrupt_write - struct isr_statistics *isr_stats = &trans_pcie->isr_stats; - - char buf[8]; -- int buf_size; -+ size_t buf_size; - u32 reset_flag; - - memset(buf, 0, sizeof(buf)); -@@ -1965,7 +1965,7 @@ static ssize_t iwl_dbgfs_csr_write(struc - { - struct iwl_trans *trans = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int csr; - - memset(buf, 0, sizeof(buf)); -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/mac80211_hwsim.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/mac80211_hwsim.c ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/mac80211_hwsim.c 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/mac80211_hwsim.c 2012-10-15 17:30:59.820924530 +0000 -@@ -1748,9 +1748,11 @@ static int __init init_mac80211_hwsim(vo - return -EINVAL; - - if (fake_hw_scan) { -- mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; -- mac80211_hwsim_ops.sw_scan_start = NULL; -- mac80211_hwsim_ops.sw_scan_complete = NULL; -+ pax_open_kernel(); -+ *(void **)&mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; -+ *(void **)&mac80211_hwsim_ops.sw_scan_start = NULL; -+ *(void **)&mac80211_hwsim_ops.sw_scan_complete = NULL; -+ pax_close_kernel(); - } - - spin_lock_init(&hwsim_radio_lock); -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/mwifiex/main.h compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/mwifiex/main.h ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/mwifiex/main.h 2012-09-27 23:19:11.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/mwifiex/main.h 2012-10-15 17:30:59.820924530 +0000 -@@ -571,7 +571,7 @@ struct mwifiex_if_ops { - int (*event_complete) (struct mwifiex_adapter *, struct sk_buff *); - int (*data_complete) (struct mwifiex_adapter *, struct sk_buff *); - int (*dnld_fw) (struct mwifiex_adapter *, struct mwifiex_fw_image *); --}; -+} __no_const; - - struct mwifiex_adapter { - u8 iface_type; -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/rndis_wlan.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/rndis_wlan.c ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/rndis_wlan.c 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/rndis_wlan.c 2012-10-15 17:30:59.821924531 +0000 -@@ -1235,7 +1235,7 @@ static int set_rts_threshold(struct usbn - - netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold); - -- if (rts_threshold < 0 || rts_threshold > 2347) -+ if (rts_threshold > 2347) - rts_threshold = 2347; - - tmp = cpu_to_le32(rts_threshold); -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/rt2x00/rt2x00.h compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/rt2x00/rt2x00.h ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/rt2x00/rt2x00.h 2012-09-27 23:19:11.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/rt2x00/rt2x00.h 2012-10-15 17:30:59.821924531 +0000 -@@ -397,7 +397,7 @@ struct rt2x00_intf { - * for hardware which doesn't support hardware - * sequence counting. - */ -- atomic_t seqno; -+ atomic_unchecked_t seqno; - }; - - static inline struct rt2x00_intf* vif_to_intf(struct ieee80211_vif *vif) -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/rt2x00/rt2x00queue.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/rt2x00/rt2x00queue.c ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/rt2x00/rt2x00queue.c 2012-09-27 23:19:11.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/rt2x00/rt2x00queue.c 2012-10-15 17:30:59.822924531 +0000 -@@ -240,9 +240,9 @@ static void rt2x00queue_create_tx_descri - * sequence counter given by mac80211. - */ - if (test_bit(ENTRY_TXD_FIRST_FRAGMENT, &txdesc->flags)) -- seqno = atomic_add_return(0x10, &intf->seqno); -+ seqno = atomic_add_return_unchecked(0x10, &intf->seqno); - else -- seqno = atomic_read(&intf->seqno); -+ seqno = atomic_read_unchecked(&intf->seqno); - - hdr->seq_ctrl &= cpu_to_le16(IEEE80211_SCTL_FRAG); - hdr->seq_ctrl |= cpu_to_le16(seqno); -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ti/wl1251/wl1251.h compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ti/wl1251/wl1251.h ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ti/wl1251/wl1251.h 2012-09-27 23:19:11.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ti/wl1251/wl1251.h 2012-10-15 17:30:59.822924531 +0000 -@@ -266,7 +266,7 @@ struct wl1251_if_operations { - void (*reset)(struct wl1251 *wl); - void (*enable_irq)(struct wl1251 *wl); - void (*disable_irq)(struct wl1251 *wl); --}; -+} __no_const; - - struct wl1251 { - struct ieee80211_hw *hw; -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ti/wlcore/wlcore.h compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ti/wlcore/wlcore.h ---- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ti/wlcore/wlcore.h 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ti/wlcore/wlcore.h 2012-10-15 17:30:59.822924531 +0000 -@@ -81,7 +81,7 @@ struct wlcore_ops { - struct ieee80211_sta *sta, - struct ieee80211_key_conf *key_conf); - u32 (*pre_pkt_send)(struct wl1271 *wl, u32 buf_offset, u32 last_len); --}; -+} __no_const; - - enum wlcore_partitions { - PART_DOWN, -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/include/linux/pm_runtime.h.rej compat-wireless-3.6-rc7-1-snpc/include/linux/pm_runtime.h.rej ---- compat-wireless-3.6-rc7-1-snpc.orig/include/linux/pm_runtime.h.rej 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/include/linux/pm_runtime.h.rej 2012-10-15 17:30:59.823924531 +0000 -@@ -0,0 +1,11 @@ -+--- include/linux/pm_runtime.h 2012-07-23 00:22:30.802342811 +0200 -++++ include/linux/pm_runtime.h 2012-10-01 02:50:45.740114659 +0200 -+@@ -97,7 +97,7 @@ -+ -+ static inline void pm_runtime_mark_last_busy(struct device *dev) -+ { -+- ACCESS_ONCE(dev->power.last_busy) = jiffies; -++ ACCESS_ONCE_RW(dev->power.last_busy) = jiffies; -+ } -+ -+ #else /* !CONFIG_PM_RUNTIME */ -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/include/linux/pm_runtime.h.~1~ compat-wireless-3.6-rc7-1-snpc/include/linux/pm_runtime.h.~1~ ---- compat-wireless-3.6-rc7-1-snpc.orig/include/linux/pm_runtime.h.~1~ 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/include/linux/pm_runtime.h.~1~ 2012-10-15 17:30:59.823924531 +0000 -@@ -0,0 +1,14 @@ -+#include <linux/version.h> -+ -+#ifndef __COMPAT_LINUX_PM_RUNTIME_H -+#define __COMPAT_LINUX_PM_RUNTIME_H -+ -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) -+#include_next <linux/pm_runtime.h> -+#else -+ -+static inline void pm_runtime_enable(struct device *dev) {} -+ -+#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) */ -+ -+#endif -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/include/linux/rfkill.h.rej compat-wireless-3.6-rc7-1-snpc/include/linux/rfkill.h.rej ---- compat-wireless-3.6-rc7-1-snpc.orig/include/linux/rfkill.h.rej 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/include/linux/rfkill.h.rej 2012-10-15 17:30:59.823924531 +0000 -@@ -0,0 +1,10 @@ -+--- include/linux/rfkill.h 2012-05-21 11:33:38.331929879 +0200 -++++ include/linux/rfkill.h 2012-10-01 02:50:45.780114659 +0200 -+@@ -147,6 +147,7 @@ -+ void (*query)(struct rfkill *rfkill, void *data); -+ int (*set_block)(void *data, bool blocked); -+ }; -++typedef struct rfkill_ops __no_const rfkill_ops_no_const; -+ -+ #if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE) -+ /** -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/include/linux/rfkill.h.~1~ compat-wireless-3.6-rc7-1-snpc/include/linux/rfkill.h.~1~ ---- compat-wireless-3.6-rc7-1-snpc.orig/include/linux/rfkill.h.~1~ 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/include/linux/rfkill.h.~1~ 2012-10-15 17:30:59.823924531 +0000 -@@ -0,0 +1,32 @@ -+#ifndef __COMPAT_RFKILL_H -+#define __COMPAT_RFKILL_H -+ -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)) -+ -+#include_next <linux/rfkill.h> -+ -+#else -+ -+#include <linux/compat-2.6.h> -+ -+#undef CONFIG_RFKILL -+#undef CONFIG_RFKILL_INPUT -+#undef CONFIG_RFKILL_LEDS -+ -+#ifdef CONFIG_RFKILL_BACKPORT -+#define CONFIG_RFKILL 1 -+#endif -+ -+#ifdef CONFIG_RFKILL_BACKPORT_INPUT -+#define CONFIG_RFKILL_INPUT -+#endif -+ -+#ifdef CONFIG_RFKILL_BACKPORT_LEDS -+#define CONFIG_RFKILL_LEDS -+#endif -+ -+#include <linux/rfkill_backport.h> -+ -+#endif -+ -+#endif -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/include/linux/unaligned/access_ok.h compat-wireless-3.6-rc7-1-snpc/include/linux/unaligned/access_ok.h ---- compat-wireless-3.6-rc7-1-snpc.orig/include/linux/unaligned/access_ok.h 2012-09-17 19:15:56.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/include/linux/unaligned/access_ok.h 2012-10-15 17:30:59.823924531 +0000 -@@ -6,32 +6,32 @@ - - static inline u16 get_unaligned_le16(const void *p) - { -- return le16_to_cpup((__le16 *)p); -+ return le16_to_cpup((const __le16 *)p); - } - - static inline u32 get_unaligned_le32(const void *p) - { -- return le32_to_cpup((__le32 *)p); -+ return le32_to_cpup((const __le32 *)p); - } - - static inline u64 get_unaligned_le64(const void *p) - { -- return le64_to_cpup((__le64 *)p); -+ return le64_to_cpup((const __le64 *)p); - } - - static inline u16 get_unaligned_be16(const void *p) - { -- return be16_to_cpup((__be16 *)p); -+ return be16_to_cpup((const __be16 *)p); - } - - static inline u32 get_unaligned_be32(const void *p) - { -- return be32_to_cpup((__be32 *)p); -+ return be32_to_cpup((const __be32 *)p); - } - - static inline u64 get_unaligned_be64(const void *p) - { -- return be64_to_cpup((__be64 *)p); -+ return be64_to_cpup((const __be64 *)p); - } - - static inline void put_unaligned_le16(u16 val, void *p) -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/include/net/net_namespace.h.rej compat-wireless-3.6-rc7-1-snpc/include/net/net_namespace.h.rej ---- compat-wireless-3.6-rc7-1-snpc.orig/include/net/net_namespace.h.rej 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/include/net/net_namespace.h.rej 2012-10-15 17:30:59.824924531 +0000 -@@ -0,0 +1,26 @@ -+--- include/net/net_namespace.h 2012-10-01 02:49:52.716114492 +0200 -++++ include/net/net_namespace.h 2012-10-01 02:50:46.008114660 +0200 -+@@ -102,7 +102,7 @@ -+ #endif -+ struct netns_ipvs *ipvs; -+ struct sock *diag_nlsk; -+- atomic_t rt_genid; -++ atomic_unchecked_t rt_genid; -+ }; -+ -+ -+@@ -303,12 +303,12 @@ -+ -+ static inline int rt_genid(struct net *net) -+ { -+- return atomic_read(&net->rt_genid); -++ return atomic_read_unchecked(&net->rt_genid); -+ } -+ -+ static inline void rt_genid_bump(struct net *net) -+ { -+- atomic_inc(&net->rt_genid); -++ atomic_inc_unchecked(&net->rt_genid); -+ } -+ -+ #endif /* __NET_NET_NAMESPACE_H */ -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/include/net/net_namespace.h.~1~ compat-wireless-3.6-rc7-1-snpc/include/net/net_namespace.h.~1~ ---- compat-wireless-3.6-rc7-1-snpc.orig/include/net/net_namespace.h.~1~ 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/include/net/net_namespace.h.~1~ 2012-10-15 17:30:59.824924531 +0000 -@@ -0,0 +1,10 @@ -+#ifndef _COMPAT_NET_NET_NAMESPACE_H -+#define _COMPAT_NET_NET_NAMESPACE_H 1 -+ -+#include <linux/version.h> -+ -+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,23)) -+#include_next <net/net_namespace.h> -+#endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,23)) */ -+ -+#endif /* _COMPAT_NET_NET_NAMESPACE_H */ -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/hci_sock.c compat-wireless-3.6-rc7-1-snpc/net/bluetooth/hci_sock.c ---- compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/hci_sock.c 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/net/bluetooth/hci_sock.c 2012-10-15 17:30:59.825924531 +0000 -@@ -940,7 +940,7 @@ static int hci_sock_setsockopt(struct so - uf.event_mask[1] = *((u32 *) f->event_mask + 1); - } - -- len = min_t(unsigned int, len, sizeof(uf)); -+ len = min((size_t)len, sizeof(uf)); - if (copy_from_user(&uf, optval, len)) { - err = -EFAULT; - break; -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/l2cap_core.c compat-wireless-3.6-rc7-1-snpc/net/bluetooth/l2cap_core.c ---- compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/l2cap_core.c 2012-09-27 23:19:11.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/net/bluetooth/l2cap_core.c 2012-10-15 17:30:59.825924531 +0000 -@@ -3165,8 +3165,10 @@ static int l2cap_parse_conf_rsp(struct l - break; - - case L2CAP_CONF_RFC: -- if (olen == sizeof(rfc)) -- memcpy(&rfc, (void *)val, olen); -+ if (olen != sizeof(rfc)) -+ break; -+ -+ memcpy(&rfc, (void *)val, olen); - - if (test_bit(CONF_STATE2_DEVICE, &chan->conf_state) && - rfc.mode != chan->mode) -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/l2cap_sock.c compat-wireless-3.6-rc7-1-snpc/net/bluetooth/l2cap_sock.c ---- compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/l2cap_sock.c 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/net/bluetooth/l2cap_sock.c 2012-10-15 17:30:59.826924531 +0000 -@@ -467,7 +467,8 @@ static int l2cap_sock_setsockopt_old(str - struct sock *sk = sock->sk; - struct l2cap_chan *chan = l2cap_pi(sk)->chan; - struct l2cap_options opts; -- int len, err = 0; -+ int err = 0; -+ size_t len = optlen; - u32 opt; - - BT_DBG("sk %p", sk); -@@ -489,7 +490,7 @@ static int l2cap_sock_setsockopt_old(str - opts.max_tx = chan->max_tx; - opts.txwin_size = chan->tx_win; - -- len = min_t(unsigned int, sizeof(opts), optlen); -+ len = min(sizeof(opts), len); - if (copy_from_user((char *) &opts, optval, len)) { - err = -EFAULT; - break; -@@ -574,7 +575,8 @@ static int l2cap_sock_setsockopt(struct - struct bt_security sec; - struct bt_power pwr; - struct l2cap_conn *conn; -- int len, err = 0; -+ int err = 0; -+ size_t len = optlen; - u32 opt; - - BT_DBG("sk %p", sk); -@@ -597,7 +599,7 @@ static int l2cap_sock_setsockopt(struct - - sec.level = BT_SECURITY_LOW; - -- len = min_t(unsigned int, sizeof(sec), optlen); -+ len = min(sizeof(sec), len); - if (copy_from_user((char *) &sec, optval, len)) { - err = -EFAULT; - break; -@@ -694,7 +696,7 @@ static int l2cap_sock_setsockopt(struct - - pwr.force_active = BT_POWER_FORCE_ACTIVE_ON; - -- len = min_t(unsigned int, sizeof(pwr), optlen); -+ len = min(sizeof(pwr), len); - if (copy_from_user((char *) &pwr, optval, len)) { - err = -EFAULT; - break; -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/rfcomm/sock.c compat-wireless-3.6-rc7-1-snpc/net/bluetooth/rfcomm/sock.c ---- compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/rfcomm/sock.c 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/net/bluetooth/rfcomm/sock.c 2012-10-15 17:30:59.826924531 +0000 -@@ -676,7 +676,7 @@ static int rfcomm_sock_setsockopt(struct - struct sock *sk = sock->sk; - struct bt_security sec; - int err = 0; -- size_t len; -+ size_t len = optlen; - u32 opt; - - BT_DBG("sk %p", sk); -@@ -698,7 +698,7 @@ static int rfcomm_sock_setsockopt(struct - - sec.level = BT_SECURITY_LOW; - -- len = min_t(unsigned int, sizeof(sec), optlen); -+ len = min(sizeof(sec), len); - if (copy_from_user((char *) &sec, optval, len)) { - err = -EFAULT; - break; -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/rfcomm/tty.c compat-wireless-3.6-rc7-1-snpc/net/bluetooth/rfcomm/tty.c ---- compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/rfcomm/tty.c 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/net/bluetooth/rfcomm/tty.c 2012-10-15 17:30:59.826924531 +0000 -@@ -309,7 +309,7 @@ static void rfcomm_dev_del(struct rfcomm - BUG_ON(test_and_set_bit(RFCOMM_TTY_RELEASED, &dev->flags)); - - spin_lock_irqsave(&dev->port.lock, flags); -- if (dev->port.count > 0) { -+ if (atomic_read(&dev->port.count) > 0) { - spin_unlock_irqrestore(&dev->port.lock, flags); - return; - } -@@ -664,10 +664,10 @@ static int rfcomm_tty_open(struct tty_st - return -ENODEV; - - BT_DBG("dev %p dst %s channel %d opened %d", dev, batostr(&dev->dst), -- dev->channel, dev->port.count); -+ dev->channel, atomic_read(&dev->port.count)); - - spin_lock_irqsave(&dev->port.lock, flags); -- if (++dev->port.count > 1) { -+ if (atomic_inc_return(&dev->port.count) > 1) { - spin_unlock_irqrestore(&dev->port.lock, flags); - return 0; - } -@@ -736,10 +736,10 @@ static void rfcomm_tty_close(struct tty_ - return; - - BT_DBG("tty %p dev %p dlc %p opened %d", tty, dev, dev->dlc, -- dev->port.count); -+ atomic_read(&dev->port.count)); - - spin_lock_irqsave(&dev->port.lock, flags); -- if (!--dev->port.count) { -+ if (!atomic_dec_return(&dev->port.count)) { - spin_unlock_irqrestore(&dev->port.lock, flags); - if (dev->tty_dev->parent) - #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29)) -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/ieee80211_i.h compat-wireless-3.6-rc7-1-snpc/net/mac80211/ieee80211_i.h ---- compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/ieee80211_i.h 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/net/mac80211/ieee80211_i.h 2012-10-15 17:30:59.827924531 +0000 -@@ -28,6 +28,7 @@ - #include <net/ieee80211_radiotap.h> - #include <net/cfg80211.h> - #include <net/mac80211.h> -+#include <asm/local.h> - #include "key.h" - #include "sta_info.h" - #include "debug.h" -@@ -840,7 +841,7 @@ struct ieee80211_local { - /* also used to protect ampdu_ac_queue and amdpu_ac_stop_refcnt */ - spinlock_t queue_stop_reason_lock; - -- int open_count; -+ local_t open_count; - int monitors, cooked_mntrs; - /* number of interfaces with corresponding FIF_ flags */ - int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss, fif_pspoll, -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/iface.c compat-wireless-3.6-rc7-1-snpc/net/mac80211/iface.c ---- compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/iface.c 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/net/mac80211/iface.c 2012-10-15 17:30:59.827924531 +0000 -@@ -454,7 +454,7 @@ static int ieee80211_do_open(struct net_ - break; - } - -- if (local->open_count == 0) { -+ if (local_read(&local->open_count) == 0) { - res = drv_start(local); - if (res) - goto err_del_bss; -@@ -497,7 +497,7 @@ static int ieee80211_do_open(struct net_ - break; - } - -- if (local->monitors == 0 && local->open_count == 0) { -+ if (local->monitors == 0 && local_read(&local->open_count) == 0) { - res = ieee80211_add_virtual_monitor(local); - if (res) - goto err_stop; -@@ -594,7 +594,7 @@ static int ieee80211_do_open(struct net_ - mutex_unlock(&local->mtx); - - if (coming_up) -- local->open_count++; -+ local_inc(&local->open_count); - - if (hw_reconf_flags) - ieee80211_hw_config(local, hw_reconf_flags); -@@ -607,7 +607,7 @@ static int ieee80211_do_open(struct net_ - err_del_interface: - drv_remove_interface(local, sdata); - err_stop: -- if (!local->open_count) -+ if (!local_read(&local->open_count)) - drv_stop(local); - err_del_bss: - sdata->bss = NULL; -@@ -741,7 +741,7 @@ static void ieee80211_do_stop(struct iee - } - - if (going_down) -- local->open_count--; -+ local_dec(&local->open_count); - - switch (sdata->vif.type) { - case NL80211_IFTYPE_AP_VLAN: -@@ -801,7 +801,7 @@ static void ieee80211_do_stop(struct iee - - ieee80211_recalc_ps(local, -1); - -- if (local->open_count == 0) { -+ if (local_read(&local->open_count) == 0) { - if (local->ops->napi_poll) - napi_disable(&local->napi); - ieee80211_clear_tx_pending(local); -@@ -833,7 +833,7 @@ static void ieee80211_do_stop(struct iee - } - spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); - -- if (local->monitors == local->open_count && local->monitors > 0) -+ if (local->monitors == local_read(&local->open_count) && local->monitors > 0) - ieee80211_add_virtual_monitor(local); - } - -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/main.c compat-wireless-3.6-rc7-1-snpc/net/mac80211/main.c ---- compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/main.c 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/net/mac80211/main.c 2012-10-15 17:30:59.827924531 +0000 -@@ -170,7 +170,7 @@ int ieee80211_hw_config(struct ieee80211 - local->hw.conf.power_level = power; - } - -- if (changed && local->open_count) { -+ if (changed && local_read(&local->open_count)) { - ret = drv_config(local, changed); - /* - * Goal: -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/pm.c compat-wireless-3.6-rc7-1-snpc/net/mac80211/pm.c ---- compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/pm.c 2012-09-27 23:19:11.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/net/mac80211/pm.c 2012-10-15 17:30:59.828924531 +0000 -@@ -34,7 +34,7 @@ int __ieee80211_suspend(struct ieee80211 - struct ieee80211_sub_if_data *sdata; - struct sta_info *sta; - -- if (!local->open_count) -+ if (!local_read(&local->open_count)) - goto suspend; - - ieee80211_scan_cancel(local); -@@ -72,7 +72,7 @@ int __ieee80211_suspend(struct ieee80211 - cancel_work_sync(&local->dynamic_ps_enable_work); - del_timer_sync(&local->dynamic_ps_timer); - -- local->wowlan = wowlan && local->open_count; -+ local->wowlan = wowlan && local_read(&local->open_count); - if (local->wowlan) { - int err = drv_suspend(local, wowlan); - if (err < 0) { -@@ -143,7 +143,7 @@ int __ieee80211_suspend(struct ieee80211 - drv_remove_interface(local, sdata); - - /* stop hardware - this must stop RX */ -- if (local->open_count) -+ if (local_read(&local->open_count)) - ieee80211_stop_device(local); - - suspend: -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/rate.c compat-wireless-3.6-rc7-1-snpc/net/mac80211/rate.c ---- compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/rate.c 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/net/mac80211/rate.c 2012-10-15 17:30:59.828924531 +0000 -@@ -494,7 +494,7 @@ int ieee80211_init_rate_ctrl_alg(struct - - ASSERT_RTNL(); - -- if (local->open_count) -+ if (local_read(&local->open_count)) - return -EBUSY; - - if (local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) { -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/rc80211_pid_debugfs.c compat-wireless-3.6-rc7-1-snpc/net/mac80211/rc80211_pid_debugfs.c ---- compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/rc80211_pid_debugfs.c 2012-09-27 23:19:11.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/net/mac80211/rc80211_pid_debugfs.c 2012-10-15 17:30:59.828924531 +0000 -@@ -193,7 +193,7 @@ static ssize_t rate_control_pid_events_r - - spin_unlock_irqrestore(&events->lock, status); - -- if (copy_to_user(buf, pb, p)) -+ if (p > sizeof(pb) || copy_to_user(buf, pb, p)) - return -EFAULT; - - return p; -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/util.c compat-wireless-3.6-rc7-1-snpc/net/mac80211/util.c ---- compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/util.c 2012-09-27 23:19:11.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/net/mac80211/util.c 2012-10-15 17:30:59.828924531 +0000 -@@ -1251,7 +1251,7 @@ int ieee80211_reconfig(struct ieee80211_ - } - #endif - /* everything else happens only if HW was up & running */ -- if (!local->open_count) -+ if (!local_read(&local->open_count)) - goto wake_up; - - /* -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/wireless/core.h compat-wireless-3.6-rc7-1-snpc/net/wireless/core.h ---- compat-wireless-3.6-rc7-1-snpc.orig/net/wireless/core.h 2012-09-27 23:19:11.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/net/wireless/core.h 2012-10-15 17:30:59.829924531 +0000 -@@ -28,7 +28,7 @@ struct cfg80211_registered_device { - struct mutex mtx; - - /* rfkill support */ -- struct rfkill_ops rfkill_ops; -+ rfkill_ops_no_const rfkill_ops; - struct rfkill *rfkill; - struct work_struct rfkill_sync; - -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/wireless/wext-core.c compat-wireless-3.6-rc7-1-snpc/net/wireless/wext-core.c ---- compat-wireless-3.6-rc7-1-snpc.orig/net/wireless/wext-core.c 2012-09-27 23:19:12.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/net/wireless/wext-core.c 2012-10-15 17:30:59.829924531 +0000 -@@ -792,8 +792,7 @@ static int ioctl_standard_iw_point(struc - */ - - /* Support for very large requests */ -- if ((descr->flags & IW_DESCR_FLAG_NOMAX) && -- (user_length > descr->max_tokens)) { -+ if (user_length > descr->max_tokens) { - /* Allow userspace to GET more than max so - * we can support any size GET requests. - * There is still a limit : -ENOMEM. -@@ -832,22 +831,6 @@ static int ioctl_standard_iw_point(struc - } - } - -- if (IW_IS_GET(cmd) && !(descr->flags & IW_DESCR_FLAG_NOMAX)) { -- /* -- * If this is a GET, but not NOMAX, it means that the extra -- * data is not bounded by userspace, but by max_tokens. Thus -- * set the length to max_tokens. This matches the extra data -- * allocation. -- * The driver should fill it with the number of tokens it -- * provided, and it may check iwp->length rather than having -- * knowledge of max_tokens. If the driver doesn't change the -- * iwp->length, this ioctl just copies back max_token tokens -- * filled with zeroes. Hopefully the driver isn't claiming -- * them to be valid data. -- */ -- iwp->length = descr->max_tokens; -- } -- - err = handler(dev, info, (union iwreq_data *) iwp, extra); - - iwp->length += essid_compat; -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/scripts/gcc-plugin.sh compat-wireless-3.6-rc7-1-snpc/scripts/gcc-plugin.sh ---- compat-wireless-3.6-rc7-1-snpc.orig/scripts/gcc-plugin.sh 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/scripts/gcc-plugin.sh 2012-10-15 17:30:59.829924531 +0000 -@@ -0,0 +1,17 @@ -+#!/bin/bash -+plugincc=`$1 -x c -shared - -o /dev/null -I\`$3 -print-file-name=plugin\`/include 2>&1 <<EOF -+#include "gcc-plugin.h" -+#include "tree.h" -+#include "tm.h" -+#include "rtl.h" -+#ifdef ENABLE_BUILD_WITH_CXX -+#warning $2 -+#else -+#warning $1 -+#endif -+EOF` -+if [ $? -eq 0 ] -+then -+ [[ "$plugincc" =~ "$1" ]] && echo "$1" -+ [[ "$plugincc" =~ "$2" ]] && echo "$2" -+fi -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/.gitignore compat-wireless-3.6-rc7-1-snpc/tools/gcc/.gitignore ---- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/.gitignore 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/.gitignore 2012-10-15 17:30:59.830924531 +0000 -@@ -0,0 +1 @@ -+size_overflow_hash.h -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/Makefile compat-wireless-3.6-rc7-1-snpc/tools/gcc/Makefile ---- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/Makefile 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/Makefile 2012-10-15 17:30:59.831924531 +0000 -@@ -0,0 +1,43 @@ -+#CC := gcc -+#PLUGIN_SOURCE_FILES := pax_plugin.c -+#PLUGIN_OBJECT_FILES := $(patsubst %.c,%.o,$(PLUGIN_SOURCE_FILES)) -+GCCPLUGINS_DIR := $(shell $(CC) -print-file-name=plugin) -+#CFLAGS += -I$(GCCPLUGINS_DIR)/include -fPIC -O2 -Wall -W -std=gnu99 -+ -+ifeq ($(PLUGINCC),$(HOSTCC)) -+HOSTLIBS := hostlibs -+HOST_EXTRACFLAGS += -I$(GCCPLUGINS_DIR)/include -I$(GCCPLUGINS_DIR)/include/c-family -std=gnu99 -ggdb -+else -+HOSTLIBS := hostcxxlibs -+HOST_EXTRACXXFLAGS += -I$(GCCPLUGINS_DIR)/include -I$(GCCPLUGINS_DIR)/include/c-family -std=gnu++98 -ggdb -Wno-unused-parameter -+endif -+ -+$(HOSTLIBS)-$(CONFIG_PAX_CONSTIFY_PLUGIN) := constify_plugin.so -+$(HOSTLIBS)-$(CONFIG_PAX_MEMORY_STACKLEAK) += stackleak_plugin.so -+$(HOSTLIBS)-$(CONFIG_KALLOCSTAT_PLUGIN) += kallocstat_plugin.so -+$(HOSTLIBS)-$(CONFIG_PAX_KERNEXEC_PLUGIN) += kernexec_plugin.so -+$(HOSTLIBS)-$(CONFIG_CHECKER_PLUGIN) += checker_plugin.so -+$(HOSTLIBS)-y += colorize_plugin.so -+$(HOSTLIBS)-$(CONFIG_PAX_SIZE_OVERFLOW) += size_overflow_plugin.so -+$(HOSTLIBS)-$(CONFIG_PAX_LATENT_ENTROPY) += latent_entropy_plugin.so -+ -+always := $($(HOSTLIBS)-y) -+ -+constify_plugin-objs := constify_plugin.o -+stackleak_plugin-objs := stackleak_plugin.o -+kallocstat_plugin-objs := kallocstat_plugin.o -+kernexec_plugin-objs := kernexec_plugin.o -+checker_plugin-objs := checker_plugin.o -+colorize_plugin-objs := colorize_plugin.o -+size_overflow_plugin-objs := size_overflow_plugin.o -+latent_entropy_plugin-objs := latent_entropy_plugin.o -+ -+$(obj)/size_overflow_plugin.o: $(objtree)/$(obj)/size_overflow_hash.h -+ -+quiet_cmd_build_size_overflow_hash = GENHASH $@ -+ cmd_build_size_overflow_hash = \ -+ $(CONFIG_SHELL) $(srctree)/$(src)/generate_size_overflow_hash.sh -d $< -o $@ -+$(objtree)/$(obj)/size_overflow_hash.h: $(src)/size_overflow_hash.data FORCE -+ $(call if_changed,build_size_overflow_hash) -+ -+targets += size_overflow_hash.h -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/checker_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/checker_plugin.c ---- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/checker_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/checker_plugin.c 2012-10-15 17:30:59.830924531 +0000 -@@ -0,0 +1,171 @@ -+/* -+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to implement various sparse (source code checker) features -+ * -+ * TODO: -+ * - define separate __iomem, __percpu and __rcu address spaces (lots of code to patch) -+ * -+ * BUGS: -+ * - none known -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+#include "tree-flow.h" -+#include "target.h" -+ -+extern void c_register_addr_space (const char *str, addr_space_t as); -+extern enum machine_mode default_addr_space_pointer_mode (addr_space_t); -+extern enum machine_mode default_addr_space_address_mode (addr_space_t); -+extern bool default_addr_space_valid_pointer_mode(enum machine_mode mode, addr_space_t as); -+extern bool default_addr_space_legitimate_address_p(enum machine_mode mode, rtx mem, bool strict, addr_space_t as); -+extern rtx default_addr_space_legitimize_address(rtx x, rtx oldx, enum machine_mode mode, addr_space_t as); -+ -+extern void print_gimple_stmt(FILE *, gimple, int, int); -+extern rtx emit_move_insn(rtx x, rtx y); -+ -+int plugin_is_GPL_compatible; -+ -+static struct plugin_info checker_plugin_info = { -+ .version = "201111150100", -+}; -+ -+#define ADDR_SPACE_KERNEL 0 -+#define ADDR_SPACE_FORCE_KERNEL 1 -+#define ADDR_SPACE_USER 2 -+#define ADDR_SPACE_FORCE_USER 3 -+#define ADDR_SPACE_IOMEM 0 -+#define ADDR_SPACE_FORCE_IOMEM 0 -+#define ADDR_SPACE_PERCPU 0 -+#define ADDR_SPACE_FORCE_PERCPU 0 -+#define ADDR_SPACE_RCU 0 -+#define ADDR_SPACE_FORCE_RCU 0 -+ -+static enum machine_mode checker_addr_space_pointer_mode(addr_space_t addrspace) -+{ -+ return default_addr_space_pointer_mode(ADDR_SPACE_GENERIC); -+} -+ -+static enum machine_mode checker_addr_space_address_mode(addr_space_t addrspace) -+{ -+ return default_addr_space_address_mode(ADDR_SPACE_GENERIC); -+} -+ -+static bool checker_addr_space_valid_pointer_mode(enum machine_mode mode, addr_space_t as) -+{ -+ return default_addr_space_valid_pointer_mode(mode, as); -+} -+ -+static bool checker_addr_space_legitimate_address_p(enum machine_mode mode, rtx mem, bool strict, addr_space_t as) -+{ -+ return default_addr_space_legitimate_address_p(mode, mem, strict, ADDR_SPACE_GENERIC); -+} -+ -+static rtx checker_addr_space_legitimize_address(rtx x, rtx oldx, enum machine_mode mode, addr_space_t as) -+{ -+ return default_addr_space_legitimize_address(x, oldx, mode, as); -+} -+ -+static bool checker_addr_space_subset_p(addr_space_t subset, addr_space_t superset) -+{ -+ if (subset == ADDR_SPACE_FORCE_KERNEL && superset == ADDR_SPACE_KERNEL) -+ return true; -+ -+ if (subset == ADDR_SPACE_FORCE_USER && superset == ADDR_SPACE_USER) -+ return true; -+ -+ if (subset == ADDR_SPACE_FORCE_IOMEM && superset == ADDR_SPACE_IOMEM) -+ return true; -+ -+ if (subset == ADDR_SPACE_KERNEL && superset == ADDR_SPACE_FORCE_USER) -+ return true; -+ -+ if (subset == ADDR_SPACE_KERNEL && superset == ADDR_SPACE_FORCE_IOMEM) -+ return true; -+ -+ if (subset == ADDR_SPACE_USER && superset == ADDR_SPACE_FORCE_KERNEL) -+ return true; -+ -+ if (subset == ADDR_SPACE_IOMEM && superset == ADDR_SPACE_FORCE_KERNEL) -+ return true; -+ -+ return subset == superset; -+} -+ -+static rtx checker_addr_space_convert(rtx op, tree from_type, tree to_type) -+{ -+// addr_space_t from_as = TYPE_ADDR_SPACE(TREE_TYPE(from_type)); -+// addr_space_t to_as = TYPE_ADDR_SPACE(TREE_TYPE(to_type)); -+ -+ return op; -+} -+ -+static void register_checker_address_spaces(void *event_data, void *data) -+{ -+ c_register_addr_space("__kernel", ADDR_SPACE_KERNEL); -+ c_register_addr_space("__force_kernel", ADDR_SPACE_FORCE_KERNEL); -+ c_register_addr_space("__user", ADDR_SPACE_USER); -+ c_register_addr_space("__force_user", ADDR_SPACE_FORCE_USER); -+// c_register_addr_space("__iomem", ADDR_SPACE_IOMEM); -+// c_register_addr_space("__force_iomem", ADDR_SPACE_FORCE_IOMEM); -+// c_register_addr_space("__percpu", ADDR_SPACE_PERCPU); -+// c_register_addr_space("__force_percpu", ADDR_SPACE_FORCE_PERCPU); -+// c_register_addr_space("__rcu", ADDR_SPACE_RCU); -+// c_register_addr_space("__force_rcu", ADDR_SPACE_FORCE_RCU); -+ -+ targetm.addr_space.pointer_mode = checker_addr_space_pointer_mode; -+ targetm.addr_space.address_mode = checker_addr_space_address_mode; -+ targetm.addr_space.valid_pointer_mode = checker_addr_space_valid_pointer_mode; -+ targetm.addr_space.legitimate_address_p = checker_addr_space_legitimate_address_p; -+// targetm.addr_space.legitimize_address = checker_addr_space_legitimize_address; -+ targetm.addr_space.subset_p = checker_addr_space_subset_p; -+ targetm.addr_space.convert = checker_addr_space_convert; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ int i; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &checker_plugin_info); -+ -+ for (i = 0; i < argc; ++i) -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ -+ if (TARGET_64BIT == 0) -+ return 0; -+ -+ register_callback(plugin_name, PLUGIN_PRAGMAS, register_checker_address_spaces, NULL); -+ -+ return 0; -+} -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/colorize_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/colorize_plugin.c ---- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/colorize_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/colorize_plugin.c 2012-10-15 17:30:59.830924531 +0000 -@@ -0,0 +1,148 @@ -+/* -+ * Copyright 2012 by PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to colorize diagnostic output -+ * -+ */ -+ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+ -+int plugin_is_GPL_compatible; -+ -+static struct plugin_info colorize_plugin_info = { -+ .version = "201203092200", -+ .help = NULL, -+}; -+ -+#define GREEN "\033[32m\033[2m" -+#define LIGHTGREEN "\033[32m\033[1m" -+#define YELLOW "\033[33m\033[2m" -+#define LIGHTYELLOW "\033[33m\033[1m" -+#define RED "\033[31m\033[2m" -+#define LIGHTRED "\033[31m\033[1m" -+#define BLUE "\033[34m\033[2m" -+#define LIGHTBLUE "\033[34m\033[1m" -+#define BRIGHT "\033[m\033[1m" -+#define NORMAL "\033[m" -+ -+static diagnostic_starter_fn old_starter; -+static diagnostic_finalizer_fn old_finalizer; -+ -+static void start_colorize(diagnostic_context *context, diagnostic_info *diagnostic) -+{ -+ const char *color; -+ char *newprefix; -+ -+ switch (diagnostic->kind) { -+ case DK_NOTE: -+ color = LIGHTBLUE; -+ break; -+ -+ case DK_PEDWARN: -+ case DK_WARNING: -+ color = LIGHTYELLOW; -+ break; -+ -+ case DK_ERROR: -+ case DK_FATAL: -+ case DK_ICE: -+ case DK_PERMERROR: -+ case DK_SORRY: -+ color = LIGHTRED; -+ break; -+ -+ default: -+ color = NORMAL; -+ } -+ -+ old_starter(context, diagnostic); -+ if (-1 == asprintf(&newprefix, "%s%s" NORMAL, color, context->printer->prefix)) -+ return; -+ pp_destroy_prefix(context->printer); -+ pp_set_prefix(context->printer, newprefix); -+} -+ -+static void finalize_colorize(diagnostic_context *context, diagnostic_info *diagnostic) -+{ -+ old_finalizer(context, diagnostic); -+} -+ -+static void colorize_arm(void) -+{ -+ old_starter = diagnostic_starter(global_dc); -+ old_finalizer = diagnostic_finalizer(global_dc); -+ -+ diagnostic_starter(global_dc) = start_colorize; -+ diagnostic_finalizer(global_dc) = finalize_colorize; -+} -+ -+static unsigned int execute_colorize_rearm(void) -+{ -+ if (diagnostic_starter(global_dc) == start_colorize) -+ return 0; -+ -+ colorize_arm(); -+ return 0; -+} -+ -+struct simple_ipa_opt_pass pass_ipa_colorize_rearm = { -+ .pass = { -+ .type = SIMPLE_IPA_PASS, -+ .name = "colorize_rearm", -+ .gate = NULL, -+ .execute = execute_colorize_rearm, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = 0 -+ } -+}; -+ -+static void colorize_start_unit(void *gcc_data, void *user_data) -+{ -+ colorize_arm(); -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ struct register_pass_info colorize_rearm_pass_info = { -+ .pass = &pass_ipa_colorize_rearm.pass, -+ .reference_pass_name = "*free_lang_data", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &colorize_plugin_info); -+ register_callback(plugin_name, PLUGIN_START_UNIT, &colorize_start_unit, NULL); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &colorize_rearm_pass_info); -+ return 0; -+} -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/constify_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/constify_plugin.c ---- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/constify_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/constify_plugin.c 2012-10-15 17:30:59.830924531 +0000 -@@ -0,0 +1,331 @@ -+/* -+ * Copyright 2011 by Emese Revfy <re.emese@gmail.com> -+ * Copyright 2011 by PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2, or (at your option) v3 -+ * -+ * This gcc plugin constifies all structures which contain only function pointers or are explicitly marked for constification. -+ * -+ * Homepage: -+ * http://www.grsecurity.net/~ephox/const_plugin/ -+ * -+ * Usage: -+ * $ gcc -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -o constify_plugin.so constify_plugin.c -+ * $ gcc -fplugin=constify_plugin.so test.c -O2 -+ */ -+ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+#include "tree-flow.h" -+ -+#define C_TYPE_FIELDS_READONLY(TYPE) TREE_LANG_FLAG_1(TYPE) -+ -+int plugin_is_GPL_compatible; -+ -+static struct plugin_info const_plugin_info = { -+ .version = "201205300030", -+ .help = "no-constify\tturn off constification\n", -+}; -+ -+static void deconstify_tree(tree node); -+ -+static void deconstify_type(tree type) -+{ -+ tree field; -+ -+ for (field = TYPE_FIELDS(type); field; field = TREE_CHAIN(field)) { -+ tree type = TREE_TYPE(field); -+ -+ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) -+ continue; -+ if (!TYPE_READONLY(type)) -+ continue; -+ -+ deconstify_tree(field); -+ } -+ TYPE_READONLY(type) = 0; -+ C_TYPE_FIELDS_READONLY(type) = 0; -+} -+ -+static void deconstify_tree(tree node) -+{ -+ tree old_type, new_type, field; -+ -+ old_type = TREE_TYPE(node); -+ -+ gcc_assert(TYPE_READONLY(old_type) && (TYPE_QUALS(old_type) & TYPE_QUAL_CONST)); -+ -+ new_type = build_qualified_type(old_type, TYPE_QUALS(old_type) & ~TYPE_QUAL_CONST); -+ TYPE_FIELDS(new_type) = copy_list(TYPE_FIELDS(new_type)); -+ for (field = TYPE_FIELDS(new_type); field; field = TREE_CHAIN(field)) -+ DECL_FIELD_CONTEXT(field) = new_type; -+ -+ deconstify_type(new_type); -+ -+ TREE_READONLY(node) = 0; -+ TREE_TYPE(node) = new_type; -+} -+ -+static tree handle_no_const_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) -+{ -+ tree type; -+ -+ *no_add_attrs = true; -+ if (TREE_CODE(*node) == FUNCTION_DECL) { -+ error("%qE attribute does not apply to functions", name); -+ return NULL_TREE; -+ } -+ -+ if (TREE_CODE(*node) == VAR_DECL) { -+ error("%qE attribute does not apply to variables", name); -+ return NULL_TREE; -+ } -+ -+ if (TYPE_P(*node)) { -+ if (TREE_CODE(*node) == RECORD_TYPE || TREE_CODE(*node) == UNION_TYPE) -+ *no_add_attrs = false; -+ else -+ error("%qE attribute applies to struct and union types only", name); -+ return NULL_TREE; -+ } -+ -+ type = TREE_TYPE(*node); -+ -+ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) { -+ error("%qE attribute applies to struct and union types only", name); -+ return NULL_TREE; -+ } -+ -+ if (lookup_attribute(IDENTIFIER_POINTER(name), TYPE_ATTRIBUTES(type))) { -+ error("%qE attribute is already applied to the type", name); -+ return NULL_TREE; -+ } -+ -+ if (TREE_CODE(*node) == TYPE_DECL && !TYPE_READONLY(type)) { -+ error("%qE attribute used on type that is not constified", name); -+ return NULL_TREE; -+ } -+ -+ if (TREE_CODE(*node) == TYPE_DECL) { -+ deconstify_tree(*node); -+ return NULL_TREE; -+ } -+ -+ return NULL_TREE; -+} -+ -+static void constify_type(tree type) -+{ -+ TYPE_READONLY(type) = 1; -+ C_TYPE_FIELDS_READONLY(type) = 1; -+} -+ -+static tree handle_do_const_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) -+{ -+ *no_add_attrs = true; -+ if (!TYPE_P(*node)) { -+ error("%qE attribute applies to types only", name); -+ return NULL_TREE; -+ } -+ -+ if (TREE_CODE(*node) != RECORD_TYPE && TREE_CODE(*node) != UNION_TYPE) { -+ error("%qE attribute applies to struct and union types only", name); -+ return NULL_TREE; -+ } -+ -+ *no_add_attrs = false; -+ constify_type(*node); -+ return NULL_TREE; -+} -+ -+static struct attribute_spec no_const_attr = { -+ .name = "no_const", -+ .min_length = 0, -+ .max_length = 0, -+ .decl_required = false, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_no_const_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = true -+#endif -+}; -+ -+static struct attribute_spec do_const_attr = { -+ .name = "do_const", -+ .min_length = 0, -+ .max_length = 0, -+ .decl_required = false, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_do_const_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = true -+#endif -+}; -+ -+static void register_attributes(void *event_data, void *data) -+{ -+ register_attribute(&no_const_attr); -+ register_attribute(&do_const_attr); -+} -+ -+static bool is_fptr(tree field) -+{ -+ tree ptr = TREE_TYPE(field); -+ -+ if (TREE_CODE(ptr) != POINTER_TYPE) -+ return false; -+ -+ return TREE_CODE(TREE_TYPE(ptr)) == FUNCTION_TYPE; -+} -+ -+static bool walk_struct(tree node) -+{ -+ tree field; -+ -+ if (TYPE_FIELDS(node) == NULL_TREE) -+ return false; -+ -+ if (lookup_attribute("no_const", TYPE_ATTRIBUTES(node))) { -+ gcc_assert(!TYPE_READONLY(node)); -+ deconstify_type(node); -+ return false; -+ } -+ -+ for (field = TYPE_FIELDS(node); field; field = TREE_CHAIN(field)) { -+ tree type = TREE_TYPE(field); -+ enum tree_code code = TREE_CODE(type); -+ -+ if (node == type) -+ return false; -+ if (code == RECORD_TYPE || code == UNION_TYPE) { -+ if (!(walk_struct(type))) -+ return false; -+ } else if (!is_fptr(field) && !TREE_READONLY(field)) -+ return false; -+ } -+ return true; -+} -+ -+static void finish_type(void *event_data, void *data) -+{ -+ tree type = (tree)event_data; -+ -+ if (type == NULL_TREE || type == error_mark_node) -+ return; -+ -+ if (TYPE_READONLY(type)) -+ return; -+ -+ if (walk_struct(type)) -+ constify_type(type); -+} -+ -+static unsigned int check_local_variables(void); -+ -+struct gimple_opt_pass pass_local_variable = { -+ { -+ .type = GIMPLE_PASS, -+ .name = "check_local_variables", -+ .gate = NULL, -+ .execute = check_local_variables, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = 0 -+ } -+}; -+ -+static unsigned int check_local_variables(void) -+{ -+ tree var; -+ referenced_var_iterator rvi; -+ -+#if BUILDING_GCC_VERSION == 4005 -+ FOR_EACH_REFERENCED_VAR(var, rvi) { -+#else -+ FOR_EACH_REFERENCED_VAR(cfun, var, rvi) { -+#endif -+ tree type = TREE_TYPE(var); -+ -+ if (!DECL_P(var) || TREE_STATIC(var) || DECL_EXTERNAL(var)) -+ continue; -+ -+ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) -+ continue; -+ -+ if (!TYPE_READONLY(type)) -+ continue; -+ -+// if (lookup_attribute("no_const", DECL_ATTRIBUTES(var))) -+// continue; -+ -+// if (lookup_attribute("no_const", TYPE_ATTRIBUTES(type))) -+// continue; -+ -+ if (walk_struct(type)) { -+ error_at(DECL_SOURCE_LOCATION(var), "constified variable %qE cannot be local", var); -+ return 1; -+ } -+ } -+ return 0; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ int i; -+ bool constify = true; -+ -+ struct register_pass_info local_variable_pass_info = { -+ .pass = &pass_local_variable.pass, -+ .reference_pass_name = "*referenced_vars", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ for (i = 0; i < argc; ++i) { -+ if (!(strcmp(argv[i].key, "no-constify"))) { -+ constify = false; -+ continue; -+ } -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &const_plugin_info); -+ if (constify) { -+ register_callback(plugin_name, PLUGIN_FINISH_TYPE, finish_type, NULL); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &local_variable_pass_info); -+ } -+ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); -+ -+ return 0; -+} -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/generate_size_overflow_hash.sh compat-wireless-3.6-rc7-1-snpc/tools/gcc/generate_size_overflow_hash.sh ---- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/generate_size_overflow_hash.sh 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/generate_size_overflow_hash.sh 2012-10-15 17:30:59.830924531 +0000 -@@ -0,0 +1,94 @@ -+#!/bin/bash -+ -+# This script generates the hash table (size_overflow_hash.h) for the size_overflow gcc plugin (size_overflow_plugin.c). -+ -+header1="size_overflow_hash.h" -+database="size_overflow_hash.data" -+n=65536 -+ -+usage() { -+cat <<EOF -+usage: $0 options -+OPTIONS: -+ -h|--help help -+ -o header file -+ -d database file -+ -n hash array size -+EOF -+ return 0 -+} -+ -+while true -+do -+ case "$1" in -+ -h|--help) usage && exit 0;; -+ -n) n=$2; shift 2;; -+ -o) header1="$2"; shift 2;; -+ -d) database="$2"; shift 2;; -+ --) shift 1; break ;; -+ *) break ;; -+ esac -+done -+ -+create_defines() { -+ for i in `seq 1 32` -+ do -+ echo -e "#define PARAM"$i" (1U << "$i")" >> "$header1" -+ done -+ echo >> "$header1" -+} -+ -+create_structs () { -+ rm -f "$header1" -+ -+ create_defines -+ -+ cat "$database" | while read data -+ do -+ data_array=($data) -+ struct_hash_name="${data_array[0]}" -+ funcn="${data_array[1]}" -+ params="${data_array[2]}" -+ next="${data_array[5]}" -+ -+ echo "const struct size_overflow_hash $struct_hash_name = {" >> "$header1" -+ -+ echo -e "\t.next\t= $next,\n\t.name\t= \"$funcn\"," >> "$header1" -+ echo -en "\t.param\t= " >> "$header1" -+ line= -+ for param_num in ${params//-/ }; -+ do -+ line="${line}PARAM"$param_num"|" -+ done -+ -+ echo -e "${line%?},\n};\n" >> "$header1" -+ done -+} -+ -+create_headers () { -+ echo "const struct size_overflow_hash * const size_overflow_hash[$n] = {" >> "$header1" -+} -+ -+create_array_elements () { -+ index=0 -+ grep -v "nohasharray" $database | sort -n -k 4 | while read data -+ do -+ data_array=($data) -+ i="${data_array[3]}" -+ hash="${data_array[4]}" -+ while [[ $index -lt $i ]] -+ do -+ echo -e "\t["$index"]\t= NULL," >> "$header1" -+ index=$(($index + 1)) -+ done -+ index=$(($index + 1)) -+ echo -e "\t["$i"]\t= &"$hash"," >> "$header1" -+ done -+ echo '};' >> $header1 -+} -+ -+create_structs -+create_headers -+create_array_elements -+ -+exit 0 -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/kallocstat_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/kallocstat_plugin.c ---- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/kallocstat_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/kallocstat_plugin.c 2012-10-15 17:30:59.831924531 +0000 -@@ -0,0 +1,167 @@ -+/* -+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to find the distribution of k*alloc sizes -+ * -+ * TODO: -+ * -+ * BUGS: -+ * - none known -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+ -+extern void print_gimple_stmt(FILE *, gimple, int, int); -+ -+int plugin_is_GPL_compatible; -+ -+static const char * const kalloc_functions[] = { -+ "__kmalloc", -+ "kmalloc", -+ "kmalloc_large", -+ "kmalloc_node", -+ "kmalloc_order", -+ "kmalloc_order_trace", -+ "kmalloc_slab", -+ "kzalloc", -+ "kzalloc_node", -+}; -+ -+static struct plugin_info kallocstat_plugin_info = { -+ .version = "201111150100", -+}; -+ -+static unsigned int execute_kallocstat(void); -+ -+static struct gimple_opt_pass kallocstat_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "kallocstat", -+ .gate = NULL, -+ .execute = execute_kallocstat, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = 0 -+ } -+}; -+ -+static bool is_kalloc(const char *fnname) -+{ -+ size_t i; -+ -+ for (i = 0; i < ARRAY_SIZE(kalloc_functions); i++) -+ if (!strcmp(fnname, kalloc_functions[i])) -+ return true; -+ return false; -+} -+ -+static unsigned int execute_kallocstat(void) -+{ -+ basic_block bb; -+ -+ // 1. loop through BBs and GIMPLE statements -+ FOR_EACH_BB(bb) { -+ gimple_stmt_iterator gsi; -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ // gimple match: -+ tree fndecl, size; -+ gimple call_stmt; -+ const char *fnname; -+ -+ // is it a call -+ call_stmt = gsi_stmt(gsi); -+ if (!is_gimple_call(call_stmt)) -+ continue; -+ fndecl = gimple_call_fndecl(call_stmt); -+ if (fndecl == NULL_TREE) -+ continue; -+ if (TREE_CODE(fndecl) != FUNCTION_DECL) -+ continue; -+ -+ // is it a call to k*alloc -+ fnname = IDENTIFIER_POINTER(DECL_NAME(fndecl)); -+ if (!is_kalloc(fnname)) -+ continue; -+ -+ // is the size arg the result of a simple const assignment -+ size = gimple_call_arg(call_stmt, 0); -+ while (true) { -+ gimple def_stmt; -+ expanded_location xloc; -+ size_t size_val; -+ -+ if (TREE_CODE(size) != SSA_NAME) -+ break; -+ def_stmt = SSA_NAME_DEF_STMT(size); -+ if (!def_stmt || !is_gimple_assign(def_stmt)) -+ break; -+ if (gimple_num_ops(def_stmt) != 2) -+ break; -+ size = gimple_assign_rhs1(def_stmt); -+ if (!TREE_CONSTANT(size)) -+ continue; -+ xloc = expand_location(gimple_location(def_stmt)); -+ if (!xloc.file) -+ xloc = expand_location(DECL_SOURCE_LOCATION(current_function_decl)); -+ size_val = TREE_INT_CST_LOW(size); -+ fprintf(stderr, "kallocsize: %8zu %8zx %s %s:%u\n", size_val, size_val, fnname, xloc.file, xloc.line); -+ break; -+ } -+//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO); -+//debug_tree(gimple_call_fn(call_stmt)); -+//print_node(stderr, "pax", fndecl, 4); -+ } -+ } -+ -+ return 0; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ struct register_pass_info kallocstat_pass_info = { -+ .pass = &kallocstat_pass.pass, -+ .reference_pass_name = "ssa", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &kallocstat_plugin_info); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kallocstat_pass_info); -+ -+ return 0; -+} -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/kernexec_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/kernexec_plugin.c ---- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/kernexec_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/kernexec_plugin.c 2012-10-15 17:30:59.831924531 +0000 -@@ -0,0 +1,427 @@ -+/* -+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to make KERNEXEC/amd64 almost as good as it is on i386 -+ * -+ * TODO: -+ * -+ * BUGS: -+ * - none known -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+#include "tree-flow.h" -+ -+extern void print_gimple_stmt(FILE *, gimple, int, int); -+extern rtx emit_move_insn(rtx x, rtx y); -+ -+int plugin_is_GPL_compatible; -+ -+static struct plugin_info kernexec_plugin_info = { -+ .version = "201111291120", -+ .help = "method=[bts|or]\tinstrumentation method\n" -+}; -+ -+static unsigned int execute_kernexec_reload(void); -+static unsigned int execute_kernexec_fptr(void); -+static unsigned int execute_kernexec_retaddr(void); -+static bool kernexec_cmodel_check(void); -+ -+static void (*kernexec_instrument_fptr)(gimple_stmt_iterator *); -+static void (*kernexec_instrument_retaddr)(rtx); -+ -+static struct gimple_opt_pass kernexec_reload_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "kernexec_reload", -+ .gate = kernexec_cmodel_check, -+ .execute = execute_kernexec_reload, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi -+ } -+}; -+ -+static struct gimple_opt_pass kernexec_fptr_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "kernexec_fptr", -+ .gate = kernexec_cmodel_check, -+ .execute = execute_kernexec_fptr, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi -+ } -+}; -+ -+static struct rtl_opt_pass kernexec_retaddr_pass = { -+ .pass = { -+ .type = RTL_PASS, -+ .name = "kernexec_retaddr", -+ .gate = kernexec_cmodel_check, -+ .execute = execute_kernexec_retaddr, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_dump_func | TODO_ggc_collect -+ } -+}; -+ -+static bool kernexec_cmodel_check(void) -+{ -+ tree section; -+ -+ if (ix86_cmodel != CM_KERNEL) -+ return false; -+ -+ section = lookup_attribute("section", DECL_ATTRIBUTES(current_function_decl)); -+ if (!section || !TREE_VALUE(section)) -+ return true; -+ -+ section = TREE_VALUE(TREE_VALUE(section)); -+ if (strncmp(TREE_STRING_POINTER(section), ".vsyscall_", 10)) -+ return true; -+ -+ return false; -+} -+ -+/* -+ * add special KERNEXEC instrumentation: reload %r10 after it has been clobbered -+ */ -+static void kernexec_reload_fptr_mask(gimple_stmt_iterator *gsi) -+{ -+ gimple asm_movabs_stmt; -+ -+ // build asm volatile("movabs $0x8000000000000000, %%r10\n\t" : : : ); -+ asm_movabs_stmt = gimple_build_asm_vec("movabs $0x8000000000000000, %%r10\n\t", NULL, NULL, NULL, NULL); -+ gimple_asm_set_volatile(asm_movabs_stmt, true); -+ gsi_insert_after(gsi, asm_movabs_stmt, GSI_CONTINUE_LINKING); -+ update_stmt(asm_movabs_stmt); -+} -+ -+/* -+ * find all asm() stmts that clobber r10 and add a reload of r10 -+ */ -+static unsigned int execute_kernexec_reload(void) -+{ -+ basic_block bb; -+ -+ // 1. loop through BBs and GIMPLE statements -+ FOR_EACH_BB(bb) { -+ gimple_stmt_iterator gsi; -+ -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ // gimple match: __asm__ ("" : : : "r10"); -+ gimple asm_stmt; -+ size_t nclobbers; -+ -+ // is it an asm ... -+ asm_stmt = gsi_stmt(gsi); -+ if (gimple_code(asm_stmt) != GIMPLE_ASM) -+ continue; -+ -+ // ... clobbering r10 -+ nclobbers = gimple_asm_nclobbers(asm_stmt); -+ while (nclobbers--) { -+ tree op = gimple_asm_clobber_op(asm_stmt, nclobbers); -+ if (strcmp(TREE_STRING_POINTER(TREE_VALUE(op)), "r10")) -+ continue; -+ kernexec_reload_fptr_mask(&gsi); -+//print_gimple_stmt(stderr, asm_stmt, 0, TDF_LINENO); -+ break; -+ } -+ } -+ } -+ -+ return 0; -+} -+ -+/* -+ * add special KERNEXEC instrumentation: force MSB of fptr to 1, which will produce -+ * a non-canonical address from a userland ptr and will just trigger a GPF on dereference -+ */ -+static void kernexec_instrument_fptr_bts(gimple_stmt_iterator *gsi) -+{ -+ gimple assign_intptr, assign_new_fptr, call_stmt; -+ tree intptr, old_fptr, new_fptr, kernexec_mask; -+ -+ call_stmt = gsi_stmt(*gsi); -+ old_fptr = gimple_call_fn(call_stmt); -+ -+ // create temporary unsigned long variable used for bitops and cast fptr to it -+ intptr = create_tmp_var(long_unsigned_type_node, "kernexec_bts"); -+ add_referenced_var(intptr); -+ mark_sym_for_renaming(intptr); -+ assign_intptr = gimple_build_assign(intptr, fold_convert(long_unsigned_type_node, old_fptr)); -+ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT); -+ update_stmt(assign_intptr); -+ -+ // apply logical or to temporary unsigned long and bitmask -+ kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0x8000000000000000LL); -+// kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0xffffffff80000000LL); -+ assign_intptr = gimple_build_assign(intptr, fold_build2(BIT_IOR_EXPR, long_long_unsigned_type_node, intptr, kernexec_mask)); -+ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT); -+ update_stmt(assign_intptr); -+ -+ // cast temporary unsigned long back to a temporary fptr variable -+ new_fptr = create_tmp_var(TREE_TYPE(old_fptr), "kernexec_fptr"); -+ add_referenced_var(new_fptr); -+ mark_sym_for_renaming(new_fptr); -+ assign_new_fptr = gimple_build_assign(new_fptr, fold_convert(TREE_TYPE(old_fptr), intptr)); -+ gsi_insert_before(gsi, assign_new_fptr, GSI_SAME_STMT); -+ update_stmt(assign_new_fptr); -+ -+ // replace call stmt fn with the new fptr -+ gimple_call_set_fn(call_stmt, new_fptr); -+ update_stmt(call_stmt); -+} -+ -+static void kernexec_instrument_fptr_or(gimple_stmt_iterator *gsi) -+{ -+ gimple asm_or_stmt, call_stmt; -+ tree old_fptr, new_fptr, input, output; -+ VEC(tree, gc) *inputs = NULL; -+ VEC(tree, gc) *outputs = NULL; -+ -+ call_stmt = gsi_stmt(*gsi); -+ old_fptr = gimple_call_fn(call_stmt); -+ -+ // create temporary fptr variable -+ new_fptr = create_tmp_var(TREE_TYPE(old_fptr), "kernexec_or"); -+ add_referenced_var(new_fptr); -+ mark_sym_for_renaming(new_fptr); -+ -+ // build asm volatile("orq %%r10, %0\n\t" : "=r"(new_fptr) : "0"(old_fptr)); -+ input = build_tree_list(NULL_TREE, build_string(2, "0")); -+ input = chainon(NULL_TREE, build_tree_list(input, old_fptr)); -+ output = build_tree_list(NULL_TREE, build_string(3, "=r")); -+ output = chainon(NULL_TREE, build_tree_list(output, new_fptr)); -+ VEC_safe_push(tree, gc, inputs, input); -+ VEC_safe_push(tree, gc, outputs, output); -+ asm_or_stmt = gimple_build_asm_vec("orq %%r10, %0\n\t", inputs, outputs, NULL, NULL); -+ gimple_asm_set_volatile(asm_or_stmt, true); -+ gsi_insert_before(gsi, asm_or_stmt, GSI_SAME_STMT); -+ update_stmt(asm_or_stmt); -+ -+ // replace call stmt fn with the new fptr -+ gimple_call_set_fn(call_stmt, new_fptr); -+ update_stmt(call_stmt); -+} -+ -+/* -+ * find all C level function pointer dereferences and forcibly set the highest bit of the pointer -+ */ -+static unsigned int execute_kernexec_fptr(void) -+{ -+ basic_block bb; -+ -+ // 1. loop through BBs and GIMPLE statements -+ FOR_EACH_BB(bb) { -+ gimple_stmt_iterator gsi; -+ -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ // gimple match: h_1 = get_fptr (); D.2709_3 = h_1 (x_2(D)); -+ tree fn; -+ gimple call_stmt; -+ -+ // is it a call ... -+ call_stmt = gsi_stmt(gsi); -+ if (!is_gimple_call(call_stmt)) -+ continue; -+ fn = gimple_call_fn(call_stmt); -+ if (TREE_CODE(fn) == ADDR_EXPR) -+ continue; -+ if (TREE_CODE(fn) != SSA_NAME) -+ gcc_unreachable(); -+ -+ // ... through a function pointer -+ fn = SSA_NAME_VAR(fn); -+ if (TREE_CODE(fn) != VAR_DECL && TREE_CODE(fn) != PARM_DECL) -+ continue; -+ fn = TREE_TYPE(fn); -+ if (TREE_CODE(fn) != POINTER_TYPE) -+ continue; -+ fn = TREE_TYPE(fn); -+ if (TREE_CODE(fn) != FUNCTION_TYPE) -+ continue; -+ -+ kernexec_instrument_fptr(&gsi); -+ -+//debug_tree(gimple_call_fn(call_stmt)); -+//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO); -+ } -+ } -+ -+ return 0; -+} -+ -+// add special KERNEXEC instrumentation: btsq $63,(%rsp) just before retn -+static void kernexec_instrument_retaddr_bts(rtx insn) -+{ -+ rtx btsq; -+ rtvec argvec, constraintvec, labelvec; -+ int line; -+ -+ // create asm volatile("btsq $63,(%%rsp)":::) -+ argvec = rtvec_alloc(0); -+ constraintvec = rtvec_alloc(0); -+ labelvec = rtvec_alloc(0); -+ line = expand_location(RTL_LOCATION(insn)).line; -+ btsq = gen_rtx_ASM_OPERANDS(VOIDmode, "btsq $63,(%%rsp)", empty_string, 0, argvec, constraintvec, labelvec, line); -+ MEM_VOLATILE_P(btsq) = 1; -+// RTX_FRAME_RELATED_P(btsq) = 1; // not for ASM_OPERANDS -+ emit_insn_before(btsq, insn); -+} -+ -+// add special KERNEXEC instrumentation: orq %r10,(%rsp) just before retn -+static void kernexec_instrument_retaddr_or(rtx insn) -+{ -+ rtx orq; -+ rtvec argvec, constraintvec, labelvec; -+ int line; -+ -+ // create asm volatile("orq %%r10,(%%rsp)":::) -+ argvec = rtvec_alloc(0); -+ constraintvec = rtvec_alloc(0); -+ labelvec = rtvec_alloc(0); -+ line = expand_location(RTL_LOCATION(insn)).line; -+ orq = gen_rtx_ASM_OPERANDS(VOIDmode, "orq %%r10,(%%rsp)", empty_string, 0, argvec, constraintvec, labelvec, line); -+ MEM_VOLATILE_P(orq) = 1; -+// RTX_FRAME_RELATED_P(orq) = 1; // not for ASM_OPERANDS -+ emit_insn_before(orq, insn); -+} -+ -+/* -+ * find all asm level function returns and forcibly set the highest bit of the return address -+ */ -+static unsigned int execute_kernexec_retaddr(void) -+{ -+ rtx insn; -+ -+ // 1. find function returns -+ for (insn = get_insns(); insn; insn = NEXT_INSN(insn)) { -+ // rtl match: (jump_insn 41 40 42 2 (return) fptr.c:42 634 {return_internal} (nil)) -+ // (jump_insn 12 9 11 2 (parallel [ (return) (unspec [ (0) ] UNSPEC_REP) ]) fptr.c:46 635 {return_internal_long} (nil)) -+ rtx body; -+ -+ // is it a retn -+ if (!JUMP_P(insn)) -+ continue; -+ body = PATTERN(insn); -+ if (GET_CODE(body) == PARALLEL) -+ body = XVECEXP(body, 0, 0); -+ if (GET_CODE(body) != RETURN) -+ continue; -+ kernexec_instrument_retaddr(insn); -+ } -+ -+// print_simple_rtl(stderr, get_insns()); -+// print_rtl(stderr, get_insns()); -+ -+ return 0; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ int i; -+ struct register_pass_info kernexec_reload_pass_info = { -+ .pass = &kernexec_reload_pass.pass, -+ .reference_pass_name = "ssa", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ struct register_pass_info kernexec_fptr_pass_info = { -+ .pass = &kernexec_fptr_pass.pass, -+ .reference_pass_name = "ssa", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ struct register_pass_info kernexec_retaddr_pass_info = { -+ .pass = &kernexec_retaddr_pass.pass, -+ .reference_pass_name = "pro_and_epilogue", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &kernexec_plugin_info); -+ -+ if (TARGET_64BIT == 0) -+ return 0; -+ -+ for (i = 0; i < argc; ++i) { -+ if (!strcmp(argv[i].key, "method")) { -+ if (!argv[i].value) { -+ error(G_("no value supplied for option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ continue; -+ } -+ if (!strcmp(argv[i].value, "bts")) { -+ kernexec_instrument_fptr = kernexec_instrument_fptr_bts; -+ kernexec_instrument_retaddr = kernexec_instrument_retaddr_bts; -+ } else if (!strcmp(argv[i].value, "or")) { -+ kernexec_instrument_fptr = kernexec_instrument_fptr_or; -+ kernexec_instrument_retaddr = kernexec_instrument_retaddr_or; -+ fix_register("r10", 1, 1); -+ } else -+ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); -+ continue; -+ } -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ } -+ if (!kernexec_instrument_fptr || !kernexec_instrument_retaddr) -+ error(G_("no instrumentation method was selected via '-fplugin-arg-%s-method'"), plugin_name); -+ -+ if (kernexec_instrument_fptr == kernexec_instrument_fptr_or) -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_reload_pass_info); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_fptr_pass_info); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_retaddr_pass_info); -+ -+ return 0; -+} -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/latent_entropy_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/latent_entropy_plugin.c ---- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/latent_entropy_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/latent_entropy_plugin.c 2012-10-15 17:30:59.831924531 +0000 -@@ -0,0 +1,295 @@ -+/* -+ * Copyright 2012 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to help generate a little bit of entropy from program state, -+ * used during boot in the kernel -+ * -+ * TODO: -+ * - add ipa pass to identify not explicitly marked candidate functions -+ * - mix in more program state (function arguments/return values, loop variables, etc) -+ * - more instrumentation control via attribute parameters -+ * -+ * BUGS: -+ * - LTO needs -flto-partition=none for now -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+#include "tree-flow.h" -+ -+int plugin_is_GPL_compatible; -+ -+static tree latent_entropy_decl; -+ -+static struct plugin_info latent_entropy_plugin_info = { -+ .version = "201207271820", -+ .help = NULL -+}; -+ -+static unsigned int execute_latent_entropy(void); -+static bool gate_latent_entropy(void); -+ -+static struct gimple_opt_pass latent_entropy_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "latent_entropy", -+ .gate = gate_latent_entropy, -+ .execute = execute_latent_entropy, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = PROP_gimple_leh | PROP_cfg, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, //TODO_verify_ssa | TODO_verify_flow | TODO_verify_stmts, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_update_ssa -+ } -+}; -+ -+static tree handle_latent_entropy_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) -+{ -+ if (TREE_CODE(*node) != FUNCTION_DECL) { -+ *no_add_attrs = true; -+ error("%qE attribute only applies to functions", name); -+ } -+ return NULL_TREE; -+} -+ -+static struct attribute_spec latent_entropy_attr = { -+ .name = "latent_entropy", -+ .min_length = 0, -+ .max_length = 0, -+ .decl_required = true, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_latent_entropy_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = false -+#endif -+}; -+ -+static void register_attributes(void *event_data, void *data) -+{ -+ register_attribute(&latent_entropy_attr); -+} -+ -+static bool gate_latent_entropy(void) -+{ -+ tree latent_entropy_attr; -+ -+ latent_entropy_attr = lookup_attribute("latent_entropy", DECL_ATTRIBUTES(current_function_decl)); -+ return latent_entropy_attr != NULL_TREE; -+} -+ -+static unsigned HOST_WIDE_INT seed; -+static unsigned HOST_WIDE_INT get_random_const(void) -+{ -+ seed = (seed >> 1U) ^ (-(seed & 1ULL) & 0xD800000000000000ULL); -+ return seed; -+} -+ -+static enum tree_code get_op(tree *rhs) -+{ -+ static enum tree_code op; -+ unsigned HOST_WIDE_INT random_const; -+ -+ random_const = get_random_const(); -+ -+ switch (op) { -+ case BIT_XOR_EXPR: -+ op = PLUS_EXPR; -+ break; -+ -+ case PLUS_EXPR: -+ if (rhs) { -+ op = LROTATE_EXPR; -+ random_const &= HOST_BITS_PER_WIDE_INT - 1; -+ break; -+ } -+ -+ case LROTATE_EXPR: -+ default: -+ op = BIT_XOR_EXPR; -+ break; -+ } -+ if (rhs) -+ *rhs = build_int_cstu(unsigned_intDI_type_node, random_const); -+ return op; -+} -+ -+static void perturb_local_entropy(basic_block bb, tree local_entropy) -+{ -+ gimple_stmt_iterator gsi; -+ gimple assign; -+ tree addxorrol, rhs; -+ enum tree_code op; -+ -+ op = get_op(&rhs); -+ addxorrol = fold_build2_loc(UNKNOWN_LOCATION, op, unsigned_intDI_type_node, local_entropy, rhs); -+ assign = gimple_build_assign(local_entropy, addxorrol); -+ find_referenced_vars_in(assign); -+//debug_bb(bb); -+ gsi = gsi_after_labels(bb); -+ gsi_insert_before(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+} -+ -+static void perturb_latent_entropy(basic_block bb, tree rhs) -+{ -+ gimple_stmt_iterator gsi; -+ gimple assign; -+ tree addxorrol, temp; -+ -+ // 1. create temporary copy of latent_entropy -+ temp = create_tmp_var(unsigned_intDI_type_node, "temp_latent_entropy"); -+ add_referenced_var(temp); -+ mark_sym_for_renaming(temp); -+ -+ // 2. read... -+ assign = gimple_build_assign(temp, latent_entropy_decl); -+ find_referenced_vars_in(assign); -+ gsi = gsi_after_labels(bb); -+ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ -+ // 3. ...modify... -+ addxorrol = fold_build2_loc(UNKNOWN_LOCATION, get_op(NULL), unsigned_intDI_type_node, temp, rhs); -+ assign = gimple_build_assign(temp, addxorrol); -+ find_referenced_vars_in(assign); -+ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ -+ // 4. ...write latent_entropy -+ assign = gimple_build_assign(latent_entropy_decl, temp); -+ find_referenced_vars_in(assign); -+ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+} -+ -+static unsigned int execute_latent_entropy(void) -+{ -+ basic_block bb; -+ gimple assign; -+ gimple_stmt_iterator gsi; -+ tree local_entropy; -+ -+ if (!latent_entropy_decl) { -+ struct varpool_node *node; -+ -+ for (node = varpool_nodes; node; node = node->next) { -+ tree var = node->decl; -+ if (strcmp(IDENTIFIER_POINTER(DECL_NAME(var)), "latent_entropy")) -+ continue; -+ latent_entropy_decl = var; -+// debug_tree(var); -+ break; -+ } -+ if (!latent_entropy_decl) { -+// debug_tree(current_function_decl); -+ return 0; -+ } -+ } -+ -+//fprintf(stderr, "latent_entropy: %s\n", IDENTIFIER_POINTER(DECL_NAME(current_function_decl))); -+ -+ // 1. create local entropy variable -+ local_entropy = create_tmp_var(unsigned_intDI_type_node, "local_entropy"); -+ add_referenced_var(local_entropy); -+ mark_sym_for_renaming(local_entropy); -+ -+ // 2. initialize local entropy variable -+ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; -+ if (dom_info_available_p(CDI_DOMINATORS)) -+ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR); -+ gsi = gsi_start_bb(bb); -+ -+ assign = gimple_build_assign(local_entropy, build_int_cstu(unsigned_intDI_type_node, get_random_const())); -+// gimple_set_location(assign, loc); -+ find_referenced_vars_in(assign); -+ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ bb = bb->next_bb; -+ -+ // 3. instrument each BB with an operation on the local entropy variable -+ while (bb != EXIT_BLOCK_PTR) { -+ perturb_local_entropy(bb, local_entropy); -+ bb = bb->next_bb; -+ }; -+ -+ // 4. mix local entropy into the global entropy variable -+ perturb_latent_entropy(EXIT_BLOCK_PTR->prev_bb, local_entropy); -+ return 0; -+} -+ -+static void start_unit_callback(void *gcc_data, void *user_data) -+{ -+#if BUILDING_GCC_VERSION >= 4007 -+ seed = get_random_seed(false); -+#else -+ sscanf(get_random_seed(false), "%" HOST_WIDE_INT_PRINT "x", &seed); -+ seed *= seed; -+#endif -+ -+ if (in_lto_p) -+ return; -+ -+ // extern u64 latent_entropy -+ latent_entropy_decl = build_decl(UNKNOWN_LOCATION, VAR_DECL, get_identifier("latent_entropy"), unsigned_intDI_type_node); -+ -+ TREE_STATIC(latent_entropy_decl) = 1; -+ TREE_PUBLIC(latent_entropy_decl) = 1; -+ TREE_USED(latent_entropy_decl) = 1; -+ TREE_THIS_VOLATILE(latent_entropy_decl) = 1; -+ DECL_EXTERNAL(latent_entropy_decl) = 1; -+ DECL_ARTIFICIAL(latent_entropy_decl) = 0; -+ DECL_INITIAL(latent_entropy_decl) = NULL; -+// DECL_ASSEMBLER_NAME(latent_entropy_decl); -+// varpool_finalize_decl(latent_entropy_decl); -+// varpool_mark_needed_node(latent_entropy_decl); -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ struct register_pass_info latent_entropy_pass_info = { -+ .pass = &latent_entropy_pass.pass, -+ .reference_pass_name = "optimized", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_BEFORE -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &latent_entropy_plugin_info); -+ register_callback ("start_unit", PLUGIN_START_UNIT, &start_unit_callback, NULL); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &latent_entropy_pass_info); -+ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); -+ -+ return 0; -+} -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/size_overflow_hash.data compat-wireless-3.6-rc7-1-snpc/tools/gcc/size_overflow_hash.data ---- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/size_overflow_hash.data 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/size_overflow_hash.data 2012-10-15 17:30:59.834924531 +0000 -@@ -0,0 +1,3597 @@ -+_000001_hash alloc_dr 2 65495 _000001_hash NULL -+_000002_hash __copy_from_user 3 10918 _000002_hash NULL -+_000003_hash copy_from_user 3 17559 _000003_hash NULL -+_000004_hash __copy_from_user_inatomic 3 4365 _000004_hash NULL -+_000005_hash __copy_from_user_nocache 3 39351 _000005_hash NULL -+_000006_hash __copy_to_user_inatomic 3 19214 _000006_hash NULL -+_000007_hash do_xip_mapping_read 5 60297 _000007_hash NULL -+_000008_hash hugetlbfs_read 3 11268 _000008_hash NULL -+_000009_hash kmalloc 1 60432 _003302_hash NULL nohasharray -+_000010_hash kmalloc_array 1-2 9444 _000010_hash NULL -+_000012_hash __kmalloc_reserve 1 17080 _000012_hash NULL -+_000013_hash kmalloc_slab 1 11917 _000013_hash NULL -+_000014_hash kmemdup 2 64015 _000014_hash NULL -+_000015_hash __krealloc 2 14857 _000340_hash NULL nohasharray -+_000016_hash memdup_user 2 59590 _000016_hash NULL -+_000017_hash module_alloc 1 63630 _000017_hash NULL -+_000018_hash read_default_ldt 2 14302 _000018_hash NULL -+_000019_hash read_kcore 3 63488 _000019_hash NULL -+_000020_hash read_ldt 2 47570 _000020_hash NULL -+_000021_hash read_zero 3 19366 _000021_hash NULL -+_000022_hash __vmalloc_node 1 39308 _000022_hash NULL -+_000023_hash aac_convert_sgraw2 4 51598 _000023_hash NULL -+_000024_hash aa_simple_write_to_buffer 4-3 49683 _000024_hash NULL -+_000025_hash ablkcipher_copy_iv 3 64140 _000025_hash NULL -+_000026_hash ablkcipher_next_slow 3-4 47274 _000026_hash NULL -+_000028_hash acpi_battery_write_alarm 3 1240 _000028_hash NULL -+_000029_hash acpi_os_allocate 1 14892 _000029_hash NULL -+_000030_hash acpi_system_write_wakeup_device 3 34853 _000030_hash NULL -+_000031_hash adu_write 3 30487 _000031_hash NULL -+_000032_hash aer_inject_write 3 52399 _000032_hash NULL -+_000033_hash afs_alloc_flat_call 2-3 36399 _000033_hash NULL -+_000035_hash afs_proc_cells_write 3 61139 _000035_hash NULL -+_000036_hash afs_proc_rootcell_write 3 15822 _000036_hash NULL -+_000037_hash agp_3_5_isochronous_node_enable 3 49465 _000037_hash NULL -+_000038_hash agp_alloc_page_array 1 22554 _000038_hash NULL -+_000039_hash ah_alloc_tmp 2-3 54378 _000039_hash NULL -+_000041_hash ahash_setkey_unaligned 3 33521 _000041_hash NULL -+_000042_hash alg_setkey 3 31485 _000042_hash NULL -+_000043_hash aligned_kmalloc 1 3628 _000043_hash NULL -+_000044_hash alloc_context 1 3194 _000044_hash NULL -+_000045_hash alloc_ep_req 2 54860 _000045_hash NULL -+_000046_hash alloc_fdmem 1 27083 _000046_hash NULL -+_000047_hash alloc_flex_gd 1 57259 _000047_hash NULL -+_000048_hash alloc_sglist 1-3-2 22960 _000048_hash NULL -+_000049_hash __alloc_skb 1 23940 _000049_hash NULL -+_000050_hash aoedev_flush 2 44398 _000050_hash NULL -+_000051_hash append_to_buffer 3 63550 _000051_hash NULL -+_000052_hash asix_read_cmd 5 13245 _000052_hash NULL -+_000053_hash asix_write_cmd 5 58192 _000053_hash NULL -+_000054_hash at76_set_card_command 4 4471 _000054_hash NULL -+_000055_hash ath6kl_add_bss_if_needed 6 24317 _000055_hash NULL -+_000056_hash ath6kl_debug_roam_tbl_event 3 5224 _000056_hash NULL -+_000057_hash ath6kl_mgmt_powersave_ap 6 13791 _000057_hash NULL -+_000058_hash ath6kl_send_go_probe_resp 3 21113 _000058_hash NULL -+_000059_hash ath6kl_set_ap_probe_resp_ies 3 50539 _000059_hash NULL -+_000060_hash ath6kl_set_assoc_req_ies 3 43185 _000060_hash NULL -+_000061_hash ath6kl_wmi_bssinfo_event_rx 3 2275 _000061_hash NULL -+_000062_hash ath6kl_wmi_send_action_cmd 7 58860 _000062_hash NULL -+_000063_hash __ath6kl_wmi_send_mgmt_cmd 7 38971 _000063_hash NULL -+_000064_hash attach_hdlc_protocol 3 19986 _000064_hash NULL -+_000065_hash audio_write 4 54261 _001782_hash NULL nohasharray -+_000066_hash audit_unpack_string 3 13748 _000066_hash NULL -+_000067_hash ax25_setsockopt 5 42740 _000067_hash NULL -+_000068_hash b43_debugfs_write 3 34838 _000068_hash NULL -+_000069_hash b43legacy_debugfs_write 3 28556 _000069_hash NULL -+_000070_hash batadv_hash_new 1 40491 _000070_hash NULL -+_000071_hash batadv_orig_node_add_if 2 18433 _000071_hash NULL -+_000072_hash batadv_orig_node_del_if 2 4 _000072_hash NULL -+_000073_hash batadv_tt_changes_fill_buff 4 40323 _000073_hash NULL -+_000074_hash batadv_tt_realloc_packet_buff 4 49960 _000074_hash NULL -+_000075_hash bch_alloc 1 4593 _000075_hash NULL -+_000076_hash befs_nls2utf 3 17163 _000076_hash NULL -+_000077_hash befs_utf2nls 3 25628 _000077_hash NULL -+_000078_hash bfad_debugfs_write_regrd 3 15218 _000078_hash NULL -+_000079_hash bfad_debugfs_write_regwr 3 61841 _000079_hash NULL -+_000080_hash bio_alloc_map_data 1-2 50782 _000080_hash NULL -+_000082_hash bio_kmalloc 2 54672 _000082_hash NULL -+_000083_hash bitmap_storage_alloc 2 55077 _000083_hash NULL -+_000084_hash blkcipher_copy_iv 3 24075 _000084_hash NULL -+_000085_hash blkcipher_next_slow 3-4 52733 _000085_hash NULL -+_000087_hash bl_pipe_downcall 3 34264 _000087_hash NULL -+_000088_hash bnad_debugfs_write_regrd 3 6706 _000088_hash NULL -+_000089_hash bnad_debugfs_write_regwr 3 57500 _000089_hash NULL -+_000090_hash bnx2fc_cmd_mgr_alloc 2-3 24873 _000090_hash NULL -+_000092_hash bnx2fc_process_unsol_compl 2 15576 _000092_hash NULL -+_000093_hash bnx2_nvram_write 2-4 7790 _000093_hash NULL -+_000095_hash btmrvl_gpiogap_write 3 35053 _000095_hash NULL -+_000096_hash btmrvl_hscfgcmd_write 3 27143 _000096_hash NULL -+_000097_hash btmrvl_hscmd_write 3 27089 _000097_hash NULL -+_000098_hash btmrvl_hsmode_write 3 42252 _000098_hash NULL -+_000099_hash btmrvl_pscmd_write 3 29504 _000099_hash NULL -+_000100_hash btmrvl_psmode_write 3 3703 _000100_hash NULL -+_000101_hash btrfs_alloc_delayed_item 1 11678 _000101_hash NULL -+_000102_hash c4iw_id_table_alloc 3 48163 _000102_hash NULL -+_000103_hash cache_do_downcall 3 6926 _000103_hash NULL -+_000104_hash cachefiles_cook_key 2 33274 _000104_hash NULL -+_000105_hash cachefiles_daemon_write 3 43535 _000105_hash NULL -+_000106_hash capi_write 3 35104 _003607_hash NULL nohasharray -+_000107_hash carl9170_debugfs_write 3 50857 _000107_hash NULL -+_000108_hash cciss_allocate_sg_chain_blocks 2-3 5368 _000108_hash NULL -+_000110_hash cciss_proc_write 3 10259 _000110_hash NULL -+_000111_hash cdrom_read_cdda_old 4 27664 _000111_hash NULL -+_000112_hash ceph_alloc_page_vector 1 18710 _000112_hash NULL -+_000113_hash ceph_buffer_new 1 35974 _000113_hash NULL -+_000114_hash ceph_copy_user_to_page_vector 3-4 656 _000114_hash NULL -+_000116_hash ceph_get_direct_page_vector 2 41917 _000116_hash NULL -+_000117_hash ceph_msg_new 2 5846 _000117_hash NULL -+_000118_hash ceph_setxattr 4 18913 _000118_hash NULL -+_000119_hash cfi_read_pri 3 24366 _000119_hash NULL -+_000120_hash cgroup_write_string 5 10900 _000120_hash NULL -+_000121_hash cgroup_write_X64 5 54514 _000121_hash NULL -+_000122_hash change_xattr 5 61390 _000122_hash NULL -+_000123_hash check_load_and_stores 2 2143 _000123_hash NULL -+_000124_hash cifs_idmap_key_instantiate 3 54503 _000124_hash NULL -+_000125_hash cifs_security_flags_proc_write 3 5484 _000125_hash NULL -+_000126_hash cifs_setxattr 4 23957 _000126_hash NULL -+_000127_hash cifs_spnego_key_instantiate 3 23588 _000127_hash NULL -+_000128_hash cld_pipe_downcall 3 15058 _000128_hash NULL -+_000129_hash clear_refs_write 3 61904 _000129_hash NULL -+_000130_hash clusterip_proc_write 3 44729 _000130_hash NULL -+_000131_hash cm4040_write 3 58079 _000131_hash NULL -+_000132_hash cm_copy_private_data 2 3649 _000132_hash NULL -+_000133_hash cmm_write 3 2896 _000133_hash NULL -+_000134_hash cm_write 3 36858 _000134_hash NULL -+_000135_hash coda_psdev_write 3 1711 _000135_hash NULL -+_000136_hash codec_reg_read_file 3 36280 _000136_hash NULL -+_000137_hash command_file_write 3 31318 _000137_hash NULL -+_000138_hash command_write 3 58841 _000138_hash NULL -+_000139_hash comm_write 3 44537 _001714_hash NULL nohasharray -+_000140_hash concat_writev 3 21451 _000140_hash NULL -+_000141_hash copy_and_check 3 19089 _000141_hash NULL -+_000142_hash copy_from_user_toio 3 31966 _000142_hash NULL -+_000143_hash copy_items 6 50140 _000143_hash NULL -+_000144_hash copy_macs 4 45534 _000144_hash NULL -+_000145_hash __copy_to_user 3 17551 _000145_hash NULL -+_000146_hash copy_vm86_regs_from_user 3 45340 _000146_hash NULL -+_000147_hash core_sys_select 1 47494 _000147_hash NULL -+_000148_hash cosa_write 3 1774 _000148_hash NULL -+_000149_hash cp210x_set_config 4 46447 _000149_hash NULL -+_000150_hash create_entry 2 33479 _000150_hash NULL -+_000151_hash create_queues 2-3 9088 _000151_hash NULL -+_000153_hash create_xattr 5 54106 _000153_hash NULL -+_000154_hash create_xattr_datum 5 33356 _003443_hash NULL nohasharray -+_000155_hash csum_partial_copy_fromiovecend 3-4 9957 _000155_hash NULL -+_000157_hash ctrl_out 3-5 8712 _000157_hash NULL -+_000159_hash cxacru_cm_get_array 4 4412 _000159_hash NULL -+_000160_hash cxgbi_alloc_big_mem 1 4707 _000160_hash NULL -+_000161_hash dac960_user_command_proc_write 3 3071 _000161_hash NULL -+_000162_hash datablob_format 2 39571 _002490_hash NULL nohasharray -+_000163_hash dccp_feat_clone_sp_val 3 11942 _000163_hash NULL -+_000164_hash dccp_setsockopt_ccid 4 30701 _000164_hash NULL -+_000165_hash dccp_setsockopt_cscov 2 37766 _000165_hash NULL -+_000166_hash dccp_setsockopt_service 4 65336 _000166_hash NULL -+_000167_hash ddebug_proc_write 3 18055 _000167_hash NULL -+_000168_hash dev_config 3 8506 _000168_hash NULL -+_000169_hash device_write 3 45156 _000169_hash NULL -+_000170_hash devm_kzalloc 2 4966 _000170_hash NULL -+_000171_hash devres_alloc 2 551 _000171_hash NULL -+_000172_hash dfs_file_write 3 41196 _000172_hash NULL -+_000173_hash direct_entry 3 38836 _000173_hash NULL -+_000174_hash dispatch_ioctl 2 32357 _000174_hash NULL -+_000175_hash dispatch_proc_write 3 44320 _000175_hash NULL -+_000176_hash diva_os_copy_from_user 4 7792 _000176_hash NULL -+_000177_hash dlm_alloc_pagevec 1 54296 _000177_hash NULL -+_000178_hash dlmfs_file_read 3 28385 _000178_hash NULL -+_000179_hash dlmfs_file_write 3 6892 _000179_hash NULL -+_000180_hash dm_read 3 15674 _000180_hash NULL -+_000181_hash dm_write 3 2513 _000181_hash NULL -+_000182_hash __dn_setsockopt 5 13060 _000182_hash NULL -+_000183_hash dns_query 3 9676 _000183_hash NULL -+_000184_hash dns_resolver_instantiate 3 63314 _000184_hash NULL -+_000185_hash do_add_counters 3 3992 _000185_hash NULL -+_000186_hash __do_config_autodelink 3 58763 _000186_hash NULL -+_000187_hash do_ip_setsockopt 5 41852 _000187_hash NULL -+_000188_hash do_ipv6_setsockopt 5 18215 _000188_hash NULL -+_000189_hash do_ip_vs_set_ctl 4 48641 _000189_hash NULL -+_000190_hash do_kimage_alloc 3 64827 _000190_hash NULL -+_000191_hash do_register_entry 4 29478 _000191_hash NULL -+_000192_hash do_tty_write 5 44896 _000192_hash NULL -+_000193_hash do_update_counters 4 2259 _000193_hash NULL -+_000194_hash dsp_write 2 46218 _000194_hash NULL -+_000195_hash dup_to_netobj 3 26363 _000195_hash NULL -+_000196_hash dwc3_link_state_write 3 12641 _000196_hash NULL -+_000197_hash dwc3_mode_write 3 51997 _000197_hash NULL -+_000198_hash dwc3_testmode_write 3 30516 _000198_hash NULL -+_000199_hash ecryptfs_copy_filename 4 11868 _000199_hash NULL -+_000200_hash ecryptfs_miscdev_write 3 26847 _000200_hash NULL -+_000201_hash ecryptfs_send_miscdev 2 64816 _000201_hash NULL -+_000202_hash efx_tsoh_heap_alloc 2 58545 _000202_hash NULL -+_000203_hash emi26_writememory 4 57908 _000203_hash NULL -+_000204_hash emi62_writememory 4 29731 _000204_hash NULL -+_000205_hash encrypted_instantiate 3 3168 _000205_hash NULL -+_000206_hash encrypted_update 3 13414 _000206_hash NULL -+_000207_hash ep0_write 3 14536 _001422_hash NULL nohasharray -+_000208_hash ep_read 3 58813 _000208_hash NULL -+_000209_hash ep_write 3 59008 _000209_hash NULL -+_000210_hash erst_dbg_write 3 46715 _000210_hash NULL -+_000211_hash esp_alloc_tmp 2-3 40558 _000211_hash NULL -+_000213_hash evdev_do_ioctl 2 24459 _000213_hash NULL -+_000214_hash exofs_read_lookup_dev_table 3 17733 _000214_hash NULL -+_000215_hash ext4_kvmalloc 1 14796 _000215_hash NULL -+_000216_hash ezusb_writememory 4 45976 _000216_hash NULL -+_000217_hash fanotify_write 3 64623 _000217_hash NULL -+_000218_hash fd_copyin 3 56247 _000218_hash NULL -+_000219_hash ffs_epfile_io 3 64886 _000219_hash NULL -+_000220_hash ffs_prepare_buffer 2 59892 _000220_hash NULL -+_000221_hash f_hidg_write 3 7932 _000221_hash NULL -+_000222_hash file_read_actor 4 1401 _000222_hash NULL -+_000223_hash fill_write_buffer 3 3142 _000223_hash NULL -+_000224_hash __find_xattr 6 2117 _002425_hash NULL nohasharray -+_000225_hash fl_create 5 56435 _000225_hash NULL -+_000226_hash fs_path_ensure_buf 2 59445 _000226_hash NULL -+_000227_hash ftdi_elan_write 3 57309 _000227_hash NULL -+_000228_hash fw_iso_buffer_alloc 2 13704 _000228_hash NULL -+_000229_hash garmin_write_bulk 3 58191 _000229_hash NULL -+_000230_hash garp_attr_create 3 3883 _000230_hash NULL -+_000231_hash get_arg 3 5694 _000231_hash NULL -+_000232_hash getdqbuf 1 62908 _000232_hash NULL -+_000233_hash get_fdb_entries 3 41916 _000233_hash NULL -+_000234_hash get_fd_set 1 3866 _000234_hash NULL -+_000235_hash get_indirect_ea 4 51869 _000235_hash NULL -+_000236_hash get_registers 3 26187 _000236_hash NULL -+_000237_hash get_scq 2 10897 _000237_hash NULL -+_000238_hash get_server_iovec 2 16804 _000238_hash NULL -+_000239_hash get_ucode_user 3 38202 _000239_hash NULL -+_000240_hash get_user_cpu_mask 2 14861 _000240_hash NULL -+_000241_hash gfs2_alloc_sort_buffer 1 18275 _000241_hash NULL -+_000242_hash gfs2_glock_nq_m 1 20347 _000242_hash NULL -+_000243_hash gigaset_initcs 2 43753 _000243_hash NULL -+_000244_hash gigaset_initdriver 2 1060 _000244_hash NULL -+_000245_hash groups_alloc 1 7614 _000245_hash NULL -+_000246_hash gs_alloc_req 2 58883 _000246_hash NULL -+_000247_hash gs_buf_alloc 2 25067 _000247_hash NULL -+_000248_hash gsm_data_alloc 3 42437 _000248_hash NULL -+_000249_hash gss_pipe_downcall 3 23182 _000249_hash NULL -+_000250_hash handle_request 9 10024 _000250_hash NULL -+_000251_hash hashtab_create 3 33769 _000251_hash NULL -+_000252_hash hcd_buffer_alloc 2 27495 _000252_hash NULL -+_000253_hash hci_sock_setsockopt 5 28993 _000253_hash NULL -+_000254_hash heap_init 2 49617 _000254_hash NULL -+_000255_hash hest_ghes_dev_register 1 46766 _000255_hash NULL -+_000256_hash hidg_alloc_ep_req 2 10159 _000256_hash NULL -+_000257_hash hid_parse_report 3 51737 _000257_hash NULL -+_000258_hash hidraw_get_report 3 45609 _000258_hash NULL -+_000259_hash hidraw_report_event 3 20503 _000259_hash NULL -+_000260_hash hidraw_send_report 3 23449 _000260_hash NULL -+_000261_hash hpfs_translate_name 3 41497 _000261_hash NULL -+_000262_hash hysdn_conf_write 3 52145 _000262_hash NULL -+_000263_hash __i2400mu_send_barker 3 23652 _000263_hash NULL -+_000264_hash i2cdev_read 3 1206 _000264_hash NULL -+_000265_hash i2cdev_write 3 23310 _000265_hash NULL -+_000266_hash i2o_parm_field_get 5 34477 _000266_hash NULL -+_000267_hash i2o_parm_table_get 6 61635 _000267_hash NULL -+_000268_hash ib_copy_from_udata 3 59502 _000268_hash NULL -+_000269_hash ib_ucm_alloc_data 3 36885 _000269_hash NULL -+_000270_hash ib_umad_write 3 47993 _000270_hash NULL -+_000271_hash ib_uverbs_unmarshall_recv 5 12251 _000271_hash NULL -+_000272_hash icn_writecmd 2 38629 _000272_hash NULL -+_000273_hash ide_driver_proc_write 3 32493 _000273_hash NULL -+_000274_hash ide_settings_proc_write 3 35110 _000274_hash NULL -+_000275_hash idetape_chrdev_write 3 53976 _000275_hash NULL -+_000276_hash idmap_pipe_downcall 3 14591 _000276_hash NULL -+_000277_hash ieee80211_build_probe_req 7-5 27660 _000277_hash NULL -+_000278_hash ieee80211_if_write 3 34894 _000278_hash NULL -+_000279_hash if_write 3 51756 _000279_hash NULL -+_000280_hash ilo_write 3 64378 _000280_hash NULL -+_000281_hash ima_write_policy 3 40548 _000281_hash NULL -+_000282_hash init_data_container 1 60709 _000282_hash NULL -+_000283_hash init_send_hfcd 1 34586 _000283_hash NULL -+_000284_hash insert_dent 7 65034 _000284_hash NULL -+_000285_hash interpret_user_input 2 19393 _000285_hash NULL -+_000286_hash int_proc_write 3 39542 _000286_hash NULL -+_000287_hash ioctl_private_iw_point 7 1273 _000287_hash NULL -+_000288_hash iov_iter_copy_from_user 4 31942 _000288_hash NULL -+_000289_hash iov_iter_copy_from_user_atomic 4 56368 _000289_hash NULL -+_000290_hash iowarrior_write 3 18604 _000290_hash NULL -+_000291_hash ipc_alloc 1 1192 _000291_hash NULL -+_000292_hash ipc_rcu_alloc 1 21208 _000292_hash NULL -+_000293_hash ip_options_get_from_user 4 64958 _000293_hash NULL -+_000294_hash ipv6_renew_option 3 38813 _000294_hash NULL -+_000295_hash ip_vs_conn_fill_param_sync 6 29771 _001898_hash NULL nohasharray -+_000296_hash ip_vs_create_timeout_table 2 64478 _000296_hash NULL -+_000297_hash ipw_queue_tx_init 3 49161 _000297_hash NULL -+_000298_hash irda_setsockopt 5 19824 _000298_hash NULL -+_000299_hash irias_new_octseq_value 2 13596 _003821_hash NULL nohasharray -+_000300_hash irnet_ctrl_write 3 24139 _000300_hash NULL -+_000301_hash isdn_add_channels 3 40905 _000301_hash NULL -+_000302_hash isdn_ppp_fill_rq 2 41428 _000302_hash NULL -+_000303_hash isdn_ppp_write 4 29109 _000303_hash NULL -+_000304_hash isdn_read 3 50021 _000304_hash NULL -+_000305_hash isdn_v110_open 3 2418 _000305_hash NULL -+_000306_hash isdn_writebuf_stub 4 52383 _000306_hash NULL -+_000307_hash islpci_mgt_transmit 5 34133 _000307_hash NULL -+_000308_hash iso_callback 3 43208 _000308_hash NULL -+_000309_hash iso_packets_buffer_init 3-4 29061 _000309_hash NULL -+_000310_hash it821x_firmware_command 3 8628 _000310_hash NULL -+_000311_hash iwch_alloc_fastreg_pbl 2 40153 _000311_hash NULL -+_000312_hash iwl_calib_set 3 34400 _003754_hash NULL nohasharray -+_000313_hash jbd2_journal_init_revoke_table 1 36336 _000313_hash NULL -+_000314_hash jffs2_alloc_full_dirent 1 60179 _001158_hash NULL nohasharray -+_000315_hash journal_init_revoke_table 1 56331 _000315_hash NULL -+_000316_hash kcalloc 1-2 27770 _000316_hash NULL -+_000318_hash keyctl_instantiate_key_common 4 47889 _000318_hash NULL -+_000319_hash keyctl_update_key 3 26061 _000319_hash NULL -+_000320_hash __kfifo_alloc 2-3 22173 _000320_hash NULL -+_000322_hash kfifo_copy_from_user 3 5091 _000322_hash NULL -+_000323_hash kmalloc_node 1 50163 _003818_hash NULL nohasharray -+_000324_hash kmalloc_parameter 1 65279 _000324_hash NULL -+_000325_hash kmem_alloc 1 31920 _000325_hash NULL -+_000326_hash kobj_map 2-3 9566 _000326_hash NULL -+_000328_hash kone_receive 4 4690 _000328_hash NULL -+_000329_hash kone_send 4 63435 _000329_hash NULL -+_000330_hash krealloc 2 14908 _000330_hash NULL -+_000331_hash kvmalloc 1 32646 _000331_hash NULL -+_000332_hash kvm_read_guest_atomic 4 10765 _000332_hash NULL -+_000333_hash kvm_read_guest_cached 4 39666 _000333_hash NULL -+_000334_hash kvm_read_guest_page 5 18074 _000334_hash NULL -+_000335_hash kzalloc 1 54740 _000335_hash NULL -+_000336_hash l2cap_sock_setsockopt 5 50207 _000336_hash NULL -+_000337_hash l2cap_sock_setsockopt_old 4 29346 _000337_hash NULL -+_000338_hash lane2_associate_req 4 45398 _000338_hash NULL -+_000339_hash lbs_debugfs_write 3 48413 _000339_hash NULL -+_000340_hash lcd_write 3 14857 _000340_hash &_000015_hash -+_000341_hash ldm_frag_add 2 5611 _000341_hash NULL -+_000342_hash __lgread 4 31668 _000342_hash NULL -+_000343_hash libipw_alloc_txb 1-3-2 27579 _000343_hash NULL -+_000344_hash link_send_sections_long 4 46556 _000344_hash NULL -+_000345_hash listxattr 3 12769 _000345_hash NULL -+_000346_hash load_msg 2 95 _000346_hash NULL -+_000347_hash lpfc_debugfs_dif_err_write 3 17424 _000347_hash NULL -+_000348_hash lp_write 3 9511 _000348_hash NULL -+_000349_hash mb_cache_create 2 17307 _000349_hash NULL -+_000350_hash mce_write 3 26201 _000350_hash NULL -+_000351_hash mcs7830_get_reg 3 33308 _000351_hash NULL -+_000352_hash mcs7830_set_reg 3 31413 _000352_hash NULL -+_000353_hash memcpy_fromiovec 3 55247 _000353_hash NULL -+_000354_hash memcpy_fromiovecend 3-4 2707 _000354_hash NULL -+_000356_hash mempool_resize 2 47983 _002039_hash NULL nohasharray -+_000357_hash mem_rw 3 22085 _000357_hash NULL -+_000358_hash mgmt_control 3 7349 _000358_hash NULL -+_000359_hash mgmt_pending_add 5 46976 _000359_hash NULL -+_000360_hash mlx4_ib_alloc_fast_reg_page_list 2 46119 _000360_hash NULL -+_000361_hash mmc_alloc_sg 1 21504 _000361_hash NULL -+_000362_hash mmc_send_bus_test 4 18285 _000362_hash NULL -+_000363_hash mmc_send_cxd_data 5 38655 _000363_hash NULL -+_000364_hash module_alloc_update_bounds 1 47205 _000364_hash NULL -+_000365_hash move_addr_to_kernel 2 32673 _000365_hash NULL -+_000366_hash mpi_alloc_limb_space 1 23190 _000366_hash NULL -+_000367_hash mpi_resize 2 44674 _000367_hash NULL -+_000368_hash mptctl_getiocinfo 2 28545 _000368_hash NULL -+_000369_hash mtdchar_readoob 4 31200 _000369_hash NULL -+_000370_hash mtdchar_write 3 56831 _002122_hash NULL nohasharray -+_000371_hash mtdchar_writeoob 4 3393 _000371_hash NULL -+_000372_hash mtd_device_parse_register 5 5024 _000372_hash NULL -+_000373_hash mtf_test_write 3 18844 _000373_hash NULL -+_000374_hash mthca_alloc_icm_table 3-4 38268 _002459_hash NULL nohasharray -+_000376_hash mthca_alloc_init 2 21754 _000376_hash NULL -+_000377_hash mthca_array_init 2 39987 _000377_hash NULL -+_000378_hash mthca_buf_alloc 2 35861 _000378_hash NULL -+_000379_hash mtrr_write 3 59622 _000379_hash NULL -+_000380_hash musb_test_mode_write 3 33518 _000380_hash NULL -+_000381_hash mwifiex_get_common_rates 3 17131 _000381_hash NULL -+_000382_hash __mxt_write_reg 3 57326 _000382_hash NULL -+_000383_hash nand_bch_init 2-3 16280 _001439_hash NULL nohasharray -+_000385_hash ncp_file_write 3 3813 _000385_hash NULL -+_000386_hash ncp__vol2io 5 4804 _000386_hash NULL -+_000387_hash nes_alloc_fast_reg_page_list 2 33523 _000387_hash NULL -+_000388_hash nfc_targets_found 3 29886 _000388_hash NULL -+_000389_hash __nf_ct_ext_add_length 3 12364 _000389_hash NULL -+_000390_hash nfs4_acl_new 1 49806 _000390_hash NULL -+_000391_hash nfs4_write_cached_acl 4 15070 _000391_hash NULL -+_000392_hash nfsd_symlink 6 63442 _000392_hash NULL -+_000393_hash nfs_idmap_get_desc 2-4 42990 _000393_hash NULL -+_000395_hash nfs_readdir_make_qstr 3 12509 _000395_hash NULL -+_000396_hash note_last_dentry 3 12285 _000396_hash NULL -+_000397_hash ntfs_copy_from_user 3-5 15072 _000397_hash NULL -+_000399_hash __ntfs_copy_from_user_iovec_inatomic 3-4 38153 _000399_hash NULL -+_000401_hash ntfs_ucstonls 3-5 23097 _000401_hash NULL -+_000403_hash nvme_alloc_iod 1 56027 _000403_hash NULL -+_000404_hash nvram_write 3 3894 _000404_hash NULL -+_000405_hash o2hb_debug_create 4 18744 _000405_hash NULL -+_000406_hash o2net_send_message_vec 4 879 _002013_hash NULL nohasharray -+_000407_hash ocfs2_control_cfu 2 37750 _000407_hash NULL -+_000408_hash oom_adjust_write 3 41116 _000408_hash NULL -+_000409_hash oom_score_adj_write 3 42594 _000409_hash NULL -+_000410_hash oprofilefs_ulong_from_user 3 57251 _000410_hash NULL -+_000411_hash opticon_write 4 60775 _000411_hash NULL -+_000412_hash p9_check_zc_errors 4 15534 _000412_hash NULL -+_000413_hash packet_buffer_init 2 1607 _000413_hash NULL -+_000414_hash packet_setsockopt 5 17662 _000414_hash NULL -+_000415_hash parse_command 2 37079 _000415_hash NULL -+_000416_hash pcbit_writecmd 2 12332 _000416_hash NULL -+_000417_hash pcmcia_replace_cis 3 57066 _000417_hash NULL -+_000418_hash pgctrl_write 3 50453 _000418_hash NULL -+_000419_hash pg_write 3 40766 _000419_hash NULL -+_000420_hash pidlist_allocate 1 64404 _000420_hash NULL -+_000421_hash pipe_iov_copy_from_user 3 23102 _000421_hash NULL -+_000422_hash pipe_iov_copy_to_user 3 3447 _000422_hash NULL -+_000423_hash pkt_add 3 39897 _000423_hash NULL -+_000424_hash pktgen_if_write 3 55628 _000424_hash NULL -+_000425_hash platform_device_add_data 3 310 _000425_hash NULL -+_000426_hash platform_device_add_resources 3 13289 _000426_hash NULL -+_000427_hash pmcraid_copy_sglist 3 38431 _000427_hash NULL -+_000428_hash pm_qos_power_write 3 52513 _000428_hash NULL -+_000429_hash pnpbios_proc_write 3 19758 _000429_hash NULL -+_000430_hash pool_allocate 3 42012 _000430_hash NULL -+_000431_hash posix_acl_alloc 1 48063 _000431_hash NULL -+_000432_hash ppp_cp_parse_cr 4 5214 _000432_hash NULL -+_000433_hash ppp_write 3 34034 _000433_hash NULL -+_000434_hash pp_read 3 33210 _000434_hash NULL -+_000435_hash pp_write 3 39554 _000435_hash NULL -+_000436_hash printer_req_alloc 2 62687 _000436_hash NULL -+_000437_hash printer_write 3 60276 _000437_hash NULL -+_000438_hash prism2_info_scanresults 3 59729 _000438_hash NULL -+_000439_hash prism2_set_genericelement 3 29277 _000439_hash NULL -+_000440_hash __probe_kernel_read 3 61119 _000440_hash NULL -+_000441_hash __probe_kernel_write 3 29842 _000441_hash NULL -+_000442_hash proc_coredump_filter_write 3 25625 _000442_hash NULL -+_000443_hash _proc_do_string 2 6376 _000443_hash NULL -+_000444_hash process_vm_rw_pages 5-6 15954 _000444_hash NULL -+_000446_hash proc_loginuid_write 3 63648 _000446_hash NULL -+_000447_hash proc_pid_attr_write 3 63845 _000447_hash NULL -+_000448_hash proc_scsi_devinfo_write 3 32064 _000448_hash NULL -+_000449_hash proc_scsi_write 3 29142 _000449_hash NULL -+_000450_hash proc_scsi_write_proc 3 267 _000450_hash NULL -+_000451_hash pskb_expand_head 2-3 42881 _000451_hash NULL -+_000453_hash pstore_mkfile 5 50830 _000453_hash NULL -+_000454_hash pti_char_write 3 60960 _000454_hash NULL -+_000455_hash ptrace_writedata 4 45021 _000455_hash NULL -+_000456_hash pt_write 3 40159 _000456_hash NULL -+_000457_hash qdisc_class_hash_alloc 1 18262 _000457_hash NULL -+_000458_hash r3964_write 4 57662 _000458_hash NULL -+_000459_hash raw_seticmpfilter 3 6888 _000459_hash NULL -+_000460_hash raw_setsockopt 5 45800 _000460_hash NULL -+_000461_hash rawv6_seticmpfilter 5 12137 _000461_hash NULL -+_000462_hash ray_cs_essid_proc_write 3 17875 _000462_hash NULL -+_000463_hash rbd_add 3 16366 _000463_hash NULL -+_000464_hash rbd_snap_add 4 19678 _000464_hash NULL -+_000465_hash rdma_set_ib_paths 3 45592 _000465_hash NULL -+_000466_hash rds_page_copy_user 4 35691 _000466_hash NULL -+_000467_hash read 3 9397 _000467_hash NULL -+_000468_hash read_buf 2 20469 _000468_hash NULL -+_000469_hash read_cis_cache 4 29735 _000469_hash NULL -+_000470_hash realloc_buffer 2 25816 _000470_hash NULL -+_000471_hash receive_DataRequest 3 9904 _000471_hash NULL -+_000472_hash recent_mt_proc_write 3 8206 _000472_hash NULL -+_000473_hash regmap_access_read_file 3 37223 _000473_hash NULL -+_000474_hash regmap_bulk_write 4 59049 _000474_hash NULL -+_000475_hash regmap_map_read_file 3 37685 _000475_hash NULL -+_000476_hash regset_tls_set 4 18459 _000476_hash NULL -+_000477_hash reiserfs_add_entry 4 23062 _002792_hash NULL nohasharray -+_000478_hash remote_settings_file_write 3 22987 _000478_hash NULL -+_000479_hash request_key_auth_new 3 38092 _000479_hash NULL -+_000480_hash restore_i387_fxsave 2 17528 _000480_hash NULL -+_000481_hash revalidate 2 19043 _000481_hash NULL -+_000482_hash rfcomm_sock_setsockopt 5 18254 _000482_hash NULL -+_000483_hash rndis_add_response 2 58544 _000483_hash NULL -+_000484_hash rndis_set_oid 4 6547 _000484_hash NULL -+_000485_hash rngapi_reset 3 34366 _002137_hash NULL nohasharray -+_000486_hash roccat_common2_receive 4 50369 _000486_hash NULL -+_000487_hash roccat_common2_send 4 2422 _000487_hash NULL -+_000488_hash rpc_malloc 2 43573 _000488_hash NULL -+_000489_hash rt2x00debug_write_bbp 3 8212 _000489_hash NULL -+_000490_hash rt2x00debug_write_csr 3 64753 _000490_hash NULL -+_000491_hash rt2x00debug_write_eeprom 3 23091 _000491_hash NULL -+_000492_hash rt2x00debug_write_rf 3 38195 _000492_hash NULL -+_000493_hash rt2x00debug_write_rfcsr 3 41473 _000493_hash NULL -+_000494_hash rts51x_read_mem 4 26577 _002730_hash NULL nohasharray -+_000495_hash rts51x_read_status 4 11830 _000495_hash NULL -+_000496_hash rts51x_write_mem 4 17598 _000496_hash NULL -+_000497_hash rw_copy_check_uvector 3 45748 _003716_hash NULL nohasharray -+_000498_hash rxrpc_request_key 3 27235 _000498_hash NULL -+_000499_hash rxrpc_server_keyring 3 16431 _000499_hash NULL -+_000500_hash savemem 3 58129 _000500_hash NULL -+_000501_hash sb16_copy_from_user 10-7-6 55836 _000501_hash NULL -+_000504_hash sched_autogroup_write 3 10984 _000504_hash NULL -+_000505_hash scsi_mode_select 6 37330 _000505_hash NULL -+_000506_hash scsi_tgt_copy_sense 3 26933 _000506_hash NULL -+_000507_hash sctp_auth_create_key 1 51641 _000507_hash NULL -+_000508_hash sctp_getsockopt_delayed_ack 2 9232 _000508_hash NULL -+_000509_hash sctp_getsockopt_local_addrs 2 25178 _000509_hash NULL -+_000510_hash sctp_make_abort_user 3 29654 _000510_hash NULL -+_000511_hash sctp_setsockopt_active_key 3 43755 _000511_hash NULL -+_000512_hash sctp_setsockopt_adaptation_layer 3 26935 _003246_hash NULL nohasharray -+_000513_hash sctp_setsockopt_associnfo 3 51684 _000513_hash NULL -+_000514_hash sctp_setsockopt_auth_chunk 3 30843 _000514_hash NULL -+_000515_hash sctp_setsockopt_auth_key 3 3793 _000515_hash NULL -+_000516_hash sctp_setsockopt_autoclose 3 5775 _000516_hash NULL -+_000517_hash sctp_setsockopt_bindx 3 49870 _000517_hash NULL -+_000518_hash __sctp_setsockopt_connectx 3 46949 _000518_hash NULL -+_000519_hash sctp_setsockopt_context 3 31091 _000519_hash NULL -+_000520_hash sctp_setsockopt_default_send_param 3 49578 _000520_hash NULL -+_000521_hash sctp_setsockopt_delayed_ack 3 40129 _000521_hash NULL -+_000522_hash sctp_setsockopt_del_key 3 42304 _002709_hash NULL nohasharray -+_000523_hash sctp_setsockopt_events 3 18862 _000523_hash NULL -+_000524_hash sctp_setsockopt_hmac_ident 3 11687 _000524_hash NULL -+_000525_hash sctp_setsockopt_initmsg 3 1383 _000525_hash NULL -+_000526_hash sctp_setsockopt_maxburst 3 28041 _000526_hash NULL -+_000527_hash sctp_setsockopt_maxseg 3 11829 _000527_hash NULL -+_000528_hash sctp_setsockopt_peer_addr_params 3 734 _000528_hash NULL -+_000529_hash sctp_setsockopt_peer_primary_addr 3 13440 _000529_hash NULL -+_000530_hash sctp_setsockopt_rtoinfo 3 30941 _000530_hash NULL -+_000531_hash security_context_to_sid_core 2 29248 _000531_hash NULL -+_000532_hash sel_commit_bools_write 3 46077 _000532_hash NULL -+_000533_hash sel_write_avc_cache_threshold 3 2256 _000533_hash NULL -+_000534_hash sel_write_bool 3 46996 _000534_hash NULL -+_000535_hash sel_write_checkreqprot 3 60774 _000535_hash NULL -+_000536_hash sel_write_disable 3 10511 _000536_hash NULL -+_000537_hash sel_write_enforce 3 48998 _000537_hash NULL -+_000538_hash sel_write_load 3 63830 _000538_hash NULL -+_000539_hash send_bulk_static_data 3 61932 _000539_hash NULL -+_000540_hash set_aoe_iflist 2 42737 _000540_hash NULL -+_000541_hash setkey_unaligned 3 39474 _000541_hash NULL -+_000542_hash set_registers 3 53582 _000542_hash NULL -+_000543_hash setsockopt 5 54539 _000543_hash NULL -+_000544_hash setup_req 3 5848 _000544_hash NULL -+_000545_hash setxattr 4 37006 _000545_hash NULL -+_000546_hash sfq_alloc 1 2861 _000546_hash NULL -+_000547_hash sg_kmalloc 1 50240 _000547_hash NULL -+_000548_hash sgl_map_user_pages 2 30610 _000548_hash NULL -+_000549_hash shash_setkey_unaligned 3 8620 _000549_hash NULL -+_000550_hash shmem_xattr_alloc 2 61190 _000550_hash NULL -+_000551_hash sierra_setup_urb 5 46029 _000551_hash NULL -+_000552_hash simple_transaction_get 3 50633 _000552_hash NULL -+_000553_hash simple_write_to_buffer 2-5 3122 _000553_hash NULL -+_000555_hash sisusb_send_bulk_msg 3 17864 _000555_hash NULL -+_000556_hash skb_add_data 3 48363 _000556_hash NULL -+_000557_hash skb_do_copy_data_nocache 5 12465 _000557_hash NULL -+_000558_hash sl_alloc_bufs 2 50380 _000558_hash NULL -+_000559_hash sl_realloc_bufs 2 64086 _000559_hash NULL -+_000560_hash smk_set_cipso 3 20379 _000560_hash NULL -+_000561_hash smk_write_ambient 3 45691 _000561_hash NULL -+_000562_hash smk_write_direct 3 46363 _000562_hash NULL -+_000563_hash smk_write_doi 3 49621 _000563_hash NULL -+_000564_hash smk_write_logging 3 2618 _000564_hash NULL -+_000565_hash smk_write_mapped 3 13519 _000565_hash NULL -+_000566_hash smk_write_netlbladdr 3 42525 _000566_hash NULL -+_000567_hash smk_write_onlycap 3 14400 _000567_hash NULL -+_000568_hash smk_write_rules_list 3 18565 _000568_hash NULL -+_000569_hash snd_ctl_elem_user_tlv 3 11695 _000569_hash NULL -+_000570_hash snd_emu10k1_fx8010_read 5 9605 _000570_hash NULL -+_000571_hash snd_emu10k1_synth_copy_from_user 3-5 9061 _000571_hash NULL -+_000573_hash snd_gus_dram_poke 4 18525 _000573_hash NULL -+_000574_hash snd_hdsp_playback_copy 5 20676 _000574_hash NULL -+_000575_hash snd_info_entry_write 3 63474 _000575_hash NULL -+_000576_hash snd_korg1212_copy_from 6 36169 _000576_hash NULL -+_000577_hash snd_mem_proc_write 3 9786 _000577_hash NULL -+_000578_hash snd_midi_channel_init_set 1 30092 _000578_hash NULL -+_000579_hash snd_midi_event_new 1 9893 _000764_hash NULL nohasharray -+_000580_hash snd_opl4_mem_proc_write 5 9670 _000580_hash NULL -+_000581_hash snd_pcm_aio_read 3 13900 _000581_hash NULL -+_000582_hash snd_pcm_aio_write 3 28738 _000582_hash NULL -+_000583_hash snd_pcm_oss_write1 3 10872 _000583_hash NULL -+_000584_hash snd_pcm_oss_write2 3 27332 _000584_hash NULL -+_000585_hash snd_rawmidi_kernel_write1 4 56847 _000585_hash NULL -+_000586_hash snd_rme9652_playback_copy 5 20970 _000586_hash NULL -+_000587_hash snd_sb_csp_load_user 3 45190 _000587_hash NULL -+_000588_hash snd_usb_ctl_msg 8 8436 _000588_hash NULL -+_000589_hash sock_bindtodevice 3 50942 _000589_hash NULL -+_000590_hash sock_kmalloc 2 62205 _000590_hash NULL -+_000591_hash spidev_ioctl 2 12846 _000591_hash NULL -+_000592_hash spidev_write 3 44510 _000592_hash NULL -+_000593_hash squashfs_read_table 3 16945 _000593_hash NULL -+_000594_hash srpt_alloc_ioctx 2-3 51042 _000594_hash NULL -+_000596_hash srpt_alloc_ioctx_ring 2-4-3 49330 _000596_hash NULL -+_000597_hash st5481_setup_isocpipes 6-4 61340 _000597_hash NULL -+_000598_hash sta_agg_status_write 3 45164 _000598_hash NULL -+_000599_hash svc_setsockopt 5 36876 _000599_hash NULL -+_000600_hash sys_add_key 4 61288 _000600_hash NULL -+_000601_hash sys_modify_ldt 3 18824 _000601_hash NULL -+_000602_hash sys_semtimedop 3 4486 _000602_hash NULL -+_000603_hash sys_setdomainname 2 4373 _000603_hash NULL -+_000604_hash sys_sethostname 2 42962 _000604_hash NULL -+_000605_hash tomoyo_write_self 3 45161 _000605_hash NULL -+_000606_hash tower_write 3 8580 _000606_hash NULL -+_000607_hash tpm_write 3 50798 _000607_hash NULL -+_000608_hash trusted_instantiate 3 4710 _000608_hash NULL -+_000609_hash trusted_update 3 12664 _000609_hash NULL -+_000610_hash tty_buffer_alloc 2 45437 _000610_hash NULL -+_000611_hash __tun_chr_ioctl 4 22300 _000611_hash NULL -+_000612_hash ubi_more_leb_change_data 4 63534 _000612_hash NULL -+_000613_hash ubi_more_update_data 4 39189 _000613_hash NULL -+_000614_hash ubi_resize_volume 2 50172 _000614_hash NULL -+_000615_hash udf_alloc_i_data 2 35786 _000615_hash NULL -+_000616_hash uea_idma_write 3 64139 _000616_hash NULL -+_000617_hash uea_request 4 47613 _000617_hash NULL -+_000618_hash uea_send_modem_cmd 3 3888 _000618_hash NULL -+_000619_hash uio_write 3 43202 _000619_hash NULL -+_000620_hash um_idi_write 3 18293 _000620_hash NULL -+_000621_hash us122l_ctl_msg 8 13330 _000621_hash NULL -+_000622_hash usb_alloc_urb 1 43436 _000622_hash NULL -+_000623_hash usblp_new_writeurb 2 22894 _000623_hash NULL -+_000624_hash usblp_write 3 23178 _000624_hash NULL -+_000625_hash usbtest_alloc_urb 3-5 34446 _000625_hash NULL -+_000627_hash usbtmc_write 3 64340 _000627_hash NULL -+_000628_hash user_instantiate 3 26131 _000628_hash NULL -+_000629_hash user_update 3 41332 _000629_hash NULL -+_000630_hash uwb_rc_cmd_done 4 35892 _000630_hash NULL -+_000631_hash uwb_rc_neh_grok_event 3 55799 _000631_hash NULL -+_000632_hash v9fs_alloc_rdir_buf 2 42150 _000632_hash NULL -+_000633_hash vc_do_resize 3-4 48842 _000633_hash NULL -+_000635_hash vcs_write 3 3910 _000635_hash NULL -+_000636_hash vga_arb_write 3 36112 _000636_hash NULL -+_000637_hash vga_switcheroo_debugfs_write 3 33984 _000637_hash NULL -+_000638_hash vhci_get_user 3 45039 _000638_hash NULL -+_000639_hash video_proc_write 3 6724 _000639_hash NULL -+_000640_hash vlsi_alloc_ring 3-4 57003 _000640_hash NULL -+_000642_hash __vmalloc 1 61168 _000642_hash NULL -+_000643_hash vmalloc_32 1 1135 _000643_hash NULL -+_000644_hash vmalloc_32_user 1 37519 _000644_hash NULL -+_000645_hash vmalloc_exec 1 36132 _000645_hash NULL -+_000646_hash vmalloc_node 1 58700 _000646_hash NULL -+_000647_hash __vmalloc_node_flags 1 30352 _000647_hash NULL -+_000648_hash vmalloc_user 1 32308 _000648_hash NULL -+_000649_hash vol_cdev_direct_write 3 20751 _000649_hash NULL -+_000650_hash vp_request_msix_vectors 2 28849 _000650_hash NULL -+_000651_hash vring_add_indirect 3-4 20737 _000651_hash NULL -+_000653_hash vring_new_virtqueue 1 9671 _000653_hash NULL -+_000654_hash vxge_os_dma_malloc 2 46184 _000654_hash NULL -+_000655_hash vxge_os_dma_malloc_async 3 56348 _000655_hash NULL -+_000656_hash wdm_write 3 53735 _000656_hash NULL -+_000657_hash wiimote_hid_send 3 48528 _000657_hash NULL -+_000658_hash wlc_phy_loadsampletable_nphy 3 64367 _000658_hash NULL -+_000659_hash write 3 62671 _000659_hash NULL -+_000660_hash write_flush 3 50803 _000660_hash NULL -+_000661_hash write_rio 3 54837 _000661_hash NULL -+_000662_hash x25_asy_change_mtu 2 26928 _000662_hash NULL -+_000663_hash xdi_copy_from_user 4 8395 _000663_hash NULL -+_000664_hash xfrm_dst_alloc_copy 3 3034 _000664_hash NULL -+_000665_hash xfrm_user_policy 4 62573 _000665_hash NULL -+_000666_hash xfs_attrmulti_attr_set 4 59346 _000666_hash NULL -+_000667_hash xfs_handle_to_dentry 3 12135 _000667_hash NULL -+_000668_hash xip_file_read 3 58592 _000668_hash NULL -+_000669_hash __xip_file_write 3-4 2733 _000669_hash NULL -+_000671_hash xprt_rdma_allocate 2 31372 _000671_hash NULL -+_000672_hash zd_usb_iowrite16v_async 3 23984 _000672_hash NULL -+_000673_hash zd_usb_read_fw 4 22049 _000673_hash NULL -+_000674_hash zerocopy_sg_from_iovec 3 11828 _000674_hash NULL -+_000675_hash __a2mp_build 3 60987 _000675_hash NULL -+_000677_hash acpi_ex_allocate_name_string 2-1 7685 _001169_hash NULL nohasharray -+_000678_hash acpi_os_allocate_zeroed 1 37422 _000678_hash NULL -+_000679_hash acpi_ut_initialize_buffer 2 47143 _002830_hash NULL nohasharray -+_000680_hash ad7879_spi_xfer 3 36311 _000680_hash NULL -+_000681_hash add_new_gdb 3 27643 _000681_hash NULL -+_000682_hash add_numbered_child 5 14273 _000682_hash NULL -+_000683_hash add_res_range 4 21310 _000683_hash NULL -+_000684_hash addtgt 3 54703 _000684_hash NULL -+_000685_hash add_uuid 4 49831 _000685_hash NULL -+_000686_hash afs_cell_alloc 2 24052 _000686_hash NULL -+_000687_hash aggr_recv_addba_req_evt 4 38037 _000687_hash NULL -+_000688_hash agp_create_memory 1 1075 _000688_hash NULL -+_000689_hash agp_create_user_memory 1 62955 _000689_hash NULL -+_000690_hash alg_setsockopt 5 20985 _000690_hash NULL -+_000691_hash alloc_async 1 14208 _000691_hash NULL -+_000692_hash ___alloc_bootmem_nopanic 1 53626 _000692_hash NULL -+_000693_hash alloc_buf 1 34532 _000693_hash NULL -+_000694_hash alloc_chunk 1 49575 _000694_hash NULL -+_000695_hash alloc_context 1 41283 _000695_hash NULL -+_000696_hash alloc_ctrl_packet 1 44667 _000696_hash NULL -+_000697_hash alloc_data_packet 1 46698 _000697_hash NULL -+_000698_hash alloc_dca_provider 2 59670 _000698_hash NULL -+_000699_hash __alloc_dev_table 2 54343 _000699_hash NULL -+_000700_hash alloc_ep 1 17269 _000700_hash NULL -+_000701_hash __alloc_extent_buffer 3 15093 _000701_hash NULL -+_000702_hash alloc_group_attrs 2 9194 _000727_hash NULL nohasharray -+_000703_hash alloc_large_system_hash 2 22391 _000703_hash NULL -+_000704_hash alloc_netdev_mqs 1 30030 _000704_hash NULL -+_000705_hash __alloc_objio_seg 1 7203 _000705_hash NULL -+_000706_hash alloc_ring 2-4 15345 _000706_hash NULL -+_000707_hash alloc_ring 2-4 39151 _000707_hash NULL -+_000710_hash alloc_session 1-2 64171 _000710_hash NULL -+_000714_hash alloc_skb 1 55439 _000714_hash NULL -+_000715_hash alloc_skb_fclone 1 3467 _000715_hash NULL -+_000716_hash alloc_smp_req 1 51337 _000716_hash NULL -+_000717_hash alloc_smp_resp 1 3566 _000717_hash NULL -+_000718_hash alloc_ts_config 1 45775 _000718_hash NULL -+_000719_hash alloc_upcall 2 62186 _000719_hash NULL -+_000720_hash altera_drscan 2 48698 _000720_hash NULL -+_000721_hash altera_irscan 2 62396 _000721_hash NULL -+_000722_hash altera_set_dr_post 2 54291 _000722_hash NULL -+_000723_hash altera_set_dr_pre 2 64862 _000723_hash NULL -+_000724_hash altera_set_ir_post 2 20948 _000724_hash NULL -+_000725_hash altera_set_ir_pre 2 54103 _000725_hash NULL -+_000726_hash altera_swap_dr 2 50090 _000726_hash NULL -+_000727_hash altera_swap_ir 2 9194 _000727_hash &_000702_hash -+_000728_hash amd_create_gatt_pages 1 20537 _000728_hash NULL -+_000729_hash aoechr_write 3 62883 _003674_hash NULL nohasharray -+_000730_hash applesmc_create_nodes 2 49392 _000730_hash NULL -+_000731_hash array_zalloc 1-2 7519 _000731_hash NULL -+_000733_hash arvo_sysfs_read 6 31617 _000733_hash NULL -+_000734_hash arvo_sysfs_write 6 3311 _000734_hash NULL -+_000735_hash asd_store_update_bios 4 10165 _000735_hash NULL -+_000736_hash ata_host_alloc 2 46094 _000736_hash NULL -+_000737_hash atalk_sendmsg 4 21677 _000737_hash NULL -+_000738_hash ath6kl_cfg80211_connect_event 7-9-8 13443 _000738_hash NULL -+_000739_hash ath6kl_mgmt_tx 9 21153 _000739_hash NULL -+_000740_hash ath6kl_wmi_proc_events_vif 5 42549 _003190_hash NULL nohasharray -+_000741_hash ath6kl_wmi_roam_tbl_event_rx 3 43440 _000741_hash NULL -+_000742_hash ath6kl_wmi_send_mgmt_cmd 7 17347 _000742_hash NULL -+_000743_hash ath_descdma_setup 5 12257 _000743_hash NULL -+_000744_hash ath_rx_edma_init 2 65483 _000744_hash NULL -+_000745_hash ati_create_gatt_pages 1 4722 _003275_hash NULL nohasharray -+_000746_hash audit_expand 2 2098 _000746_hash NULL -+_000747_hash audit_init_entry 1 38644 _000747_hash NULL -+_000748_hash ax25_sendmsg 4 62770 _000748_hash NULL -+_000749_hash b1_alloc_card 1 36155 _000749_hash NULL -+_000750_hash b43_nphy_load_samples 3 36481 _000750_hash NULL -+_000751_hash batadv_orig_hash_add_if 2 10033 _000751_hash NULL -+_000752_hash batadv_orig_hash_del_if 2 48972 _000752_hash NULL -+_000753_hash batadv_tt_append_diff 4 20588 _000753_hash NULL -+_000754_hash batadv_tt_commit_changes 4 2008 _000754_hash NULL -+_000755_hash batadv_tt_prepare_packet_buff 4 1280 _000755_hash NULL -+_000756_hash bio_copy_user_iov 4 37660 _000756_hash NULL -+_000757_hash __bio_map_kern 3 47379 _000757_hash NULL -+_000758_hash bitmap_resize 2 33054 _000758_hash NULL -+_000759_hash blk_check_plugged 3 50736 _000759_hash NULL -+_000760_hash blk_register_region 1-2 51424 _000760_hash NULL -+_000762_hash bm_entry_write 3 28338 _000762_hash NULL -+_000763_hash bm_realloc_pages 2 9431 _000763_hash NULL -+_000764_hash bm_register_write 3 9893 _000764_hash &_000579_hash -+_000765_hash bm_status_write 3 12964 _000765_hash NULL -+_000766_hash br_mdb_rehash 2 42643 _000766_hash NULL -+_000767_hash btmrvl_sdio_host_to_card 3 12152 _000767_hash NULL -+_000768_hash btrfs_copy_from_user 1-3 43806 _000768_hash NULL -+_000770_hash btrfs_insert_delayed_dir_index 4 63720 _000770_hash NULL -+_000771_hash __btrfs_map_block 3 49839 _000771_hash NULL -+_000772_hash c4iw_init_resource 2-3 30393 _000772_hash NULL -+_000774_hash cache_downcall 3 13666 _000774_hash NULL -+_000775_hash cache_slow_downcall 2 8570 _000775_hash NULL -+_000776_hash caif_seqpkt_sendmsg 4 22961 _000776_hash NULL -+_000777_hash caif_stream_sendmsg 4 9110 _000777_hash NULL -+_000778_hash carl9170_cmd_buf 3 950 _000778_hash NULL -+_000779_hash cdev_add 2-3 38176 _000779_hash NULL -+_000781_hash cdrom_read_cdda 4 50478 _000781_hash NULL -+_000782_hash ceph_dns_resolve_name 2 62488 _000782_hash NULL -+_000783_hash ceph_msgpool_get 2 54258 _000783_hash NULL -+_000784_hash cfg80211_connect_result 4-6 56515 _000784_hash NULL -+_000786_hash cfg80211_disconnected 4 57 _000786_hash NULL -+_000787_hash cfg80211_inform_bss 8 19332 _000787_hash NULL -+_000788_hash cfg80211_inform_bss_frame 4 41078 _000788_hash NULL -+_000789_hash cfg80211_mlme_register_mgmt 5 19852 _000789_hash NULL -+_000790_hash cfg80211_roamed_bss 4-6 50198 _000790_hash NULL -+_000792_hash cgroup_file_write 3 52417 _000792_hash NULL -+_000793_hash cifs_readdata_alloc 1 26360 _000793_hash NULL -+_000794_hash cifs_readv_from_socket 3 19109 _000794_hash NULL -+_000795_hash cifs_writedata_alloc 1 32880 _003097_hash NULL nohasharray -+_000796_hash cnic_alloc_dma 3 34641 _000796_hash NULL -+_000797_hash cnic_init_id_tbl 2 41354 _000797_hash NULL -+_000798_hash configfs_write_file 3 61621 _000798_hash NULL -+_000799_hash construct_key 3 11329 _000799_hash NULL -+_000800_hash context_alloc 3 24645 _000800_hash NULL -+_000801_hash copy_to_user 3 57835 _000801_hash NULL -+_000802_hash cp210x_get_config 4 56229 _000802_hash NULL -+_000803_hash create_attr_set 1 22861 _000803_hash NULL -+_000804_hash create_bounce_buffer 3 39155 _000804_hash NULL -+_000805_hash create_gpadl_header 2 19064 _000805_hash NULL -+_000806_hash _create_sg_bios 4 31244 _000806_hash NULL -+_000807_hash cryptd_alloc_instance 2-3 18048 _000807_hash NULL -+_000809_hash crypto_ahash_setkey 3 55134 _000809_hash NULL -+_000810_hash crypto_alloc_instance2 3 25277 _000810_hash NULL -+_000811_hash crypto_shash_setkey 3 60483 _000811_hash NULL -+_000812_hash cxgb_alloc_mem 1 24007 _000812_hash NULL -+_000813_hash cxgbi_device_portmap_create 3 25747 _000813_hash NULL -+_000814_hash cxgbi_device_register 1-2 36746 _000814_hash NULL -+_000816_hash __cxio_init_resource_fifo 3 23447 _000816_hash NULL -+_000817_hash dccp_sendmsg 4 56058 _000817_hash NULL -+_000818_hash ddp_make_gl 1 12179 _000818_hash NULL -+_000819_hash depth_write 3 3021 _000819_hash NULL -+_000820_hash dev_irnet_write 3 11398 _000820_hash NULL -+_000821_hash dev_set_alias 3 50084 _000821_hash NULL -+_000822_hash dev_write 3 7708 _000822_hash NULL -+_000823_hash dfs_global_file_write 3 6112 _000823_hash NULL -+_000824_hash dgram_sendmsg 4 45679 _000824_hash NULL -+_000825_hash disconnect 4 32521 _000825_hash NULL -+_000826_hash dma_attach 6-7 50831 _000826_hash NULL -+_000828_hash dma_declare_coherent_memory 4-2 14244 _000828_hash NULL -+_000829_hash dn_sendmsg 4 38390 _000829_hash NULL -+_000830_hash dn_setsockopt 5 314 _000830_hash NULL -+_000831_hash do_arpt_set_ctl 4 51053 _000831_hash NULL -+_000832_hash do_dccp_setsockopt 5 54377 _003195_hash NULL nohasharray -+_000833_hash do_ip6t_set_ctl 4 60040 _000833_hash NULL -+_000834_hash do_ipt_set_ctl 4 56238 _000834_hash NULL -+_000835_hash do_jffs2_setxattr 5 25910 _000835_hash NULL -+_000836_hash do_msgsnd 4 1387 _000836_hash NULL -+_000837_hash do_pselect 1 62061 _000837_hash NULL -+_000838_hash do_raw_setsockopt 5 55215 _000838_hash NULL -+_000839_hash do_readv_writev 4 51849 _000839_hash NULL -+_000840_hash do_sync 1 9604 _000840_hash NULL -+_000841_hash dup_array 3 33551 _000841_hash NULL -+_000842_hash ecryptfs_decode_and_decrypt_filename 5 10379 _000842_hash NULL -+_000843_hash ecryptfs_encrypt_and_encode_filename 6 2109 _000843_hash NULL -+_000844_hash ecryptfs_send_message_locked 2 31801 _000844_hash NULL -+_000845_hash edac_device_alloc_ctl_info 1 5941 _000845_hash NULL -+_000846_hash edac_mc_alloc 4 3611 _000846_hash NULL -+_000847_hash edac_pci_alloc_ctl_info 1 63388 _000847_hash NULL -+_000848_hash efivar_create_sysfs_entry 2 19485 _000848_hash NULL -+_000849_hash enable_write 3 30456 _000849_hash NULL -+_000850_hash enclosure_register 3 57412 _000850_hash NULL -+_000851_hash enlarge_skb 2 44248 _002839_hash NULL nohasharray -+_000852_hash evdev_ioctl_handler 2 21705 _000852_hash NULL -+_000853_hash ext4_kvzalloc 1 47605 _000853_hash NULL -+_000854_hash extend_netdev_table 2 21453 _000854_hash NULL -+_000855_hash fcoe_ctlr_device_add 3 1793 _000855_hash NULL -+_000856_hash fd_do_readv 3 51297 _000856_hash NULL -+_000857_hash fd_do_writev 3 29329 _000857_hash NULL -+_000858_hash __feat_register_sp 6 64712 _000858_hash NULL -+_000859_hash __ffs_ep0_read_events 3 48868 _000859_hash NULL -+_000860_hash ffs_ep0_write 3 9438 _000860_hash NULL -+_000861_hash ffs_epfile_read 3 18775 _000861_hash NULL -+_000862_hash ffs_epfile_write 3 48014 _000862_hash NULL -+_000863_hash fib_info_hash_alloc 1 9075 _000863_hash NULL -+_000864_hash fillonedir 3 41746 _000864_hash NULL -+_000865_hash fs_devrw_entry 3 11924 _000865_hash NULL -+_000866_hash fs_path_prepare_for_add 2 61854 _000866_hash NULL -+_000867_hash fuse_fill_write_pages 4 53682 _000867_hash NULL -+_000868_hash fw_device_op_ioctl 2 11595 _000868_hash NULL -+_000869_hash fw_iso_buffer_init 3 54582 _000869_hash NULL -+_000870_hash fw_node_create 2 9559 _000870_hash NULL -+_000871_hash garmin_read_process 3 27509 _000871_hash NULL -+_000872_hash garp_request_join 4 7471 _000872_hash NULL -+_000873_hash generic_perform_write 3 54832 _000873_hash NULL -+_000874_hash gen_pool_add_virt 4 39913 _000874_hash NULL -+_000875_hash get_derived_key 4 61100 _000875_hash NULL -+_000876_hash get_new_cssid 2 51665 _000876_hash NULL -+_000877_hash getxattr 4 24398 _003758_hash NULL nohasharray -+_000878_hash gsm_control_reply 4 53333 _000878_hash NULL -+_000879_hash hcd_alloc_coherent 5 55862 _000879_hash NULL -+_000880_hash hci_sock_sendmsg 4 37420 _000880_hash NULL -+_000881_hash hidraw_ioctl 2 63658 _000881_hash NULL -+_000882_hash hidraw_write 3 31536 _000882_hash NULL -+_000883_hash hid_register_field 2-3 4874 _000883_hash NULL -+_000885_hash hid_report_raw_event 4 2762 _000885_hash NULL -+_000886_hash hpi_alloc_control_cache 1 35351 _000886_hash NULL -+_000887_hash hugetlbfs_read_actor 2-5-4 34547 _000887_hash NULL -+_000890_hash hvc_alloc 4 12579 _000890_hash NULL -+_000891_hash __hwahc_dev_set_key 5 46328 _000891_hash NULL -+_000892_hash i2400m_zrealloc_2x 3 54166 _001549_hash NULL nohasharray -+_000893_hash ib_alloc_device 1 26483 _000893_hash NULL -+_000894_hash ib_create_send_mad 5 1196 _000894_hash NULL -+_000895_hash ibmasm_new_command 2 25714 _000895_hash NULL -+_000896_hash ib_send_cm_drep 3 50186 _000896_hash NULL -+_000897_hash ib_send_cm_mra 4 60202 _003063_hash NULL nohasharray -+_000898_hash ib_send_cm_rtu 3 63138 _000898_hash NULL -+_000899_hash ide_core_cp_entry 3 22636 _000899_hash NULL -+_000900_hash ieee80211_if_write_smps 3 35550 _000900_hash NULL -+_000901_hash ieee80211_if_write_tkip_mic_test 3 58748 _000901_hash NULL -+_000902_hash ieee80211_if_write_tsf 3 36077 _000902_hash NULL -+_000903_hash ieee80211_if_write_uapsd_max_sp_len 3 14233 _000903_hash NULL -+_000904_hash ieee80211_if_write_uapsd_queues 3 51526 _000904_hash NULL -+_000905_hash ieee80211_key_alloc 3 19065 _000905_hash NULL -+_000906_hash ieee80211_send_probe_req 6-4 6924 _000906_hash NULL -+_000907_hash ieee80211_skb_resize 3 50211 _000907_hash NULL -+_000908_hash if_spi_host_to_card 4 62890 _000908_hash NULL -+_000909_hash if_writecmd 2 815 _000909_hash NULL -+_000910_hash init_bch 1-2 64130 _000910_hash NULL -+_000912_hash init_ipath 1 48187 _000912_hash NULL -+_000913_hash init_list_set 2-3 39188 _000913_hash NULL -+_000915_hash init_q 4 132 _000915_hash NULL -+_000916_hash init_state 2 60165 _000916_hash NULL -+_000917_hash init_tag_map 3 57515 _000917_hash NULL -+_000918_hash input_ff_create 2 21240 _000918_hash NULL -+_000919_hash input_mt_init_slots 2 31183 _000919_hash NULL -+_000920_hash interfaces 2 38859 _000920_hash NULL -+_000921_hash int_hardware_entry 3 36833 _000921_hash NULL -+_000922_hash int_hw_irq_en 3 46776 _000922_hash NULL -+_000923_hash int_tasklet_entry 3 52500 _000923_hash NULL -+_000924_hash ioat2_alloc_ring 2 11172 _000924_hash NULL -+_000925_hash ip_generic_getfrag 3-4 12187 _000925_hash NULL -+_000927_hash ip_options_get_alloc 1 7448 _000927_hash NULL -+_000928_hash ipr_alloc_ucode_buffer 1 40199 _000928_hash NULL -+_000929_hash ip_set_alloc 1 57953 _000929_hash NULL -+_000930_hash ip_setsockopt 5 33487 _000930_hash NULL -+_000931_hash ipv6_flowlabel_opt 3 58135 _001179_hash NULL nohasharray -+_000932_hash ipv6_renew_options 5 28867 _000932_hash NULL -+_000933_hash ipv6_setsockopt 5 29871 _000933_hash NULL -+_000934_hash ipxrtr_route_packet 4 54036 _000934_hash NULL -+_000935_hash irda_sendmsg 4 4388 _000935_hash NULL -+_000936_hash irda_sendmsg_dgram 4 38563 _000936_hash NULL -+_000937_hash irda_sendmsg_ultra 4 42047 _000937_hash NULL -+_000938_hash irias_add_octseq_attrib 4 29983 _000938_hash NULL -+_000939_hash irq_alloc_generic_chip 2 26650 _000939_hash NULL -+_000940_hash iscsi_alloc_session 3 49390 _000940_hash NULL -+_000941_hash iscsi_create_conn 2 50425 _000941_hash NULL -+_000942_hash iscsi_create_endpoint 1 15193 _000942_hash NULL -+_000943_hash iscsi_create_iface 5 38510 _000943_hash NULL -+_000944_hash iscsi_decode_text_input 4 58292 _000944_hash NULL -+_000945_hash iscsi_pool_init 2-4 54913 _000945_hash NULL -+_000947_hash iscsit_dump_data_payload 2 38683 _000947_hash NULL -+_000948_hash isdn_write 3 45863 _000948_hash NULL -+_000949_hash isku_receive 4 54130 _000949_hash NULL -+_000950_hash islpci_mgt_transaction 5 23610 _000950_hash NULL -+_000951_hash iso_alloc_urb 4-5 45206 _000951_hash NULL -+_000952_hash iso_sched_alloc 1 13377 _003325_hash NULL nohasharray -+_000953_hash iwl_trans_txq_alloc 3 36147 _000953_hash NULL -+_000954_hash ixgbe_alloc_q_vector 4-6 24439 _000954_hash NULL -+_000956_hash jbd2_journal_init_revoke 2 51088 _000956_hash NULL -+_000957_hash jffs2_write_dirent 5 37311 _000957_hash NULL -+_000958_hash journal_init_revoke 2 56933 _000958_hash NULL -+_000959_hash keyctl_instantiate_key 3 41855 _000959_hash NULL -+_000960_hash keyctl_instantiate_key_iov 3 16969 _000960_hash NULL -+_000961_hash __kfifo_from_user 3 20399 _000961_hash NULL -+_000962_hash kimage_crash_alloc 3 3233 _000962_hash NULL -+_000963_hash kimage_normal_alloc 3 31140 _000963_hash NULL -+_000964_hash kmem_realloc 2 37489 _000964_hash NULL -+_000965_hash kmem_zalloc 1 11510 _000965_hash NULL -+_000966_hash koneplus_sysfs_read 6 42792 _000966_hash NULL -+_000967_hash kvm_kvzalloc 1 52894 _000967_hash NULL -+_000968_hash kvm_read_guest_page_mmu 6 37611 _000968_hash NULL -+_000969_hash kvm_set_irq_routing 3 48704 _000969_hash NULL -+_000970_hash kvm_write_guest_cached 4 11106 _000970_hash NULL -+_000971_hash kvm_write_guest_page 5 63555 _002812_hash NULL nohasharray -+_000972_hash kzalloc_node 1 24352 _000972_hash NULL -+_000973_hash l2cap_skbuff_fromiovec 3-4 35003 _000973_hash NULL -+_000975_hash l2tp_ip_sendmsg 4 50411 _000975_hash NULL -+_000976_hash l2tp_session_create 1 25286 _000976_hash NULL -+_000977_hash lc_create 3 48662 _000977_hash NULL -+_000978_hash leaf_dealloc 3 29566 _000978_hash NULL -+_000979_hash linear_conf 2 23485 _003837_hash NULL nohasharray -+_000980_hash llc_ui_sendmsg 4 24987 _000980_hash NULL -+_000981_hash load_module 2 60056 _003010_hash NULL nohasharray -+_000982_hash lpfc_sli4_queue_alloc 3 62646 _000982_hash NULL -+_000983_hash mdiobus_alloc_size 1 52259 _000983_hash NULL -+_000984_hash mempool_create_node 1 3191 _000984_hash NULL -+_000985_hash mem_read 3 57631 _000985_hash NULL -+_000986_hash memstick_alloc_host 1 142 _000986_hash NULL -+_000987_hash mem_swapout_entry 3 32586 _000987_hash NULL -+_000988_hash mem_write 3 22232 _000988_hash NULL -+_000989_hash mesh_table_alloc 1 22305 _000989_hash NULL -+_000990_hash mfd_add_devices 4 16668 _000990_hash NULL -+_000991_hash mISDN_sock_sendmsg 4 41035 _000991_hash NULL -+_000992_hash mlx4_init_icm_table 4-5 2151 _000992_hash NULL -+_000994_hash mmc_alloc_host 1 48097 _000994_hash NULL -+_000995_hash mmc_test_alloc_mem 2-3 28102 _000995_hash NULL -+_000997_hash mon_bin_ioctl 3 2771 _000997_hash NULL -+_000998_hash mpi_alloc 1 18094 _000998_hash NULL -+_000999_hash mpihelp_mul_karatsuba_case 5-3 23918 _003061_hash NULL nohasharray -+_001000_hash __mptctl_ioctl 2 15875 _001000_hash NULL -+_001001_hash mtd_concat_create 2 14416 _001001_hash NULL -+_001002_hash mthca_alloc_cq_buf 3 46512 _001002_hash NULL -+_001003_hash mvumi_alloc_mem_resource 3 47750 _001003_hash NULL -+_001004_hash mwifiex_11n_create_rx_reorder_tbl 4 63806 _001004_hash NULL -+_001005_hash mwifiex_alloc_sdio_mpa_buffers 2-3 60961 _001005_hash NULL -+_001007_hash mwl8k_cmd_set_beacon 4 23110 _001007_hash NULL -+_001008_hash neigh_hash_alloc 1 17595 _001008_hash NULL -+_001009_hash __netdev_alloc_skb 2 18595 _001009_hash NULL -+_001010_hash __netlink_change_ngroups 2 46156 _001010_hash NULL -+_001011_hash netlink_sendmsg 4 33708 _001236_hash NULL nohasharray -+_001012_hash netxen_alloc_sds_rings 2 13417 _001012_hash NULL -+_001013_hash new_bind_ctl 2 35324 _001013_hash NULL -+_001014_hash new_dir 3 31919 _001014_hash NULL -+_001015_hash new_tape_buffer 2 32866 _001015_hash NULL -+_001016_hash nfc_llcp_build_tlv 3 19536 _001016_hash NULL -+_001017_hash nfc_llcp_send_i_frame 3 59130 _001017_hash NULL -+_001018_hash nf_ct_ext_create 3 51232 _001018_hash NULL -+_001019_hash nfs4_alloc_pages 1 48426 _001019_hash NULL -+_001020_hash nfs4_alloc_slots 1 2454 _003345_hash NULL nohasharray -+_001021_hash nfsctl_transaction_write 3 64800 _001021_hash NULL -+_001022_hash nfs_fscache_get_super_cookie 3 44355 _001850_hash NULL nohasharray -+_001023_hash nfs_idmap_request_key 3 30208 _001023_hash NULL -+_001024_hash nfs_pgarray_set 2 1085 _001024_hash NULL -+_001025_hash nl_pid_hash_zalloc 1 23314 _001025_hash NULL -+_001026_hash nr_sendmsg 4 53656 _001026_hash NULL -+_001027_hash nsm_create_handle 4 38060 _001027_hash NULL -+_001028_hash ntfs_copy_from_user_iovec 3-6 49829 _001028_hash NULL -+_001030_hash ntfs_file_buffered_write 4-6 41442 _001030_hash NULL -+_001032_hash __ntfs_malloc 1 34022 _001032_hash NULL -+_001033_hash nvme_alloc_queue 3 46865 _001033_hash NULL -+_001034_hash nvme_map_user_pages 3-4 41093 _001639_hash NULL nohasharray -+_001036_hash ocfs2_acl_from_xattr 2 21604 _001036_hash NULL -+_001037_hash ocfs2_control_message 3 19564 _001037_hash NULL -+_001038_hash _ore_get_io_state 3-5-4 2166 _001038_hash NULL -+_001041_hash orinoco_set_key 5-7 17878 _001041_hash NULL -+_001043_hash osdmap_set_max_osd 2 57630 _002267_hash NULL nohasharray -+_001044_hash _osd_realloc_seg 3 54352 _001044_hash NULL -+_001045_hash osst_execute 7-6 17607 _001045_hash NULL -+_001046_hash osst_write 3 31581 _001046_hash NULL -+_001047_hash otp_read 2-5-4 10594 _001047_hash NULL -+_001050_hash ovs_vport_alloc 1 33475 _001050_hash NULL -+_001051_hash p54_parse_rssical 3 64493 _001051_hash NULL -+_001052_hash p9_client_zc_rpc 7 14345 _001052_hash NULL -+_001053_hash packet_sendmsg_spkt 4 28885 _001053_hash NULL -+_001054_hash pair_device 4 61175 _003161_hash NULL nohasharray -+_001055_hash pccard_store_cis 6 18176 _001055_hash NULL -+_001056_hash pci_add_cap_save_buffer 3 3426 _001056_hash NULL -+_001057_hash pcnet32_realloc_rx_ring 3 36598 _001057_hash NULL -+_001058_hash pcnet32_realloc_tx_ring 3 38428 _001058_hash NULL -+_001059_hash pcpu_mem_zalloc 1 22948 _001059_hash NULL -+_001060_hash pep_sendmsg 4 62524 _001060_hash NULL -+_001061_hash pfkey_sendmsg 4 47394 _001061_hash NULL -+_001062_hash pidlist_resize 2 496 _001062_hash NULL -+_001063_hash pin_code_reply 4 46510 _001063_hash NULL -+_001064_hash ping_getfrag 3-4 8360 _001064_hash NULL -+_001066_hash pipe_set_size 2 5204 _001066_hash NULL -+_001067_hash pkt_bio_alloc 1 48284 _001067_hash NULL -+_001068_hash platform_create_bundle 4-6 12785 _001068_hash NULL -+_001070_hash pm8001_store_update_fw 4 55716 _001070_hash NULL -+_001071_hash pmcraid_alloc_sglist 1 9864 _001071_hash NULL -+_001072_hash pn533_dep_link_up 5 22154 _001072_hash NULL -+_001073_hash pn533_init_target_frame 3 65438 _001073_hash NULL -+_001074_hash pnp_alloc 1 24869 _001538_hash NULL nohasharray -+_001075_hash pn_sendmsg 4 12640 _001075_hash NULL -+_001076_hash pppoe_sendmsg 4 48039 _001076_hash NULL -+_001077_hash pppol2tp_sendmsg 4 56420 _001077_hash NULL -+_001078_hash prism2_info_hostscanresults 3 39657 _001078_hash NULL -+_001079_hash process_vm_rw 3-5 47533 _001079_hash NULL -+_001081_hash process_vm_rw_single_vec 1-2 26213 _001081_hash NULL -+_001083_hash proc_write 3 51003 _001083_hash NULL -+_001084_hash profile_load 3 58267 _001084_hash NULL -+_001085_hash profile_remove 3 8556 _001085_hash NULL -+_001086_hash profile_replace 3 14652 _001086_hash NULL -+_001087_hash pscsi_get_bio 1 56103 _001087_hash NULL -+_001088_hash __pskb_copy 2 9038 _001088_hash NULL -+_001089_hash __pskb_pull_tail 2 60287 _001089_hash NULL -+_001090_hash qla4xxx_alloc_work 2 44813 _001090_hash NULL -+_001091_hash qlcnic_alloc_msix_entries 2 46160 _001091_hash NULL -+_001092_hash qlcnic_alloc_sds_rings 2 26795 _001092_hash NULL -+_001093_hash queue_received_packet 5 9657 _001093_hash NULL -+_001094_hash raw_send_hdrinc 4 58803 _001094_hash NULL -+_001095_hash raw_sendmsg 4 23078 _003316_hash NULL nohasharray -+_001096_hash rawsock_sendmsg 4 60010 _001096_hash NULL -+_001097_hash rawv6_send_hdrinc 3 35425 _001097_hash NULL -+_001098_hash rawv6_setsockopt 5 56165 _001098_hash NULL -+_001099_hash rb_alloc 1 3102 _001099_hash NULL -+_001100_hash rbd_alloc_coll 1 33678 _001100_hash NULL -+_001101_hash rbd_create_rw_ops 1 55297 _001101_hash NULL -+_001102_hash rds_ib_inc_copy_to_user 3 55007 _001102_hash NULL -+_001103_hash rds_iw_inc_copy_to_user 3 29214 _001103_hash NULL -+_001104_hash rds_message_alloc 1 10517 _001104_hash NULL -+_001105_hash rds_message_copy_from_user 3 45510 _001105_hash NULL -+_001106_hash rds_message_inc_copy_to_user 3 26540 _001106_hash NULL -+_001107_hash regcache_rbtree_insert_to_block 5 58009 _001107_hash NULL -+_001108_hash _regmap_raw_write 4 42652 _001108_hash NULL -+_001109_hash regmap_register_patch 3 21681 _001109_hash NULL -+_001110_hash relay_alloc_page_array 1 52735 _001110_hash NULL -+_001111_hash remove_uuid 4 64505 _001111_hash NULL -+_001112_hash reshape_ring 2 29147 _001112_hash NULL -+_001113_hash RESIZE_IF_NEEDED 2 56286 _001113_hash NULL -+_001114_hash resize_info_buffer 2 62889 _001114_hash NULL -+_001115_hash resize_stripes 2 61650 _001115_hash NULL -+_001116_hash rfcomm_sock_sendmsg 4 37661 _003661_hash NULL nohasharray -+_001117_hash roccat_common2_send_with_status 4 50343 _001117_hash NULL -+_001118_hash rose_sendmsg 4 20249 _001118_hash NULL -+_001119_hash rsc_mgr_init 3 16299 _001119_hash NULL -+_001120_hash rxrpc_send_data 5 21553 _001120_hash NULL -+_001121_hash rxrpc_setsockopt 5 50286 _001121_hash NULL -+_001122_hash savu_sysfs_read 6 49473 _001122_hash NULL -+_001124_hash sco_send_frame 3 41815 _001124_hash NULL -+_001125_hash scsi_dispatch_cmd_entry 3 49848 _001125_hash NULL -+_001126_hash scsi_host_alloc 2 63041 _001126_hash NULL -+_001127_hash scsi_tgt_kspace_exec 8 9522 _001127_hash NULL -+_001128_hash sctp_sendmsg 4 61919 _001128_hash NULL -+_001129_hash sctp_setsockopt 5 44788 _001129_hash NULL -+_001130_hash sctp_setsockopt_connectx 3 6073 _001130_hash NULL -+_001131_hash sctp_setsockopt_connectx_old 3 22631 _001131_hash NULL -+_001132_hash sctp_tsnmap_grow 2 32784 _001132_hash NULL -+_001133_hash sctp_tsnmap_init 2 36446 _001133_hash NULL -+_001134_hash sctp_user_addto_chunk 2-3 62047 _001134_hash NULL -+_001136_hash security_context_to_sid 2 19839 _001136_hash NULL -+_001137_hash security_context_to_sid_default 2 3492 _003841_hash NULL nohasharray -+_001138_hash security_context_to_sid_force 2 20724 _001138_hash NULL -+_001139_hash self_check_write 5 50856 _001139_hash NULL -+_001140_hash selinux_transaction_write 3 59038 _001140_hash NULL -+_001141_hash sel_write_access 3 51704 _001141_hash NULL -+_001142_hash sel_write_create 3 11353 _001142_hash NULL -+_001143_hash sel_write_member 3 28800 _001143_hash NULL -+_001144_hash sel_write_relabel 3 55195 _001144_hash NULL -+_001145_hash sel_write_user 3 45060 _001145_hash NULL -+_001146_hash __seq_open_private 3 40715 _001146_hash NULL -+_001147_hash serverworks_create_gatt_pages 1 46582 _001147_hash NULL -+_001148_hash set_connectable 4 56458 _001148_hash NULL -+_001149_hash set_dev_class 4 39645 _001921_hash NULL nohasharray -+_001150_hash set_discoverable 4 48141 _001150_hash NULL -+_001151_hash set_fd_set 1 35249 _001151_hash NULL -+_001152_hash setkey 3 14987 _001152_hash NULL -+_001153_hash set_le 4 30581 _001153_hash NULL -+_001154_hash set_link_security 4 4502 _001154_hash NULL -+_001155_hash set_local_name 4 55757 _001155_hash NULL -+_001156_hash set_powered 4 12129 _001156_hash NULL -+_001157_hash set_ssp 4 62411 _001157_hash NULL -+_001158_hash sg_build_sgat 3 60179 _001158_hash &_000314_hash -+_001159_hash sg_read_oxfer 3 51724 _001159_hash NULL -+_001160_hash shmem_xattr_set 4 11843 _001160_hash NULL -+_001161_hash simple_alloc_urb 3 60420 _001161_hash NULL -+_001162_hash sisusb_send_bridge_packet 2 11649 _001162_hash NULL -+_001163_hash sisusb_send_packet 2 20891 _001163_hash NULL -+_001164_hash sisusb_write_mem_bulk 4 29678 _001164_hash NULL -+_001165_hash skb_add_data_nocache 4 4682 _001165_hash NULL -+_001166_hash skb_copy_datagram_from_iovec 2-5-4 52014 _001166_hash NULL -+_001169_hash skb_copy_expand 2-3 7685 _001169_hash &_000677_hash -+_001171_hash skb_copy_to_page_nocache 6 58624 _001171_hash NULL -+_001172_hash __skb_cow 2 39254 _001172_hash NULL -+_001173_hash skb_cow_data 2 11565 _001173_hash NULL -+_001174_hash skb_pad 2 17302 _001174_hash NULL -+_001175_hash skb_realloc_headroom 2 19516 _001175_hash NULL -+_001176_hash sk_chk_filter 2 42095 _001176_hash NULL -+_001177_hash skcipher_sendmsg 4 30290 _001177_hash NULL -+_001178_hash sl_change_mtu 2 7396 _001178_hash NULL -+_001179_hash slhc_init 1-2 58135 _001179_hash &_000931_hash -+_001181_hash sm501_create_subdev 3-4 48668 _001245_hash NULL nohasharray -+_001183_hash smk_user_access 3 24440 _001183_hash NULL -+_001184_hash smk_write_cipso2 3 1021 _001184_hash NULL -+_001185_hash smk_write_cipso 3 17989 _001185_hash NULL -+_001186_hash smk_write_load2 3 52155 _001186_hash NULL -+_001187_hash smk_write_load 3 26829 _001187_hash NULL -+_001188_hash smk_write_load_self2 3 591 _001188_hash NULL -+_001189_hash smk_write_load_self 3 7958 _001189_hash NULL -+_001190_hash snapshot_write 3 28351 _001190_hash NULL -+_001191_hash snd_ac97_pcm_assign 2 30218 _001191_hash NULL -+_001192_hash snd_card_create 4 64418 _001529_hash NULL nohasharray -+_001193_hash snd_emux_create_port 3 42533 _001193_hash NULL -+_001194_hash snd_gus_dram_write 4 38784 _001194_hash NULL -+_001195_hash snd_midi_channel_alloc_set 1 28153 _001195_hash NULL -+_001196_hash _snd_pcm_lib_alloc_vmalloc_buffer 2 17820 _001196_hash NULL -+_001197_hash snd_pcm_oss_sync1 2 45298 _001197_hash NULL -+_001198_hash snd_pcm_oss_write 3 38108 _001198_hash NULL -+_001199_hash snd_pcm_plugin_build 5 25505 _001199_hash NULL -+_001200_hash snd_rawmidi_kernel_write 3 25106 _001200_hash NULL -+_001201_hash snd_rawmidi_write 3 28008 _001201_hash NULL -+_001202_hash snd_rme32_playback_copy 5 43732 _001202_hash NULL -+_001203_hash snd_rme96_playback_copy 5 13111 _001203_hash NULL -+_001204_hash snd_seq_device_new 4 31753 _001204_hash NULL -+_001205_hash snd_seq_oss_readq_new 2 14283 _001205_hash NULL -+_001206_hash snd_vx_create 4 40948 _001206_hash NULL -+_001207_hash sock_setsockopt 5 50088 _001207_hash NULL -+_001208_hash sound_write 3 5102 _001208_hash NULL -+_001209_hash _sp2d_alloc 1-3-2 16944 _001209_hash NULL -+_001212_hash spi_alloc_master 2 45223 _001212_hash NULL -+_001213_hash spidev_message 3 5518 _001213_hash NULL -+_001214_hash spi_register_board_info 2 35651 _001214_hash NULL -+_001215_hash squashfs_cache_init 2 41656 _001215_hash NULL -+_001216_hash squashfs_read_data 6 59440 _001216_hash NULL -+_001217_hash squashfs_read_fragment_index_table 4 2506 _001217_hash NULL -+_001218_hash squashfs_read_id_index_table 4 61961 _001218_hash NULL -+_001219_hash squashfs_read_inode_lookup_table 4 64739 _001219_hash NULL -+_001220_hash srp_alloc_iu 2 44227 _001220_hash NULL -+_001221_hash srp_iu_pool_alloc 2 17920 _001221_hash NULL -+_001222_hash srp_ring_alloc 2 26760 _001222_hash NULL -+_001226_hash start_isoc_chain 2 565 _001226_hash NULL -+_001227_hash st_write 3 16874 _001227_hash NULL -+_001228_hash svc_pool_map_alloc_arrays 2 47181 _001228_hash NULL -+_001229_hash symtab_init 2 61050 _001229_hash NULL -+_001230_hash sys_bind 3 10799 _001230_hash NULL -+_001231_hash sys_connect 3 15291 _003816_hash NULL nohasharray -+_001232_hash sys_flistxattr 3 41407 _001232_hash NULL -+_001233_hash sys_fsetxattr 4 49736 _001233_hash NULL -+_001234_hash sysfs_write_file 3 57116 _001234_hash NULL -+_001235_hash sys_ipc 3 4889 _001235_hash NULL -+_001236_hash sys_keyctl 4 33708 _001236_hash &_001011_hash -+_001237_hash sys_listxattr 3 27833 _001237_hash NULL -+_001238_hash sys_llistxattr 3 4532 _001238_hash NULL -+_001239_hash sys_lsetxattr 4 61177 _001239_hash NULL -+_001240_hash sys_mq_timedsend 3 57661 _001240_hash NULL -+_001241_hash sys_sched_setaffinity 2 32046 _001241_hash NULL -+_001242_hash sys_select 1 38827 _001242_hash NULL -+_001243_hash sys_semop 3 39457 _001243_hash NULL -+_001244_hash sys_sendto 6 20809 _001244_hash NULL -+_001245_hash sys_setgroups 1 48668 _001245_hash &_001181_hash -+_001246_hash sys_setgroups16 1 48882 _001246_hash NULL -+_001247_hash sys_setxattr 4 37880 _001247_hash NULL -+_001248_hash t4_alloc_mem 1 32342 _001248_hash NULL -+_001249_hash tcf_hash_create 4 54360 _001249_hash NULL -+_001250_hash tcp_send_rcvq 3 11316 _001250_hash NULL -+_001251_hash __team_options_register 3 63941 _001251_hash NULL -+_001252_hash test_unaligned_bulk 3 52333 _001252_hash NULL -+_001253_hash tifm_alloc_adapter 1 10903 _001253_hash NULL -+_001254_hash timeout_write 3 50991 _001254_hash NULL -+_001255_hash timeradd_entry 3 49850 _001255_hash NULL -+_001256_hash tipc_link_send_sections_fast 4 37920 _001256_hash NULL -+_001257_hash tipc_subseq_alloc 1 5957 _001257_hash NULL -+_001258_hash tnode_alloc 1 49407 _001258_hash NULL -+_001259_hash tomoyo_commit_ok 2 20167 _001259_hash NULL -+_001260_hash tomoyo_scan_bprm 2-4 15642 _003488_hash NULL nohasharray -+_001262_hash tps6586x_writes 3 58689 _001262_hash NULL -+_001263_hash tty_buffer_find 2 2443 _001263_hash NULL -+_001264_hash tty_write 3 5494 _001264_hash NULL -+_001265_hash ubifs_setxattr 4 59650 _001477_hash NULL nohasharray -+_001266_hash ubi_self_check_all_ff 4 41959 _001266_hash NULL -+_001267_hash udf_sb_alloc_partition_maps 2 62313 _001267_hash NULL -+_001268_hash udplite_getfrag 3-4 14479 _001268_hash NULL -+_001270_hash ulong_write_file 3 26485 _001270_hash NULL -+_001271_hash unix_stream_sendmsg 4 61455 _001271_hash NULL -+_001272_hash unlink_queued 3-4 645 _001272_hash NULL -+_001273_hash update_pmkid 4 2481 _001273_hash NULL -+_001274_hash usb_alloc_coherent 2 65444 _001274_hash NULL -+_001275_hash vc_resize 2-3 3585 _001275_hash NULL -+_001277_hash vhci_write 3 2224 _001277_hash NULL -+_001278_hash __vhost_add_used_n 3 26554 _001278_hash NULL -+_001279_hash virtqueue_add_buf 3-4 59470 _001279_hash NULL -+_001281_hash vmalloc 1 15464 _001281_hash NULL -+_001282_hash vol_cdev_write 3 40915 _001282_hash NULL -+_001283_hash vxge_device_register 4 7752 _001283_hash NULL -+_001284_hash __vxge_hw_blockpool_malloc 2 5786 _001284_hash NULL -+_001285_hash __vxge_hw_channel_allocate 3 55462 _001285_hash NULL -+_001286_hash vzalloc 1 47421 _001286_hash NULL -+_001287_hash vzalloc_node 1 23424 _001287_hash NULL -+_001288_hash wa_nep_queue 2 8858 _001288_hash NULL -+_001289_hash __wa_xfer_setup_segs 2 56725 _001289_hash NULL -+_001290_hash wiphy_new 2 2482 _001290_hash NULL -+_001291_hash wm8350_block_write 3 19727 _001291_hash NULL -+_001292_hash wpan_phy_alloc 1 48056 _001292_hash NULL -+_001293_hash write_flush_pipefs 3 2021 _001293_hash NULL -+_001294_hash write_flush_procfs 3 44011 _001294_hash NULL -+_001295_hash wusb_ccm_mac 7 32199 _001295_hash NULL -+_001296_hash x25_sendmsg 4 12487 _001296_hash NULL -+_001297_hash xfrm_hash_alloc 1 10997 _001297_hash NULL -+_001298_hash _xfs_buf_get_pages 2 46811 _001298_hash NULL -+_001299_hash xfs_da_grow_inode_int 3 21785 _001299_hash NULL -+_001300_hash xfs_dir_cilookup_result 3 64288 _003160_hash NULL nohasharray -+_001301_hash xfs_idata_realloc 2 26199 _001301_hash NULL -+_001302_hash xfs_iext_add_indirect_multi 3 32400 _001302_hash NULL -+_001303_hash xfs_iext_inline_to_direct 2 12384 _001303_hash NULL -+_001304_hash xfs_iformat_local 4 49472 _001304_hash NULL -+_001305_hash xfs_iroot_realloc 2 46826 _001305_hash NULL -+_001306_hash xhci_alloc_stream_info 3 63902 _001306_hash NULL -+_001307_hash xlog_recover_add_to_trans 4 62839 _001307_hash NULL -+_001308_hash xprt_alloc 2 1475 _001308_hash NULL -+_001309_hash xt_alloc_table_info 1 57903 _001309_hash NULL -+_001310_hash _zd_iowrite32v_async_locked 3 39034 _001310_hash NULL -+_001311_hash zd_usb_iowrite16v 3 49744 _001311_hash NULL -+_001312_hash a2mp_send 4 41615 _001312_hash NULL -+_001313_hash acpi_ds_build_internal_package_obj 3 58271 _001313_hash NULL -+_001314_hash acpi_system_read_event 3 55362 _001314_hash NULL -+_001315_hash acpi_ut_create_buffer_object 1 42030 _001315_hash NULL -+_001316_hash acpi_ut_create_package_object 1 17594 _001316_hash NULL -+_001317_hash acpi_ut_create_string_object 1 15360 _001317_hash NULL -+_001318_hash ad7879_spi_multi_read 3 8218 _001318_hash NULL -+_001319_hash add_child 4 45201 _001319_hash NULL -+_001320_hash add_port 2 54941 _001320_hash NULL -+_001321_hash adu_read 3 24177 _001321_hash NULL -+_001322_hash afs_cell_create 2 27346 _001322_hash NULL -+_001323_hash agp_allocate_memory 2 58761 _001323_hash NULL -+_001324_hash agp_generic_alloc_user 1 9470 _001324_hash NULL -+_001325_hash alc_auto_create_extra_outs 2 18975 _001325_hash NULL -+_001326_hash alloc_agpphysmem_i8xx 1 39427 _001326_hash NULL -+_001327_hash allocate_cnodes 1 5329 _001327_hash NULL -+_001328_hash ___alloc_bootmem 1 11410 _001328_hash NULL -+_001329_hash __alloc_bootmem_low_node 2 25726 _001662_hash NULL nohasharray -+_001330_hash __alloc_bootmem_node 2 1992 _001330_hash NULL -+_001331_hash __alloc_bootmem_node_nopanic 2 6432 _001331_hash NULL -+_001332_hash __alloc_bootmem_nopanic 1 65397 _001332_hash NULL -+_001333_hash alloc_candev 1-2 7776 _001333_hash NULL -+_001335_hash _alloc_cdb_cont 2 23609 _001335_hash NULL -+_001336_hash alloc_dummy_extent_buffer 2 56374 _001336_hash NULL -+_001337_hash ____alloc_ei_netdev 1 51475 _001337_hash NULL -+_001338_hash alloc_etherdev_mqs 1 36450 _001338_hash NULL -+_001339_hash alloc_extent_buffer 3 52824 _001339_hash NULL -+_001340_hash alloc_fcdev 1 18780 _001340_hash NULL -+_001341_hash alloc_fddidev 1 15382 _001341_hash NULL -+_001342_hash _alloc_get_attr_desc 2 470 _001342_hash NULL -+_001343_hash alloc_hippi_dev 1 51320 _001343_hash NULL -+_001344_hash alloc_irdadev 1 19140 _001344_hash NULL -+_001345_hash alloc_ldt 2 21972 _001345_hash NULL -+_001346_hash alloc_ltalkdev 1 38071 _001346_hash NULL -+_001347_hash alloc_one_pg_vec_page 1 10747 _001347_hash NULL -+_001348_hash alloc_orinocodev 1 21371 _001348_hash NULL -+_001349_hash alloc_ring 2-4 18278 _001349_hash NULL -+_001351_hash _alloc_set_attr_list 4 48991 _001351_hash NULL -+_001353_hash alloc_tx 2 32143 _001353_hash NULL -+_001354_hash alloc_wr 1-2 24635 _001354_hash NULL -+_001356_hash async_setkey 3 35521 _001356_hash NULL -+_001357_hash ata_host_alloc_pinfo 3 17325 _001357_hash NULL -+_001360_hash ath6kl_connect_event 7-9-8 14267 _001360_hash NULL -+_001361_hash ath6kl_fwlog_block_read 3 49836 _001361_hash NULL -+_001362_hash ath6kl_fwlog_read 3 32101 _001362_hash NULL -+_001363_hash ath9k_wmi_cmd 4 327 _001363_hash NULL -+_001364_hash ath_rx_init 2 43564 _001364_hash NULL -+_001365_hash ath_tx_init 2 60515 _001365_hash NULL -+_001366_hash atm_alloc_charge 2 19517 _001914_hash NULL nohasharray -+_001367_hash atm_get_addr 3 31221 _001367_hash NULL -+_001368_hash audit_log_n_hex 3 45617 _001368_hash NULL -+_001369_hash audit_log_n_string 3 31705 _001369_hash NULL -+_001370_hash ax25_output 2 22736 _001370_hash NULL -+_001371_hash bcsp_prepare_pkt 3 12961 _001371_hash NULL -+_001372_hash bdx_rxdb_create 1 46525 _001372_hash NULL -+_001373_hash bdx_tx_db_init 2 41719 _001373_hash NULL -+_001374_hash bio_map_kern 3 64751 _001374_hash NULL -+_001375_hash bits_to_user 2-3 47733 _001375_hash NULL -+_001377_hash __blk_queue_init_tags 2 9778 _001377_hash NULL -+_001378_hash blk_queue_resize_tags 2 28670 _001378_hash NULL -+_001379_hash blk_rq_map_user_iov 5 16772 _001379_hash NULL -+_001380_hash bm_init 2 13529 _001380_hash NULL -+_001381_hash brcmf_alloc_wdev 1 60347 _001381_hash NULL -+_001382_hash __btrfs_buffered_write 3 35311 _002735_hash NULL nohasharray -+_001383_hash btrfs_insert_dir_item 4 59304 _001383_hash NULL -+_001384_hash btrfs_map_block 3 64379 _001384_hash NULL -+_001385_hash bt_skb_alloc 1 6404 _001385_hash NULL -+_001386_hash c4_add_card 3 54968 _001386_hash NULL -+_001387_hash cache_read 3 24790 _001387_hash NULL -+_001388_hash cache_write 3 13589 _001388_hash NULL -+_001389_hash calc_hmac 3 32010 _001389_hash NULL -+_001390_hash capinc_tty_write 3 28539 _001390_hash NULL -+_001391_hash ccid_getsockopt_builtin_ccids 2 53634 _001391_hash NULL -+_001392_hash ceph_copy_page_vector_to_user 3-4 31270 _001392_hash NULL -+_001394_hash ceph_parse_server_name 2 60318 _001394_hash NULL -+_001395_hash ceph_read_dir 3 17005 _001395_hash NULL -+_001396_hash cfg80211_roamed 5-7 32632 _001396_hash NULL -+_001398_hash cfpkt_add_body 3 44630 _001398_hash NULL -+_001399_hash cfpkt_create_pfx 1-2 23594 _001399_hash NULL -+_001401_hash cmd_complete 6 51629 _001401_hash NULL -+_001402_hash cmtp_add_msgpart 4 9252 _001402_hash NULL -+_001403_hash cmtp_send_interopmsg 7 376 _001403_hash NULL -+_001404_hash coda_psdev_read 3 35029 _001404_hash NULL -+_001405_hash construct_key_and_link 4 8321 _001405_hash NULL -+_001406_hash copy_counters_to_user 5 17027 _001406_hash NULL -+_001407_hash copy_entries_to_user 1 52367 _001407_hash NULL -+_001408_hash copy_from_buf 2-4 27308 _001408_hash NULL -+_001410_hash copy_oldmem_page 3-1 26164 _001410_hash NULL -+_001411_hash copy_to_user_fromio 3 57432 _001411_hash NULL -+_001412_hash cryptd_hash_setkey 3 42781 _001412_hash NULL -+_001413_hash crypto_authenc_esn_setkey 3 6985 _001413_hash NULL -+_001414_hash crypto_authenc_setkey 3 80 _001414_hash NULL -+_001415_hash cxgb3_get_cpl_reply_skb 2 10620 _001415_hash NULL -+_001416_hash cxgbi_ddp_reserve 4 30091 _001416_hash NULL -+_001417_hash cxio_init_resource_fifo 3 28764 _001417_hash NULL -+_001418_hash cxio_init_resource_fifo_random 3 47151 _001418_hash NULL -+_001419_hash datablob_hmac_append 3 40038 _001419_hash NULL -+_001420_hash datablob_hmac_verify 4 24786 _001420_hash NULL -+_001421_hash dataflash_read_fact_otp 3-2 33204 _001421_hash NULL -+_001422_hash dataflash_read_user_otp 3-2 14536 _001422_hash &_000207_hash -+_001423_hash dccp_feat_register_sp 5 17914 _001423_hash NULL -+_001424_hash dccp_setsockopt 5 60367 _001424_hash NULL -+_001425_hash __dev_alloc_skb 1 28681 _001425_hash NULL -+_001426_hash disk_expand_part_tbl 2 30561 _001426_hash NULL -+_001427_hash diva_os_alloc_message_buffer 1 64568 _001427_hash NULL -+_001428_hash diva_os_copy_to_user 4 48508 _001428_hash NULL -+_001429_hash diva_os_malloc 2 16406 _001429_hash NULL -+_001430_hash dmam_declare_coherent_memory 4-2 43679 _001430_hash NULL -+_001431_hash dm_vcalloc 1-2 16814 _001431_hash NULL -+_001433_hash dn_alloc_skb 2 6631 _001433_hash NULL -+_001434_hash do_proc_readlink 3 14096 _001434_hash NULL -+_001435_hash do_readlink 2 43518 _001435_hash NULL -+_001436_hash __do_replace 5 37227 _001436_hash NULL -+_001437_hash do_sigpending 2 9766 _001437_hash NULL -+_001438_hash drbd_bm_resize 2 20522 _001438_hash NULL -+_001439_hash drbd_setsockopt 5 16280 _001439_hash &_000383_hash -+_001440_hash dump_midi 3 51040 _001440_hash NULL -+_001441_hash ecryptfs_filldir 3 6622 _001441_hash NULL -+_001442_hash ecryptfs_send_message 2 18322 _001442_hash NULL -+_001443_hash ep0_read 3 38095 _001443_hash NULL -+_001444_hash evdev_ioctl 2 22371 _001444_hash NULL -+_001445_hash ext4_add_new_descs 3 19509 _001445_hash NULL -+_001446_hash fat_ioctl_filldir 3 36621 _001446_hash NULL -+_001447_hash _fc_frame_alloc 1 43568 _001447_hash NULL -+_001448_hash fc_host_post_vendor_event 3 30903 _001448_hash NULL -+_001449_hash fd_copyout 3 59323 _001449_hash NULL -+_001450_hash f_hidg_read 3 6238 _001450_hash NULL -+_001451_hash filldir 3 55137 _001451_hash NULL -+_001452_hash filldir64 3 46469 _001452_hash NULL -+_001453_hash find_skb 2 20431 _001453_hash NULL -+_001454_hash from_buffer 3 18625 _001454_hash NULL -+_001455_hash fsm_init 2 16134 _001455_hash NULL -+_001456_hash fs_path_add 3 15648 _001456_hash NULL -+_001457_hash fs_path_add_from_extent_buffer 4 27702 _001457_hash NULL -+_001458_hash fuse_perform_write 4 18457 _001458_hash NULL -+_001459_hash gem_alloc_skb 2 51715 _001459_hash NULL -+_001460_hash generic_file_buffered_write 4 25464 _001460_hash NULL -+_001461_hash gen_pool_add 3 21776 _001461_hash NULL -+_001462_hash get_packet 3 41914 _001462_hash NULL -+_001463_hash get_packet 3 5747 _001463_hash NULL -+_001464_hash get_packet_pg 4 28023 _001464_hash NULL -+_001465_hash get_skb 2 63008 _001465_hash NULL -+_001466_hash get_subdir 3 62581 _001466_hash NULL -+_001467_hash gsm_control_message 4 18209 _001467_hash NULL -+_001468_hash gsm_control_modem 3 55303 _001468_hash NULL -+_001469_hash gsm_control_rls 3 3353 _001469_hash NULL -+_001470_hash handle_received_packet 3 22457 _001470_hash NULL -+_001471_hash hash_setkey 3 48310 _001471_hash NULL -+_001472_hash hdlcdrv_register 2 6792 _001472_hash NULL -+_001473_hash hiddev_ioctl 2 36816 _001473_hash NULL -+_001474_hash hid_input_report 4 32458 _001474_hash NULL -+_001475_hash hidp_queue_report 3 1881 _001475_hash NULL -+_001476_hash __hidp_send_ctrl_message 4 28303 _001476_hash NULL -+_001477_hash hidraw_read 3 59650 _001477_hash &_001265_hash -+_001478_hash HiSax_readstatus 2 15752 _001478_hash NULL -+_001480_hash __hwahc_op_set_gtk 4 42038 _001480_hash NULL -+_001481_hash __hwahc_op_set_ptk 5 36510 _001481_hash NULL -+_001482_hash hycapi_rx_capipkt 3 11602 _001482_hash NULL -+_001483_hash i2400m_net_rx 5 27170 _001483_hash NULL -+_001484_hash ib_copy_to_udata 3 27525 _001484_hash NULL -+_001485_hash idetape_chrdev_read 3 2097 _001485_hash NULL -+_001486_hash ieee80211_alloc_hw 1 43829 _001486_hash NULL -+_001487_hash ieee80211_bss_info_update 4 13991 _001487_hash NULL -+_001488_hash igmpv3_newpack 2 35912 _001488_hash NULL -+_001489_hash ilo_read 3 32531 _001489_hash NULL -+_001490_hash init_map_ipmac 3-4 63896 _001490_hash NULL -+_001492_hash init_tid_tabs 2-4-3 13252 _001492_hash NULL -+_001495_hash iowarrior_read 3 53483 _001495_hash NULL -+_001496_hash ip_options_get 4 56538 _001496_hash NULL -+_001497_hash ipv6_getsockopt_sticky 5 56711 _001497_hash NULL -+_001498_hash ipwireless_send_packet 4 8328 _001498_hash NULL -+_001499_hash ipx_sendmsg 4 1362 _001499_hash NULL -+_001500_hash irq_domain_add_linear 2 29236 _001500_hash NULL -+_001501_hash iscsi_conn_setup 2 35159 _001501_hash NULL -+_001502_hash iscsi_create_session 3 51647 _001502_hash NULL -+_001503_hash iscsi_host_alloc 2 36671 _001503_hash NULL -+_001504_hash iscsi_if_send_reply 7 52219 _001504_hash NULL -+_001505_hash iscsi_offload_mesg 5 58425 _001505_hash NULL -+_001506_hash iscsi_ping_comp_event 5 38263 _001506_hash NULL -+_001507_hash iscsi_post_host_event 4 13473 _001507_hash NULL -+_001508_hash iscsi_recv_pdu 4 16755 _001508_hash NULL -+_001509_hash iscsi_session_setup 4-5 196 _001509_hash NULL -+_001511_hash iscsit_find_cmd_from_itt_or_dump 3 17194 _003122_hash NULL nohasharray -+_001512_hash isdn_net_ciscohdlck_alloc_skb 2 55209 _001951_hash NULL nohasharray -+_001513_hash isdn_ppp_ccp_xmit_reset 6 63297 _001513_hash NULL -+_001514_hash isdn_ppp_read 4 50356 _001514_hash NULL -+_001515_hash isdn_ppp_skb_push 2 5236 _001515_hash NULL -+_001516_hash isku_sysfs_read 6 58806 _001516_hash NULL -+_001517_hash isku_sysfs_write 6 49767 _001517_hash NULL -+_001520_hash jbd2_alloc 1 41359 _001520_hash NULL -+_001521_hash jffs2_do_link 6 42048 _001521_hash NULL -+_001522_hash jffs2_do_unlink 4 62020 _001522_hash NULL -+_001523_hash jffs2_security_setxattr 4 62107 _001523_hash NULL -+_001524_hash jffs2_trusted_setxattr 4 17048 _001524_hash NULL -+_001525_hash jffs2_user_setxattr 4 10182 _001525_hash NULL -+_001526_hash joydev_ioctl_common 2 49359 _001526_hash NULL -+_001527_hash kernel_setsockopt 5 35913 _001527_hash NULL -+_001528_hash keyctl_describe_key 3 36853 _001528_hash NULL -+_001529_hash keyctl_get_security 3 64418 _001529_hash &_001192_hash -+_001530_hash keyring_read 3 13438 _001530_hash NULL -+_001531_hash kfifo_copy_to_user 3 20646 _001531_hash NULL -+_001532_hash kmem_zalloc_large 1 56128 _001532_hash NULL -+_001533_hash kmp_init 2 41373 _001533_hash NULL -+_001534_hash koneplus_sysfs_write 6 35993 _001534_hash NULL -+_001535_hash kvm_clear_guest_page 4 2308 _001535_hash NULL -+_001536_hash kvm_read_nested_guest_page 5 13337 _001536_hash NULL -+_001537_hash _l2_alloc_skb 1 11883 _001537_hash NULL -+_001538_hash l2cap_create_basic_pdu 3 24869 _001538_hash &_001074_hash -+_001539_hash l2cap_create_connless_pdu 3 37327 _001539_hash NULL -+_001540_hash l2cap_create_iframe_pdu 3 40055 _001540_hash NULL -+_001541_hash l3_alloc_skb 1 32289 _001541_hash NULL -+_001542_hash __lgwrite 4 57669 _001542_hash NULL -+_001543_hash libfc_host_alloc 2 7917 _001543_hash NULL -+_001544_hash llc_alloc_frame 4 64366 _001544_hash NULL -+_001545_hash llcp_sock_sendmsg 4 1092 _001545_hash NULL -+_001546_hash mac_drv_rx_init 2 48898 _001546_hash NULL -+_001547_hash macvtap_get_user 4 28185 _001547_hash NULL -+_001548_hash mdc800_device_read 3 22896 _001548_hash NULL -+_001549_hash memcpy_toiovec 3 54166 _001549_hash &_000892_hash -+_001550_hash memcpy_toiovecend 3-4 19736 _001550_hash NULL -+_001552_hash mempool_create 1 29437 _001552_hash NULL -+_001553_hash mgmt_event 4 12810 _001553_hash NULL -+_001554_hash mgt_set_varlen 4 60916 _001554_hash NULL -+_001555_hash mI_alloc_skb 1 24770 _001555_hash NULL -+_001556_hash mlx4_en_create_rx_ring 3 62498 _001556_hash NULL -+_001557_hash mlx4_en_create_tx_ring 4 48501 _001557_hash NULL -+_001558_hash mlx4_init_cmpt_table 3 11569 _001558_hash NULL -+_001559_hash mon_bin_get_event 4 52863 _001559_hash NULL -+_001560_hash mousedev_read 3 47123 _001560_hash NULL -+_001561_hash move_addr_to_user 2 2868 _001561_hash NULL -+_001562_hash mpihelp_mul 5-3 27805 _001562_hash NULL -+_001564_hash mpi_set_buffer 3 65294 _001564_hash NULL -+_001565_hash mptctl_ioctl 2 12355 _001565_hash NULL -+_001566_hash msnd_fifo_alloc 2 23179 _001566_hash NULL -+_001567_hash mtdswap_init 2 55719 _001567_hash NULL -+_001568_hash mthca_alloc_resize_buf 3 60394 _001568_hash NULL -+_001569_hash mthca_init_cq 2 60011 _001569_hash NULL -+_001570_hash nci_skb_alloc 2 49757 _001570_hash NULL -+_001571_hash neigh_hash_grow 2 17283 _001571_hash NULL -+_001572_hash netdev_alloc_skb 2 62437 _001572_hash NULL -+_001573_hash __netdev_alloc_skb_ip_align 2 55067 _001573_hash NULL -+_001574_hash netlink_change_ngroups 2 16457 _001574_hash NULL -+_001575_hash new_skb 1 21148 _001575_hash NULL -+_001576_hash nfc_alloc_recv_skb 1 10244 _001576_hash NULL -+_001577_hash nfcwilink_skb_alloc 1 16167 _001577_hash NULL -+_001578_hash __nf_nat_mangle_tcp_packet 5-7 8190 _001578_hash NULL -+_001580_hash nf_nat_mangle_udp_packet 5-7 13321 _001580_hash NULL -+_001582_hash nfqnl_mangle 4-2 36226 _001582_hash NULL -+_001583_hash nfs4_realloc_slot_table 2 22859 _001583_hash NULL -+_001584_hash nfs_idmap_get_key 2 39616 _001584_hash NULL -+_001585_hash nfs_readdata_alloc 2 65015 _001585_hash NULL -+_001586_hash nfs_writedata_alloc 2 12133 _001586_hash NULL -+_001587_hash nfulnl_alloc_skb 2 65207 _001587_hash NULL -+_001588_hash ni65_alloc_mem 3 10664 _001588_hash NULL -+_001589_hash nsm_get_handle 4 52089 _001589_hash NULL -+_001590_hash ntfs_malloc_nofs 1 49572 _001590_hash NULL -+_001591_hash ntfs_malloc_nofs_nofail 1 63631 _001591_hash NULL -+_001592_hash nvme_create_queue 3 170 _001592_hash NULL -+_001593_hash ocfs2_control_write 3 54737 _001593_hash NULL -+_001595_hash orinoco_add_extscan_result 3 18207 _001595_hash NULL -+_001596_hash osd_req_read_sg_kern 5 6378 _001596_hash NULL -+_001597_hash osd_req_write_sg_kern 5 10514 _001597_hash NULL -+_001599_hash override_release 2 52032 _001599_hash NULL -+_001600_hash p9_client_read 5 19750 _001600_hash NULL -+_001601_hash packet_snd 3 13634 _001601_hash NULL -+_001602_hash pcbit_stat 2 27364 _001602_hash NULL -+_001603_hash pcpu_extend_area_map 2 12589 _001603_hash NULL -+_001604_hash pep_alloc_skb 3 46303 _001604_hash NULL -+_001605_hash pg_read 3 17276 _001605_hash NULL -+_001606_hash picolcd_debug_eeprom_read 3 14549 _001606_hash NULL -+_001607_hash pkt_alloc_packet_data 1 37928 _001607_hash NULL -+_001608_hash pmcraid_build_passthrough_ioadls 2 62034 _001608_hash NULL -+_001609_hash pn_raw_send 2 54330 _001609_hash NULL -+_001610_hash posix_clock_register 2 5662 _001610_hash NULL -+_001611_hash printer_read 3 54851 _001611_hash NULL -+_001612_hash __proc_file_read 3 54978 _001612_hash NULL -+_001613_hash pskb_may_pull 2 22546 _001613_hash NULL -+_001614_hash __pskb_pull 2 42602 _001614_hash NULL -+_001615_hash ptp_read 4 63251 _001615_hash NULL -+_001616_hash pt_read 3 49136 _001616_hash NULL -+_001617_hash put_cmsg 4 36589 _001617_hash NULL -+_001618_hash px_raw_event 4 49371 _001618_hash NULL -+_001619_hash qla4xxx_post_aen_work 3 46953 _001619_hash NULL -+_001620_hash qla4xxx_post_ping_evt_work 4 8074 _001819_hash NULL nohasharray -+_001621_hash raid5_resize 2 63306 _001621_hash NULL -+_001622_hash rawv6_sendmsg 4 20080 _001622_hash NULL -+_001623_hash rds_message_map_pages 2 31487 _001623_hash NULL -+_001624_hash rds_sendmsg 4 40976 _001624_hash NULL -+_001625_hash read_flush 3 43851 _001625_hash NULL -+_001626_hash read_profile 3 27859 _001626_hash NULL -+_001627_hash read_vmcore 3 26501 _001627_hash NULL -+_001628_hash redirected_tty_write 3 65297 _001628_hash NULL -+_001629_hash refill_pool 2 19477 _001629_hash NULL -+_001630_hash __register_chrdev 2-3 54223 _001630_hash NULL -+_001632_hash regmap_raw_write 4 53803 _001632_hash NULL -+_001633_hash reiserfs_allocate_list_bitmaps 3 21732 _001633_hash NULL -+_001634_hash reiserfs_resize 2 34377 _001634_hash NULL -+_001635_hash request_key_auth_read 3 24109 _001635_hash NULL -+_001636_hash rfcomm_wmalloc 2 58090 _001636_hash NULL -+_001637_hash rfkill_fop_read 3 54711 _001637_hash NULL -+_001638_hash rng_dev_read 3 41581 _001638_hash NULL -+_001639_hash roccat_read 3 41093 _001639_hash &_001034_hash -+_001640_hash rx 4 57944 _001640_hash NULL -+_001641_hash rxrpc_client_sendmsg 5 23236 _001641_hash NULL -+_001642_hash rxrpc_kernel_send_data 3 60083 _001642_hash NULL -+_001643_hash rxrpc_server_sendmsg 4 37331 _001643_hash NULL -+_001644_hash savu_sysfs_write 6 42273 _001644_hash NULL -+_001645_hash sco_sock_sendmsg 4 62542 _001645_hash NULL -+_001646_hash scsi_nl_send_vendor_msg 5 16394 _001646_hash NULL -+_001647_hash scsi_register 2 49094 _001647_hash NULL -+_001648_hash sctp_datamsg_from_user 4 55342 _001648_hash NULL -+_001649_hash sctp_getsockopt_events 2 3607 _001649_hash NULL -+_001650_hash sctp_getsockopt_maxburst 2 42941 _001650_hash NULL -+_001651_hash sctp_getsockopt_maxseg 2 10737 _001651_hash NULL -+_001652_hash sctp_make_chunk 4 12986 _001652_hash NULL -+_001653_hash sctpprobe_read 3 17741 _001653_hash NULL -+_001654_hash sctp_tsnmap_mark 2 35929 _001654_hash NULL -+_001655_hash sctp_ulpevent_new 1 33377 _001655_hash NULL -+_001656_hash sdhci_alloc_host 2 7509 _001656_hash NULL -+_001657_hash selinux_inode_post_setxattr 4 26037 _001657_hash NULL -+_001658_hash selinux_inode_setsecurity 4 18148 _001658_hash NULL -+_001659_hash selinux_inode_setxattr 4 10708 _001659_hash NULL -+_001660_hash selinux_secctx_to_secid 2 63744 _001660_hash NULL -+_001661_hash selinux_setprocattr 4 55611 _001661_hash NULL -+_001662_hash sel_write_context 3 25726 _001662_hash &_001329_hash -+_001663_hash send_command 4 10832 _001663_hash NULL -+_001664_hash seq_copy_in_user 3 18543 _001664_hash NULL -+_001665_hash seq_open_net 4 8968 _001779_hash NULL nohasharray -+_001666_hash seq_open_private 3 61589 _001666_hash NULL -+_001667_hash set_arg 3 42824 _001667_hash NULL -+_001668_hash sg_read 3 25799 _001668_hash NULL -+_001669_hash shash_async_setkey 3 10720 _003506_hash NULL nohasharray -+_001670_hash shash_compat_setkey 3 12267 _001670_hash NULL -+_001671_hash shmem_setxattr 4 55867 _001671_hash NULL -+_001672_hash simple_read_from_buffer 2-5 55957 _001672_hash NULL -+_001674_hash sisusb_clear_vram 2-3 57466 _001674_hash NULL -+_001676_hash sisusbcon_do_font_op 9 52271 _001676_hash NULL -+_001677_hash sisusb_copy_memory 4 35016 _001677_hash NULL -+_001678_hash sisusb_write 3 44834 _001678_hash NULL -+_001680_hash skb_cow 2 26138 _001680_hash NULL -+_001681_hash skb_cow_head 2 52495 _001681_hash NULL -+_001682_hash skb_make_writable 2 24783 _001682_hash NULL -+_001683_hash skb_padto 2 50759 _001683_hash NULL -+_001684_hash sk_stream_alloc_skb 2 57622 _001684_hash NULL -+_001685_hash smk_write_access2 3 19170 _001685_hash NULL -+_001686_hash smk_write_access 3 49561 _001686_hash NULL -+_001687_hash snd_es1938_capture_copy 5 25930 _001687_hash NULL -+_001688_hash snd_gus_dram_peek 4 9062 _001688_hash NULL -+_001689_hash snd_hdsp_capture_copy 5 4011 _001689_hash NULL -+_001690_hash snd_korg1212_copy_to 6 92 _001690_hash NULL -+_001691_hash snd_opl4_mem_proc_read 5 63774 _001691_hash NULL -+_001692_hash snd_pcm_oss_read1 3 63771 _001692_hash NULL -+_001693_hash snd_pcm_plugin_alloc 2 12580 _001693_hash NULL -+_001694_hash snd_rawmidi_kernel_read1 4 36740 _001694_hash NULL -+_001695_hash snd_rme9652_capture_copy 5 10287 _001695_hash NULL -+_001696_hash sock_alloc_send_pskb 2 21246 _001696_hash NULL -+_001697_hash sock_rmalloc 2 59740 _002491_hash NULL nohasharray -+_001698_hash sock_wmalloc 2 16472 _001698_hash NULL -+_001699_hash solos_param_store 4 34755 _001699_hash NULL -+_001702_hash srp_target_alloc 3 37288 _001702_hash NULL -+_001703_hash store_ifalias 4 35088 _001703_hash NULL -+_001704_hash store_msg 3 56417 _001704_hash NULL -+_001705_hash str_to_user 2 11411 _001705_hash NULL -+_001706_hash subbuf_read_actor 3 2071 _001706_hash NULL -+_001707_hash sys_fgetxattr 4 25166 _001707_hash NULL -+_001708_hash sys_gethostname 2 49698 _001708_hash NULL -+_001709_hash sys_getxattr 4 37418 _001709_hash NULL -+_001710_hash sys_init_module 2 36047 _001710_hash NULL -+_001711_hash sys_kexec_load 2 14222 _001711_hash NULL -+_001712_hash sys_lgetxattr 4 45531 _001712_hash NULL -+_001713_hash syslog_print 2 307 _001713_hash NULL -+_001714_hash sys_msgsnd 3 44537 _001714_hash &_000139_hash -+_001715_hash sys_process_vm_readv 3-5 19090 _003104_hash NULL nohasharray -+_001717_hash sys_process_vm_writev 3-5 4928 _001717_hash NULL -+_001719_hash sys_pselect6 1 57449 _001719_hash NULL -+_001720_hash sys_sched_getaffinity 2 60033 _001720_hash NULL -+_001721_hash sys_setsockopt 5 35320 _001721_hash NULL -+_001722_hash t3_init_l2t 1 8261 _001722_hash NULL -+_001723_hash t4vf_pktgl_to_skb 2 39005 _001723_hash NULL -+_001724_hash tcp_collapse 5-6 63294 _001724_hash NULL -+_001726_hash tcp_sendmsg 4 30296 _001726_hash NULL -+_001727_hash team_options_register 3 20091 _001727_hash NULL -+_001728_hash tipc_buf_acquire 1 60437 _001728_hash NULL -+_001729_hash tipc_cfg_reply_alloc 1 27606 _001729_hash NULL -+_001730_hash tipc_send2name 6 16809 _001730_hash NULL -+_001731_hash tipc_send2port 5 63935 _001731_hash NULL -+_001732_hash tipc_send 4 51238 _001732_hash NULL -+_001733_hash tnode_new 3 44757 _002769_hash NULL nohasharray -+_001734_hash tomoyo_read_self 3 33539 _001734_hash NULL -+_001735_hash tomoyo_update_domain 2 5498 _001735_hash NULL -+_001736_hash tomoyo_update_policy 2 40458 _001736_hash NULL -+_001737_hash tpm_read 3 50344 _001737_hash NULL -+_001738_hash TSS_rawhmac 3 17486 _001738_hash NULL -+_001739_hash __tty_buffer_request_room 2 27700 _001739_hash NULL -+_001740_hash tun_get_user 4 39099 _001740_hash NULL -+_001741_hash ubi_dump_flash 4 46381 _001741_hash NULL -+_001742_hash ubi_io_write 4-5 15870 _003453_hash NULL nohasharray -+_001744_hash udp_setsockopt 5 25985 _001744_hash NULL -+_001745_hash udpv6_setsockopt 5 18487 _001745_hash NULL -+_001746_hash uio_read 3 49300 _001746_hash NULL -+_001747_hash ulog_alloc_skb 1 23427 _001747_hash NULL -+_001748_hash unix_dgram_sendmsg 4 45699 _001748_hash NULL -+_001749_hash unlink1 3 63059 _001749_hash NULL -+_001751_hash usbdev_read 3 45114 _001751_hash NULL -+_001752_hash usblp_ioctl 2 30203 _001752_hash NULL -+_001753_hash usblp_read 3 57342 _003832_hash NULL nohasharray -+_001754_hash usbtmc_read 3 32377 _001754_hash NULL -+_001755_hash _usb_writeN_sync 4 31682 _001755_hash NULL -+_001756_hash user_read 3 51881 _001756_hash NULL -+_001757_hash vcs_read 3 8017 _001757_hash NULL -+_001758_hash vdma_mem_alloc 1 6171 _001758_hash NULL -+_001759_hash venus_create 4 20555 _001759_hash NULL -+_001760_hash venus_link 5 32165 _001760_hash NULL -+_001761_hash venus_lookup 4 8121 _001761_hash NULL -+_001762_hash venus_mkdir 4 8967 _001762_hash NULL -+_001763_hash venus_remove 4 59781 _001763_hash NULL -+_001764_hash venus_rename 4-5 17707 _003784_hash NULL nohasharray -+_001766_hash venus_rmdir 4 45564 _001766_hash NULL -+_001767_hash venus_symlink 4-6 23570 _001767_hash NULL -+_001769_hash vfs_readlink 3 54368 _001769_hash NULL -+_001770_hash vfs_readv 3 38011 _001770_hash NULL -+_001771_hash vfs_writev 3 25278 _001771_hash NULL -+_001772_hash vga_arb_read 3 4886 _001772_hash NULL -+_001773_hash vgacon_adjust_height 2 28124 _001773_hash NULL -+_001774_hash vhci_put_user 4 12604 _001774_hash NULL -+_001775_hash vhost_add_used_n 3 10760 _001775_hash NULL -+_001776_hash virtnet_send_command 5-6 61993 _001776_hash NULL -+_001778_hash vmbus_establish_gpadl 3 4495 _001778_hash NULL -+_001779_hash vol_cdev_read 3 8968 _001779_hash &_001665_hash -+_001780_hash wdm_read 3 6549 _001780_hash NULL -+_001781_hash write_adapter_mem 3 3234 _001781_hash NULL -+_001782_hash wusb_prf 7 54261 _001782_hash &_000065_hash -+_001783_hash xdi_copy_to_user 4 48900 _001783_hash NULL -+_001784_hash xfs_buf_associate_memory 3 17915 _001784_hash NULL -+_001785_hash xfs_buf_get_maps 2 4581 _001785_hash NULL -+_001786_hash xfs_buf_get_uncached 2 51477 _001786_hash NULL -+_001787_hash xfs_buf_item_get_format 2 189 _001787_hash NULL -+_001788_hash xfs_buf_map_from_irec 5 2368 _002641_hash NULL nohasharray -+_001789_hash xfs_dir2_block_to_sf 3 37868 _001789_hash NULL -+_001790_hash xfs_dir2_leaf_getdents 3 23841 _001790_hash NULL -+_001791_hash xfs_dir2_sf_addname_hard 3 54254 _001791_hash NULL -+_001792_hash xfs_efd_init 3 5463 _001792_hash NULL -+_001793_hash xfs_efi_init 2 5476 _001793_hash NULL -+_001794_hash xfs_iext_realloc_direct 2 20521 _001794_hash NULL -+_001795_hash xfs_iext_realloc_indirect 2 59211 _001795_hash NULL -+_001796_hash xfs_inumbers_fmt 3 12817 _001796_hash NULL -+_001797_hash xhci_alloc_streams 5 37586 _001797_hash NULL -+_001798_hash xlog_recover_add_to_cont_trans 4 44102 _001798_hash NULL -+_001799_hash xz_dec_lzma2_create 2 36353 _002713_hash NULL nohasharray -+_001800_hash _zd_iowrite32v_locked 3 44725 _001800_hash NULL -+_001801_hash a2mp_chan_alloc_skb_cb 2 27159 _001801_hash NULL -+_001802_hash aat2870_reg_read_file 3 12221 _001802_hash NULL -+_001803_hash add_partition 2 55588 _001803_hash NULL -+_001804_hash add_sctp_bind_addr 3 12269 _001804_hash NULL -+_001805_hash _add_sg_continuation_descriptor 3 54721 _001805_hash NULL -+_001806_hash afs_cell_lookup 2 8482 _001806_hash NULL -+_001807_hash afs_send_simple_reply 3 63940 _001807_hash NULL -+_001808_hash agp_allocate_memory_wrap 1 16576 _001808_hash NULL -+_001809_hash __alloc_bootmem 1 31498 _001809_hash NULL -+_001810_hash __alloc_bootmem_low 1 43423 _003425_hash NULL nohasharray -+_001811_hash __alloc_bootmem_node_high 2 65076 _001811_hash NULL -+_001812_hash alloc_cc770dev 1 48186 _001812_hash NULL -+_001813_hash __alloc_ei_netdev 1 29338 _001813_hash NULL -+_001814_hash __alloc_eip_netdev 1 51549 _001814_hash NULL -+_001815_hash alloc_libipw 1 22708 _001815_hash NULL -+_001816_hash _alloc_mISDN_skb 3 52232 _001816_hash NULL -+_001817_hash alloc_pg_vec 2 8533 _001817_hash NULL -+_001818_hash alloc_sja1000dev 1 17868 _001818_hash NULL -+_001819_hash alloc_targets 2 8074 _001819_hash &_001620_hash -+_001822_hash ath6kl_disconnect_timeout_read 3 3650 _001822_hash NULL -+_001823_hash ath6kl_endpoint_stats_read 3 41554 _001823_hash NULL -+_001824_hash ath6kl_fwlog_mask_read 3 2050 _001824_hash NULL -+_001825_hash ath6kl_keepalive_read 3 44303 _001825_hash NULL -+_001826_hash ath6kl_listen_int_read 3 10355 _001826_hash NULL -+_001827_hash ath6kl_lrssi_roam_read 3 61022 _001827_hash NULL -+_001828_hash ath6kl_regdump_read 3 14393 _001828_hash NULL -+_001829_hash ath6kl_regread_read 3 25884 _001829_hash NULL -+_001830_hash ath6kl_regwrite_read 3 48747 _001830_hash NULL -+_001831_hash ath6kl_roam_table_read 3 26166 _001831_hash NULL -+_001832_hash ath9k_debugfs_read_buf 3 25316 _001832_hash NULL -+_001833_hash ath9k_multi_regread 4 65056 _001833_hash NULL -+_001834_hash ath_rxbuf_alloc 2 24745 _001834_hash NULL -+_001835_hash atk_debugfs_ggrp_read 3 29522 _001835_hash NULL -+_001836_hash audit_log_n_untrustedstring 3 9548 _001836_hash NULL -+_001837_hash ax25_send_frame 2 19964 _001837_hash NULL -+_001838_hash b43_debugfs_read 3 24425 _001838_hash NULL -+_001839_hash b43legacy_debugfs_read 3 2473 _001839_hash NULL -+_001840_hash batadv_bla_is_backbone_gw 3 58488 _001840_hash NULL -+_001841_hash batadv_check_management_packet 3 52993 _001841_hash NULL -+_001842_hash batadv_check_unicast_packet 2 10866 _001842_hash NULL -+_001843_hash batadv_interface_rx 4 8568 _001843_hash NULL -+_001844_hash batadv_skb_head_push 2 11360 _001844_hash NULL -+_001845_hash bchannel_get_rxbuf 2 37213 _001845_hash NULL -+_001846_hash bcm_recvmsg 4 43992 _001846_hash NULL -+_001847_hash bfad_debugfs_read 3 13119 _001847_hash NULL -+_001848_hash bfad_debugfs_read_regrd 3 57830 _001848_hash NULL -+_001849_hash blk_init_tags 1 30592 _001849_hash NULL -+_001850_hash blk_queue_init_tags 2 44355 _001850_hash &_001022_hash -+_001851_hash blk_rq_map_kern 4 47004 _001851_hash NULL -+_001852_hash bm_entry_read 3 10976 _001852_hash NULL -+_001853_hash bm_status_read 3 19583 _001853_hash NULL -+_001854_hash bnad_debugfs_read 3 50665 _001854_hash NULL -+_001855_hash bnad_debugfs_read_regrd 3 51308 _001855_hash NULL -+_001856_hash bnx2i_send_nl_mesg 4 53353 _001856_hash NULL -+_001857_hash brcmf_debugfs_sdio_counter_read 3 58369 _001857_hash NULL -+_001858_hash brcmf_sdio_assert_info 4 52653 _001858_hash NULL -+_001859_hash brcmf_sdio_dump_console 4 37455 _001859_hash NULL -+_001860_hash brcmf_sdio_trap_info 4 48510 _001860_hash NULL -+_001861_hash btmrvl_curpsmode_read 3 46939 _001861_hash NULL -+_001862_hash btmrvl_gpiogap_read 3 4718 _001862_hash NULL -+_001863_hash btmrvl_hscfgcmd_read 3 56303 _001863_hash NULL -+_001864_hash btmrvl_hscmd_read 3 1614 _001864_hash NULL -+_001865_hash btmrvl_hsmode_read 3 1647 _001865_hash NULL -+_001866_hash btmrvl_hsstate_read 3 920 _001866_hash NULL -+_001867_hash btmrvl_pscmd_read 3 24308 _001867_hash NULL -+_001868_hash btmrvl_psmode_read 3 22395 _001868_hash NULL -+_001869_hash btmrvl_psstate_read 3 50683 _001869_hash NULL -+_001870_hash btmrvl_txdnldready_read 3 413 _001870_hash NULL -+_001871_hash btrfs_add_link 5 9973 _001871_hash NULL -+_001872_hash __btrfs_direct_write 4 22273 _001872_hash NULL -+_001873_hash btrfs_discard_extent 2 38547 _001873_hash NULL -+_001874_hash btrfs_file_aio_write 4 21520 _001874_hash NULL -+_001875_hash btrfs_find_create_tree_block 3 55812 _001875_hash NULL -+_001876_hash btrfsic_map_block 2 56751 _001876_hash NULL -+_001877_hash cache_read_pipefs 3 47615 _001877_hash NULL -+_001878_hash cache_read_procfs 3 52882 _001878_hash NULL -+_001879_hash cache_write_pipefs 3 48270 _001879_hash NULL -+_001880_hash cache_write_procfs 3 22491 _001880_hash NULL -+_001881_hash caif_stream_recvmsg 4 13173 _001881_hash NULL -+_001882_hash carl9170_alloc 1 27 _001882_hash NULL -+_001883_hash carl9170_debugfs_read 3 47738 _001883_hash NULL -+_001884_hash ceph_msgpool_init 4 34599 _001884_hash NULL -+_001885_hash cfpkt_add_trail 3 27260 _001885_hash NULL -+_001886_hash cfpkt_create 1 18197 _001886_hash NULL -+_001887_hash cfpkt_pad_trail 2 55511 _003606_hash NULL nohasharray -+_001888_hash cfpkt_split 2 47541 _001888_hash NULL -+_001889_hash cgroup_read_s64 5 19570 _001889_hash NULL -+_001890_hash cgroup_read_u64 5 45532 _001890_hash NULL -+_001891_hash channel_type_read 3 47308 _001891_hash NULL -+_001892_hash check_header 2 56930 _001892_hash NULL -+_001893_hash codec_list_read_file 3 24910 _001893_hash NULL -+_001894_hash configfs_read_file 3 1683 _001894_hash NULL -+_001895_hash console_store 4 36007 _001895_hash NULL -+_001896_hash cpuset_common_file_read 5 8800 _001896_hash NULL -+_001897_hash create_subvol 4 30836 _001897_hash NULL -+_001898_hash cxio_hal_init_resource 2-7-6 29771 _001898_hash &_000295_hash -+_001901_hash cxio_hal_init_rhdl_resource 1 25104 _001901_hash NULL -+_001902_hash dai_list_read_file 3 25421 _001902_hash NULL -+_001903_hash dapm_bias_read_file 3 64715 _001903_hash NULL -+_001904_hash dapm_widget_power_read_file 3 59950 _001983_hash NULL nohasharray -+_001907_hash dbgfs_frame 3 45917 _001907_hash NULL -+_001908_hash dbgfs_state 3 38894 _001908_hash NULL -+_001909_hash dccp_manip_pkt 2 30229 _001909_hash NULL -+_001910_hash ddp_ppod_write_idata 5 25610 _001910_hash NULL -+_001911_hash debugfs_read 3 62535 _001911_hash NULL -+_001912_hash debug_output 3 18575 _001912_hash NULL -+_001913_hash debug_read 3 19322 _001913_hash NULL -+_001914_hash dev_alloc_skb 1 19517 _001914_hash &_001366_hash -+_001915_hash dfs_file_read 3 18116 _001915_hash NULL -+_001916_hash diva_alloc_dma_map 2 23798 _001916_hash NULL -+_001917_hash diva_xdi_write 4 63975 _001917_hash NULL -+_001918_hash dma_memcpy_pg_to_iovec 6 1725 _001918_hash NULL -+_001919_hash dma_memcpy_to_iovec 5 12173 _001919_hash NULL -+_001920_hash dma_show_regs 3 35266 _001920_hash NULL -+_001921_hash dm_exception_table_init 2 39645 _001921_hash &_001149_hash -+_001922_hash dn_nsp_do_disc 2-6 49474 _001922_hash NULL -+_001924_hash dn_recvmsg 4 17213 _001924_hash NULL -+_001925_hash dns_resolver_read 3 54658 _001925_hash NULL -+_001926_hash do_msgrcv 4 5590 _001926_hash NULL -+_001927_hash do_syslog 3 56807 _001927_hash NULL -+_001928_hash dpcm_state_read_file 3 65489 _001928_hash NULL -+_001929_hash dsp_cmx_send_member 2 15625 _001929_hash NULL -+_001930_hash fallback_on_nodma_alloc 2 35332 _001930_hash NULL -+_001931_hash fc_frame_alloc 2 1596 _001931_hash NULL -+_001932_hash fc_frame_alloc_fill 2 59394 _001932_hash NULL -+_001933_hash filter_read 3 61692 _001933_hash NULL -+_001934_hash __finish_unordered_dir 4 33198 _001934_hash NULL -+_001935_hash format_devstat_counter 3 32550 _001935_hash NULL -+_001936_hash fragmentation_threshold_read 3 61718 _001936_hash NULL -+_001937_hash fuse_conn_limit_read 3 20084 _001937_hash NULL -+_001938_hash fuse_conn_waiting_read 3 49762 _001938_hash NULL -+_001939_hash fuse_file_aio_write 4 46399 _001939_hash NULL -+_001940_hash generic_readlink 3 32654 _001940_hash NULL -+_001941_hash gre_manip_pkt 2 38785 _001941_hash NULL -+_001942_hash handle_eviocgbit 3 44193 _001942_hash NULL -+_001943_hash handle_response 5 55951 _001943_hash NULL -+_001944_hash handle_response_icmp 7 39574 _001944_hash NULL -+_001945_hash hash_recvmsg 4 50924 _001945_hash NULL -+_001946_hash hci_send_cmd 3 43810 _001946_hash NULL -+_001947_hash hci_si_event 3 1404 _001947_hash NULL -+_001948_hash help 4 14971 _001948_hash NULL -+_001949_hash hfcpci_empty_bfifo 4 62323 _001949_hash NULL -+_001950_hash hidp_send_ctrl_message 4 43702 _001950_hash NULL -+_001951_hash ht40allow_map_read 3 55209 _001951_hash &_001512_hash -+_001952_hash hwflags_read 3 52318 _001952_hash NULL -+_001953_hash hysdn_conf_read 3 42324 _001953_hash NULL -+_001954_hash hysdn_sched_rx 3 60533 _001954_hash NULL -+_001955_hash i2400m_rx_stats_read 3 57706 _001955_hash NULL -+_001956_hash i2400m_tx_stats_read 3 28527 _001956_hash NULL -+_001957_hash icmp_manip_pkt 2 48801 _001957_hash NULL -+_001958_hash idmouse_read 3 63374 _001958_hash NULL -+_001959_hash ieee80211_if_read 3 6785 _001959_hash NULL -+_001960_hash ieee80211_rx_bss_info 3 61630 _001960_hash NULL -+_001961_hash ikconfig_read_current 3 1658 _001961_hash NULL -+_001962_hash il3945_sta_dbgfs_stats_table_read 3 48802 _001962_hash NULL -+_001963_hash il3945_ucode_general_stats_read 3 46111 _001963_hash NULL -+_001964_hash il3945_ucode_rx_stats_read 3 3048 _001964_hash NULL -+_001965_hash il3945_ucode_tx_stats_read 3 36016 _001965_hash NULL -+_001966_hash il4965_rs_sta_dbgfs_rate_scale_data_read 3 37792 _001966_hash NULL -+_001967_hash il4965_rs_sta_dbgfs_scale_table_read 3 38564 _001967_hash NULL -+_001968_hash il4965_rs_sta_dbgfs_stats_table_read 3 49206 _001968_hash NULL -+_001969_hash il4965_ucode_general_stats_read 3 56277 _001969_hash NULL -+_001970_hash il4965_ucode_rx_stats_read 3 61948 _001970_hash NULL -+_001971_hash il4965_ucode_tx_stats_read 3 12064 _001971_hash NULL -+_001972_hash il_dbgfs_chain_noise_read 3 38044 _001972_hash NULL -+_001973_hash il_dbgfs_channels_read 3 25005 _001973_hash NULL -+_001974_hash il_dbgfs_disable_ht40_read 3 42386 _001974_hash NULL -+_001975_hash il_dbgfs_fh_reg_read 3 40993 _001975_hash NULL -+_001976_hash il_dbgfs_force_reset_read 3 57517 _001976_hash NULL -+_001977_hash il_dbgfs_interrupt_read 3 3351 _001977_hash NULL -+_001978_hash il_dbgfs_missed_beacon_read 3 59956 _001978_hash NULL -+_001979_hash il_dbgfs_nvm_read 3 12288 _001979_hash NULL -+_001980_hash il_dbgfs_power_save_status_read 3 43165 _001980_hash NULL -+_001981_hash il_dbgfs_qos_read 3 33615 _001981_hash NULL -+_001982_hash il_dbgfs_rxon_filter_flags_read 3 19281 _001982_hash NULL -+_001983_hash il_dbgfs_rxon_flags_read 3 59950 _001983_hash &_001904_hash -+_001984_hash il_dbgfs_rx_queue_read 3 11221 _001984_hash NULL -+_001985_hash il_dbgfs_rx_stats_read 3 15243 _001985_hash NULL -+_001986_hash il_dbgfs_sensitivity_read 3 2370 _001986_hash NULL -+_001987_hash il_dbgfs_sram_read 3 62296 _001987_hash NULL -+_001988_hash il_dbgfs_stations_read 3 21532 _001988_hash NULL -+_001989_hash il_dbgfs_status_read 3 58388 _001989_hash NULL -+_001990_hash il_dbgfs_tx_queue_read 3 55668 _001990_hash NULL -+_001991_hash il_dbgfs_tx_stats_read 3 32913 _001991_hash NULL -+_001992_hash ima_show_htable_value 2 57136 _001992_hash NULL -+_001994_hash intel_fake_agp_alloc_by_type 1 1 _001994_hash NULL -+_001995_hash ip4ip6_err 5 36772 _001995_hash NULL -+_001996_hash ip6_append_data 4-5 36490 _003601_hash NULL nohasharray -+_001997_hash ip6ip6_err 5 18308 _001997_hash NULL -+_001998_hash __ip_append_data 7-8 36191 _001998_hash NULL -+_001999_hash ip_vs_icmp_xmit 4 59624 _001999_hash NULL -+_002000_hash ip_vs_icmp_xmit_v6 4 20464 _002000_hash NULL -+_002001_hash ipw_write 3 59807 _002001_hash NULL -+_002002_hash irda_recvmsg_stream 4 35280 _002002_hash NULL -+_002003_hash irq_domain_add_simple 2 46734 _002003_hash NULL -+_002004_hash __iscsi_complete_pdu 4 10726 _002004_hash NULL -+_002005_hash iscsi_nop_out_rsp 4 51117 _002005_hash NULL -+_002006_hash iscsi_tcp_conn_setup 2 16376 _002006_hash NULL -+_002007_hash iwl_dbgfs_bt_traffic_read 3 35534 _002007_hash NULL -+_002008_hash iwl_dbgfs_calib_disabled_read 3 22649 _002008_hash NULL -+_002009_hash iwl_dbgfs_chain_noise_read 3 46355 _002009_hash NULL -+_002010_hash iwl_dbgfs_channels_read 3 6784 _002010_hash NULL -+_002011_hash iwl_dbgfs_current_sleep_command_read 3 2081 _002011_hash NULL -+_002012_hash iwl_dbgfs_disable_ht40_read 3 35761 _002012_hash NULL -+_002013_hash iwl_dbgfs_fh_reg_read 3 879 _002013_hash &_000406_hash -+_002014_hash iwl_dbgfs_interrupt_read 3 23574 _002014_hash NULL -+_002015_hash iwl_dbgfs_log_event_read 3 2107 _002015_hash NULL -+_002016_hash iwl_dbgfs_missed_beacon_read 3 50584 _002016_hash NULL -+_002017_hash iwl_dbgfs_nvm_read 3 23845 _002017_hash NULL -+_002018_hash iwl_dbgfs_plcp_delta_read 3 55407 _002018_hash NULL -+_002019_hash iwl_dbgfs_power_save_status_read 3 54392 _002019_hash NULL -+_002020_hash iwl_dbgfs_protection_mode_read 3 13943 _002020_hash NULL -+_002021_hash iwl_dbgfs_qos_read 3 11753 _002021_hash NULL -+_002022_hash iwl_dbgfs_reply_tx_error_read 3 19205 _002022_hash NULL -+_002023_hash iwl_dbgfs_rf_reset_read 3 26512 _002023_hash NULL -+_002024_hash iwl_dbgfs_rx_handlers_read 3 18708 _002024_hash NULL -+_002025_hash iwl_dbgfs_rxon_filter_flags_read 3 28832 _002025_hash NULL -+_002026_hash iwl_dbgfs_rxon_flags_read 3 20795 _002026_hash NULL -+_002027_hash iwl_dbgfs_rx_queue_read 3 19943 _002027_hash NULL -+_002028_hash iwl_dbgfs_sensitivity_read 3 63116 _002731_hash NULL nohasharray -+_002029_hash iwl_dbgfs_sleep_level_override_read 3 3038 _002029_hash NULL -+_002030_hash iwl_dbgfs_sram_read 3 44505 _002030_hash NULL -+_002031_hash iwl_dbgfs_stations_read 3 9309 _002031_hash NULL -+_002032_hash iwl_dbgfs_status_read 3 5171 _002032_hash NULL -+_002033_hash iwl_dbgfs_temperature_read 3 29224 _002033_hash NULL -+_002034_hash iwl_dbgfs_thermal_throttling_read 3 38779 _002034_hash NULL -+_002035_hash iwl_dbgfs_tx_queue_read 3 4635 _002035_hash NULL -+_002036_hash iwl_dbgfs_ucode_bt_stats_read 3 42820 _002036_hash NULL -+_002037_hash iwl_dbgfs_ucode_general_stats_read 3 49199 _002037_hash NULL -+_002038_hash iwl_dbgfs_ucode_rx_stats_read 3 58023 _002038_hash NULL -+_002039_hash iwl_dbgfs_ucode_tracing_read 3 47983 _002039_hash &_000356_hash -+_002040_hash iwl_dbgfs_ucode_tx_stats_read 3 31611 _002040_hash NULL -+_002041_hash iwl_dbgfs_wowlan_sram_read 3 540 _002041_hash NULL -+_002042_hash joydev_ioctl 2 33343 _002042_hash NULL -+_002043_hash kernel_readv 3 35617 _002043_hash NULL -+_002044_hash key_algorithm_read 3 57946 _002044_hash NULL -+_002045_hash key_icverrors_read 3 20895 _002045_hash NULL -+_002046_hash key_key_read 3 3241 _002046_hash NULL -+_002047_hash key_replays_read 3 62746 _002047_hash NULL -+_002048_hash key_rx_spec_read 3 12736 _002048_hash NULL -+_002049_hash key_tx_spec_read 3 4862 _002049_hash NULL -+_002050_hash __kfifo_to_user 3 36555 _002568_hash NULL nohasharray -+_002051_hash __kfifo_to_user_r 3 39123 _002051_hash NULL -+_002052_hash kmem_zalloc_greedy 2-3 65268 _002052_hash NULL -+_002054_hash l1oip_socket_recv 6 56537 _002054_hash NULL -+_002055_hash l2cap_build_cmd 4 48676 _002055_hash NULL -+_002056_hash l2cap_chan_send 3 49995 _002056_hash NULL -+_002057_hash l2cap_segment_sdu 4 48772 _002057_hash NULL -+_002058_hash l2down_create 4 21755 _002058_hash NULL -+_002059_hash l2tp_xmit_skb 3 42672 _002059_hash NULL -+_002060_hash l2up_create 3 6430 _002060_hash NULL -+_002061_hash lbs_debugfs_read 3 30721 _002061_hash NULL -+_002062_hash lbs_dev_info 3 51023 _002062_hash NULL -+_002063_hash lbs_host_sleep_read 3 31013 _002063_hash NULL -+_002064_hash lbs_rdbbp_read 3 45805 _002064_hash NULL -+_002065_hash lbs_rdmac_read 3 418 _002065_hash NULL -+_002066_hash lbs_rdrf_read 3 41431 _002066_hash NULL -+_002067_hash lbs_sleepparams_read 3 10840 _002067_hash NULL -+_002068_hash lbs_threshold_read 5 21046 _002068_hash NULL -+_002069_hash ldisc_receive 4 41516 _002069_hash NULL -+_002070_hash libfc_vport_create 2 4415 _002070_hash NULL -+_002073_hash lkdtm_debugfs_read 3 45752 _002073_hash NULL -+_002074_hash llcp_sock_recvmsg 4 13556 _002074_hash NULL -+_002075_hash long_retry_limit_read 3 59766 _002075_hash NULL -+_002076_hash lpfc_debugfs_dif_err_read 3 36303 _002076_hash NULL -+_002077_hash lpfc_debugfs_read 3 16566 _002077_hash NULL -+_002078_hash lpfc_idiag_baracc_read 3 58466 _002972_hash NULL nohasharray -+_002079_hash lpfc_idiag_ctlacc_read 3 33943 _002079_hash NULL -+_002080_hash lpfc_idiag_drbacc_read 3 15948 _002080_hash NULL -+_002081_hash lpfc_idiag_extacc_read 3 48301 _002081_hash NULL -+_002082_hash lpfc_idiag_mbxacc_read 3 28061 _002082_hash NULL -+_002083_hash lpfc_idiag_pcicfg_read 3 50334 _002083_hash NULL -+_002084_hash lpfc_idiag_queacc_read 3 13950 _002084_hash NULL -+_002085_hash lpfc_idiag_queinfo_read 3 55662 _002085_hash NULL -+_002086_hash lro_gen_skb 6 2644 _002086_hash NULL -+_002087_hash mac80211_format_buffer 2 41010 _002087_hash NULL -+_002088_hash macvtap_alloc_skb 2-4-3 50629 _002088_hash NULL -+_002091_hash macvtap_put_user 4 55609 _002091_hash NULL -+_002092_hash macvtap_sendmsg 4 30629 _002092_hash NULL -+_002093_hash mangle_packet 6-8 27864 _002093_hash NULL -+_002095_hash manip_pkt 3 7741 _002095_hash NULL -+_002096_hash mempool_create_kmalloc_pool 1 41650 _002096_hash NULL -+_002097_hash mempool_create_page_pool 1 30189 _002097_hash NULL -+_002098_hash mempool_create_slab_pool 1 62907 _002098_hash NULL -+_002099_hash mgmt_device_found 10 14146 _002099_hash NULL -+_002100_hash minstrel_stats_read 3 17290 _002100_hash NULL -+_002101_hash mmc_ext_csd_read 3 13205 _002101_hash NULL -+_002102_hash mon_bin_read 3 6841 _002102_hash NULL -+_002103_hash mon_stat_read 3 25238 _002103_hash NULL -+_002105_hash mqueue_read_file 3 6228 _002105_hash NULL -+_002106_hash mwifiex_debug_read 3 53074 _002106_hash NULL -+_002107_hash mwifiex_getlog_read 3 54269 _002107_hash NULL -+_002108_hash mwifiex_info_read 3 53447 _002108_hash NULL -+_002109_hash mwifiex_rdeeprom_read 3 51429 _002109_hash NULL -+_002110_hash mwifiex_regrdwr_read 3 34472 _002110_hash NULL -+_002111_hash named_prepare_buf 2 24532 _002111_hash NULL -+_002112_hash nci_send_cmd 3 58206 _002112_hash NULL -+_002113_hash netdev_alloc_skb_ip_align 2 40811 _002113_hash NULL -+_002114_hash netpoll_send_udp 3 58955 _002114_hash NULL -+_002115_hash nfcwilink_send_bts_cmd 3 10802 _002115_hash NULL -+_002116_hash nf_nat_mangle_tcp_packet 5-7 8643 _002116_hash NULL -+_002119_hash nfsd_vfs_read 6 62605 _002616_hash NULL nohasharray -+_002120_hash nfsd_vfs_write 6 54577 _002120_hash NULL -+_002121_hash nfs_idmap_lookup_id 2 10660 _002121_hash NULL -+_002122_hash ntfs_rl_realloc 3 56831 _002122_hash &_000370_hash -+_002123_hash ntfs_rl_realloc_nofail 3 32173 _002123_hash NULL -+_002124_hash o2hb_debug_read 3 37851 _002124_hash NULL -+_002125_hash o2net_debug_read 3 52105 _002125_hash NULL -+_002126_hash ocfs2_control_read 3 56405 _002126_hash NULL -+_002127_hash ocfs2_debug_read 3 14507 _002127_hash NULL -+_002128_hash oom_adjust_read 3 25127 _002128_hash NULL -+_002129_hash oom_score_adj_read 3 39921 _002426_hash NULL nohasharray -+_002130_hash oprofilefs_str_to_user 3 42182 _002130_hash NULL -+_002131_hash oprofilefs_ulong_to_user 3 11582 _002131_hash NULL -+_002132_hash osd_req_add_get_attr_list 3 49278 _002132_hash NULL -+_002133_hash _osd_req_list_objects 6 4204 _002133_hash NULL -+_002134_hash osd_req_read_kern 5 59990 _002134_hash NULL -+_002135_hash osd_req_write_kern 5 53486 _002135_hash NULL -+_002136_hash osst_read 3 40237 _002136_hash NULL -+_002137_hash p54_alloc_skb 3 34366 _002137_hash &_000485_hash -+_002138_hash p54_init_common 1 23850 _002138_hash NULL -+_002139_hash packet_alloc_skb 2-5-4 62602 _002139_hash NULL -+_002142_hash packet_sendmsg 4 24954 _002142_hash NULL -+_002143_hash page_readlink 3 23346 _002143_hash NULL -+_002144_hash pcf50633_write_block 3 2124 _002144_hash NULL -+_002145_hash pcpu_alloc_alloc_info 1-2 45813 _002145_hash NULL -+_002147_hash pep_indicate 5 38611 _002147_hash NULL -+_002148_hash pep_reply 5 50582 _002148_hash NULL -+_002149_hash pipe_handler_request 5 50774 _003582_hash NULL nohasharray -+_002150_hash platform_list_read_file 3 34734 _002150_hash NULL -+_002151_hash pm860x_bulk_write 3 43875 _002151_hash NULL -+_002152_hash pm_qos_power_read 3 55891 _002152_hash NULL -+_002153_hash port_show_regs 3 5904 _002153_hash NULL -+_002154_hash proc_coredump_filter_read 3 39153 _002154_hash NULL -+_002155_hash proc_fdinfo_read 3 62043 _002155_hash NULL -+_002156_hash proc_file_read 3 53905 _002156_hash NULL -+_002157_hash proc_info_read 3 63344 _002157_hash NULL -+_002158_hash proc_loginuid_read 3 15631 _002158_hash NULL -+_002159_hash proc_pid_attr_read 3 10173 _002159_hash NULL -+_002160_hash proc_pid_readlink 3 52186 _002160_hash NULL -+_002161_hash proc_read 3 43614 _002161_hash NULL -+_002162_hash proc_self_readlink 3 38094 _002162_hash NULL -+_002163_hash proc_sessionid_read 3 6911 _002299_hash NULL nohasharray -+_002164_hash provide_user_output 3 41105 _002164_hash NULL -+_002165_hash pskb_network_may_pull 2 35336 _002165_hash NULL -+_002166_hash pskb_pull 2 65005 _002166_hash NULL -+_002167_hash pstore_file_read 3 57288 _002167_hash NULL -+_002168_hash ql_process_mac_rx_page 4 15543 _002168_hash NULL -+_002169_hash ql_process_mac_rx_skb 4 6689 _002169_hash NULL -+_002170_hash queues_read 3 24877 _002170_hash NULL -+_002171_hash raw_recvmsg 4 17277 _002171_hash NULL -+_002172_hash rcname_read 3 25919 _002172_hash NULL -+_002173_hash read_4k_modal_eeprom 3 30212 _002173_hash NULL -+_002174_hash read_9287_modal_eeprom 3 59327 _002174_hash NULL -+_002175_hash reada_find_extent 2 63486 _002175_hash NULL -+_002176_hash read_def_modal_eeprom 3 14041 _002176_hash NULL -+_002177_hash read_enabled_file_bool 3 37744 _002177_hash NULL -+_002178_hash read_file_ani 3 23161 _002178_hash NULL -+_002179_hash read_file_antenna 3 13574 _002179_hash NULL -+_002180_hash read_file_base_eeprom 3 42168 _002180_hash NULL -+_002181_hash read_file_beacon 3 32595 _002181_hash NULL -+_002182_hash read_file_blob 3 57406 _002182_hash NULL -+_002183_hash read_file_bool 3 4180 _002183_hash NULL -+_002184_hash read_file_credit_dist_stats 3 54367 _002184_hash NULL -+_002185_hash read_file_debug 3 58256 _002185_hash NULL -+_002186_hash read_file_disable_ani 3 6536 _002186_hash NULL -+_002187_hash read_file_dma 3 9530 _002187_hash NULL -+_002188_hash read_file_dump_nfcal 3 18766 _002188_hash NULL -+_002189_hash read_file_frameerrors 3 64001 _002189_hash NULL -+_002190_hash read_file_interrupt 3 61742 _002197_hash NULL nohasharray -+_002191_hash read_file_misc 3 9948 _002191_hash NULL -+_002192_hash read_file_modal_eeprom 3 39909 _002192_hash NULL -+_002193_hash read_file_queue 3 40895 _002193_hash NULL -+_002194_hash read_file_rcstat 3 22854 _002194_hash NULL -+_002195_hash read_file_recv 3 48232 _002195_hash NULL -+_002196_hash read_file_regidx 3 33370 _002196_hash NULL -+_002197_hash read_file_regval 3 61742 _002197_hash &_002190_hash -+_002198_hash read_file_reset 3 52310 _002198_hash NULL -+_002199_hash read_file_rx_chainmask 3 41605 _002199_hash NULL -+_002200_hash read_file_slot 3 50111 _002200_hash NULL -+_002201_hash read_file_stations 3 35795 _002201_hash NULL -+_002202_hash read_file_tgt_int_stats 3 20697 _002202_hash NULL -+_002203_hash read_file_tgt_rx_stats 3 33944 _002203_hash NULL -+_002204_hash read_file_tgt_stats 3 8959 _002204_hash NULL -+_002205_hash read_file_tgt_tx_stats 3 51847 _002205_hash NULL -+_002206_hash read_file_tx_chainmask 3 3829 _002206_hash NULL -+_002207_hash read_file_war_stats 3 292 _002207_hash NULL -+_002208_hash read_file_xmit 3 21487 _002208_hash NULL -+_002209_hash read_flush_pipefs 3 20171 _002209_hash NULL -+_002210_hash read_flush_procfs 3 27642 _002210_hash NULL -+_002211_hash read_from_oldmem 2 3337 _002211_hash NULL -+_002212_hash read_oldmem 3 55658 _002212_hash NULL -+_002213_hash receive_packet 2 12367 _002213_hash NULL -+_002214_hash regmap_name_read_file 3 39379 _002214_hash NULL -+_002215_hash repair_io_failure 4 4815 _002215_hash NULL -+_002216_hash request_key_and_link 4 42693 _002216_hash NULL -+_002217_hash res_counter_read 4 33499 _002217_hash NULL -+_002218_hash rfcomm_tty_write 3 51603 _002218_hash NULL -+_002219_hash rs_sta_dbgfs_rate_scale_data_read 3 47165 _002219_hash NULL -+_002220_hash rs_sta_dbgfs_scale_table_read 3 40262 _002220_hash NULL -+_002221_hash rs_sta_dbgfs_stats_table_read 3 56573 _002221_hash NULL -+_002222_hash rts_threshold_read 3 44384 _002222_hash NULL -+_002223_hash rxrpc_sendmsg 4 29049 _002223_hash NULL -+_002224_hash scrub_setup_recheck_block 3-4 56245 _002224_hash NULL -+_002226_hash scsi_adjust_queue_depth 3 12802 _002226_hash NULL -+_002227_hash sctp_make_abort 3 34459 _002227_hash NULL -+_002228_hash sctp_make_asconf 3 4078 _002228_hash NULL -+_002229_hash sctp_make_asconf_ack 3 31726 _002229_hash NULL -+_002230_hash sctp_make_datafrag_empty 3 34737 _002230_hash NULL -+_002231_hash sctp_make_fwdtsn 3 53265 _002231_hash NULL -+_002232_hash sctp_make_heartbeat_ack 4 34411 _002232_hash NULL -+_002233_hash sctp_make_init 4 58401 _002233_hash NULL -+_002234_hash sctp_make_init_ack 4 3335 _002234_hash NULL -+_002235_hash sctp_make_op_error_space 3 5528 _002235_hash NULL -+_002236_hash sctp_manip_pkt 2 40620 _002236_hash NULL -+_002237_hash selinux_inode_notifysecctx 3 36896 _002237_hash NULL -+_002238_hash sel_read_avc_cache_threshold 3 33942 _002238_hash NULL -+_002239_hash sel_read_avc_hash_stats 3 1984 _002239_hash NULL -+_002240_hash sel_read_bool 3 24236 _002240_hash NULL -+_002241_hash sel_read_checkreqprot 3 33068 _002241_hash NULL -+_002242_hash sel_read_class 3 12669 _002960_hash NULL nohasharray -+_002243_hash sel_read_enforce 3 2828 _002243_hash NULL -+_002244_hash sel_read_handle_status 3 56139 _002244_hash NULL -+_002245_hash sel_read_handle_unknown 3 57933 _002245_hash NULL -+_002246_hash sel_read_initcon 3 32362 _002246_hash NULL -+_002247_hash sel_read_mls 3 25369 _002247_hash NULL -+_002248_hash sel_read_perm 3 42302 _002248_hash NULL -+_002249_hash sel_read_policy 3 55947 _002249_hash NULL -+_002250_hash sel_read_policycap 3 28544 _002250_hash NULL -+_002251_hash sel_read_policyvers 3 55 _002827_hash NULL nohasharray -+_002252_hash send_mpa_reject 3 7135 _002252_hash NULL -+_002253_hash send_mpa_reply 3 32372 _002253_hash NULL -+_002254_hash send_msg 4 37323 _002254_hash NULL -+_002255_hash send_packet 4 52960 _002255_hash NULL -+_002256_hash set_rxd_buffer_pointer 8 9950 _002256_hash NULL -+_002257_hash sge_rx 3 50594 _002257_hash NULL -+_002258_hash short_retry_limit_read 3 4687 _002258_hash NULL -+_002259_hash simple_attr_read 3 24738 _002259_hash NULL -+_002260_hash simple_transaction_read 3 17076 _002260_hash NULL -+_002261_hash sisusbcon_bmove 5-7-6 21873 _002261_hash NULL -+_002264_hash sisusbcon_clear 3-5-4 64329 _002264_hash NULL -+_002267_hash sisusbcon_putcs 3 57630 _002267_hash &_001043_hash -+_002268_hash sisusbcon_scroll 5-3-2 31315 _002268_hash NULL -+_002269_hash sisusbcon_scroll_area 3-4 25899 _002269_hash NULL -+_002271_hash skb_copy_datagram_const_iovec 2-5-4 48102 _002271_hash NULL -+_002274_hash skb_copy_datagram_iovec 2-4 5806 _002274_hash NULL -+_002276_hash skb_gro_header_slow 2 34958 _002276_hash NULL -+_002277_hash smk_read_ambient 3 61220 _002277_hash NULL -+_002278_hash smk_read_direct 3 15803 _002278_hash NULL -+_002279_hash smk_read_doi 3 30813 _002279_hash NULL -+_002280_hash smk_read_logging 3 37804 _002280_hash NULL -+_002281_hash smk_read_mapped 3 7562 _002281_hash NULL -+_002282_hash smk_read_onlycap 3 3855 _002282_hash NULL -+_002283_hash smp_build_cmd 3 45853 _002283_hash NULL -+_002284_hash snapshot_read 3 22601 _002284_hash NULL -+_002285_hash snd_cs4281_BA0_read 5 6847 _002285_hash NULL -+_002286_hash snd_cs4281_BA1_read 5 20323 _002286_hash NULL -+_002287_hash snd_cs46xx_io_read 5 45734 _002287_hash NULL -+_002288_hash snd_gus_dram_read 4 56686 _002288_hash NULL -+_002289_hash snd_mixart_BA0_read 5 45069 _002289_hash NULL -+_002290_hash snd_mixart_BA1_read 5 5082 _002290_hash NULL -+_002291_hash snd_pcm_oss_read 3 28317 _002291_hash NULL -+_002292_hash snd_pcm_plug_alloc 2 42339 _002292_hash NULL -+_002293_hash snd_rawmidi_kernel_read 3 4328 _002293_hash NULL -+_002294_hash snd_rawmidi_read 3 56337 _002294_hash NULL -+_002295_hash snd_rme32_capture_copy 5 39653 _002295_hash NULL -+_002296_hash snd_rme96_capture_copy 5 58484 _002296_hash NULL -+_002297_hash snd_soc_hw_bulk_write_raw 4 14245 _002297_hash NULL -+_002298_hash sock_alloc_send_skb 2 23720 _002298_hash NULL -+_002299_hash spi_show_regs 3 6911 _002299_hash &_002163_hash -+_002300_hash sta_agg_status_read 3 14058 _002300_hash NULL -+_002301_hash sta_connected_time_read 3 17435 _002301_hash NULL -+_002302_hash sta_flags_read 3 56710 _002302_hash NULL -+_002303_hash sta_ht_capa_read 3 10366 _002303_hash NULL -+_002304_hash sta_last_seq_ctrl_read 3 19106 _002304_hash NULL -+_002305_hash sta_num_ps_buf_frames_read 3 1488 _002305_hash NULL -+_002306_hash st_read 3 51251 _002306_hash NULL -+_002307_hash supply_map_read_file 3 10608 _002307_hash NULL -+_002308_hash sysfs_read_file 3 42113 _002308_hash NULL -+_002309_hash sys_preadv 3 17100 _002309_hash NULL -+_002310_hash sys_pwritev 3 41722 _002310_hash NULL -+_002311_hash sys_readv 3 50664 _002311_hash NULL -+_002312_hash sys_rt_sigpending 2 24961 _002312_hash NULL -+_002313_hash sys_writev 3 28384 _002313_hash NULL -+_002314_hash tcf_csum_skb_nextlayer 3 64025 _002314_hash NULL -+_002315_hash tcp_fragment 3 20436 _002315_hash NULL -+_002316_hash tcp_manip_pkt 2 14202 _002316_hash NULL -+_002317_hash teiup_create 3 43201 _002317_hash NULL -+_002318_hash test_iso_queue 5 62534 _002318_hash NULL -+_002319_hash tg3_run_loopback 2 30093 _002319_hash NULL -+_002320_hash tipc_msg_build 4 12326 _002320_hash NULL -+_002321_hash TSS_authhmac 3 12839 _002321_hash NULL -+_002322_hash TSS_checkhmac1 5 31429 _002322_hash NULL -+_002323_hash TSS_checkhmac2 5-7 40520 _002323_hash NULL -+_002325_hash tty_audit_log 8 47280 _002325_hash NULL -+_002326_hash tty_buffer_request_room 2 23228 _002326_hash NULL -+_002327_hash tty_insert_flip_string_fixed_flag 4 37428 _002327_hash NULL -+_002328_hash tty_insert_flip_string_flags 4 30969 _002328_hash NULL -+_002329_hash tty_prepare_flip_string 3 39955 _002329_hash NULL -+_002330_hash tty_prepare_flip_string_flags 4 59240 _002330_hash NULL -+_002331_hash tun_alloc_skb 2-4-3 41216 _002331_hash NULL -+_002334_hash tun_sendmsg 4 10337 _002334_hash NULL -+_002335_hash u32_array_read 3 2219 _002335_hash NULL -+_002336_hash ubi_io_write_data 4-5 40305 _002336_hash NULL -+_002338_hash udplite_manip_pkt 2 62433 _002338_hash NULL -+_002339_hash udp_manip_pkt 2 50770 _002339_hash NULL -+_002340_hash uhci_debug_read 3 5911 _002340_hash NULL -+_002341_hash um_idi_read 3 850 _002341_hash NULL -+_002342_hash unix_seqpacket_sendmsg 4 27893 _002342_hash NULL -+_002343_hash unix_stream_recvmsg 4 35210 _002343_hash NULL -+_002344_hash unlink_simple 3 47506 _002344_hash NULL -+_002345_hash use_pool 2 64607 _002345_hash NULL -+_002346_hash v9fs_fid_readn 4 60544 _002346_hash NULL -+_002347_hash v9fs_file_read 3 40858 _002347_hash NULL -+_002348_hash vhci_read 3 47878 _002348_hash NULL -+_002349_hash vhost_add_used_and_signal_n 4 8038 _002349_hash NULL -+_002350_hash vmbus_open 2-3 12154 _002350_hash NULL -+_002352_hash vxge_rx_alloc 3 52024 _002352_hash NULL -+_002353_hash waiters_read 3 40902 _002353_hash NULL -+_002354_hash wm8994_bulk_write 3 13615 _002354_hash NULL -+_002355_hash write_pbl 4 59583 _002355_hash NULL -+_002356_hash wusb_prf_256 7 29203 _002356_hash NULL -+_002357_hash wusb_prf_64 7 51065 _002357_hash NULL -+_002358_hash _xfs_buf_alloc 3 38058 _002358_hash NULL -+_002359_hash xfs_buf_read_uncached 3 42844 _002359_hash NULL -+_002360_hash xfs_file_buffered_aio_write 4 11492 _002360_hash NULL -+_002361_hash xfs_iext_add 3 41422 _002361_hash NULL -+_002362_hash xfs_iext_remove_direct 3 40744 _002362_hash NULL -+_002363_hash xfs_readdir 3 41200 _002363_hash NULL -+_002364_hash xfs_trans_get_efd 3 51148 _002364_hash NULL -+_002365_hash xfs_trans_get_efi 2 7898 _002365_hash NULL -+_002366_hash xlog_bread_offset 3 60030 _002366_hash NULL -+_002367_hash xlog_get_bp 2 23229 _002367_hash NULL -+_002368_hash xz_dec_init 2 29029 _002368_hash NULL -+_002369_hash aac_change_queue_depth 2 825 _002369_hash NULL -+_002370_hash add_rx_skb 3 8257 _002370_hash NULL -+_002371_hash afs_extract_data 5 50261 _002371_hash NULL -+_002372_hash arcmsr_adjust_disk_queue_depth 2 16756 _002372_hash NULL -+_002373_hash atalk_recvmsg 4 22053 _002373_hash NULL -+_002374_hash ath6kl_buf_alloc 1 57304 _002374_hash NULL -+_002376_hash atomic_read_file 3 16227 _002376_hash NULL -+_002377_hash ax25_recvmsg 4 64441 _002377_hash NULL -+_002378_hash batadv_add_packet 3 12136 _002378_hash NULL -+_002379_hash batadv_iv_ogm_aggregate_new 2 54761 _002379_hash NULL -+_002380_hash batadv_tt_response_fill_table 1 39236 _002380_hash NULL -+_002381_hash beiscsi_process_async_pdu 7 39834 _002381_hash NULL -+_002382_hash bioset_create 1 5580 _002382_hash NULL -+_002383_hash bioset_integrity_create 2 62708 _002383_hash NULL -+_002384_hash biovec_create_pools 2 9575 _002384_hash NULL -+_002385_hash bnx2fc_process_l2_frame_compl 3 65072 _002385_hash NULL -+_002386_hash brcmf_sdbrcm_died_dump 3 15841 _002386_hash NULL -+_002387_hash brcmu_pkt_buf_get_skb 1 5556 _002387_hash NULL -+_002388_hash br_send_bpdu 3 29669 _002388_hash NULL -+_002389_hash btrfs_error_discard_extent 2 50444 _002389_hash NULL -+_002390_hash __btrfs_free_reserved_extent 2 31207 _002390_hash NULL -+_002391_hash btrfsic_cmp_log_and_dev_bytenr 2 49628 _002391_hash NULL -+_002392_hash btrfsic_create_link_to_next_block 4 58246 _002392_hash NULL -+_002393_hash btrfs_init_new_buffer 4 55761 _002393_hash NULL -+_002394_hash btrfs_mksubvol 3 58240 _002394_hash NULL -+_002395_hash bt_skb_send_alloc 2 6581 _002395_hash NULL -+_002396_hash bt_sock_recvmsg 4 12316 _002396_hash NULL -+_002397_hash bt_sock_stream_recvmsg 4 52518 _002397_hash NULL -+_002398_hash c4iw_reject_cr 3 28174 _002398_hash NULL -+_002399_hash caif_seqpkt_recvmsg 4 32241 _002399_hash NULL -+_002400_hash carl9170_rx_copy_data 2 21656 _002400_hash NULL -+_002401_hash cfpkt_append 3 61206 _002401_hash NULL -+_002402_hash cfpkt_setlen 2 49343 _002402_hash NULL -+_002403_hash cgroup_file_read 3 28804 _002403_hash NULL -+_002404_hash cosa_net_setup_rx 2 38594 _002404_hash NULL -+_002405_hash cpu_type_read 3 36540 _002405_hash NULL -+_002406_hash cxgb4_pktgl_to_skb 2 61899 _002406_hash NULL -+_002408_hash dccp_recvmsg 4 16056 _002408_hash NULL -+_002409_hash ddp_clear_map 4 46152 _002409_hash NULL -+_002410_hash ddp_set_map 4 751 _002410_hash NULL -+_002411_hash depth_read 3 31112 _002411_hash NULL -+_002412_hash dfs_global_file_read 3 7787 _002412_hash NULL -+_002413_hash dgram_recvmsg 4 23104 _002413_hash NULL -+_002414_hash diva_init_dma_map 3 58336 _002414_hash NULL -+_002415_hash divas_write 3 63901 _002415_hash NULL -+_002416_hash dma_push_rx 2 39973 _002416_hash NULL -+_002417_hash dma_skb_copy_datagram_iovec 3-5 21516 _002417_hash NULL -+_002419_hash dm_table_create 3 35687 _002419_hash NULL -+_002420_hash dn_alloc_send_pskb 2 4465 _002420_hash NULL -+_002421_hash dn_nsp_return_disc 2 60296 _002421_hash NULL -+_002422_hash dn_nsp_send_disc 2 23469 _002422_hash NULL -+_002423_hash dsp_tone_hw_message 3 17678 _002423_hash NULL -+_002424_hash e1000_check_copybreak 3 62448 _002424_hash NULL -+_002425_hash enable_read 3 2117 _002425_hash &_000224_hash -+_002426_hash exofs_read_kern 6 39921 _002426_hash &_002129_hash -+_002427_hash fast_rx_path 3 59214 _002427_hash NULL -+_002428_hash fc_change_queue_depth 2 36841 _002428_hash NULL -+_002429_hash fc_fcp_frame_alloc 2 12624 _002429_hash NULL -+_002430_hash fcoe_ctlr_send_keep_alive 3 15308 _002430_hash NULL -+_002431_hash frequency_read 3 64031 _003698_hash NULL nohasharray -+_002432_hash ftdi_process_packet 5 45005 _002432_hash NULL -+_002433_hash fuse_conn_congestion_threshold_read 3 51028 _002433_hash NULL -+_002434_hash fuse_conn_max_background_read 3 10855 _002434_hash NULL -+_002435_hash fwnet_incoming_packet 3 40380 _002435_hash NULL -+_002436_hash fwnet_pd_new 4 39947 _003402_hash NULL nohasharray -+_002437_hash get_alua_req 3 4166 _002437_hash NULL -+_002438_hash get_rdac_req 3 45882 _002438_hash NULL -+_002439_hash got_frame 2 16028 _002439_hash NULL -+_002440_hash gsm_mux_rx_netchar 3 33336 _002440_hash NULL -+_002441_hash hci_sock_recvmsg 4 7072 _002441_hash NULL -+_002442_hash hdlcdev_rx 3 997 _002442_hash NULL -+_002443_hash hdlc_empty_fifo 2 18397 _002443_hash NULL -+_002444_hash hfc_empty_fifo 2 57972 _002444_hash NULL -+_002445_hash hfcpci_empty_fifo 4 2427 _002445_hash NULL -+_002446_hash hfcsusb_rx_frame 3 52745 _002446_hash NULL -+_002447_hash hidp_output_raw_report 3 5629 _002447_hash NULL -+_002448_hash hpsa_change_queue_depth 2 15449 _002448_hash NULL -+_002449_hash hptiop_adjust_disk_queue_depth 2 20122 _002449_hash NULL -+_002450_hash hscx_empty_fifo 2 13360 _002450_hash NULL -+_002451_hash hysdn_rx_netpkt 3 16136 _002451_hash NULL -+_002452_hash i2o_pool_alloc 4 55485 _002452_hash NULL -+_002453_hash ide_queue_pc_tail 5 11673 _002453_hash NULL -+_002454_hash ide_raw_taskfile 4 42355 _002454_hash NULL -+_002455_hash idetape_queue_rw_tail 3 29562 _002455_hash NULL -+_002456_hash ieee80211_amsdu_to_8023s 5 15561 _002456_hash NULL -+_002457_hash ieee80211_fragment 4 33112 _002457_hash NULL -+_002458_hash ieee80211_if_read_aid 3 9705 _002458_hash NULL -+_002459_hash ieee80211_if_read_auto_open_plinks 3 38268 _002459_hash &_000374_hash -+_002460_hash ieee80211_if_read_ave_beacon 3 64924 _002460_hash NULL -+_002461_hash ieee80211_if_read_bssid 3 35161 _002461_hash NULL -+_002462_hash ieee80211_if_read_channel_type 3 23884 _002462_hash NULL -+_002463_hash ieee80211_if_read_dot11MeshConfirmTimeout 3 60670 _002463_hash NULL -+_002464_hash ieee80211_if_read_dot11MeshForwarding 3 13940 _002464_hash NULL -+_002465_hash ieee80211_if_read_dot11MeshGateAnnouncementProtocol 3 14486 _002465_hash NULL -+_002466_hash ieee80211_if_read_dot11MeshHoldingTimeout 3 47356 _002466_hash NULL -+_002467_hash ieee80211_if_read_dot11MeshHWMPactivePathTimeout 3 7368 _002467_hash NULL -+_002468_hash ieee80211_if_read_dot11MeshHWMPactivePathToRootTimeout 3 17618 _002468_hash NULL -+_002469_hash ieee80211_if_read_dot11MeshHWMPconfirmationInterval 3 57722 _002469_hash NULL -+_002470_hash ieee80211_if_read_dot11MeshHWMPmaxPREQretries 3 59829 _002470_hash NULL -+_002471_hash ieee80211_if_read_dot11MeshHWMPnetDiameterTraversalTime 3 1589 _002471_hash NULL -+_002472_hash ieee80211_if_read_dot11MeshHWMPperrMinInterval 3 17346 _002472_hash NULL -+_002473_hash ieee80211_if_read_dot11MeshHWMPpreqMinInterval 3 24208 _002473_hash NULL -+_002474_hash ieee80211_if_read_dot11MeshHWMPRannInterval 3 2249 _002474_hash NULL -+_002475_hash ieee80211_if_read_dot11MeshHWMProotInterval 3 27873 _002475_hash NULL -+_002476_hash ieee80211_if_read_dot11MeshHWMPRootMode 3 51441 _002476_hash NULL -+_002477_hash ieee80211_if_read_dot11MeshMaxPeerLinks 3 23878 _002477_hash NULL -+_002478_hash ieee80211_if_read_dot11MeshMaxRetries 3 12756 _002478_hash NULL -+_002479_hash ieee80211_if_read_dot11MeshRetryTimeout 3 52168 _002479_hash NULL -+_002480_hash ieee80211_if_read_dot11MeshTTL 3 58307 _002480_hash NULL -+_002481_hash ieee80211_if_read_dropped_frames_congestion 3 32603 _002481_hash NULL -+_002482_hash ieee80211_if_read_dropped_frames_no_route 3 33383 _002482_hash NULL -+_002483_hash ieee80211_if_read_dropped_frames_ttl 3 44500 _002483_hash NULL -+_002484_hash ieee80211_if_read_drop_unencrypted 3 37053 _002484_hash NULL -+_002485_hash ieee80211_if_read_dtim_count 3 38419 _002485_hash NULL -+_002486_hash ieee80211_if_read_element_ttl 3 18869 _002486_hash NULL -+_002487_hash ieee80211_if_read_estab_plinks 3 32533 _002487_hash NULL -+_002488_hash ieee80211_if_read_flags 3 57470 _002919_hash NULL nohasharray -+_002489_hash ieee80211_if_read_fwded_frames 3 36520 _002489_hash NULL -+_002490_hash ieee80211_if_read_fwded_mcast 3 39571 _002490_hash &_000162_hash -+_002491_hash ieee80211_if_read_fwded_unicast 3 59740 _002491_hash &_001697_hash -+_002492_hash ieee80211_if_read_ht_opmode 3 29044 _002492_hash NULL -+_002493_hash ieee80211_if_read_last_beacon 3 31257 _002493_hash NULL -+_002494_hash ieee80211_if_read_min_discovery_timeout 3 13946 _002494_hash NULL -+_002495_hash ieee80211_if_read_num_buffered_multicast 3 12716 _002495_hash NULL -+_002496_hash ieee80211_if_read_num_mcast_sta 3 12419 _002496_hash NULL -+_002497_hash ieee80211_if_read_num_sta_ps 3 34722 _002497_hash NULL -+_002498_hash ieee80211_if_read_path_refresh_time 3 25545 _002498_hash NULL -+_002499_hash ieee80211_if_read_peer 3 45233 _002499_hash NULL -+_002500_hash ieee80211_if_read_rc_rateidx_mask_2ghz 3 61570 _002500_hash NULL -+_002501_hash ieee80211_if_read_rc_rateidx_mask_5ghz 3 27183 _002501_hash NULL -+_002502_hash ieee80211_if_read_rc_rateidx_mcs_mask_2ghz 3 37675 _002502_hash NULL -+_002503_hash ieee80211_if_read_rc_rateidx_mcs_mask_5ghz 3 44423 _002503_hash NULL -+_002504_hash ieee80211_if_read_rssi_threshold 3 49260 _002504_hash NULL -+_002505_hash ieee80211_if_read_smps 3 27416 _002505_hash NULL -+_002506_hash ieee80211_if_read_state 3 9813 _002707_hash NULL nohasharray -+_002507_hash ieee80211_if_read_tkip_mic_test 3 19565 _002507_hash NULL -+_002508_hash ieee80211_if_read_tsf 3 16420 _002508_hash NULL -+_002509_hash ieee80211_if_read_uapsd_max_sp_len 3 15067 _002509_hash NULL -+_002510_hash ieee80211_if_read_uapsd_queues 3 55150 _002510_hash NULL -+_002511_hash ieee80211_mgmt_tx 9 46860 _002511_hash NULL -+_002512_hash ieee80211_probereq_get 4-6 29069 _002512_hash NULL -+_002514_hash ieee80211_rx_mgmt_beacon 3 24430 _002514_hash NULL -+_002515_hash ieee80211_rx_mgmt_probe_resp 3 6918 _002515_hash NULL -+_002516_hash ieee80211_send_auth 5 24121 _002516_hash NULL -+_002517_hash ieee80211_set_probe_resp 3 10077 _002517_hash NULL -+_002518_hash ieee80211_tdls_mgmt 8 9581 _002518_hash NULL -+_002519_hash ima_show_htable_violations 3 10619 _002519_hash NULL -+_002520_hash ima_show_measurements_count 3 23536 _002520_hash NULL -+_002521_hash insert_one_name 7 61668 _002521_hash NULL -+_002522_hash ip6_ufo_append_data 5-7-6 4780 _002522_hash NULL -+_002525_hash ip_append_data 5-6 16942 _002525_hash NULL -+_002526_hash ip_make_skb 5-6 13129 _002526_hash NULL -+_002527_hash ip_nat_sdp_port 6 52938 _002527_hash NULL -+_002528_hash ip_nat_sip_expect 7 45693 _002528_hash NULL -+_002529_hash ipr_change_queue_depth 2 6431 _002529_hash NULL -+_002530_hash ip_recv_error 3 23109 _002530_hash NULL -+_002531_hash ip_ufo_append_data 6-8-7 12775 _002531_hash NULL -+_002534_hash ipv6_recv_error 3 56347 _002534_hash NULL -+_002535_hash ipv6_recv_rxpmtu 3 7142 _002535_hash NULL -+_002536_hash ipw_packet_received_skb 2 1230 _002536_hash NULL -+_002537_hash ipx_recvmsg 4 44366 _002537_hash NULL -+_002538_hash irda_recvmsg_dgram 4 32631 _002538_hash NULL -+_002539_hash iscsi_change_queue_depth 2 23416 _002539_hash NULL -+_002540_hash iscsi_complete_pdu 4 48372 _002540_hash NULL -+_002541_hash iwch_reject_cr 3 23901 _002541_hash NULL -+_002542_hash ixgb_check_copybreak 3 5847 _002542_hash NULL -+_002543_hash key_conf_hw_key_idx_read 3 25003 _002543_hash NULL -+_002544_hash key_conf_keyidx_read 3 42443 _002544_hash NULL -+_002545_hash key_conf_keylen_read 3 49758 _002545_hash NULL -+_002546_hash key_flags_read 3 25931 _002546_hash NULL -+_002547_hash key_ifindex_read 3 31411 _002547_hash NULL -+_002548_hash key_tx_rx_count_read 3 44742 _002548_hash NULL -+_002549_hash kmsg_read 3 46514 _002549_hash NULL -+_002550_hash l1oip_socket_parse 4 4507 _002550_hash NULL -+_002551_hash l2cap_send_cmd 4 14548 _002551_hash NULL -+_002552_hash l2cap_sock_sendmsg 4 63427 _002552_hash NULL -+_002553_hash l2tp_ip6_recvmsg 4 62874 _002553_hash NULL -+_002554_hash l2tp_ip6_sendmsg 4 7461 _002554_hash NULL -+_002555_hash l2tp_ip_recvmsg 4 22681 _002555_hash NULL -+_002556_hash lbs_bcnmiss_read 3 8678 _002556_hash NULL -+_002557_hash lbs_failcount_read 3 31063 _002557_hash NULL -+_002558_hash lbs_highrssi_read 3 64089 _002558_hash NULL -+_002559_hash lbs_highsnr_read 3 5931 _002559_hash NULL -+_002560_hash lbs_lowrssi_read 3 32242 _002560_hash NULL -+_002561_hash lbs_lowsnr_read 3 29571 _002561_hash NULL -+_002563_hash llc_ui_recvmsg 4 3826 _002563_hash NULL -+_002564_hash lowpan_fragment_xmit 3-4 22095 _002564_hash NULL -+_002566_hash lpfc_change_queue_depth 2 25905 _002566_hash NULL -+_002568_hash macvtap_do_read 4 36555 _002568_hash &_002050_hash -+_002569_hash mangle_sdp_packet 9 36279 _002569_hash NULL -+_002570_hash map_addr 6 4666 _002570_hash NULL -+_002571_hash mcs_unwrap_fir 3 25733 _002571_hash NULL -+_002572_hash mcs_unwrap_mir 3 9455 _002572_hash NULL -+_002573_hash megaraid_change_queue_depth 2 64815 _002573_hash NULL -+_002574_hash megasas_change_queue_depth 2 32747 _002574_hash NULL -+_002575_hash mld_newpack 2 50950 _002575_hash NULL -+_002576_hash mptscsih_change_queue_depth 2 26036 _002576_hash NULL -+_002577_hash named_distribute 4 48544 _002577_hash NULL -+_002578_hash NCR_700_change_queue_depth 2 31742 _002578_hash NULL -+_002579_hash netlink_recvmsg 4 61600 _002579_hash NULL -+_002580_hash nfc_alloc_send_skb 4 3167 _002580_hash NULL -+_002581_hash nf_nat_ftp 5 47948 _002581_hash NULL -+_002582_hash nfsctl_transaction_read 3 48250 _002582_hash NULL -+_002583_hash nfsd_read 5 19568 _002583_hash NULL -+_002584_hash nfsd_read_file 6 62241 _002584_hash NULL -+_002585_hash nfsd_write 6 54809 _002585_hash NULL -+_002586_hash nfs_map_group_to_gid 3 15892 _002586_hash NULL -+_002587_hash nfs_map_name_to_uid 3 51132 _002587_hash NULL -+_002588_hash nr_recvmsg 4 12649 _002588_hash NULL -+_002589_hash ntfs_rl_append 2-4 6037 _002589_hash NULL -+_002591_hash ntfs_rl_insert 2-4 4931 _002591_hash NULL -+_002593_hash ntfs_rl_replace 2-4 14136 _002593_hash NULL -+_002595_hash ntfs_rl_split 2-4 52328 _002595_hash NULL -+_002597_hash osd_req_list_collection_objects 5 36664 _002597_hash NULL -+_002598_hash osd_req_list_partition_objects 5 56464 _002598_hash NULL -+_002599_hash osd_req_read_sg 5 47905 _002599_hash NULL -+_002600_hash osd_req_write_sg 5 50908 _002600_hash NULL -+_002602_hash p54_download_eeprom 4 43842 _002602_hash NULL -+_002604_hash packet_recv_error 3 16669 _002604_hash NULL -+_002605_hash packet_recvmsg 4 47700 _002605_hash NULL -+_002606_hash pep_recvmsg 4 19402 _002606_hash NULL -+_002607_hash pfkey_recvmsg 4 53604 _002607_hash NULL -+_002608_hash ping_recvmsg 4 25597 _002608_hash NULL -+_002609_hash pmcraid_change_queue_depth 2 9116 _002609_hash NULL -+_002610_hash pn_recvmsg 4 30887 _002610_hash NULL -+_002611_hash pointer_size_read 3 51863 _002611_hash NULL -+_002612_hash power_read 3 15939 _002612_hash NULL -+_002613_hash pppoe_recvmsg 4 15073 _002613_hash NULL -+_002614_hash pppol2tp_recvmsg 4 57742 _002993_hash NULL nohasharray -+_002615_hash ppp_tx_cp 5 62044 _002615_hash NULL -+_002616_hash prism2_send_mgmt 4 62605 _002616_hash &_002119_hash -+_002617_hash prism2_sta_send_mgmt 5 43916 _002617_hash NULL -+_002618_hash prison_create 1 43623 _002618_hash NULL -+_002619_hash qla2x00_adjust_sdev_qdepth_up 2 20097 _002619_hash NULL -+_002620_hash qla2x00_change_queue_depth 2 24742 _002620_hash NULL -+_002621_hash _queue_data 4 54983 _002621_hash NULL -+_002622_hash raw_recvmsg 4 52529 _002622_hash NULL -+_002623_hash rawsock_recvmsg 4 12144 _002623_hash NULL -+_002624_hash rawv6_recvmsg 4 30265 _002624_hash NULL -+_002625_hash rds_tcp_data_recv 3 53476 _002625_hash NULL -+_002626_hash reada_add_block 2 54247 _002626_hash NULL -+_002627_hash readahead_tree_block 3 36285 _002627_hash NULL -+_002628_hash reada_tree_block_flagged 3 18402 _002628_hash NULL -+_002629_hash read_dma 3 55086 _002629_hash NULL -+_002630_hash read_fifo 3 826 _002630_hash NULL -+_002631_hash read_tree_block 3 841 _002631_hash NULL -+_002632_hash receive_copy 3 12216 _002632_hash NULL -+_002633_hash recover_peb 6-7 29238 _002633_hash NULL -+_002635_hash recv_msg 4 48709 _002635_hash NULL -+_002636_hash recv_stream 4 30138 _002636_hash NULL -+_002637_hash _req_append_segment 2 41031 _002637_hash NULL -+_002638_hash request_key_async 4 6990 _002638_hash NULL -+_002639_hash request_key_async_with_auxdata 4 46624 _002639_hash NULL -+_002640_hash request_key_with_auxdata 4 24515 _002640_hash NULL -+_002641_hash rose_recvmsg 4 2368 _002641_hash &_001788_hash -+_002642_hash rtl8169_try_rx_copy 3 705 _002642_hash NULL -+_002643_hash _rtl92s_firmware_downloadcode 3 14021 _002643_hash NULL -+_002644_hash rx_data 4 60442 _002644_hash NULL -+_002645_hash rxrpc_recvmsg 4 26233 _002645_hash NULL -+_002646_hash sas_change_queue_depth 2 18555 _002646_hash NULL -+_002647_hash scsi_activate_tcq 2 42640 _002647_hash NULL -+_002648_hash scsi_deactivate_tcq 2 47086 _002648_hash NULL -+_002649_hash scsi_execute 5 33596 _002649_hash NULL -+_002650_hash _scsih_adjust_queue_depth 2 1083 _002650_hash NULL -+_002651_hash scsi_init_shared_tag_map 2 59812 _002651_hash NULL -+_002652_hash scsi_track_queue_full 2 44239 _002652_hash NULL -+_002653_hash sctp_abort_pkt_new 5 55218 _002653_hash NULL -+_002654_hash sctp_make_abort_violation 4 27959 _002654_hash NULL -+_002655_hash sctp_make_op_error 5-6 7057 _002655_hash NULL -+_002657_hash sctp_recvmsg 4 23265 _002657_hash NULL -+_002658_hash send_stream 4 3397 _002658_hash NULL -+_002659_hash sis190_try_rx_copy 3 57069 _002659_hash NULL -+_002664_hash skb_copy_and_csum_datagram_iovec 2 24466 _002664_hash NULL -+_002666_hash skge_rx_get 3 40598 _002666_hash NULL -+_002667_hash smp_send_cmd 3 512 _002667_hash NULL -+_002668_hash snd_gf1_mem_proc_dump 5 16926 _003499_hash NULL nohasharray -+_002669_hash sta_dev_read 3 14782 _002669_hash NULL -+_002670_hash sta_inactive_ms_read 3 25690 _002670_hash NULL -+_002671_hash sta_last_signal_read 3 31818 _002671_hash NULL -+_002672_hash stats_dot11ACKFailureCount_read 3 45558 _002672_hash NULL -+_002673_hash stats_dot11FCSErrorCount_read 3 28154 _002673_hash NULL -+_002674_hash stats_dot11RTSFailureCount_read 3 43948 _002674_hash NULL -+_002675_hash stats_dot11RTSSuccessCount_read 3 33065 _002675_hash NULL -+_002676_hash storvsc_connect_to_vsp 2 22 _002676_hash NULL -+_002677_hash sys_msgrcv 3 959 _002677_hash NULL -+_002678_hash sys_syslog 3 10746 _002678_hash NULL -+_002679_hash tcf_csum_ipv4_icmp 3 9258 _002679_hash NULL -+_002680_hash tcf_csum_ipv4_igmp 3 60446 _002680_hash NULL -+_002681_hash tcf_csum_ipv4_tcp 4 39713 _002681_hash NULL -+_002682_hash tcf_csum_ipv4_udp 4 30777 _002682_hash NULL -+_002683_hash tcf_csum_ipv6_icmp 4 11738 _002683_hash NULL -+_002684_hash tcf_csum_ipv6_tcp 4 54877 _002684_hash NULL -+_002685_hash tcf_csum_ipv6_udp 4 25241 _002685_hash NULL -+_002686_hash tcm_loop_change_queue_depth 2 42454 _002686_hash NULL -+_002687_hash tcp_copy_to_iovec 3 28344 _002687_hash NULL -+_002688_hash tcp_mark_head_lost 2 35895 _002688_hash NULL -+_002689_hash tcp_match_skb_to_sack 4 23568 _002689_hash NULL -+_002690_hash timeout_read 3 47915 _002690_hash NULL -+_002691_hash tipc_multicast 5 49144 _002691_hash NULL -+_002692_hash tipc_port_recv_sections 4 42890 _002692_hash NULL -+_002693_hash tipc_port_reject_sections 5 55229 _002693_hash NULL -+_002694_hash total_ps_buffered_read 3 16365 _002694_hash NULL -+_002695_hash tso_fragment 3 29050 _002695_hash NULL -+_002696_hash tty_insert_flip_string 3 34042 _002696_hash NULL -+_002698_hash tun_put_user 4 59849 _002698_hash NULL -+_002699_hash twa_change_queue_depth 2 48808 _002699_hash NULL -+_002700_hash tw_change_queue_depth 2 11116 _002700_hash NULL -+_002701_hash twl_change_queue_depth 2 41342 _002701_hash NULL -+_002702_hash ubi_eba_atomic_leb_change 5 60379 _002702_hash NULL -+_002703_hash ubi_eba_write_leb 5-6 36029 _002703_hash NULL -+_002705_hash ubi_eba_write_leb_st 5 44343 _002705_hash NULL -+_002706_hash udp_recvmsg 4 42558 _002706_hash NULL -+_002707_hash udpv6_recvmsg 4 9813 _002707_hash &_002506_hash -+_002708_hash udpv6_sendmsg 4 22316 _002708_hash NULL -+_002709_hash ulong_read_file 3 42304 _002709_hash &_000522_hash -+_002710_hash unix_dgram_recvmsg 4 14952 _002710_hash NULL -+_002711_hash user_power_read 3 39414 _002711_hash NULL -+_002712_hash v9fs_direct_read 3 45546 _002712_hash NULL -+_002713_hash v9fs_file_readn 4 36353 _002713_hash &_001799_hash -+_002714_hash vcc_recvmsg 4 37198 _002714_hash NULL -+_002715_hash velocity_rx_copy 2 34583 _002715_hash NULL -+_002716_hash W6692_empty_Bfifo 2 47804 _002716_hash NULL -+_002717_hash wep_iv_read 3 54744 _002717_hash NULL -+_002718_hash x25_recvmsg 4 42777 _002718_hash NULL -+_002719_hash xfs_buf_get_map 3 24522 _002719_hash NULL -+_002720_hash xfs_file_aio_write 4 33234 _002720_hash NULL -+_002721_hash xfs_iext_insert 3 18667 _002741_hash NULL nohasharray -+_002722_hash xfs_iext_remove 3 50909 _002722_hash NULL -+_002723_hash xlog_do_recovery_pass 3 21618 _002723_hash NULL -+_002724_hash xlog_find_verify_log_record 2 18870 _002724_hash NULL -+_002725_hash zd_mac_rx 3 38296 _002725_hash NULL -+_002726_hash aircable_process_packet 5 46639 _002726_hash NULL -+_002727_hash ath6kl_wmi_get_new_buf 1 52304 _002727_hash NULL -+_002728_hash batadv_iv_ogm_queue_add 3 46319 _002728_hash NULL -+_002729_hash batadv_receive_client_update_packet 3 41578 _002729_hash NULL -+_002730_hash batadv_receive_server_sync_packet 3 26577 _002730_hash &_000494_hash -+_002731_hash brcmf_alloc_pkt_and_read 2 63116 _002731_hash &_002028_hash -+_002732_hash brcmf_sdcard_recv_buf 6 38179 _002732_hash NULL -+_002733_hash brcmf_sdcard_rwdata 5 65041 _002733_hash NULL -+_002734_hash brcmf_sdcard_send_buf 6 7713 _002734_hash NULL -+_002735_hash brcmf_sdio_forensic_read 3 35311 _002735_hash &_001382_hash -+_002736_hash btrfs_alloc_free_block 3 8986 _002736_hash NULL -+_002737_hash btrfs_free_and_pin_reserved_extent 2 53016 _002737_hash NULL -+_002738_hash btrfs_free_reserved_extent 2 9867 _002738_hash NULL -+_002739_hash carl9170_handle_mpdu 3 11056 _002739_hash NULL -+_002740_hash do_trimming 3 26952 _002740_hash NULL -+_002741_hash edge_tty_recv 4 18667 _002741_hash &_002721_hash -+_002742_hash fwnet_receive_packet 9 50537 _002742_hash NULL -+_002743_hash gigaset_if_receive 3 4861 _002743_hash NULL -+_002744_hash gsm_dlci_data 3 14155 _002744_hash NULL -+_002745_hash handle_rx_packet 3 58993 _002745_hash NULL -+_002746_hash HDLC_irq 2 8709 _002746_hash NULL -+_002747_hash hdlc_rpr_irq 2 10240 _002747_hash NULL -+_002749_hash ifx_spi_insert_flip_string 3 51752 _002749_hash NULL -+_002753_hash ip_nat_sdp_media 8 23386 _002753_hash NULL -+_002754_hash ip_send_unicast_reply 6 38714 _002754_hash NULL -+_002756_hash ipwireless_network_packet_received 4 51277 _002756_hash NULL -+_002757_hash ipwireless_tty_received 3 49154 _002757_hash NULL -+_002758_hash iscsi_iser_recv 4 41948 _002758_hash NULL -+_002759_hash l2cap_bredr_sig_cmd 3 49065 _002759_hash NULL -+_002760_hash l2cap_sock_alloc_skb_cb 2 33532 _002760_hash NULL -+_002761_hash l2cap_sock_recvmsg 4 59886 _002761_hash NULL -+_002762_hash llcp_allocate_pdu 3 19866 _002762_hash NULL -+_002763_hash macvtap_recvmsg 4 63949 _002763_hash NULL -+_002764_hash osd_req_list_dev_partitions 4 60027 _002764_hash NULL -+_002765_hash osd_req_list_partition_collections 5 38223 _002765_hash NULL -+_002766_hash osst_do_scsi 4 44410 _002766_hash NULL -+_002767_hash ping_sendmsg 4 3782 _002767_hash NULL -+_002768_hash ppp_cp_event 6 2965 _002768_hash NULL -+_002769_hash pty_write 3 44757 _002769_hash &_001733_hash -+_002770_hash push_rx 3 28939 _002770_hash NULL -+_002772_hash qla2x00_handle_queue_full 2 24365 _002772_hash NULL -+_002773_hash qla4xxx_change_queue_depth 2 1268 _002773_hash NULL -+_002774_hash rfcomm_sock_recvmsg 4 22227 _002774_hash NULL -+_002775_hash scsi_execute_req 5 42088 _002775_hash NULL -+_002776_hash _scsih_change_queue_depth 2 26230 _002776_hash NULL -+_002777_hash sctp_sf_abort_violation 6 38380 _002777_hash NULL -+_002778_hash send_to_tty 3 45141 _002778_hash NULL -+_002780_hash sky2_receive 2 13407 _002780_hash NULL -+_002781_hash spi_execute 5 28736 _002781_hash NULL -+_002782_hash submit_inquiry 3 42108 _002782_hash NULL -+_002783_hash tcp_dma_try_early_copy 3 4457 _002783_hash NULL -+_002784_hash tcp_sacktag_walk 6 49703 _002784_hash NULL -+_002785_hash tcp_write_xmit 2 64602 _002785_hash NULL -+_002786_hash ti_recv 4 22027 _002786_hash NULL -+_002787_hash tun_do_read 4 50800 _002787_hash NULL -+_002788_hash ubi_leb_change 4 10289 _002788_hash NULL -+_002789_hash ubi_leb_write 4-5 5478 _002789_hash NULL -+_002791_hash udp_sendmsg 4 4492 _002791_hash NULL -+_002792_hash unix_seqpacket_recvmsg 4 23062 _002792_hash &_000477_hash -+_002793_hash v9fs_cached_file_read 3 2514 _002793_hash NULL -+_002794_hash write_leb 5 36957 _002794_hash NULL -+_002795_hash xfs_buf_read_map 3 40226 _002795_hash NULL -+_002796_hash xfs_trans_get_buf_map 4 2927 _002796_hash NULL -+_002797_hash xlog_do_log_recovery 3 17550 _002797_hash NULL -+_002798_hash ath6kl_wmi_add_wow_pattern_cmd 4 12842 _002798_hash NULL -+_002799_hash ath6kl_wmi_beginscan_cmd 8 25462 _002799_hash NULL -+_002800_hash ath6kl_wmi_send_probe_response_cmd 6 31728 _002800_hash NULL -+_002801_hash ath6kl_wmi_set_appie_cmd 5 39266 _002801_hash NULL -+_002802_hash ath6kl_wmi_set_ie_cmd 6 37260 _002802_hash NULL -+_002803_hash ath6kl_wmi_startscan_cmd 8 33674 _002803_hash NULL -+_002804_hash ath6kl_wmi_test_cmd 3 27312 _002804_hash NULL -+_002805_hash brcmf_sdbrcm_membytes 3-5 37324 _002805_hash NULL -+_002807_hash brcmf_sdbrcm_read_control 3 22721 _002807_hash NULL -+_002808_hash brcmf_tx_frame 3 20978 _002808_hash NULL -+_002809_hash __carl9170_rx 3 56784 _002809_hash NULL -+_002810_hash ch_do_scsi 4 31171 _002810_hash NULL -+_002811_hash dbg_leb_change 4 23555 _002811_hash NULL -+_002812_hash dbg_leb_write 4-5 63555 _002812_hash &_000971_hash -+_002814_hash gluebi_write 3 27905 _002814_hash NULL -+_002815_hash hdlc_irq_one 2 3944 _002815_hash NULL -+_002819_hash iser_rcv_completion 2 8048 _002819_hash NULL -+_002820_hash lock_loop 1 61681 _002820_hash NULL -+_002821_hash process_rcvd_data 3 6679 _002821_hash NULL -+_002822_hash brcmf_sdbrcm_bus_txctl 3 42492 _002822_hash NULL -+_002823_hash carl9170_rx 3 13272 _002823_hash NULL -+_002824_hash carl9170_rx_stream 3 1334 _002824_hash NULL -+_002826_hash mpt_lan_receive_post_turbo 2 13592 _002826_hash NULL -+_002827_hash padzero 1 55 _002827_hash &_002251_hash -+_002828_hash scsi_mode_sense 5 16835 _002828_hash NULL -+_002829_hash scsi_vpd_inquiry 4 30040 _002829_hash NULL -+_002830_hash ses_recv_diag 4 47143 _002830_hash &_000679_hash -+_002831_hash ses_send_diag 4 64527 _002831_hash NULL -+_002832_hash tcp_push_one 2 48816 _002832_hash NULL -+_002833_hash __tcp_push_pending_frames 2 48148 _002833_hash NULL -+_002834_hash trim_bitmaps 3 24158 _002834_hash NULL -+_002835_hash tun_recvmsg 4 48463 _002835_hash NULL -+_002836_hash ubifs_leb_change 4 17789 _002836_hash NULL -+_002837_hash ubifs_leb_write 4-5 22679 _002837_hash NULL -+_002839_hash xfs_buf_readahead_map 3 44248 _002839_hash &_000851_hash -+_002840_hash xfs_trans_read_buf_map 5 37487 _002840_hash NULL -+_002841_hash xlog_do_recover 3 59789 _002841_hash NULL -+_002842_hash btrfs_trim_block_group 3 28963 _002842_hash NULL -+_002843_hash do_write_orph_node 2 64343 _002843_hash NULL -+_002844_hash fix_unclean_leb 3 23188 _002844_hash NULL -+_002845_hash fixup_leb 3 43256 _002845_hash NULL -+_002846_hash recover_head 3 17904 _002846_hash NULL -+_002847_hash scsi_get_vpd_page 4 51951 _002847_hash NULL -+_002848_hash sd_do_mode_sense 5 11507 _002848_hash NULL -+_002849_hash tcp_push 3 10680 _002849_hash NULL -+_002850_hash ubifs_wbuf_write_nolock 3 64946 _002850_hash NULL -+_002851_hash ubifs_write_node 3-5 11258 _002851_hash NULL -+_002852_hash ubifs_recover_leb 3 60639 _002852_hash NULL -+_002853_hash write_head 4 30481 _002853_hash NULL -+_002854_hash write_node 4 33121 _002854_hash NULL -+_002855_hash ubifs_recover_log_leb 3 12079 _002855_hash NULL -+_002856_hash replay_log_leb 3 18704 _002856_hash NULL -+_002857_hash alloc_cpu_rmap 1 65363 _002857_hash NULL -+_002858_hash alloc_ebda_hpc 1-2 50046 _002858_hash NULL -+_002860_hash alloc_sched_domains 1 28972 _002860_hash NULL -+_002861_hash amthi_read 4 45831 _002861_hash NULL -+_002862_hash bcm_char_read 3 31750 _002862_hash NULL -+_002863_hash BcmCopySection 5 2035 _002863_hash NULL -+_002864_hash buffer_from_user 3 51826 _002864_hash NULL -+_002865_hash buffer_to_user 3 35439 _002865_hash NULL -+_002866_hash card_send_command 3 40757 _002866_hash NULL -+_002867_hash chd_dec_fetch_cdata 3 50926 _002867_hash NULL -+_002868_hash copy_nodes_to_user 2 63807 _002868_hash NULL -+_002869_hash create_log 2 8225 _002869_hash NULL -+_002870_hash crystalhd_create_dio_pool 2 3427 _002870_hash NULL -+_002871_hash crystalhd_user_data 3 18407 _002871_hash NULL -+_002872_hash do_pages_stat 2 4437 _002872_hash NULL -+_002873_hash do_read_log_to_user 4 3236 _002873_hash NULL -+_002874_hash do_write_log_from_user 3 39362 _002874_hash NULL -+_002875_hash evm_read_key 3 54674 _002875_hash NULL -+_002876_hash evm_write_key 3 27715 _002876_hash NULL -+_002877_hash fir16_create 3 5574 _002877_hash NULL -+_002878_hash get_nodes 3 39012 _002878_hash NULL -+_002879_hash __iio_allocate_kfifo 2-3 55738 _002879_hash NULL -+_002881_hash __iio_allocate_sw_ring_buffer 3 4843 _002881_hash NULL -+_002882_hash iio_debugfs_read_reg 3 60908 _002882_hash NULL -+_002883_hash iio_debugfs_write_reg 3 22742 _002883_hash NULL -+_002884_hash iio_device_alloc 1 41440 _002884_hash NULL -+_002885_hash iio_event_chrdev_read 3 54757 _002885_hash NULL -+_002886_hash iio_read_first_n_kfifo 2 57910 _002886_hash NULL -+_002887_hash iio_read_first_n_sw_rb 2 51911 _002887_hash NULL -+_002888_hash ioapic_setup_resources 1 35255 _002888_hash NULL -+_002889_hash keymap_store 4 45406 _002889_hash NULL -+_002890_hash line6_alloc_sysex_buffer 4 28225 _002890_hash NULL -+_002891_hash line6_dumpreq_initbuf 3 53123 _002891_hash NULL -+_002892_hash line6_midibuf_init 2 52425 _002892_hash NULL -+_002893_hash _malloc 1 54077 _002893_hash NULL -+_002894_hash mei_read 3 6507 _002894_hash NULL -+_002895_hash mei_write 3 4005 _002895_hash NULL -+_002896_hash msg_set 3 51725 _002896_hash NULL -+_002897_hash newpart 6 47485 _002897_hash NULL -+_002898_hash OS_kmalloc 1 36909 _002898_hash NULL -+_002899_hash OS_mem_token_alloc 1 14276 _002899_hash NULL -+_002900_hash packet_came 3 18072 _002900_hash NULL -+_002901_hash pcpu_alloc_bootmem 2 62074 _002901_hash NULL -+_002902_hash pcpu_build_alloc_info 1-3-2 41443 _002902_hash NULL -+_002905_hash pcpu_get_vm_areas 3 50085 _002905_hash NULL -+_002906_hash resource_from_user 3 30341 _002906_hash NULL -+_002907_hash rtsx_read_cfg_seq 3-5 48139 _002907_hash NULL -+_002909_hash rtsx_write_cfg_seq 3-5 27485 _002909_hash NULL -+_002911_hash sca3000_read_data 4 57064 _002911_hash NULL -+_002912_hash sca3000_read_first_n_hw_rb 2 11479 _002912_hash NULL -+_002913_hash send_midi_async 3 57463 _002913_hash NULL -+_002914_hash sep_create_dcb_dmatables_context 6 37551 _002914_hash NULL -+_002915_hash sep_create_dcb_dmatables_context_kernel 6 49728 _002915_hash NULL -+_002916_hash sep_create_msgarea_context 4 33829 _002916_hash NULL -+_002917_hash sep_lli_table_secure_dma 2-3 64042 _002917_hash NULL -+_002919_hash sep_lock_user_pages 2-3 57470 _002919_hash &_002488_hash -+_002921_hash sep_prepare_input_output_dma_table_in_dcb 4-5-2-3 63087 _002921_hash NULL -+_002923_hash sep_read 3 17161 _002923_hash NULL -+_002924_hash TransmitTcb 4 12989 _002924_hash NULL -+_002925_hash ValidateDSDParamsChecksum 3 63654 _002925_hash NULL -+_002926_hash Wb35Reg_BurstWrite 4 62327 _002926_hash NULL -+_002927_hash alloc_irq_cpu_rmap 1 28459 _002927_hash NULL -+_002928_hash InterfaceTransmitPacket 3 42058 _002928_hash NULL -+_002929_hash line6_dumpreq_init 3 34473 _002929_hash NULL -+_002931_hash pcpu_embed_first_chunk 1-3-2 24224 _002931_hash NULL -+_002933_hash pcpu_fc_alloc 2 11818 _002933_hash NULL -+_002934_hash pcpu_page_first_chunk 1 20712 _002934_hash NULL -+_002935_hash pod_alloc_sysex_buffer 3 31651 _002935_hash NULL -+_002936_hash r8712_usbctrl_vendorreq 6 48489 _002936_hash NULL -+_002937_hash r871x_set_wpa_ie 3 7000 _002937_hash NULL -+_002938_hash sep_prepare_input_dma_table 2-3 2009 _002938_hash NULL -+_002940_hash sep_prepare_input_output_dma_table 2-4-3 63429 _002940_hash NULL -+_002943_hash sys_get_mempolicy 3 30379 _002943_hash NULL -+_002944_hash sys_mbind 5 7990 _002944_hash NULL -+_002945_hash sys_migrate_pages 2 39825 _002945_hash NULL -+_002946_hash sys_move_pages 2 42626 _002946_hash NULL -+_002947_hash sys_set_mempolicy 3 32608 _002947_hash NULL -+_002948_hash variax_alloc_sysex_buffer 3 15237 _002948_hash NULL -+_002949_hash vme_user_read 3 55338 _002949_hash NULL -+_002950_hash vme_user_write 3 15587 _002950_hash NULL -+_002954_hash variax_set_raw2 4 32374 _002954_hash NULL -+_002955_hash copy_in_user 3 57502 _002955_hash NULL -+_002956_hash __earlyonly_bootmem_alloc 2 23824 _002956_hash NULL -+_002957_hash rfc4106_set_key 3 54519 _002957_hash NULL -+_002958_hash sparse_early_usemaps_alloc_pgdat_section 2 62304 _002958_hash NULL -+_002959_hash sparse_early_usemaps_alloc_node 4 9269 _002959_hash NULL -+_002960_hash sparse_mem_maps_populate_node 4 12669 _002960_hash &_002242_hash -+_002961_hash vmemmap_alloc_block 1 43245 _002961_hash NULL -+_002962_hash sparse_early_mem_maps_alloc_node 4 36971 _002962_hash NULL -+_002963_hash vmemmap_alloc_block_buf 1 61126 _002963_hash NULL -+_002964_hash alloc_mr 1 45935 _002964_hash NULL -+_002965_hash atomic_counters_read 3 48827 _002965_hash NULL -+_002966_hash atomic_stats_read 3 36228 _002966_hash NULL -+_002967_hash capabilities_read 3 58457 _002967_hash NULL -+_002968_hash compat_core_sys_select 1 65285 _002968_hash NULL -+_002969_hash compat_dccp_setsockopt 5 51263 _002969_hash NULL -+_002970_hash compat_do_arpt_set_ctl 4 12184 _002970_hash NULL -+_002971_hash compat_do_ip6t_set_ctl 4 3184 _002971_hash NULL -+_002972_hash compat_do_ipt_set_ctl 4 58466 _002972_hash &_002078_hash -+_002973_hash compat_filldir 3 32999 _002973_hash NULL -+_002974_hash compat_filldir64 3 35354 _002974_hash NULL -+_002975_hash compat_fillonedir 3 15620 _002975_hash NULL -+_002976_hash compat_ip_setsockopt 5 13870 _003094_hash NULL nohasharray -+_002977_hash compat_ipv6_setsockopt 5 20468 _002977_hash NULL -+_002978_hash compat_mpctl_ioctl 2 45671 _002978_hash NULL -+_002979_hash compat_raw_setsockopt 5 30634 _002979_hash NULL -+_002980_hash compat_rawv6_setsockopt 5 4967 _002980_hash NULL -+_002981_hash compat_rw_copy_check_uvector 3 22001 _003263_hash NULL nohasharray -+_002982_hash compat_sock_setsockopt 5 23 _002982_hash NULL -+_002983_hash compat_sys_get_mempolicy 3 31109 _002983_hash NULL -+_002984_hash compat_sys_kexec_load 2 35674 _002984_hash NULL -+_002985_hash compat_sys_keyctl 4 9639 _002985_hash NULL -+_002986_hash compat_sys_mbind 5 36256 _002986_hash NULL -+_002987_hash compat_sys_migrate_pages 2 3157 _002987_hash NULL -+_002988_hash compat_sys_move_pages 2 5861 _002988_hash NULL -+_002989_hash compat_sys_mq_timedsend 3 31060 _002989_hash NULL -+_002990_hash compat_sys_msgrcv 2 7482 _002990_hash NULL -+_002991_hash compat_sys_msgsnd 2 10738 _002991_hash NULL -+_002992_hash compat_sys_semtimedop 3 3606 _002992_hash NULL -+_002993_hash compat_sys_set_mempolicy 3 57742 _002993_hash &_002614_hash -+_002994_hash __copy_in_user 3 34790 _002994_hash NULL -+_002995_hash dev_counters_read 3 19216 _002995_hash NULL -+_002996_hash dev_names_read 3 38509 _002996_hash NULL -+_002997_hash driver_names_read 3 60399 _002997_hash NULL -+_002998_hash driver_stats_read 3 8944 _002998_hash NULL -+_002999_hash evdev_ioctl_compat 2 13851 _002999_hash NULL -+_003000_hash evtchn_read 3 3569 _003000_hash NULL -+_003001_hash evtchn_write 3 43278 _003001_hash NULL -+_003002_hash fat_compat_ioctl_filldir 3 36328 _003002_hash NULL -+_003003_hash flash_read 3 57843 _003003_hash NULL -+_003004_hash flash_write 3 62354 _003004_hash NULL -+_003005_hash fw_device_op_compat_ioctl 2 42804 _003005_hash NULL -+_003006_hash gather_array 3 56641 _003006_hash NULL -+_003007_hash ghash_async_setkey 3 60001 _003007_hash NULL -+_003008_hash gntdev_alloc_map 2 35145 _003008_hash NULL -+_003009_hash gnttab_map 2 56439 _003009_hash NULL -+_003010_hash gru_alloc_gts 2-3 60056 _003010_hash &_000981_hash -+_003012_hash hiddev_compat_ioctl 2 41255 _003012_hash NULL -+_003013_hash init_cdev 1 8274 _003013_hash NULL -+_003014_hash init_per_cpu 1 17880 _003014_hash NULL -+_003015_hash ipath_create_cq 2 45586 _003015_hash NULL -+_003016_hash ipath_get_base_info 3 7043 _003016_hash NULL -+_003017_hash ipath_init_qp_table 2 25167 _003017_hash NULL -+_003018_hash ipath_resize_cq 2 712 _003018_hash NULL -+_003019_hash joydev_compat_ioctl 2 8765 _003019_hash NULL -+_003020_hash mon_bin_compat_ioctl 3 50234 _003020_hash NULL -+_003021_hash options_write 3 47243 _003021_hash NULL -+_003022_hash portcntrs_1_read 3 47253 _003022_hash NULL -+_003023_hash portcntrs_2_read 3 56586 _003023_hash NULL -+_003024_hash portnames_read 3 41958 _003024_hash NULL -+_003025_hash ptc_proc_write 3 12076 _003025_hash NULL -+_003026_hash put_cmsg_compat 4 35937 _003026_hash NULL -+_003027_hash qib_alloc_devdata 2 51819 _003027_hash NULL -+_003028_hash qib_alloc_fast_reg_page_list 2 10507 _003028_hash NULL -+_003029_hash qib_cdev_init 1 34778 _003029_hash NULL -+_003030_hash qib_create_cq 2 27497 _003030_hash NULL -+_003031_hash qib_diag_write 3 62133 _003031_hash NULL -+_003032_hash qib_get_base_info 3 11369 _003032_hash NULL -+_003033_hash qib_resize_cq 2 53090 _003033_hash NULL -+_003034_hash qsfp_1_read 3 21915 _003034_hash NULL -+_003035_hash qsfp_2_read 3 31491 _003035_hash NULL -+_003036_hash queue_reply 3 22416 _003036_hash NULL -+_003037_hash spidev_compat_ioctl 2 63778 _003037_hash NULL -+_003038_hash split 2 11691 _003038_hash NULL -+_003039_hash stats_read_ul 3 32751 _003039_hash NULL -+_003040_hash sys32_ipc 3 7238 _003040_hash NULL -+_003041_hash sys32_rt_sigpending 2 25814 _003041_hash NULL -+_003042_hash tunables_read 3 36385 _003042_hash NULL -+_003043_hash tunables_write 3 59563 _003043_hash NULL -+_003044_hash xenbus_file_write 3 6282 _003044_hash NULL -+_003045_hash xlbd_reserve_minors 1-2 18365 _003045_hash NULL -+_003047_hash xpc_kmalloc_cacheline_aligned 1 42895 _003047_hash NULL -+_003048_hash xpc_kzalloc_cacheline_aligned 1 65433 _003048_hash NULL -+_003049_hash xsd_read 3 15653 _003049_hash NULL -+_003050_hash compat_do_readv_writev 4 49102 _003050_hash NULL -+_003051_hash compat_keyctl_instantiate_key_iov 3 57431 _003088_hash NULL nohasharray -+_003052_hash compat_process_vm_rw 3-5 22254 _003052_hash NULL -+_003054_hash compat_sys_select 1 16131 _003054_hash NULL -+_003055_hash compat_sys_setsockopt 5 3326 _003055_hash NULL -+_003056_hash compat_udp_setsockopt 5 38840 _003056_hash NULL -+_003057_hash compat_udpv6_setsockopt 5 42981 _003057_hash NULL -+_003058_hash do_compat_pselect 1 10398 _003058_hash NULL -+_003059_hash gnttab_expand 1 15817 _003059_hash NULL -+_003060_hash ipath_cdev_init 1 37752 _003060_hash NULL -+_003061_hash ipath_reg_phys_mr 3 23918 _003061_hash &_000999_hash -+_003062_hash qib_alloc_fast_reg_mr 2 12526 _003062_hash NULL -+_003063_hash qib_reg_phys_mr 3 60202 _003063_hash &_000897_hash -+_003064_hash compat_readv 3 30273 _003064_hash NULL -+_003065_hash compat_sys_process_vm_readv 3-5 15374 _003065_hash NULL -+_003067_hash compat_sys_process_vm_writev 3-5 41194 _003067_hash NULL -+_003069_hash compat_sys_pselect6 1 14105 _003069_hash NULL -+_003070_hash compat_writev 3 60063 _003070_hash NULL -+_003071_hash get_free_entries 1 46030 _003071_hash NULL -+_003072_hash compat_sys_preadv64 3 24283 _003072_hash NULL -+_003073_hash compat_sys_pwritev64 3 51151 _003073_hash NULL -+_003074_hash compat_sys_readv 3 20911 _003074_hash NULL -+_003075_hash compat_sys_writev 3 5784 _003075_hash NULL -+_003076_hash gnttab_alloc_grant_references 1 18240 _003076_hash NULL -+_003077_hash compat_sys_preadv 3 583 _003077_hash NULL -+_003078_hash compat_sys_pwritev 3 17886 _003078_hash NULL -+_003079_hash aes_decrypt_fail_read 3 54815 _003079_hash NULL -+_003080_hash aes_decrypt_interrupt_read 3 19910 _003080_hash NULL -+_003081_hash aes_decrypt_packets_read 3 10155 _003081_hash NULL -+_003082_hash aes_encrypt_fail_read 3 32562 _003082_hash NULL -+_003083_hash aes_encrypt_interrupt_read 3 39919 _003083_hash NULL -+_003084_hash aes_encrypt_packets_read 3 48666 _003084_hash NULL -+_003085_hash agp_remap 2 30665 _003085_hash NULL -+_003086_hash alloc_apertures 1 56561 _003086_hash NULL -+_003087_hash allocate_probes 1 40204 _003087_hash NULL -+_003088_hash alloc_ftrace_hash 1 57431 _003088_hash &_003051_hash -+_003089_hash alloc_page_cgroup 1 2919 _003089_hash NULL -+_003090_hash __alloc_preds 2 9492 _003090_hash NULL -+_003091_hash __alloc_pred_stack 2 26687 _003091_hash NULL -+_003092_hash alloc_sched_domains 1 47756 _003092_hash NULL -+_003093_hash alloc_trace_probe 6 38720 _003093_hash NULL -+_003094_hash alloc_trace_uprobe 3 13870 _003094_hash &_002976_hash -+_003095_hash ath6kl_sdio_alloc_prep_scat_req 2 51986 _003095_hash NULL -+_003096_hash ath6kl_usb_post_recv_transfers 2 32892 _003096_hash NULL -+_003097_hash ath6kl_usb_submit_ctrl_in 6 32880 _003097_hash &_000795_hash -+_003098_hash ath6kl_usb_submit_ctrl_out 6 9978 _003098_hash NULL -+_003099_hash av7110_ipack_init 2 46655 _003099_hash NULL -+_003100_hash av7110_vbi_write 3 34384 _003100_hash NULL -+_003101_hash bin_uuid 3 28999 _003101_hash NULL -+_003102_hash blk_dropped_read 3 4168 _003102_hash NULL -+_003103_hash blk_msg_write 3 13655 _003103_hash NULL -+_003104_hash brcmf_usbdev_qinit 2 19090 _003104_hash &_001715_hash -+_003105_hash brcmf_usb_dl_cmd 4 53130 _003105_hash NULL -+_003106_hash ci_ll_init 3 12930 _003106_hash NULL -+_003107_hash ci_ll_write 4 3740 _003107_hash NULL -+_003108_hash conf_read 3 55786 _003108_hash NULL -+_003109_hash __copy_from_user_inatomic_nocache 3 49921 _003109_hash NULL -+_003110_hash cx24116_writeregN 4 41975 _003110_hash NULL -+_003111_hash cyttsp_probe 4 1940 _003111_hash NULL -+_003112_hash dccpprobe_read 3 52549 _003112_hash NULL -+_003113_hash ddb_input_read 3 9743 _003113_hash NULL -+_003114_hash ddb_output_write 3 31902 _003114_hash NULL -+_003115_hash __devres_alloc 2 25598 _003115_hash NULL -+_003116_hash dma_rx_errors_read 3 52045 _003116_hash NULL -+_003117_hash dma_rx_requested_read 3 65354 _003117_hash NULL -+_003118_hash dma_tx_errors_read 3 46060 _003118_hash NULL -+_003119_hash dma_tx_requested_read 3 16110 _003203_hash NULL nohasharray -+_003120_hash do_dmabuf_dirty_sou 7 3017 _003120_hash NULL -+_003121_hash do_surface_dirty_sou 7 39678 _003121_hash NULL -+_003122_hash driver_state_read 3 17194 _003122_hash &_001511_hash -+_003123_hash drm_agp_bind_pages 3 56748 _003123_hash NULL -+_003124_hash drm_buffer_alloc 2 44405 _003124_hash NULL -+_003125_hash drm_calloc_large 1-2 65421 _003125_hash NULL -+_003127_hash drm_fb_helper_init 3-4 19044 _003127_hash NULL -+_003129_hash drm_ht_create 2 18853 _003129_hash NULL -+_003130_hash drm_ioctl 2 42813 _003130_hash NULL -+_003131_hash drm_malloc_ab 1-2 16831 _003131_hash NULL -+_003133_hash drm_mode_crtc_set_gamma_size 2 31881 _003133_hash NULL -+_003134_hash drm_plane_init 6 28731 _003134_hash NULL -+_003135_hash drm_property_create 4 51239 _003135_hash NULL -+_003136_hash drm_property_create_blob 2 7414 _003136_hash NULL -+_003137_hash drm_vblank_init 2 11362 _003137_hash NULL -+_003138_hash drm_vmalloc_dma 1 14550 _003138_hash NULL -+_003139_hash dvb_aplay 3 56296 _003139_hash NULL -+_003140_hash dvb_ca_en50221_init 4 45718 _003140_hash NULL -+_003141_hash dvb_ca_en50221_io_write 3 43533 _003141_hash NULL -+_003142_hash dvb_dmxdev_set_buffer_size 2 55643 _003142_hash NULL -+_003143_hash dvbdmx_write 3 19423 _003143_hash NULL -+_003144_hash dvb_dvr_set_buffer_size 2 9840 _003144_hash NULL -+_003145_hash dvb_net_sec 3 37884 _003145_hash NULL -+_003146_hash dvb_play 3 50814 _003146_hash NULL -+_003147_hash dvb_ringbuffer_pkt_read_user 2-5-3 4303 _003147_hash NULL -+_003150_hash dvb_ringbuffer_read_user 3 56702 _003150_hash NULL -+_003151_hash dvb_usercopy 2 14036 _003151_hash NULL -+_003152_hash dw210x_op_rw 6 39915 _003152_hash NULL -+_003153_hash edt_ft5x06_debugfs_raw_data_read 3 28002 _003153_hash NULL -+_003154_hash em_canid_change 3 14150 _003154_hash NULL -+_003155_hash event_calibration_read 3 21083 _003155_hash NULL -+_003156_hash event_enable_read 3 7074 _003156_hash NULL -+_003157_hash event_filter_read 3 23494 _003157_hash NULL -+_003158_hash event_filter_write 3 56609 _003158_hash NULL -+_003159_hash event_heart_beat_read 3 48961 _003159_hash NULL -+_003160_hash event_id_read 3 64288 _003160_hash &_001300_hash -+_003161_hash event_oom_late_read 3 61175 _003161_hash &_001054_hash -+_003162_hash event_phy_transmit_error_read 3 10471 _003162_hash NULL -+_003163_hash event_rx_mem_empty_read 3 40363 _003163_hash NULL -+_003164_hash event_rx_mismatch_read 3 38518 _003164_hash NULL -+_003165_hash event_rx_pool_read 3 25792 _003165_hash NULL -+_003166_hash event_tx_stuck_read 3 19305 _003166_hash NULL -+_003167_hash excessive_retries_read 3 60425 _003167_hash NULL -+_003168_hash flexcop_device_kmalloc 1 54793 _003168_hash NULL -+_003169_hash fm_send_cmd 5 39639 _003169_hash NULL -+_003170_hash __fprog_create 2 41263 _003170_hash NULL -+_003171_hash fq_codel_zalloc 1 15378 _003171_hash NULL -+_003172_hash ftrace_pid_write 3 39710 _003172_hash NULL -+_003173_hash ftrace_profile_read 3 21327 _003173_hash NULL -+_003174_hash fw_stats_raw_read 3 1369 _003174_hash NULL -+_003175_hash get_info 3 55681 _003175_hash NULL -+_003176_hash __get_vm_area_node 1 55305 _003176_hash NULL -+_003177_hash gpio_power_read 3 36059 _003177_hash NULL -+_003178_hash h5_prepare_pkt 4 12085 _003178_hash NULL -+_003179_hash hsc_msg_alloc 1 60990 _003179_hash NULL -+_003180_hash hsc_write 3 55875 _003180_hash NULL -+_003181_hash hsi_alloc_controller 1 41802 _003181_hash NULL -+_003182_hash hsi_register_board_info 2 13820 _003182_hash NULL -+_003183_hash hugetlb_cgroup_read 5 49259 _003183_hash NULL -+_003184_hash i915_cache_sharing_read 3 24775 _003184_hash NULL -+_003185_hash i915_cache_sharing_write 3 57961 _003185_hash NULL -+_003186_hash i915_max_freq_read 3 20581 _003186_hash NULL -+_003187_hash i915_max_freq_write 3 11350 _003187_hash NULL -+_003188_hash i915_min_freq_read 3 38470 _003188_hash NULL -+_003189_hash i915_min_freq_write 3 10981 _003189_hash NULL -+_003190_hash i915_ring_stop_read 3 42549 _003190_hash &_000740_hash -+_003191_hash i915_ring_stop_write 3 59010 _003191_hash NULL -+_003192_hash i915_wedged_read 3 35474 _003192_hash NULL -+_003193_hash i915_wedged_write 3 47771 _003193_hash NULL -+_003194_hash ieee802154_alloc_device 1 13767 _003194_hash NULL -+_003195_hash intel_sdvo_write_cmd 4 54377 _003195_hash &_000832_hash -+_003196_hash isr_cmd_cmplt_read 3 53439 _003196_hash NULL -+_003197_hash isr_commands_read 3 41398 _003197_hash NULL -+_003198_hash isr_decrypt_done_read 3 49490 _003198_hash NULL -+_003199_hash isr_dma0_done_read 3 8574 _003199_hash NULL -+_003200_hash isr_dma1_done_read 3 48159 _003200_hash NULL -+_003201_hash isr_fiqs_read 3 34687 _003201_hash NULL -+_003202_hash isr_host_acknowledges_read 3 54136 _003202_hash NULL -+_003203_hash isr_hw_pm_mode_changes_read 3 16110 _003203_hash &_003119_hash -+_003204_hash isr_irqs_read 3 9181 _003204_hash NULL -+_003205_hash isr_low_rssi_read 3 64789 _003205_hash NULL -+_003206_hash isr_pci_pm_read 3 30271 _003206_hash NULL -+_003207_hash isr_rx_headers_read 3 38325 _003207_hash NULL -+_003208_hash isr_rx_mem_overflow_read 3 43025 _003208_hash NULL -+_003209_hash isr_rx_procs_read 3 31804 _003209_hash NULL -+_003210_hash isr_rx_rdys_read 3 35283 _003210_hash NULL -+_003211_hash isr_tx_exch_complete_read 3 16103 _003211_hash NULL -+_003212_hash isr_tx_procs_read 3 23084 _003212_hash NULL -+_003213_hash isr_wakeups_read 3 49607 _003213_hash NULL -+_003214_hash LoadBitmap 2 19658 _003214_hash NULL -+_003215_hash mem_cgroup_read 5 22461 _003215_hash NULL -+_003216_hash mic_calc_failure_read 3 59700 _003216_hash NULL -+_003217_hash mic_rx_pkts_read 3 27972 _003217_hash NULL -+_003218_hash __module_alloc 1 50004 _003218_hash NULL -+_003219_hash module_alloc_update_bounds_rw 1 63233 _003219_hash NULL -+_003220_hash module_alloc_update_bounds_rx 1 58634 _003220_hash NULL -+_003221_hash mwifiex_usb_submit_rx_urb 2 54558 _003221_hash NULL -+_003222_hash nfc_hci_hcp_message_tx 6 14534 _003222_hash NULL -+_003223_hash nfc_hci_set_param 5 40697 _003223_hash NULL -+_003224_hash nfc_shdlc_alloc_skb 2 12741 _003224_hash NULL -+_003225_hash opera1_xilinx_rw 5 31453 _003225_hash NULL -+_003226_hash persistent_ram_vmap 1-2 709 _003226_hash NULL -+_003228_hash prctl_set_mm 3 64538 _003228_hash NULL -+_003229_hash probe_kernel_write 3 17481 _003229_hash NULL -+_003230_hash proc_fault_inject_read 3 36802 _003230_hash NULL -+_003231_hash proc_fault_inject_write 3 21058 _003231_hash NULL -+_003232_hash ps_pspoll_max_apturn_read 3 6699 _003232_hash NULL -+_003233_hash ps_pspoll_timeouts_read 3 11776 _003233_hash NULL -+_003234_hash ps_pspoll_utilization_read 3 5361 _003234_hash NULL -+_003235_hash ps_upsd_max_apturn_read 3 19918 _003235_hash NULL -+_003236_hash ps_upsd_max_sptime_read 3 63362 _003236_hash NULL -+_003237_hash ps_upsd_timeouts_read 3 28924 _003237_hash NULL -+_003238_hash ps_upsd_utilization_read 3 51669 _003238_hash NULL -+_003239_hash ptp_filter_init 2 36780 _003239_hash NULL -+_003240_hash pwr_disable_ps_read 3 13176 _003240_hash NULL -+_003241_hash pwr_elp_enter_read 3 5324 _003241_hash NULL -+_003242_hash pwr_enable_ps_read 3 17686 _003242_hash NULL -+_003243_hash pwr_fix_tsf_ps_read 3 26627 _003243_hash NULL -+_003244_hash pwr_missing_bcns_read 3 25824 _003244_hash NULL -+_003245_hash pwr_power_save_off_read 3 18355 _003245_hash NULL -+_003246_hash pwr_ps_enter_read 3 26935 _003246_hash &_000512_hash -+_003247_hash pwr_rcvd_awake_beacons_read 3 50505 _003247_hash NULL -+_003248_hash pwr_rcvd_beacons_read 3 52836 _003248_hash NULL -+_003249_hash pwr_tx_without_ps_read 3 48423 _003249_hash NULL -+_003250_hash pwr_tx_with_ps_read 3 60851 _003250_hash NULL -+_003251_hash pwr_wake_on_host_read 3 26321 _003251_hash NULL -+_003252_hash pwr_wake_on_timer_exp_read 3 22640 _003252_hash NULL -+_003253_hash rb_simple_read 3 45972 _003253_hash NULL -+_003254_hash read_file_dfs 3 43145 _003254_hash NULL -+_003255_hash retry_count_read 3 52129 _003255_hash NULL -+_003256_hash rx_dropped_read 3 44799 _003256_hash NULL -+_003257_hash rx_fcs_err_read 3 62844 _003257_hash NULL -+_003258_hash rx_hdr_overflow_read 3 64407 _003258_hash NULL -+_003259_hash rx_hw_stuck_read 3 57179 _003259_hash NULL -+_003260_hash rx_out_of_mem_read 3 10157 _003260_hash NULL -+_003261_hash rx_path_reset_read 3 23801 _003261_hash NULL -+_003262_hash rxpipe_beacon_buffer_thres_host_int_trig_rx_data_read 3 55106 _003262_hash NULL -+_003263_hash rxpipe_descr_host_int_trig_rx_data_read 3 22001 _003263_hash &_002981_hash -+_003264_hash rxpipe_missed_beacon_host_int_trig_rx_data_read 3 63405 _003264_hash NULL -+_003265_hash rxpipe_rx_prep_beacon_drop_read 3 2403 _003265_hash NULL -+_003266_hash rxpipe_tx_xfr_host_int_trig_rx_data_read 3 35538 _003266_hash NULL -+_003267_hash rx_reset_counter_read 3 58001 _003267_hash NULL -+_003268_hash rx_xfr_hint_trig_read 3 40283 _003268_hash NULL -+_003269_hash saa7146_vmalloc_build_pgtable 2 19780 _003269_hash NULL -+_003270_hash sched_feat_write 3 55202 _003270_hash NULL -+_003271_hash sd_alloc_ctl_entry 1 29708 _003271_hash NULL -+_003272_hash shmem_pread_fast 3 34147 _003272_hash NULL -+_003273_hash shmem_pread_slow 3 3198 _003273_hash NULL -+_003274_hash shmem_pwrite_slow 3 31741 _003274_hash NULL -+_003275_hash show_header 3 4722 _003275_hash &_000745_hash -+_003276_hash stack_max_size_read 3 1445 _003276_hash NULL -+_003277_hash subsystem_filter_read 3 62310 _003277_hash NULL -+_003278_hash subsystem_filter_write 3 13022 _003278_hash NULL -+_003279_hash swap_cgroup_swapon 2 13614 _003279_hash NULL -+_003280_hash system_enable_read 3 25815 _003280_hash NULL -+_003281_hash tda10048_writeregbulk 4 11050 _003281_hash NULL -+_003282_hash tlbflush_read_file 3 64661 _003282_hash NULL -+_003283_hash trace_options_core_read 3 47390 _003283_hash NULL -+_003284_hash trace_options_read 3 11419 _003284_hash NULL -+_003285_hash trace_parser_get_init 2 31379 _003285_hash NULL -+_003286_hash traceprobe_probes_write 3 64969 _003286_hash NULL -+_003287_hash trace_seq_to_user 3 65398 _003287_hash NULL -+_003288_hash tracing_buffers_read 3 11124 _003288_hash NULL -+_003289_hash tracing_clock_write 3 27961 _003289_hash NULL -+_003290_hash tracing_cpumask_read 3 7010 _003290_hash NULL -+_003291_hash tracing_ctrl_read 3 46922 _003291_hash NULL -+_003292_hash tracing_entries_read 3 8345 _003292_hash NULL -+_003293_hash tracing_max_lat_read 3 8890 _003293_hash NULL -+_003294_hash tracing_read_dyn_info 3 45468 _003294_hash NULL -+_003295_hash tracing_readme_read 3 16493 _003295_hash NULL -+_003296_hash tracing_saved_cmdlines_read 3 21434 _003296_hash NULL -+_003297_hash tracing_set_trace_read 3 44122 _003297_hash NULL -+_003298_hash tracing_set_trace_write 3 57096 _003298_hash NULL -+_003299_hash tracing_stats_read 3 34537 _003299_hash NULL -+_003300_hash tracing_total_entries_read 3 62817 _003300_hash NULL -+_003301_hash tracing_trace_options_write 3 153 _003301_hash NULL -+_003302_hash tstats_write 3 60432 _003302_hash &_000009_hash -+_003303_hash ttm_bo_fbdev_io 4 9805 _003303_hash NULL -+_003304_hash ttm_bo_io 5 47000 _003304_hash NULL -+_003305_hash ttm_dma_page_pool_free 2 34135 _003305_hash NULL -+_003306_hash ttm_page_pool_free 2 61661 _003306_hash NULL -+_003307_hash ttusb2_msg 4 3100 _003307_hash NULL -+_003308_hash tx_internal_desc_overflow_read 3 47300 _003308_hash NULL -+_003309_hash tx_queue_len_read 3 1463 _003309_hash NULL -+_003310_hash tx_queue_status_read 3 44978 _003310_hash NULL -+_003311_hash u_memcpya 2-3 30139 _003311_hash NULL -+_003313_hash usb_allocate_stream_buffers 3 8964 _003313_hash NULL -+_003314_hash vifs_state_read 3 33762 _003314_hash NULL -+_003315_hash vmalloc_to_sg 2 58354 _003315_hash NULL -+_003316_hash vm_map_ram 2 23078 _003316_hash &_001095_hash -+_003317_hash vmw_execbuf_process 5 22885 _003317_hash NULL -+_003318_hash vmw_fifo_reserve 2 12141 _003318_hash NULL -+_003319_hash vmw_kms_present 9 38130 _003319_hash NULL -+_003320_hash vmw_kms_readback 6 5727 _003320_hash NULL -+_003321_hash wep_addr_key_count_read 3 20174 _003321_hash NULL -+_003322_hash wep_decrypt_fail_read 3 58567 _003322_hash NULL -+_003323_hash wep_default_key_count_read 3 43035 _003323_hash NULL -+_003324_hash wep_interrupt_read 3 41492 _003324_hash NULL -+_003325_hash wep_key_not_found_read 3 13377 _003325_hash &_000952_hash -+_003326_hash wep_packets_read 3 18751 _003326_hash NULL -+_003327_hash wl1251_cmd_template_set 4 6172 _003327_hash NULL -+_003328_hash wl1271_format_buffer 2 20834 _003328_hash NULL -+_003329_hash wl1271_rx_filter_alloc_field 5 46721 _003329_hash NULL -+_003330_hash wl12xx_cmd_build_probe_req 6-8 54946 _003330_hash NULL -+_003332_hash wlcore_alloc_hw 1 7785 _003332_hash NULL -+_003333_hash aggr_size_rx_size_read 3 33526 _003333_hash NULL -+_003334_hash aggr_size_tx_agg_vs_rate_read 3 21438 _003334_hash NULL -+_003335_hash alloc_and_copy_ftrace_hash 1 29368 _003335_hash NULL -+_003336_hash alloc_bulk_urbs_generic 5 12127 _003336_hash NULL -+_003337_hash alloc_ieee80211 1 20063 _003337_hash NULL -+_003338_hash alloc_ieee80211_rsl 1 34564 _003338_hash NULL -+_003339_hash alloc_perm_bits 2 1532 _003339_hash NULL -+_003340_hash alloc_private 2 22399 _003340_hash NULL -+_003341_hash alloc_rtllib 1 51136 _003341_hash NULL -+_003342_hash alloc_rx_desc_ring 2 18016 _003342_hash NULL -+_003343_hash arcfb_write 3 8702 _003343_hash NULL -+_003344_hash ath6kl_usb_bmi_read 3 48745 _003344_hash NULL -+_003345_hash ath6kl_usb_bmi_write 3 2454 _003345_hash &_001020_hash -+_003346_hash ath6kl_usb_ctrl_msg_exchange 4 33327 _003346_hash NULL -+_003347_hash au0828_init_isoc 2-3 61917 _003347_hash NULL -+_003349_hash auok190xfb_write 3 37001 _003349_hash NULL -+_003350_hash beacon_interval_read 3 7091 _003350_hash NULL -+_003351_hash brcmf_usb_attach 1-2 44656 _003351_hash NULL -+_003353_hash broadsheetfb_write 3 39976 _003353_hash NULL -+_003354_hash broadsheet_spiflash_rewrite_sector 2 54864 _003354_hash NULL -+_003355_hash ci13xxx_add_device 3 14456 _003355_hash NULL -+_003356_hash cmpk_message_handle_tx 4 54024 _003356_hash NULL -+_003357_hash comedi_alloc_subdevices 2 29207 _003357_hash NULL -+_003358_hash comedi_buf_alloc 3 24822 _003358_hash NULL -+_003359_hash comedi_read 3 13199 _003359_hash NULL -+_003360_hash comedi_write 3 47926 _003360_hash NULL -+_003361_hash create_trace_probe 1 20175 _003361_hash NULL -+_003362_hash create_trace_uprobe 1 13184 _003362_hash NULL -+_003363_hash cx18_copy_buf_to_user 4 22735 _003363_hash NULL -+_003364_hash cx231xx_init_bulk 2-3 47024 _003364_hash NULL -+_003366_hash cx231xx_init_isoc 2-3 56453 _003366_hash NULL -+_003368_hash cx231xx_init_vbi_isoc 2-3 28053 _003368_hash NULL -+_003370_hash da9052_group_write 3 4534 _003370_hash NULL -+_003371_hash debug_debug1_read 3 8856 _003371_hash NULL -+_003372_hash debug_debug2_read 3 30526 _003372_hash NULL -+_003373_hash debug_debug3_read 3 56894 _003373_hash NULL -+_003374_hash debug_debug4_read 3 61367 _003374_hash NULL -+_003375_hash debug_debug5_read 3 2291 _003375_hash NULL -+_003376_hash debug_debug6_read 3 33168 _003376_hash NULL -+_003377_hash dev_read 3 56369 _003377_hash NULL -+_003378_hash do_dmabuf_dirty_ldu 6 52241 _003378_hash NULL -+_003379_hash drm_compat_ioctl 2 51717 _003379_hash NULL -+_003380_hash drm_mode_create_tv_properties 2 23122 _003380_hash NULL -+_003381_hash drm_property_create_bitmask 5 30195 _003381_hash NULL -+_003382_hash drm_property_create_enum 5 29201 _003382_hash NULL -+_003383_hash dsp_buffer_alloc 2 11684 _003383_hash NULL -+_003384_hash dt3155_alloc_coherent 2 58073 _003384_hash NULL -+_003385_hash dtim_interval_read 3 654 _003385_hash NULL -+_003386_hash dvb_audio_write 3 51275 _003386_hash NULL -+_003387_hash dvb_ca_en50221_io_ioctl 2 26490 _003387_hash NULL -+_003388_hash dvb_ca_write 3 41171 _003388_hash NULL -+_003389_hash dvb_demux_ioctl 2 42733 _003389_hash NULL -+_003390_hash dvb_dmxdev_buffer_read 4 20682 _003390_hash NULL -+_003391_hash dvb_dvr_ioctl 2 49182 _003391_hash NULL -+_003392_hash dvb_generic_ioctl 2 21810 _003392_hash NULL -+_003393_hash dvb_net_ioctl 2 61559 _003393_hash NULL -+_003394_hash dvb_net_sec_callback 2 28786 _003394_hash NULL -+_003396_hash dvb_video_write 3 754 _003396_hash NULL -+_003397_hash dynamic_ps_timeout_read 3 10110 _003397_hash NULL -+_003398_hash easycap_alsa_vmalloc 2 14426 _003398_hash NULL -+_003399_hash em28xx_alloc_isoc 4 46892 _003399_hash NULL -+_003400_hash error_error_bar_retry_read 3 64305 _003400_hash NULL -+_003401_hash error_error_frame_cts_nul_flid_read 3 17262 _003401_hash NULL -+_003402_hash error_error_frame_read 3 39947 _003402_hash &_002436_hash -+_003403_hash error_error_null_Frame_tx_start_read 3 55024 _003403_hash NULL -+_003404_hash error_error_numll_frame_cts_start_read 3 47781 _003404_hash NULL -+_003405_hash ext_sd_execute_read_data 9 48589 _003405_hash NULL -+_003406_hash ext_sd_execute_write_data 9 8175 _003406_hash NULL -+_003407_hash fast_user_write 5 20494 _003407_hash NULL -+_003408_hash f_audio_buffer_alloc 1 41110 _003408_hash NULL -+_003409_hash fb_alloc_cmap_gfp 2 20792 _003409_hash NULL -+_003410_hash fbcon_do_set_font 2-3 4079 _003410_hash NULL -+_003412_hash fb_read 3 33506 _003412_hash NULL -+_003413_hash fb_sys_read 3 13778 _003413_hash NULL -+_003414_hash fb_sys_write 3 33130 _003414_hash NULL -+_003415_hash fb_write 3 46924 _003415_hash NULL -+_003416_hash firmwareUpload 3 32794 _003416_hash NULL -+_003417_hash fmc_send_cmd 5 20435 _003417_hash NULL -+_003418_hash fops_read 3 40672 _003418_hash NULL -+_003419_hash forced_ps_read 3 31685 _003419_hash NULL -+_003420_hash frame_alloc 4 15981 _003420_hash NULL -+_003421_hash framebuffer_alloc 1 59145 _003421_hash NULL -+_003422_hash ftrace_write 3 29551 _003422_hash NULL -+_003423_hash fw_download_code 3 13249 _003423_hash NULL -+_003424_hash fwSendNullPacket 2 54618 _003424_hash NULL -+_003425_hash gdm_wimax_netif_rx 3 43423 _003425_hash &_001810_hash -+_003426_hash get_vm_area 1 18080 _003426_hash NULL -+_003427_hash __get_vm_area 1 61599 _003427_hash NULL -+_003428_hash get_vm_area_caller 1 10527 _003428_hash NULL -+_003429_hash __get_vm_area_caller 1 56416 _003828_hash NULL nohasharray -+_003430_hash gspca_dev_probe2 4 59833 _003430_hash NULL -+_003431_hash hdpvr_read 3 9273 _003431_hash NULL -+_003432_hash hecubafb_write 3 26942 _003432_hash NULL -+_003433_hash i915_compat_ioctl 2 3656 _003433_hash NULL -+_003434_hash i915_gem_execbuffer_relocate_slow 7 25355 _003434_hash NULL -+_003435_hash ieee80211_alloc_txb 1-2 52477 _003435_hash NULL -+_003437_hash ieee80211_authentication_req 3 63973 _003437_hash NULL -+_003438_hash ieee80211_wx_set_gen_ie 3 51399 _003438_hash NULL -+_003439_hash ieee80211_wx_set_gen_ie_rsl 3 3521 _003458_hash NULL nohasharray -+_003440_hash intel_sdvo_set_value 4 2311 _003440_hash NULL -+_003441_hash ir_lirc_transmit_ir 3 64403 _003441_hash NULL -+_003442_hash irq_blk_threshold_read 3 33666 _003442_hash NULL -+_003443_hash irq_pkt_threshold_read 3 33356 _003443_hash &_000154_hash -+_003444_hash irq_timeout_read 3 54653 _003444_hash NULL -+_003445_hash ivtv_buf_copy_from_user 4 25502 _003445_hash NULL -+_003446_hash ivtv_copy_buf_to_user 4 6159 _003446_hash NULL -+_003447_hash ivtvfb_write 3 40023 _003447_hash NULL -+_003448_hash kgdb_hex2mem 3 24755 _003448_hash NULL -+_003449_hash lirc_buffer_init 2-3 53282 _003449_hash NULL -+_003451_hash lirc_write 3 20604 _003451_hash NULL -+_003452_hash mce_request_packet 3 1073 _003452_hash NULL -+_003453_hash media_entity_init 2-4 15870 _003453_hash &_001742_hash -+_003455_hash mem_fw_gen_free_mem_blks_read 3 11413 _003455_hash NULL -+_003456_hash mem_fwlog_free_mem_blks_read 3 59616 _003456_hash NULL -+_003457_hash mem_rx_free_mem_blks_read 3 675 _003457_hash NULL -+_003458_hash mem_tx_free_mem_blks_read 3 3521 _003458_hash &_003439_hash -+_003459_hash metronomefb_write 3 8823 _003459_hash NULL -+_003460_hash mga_compat_ioctl 2 52170 _003460_hash NULL -+_003461_hash mmio_read 4 40348 _003461_hash NULL -+_003462_hash netlink_send 5 38434 _003462_hash NULL -+_003463_hash nfc_hci_execute_cmd 5 43882 _003463_hash NULL -+_003464_hash nfc_hci_send_event 5 21452 _003464_hash NULL -+_003465_hash nfc_hci_send_response 5 56462 _003465_hash NULL -+_003466_hash ni_gpct_device_construct 5 610 _003466_hash NULL -+_003467_hash nouveau_compat_ioctl 2 28305 _003467_hash NULL -+_003468_hash odev_update 2 50169 _003468_hash NULL -+_003469_hash opera1_usb_i2c_msgxfer 4 64521 _003469_hash NULL -+_003470_hash OSDSetBlock 2-4 38986 _003470_hash NULL -+_003472_hash oz_add_farewell 5 20652 _003472_hash NULL -+_003473_hash oz_cdev_read 3 20659 _003473_hash NULL -+_003474_hash oz_cdev_write 3 33852 _003474_hash NULL -+_003475_hash oz_ep_alloc 2 5587 _003475_hash NULL -+_003476_hash oz_events_read 3 47535 _003476_hash NULL -+_003477_hash persistent_ram_buffer_map 1-2 11332 _003477_hash NULL -+_003479_hash pipeline_cs_rx_packet_in_read 3 37089 _003479_hash NULL -+_003480_hash pipeline_cs_rx_packet_out_read 3 58926 _003480_hash NULL -+_003481_hash pipeline_csum_to_rx_xfer_swi_read 3 15403 _003481_hash NULL -+_003482_hash pipeline_dec_packet_in_fifo_full_read 3 33052 _003482_hash NULL -+_003483_hash pipeline_dec_packet_in_read 3 47076 _003483_hash NULL -+_003484_hash pipeline_dec_packet_out_read 3 54052 _003484_hash NULL -+_003485_hash pipeline_defrag_to_csum_swi_read 3 63037 _003485_hash NULL -+_003486_hash pipeline_enc_rx_stat_fifo_int_read 3 7107 _003486_hash NULL -+_003487_hash pipeline_enc_tx_stat_fifo_int_read 3 14680 _003487_hash NULL -+_003488_hash pipeline_hs_tx_stat_fifo_int_read 3 15642 _003488_hash &_001260_hash -+_003489_hash pipeline_pipeline_fifo_full_read 3 34095 _003489_hash NULL -+_003490_hash pipeline_post_proc_swi_read 3 24108 _003490_hash NULL -+_003491_hash pipeline_pre_proc_swi_read 3 3898 _003491_hash NULL -+_003492_hash pipeline_pre_to_defrag_swi_read 3 56321 _003492_hash NULL -+_003493_hash pipeline_rx_complete_stat_fifo_int_read 3 40671 _003493_hash NULL -+_003494_hash pipeline_sec_frag_swi_read 3 30294 _003494_hash NULL -+_003495_hash pipeline_tcp_rx_stat_fifo_int_read 3 26745 _003495_hash NULL -+_003496_hash pipeline_tcp_tx_stat_fifo_int_read 3 32589 _003496_hash NULL -+_003497_hash play_iframe 3 8219 _003497_hash NULL -+_003498_hash probes_write 3 29711 _003498_hash NULL -+_003499_hash psb_unlocked_ioctl 2 16926 _003499_hash &_002668_hash -+_003500_hash ps_poll_ps_poll_max_ap_turn_read 3 53140 _003500_hash NULL -+_003501_hash ps_poll_ps_poll_timeouts_read 3 5934 _003501_hash NULL -+_003502_hash ps_poll_ps_poll_utilization_read 3 39383 _003502_hash NULL -+_003503_hash ps_poll_upsd_max_ap_turn_read 3 42050 _003503_hash NULL -+_003504_hash ps_poll_upsd_timeouts_read 3 36755 _003504_hash NULL -+_003505_hash ps_poll_upsd_utilization_read 3 28519 _003505_hash NULL -+_003506_hash pvr2_ioread_read 3 10720 _003506_hash &_001669_hash -+_003507_hash pvr2_ioread_set_sync_key 3 59882 _003507_hash NULL -+_003508_hash pvr2_stream_buffer_count 2 33719 _003508_hash NULL -+_003509_hash pwr_connection_out_of_sync_read 3 35061 _003509_hash NULL -+_003510_hash pwr_cont_miss_bcns_spread_read 3 39250 _003515_hash NULL nohasharray -+_003511_hash pwr_missing_bcns_cnt_read 3 45113 _003511_hash NULL -+_003512_hash pwr_rcvd_awake_bcns_cnt_read 3 12632 _003512_hash NULL -+_003513_hash pwr_rcvd_bcns_cnt_read 3 4774 _003513_hash NULL -+_003514_hash qc_capture 3 19298 _003514_hash NULL -+_003515_hash r128_compat_ioctl 2 39250 _003515_hash &_003510_hash -+_003516_hash radeon_compat_ioctl 2 59150 _003516_hash NULL -+_003517_hash radeon_kms_compat_ioctl 2 51371 _003517_hash NULL -+_003518_hash Realloc 2 34961 _003518_hash NULL -+_003519_hash redrat3_transmit_ir 3 64244 _003519_hash NULL -+_003520_hash reg_w_buf 3 27724 _003520_hash NULL -+_003521_hash reg_w_ixbuf 4 34736 _003521_hash NULL -+_003522_hash rtllib_alloc_txb 1-2 21687 _003522_hash NULL -+_003524_hash rtllib_authentication_req 3 26713 _003524_hash NULL -+_003525_hash rtllib_wx_set_gen_ie 3 59808 _003525_hash NULL -+_003526_hash rts51x_transfer_data_partial 6 5735 _003526_hash NULL -+_003527_hash rvmalloc 1 46873 _003527_hash NULL -+_003528_hash rx_decrypt_key_not_found_read 3 37820 _003528_hash NULL -+_003529_hash rx_defrag_called_read 3 1897 _003529_hash NULL -+_003530_hash rx_defrag_decrypt_failed_read 3 41411 _003530_hash NULL -+_003531_hash rx_defrag_init_called_read 3 35935 _003531_hash NULL -+_003532_hash rx_defrag_in_process_called_read 3 59338 _003532_hash NULL -+_003533_hash rx_defrag_need_decrypt_read 3 42253 _003533_hash NULL -+_003534_hash rx_defrag_need_defrag_read 3 28117 _003534_hash NULL -+_003535_hash rx_defrag_tkip_called_read 3 21031 _003535_hash NULL -+_003536_hash rx_filter_accum_arp_pend_requests_read 3 11003 _003536_hash NULL -+_003537_hash rx_filter_arp_filter_read 3 61914 _003537_hash NULL -+_003538_hash rx_filter_beacon_filter_read 3 49279 _003538_hash NULL -+_003539_hash rx_filter_data_filter_read 3 30098 _003539_hash NULL -+_003540_hash rx_filter_dup_filter_read 3 37238 _003540_hash NULL -+_003541_hash rx_filter_ibss_filter_read 3 50167 _003541_hash NULL -+_003542_hash rx_filter_max_arp_queue_dep_read 3 5851 _003542_hash NULL -+_003543_hash rx_filter_mc_filter_read 3 25712 _003543_hash NULL -+_003544_hash rx_filter_protection_filter_read 3 39282 _003544_hash NULL -+_003545_hash rx_rate_rx_frames_per_rates_read 3 7282 _003545_hash NULL -+_003546_hash rx_rx_beacon_early_term_read 3 21559 _003546_hash NULL -+_003547_hash rx_rx_checksum_result_read 3 50617 _003547_hash NULL -+_003548_hash rx_rx_cmplt_read 3 14753 _003548_hash NULL -+_003549_hash rx_rx_cmplt_task_read 3 35226 _003549_hash NULL -+_003550_hash rx_rx_defrag_end_read 3 505 _003550_hash NULL -+_003551_hash rx_rx_defrag_read 3 2010 _003551_hash NULL -+_003552_hash rx_rx_done_read 3 65217 _003552_hash NULL -+_003553_hash rx_rx_dropped_frame_read 3 23748 _003553_hash NULL -+_003554_hash rx_rx_frame_checksum_read 3 40140 _003554_hash NULL -+_003555_hash rx_rx_hdr_overflow_read 3 35002 _003555_hash NULL -+_003556_hash rx_rx_out_of_mpdu_nodes_read 3 64668 _003556_hash NULL -+_003557_hash rx_rx_phy_hdr_read 3 20950 _003557_hash NULL -+_003558_hash rx_rx_pre_complt_read 3 41653 _003558_hash NULL -+_003559_hash rx_rx_timeout_read 3 62389 _003559_hash NULL -+_003560_hash rx_rx_timeout_wa_read 3 50204 _003560_hash NULL -+_003561_hash rx_rx_tkip_replays_read 3 60193 _003561_hash NULL -+_003562_hash rx_rx_wa_ba_not_expected_read 3 61341 _003562_hash NULL -+_003563_hash rx_rx_wa_density_dropped_frame_read 3 26095 _003563_hash NULL -+_003564_hash rx_streaming_always_read 3 49401 _003564_hash NULL -+_003565_hash rx_streaming_interval_read 3 55291 _003565_hash NULL -+_003566_hash saa7164_buffer_alloc_user 2 9627 _003566_hash NULL -+_003567_hash send_control_msg 6 48498 _003567_hash NULL -+_003568_hash SendTxCommandPacket 3 42901 _003568_hash NULL -+_003569_hash setup_window 2-7-5-4 59178 _003569_hash NULL -+_003573_hash shmem_pwrite_fast 3 46842 _003573_hash NULL -+_003574_hash sleep_auth_read 3 19159 _003574_hash NULL -+_003575_hash sn9c102_read 3 29305 _003575_hash NULL -+_003576_hash snd_pcm_alloc_vmalloc_buffer 2 44595 _003576_hash NULL -+_003577_hash split_scan_timeout_read 3 20029 _003577_hash NULL -+_003578_hash stk_prepare_sio_buffers 2 57168 _003578_hash NULL -+_003579_hash store_debug_level 3 35652 _003579_hash NULL -+_003580_hash suspend_dtim_interval_read 3 64971 _003580_hash NULL -+_003581_hash sys_prctl 4 8766 _003581_hash NULL -+_003582_hash tm6000_read_write_usb 7 50774 _003582_hash &_002149_hash -+_003583_hash tracing_read_pipe 3 35312 _003583_hash NULL -+_003584_hash ts_read 3 44687 _003584_hash NULL -+_003585_hash ts_write 3 64336 _003585_hash NULL -+_003586_hash tt3650_ci_msg 4 57219 _003586_hash NULL -+_003587_hash ttm_object_device_init 2 10321 _003587_hash NULL -+_003588_hash ttm_object_file_init 2 27804 _003588_hash NULL -+_003589_hash tx_frag_bad_mblk_num_read 3 28064 _003589_hash NULL -+_003590_hash tx_frag_cache_hit_read 3 29639 _003590_hash NULL -+_003591_hash tx_frag_cache_miss_read 3 28394 _003591_hash NULL -+_003592_hash tx_frag_called_read 3 1748 _003592_hash NULL -+_003593_hash tx_frag_failed_read 3 43540 _003593_hash NULL -+_003594_hash tx_frag_init_called_read 3 48377 _003594_hash NULL -+_003595_hash tx_frag_in_process_called_read 3 1290 _003595_hash NULL -+_003596_hash tx_frag_key_not_found_read 3 22971 _003596_hash NULL -+_003597_hash tx_frag_mpdu_alloc_failed_read 3 41167 _003597_hash NULL -+_003598_hash tx_frag_need_fragmentation_read 3 50153 _003598_hash NULL -+_003599_hash tx_frag_tkip_called_read 3 31575 _003599_hash NULL -+_003600_hash tx_tx_burst_programmed_read 3 20320 _003600_hash NULL -+_003601_hash tx_tx_checksum_result_read 3 36490 _003601_hash &_001996_hash -+_003602_hash tx_tx_cmplt_read 3 35854 _003602_hash NULL -+_003603_hash tx_tx_data_prepared_read 3 43497 _003603_hash NULL -+_003604_hash tx_tx_data_programmed_read 3 36871 _003604_hash NULL -+_003605_hash tx_tx_done_data_read 3 6799 _003605_hash NULL -+_003606_hash tx_tx_done_int_template_read 3 55511 _003606_hash &_001887_hash -+_003607_hash tx_tx_done_template_read 3 35104 _003607_hash &_000106_hash -+_003608_hash tx_tx_exch_expiry_read 3 8749 _003608_hash NULL -+_003609_hash tx_tx_exch_pending_read 3 53018 _003609_hash NULL -+_003610_hash tx_tx_exch_read 3 52986 _003610_hash NULL -+_003611_hash tx_tx_frame_checksum_read 3 41553 _003611_hash NULL -+_003612_hash tx_tx_imm_resp_read 3 55964 _003612_hash NULL -+_003613_hash tx_tx_prepared_descs_read 3 9221 _003613_hash NULL -+_003614_hash tx_tx_retry_data_read 3 1926 _003614_hash NULL -+_003615_hash tx_tx_retry_template_read 3 57623 _003615_hash NULL -+_003616_hash tx_tx_start_data_read 3 53219 _003616_hash NULL -+_003617_hash tx_tx_start_fw_gen_read 3 58648 _003617_hash NULL -+_003618_hash tx_tx_start_int_templates_read 3 58324 _003618_hash NULL -+_003619_hash tx_tx_start_null_frame_read 3 6281 _003619_hash NULL -+_003620_hash tx_tx_starts_read 3 3617 _003620_hash NULL -+_003621_hash tx_tx_start_templates_read 3 17164 _003621_hash NULL -+_003622_hash tx_tx_template_prepared_read 3 30424 _003622_hash NULL -+_003623_hash tx_tx_template_programmed_read 3 30461 _003623_hash NULL -+_003624_hash udi_log_event 3 58105 _003624_hash NULL -+_003625_hash udl_prime_create 2 57159 _003625_hash NULL -+_003626_hash uf_create_device_nodes 2 24948 _003626_hash NULL -+_003627_hash uf_sme_queue_message 3 15697 _003627_hash NULL -+_003628_hash ufx_alloc_urb_list 3 10349 _003628_hash NULL -+_003629_hash unifi_net_data_malloc 3 24716 _003629_hash NULL -+_003630_hash unifi_read 3 14899 _003630_hash NULL -+_003631_hash unifi_write 3 65012 _003631_hash NULL -+_003632_hash usb_buffer_alloc 2 36276 _003632_hash NULL -+_003633_hash usbvision_rvmalloc 1 19655 _003633_hash NULL -+_003634_hash usbvision_v4l2_read 3 34386 _003634_hash NULL -+_003635_hash uvc_alloc_buffers 2-3 9656 _003635_hash NULL -+_003637_hash uvc_alloc_entity 3-4 20836 _003637_hash NULL -+_003639_hash uvc_debugfs_stats_read 3 56651 _003639_hash NULL -+_003640_hash uvc_simplify_fraction 3 31303 _003640_hash NULL -+_003641_hash v4l2_ctrl_new 7 24927 _003641_hash NULL -+_003642_hash v4l2_event_subscribe 3 53687 _003642_hash NULL -+_003643_hash v4l_stk_read 3 39672 _003643_hash NULL -+_003644_hash __vb2_perform_fileio 3 63033 _003644_hash NULL -+_003645_hash vfd_write 3 14717 _003645_hash NULL -+_003646_hash vfio_config_do_rw 3 46091 _003646_hash NULL -+_003647_hash vfio_msi_enable 2 20906 _003647_hash NULL -+_003648_hash viafb_dvp0_proc_write 3 23023 _003648_hash NULL -+_003649_hash viafb_dvp1_proc_write 3 48864 _003649_hash NULL -+_003650_hash viafb_vt1636_proc_write 3 16018 _003650_hash NULL -+_003651_hash __videobuf_alloc_vb 1 27062 _003651_hash NULL -+_003652_hash __videobuf_alloc_vb 1 5665 _003652_hash NULL -+_003653_hash __videobuf_copy_to_user 4 15423 _003653_hash NULL -+_003654_hash videobuf_dma_init_kernel 3 6963 _003654_hash NULL -+_003655_hash videobuf_pages_to_sg 2 3708 _003655_hash NULL -+_003656_hash videobuf_vmalloc_to_sg 2 4548 _003656_hash NULL -+_003657_hash video_usercopy 2 62151 _003657_hash NULL -+_003658_hash virtscsi_alloc_tgt 2 6643 _003658_hash NULL -+_003659_hash vmw_cursor_update_image 3-4 16332 _003659_hash NULL -+_003661_hash vmw_framebuffer_dmabuf_dirty 6 37661 _003661_hash &_001116_hash -+_003662_hash vmw_framebuffer_surface_dirty 6 48132 _003662_hash NULL -+_003663_hash vmw_gmr2_bind 3 21305 _003663_hash NULL -+_003664_hash vmw_unlocked_ioctl 2 19212 _003664_hash NULL -+_003665_hash w9966_v4l_read 3 31148 _003665_hash NULL -+_003666_hash wl1273_fm_fops_write 3 60621 _003666_hash NULL -+_003667_hash zoran_write 3 22404 _003667_hash NULL -+_003668_hash alloc_vm_area 1 15989 _003668_hash NULL -+_003669_hash cx18_copy_mdl_to_user 4 45549 _003669_hash NULL -+_003670_hash dlfb_ops_write 3 64150 _003670_hash NULL -+_003671_hash dvb_demux_read 3 13981 _003671_hash NULL -+_003672_hash dvb_dmxdev_read_sec 4 7892 _003672_hash NULL -+_003673_hash dvb_dvr_read 3 17073 _003673_hash NULL -+_003674_hash em28xx_init_isoc 4 62883 _003674_hash &_000729_hash -+_003675_hash fb_alloc_cmap 2 6554 _003675_hash NULL -+_003676_hash gspca_dev_probe 4 2570 _003676_hash NULL -+_003677_hash ieee80211_auth_challenge 3 18810 _003677_hash NULL -+_003678_hash ieee80211_rtl_auth_challenge 3 61897 _003678_hash NULL -+_003679_hash init_pci_cap_msi_perm 2 59033 _003679_hash NULL -+_003680_hash __ioremap_caller 1-2 21800 _003680_hash NULL -+_003682_hash ivtv_read 3 57796 _003682_hash NULL -+_003683_hash ivtv_v4l2_write 3 39226 _003683_hash NULL -+_003684_hash mce_async_out 3 58056 _003684_hash NULL -+_003685_hash mce_flush_rx_buffer 2 14976 _003685_hash NULL -+_003686_hash ms_read_multiple_pages 4-5 8052 _003686_hash NULL -+_003688_hash ms_write_multiple_pages 5-6 10362 _003688_hash NULL -+_003690_hash nfc_hci_send_cmd 5 55714 _003690_hash NULL -+_003691_hash persistent_ram_new 1-2 40501 _003691_hash NULL -+_003693_hash picolcd_fb_write 3 2318 _003693_hash NULL -+_003694_hash process_bulk_data_command 4 38906 _003694_hash NULL -+_003695_hash pvr2_v4l2_read 3 18006 _003695_hash NULL -+_003696_hash qcam_read 3 13977 _003696_hash NULL -+_003697_hash register_unifi_sdio 2 55239 _003697_hash NULL -+_003698_hash resize_async_buffer 4 64031 _003698_hash &_002431_hash -+_003699_hash rtllib_auth_challenge 3 12493 _003699_hash NULL -+_003702_hash stk_allocate_buffers 2 16291 _003702_hash NULL -+_003703_hash subdev_ioctl 2 28417 _003703_hash NULL -+_003704_hash _sys_packet_req 4 46793 _003704_hash NULL -+_003705_hash tm6000_i2c_recv_regs16 5 2949 _003705_hash NULL -+_003706_hash tm6000_i2c_recv_regs 5 46215 _003706_hash NULL -+_003707_hash tm6000_i2c_send_regs 5 20250 _003707_hash NULL -+_003708_hash tt3650_ci_msg_locked 4 8013 _003708_hash NULL -+_003709_hash ufx_ops_write 3 54848 _003709_hash NULL -+_003710_hash update_macheader 7 1775 _003710_hash NULL -+_003711_hash usbdux_attach_common 4 51764 _003750_hash NULL nohasharray -+_003712_hash usbduxfast_attach_common 4 52538 _003712_hash NULL -+_003713_hash usbduxsigma_attach_common 4 40847 _003713_hash NULL -+_003714_hash uvc_v4l2_ioctl 2 8411 _003714_hash NULL -+_003715_hash v4l2_ctrl_new_int_menu 4 41151 _003715_hash NULL -+_003716_hash v4l2_ctrl_new_std 5 45748 _003716_hash &_000497_hash -+_003717_hash v4l2_ctrl_new_std_menu 4 6221 _003717_hash NULL -+_003718_hash vb2_read 3 42703 _003718_hash NULL -+_003719_hash vb2_write 3 31948 _003719_hash NULL -+_003720_hash vfio_pci_set_msi_trigger 3-4 26507 _003720_hash NULL -+_003722_hash viafb_iga1_odev_proc_write 3 36241 _003722_hash NULL -+_003723_hash viafb_iga2_odev_proc_write 3 2363 _003723_hash NULL -+_003724_hash __videobuf_alloc_cached 1 12740 _003724_hash NULL -+_003725_hash __videobuf_alloc_uncached 1 55711 _003725_hash NULL -+_003726_hash __videobuf_copy_stream 4 44769 _003726_hash NULL -+_003727_hash videobuf_read_one 3 31637 _003727_hash NULL -+_003728_hash video_ioctl2 2 21380 _003728_hash NULL -+_003729_hash vmap 2 15025 _003729_hash NULL -+_003730_hash vmw_cursor_update_dmabuf 3-4 32045 _003730_hash NULL -+_003732_hash vmw_gmr_bind 3 44130 _003732_hash NULL -+_003733_hash xd_read_multiple_pages 4-5 11422 _003733_hash NULL -+_003735_hash xd_write_multiple_pages 5-6 53633 _003735_hash NULL -+_003737_hash xenfb_write 3 43412 _003737_hash NULL -+_003738_hash arch_gnttab_map_shared 3 41306 _003738_hash NULL -+_003739_hash arch_gnttab_map_status 3 49812 _003739_hash NULL -+_003740_hash bttv_read 3 11432 _003740_hash NULL -+_003741_hash cx18_read 3 23699 _003741_hash NULL -+_003742_hash cx2341x_ctrl_new_menu 3 49700 _003742_hash NULL -+_003743_hash cx2341x_ctrl_new_std 4 57061 _003743_hash NULL -+_003744_hash cx25821_video_ioctl 2 30188 _003744_hash NULL -+_003745_hash dt3155_read 3 59226 _003745_hash NULL -+_003746_hash ioremap_cache 1-2 47189 _003746_hash NULL -+_003748_hash ioremap_nocache 1-2 2439 _003748_hash NULL -+_003750_hash ioremap_prot 1-2 51764 _003750_hash &_003711_hash -+_003752_hash ioremap_wc 1-2 62695 _003752_hash NULL -+_003754_hash ivtv_read_pos 3 34400 _003754_hash &_000312_hash -+_003755_hash mcam_v4l_read 3 36513 _003755_hash NULL -+_003756_hash ms_rw_multi_sector 3-4 7459 _003756_hash NULL -+_003758_hash pvr2_v4l2_ioctl 2 24398 _003758_hash &_000877_hash -+_003759_hash ramoops_init_prz 5 12134 _003759_hash NULL -+_003761_hash ttm_bo_kmap_ttm 3 5922 _003761_hash NULL -+_003762_hash uf_ap_process_data_pdu 7 25860 _003762_hash NULL -+_003763_hash vb2_fop_read 3 24080 _003763_hash NULL -+_003764_hash vb2_fop_write 3 30420 _003764_hash NULL -+_003765_hash videobuf_read_stream 3 14956 _003765_hash NULL -+_003766_hash video_read 3 28148 _003766_hash NULL -+_003767_hash vmw_du_crtc_cursor_set 4-5 28479 _003767_hash NULL -+_003769_hash xd_rw 3-4 49020 _003769_hash NULL -+_003771_hash zoran_ioctl 2 30465 _003771_hash NULL -+_003772_hash zr364xx_read 3 2354 _003772_hash NULL -+_003773_hash acpi_os_ioremap 1-2 49523 _003773_hash NULL -+_003775_hash au0828_v4l2_read 3 40220 _003775_hash NULL -+_003776_hash ca91cx42_alloc_resource 2 10502 _003776_hash NULL -+_003778_hash cx18_read_pos 3 4683 _003778_hash NULL -+_003779_hash cx18_v4l2_read 3 21196 _003779_hash NULL -+_003780_hash cx231xx_v4l2_read 3 55014 _003780_hash NULL -+_003781_hash devm_ioremap_nocache 2-3 2036 _003781_hash NULL -+_003783_hash do_test 1 15766 _003783_hash NULL -+_003784_hash __einj_error_trigger 1 17707 _003784_hash &_001764_hash -+_003785_hash em28xx_v4l2_read 3 16701 _003785_hash NULL -+_003786_hash init_chip_wc_pat 2 62768 _003786_hash NULL -+_003787_hash intel_render_ring_init_dri 2-3 45446 _003787_hash NULL -+_003789_hash io_mapping_create_wc 1-2 1354 _003789_hash NULL -+_003791_hash iommu_map_mmio_space 1 30919 _003791_hash NULL -+_003792_hash ioremap 1-2 23172 _003792_hash NULL -+_003794_hash ivtv_v4l2_read 3 1964 _003794_hash NULL -+_003795_hash mga_ioremap 1-2 8571 _003795_hash NULL -+_003797_hash mpeg_read 3 6708 _003797_hash NULL -+_003798_hash msix_map_region 3 3411 _003798_hash NULL -+_003799_hash ms_rw 3-4 17220 _003799_hash NULL -+_003801_hash pci_iomap 3 47575 _003801_hash NULL -+_003802_hash pd_video_read 3 24510 _003802_hash NULL -+_003803_hash sfi_map_memory 1-2 5183 _003803_hash NULL -+_003805_hash solo_enc_read 3 33553 _003805_hash NULL -+_003806_hash solo_v4l2_read 3 59247 _003806_hash NULL -+_003807_hash timblogiw_read 3 48305 _003807_hash NULL -+_003808_hash tm6000_read 3 4151 _003808_hash NULL -+_003809_hash tsi148_alloc_resource 2 24563 _003809_hash NULL -+_003810_hash ttm_bo_ioremap 2-3 31082 _003810_hash NULL -+_003812_hash ttm_bo_kmap 3-2 60118 _003812_hash NULL -+_003813_hash vb2_vmalloc_get_userptr 3 31374 _003813_hash NULL -+_003814_hash vbi_read 3 63673 _003814_hash NULL -+_003815_hash viacam_read 3 54526 _003815_hash NULL -+_003816_hash xlate_dev_mem_ptr 1 15291 _003816_hash &_001231_hash -+_003817_hash a4t_cs_init 3 27734 _003817_hash NULL -+_003818_hash aac_nark_ioremap 2 50163 _003818_hash &_000323_hash -+_003819_hash aac_rkt_ioremap 2 3333 _003819_hash NULL -+_003820_hash aac_rx_ioremap 2 52410 _003820_hash NULL -+_003821_hash aac_sa_ioremap 2 13596 _003821_hash &_000299_hash -+_003822_hash aac_src_ioremap 2 41688 _003822_hash NULL -+_003823_hash aac_srcv_ioremap 2 6659 _003823_hash NULL -+_003824_hash acpi_map 1-2 58725 _003824_hash NULL -+_003826_hash acpi_os_read_memory 1-3 54186 _003826_hash NULL -+_003828_hash acpi_os_write_memory 1-3 56416 _003828_hash &_003429_hash -+_003830_hash atyfb_setup_generic 3 49151 _003830_hash NULL -+_003831_hash ca91cx42_master_set 4 23146 _003831_hash NULL -+_003832_hash check_mirror 1-2 57342 _003832_hash &_001753_hash -+_003834_hash cycx_setup 4 47562 _003834_hash NULL -+_003835_hash devm_ioremap 2-3 29235 _003835_hash NULL -+_003837_hash divasa_remap_pci_bar 3-4 23485 _003837_hash &_000979_hash -+_003839_hash doc_probe 1 23285 _003839_hash NULL -+_003840_hash DoC_Probe 1 57534 _003840_hash NULL -+_003841_hash efi_ioremap 1-2 3492 _003841_hash &_001137_hash -+_003843_hash ems_pcmcia_add_card 2 62627 _003843_hash NULL -+_003844_hash isp1760_register 1-2 628 _003844_hash NULL -+_003846_hash mid_get_vbt_data_r0 2 10876 _003846_hash NULL -+_003847_hash mid_get_vbt_data_r10 2 6308 _003847_hash NULL -+_003848_hash mid_get_vbt_data_r1 2 26170 _003848_hash NULL -+_003849_hash mthca_map_reg 2-3 5664 _003849_hash NULL -+_003851_hash mthca_setup_cmd_doorbells 2 53954 _003851_hash NULL -+_003852_hash netxen_nic_map_indirect_address_128M 2 42257 _003852_hash NULL -+_003853_hash pcim_iomap 3 58334 _003853_hash NULL -+_003854_hash persistent_ram_iomap 1-2 47156 _003854_hash NULL -+_003856_hash read_vbt_r0 1 503 _003856_hash NULL -+_003857_hash read_vbt_r10 1 60679 _003857_hash NULL -+_003858_hash register_device 2-3 60015 _003858_hash NULL -+_003860_hash remap_pci_mem 1-2 15966 _003860_hash NULL -+_003862_hash rtl_port_map 1-2 2385 _003862_hash NULL -+_003864_hash sfi_map_table 1 5462 _003864_hash NULL -+_003865_hash sriov_enable_migration 2 14889 _003865_hash NULL -+_003866_hash ssb_bus_scan 2 36578 _003866_hash NULL -+_003867_hash ssb_ioremap 2 5228 _003867_hash NULL -+_003868_hash tpci200_slot_map_space 2 3848 _003868_hash NULL -+_003869_hash tpm_tis_init 2-3 15304 _003869_hash NULL -+_003871_hash tsi148_master_set 4 14685 _003871_hash NULL -+_003872_hash acpi_os_map_memory 1-2 11161 _003872_hash NULL -+_003874_hash com90xx_found 3 13974 _003874_hash NULL -+_003875_hash netxen_nic_hw_read_wx_128M 2 26858 _003875_hash NULL -+_003876_hash netxen_nic_hw_write_wx_128M 2 33488 _003876_hash NULL -+_003877_hash sfi_check_table 1 6772 _003877_hash NULL -+_003878_hash sfi_sysfs_install_table 1 51688 _003878_hash NULL -+_003879_hash sriov_enable 2 59689 _003879_hash NULL -+_003880_hash ssb_bus_register 3 65183 _003880_hash NULL -+_003881_hash acpi_ex_system_memory_space_handler 2 31192 _003881_hash NULL -+_003882_hash acpi_tb_check_xsdt 1 21862 _003882_hash NULL -+_003883_hash acpi_tb_install_table 1 12988 _003883_hash NULL -+_003884_hash acpi_tb_parse_root_table 1 53455 _003884_hash NULL -+_003885_hash check_vendor_extension 1 3254 _003885_hash NULL -+_003886_hash pci_enable_sriov 2 35745 _003886_hash NULL -+_003887_hash ssb_bus_pcmciabus_register 3 56020 _003887_hash NULL -+_003888_hash ssb_bus_ssbbus_register 2 2217 _003888_hash NULL -+_003889_hash lpfc_sli_probe_sriov_nr_virtfn 2 26004 _003889_hash NULL -+_003890_hash alloc_vm_area 1 36149 _003890_hash NULL -+_003891_hash cma_create_area 2 38642 _003891_hash NULL -+_003893_hash fbcon_prepare_logo 5 6246 _003893_hash NULL -+_003894_hash io_mapping_map_wc 2 19284 _003894_hash NULL -+_003895_hash nfs_dns_resolve_name 3 25036 _003895_hash NULL -+_003896_hash nfs_parse_server_name 2 1899 _003896_hash NULL -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/size_overflow_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/size_overflow_plugin.c ---- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/size_overflow_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/size_overflow_plugin.c 2012-10-15 17:30:59.835924531 +0000 -@@ -0,0 +1,1879 @@ -+/* -+ * Copyright 2011, 2012 by Emese Revfy <re.emese@gmail.com> -+ * Licensed under the GPL v2, or (at your option) v3 -+ * -+ * Homepage: -+ * http://www.grsecurity.net/~ephox/overflow_plugin/ -+ * -+ * This plugin recomputes expressions of function arguments marked by a size_overflow attribute -+ * with double integer precision (DImode/TImode for 32/64 bit integer types). -+ * The recomputed argument is checked against TYPE_MAX and an event is logged on overflow and the triggering process is killed. -+ * -+ * Usage: -+ * $ gcc -I`gcc -print-file-name=plugin`/include/c-family -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -ggdb -Wall -W -Wno-missing-field-initializers -o size_overflow_plugin.so size_overflow_plugin.c -+ * $ gcc -fplugin=size_overflow_plugin.so test.c -O2 -+ */ -+ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "intl.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "toplev.h" -+#include "function.h" -+#include "tree-flow.h" -+#include "plugin.h" -+#include "gimple.h" -+#include "c-common.h" -+#include "diagnostic.h" -+#include "cfgloop.h" -+ -+#if BUILDING_GCC_VERSION >= 4007 -+#include "c-tree.h" -+#else -+#define C_DECL_IMPLICIT(EXP) DECL_LANG_FLAG_2 (EXP) -+#endif -+ -+struct size_overflow_hash { -+ const struct size_overflow_hash * const next; -+ const char * const name; -+ const unsigned int param; -+}; -+ -+#include "size_overflow_hash.h" -+ -+enum marked { -+ MARKED_NO, MARKED_YES, MARKED_NOT_INTENTIONAL -+}; -+ -+#define __unused __attribute__((__unused__)) -+#define NAME(node) IDENTIFIER_POINTER(DECL_NAME(node)) -+#define NAME_LEN(node) IDENTIFIER_LENGTH(DECL_NAME(node)) -+#define BEFORE_STMT true -+#define AFTER_STMT false -+#define CREATE_NEW_VAR NULL_TREE -+#define CODES_LIMIT 32 -+#define MAX_PARAM 32 -+#define MY_STMT GF_PLF_1 -+#define NO_CAST_CHECK GF_PLF_2 -+ -+#if BUILDING_GCC_VERSION == 4005 -+#define DECL_CHAIN(NODE) (TREE_CHAIN(DECL_MINIMAL_CHECK(NODE))) -+#endif -+ -+int plugin_is_GPL_compatible; -+void debug_gimple_stmt(gimple gs); -+ -+static tree expand(struct pointer_set_t *visited, tree lhs); -+static bool pre_expand(struct pointer_set_t *visited, const_tree lhs); -+static tree report_size_overflow_decl; -+static const_tree const_char_ptr_type_node; -+static unsigned int handle_function(void); -+static void check_size_overflow(gimple stmt, tree size_overflow_type, tree cast_rhs, tree rhs, bool before); -+static tree get_size_overflow_type(gimple stmt, const_tree node); -+static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, tree size_overflow_type, tree rhs1, tree rhs2, tree __unused rhs3); -+ -+static struct plugin_info size_overflow_plugin_info = { -+ .version = "20120930beta", -+ .help = "no-size-overflow\tturn off size overflow checking\n", -+}; -+ -+static tree handle_size_overflow_attribute(tree *node, tree __unused name, tree args, int __unused flags, bool *no_add_attrs) -+{ -+ unsigned int arg_count; -+ enum tree_code code = TREE_CODE(*node); -+ -+ switch (code) { -+ case FUNCTION_DECL: -+ arg_count = type_num_arguments(TREE_TYPE(*node)); -+ break; -+ case FUNCTION_TYPE: -+ case METHOD_TYPE: -+ arg_count = type_num_arguments(*node); -+ break; -+ default: -+ *no_add_attrs = true; -+ error("%s: %qE attribute only applies to functions", __func__, name); -+ return NULL_TREE; -+ } -+ -+ for (; args; args = TREE_CHAIN(args)) { -+ tree position = TREE_VALUE(args); -+ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) < 1 || TREE_INT_CST_LOW(position) > arg_count ) { -+ error("%s: parameter %u is outside range.", __func__, (unsigned int)TREE_INT_CST_LOW(position)); -+ *no_add_attrs = true; -+ } -+ } -+ return NULL_TREE; -+} -+ -+static const char* get_asm_name(tree node) -+{ -+ return IDENTIFIER_POINTER(DECL_ASSEMBLER_NAME(node)); -+} -+ -+static tree handle_intentional_overflow_attribute(tree *node, tree __unused name, tree args, int __unused flags, bool *no_add_attrs) -+{ -+ unsigned int arg_count, arg_num; -+ enum tree_code code = TREE_CODE(*node); -+ -+ switch (code) { -+ case FUNCTION_DECL: -+ arg_count = type_num_arguments(TREE_TYPE(*node)); -+ break; -+ case FUNCTION_TYPE: -+ case METHOD_TYPE: -+ arg_count = type_num_arguments(*node); -+ break; -+ case FIELD_DECL: -+ arg_num = TREE_INT_CST_LOW(TREE_VALUE(args)); -+ if (arg_num != 0) { -+ *no_add_attrs = true; -+ error("%s: %qE attribute parameter can only be 0 in structure fields", __func__, name); -+ } -+ return NULL_TREE; -+ default: -+ *no_add_attrs = true; -+ error("%qE attribute only applies to functions", name); -+ return NULL_TREE; -+ } -+ -+ for (; args; args = TREE_CHAIN(args)) { -+ tree position = TREE_VALUE(args); -+ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) > arg_count ) { -+ error("%s: parameter %u is outside range.", __func__, (unsigned int)TREE_INT_CST_LOW(position)); -+ *no_add_attrs = true; -+ } -+ } -+ return NULL_TREE; -+} -+ -+static struct attribute_spec size_overflow_attr = { -+ .name = "size_overflow", -+ .min_length = 1, -+ .max_length = -1, -+ .decl_required = true, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_size_overflow_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = false -+#endif -+}; -+ -+static struct attribute_spec intentional_overflow_attr = { -+ .name = "intentional_overflow", -+ .min_length = 1, -+ .max_length = -1, -+ .decl_required = true, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_intentional_overflow_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = false -+#endif -+}; -+ -+static void register_attributes(void __unused *event_data, void __unused *data) -+{ -+ register_attribute(&size_overflow_attr); -+ register_attribute(&intentional_overflow_attr); -+} -+ -+// http://www.team5150.com/~andrew/noncryptohashzoo2~/CrapWow.html -+static unsigned int CrapWow(const char *key, unsigned int len, unsigned int seed) -+{ -+#define cwfold( a, b, lo, hi ) { p = (unsigned int)(a) * (unsigned long long)(b); lo ^= (unsigned int)p; hi ^= (unsigned int)(p >> 32); } -+#define cwmixa( in ) { cwfold( in, m, k, h ); } -+#define cwmixb( in ) { cwfold( in, n, h, k ); } -+ -+ unsigned int m = 0x57559429; -+ unsigned int n = 0x5052acdb; -+ const unsigned int *key4 = (const unsigned int *)key; -+ unsigned int h = len; -+ unsigned int k = len + seed + n; -+ unsigned long long p; -+ -+ while (len >= 8) { -+ cwmixb(key4[0]) cwmixa(key4[1]) key4 += 2; -+ len -= 8; -+ } -+ if (len >= 4) { -+ cwmixb(key4[0]) key4 += 1; -+ len -= 4; -+ } -+ if (len) -+ cwmixa(key4[0] & ((1 << (len * 8)) - 1 )); -+ cwmixb(h ^ (k + n)); -+ return k ^ h; -+ -+#undef cwfold -+#undef cwmixa -+#undef cwmixb -+} -+ -+static inline unsigned int get_hash_num(const char *fndecl, const char *tree_codes, unsigned int len, unsigned int seed) -+{ -+ unsigned int fn = CrapWow(fndecl, strlen(fndecl), seed) & 0xffff; -+ unsigned int codes = CrapWow(tree_codes, len, seed) & 0xffff; -+ return fn ^ codes; -+} -+ -+static inline tree get_original_function_decl(tree fndecl) -+{ -+ if (DECL_ABSTRACT_ORIGIN(fndecl)) -+ return DECL_ABSTRACT_ORIGIN(fndecl); -+ return fndecl; -+} -+ -+static inline gimple get_def_stmt(const_tree node) -+{ -+ gcc_assert(node != NULL_TREE); -+ gcc_assert(TREE_CODE(node) == SSA_NAME); -+ return SSA_NAME_DEF_STMT(node); -+} -+ -+static unsigned char get_tree_code(const_tree type) -+{ -+ switch (TREE_CODE(type)) { -+ case ARRAY_TYPE: -+ return 0; -+ case BOOLEAN_TYPE: -+ return 1; -+ case ENUMERAL_TYPE: -+ return 2; -+ case FUNCTION_TYPE: -+ return 3; -+ case INTEGER_TYPE: -+ return 4; -+ case POINTER_TYPE: -+ return 5; -+ case RECORD_TYPE: -+ return 6; -+ case UNION_TYPE: -+ return 7; -+ case VOID_TYPE: -+ return 8; -+ case REAL_TYPE: -+ return 9; -+ case VECTOR_TYPE: -+ return 10; -+ case REFERENCE_TYPE: -+ return 11; -+ case OFFSET_TYPE: -+ return 12; -+ case COMPLEX_TYPE: -+ return 13; -+ default: -+ debug_tree((tree)type); -+ gcc_unreachable(); -+ } -+} -+ -+static size_t add_type_codes(const_tree type, unsigned char *tree_codes, size_t len) -+{ -+ gcc_assert(type != NULL_TREE); -+ -+ while (type && len < CODES_LIMIT) { -+ tree_codes[len] = get_tree_code(type); -+ len++; -+ type = TREE_TYPE(type); -+ } -+ return len; -+} -+ -+static unsigned int get_function_decl(const_tree fndecl, unsigned char *tree_codes) -+{ -+ const_tree arg, result, arg_field, type = TREE_TYPE(fndecl); -+ enum tree_code code = TREE_CODE(type); -+ size_t len = 0; -+ -+ gcc_assert(code == FUNCTION_TYPE || code == METHOD_TYPE); -+ -+ arg = TYPE_ARG_TYPES(type); -+ // skip builtins __builtin_constant_p -+ if (!arg && DECL_BUILT_IN(fndecl)) -+ return 0; -+ -+ if (TREE_CODE_CLASS(code) == tcc_type) -+ result = type; -+ else -+ result = DECL_RESULT(fndecl); -+ -+ gcc_assert(result != NULL_TREE); -+ len = add_type_codes(TREE_TYPE(result), tree_codes, len); -+ -+ if (arg == NULL_TREE) { -+ gcc_assert(CODE_CONTAINS_STRUCT(TREE_CODE(fndecl), TS_DECL_NON_COMMON)); -+ arg_field = DECL_ARGUMENT_FLD(fndecl); -+ if (arg_field == NULL_TREE) -+ return 0; -+ arg = TREE_TYPE(arg_field); -+ len = add_type_codes(arg, tree_codes, len); -+ gcc_assert(len != 0); -+ return len; -+ } -+ -+ gcc_assert(arg != NULL_TREE && TREE_CODE(arg) == TREE_LIST); -+ while (arg && len < CODES_LIMIT) { -+ len = add_type_codes(TREE_VALUE(arg), tree_codes, len); -+ arg = TREE_CHAIN(arg); -+ } -+ -+ gcc_assert(len != 0); -+ return len; -+} -+ -+static const struct size_overflow_hash *get_function_hash(tree fndecl) -+{ -+ unsigned int hash; -+ const struct size_overflow_hash *entry; -+ unsigned char tree_codes[CODES_LIMIT]; -+ size_t len; -+ const char *func_name = get_asm_name(fndecl); -+ -+ len = get_function_decl(fndecl, tree_codes); -+ if (len == 0) -+ return NULL; -+ -+ hash = get_hash_num(func_name, (const char*) tree_codes, len, 0); -+ -+ entry = size_overflow_hash[hash]; -+ while (entry) { -+ if (!strcmp(entry->name, func_name)) -+ return entry; -+ entry = entry->next; -+ } -+ -+ return NULL; -+} -+ -+static void check_arg_type(const_tree arg) -+{ -+ const_tree type = TREE_TYPE(arg); -+ enum tree_code code = TREE_CODE(type); -+ -+ gcc_assert(code == INTEGER_TYPE || code == ENUMERAL_TYPE || -+ (code == POINTER_TYPE && TREE_CODE(TREE_TYPE(type)) == VOID_TYPE) || -+ (code == POINTER_TYPE && TREE_CODE(TREE_TYPE(type)) == INTEGER_TYPE)); -+} -+ -+static int find_arg_number(const_tree arg, tree func) -+{ -+ tree var; -+ unsigned int argnum = 1; -+ -+ if (TREE_CODE(arg) == SSA_NAME) -+ arg = SSA_NAME_VAR(arg); -+ -+ for (var = DECL_ARGUMENTS(func); var; var = TREE_CHAIN(var)) { -+ if (strcmp(NAME(arg), NAME(var))) { -+ argnum++; -+ continue; -+ } -+ check_arg_type(var); -+ return argnum; -+ } -+ gcc_unreachable(); -+} -+ -+static tree create_new_var(tree type) -+{ -+ tree new_var = create_tmp_var(type, "cicus"); -+ -+ add_referenced_var(new_var); -+ mark_sym_for_renaming(new_var); -+ return new_var; -+} -+ -+static gimple create_binary_assign(enum tree_code code, gimple stmt, tree rhs1, tree rhs2) -+{ -+ gimple assign; -+ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); -+ tree type = TREE_TYPE(rhs1); -+ tree lhs = create_new_var(type); -+ -+ assign = gimple_build_assign_with_ops(code, lhs, rhs1, rhs2); -+ gimple_set_lhs(assign, make_ssa_name(lhs, assign)); -+ -+ gsi_insert_before(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ gimple_set_plf(assign, MY_STMT, true); -+ return assign; -+} -+ -+static bool is_bool(const_tree node) -+{ -+ const_tree type; -+ -+ if (node == NULL_TREE) -+ return false; -+ -+ type = TREE_TYPE(node); -+ if (!INTEGRAL_TYPE_P(type)) -+ return false; -+ if (TREE_CODE(type) == BOOLEAN_TYPE) -+ return true; -+ if (TYPE_PRECISION(type) == 1) -+ return true; -+ return false; -+} -+ -+static tree cast_a_tree(tree type, tree var) -+{ -+ gcc_assert(type != NULL_TREE); -+ gcc_assert(var != NULL_TREE); -+ gcc_assert(fold_convertible_p(type, var)); -+ -+ return fold_convert(type, var); -+} -+ -+static gimple build_cast_stmt(tree dst_type, tree rhs, tree lhs, gimple_stmt_iterator *gsi, bool before) -+{ -+ gimple assign; -+ -+ gcc_assert(dst_type != NULL_TREE && rhs != NULL_TREE); -+ if (gsi_end_p(*gsi) && before == AFTER_STMT) -+ gcc_unreachable(); -+ -+ if (lhs == CREATE_NEW_VAR) -+ lhs = create_new_var(dst_type); -+ -+ assign = gimple_build_assign(lhs, cast_a_tree(dst_type, rhs)); -+ -+ if (!gsi_end_p(*gsi)) { -+ location_t loc = gimple_location(gsi_stmt(*gsi)); -+ gimple_set_location(assign, loc); -+ } -+ -+ gimple_set_lhs(assign, make_ssa_name(lhs, assign)); -+ -+ if (before) -+ gsi_insert_before(gsi, assign, GSI_NEW_STMT); -+ else -+ gsi_insert_after(gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ gimple_set_plf(assign, MY_STMT, true); -+ -+ return assign; -+} -+ -+static tree cast_to_new_size_overflow_type(gimple stmt, tree new_rhs1, tree size_overflow_type, bool before) -+{ -+ const_gimple assign; -+ gimple_stmt_iterator gsi; -+ -+ if (new_rhs1 == NULL_TREE) -+ return NULL_TREE; -+ -+ if (!useless_type_conversion_p(TREE_TYPE(new_rhs1), size_overflow_type)) { -+ gsi = gsi_for_stmt(stmt); -+ assign = build_cast_stmt(size_overflow_type, new_rhs1, CREATE_NEW_VAR, &gsi, before); -+ return gimple_get_lhs(assign); -+ } -+ return new_rhs1; -+} -+ -+static tree follow_overflow_type_and_dup(struct pointer_set_t *visited, gimple stmt, const_tree node, tree new_rhs1, tree new_rhs2, tree new_rhs3) -+{ -+ tree size_overflow_type = get_size_overflow_type(stmt, node); -+ -+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); -+ -+ if (new_rhs2 != NULL_TREE) -+ new_rhs2 = cast_to_new_size_overflow_type(stmt, new_rhs2, size_overflow_type, BEFORE_STMT); -+ -+ if (new_rhs3 != NULL_TREE) -+ new_rhs3 = cast_to_new_size_overflow_type(stmt, new_rhs3, size_overflow_type, BEFORE_STMT); -+ -+ return dup_assign(visited, stmt, size_overflow_type, new_rhs1, new_rhs2, new_rhs3); -+} -+ -+ -+static tree create_assign(struct pointer_set_t *visited, gimple oldstmt, tree rhs1, bool before) -+{ -+ tree size_overflow_type, lhs; -+ gimple stmt; -+ gimple_stmt_iterator gsi; -+ -+ if (rhs1 == NULL_TREE) { -+ debug_gimple_stmt(oldstmt); -+ error("%s: rhs1 is NULL_TREE", __func__); -+ gcc_unreachable(); -+ } -+ -+ if (gimple_code(oldstmt) == GIMPLE_ASM) -+ lhs = rhs1; -+ else -+ lhs = gimple_get_lhs(oldstmt); -+ -+ gsi = gsi_for_stmt(oldstmt); -+ pointer_set_insert(visited, oldstmt); -+ if (lookup_stmt_eh_lp(oldstmt) != 0) { -+ basic_block next_bb, cur_bb; -+ const_edge e; -+ -+ gcc_assert(before == false); -+ gcc_assert(stmt_can_throw_internal(oldstmt)); -+ gcc_assert(gimple_code(oldstmt) == GIMPLE_CALL); -+ gcc_assert(!gsi_end_p(gsi)); -+ -+ cur_bb = gimple_bb(oldstmt); -+ next_bb = cur_bb->next_bb; -+ e = find_edge(cur_bb, next_bb); -+ gcc_assert(e != NULL); -+ gcc_assert(e->flags & EDGE_FALLTHRU); -+ -+ gsi = gsi_after_labels(next_bb); -+ gcc_assert(!gsi_end_p(gsi)); -+ -+ before = true; -+ oldstmt = gsi_stmt(gsi); -+ } -+ -+ size_overflow_type = get_size_overflow_type(oldstmt, lhs); -+ -+ stmt = build_cast_stmt(size_overflow_type, rhs1, CREATE_NEW_VAR, &gsi, before); -+ gimple_set_plf(stmt, MY_STMT, true); -+ return gimple_get_lhs(stmt); -+} -+ -+static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, tree size_overflow_type, tree rhs1, tree rhs2, tree __unused rhs3) -+{ -+ gimple stmt; -+ gimple_stmt_iterator gsi; -+ tree new_var, lhs = gimple_get_lhs(oldstmt); -+ -+ if (gimple_plf(oldstmt, MY_STMT)) -+ return lhs; -+ -+ if (gimple_num_ops(oldstmt) != 4 && rhs1 == NULL_TREE) { -+ rhs1 = gimple_assign_rhs1(oldstmt); -+ rhs1 = create_assign(visited, oldstmt, rhs1, BEFORE_STMT); -+ } -+ if (gimple_num_ops(oldstmt) == 3 && rhs2 == NULL_TREE) { -+ rhs2 = gimple_assign_rhs2(oldstmt); -+ rhs2 = create_assign(visited, oldstmt, rhs2, BEFORE_STMT); -+ } -+ -+ stmt = gimple_copy(oldstmt); -+ gimple_set_location(stmt, gimple_location(oldstmt)); -+ gimple_set_plf(stmt, MY_STMT, true); -+ -+ if (gimple_assign_rhs_code(oldstmt) == WIDEN_MULT_EXPR) -+ gimple_assign_set_rhs_code(stmt, MULT_EXPR); -+ -+ if (is_bool(lhs)) -+ new_var = SSA_NAME_VAR(lhs); -+ else -+ new_var = create_new_var(size_overflow_type); -+ new_var = make_ssa_name(new_var, stmt); -+ gimple_set_lhs(stmt, new_var); -+ -+ if (rhs1 != NULL_TREE) { -+ if (!gimple_assign_cast_p(oldstmt)) -+ rhs1 = cast_a_tree(size_overflow_type, rhs1); -+ gimple_assign_set_rhs1(stmt, rhs1); -+ } -+ -+ if (rhs2 != NULL_TREE) -+ gimple_assign_set_rhs2(stmt, rhs2); -+#if BUILDING_GCC_VERSION >= 4007 -+ if (rhs3 != NULL_TREE) -+ gimple_assign_set_rhs3(stmt, rhs3); -+#endif -+ gimple_set_vuse(stmt, gimple_vuse(oldstmt)); -+ gimple_set_vdef(stmt, gimple_vdef(oldstmt)); -+ -+ gsi = gsi_for_stmt(oldstmt); -+ gsi_insert_after(&gsi, stmt, GSI_SAME_STMT); -+ update_stmt(stmt); -+ pointer_set_insert(visited, oldstmt); -+ return gimple_get_lhs(stmt); -+} -+ -+static gimple overflow_create_phi_node(gimple oldstmt, tree result) -+{ -+ basic_block bb; -+ gimple phi; -+ gimple_stmt_iterator gsi = gsi_for_stmt(oldstmt); -+ -+ bb = gsi_bb(gsi); -+ -+ phi = create_phi_node(result, bb); -+ gsi = gsi_last(phi_nodes(bb)); -+ gsi_remove(&gsi, false); -+ -+ gsi = gsi_for_stmt(oldstmt); -+ gsi_insert_after(&gsi, phi, GSI_NEW_STMT); -+ gimple_set_bb(phi, bb); -+ gimple_set_plf(phi, MY_STMT, true); -+ return phi; -+} -+ -+static basic_block create_a_first_bb(void) -+{ -+ basic_block first_bb; -+ -+ first_bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; -+ if (dom_info_available_p(CDI_DOMINATORS)) -+ set_immediate_dominator(CDI_DOMINATORS, first_bb, ENTRY_BLOCK_PTR); -+ return first_bb; -+} -+ -+static tree cast_old_phi_arg(gimple oldstmt, tree size_overflow_type, tree arg, tree new_var, unsigned int i) -+{ -+ basic_block bb; -+ const_gimple newstmt; -+ gimple_stmt_iterator gsi; -+ bool before = BEFORE_STMT; -+ -+ if (TREE_CODE(arg) == SSA_NAME && gimple_code(get_def_stmt(arg)) != GIMPLE_NOP) { -+ gsi = gsi_for_stmt(get_def_stmt(arg)); -+ newstmt = build_cast_stmt(size_overflow_type, arg, new_var, &gsi, AFTER_STMT); -+ return gimple_get_lhs(newstmt); -+ } -+ -+ bb = gimple_phi_arg_edge(oldstmt, i)->src; -+ gsi = gsi_after_labels(bb); -+ if (bb->index == 0) { -+ bb = create_a_first_bb(); -+ gsi = gsi_start_bb(bb); -+ } -+ newstmt = build_cast_stmt(size_overflow_type, arg, new_var, &gsi, before); -+ return gimple_get_lhs(newstmt); -+} -+ -+static const_gimple handle_new_phi_arg(const_tree arg, tree new_var, tree new_rhs) -+{ -+ gimple newstmt; -+ gimple_stmt_iterator gsi; -+ void (*gsi_insert)(gimple_stmt_iterator *, gimple, enum gsi_iterator_update); -+ gimple def_newstmt = get_def_stmt(new_rhs); -+ -+ gsi_insert = gsi_insert_after; -+ gsi = gsi_for_stmt(def_newstmt); -+ -+ switch (gimple_code(get_def_stmt(arg))) { -+ case GIMPLE_PHI: -+ newstmt = gimple_build_assign(new_var, new_rhs); -+ gsi = gsi_after_labels(gimple_bb(def_newstmt)); -+ gsi_insert = gsi_insert_before; -+ break; -+ case GIMPLE_ASM: -+ case GIMPLE_CALL: -+ newstmt = gimple_build_assign(new_var, new_rhs); -+ break; -+ case GIMPLE_ASSIGN: -+ newstmt = gimple_build_assign(new_var, gimple_get_lhs(def_newstmt)); -+ break; -+ default: -+ /* unknown gimple_code (handle_build_new_phi_arg) */ -+ gcc_unreachable(); -+ } -+ -+ gimple_set_lhs(newstmt, make_ssa_name(new_var, newstmt)); -+ gsi_insert(&gsi, newstmt, GSI_NEW_STMT); -+ gimple_set_plf(newstmt, MY_STMT, true); -+ update_stmt(newstmt); -+ return newstmt; -+} -+ -+static tree build_new_phi_arg(struct pointer_set_t *visited, tree size_overflow_type, tree arg, tree new_var) -+{ -+ const_gimple newstmt; -+ gimple def_stmt; -+ tree new_rhs; -+ -+ new_rhs = expand(visited, arg); -+ if (new_rhs == NULL_TREE) -+ return NULL_TREE; -+ -+ def_stmt = get_def_stmt(new_rhs); -+ if (gimple_code(def_stmt) == GIMPLE_NOP) -+ return NULL_TREE; -+ new_rhs = cast_to_new_size_overflow_type(def_stmt, new_rhs, size_overflow_type, AFTER_STMT); -+ -+ newstmt = handle_new_phi_arg(arg, new_var, new_rhs); -+ return gimple_get_lhs(newstmt); -+} -+ -+static tree build_new_phi(struct pointer_set_t *visited, tree orig_result) -+{ -+ gimple phi, oldstmt = get_def_stmt(orig_result); -+ tree new_result, size_overflow_type; -+ unsigned int i; -+ unsigned int n = gimple_phi_num_args(oldstmt); -+ -+ size_overflow_type = get_size_overflow_type(oldstmt, orig_result); -+ -+ new_result = create_new_var(size_overflow_type); -+ -+ pointer_set_insert(visited, oldstmt); -+ phi = overflow_create_phi_node(oldstmt, new_result); -+ for (i = 0; i < n; i++) { -+ tree arg, lhs; -+ -+ arg = gimple_phi_arg_def(oldstmt, i); -+ if (is_gimple_constant(arg)) -+ arg = cast_a_tree(size_overflow_type, arg); -+ lhs = build_new_phi_arg(visited, size_overflow_type, arg, new_result); -+ if (lhs == NULL_TREE) -+ lhs = cast_old_phi_arg(oldstmt, size_overflow_type, arg, new_result, i); -+ add_phi_arg(phi, lhs, gimple_phi_arg_edge(oldstmt, i), gimple_location(oldstmt)); -+ } -+ -+ update_stmt(phi); -+ return gimple_phi_result(phi); -+} -+ -+static tree change_assign_rhs(gimple stmt, const_tree orig_rhs, tree new_rhs) -+{ -+ const_gimple assign; -+ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); -+ tree origtype = TREE_TYPE(orig_rhs); -+ -+ gcc_assert(gimple_code(stmt) == GIMPLE_ASSIGN); -+ -+ assign = build_cast_stmt(origtype, new_rhs, CREATE_NEW_VAR, &gsi, BEFORE_STMT); -+ return gimple_get_lhs(assign); -+} -+ -+static void change_rhs1(gimple stmt, tree new_rhs1) -+{ -+ tree assign_rhs; -+ const_tree rhs = gimple_assign_rhs1(stmt); -+ -+ assign_rhs = change_assign_rhs(stmt, rhs, new_rhs1); -+ gimple_assign_set_rhs1(stmt, assign_rhs); -+ update_stmt(stmt); -+} -+ -+static bool check_mode_type(const_gimple stmt) -+{ -+ const_tree lhs = gimple_get_lhs(stmt); -+ const_tree lhs_type = TREE_TYPE(lhs); -+ const_tree rhs_type = TREE_TYPE(gimple_assign_rhs1(stmt)); -+ enum machine_mode lhs_mode = TYPE_MODE(lhs_type); -+ enum machine_mode rhs_mode = TYPE_MODE(rhs_type); -+ -+ if (rhs_mode == lhs_mode && TYPE_UNSIGNED(rhs_type) == TYPE_UNSIGNED(lhs_type)) -+ return false; -+ -+ if (rhs_mode == SImode && lhs_mode == DImode && (TYPE_UNSIGNED(rhs_type) || !TYPE_UNSIGNED(lhs_type))) -+ return false; -+ -+ return true; -+} -+ -+static bool check_undefined_integer_operation(const_gimple stmt) -+{ -+ const_gimple def_stmt; -+ const_tree lhs = gimple_get_lhs(stmt); -+ const_tree rhs1 = gimple_assign_rhs1(stmt); -+ const_tree rhs1_type = TREE_TYPE(rhs1); -+ const_tree lhs_type = TREE_TYPE(lhs); -+ -+ if (TYPE_MODE(rhs1_type) != TYPE_MODE(lhs_type) || TYPE_UNSIGNED(rhs1_type) == TYPE_UNSIGNED(lhs_type)) -+ return false; -+ -+ def_stmt = get_def_stmt(rhs1); -+ if (gimple_code(def_stmt) != GIMPLE_ASSIGN) -+ return false; -+ -+ if (gimple_assign_rhs_code(def_stmt) != MINUS_EXPR) -+ return false; -+ return true; -+} -+ -+static bool is_a_cast_and_const_overflow(const_tree no_const_rhs) -+{ -+ const_tree rhs1, lhs, rhs1_type, lhs_type; -+ enum machine_mode lhs_mode, rhs_mode; -+ gimple def_stmt = get_def_stmt(no_const_rhs); -+ -+ if (!gimple_assign_cast_p(def_stmt)) -+ return false; -+ -+ rhs1 = gimple_assign_rhs1(def_stmt); -+ lhs = gimple_get_lhs(def_stmt); -+ rhs1_type = TREE_TYPE(rhs1); -+ lhs_type = TREE_TYPE(lhs); -+ rhs_mode = TYPE_MODE(rhs1_type); -+ lhs_mode = TYPE_MODE(lhs_type); -+ if (TYPE_UNSIGNED(lhs_type) == TYPE_UNSIGNED(rhs1_type) || lhs_mode != rhs_mode) -+ return false; -+ -+ return true; -+} -+ -+static tree handle_unary_rhs(struct pointer_set_t *visited, gimple stmt) -+{ -+ tree size_overflow_type, lhs = gimple_get_lhs(stmt); -+ tree new_rhs1, rhs1 = gimple_assign_rhs1(stmt); -+ const_tree rhs1_type = TREE_TYPE(rhs1); -+ const_tree lhs_type = TREE_TYPE(lhs); -+ -+ new_rhs1 = expand(visited, rhs1); -+ -+ if (new_rhs1 == NULL_TREE || TREE_CODE(rhs1_type) == POINTER_TYPE) -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+ -+ if (gimple_plf(stmt, MY_STMT)) -+ return lhs; -+ -+ if (gimple_plf(stmt, NO_CAST_CHECK)) -+ return follow_overflow_type_and_dup(visited, stmt, rhs1, new_rhs1, NULL_TREE, NULL_TREE); -+ -+ if (gimple_assign_rhs_code(stmt) == BIT_NOT_EXPR) { -+ size_overflow_type = get_size_overflow_type(stmt, rhs1); -+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); -+ check_size_overflow(stmt, size_overflow_type, new_rhs1, rhs1, BEFORE_STMT); -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+ } -+ -+ if (!gimple_assign_cast_p(stmt) || check_undefined_integer_operation(stmt)) -+ return follow_overflow_type_and_dup(visited, stmt, lhs, new_rhs1, NULL_TREE, NULL_TREE); -+ -+ size_overflow_type = get_size_overflow_type(stmt, rhs1); -+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); -+ -+ change_rhs1(stmt, new_rhs1); -+ check_size_overflow(stmt, size_overflow_type, new_rhs1, rhs1, BEFORE_STMT); -+ -+ rhs1 = gimple_assign_rhs1(stmt); -+ rhs1_type = TREE_TYPE(rhs1); -+ if (TYPE_UNSIGNED(rhs1_type) != TYPE_UNSIGNED(lhs_type)) -+ return create_assign(visited, stmt, rhs1, AFTER_STMT); -+ -+ if (!check_mode_type(stmt)) -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+ -+ size_overflow_type = get_size_overflow_type(stmt, lhs); -+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); -+ -+ check_size_overflow(stmt, size_overflow_type, new_rhs1, lhs, BEFORE_STMT); -+ -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+} -+ -+static tree handle_unary_ops(struct pointer_set_t *visited, tree lhs) -+{ -+ gimple def_stmt = get_def_stmt(lhs); -+ tree rhs1 = gimple_assign_rhs1(def_stmt); -+ -+ if (is_gimple_constant(rhs1)) -+ return create_assign(visited, def_stmt, lhs, AFTER_STMT); -+ -+ gcc_assert(TREE_CODE(rhs1) != COND_EXPR); -+ switch (TREE_CODE(rhs1)) { -+ case SSA_NAME: -+ return handle_unary_rhs(visited, def_stmt); -+ case ARRAY_REF: -+ case BIT_FIELD_REF: -+ case ADDR_EXPR: -+ case COMPONENT_REF: -+ case INDIRECT_REF: -+#if BUILDING_GCC_VERSION >= 4006 -+ case MEM_REF: -+#endif -+ case PARM_DECL: -+ case TARGET_MEM_REF: -+ case VAR_DECL: -+ return create_assign(visited, def_stmt, lhs, AFTER_STMT); -+ -+ default: -+ debug_gimple_stmt(def_stmt); -+ debug_tree(rhs1); -+ gcc_unreachable(); -+ } -+} -+ -+static void insert_cond(basic_block cond_bb, tree arg, enum tree_code cond_code, tree type_value) -+{ -+ gimple cond_stmt; -+ gimple_stmt_iterator gsi = gsi_last_bb(cond_bb); -+ -+ cond_stmt = gimple_build_cond(cond_code, arg, type_value, NULL_TREE, NULL_TREE); -+ gsi_insert_after(&gsi, cond_stmt, GSI_CONTINUE_LINKING); -+ update_stmt(cond_stmt); -+} -+ -+static tree create_string_param(tree string) -+{ -+ tree i_type, a_type; -+ const int length = TREE_STRING_LENGTH(string); -+ -+ gcc_assert(length > 0); -+ -+ i_type = build_index_type(build_int_cst(NULL_TREE, length - 1)); -+ a_type = build_array_type(char_type_node, i_type); -+ -+ TREE_TYPE(string) = a_type; -+ TREE_CONSTANT(string) = 1; -+ TREE_READONLY(string) = 1; -+ -+ return build1(ADDR_EXPR, ptr_type_node, string); -+} -+ -+static void insert_cond_result(basic_block bb_true, const_gimple stmt, const_tree arg, bool min) -+{ -+ gimple func_stmt; -+ const_gimple def_stmt; -+ const_tree loc_line; -+ tree loc_file, ssa_name, current_func; -+ expanded_location xloc; -+ char ssa_name_buf[256]; -+ gimple_stmt_iterator gsi = gsi_start_bb(bb_true); -+ -+ def_stmt = get_def_stmt(arg); -+ xloc = expand_location(gimple_location(def_stmt)); -+ -+ if (!gimple_has_location(def_stmt)) { -+ xloc = expand_location(gimple_location(stmt)); -+ if (!gimple_has_location(stmt)) -+ xloc = expand_location(DECL_SOURCE_LOCATION(current_function_decl)); -+ } -+ -+ loc_line = build_int_cstu(unsigned_type_node, xloc.line); -+ -+ loc_file = build_string(strlen(xloc.file) + 1, xloc.file); -+ loc_file = create_string_param(loc_file); -+ -+ current_func = build_string(NAME_LEN(current_function_decl) + 1, NAME(current_function_decl)); -+ current_func = create_string_param(current_func); -+ -+ snprintf(ssa_name_buf, 256, "%s_%u (%s)\n", NAME(SSA_NAME_VAR(arg)), SSA_NAME_VERSION(arg), min ? "min" : "max"); -+ ssa_name = build_string(256, ssa_name_buf); -+ ssa_name = create_string_param(ssa_name); -+ -+ // void report_size_overflow(const char *file, unsigned int line, const char *func, const char *ssa_name) -+ func_stmt = gimple_build_call(report_size_overflow_decl, 4, loc_file, loc_line, current_func, ssa_name); -+ -+ gsi_insert_after(&gsi, func_stmt, GSI_CONTINUE_LINKING); -+} -+ -+static void __unused print_the_code_insertions(const_gimple stmt) -+{ -+ location_t loc = gimple_location(stmt); -+ -+ inform(loc, "Integer size_overflow check applied here."); -+} -+ -+static void insert_check_size_overflow(gimple stmt, enum tree_code cond_code, tree arg, tree type_value, bool before, bool min) -+{ -+ basic_block cond_bb, join_bb, bb_true; -+ edge e; -+ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); -+ -+ cond_bb = gimple_bb(stmt); -+ if (before) -+ gsi_prev(&gsi); -+ if (gsi_end_p(gsi)) -+ e = split_block_after_labels(cond_bb); -+ else -+ e = split_block(cond_bb, gsi_stmt(gsi)); -+ cond_bb = e->src; -+ join_bb = e->dest; -+ e->flags = EDGE_FALSE_VALUE; -+ e->probability = REG_BR_PROB_BASE; -+ -+ bb_true = create_empty_bb(cond_bb); -+ make_edge(cond_bb, bb_true, EDGE_TRUE_VALUE); -+ make_edge(cond_bb, join_bb, EDGE_FALSE_VALUE); -+ make_edge(bb_true, join_bb, EDGE_FALLTHRU); -+ -+ if (dom_info_available_p(CDI_DOMINATORS)) { -+ set_immediate_dominator(CDI_DOMINATORS, bb_true, cond_bb); -+ set_immediate_dominator(CDI_DOMINATORS, join_bb, cond_bb); -+ } -+ -+ if (current_loops != NULL) { -+ gcc_assert(cond_bb->loop_father == join_bb->loop_father); -+ add_bb_to_loop(bb_true, cond_bb->loop_father); -+ } -+ -+ insert_cond(cond_bb, arg, cond_code, type_value); -+ insert_cond_result(bb_true, stmt, arg, min); -+ -+// print_the_code_insertions(stmt); -+} -+ -+static void check_size_overflow(gimple stmt, tree size_overflow_type, tree cast_rhs, tree rhs, bool before) -+{ -+ const_tree rhs_type = TREE_TYPE(rhs); -+ tree cast_rhs_type, type_max_type, type_min_type, type_max, type_min; -+ -+ gcc_assert(rhs_type != NULL_TREE); -+ if (TREE_CODE(rhs_type) == POINTER_TYPE) -+ return; -+ -+ gcc_assert(TREE_CODE(rhs_type) == INTEGER_TYPE || TREE_CODE(rhs_type) == BOOLEAN_TYPE || TREE_CODE(rhs_type) == ENUMERAL_TYPE); -+ -+ type_max = cast_a_tree(size_overflow_type, TYPE_MAX_VALUE(rhs_type)); -+ type_min = cast_a_tree(size_overflow_type, TYPE_MIN_VALUE(rhs_type)); -+ -+ gcc_assert(!TREE_OVERFLOW(type_max)); -+ -+ cast_rhs_type = TREE_TYPE(cast_rhs); -+ type_max_type = TREE_TYPE(type_max); -+ type_min_type = TREE_TYPE(type_min); -+ gcc_assert(useless_type_conversion_p(cast_rhs_type, type_max_type)); -+ gcc_assert(useless_type_conversion_p(type_max_type, type_min_type)); -+ -+ insert_check_size_overflow(stmt, GT_EXPR, cast_rhs, type_max, before, false); -+ insert_check_size_overflow(stmt, LT_EXPR, cast_rhs, type_min, before, true); -+} -+ -+static tree get_size_overflow_type_for_intentional_overflow(gimple def_stmt, tree change_rhs) -+{ -+ gimple change_rhs_def_stmt; -+ tree lhs = gimple_get_lhs(def_stmt); -+ tree lhs_type = TREE_TYPE(lhs); -+ tree rhs1_type = TREE_TYPE(gimple_assign_rhs1(def_stmt)); -+ tree rhs2_type = TREE_TYPE(gimple_assign_rhs2(def_stmt)); -+ -+ if (change_rhs == NULL_TREE) -+ return get_size_overflow_type(def_stmt, lhs); -+ -+ change_rhs_def_stmt = get_def_stmt(change_rhs); -+ -+ if (TREE_CODE_CLASS(gimple_assign_rhs_code(def_stmt)) == tcc_comparison) -+ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); -+ -+ if (gimple_assign_rhs_code(def_stmt) == LSHIFT_EXPR) -+ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); -+ -+ if (gimple_assign_rhs_code(def_stmt) == RSHIFT_EXPR) -+ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); -+ -+ if (!useless_type_conversion_p(lhs_type, rhs1_type) || !useless_type_conversion_p(rhs1_type, rhs2_type)) { -+ debug_gimple_stmt(def_stmt); -+ gcc_unreachable(); -+ } -+ -+ return get_size_overflow_type(def_stmt, lhs); -+} -+ -+static bool is_a_constant_overflow(const_gimple stmt, const_tree rhs) -+{ -+ if (gimple_assign_rhs_code(stmt) == MIN_EXPR) -+ return false; -+ if (!is_gimple_constant(rhs)) -+ return false; -+ return true; -+} -+ -+static tree get_cast_def_stmt_rhs(const_tree new_rhs) -+{ -+ gimple def_stmt; -+ -+ def_stmt = get_def_stmt(new_rhs); -+ // get_size_overflow_type -+ if (LONG_TYPE_SIZE != GET_MODE_BITSIZE(SImode)) -+ gcc_assert(gimple_assign_cast_p(def_stmt)); -+ return gimple_assign_rhs1(def_stmt); -+} -+ -+static tree cast_to_int_TI_type_and_check(gimple stmt, tree new_rhs) -+{ -+ gimple_stmt_iterator gsi; -+ const_gimple cast_stmt; -+ gimple def_stmt; -+ enum machine_mode mode = TYPE_MODE(TREE_TYPE(new_rhs)); -+ -+ if (mode != TImode && mode != DImode) { -+ def_stmt = get_def_stmt(new_rhs); -+ gcc_assert(gimple_assign_cast_p(def_stmt)); -+ new_rhs = gimple_assign_rhs1(def_stmt); -+ mode = TYPE_MODE(TREE_TYPE(new_rhs)); -+ } -+ -+ gcc_assert(mode == TImode || mode == DImode); -+ -+ if (mode == TYPE_MODE(intTI_type_node) && useless_type_conversion_p(TREE_TYPE(new_rhs), intTI_type_node)) -+ return new_rhs; -+ -+ gsi = gsi_for_stmt(stmt); -+ cast_stmt = build_cast_stmt(intTI_type_node, new_rhs, CREATE_NEW_VAR, &gsi, BEFORE_STMT); -+ new_rhs = gimple_get_lhs(cast_stmt); -+ -+ if (mode == DImode) -+ return new_rhs; -+ -+ check_size_overflow(stmt, intTI_type_node, new_rhs, new_rhs, BEFORE_STMT); -+ -+ return new_rhs; -+} -+ -+static bool is_an_integer_trunction(const_gimple stmt) -+{ -+ gimple rhs1_def_stmt, rhs2_def_stmt; -+ const_tree rhs1_def_stmt_rhs1, rhs2_def_stmt_rhs1; -+ enum machine_mode rhs1_def_stmt_rhs1_mode, rhs2_def_stmt_rhs1_mode; -+ const_tree rhs1 = gimple_assign_rhs1(stmt); -+ const_tree rhs2 = gimple_assign_rhs2(stmt); -+ enum machine_mode rhs1_mode = TYPE_MODE(TREE_TYPE(rhs1)); -+ enum machine_mode rhs2_mode = TYPE_MODE(TREE_TYPE(rhs2)); -+ -+ if (is_gimple_constant(rhs1) || is_gimple_constant(rhs2)) -+ return false; -+ -+ gcc_assert(TREE_CODE(rhs1) == SSA_NAME && TREE_CODE(rhs2) == SSA_NAME); -+ -+ if (gimple_assign_rhs_code(stmt) != MINUS_EXPR || rhs1_mode != SImode || rhs2_mode != SImode) -+ return false; -+ -+ rhs1_def_stmt = get_def_stmt(rhs1); -+ rhs2_def_stmt = get_def_stmt(rhs2); -+ if (!gimple_assign_cast_p(rhs1_def_stmt) || !gimple_assign_cast_p(rhs2_def_stmt)) -+ return false; -+ -+ rhs1_def_stmt_rhs1 = gimple_assign_rhs1(rhs1_def_stmt); -+ rhs2_def_stmt_rhs1 = gimple_assign_rhs1(rhs2_def_stmt); -+ rhs1_def_stmt_rhs1_mode = TYPE_MODE(TREE_TYPE(rhs1_def_stmt_rhs1)); -+ rhs2_def_stmt_rhs1_mode = TYPE_MODE(TREE_TYPE(rhs2_def_stmt_rhs1)); -+ if (rhs1_def_stmt_rhs1_mode != DImode || rhs2_def_stmt_rhs1_mode != DImode) -+ return false; -+ -+ gimple_set_plf(rhs1_def_stmt, NO_CAST_CHECK, true); -+ gimple_set_plf(rhs2_def_stmt, NO_CAST_CHECK, true); -+ return true; -+} -+ -+static tree handle_integer_truncation(struct pointer_set_t *visited, const_tree lhs) -+{ -+ tree new_rhs1, new_rhs2; -+ tree new_rhs1_def_stmt_rhs1, new_rhs2_def_stmt_rhs1, new_lhs; -+ tree new_rhs1_def_stmt_rhs1_type, new_rhs2_def_stmt_rhs1_type; -+ gimple assign, stmt = get_def_stmt(lhs); -+ tree rhs1 = gimple_assign_rhs1(stmt); -+ tree rhs2 = gimple_assign_rhs2(stmt); -+ -+ if (!is_an_integer_trunction(stmt)) -+ return NULL_TREE; -+ -+ new_rhs1 = expand(visited, rhs1); -+ new_rhs2 = expand(visited, rhs2); -+ -+ new_rhs1_def_stmt_rhs1 = get_cast_def_stmt_rhs(new_rhs1); -+ new_rhs2_def_stmt_rhs1 = get_cast_def_stmt_rhs(new_rhs2); -+ -+ new_rhs1_def_stmt_rhs1_type = TREE_TYPE(new_rhs1_def_stmt_rhs1); -+ new_rhs2_def_stmt_rhs1_type = TREE_TYPE(new_rhs2_def_stmt_rhs1); -+ -+ if (!useless_type_conversion_p(new_rhs1_def_stmt_rhs1_type, new_rhs2_def_stmt_rhs1_type)) { -+ new_rhs1_def_stmt_rhs1 = cast_to_int_TI_type_and_check(stmt, new_rhs1_def_stmt_rhs1); -+ new_rhs2_def_stmt_rhs1 = cast_to_int_TI_type_and_check(stmt, new_rhs2_def_stmt_rhs1); -+ } -+ -+ assign = create_binary_assign(MINUS_EXPR, stmt, new_rhs1_def_stmt_rhs1, new_rhs2_def_stmt_rhs1); -+ new_lhs = gimple_get_lhs(assign); -+ check_size_overflow(assign, TREE_TYPE(new_lhs), new_lhs, rhs1, AFTER_STMT); -+ -+ return follow_overflow_type_and_dup(visited, stmt, lhs, new_rhs1, new_rhs2, NULL_TREE); -+} -+ -+static bool is_a_neg_overflow(const_gimple stmt, const_tree rhs) -+{ -+ const_gimple def_stmt; -+ -+ if (TREE_CODE(rhs) != SSA_NAME) -+ return false; -+ -+ if (gimple_assign_rhs_code(stmt) != PLUS_EXPR) -+ return false; -+ -+ def_stmt = get_def_stmt(rhs); -+ if (gimple_code(def_stmt) != GIMPLE_ASSIGN || gimple_assign_rhs_code(def_stmt) != BIT_NOT_EXPR) -+ return false; -+ -+ return true; -+} -+ -+static tree handle_intentional_overflow(struct pointer_set_t *visited, bool check_overflow, gimple stmt, tree change_rhs, tree new_rhs1, tree new_rhs2) -+{ -+ tree new_rhs, size_overflow_type, orig_rhs; -+ void (*gimple_assign_set_rhs)(gimple, tree); -+ tree rhs1 = gimple_assign_rhs1(stmt); -+ tree rhs2 = gimple_assign_rhs2(stmt); -+ tree lhs = gimple_get_lhs(stmt); -+ -+ if (change_rhs == NULL_TREE) -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+ -+ if (new_rhs2 == NULL_TREE) { -+ size_overflow_type = get_size_overflow_type_for_intentional_overflow(stmt, new_rhs1); -+ new_rhs2 = cast_a_tree(size_overflow_type, rhs2); -+ orig_rhs = rhs1; -+ gimple_assign_set_rhs = &gimple_assign_set_rhs1; -+ } else { -+ size_overflow_type = get_size_overflow_type_for_intentional_overflow(stmt, new_rhs2); -+ new_rhs1 = cast_a_tree(size_overflow_type, rhs1); -+ orig_rhs = rhs2; -+ gimple_assign_set_rhs = &gimple_assign_set_rhs2; -+ } -+ -+ change_rhs = cast_to_new_size_overflow_type(stmt, change_rhs, size_overflow_type, BEFORE_STMT); -+ -+ if (check_overflow) -+ check_size_overflow(stmt, size_overflow_type, change_rhs, orig_rhs, BEFORE_STMT); -+ -+ new_rhs = change_assign_rhs(stmt, orig_rhs, change_rhs); -+ gimple_assign_set_rhs(stmt, new_rhs); -+ update_stmt(stmt); -+ -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+} -+ -+static tree handle_binary_ops(struct pointer_set_t *visited, tree lhs) -+{ -+ tree rhs1, rhs2, new_lhs; -+ gimple def_stmt = get_def_stmt(lhs); -+ tree new_rhs1 = NULL_TREE; -+ tree new_rhs2 = NULL_TREE; -+ -+ rhs1 = gimple_assign_rhs1(def_stmt); -+ rhs2 = gimple_assign_rhs2(def_stmt); -+ -+ /* no DImode/TImode division in the 32/64 bit kernel */ -+ switch (gimple_assign_rhs_code(def_stmt)) { -+ case RDIV_EXPR: -+ case TRUNC_DIV_EXPR: -+ case CEIL_DIV_EXPR: -+ case FLOOR_DIV_EXPR: -+ case ROUND_DIV_EXPR: -+ case TRUNC_MOD_EXPR: -+ case CEIL_MOD_EXPR: -+ case FLOOR_MOD_EXPR: -+ case ROUND_MOD_EXPR: -+ case EXACT_DIV_EXPR: -+ case POINTER_PLUS_EXPR: -+ case BIT_AND_EXPR: -+ return create_assign(visited, def_stmt, lhs, AFTER_STMT); -+ default: -+ break; -+ } -+ -+ new_lhs = handle_integer_truncation(visited, lhs); -+ if (new_lhs != NULL_TREE) -+ return new_lhs; -+ -+ if (TREE_CODE(rhs1) == SSA_NAME) -+ new_rhs1 = expand(visited, rhs1); -+ if (TREE_CODE(rhs2) == SSA_NAME) -+ new_rhs2 = expand(visited, rhs2); -+ -+ if (is_a_neg_overflow(def_stmt, rhs2)) -+ return handle_intentional_overflow(visited, true, def_stmt, new_rhs1, new_rhs1, NULL_TREE); -+ if (is_a_neg_overflow(def_stmt, rhs1)) -+ return handle_intentional_overflow(visited, true, def_stmt, new_rhs2, NULL_TREE, new_rhs2); -+ -+ if (is_a_constant_overflow(def_stmt, rhs2)) -+ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs1), def_stmt, new_rhs1, new_rhs1, NULL_TREE); -+ if (is_a_constant_overflow(def_stmt, rhs1)) -+ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs2), def_stmt, new_rhs2, NULL_TREE, new_rhs2); -+ -+ return follow_overflow_type_and_dup(visited, def_stmt, lhs, new_rhs1, new_rhs2, NULL_TREE); -+} -+ -+#if BUILDING_GCC_VERSION >= 4007 -+static tree get_new_rhs(struct pointer_set_t *visited, tree size_overflow_type, tree rhs) -+{ -+ if (is_gimple_constant(rhs)) -+ return cast_a_tree(size_overflow_type, rhs); -+ if (TREE_CODE(rhs) != SSA_NAME) -+ return NULL_TREE; -+ return expand(visited, rhs); -+} -+ -+static tree handle_ternary_ops(struct pointer_set_t *visited, tree lhs) -+{ -+ tree rhs1, rhs2, rhs3, new_rhs1, new_rhs2, new_rhs3, size_overflow_type; -+ gimple def_stmt = get_def_stmt(lhs); -+ -+ size_overflow_type = get_size_overflow_type(def_stmt, lhs); -+ -+ rhs1 = gimple_assign_rhs1(def_stmt); -+ rhs2 = gimple_assign_rhs2(def_stmt); -+ rhs3 = gimple_assign_rhs3(def_stmt); -+ new_rhs1 = get_new_rhs(visited, size_overflow_type, rhs1); -+ new_rhs2 = get_new_rhs(visited, size_overflow_type, rhs2); -+ new_rhs3 = get_new_rhs(visited, size_overflow_type, rhs3); -+ -+ return follow_overflow_type_and_dup(visited, def_stmt, lhs, new_rhs1, new_rhs2, new_rhs3); -+} -+#endif -+ -+static tree get_size_overflow_type(gimple stmt, const_tree node) -+{ -+ const_tree type; -+ -+ gcc_assert(node != NULL_TREE); -+ -+ type = TREE_TYPE(node); -+ -+ if (gimple_plf(stmt, MY_STMT)) -+ return TREE_TYPE(node); -+ -+ switch (TYPE_MODE(type)) { -+ case QImode: -+ return (TYPE_UNSIGNED(type)) ? unsigned_intHI_type_node : intHI_type_node; -+ case HImode: -+ return (TYPE_UNSIGNED(type)) ? unsigned_intSI_type_node : intSI_type_node; -+ case SImode: -+ return (TYPE_UNSIGNED(type)) ? unsigned_intDI_type_node : intDI_type_node; -+ case DImode: -+ if (LONG_TYPE_SIZE == GET_MODE_BITSIZE(SImode)) -+ return (TYPE_UNSIGNED(type)) ? unsigned_intDI_type_node : intDI_type_node; -+ return (TYPE_UNSIGNED(type)) ? unsigned_intTI_type_node : intTI_type_node; -+ default: -+ debug_tree((tree)node); -+ error("%s: unsupported gcc configuration.", __func__); -+ gcc_unreachable(); -+ } -+} -+ -+static tree expand_visited(gimple def_stmt) -+{ -+ const_gimple next_stmt; -+ gimple_stmt_iterator gsi = gsi_for_stmt(def_stmt); -+ -+ gsi_next(&gsi); -+ next_stmt = gsi_stmt(gsi); -+ -+ gcc_assert(gimple_plf((gimple)next_stmt, MY_STMT)); -+ -+ switch (gimple_code(next_stmt)) { -+ case GIMPLE_ASSIGN: -+ return gimple_get_lhs(next_stmt); -+ case GIMPLE_PHI: -+ return gimple_phi_result(next_stmt); -+ case GIMPLE_CALL: -+ return gimple_call_lhs(next_stmt); -+ default: -+ return NULL_TREE; -+ } -+} -+ -+static tree expand(struct pointer_set_t *visited, tree lhs) -+{ -+ gimple def_stmt; -+ enum tree_code code = TREE_CODE(TREE_TYPE(lhs)); -+ -+ if (is_gimple_constant(lhs)) -+ return NULL_TREE; -+ -+ if (TREE_CODE(lhs) == ADDR_EXPR) -+ return NULL_TREE; -+ -+ if (code == REAL_TYPE) -+ return NULL_TREE; -+ -+ gcc_assert(code == INTEGER_TYPE || code == POINTER_TYPE || code == BOOLEAN_TYPE || code == ENUMERAL_TYPE); -+ -+ -+ def_stmt = get_def_stmt(lhs); -+ -+ if (!def_stmt) -+ return NULL_TREE; -+ -+ if (gimple_plf(def_stmt, MY_STMT)) -+ return lhs; -+ -+ if (pointer_set_contains(visited, def_stmt)) -+ return expand_visited(def_stmt); -+ -+ switch (gimple_code(def_stmt)) { -+ case GIMPLE_NOP: -+ return NULL_TREE; -+ case GIMPLE_PHI: -+ return build_new_phi(visited, lhs); -+ case GIMPLE_CALL: -+ case GIMPLE_ASM: -+ return create_assign(visited, def_stmt, lhs, AFTER_STMT); -+ case GIMPLE_ASSIGN: -+ switch (gimple_num_ops(def_stmt)) { -+ case 2: -+ return handle_unary_ops(visited, lhs); -+ case 3: -+ return handle_binary_ops(visited, lhs); -+#if BUILDING_GCC_VERSION >= 4007 -+ case 4: -+ return handle_ternary_ops(visited, lhs); -+#endif -+ } -+ default: -+ debug_gimple_stmt(def_stmt); -+ error("%s: unknown gimple code", __func__); -+ gcc_unreachable(); -+ } -+} -+ -+static void change_function_arg(gimple stmt, const_tree origarg, unsigned int argnum, tree newarg) -+{ -+ const_gimple assign; -+ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); -+ tree origtype = TREE_TYPE(origarg); -+ -+ gcc_assert(gimple_code(stmt) == GIMPLE_CALL); -+ -+ assign = build_cast_stmt(origtype, newarg, CREATE_NEW_VAR, &gsi, BEFORE_STMT); -+ -+ gimple_call_set_arg(stmt, argnum, gimple_get_lhs(assign)); -+ update_stmt(stmt); -+} -+ -+static bool get_function_arg(unsigned int* argnum, const_tree fndecl) -+{ -+ const char *origid; -+ tree arg; -+ const_tree origarg; -+ -+ if (!DECL_ABSTRACT_ORIGIN(fndecl)) -+ return true; -+ -+ origarg = DECL_ARGUMENTS(DECL_ABSTRACT_ORIGIN(fndecl)); -+ while (origarg && *argnum) { -+ (*argnum)--; -+ origarg = TREE_CHAIN(origarg); -+ } -+ -+ gcc_assert(*argnum == 0); -+ -+ gcc_assert(origarg != NULL_TREE); -+ origid = NAME(origarg); -+ *argnum = 0; -+ for (arg = DECL_ARGUMENTS(fndecl); arg; arg = TREE_CHAIN(arg)) { -+ if (!strcmp(origid, NAME(arg))) -+ return true; -+ (*argnum)++; -+ } -+ return false; -+} -+ -+static bool skip_types(const_tree var) -+{ -+ switch (TREE_CODE(var)) { -+ case ADDR_EXPR: -+#if BUILDING_GCC_VERSION >= 4006 -+ case MEM_REF: -+#endif -+ case ARRAY_REF: -+ case BIT_FIELD_REF: -+ case INDIRECT_REF: -+ case TARGET_MEM_REF: -+ case VAR_DECL: -+ return true; -+ default: -+ break; -+ } -+ return false; -+} -+ -+static bool walk_phi(struct pointer_set_t *visited, const_tree result) -+{ -+ gimple phi = get_def_stmt(result); -+ unsigned int i, n = gimple_phi_num_args(phi); -+ -+ if (!phi) -+ return false; -+ -+ pointer_set_insert(visited, phi); -+ for (i = 0; i < n; i++) { -+ const_tree arg = gimple_phi_arg_def(phi, i); -+ if (pre_expand(visited, arg)) -+ return true; -+ } -+ return false; -+} -+ -+static bool walk_unary_ops(struct pointer_set_t *visited, const_tree lhs) -+{ -+ gimple def_stmt = get_def_stmt(lhs); -+ const_tree rhs; -+ -+ if (!def_stmt) -+ return false; -+ -+ rhs = gimple_assign_rhs1(def_stmt); -+ if (pre_expand(visited, rhs)) -+ return true; -+ return false; -+} -+ -+static bool walk_binary_ops(struct pointer_set_t *visited, const_tree lhs) -+{ -+ bool rhs1_found, rhs2_found; -+ gimple def_stmt = get_def_stmt(lhs); -+ const_tree rhs1, rhs2; -+ -+ if (!def_stmt) -+ return false; -+ -+ rhs1 = gimple_assign_rhs1(def_stmt); -+ rhs2 = gimple_assign_rhs2(def_stmt); -+ rhs1_found = pre_expand(visited, rhs1); -+ rhs2_found = pre_expand(visited, rhs2); -+ -+ return rhs1_found || rhs2_found; -+} -+ -+static const_tree search_field_decl(const_tree comp_ref) -+{ -+ const_tree field = NULL_TREE; -+ unsigned int i, len = TREE_OPERAND_LENGTH(comp_ref); -+ -+ for (i = 0; i < len; i++) { -+ field = TREE_OPERAND(comp_ref, i); -+ if (TREE_CODE(field) == FIELD_DECL) -+ break; -+ } -+ gcc_assert(TREE_CODE(field) == FIELD_DECL); -+ return field; -+} -+ -+static enum marked mark_status(const_tree fndecl, unsigned int argnum) -+{ -+ const_tree attr, p; -+ -+ attr = lookup_attribute("intentional_overflow", DECL_ATTRIBUTES(fndecl)); -+ if (!attr || !TREE_VALUE(attr)) -+ return MARKED_NO; -+ -+ p = TREE_VALUE(attr); -+ if (!TREE_INT_CST_LOW(TREE_VALUE(p))) -+ return MARKED_NOT_INTENTIONAL; -+ -+ do { -+ if (argnum == TREE_INT_CST_LOW(TREE_VALUE(p))) -+ return MARKED_YES; -+ p = TREE_CHAIN(p); -+ } while (p); -+ -+ return MARKED_NO; -+} -+ -+static void print_missing_msg(tree func, unsigned int argnum) -+{ -+ unsigned int new_hash; -+ size_t len; -+ unsigned char tree_codes[CODES_LIMIT]; -+ location_t loc = DECL_SOURCE_LOCATION(func); -+ const char *curfunc = get_asm_name(func); -+ -+ len = get_function_decl(func, tree_codes); -+ new_hash = get_hash_num(curfunc, (const char *) tree_codes, len, 0); -+ inform(loc, "Function %s is missing from the size_overflow hash table +%s+%u+%u+", curfunc, curfunc, argnum, new_hash); -+} -+ -+static unsigned int search_missing_attribute(const_tree arg) -+{ -+ const_tree type = TREE_TYPE(arg); -+ tree func = get_original_function_decl(current_function_decl); -+ unsigned int argnum; -+ const struct size_overflow_hash *hash; -+ -+ gcc_assert(TREE_CODE(arg) != COMPONENT_REF); -+ -+ if (TREE_CODE(type) == POINTER_TYPE) -+ return 0; -+ -+ argnum = find_arg_number(arg, func); -+ if (argnum == 0) -+ return 0; -+ -+ if (lookup_attribute("size_overflow", DECL_ATTRIBUTES(func))) -+ return argnum; -+ -+ hash = get_function_hash(func); -+ if (!hash || !(hash->param & (1U << argnum))) { -+ print_missing_msg(func, argnum); -+ return 0; -+ } -+ return argnum; -+} -+ -+static bool is_already_marked(const_tree lhs) -+{ -+ unsigned int argnum; -+ const_tree fndecl; -+ -+ argnum = search_missing_attribute(lhs); -+ fndecl = get_original_function_decl(current_function_decl); -+ if (argnum && mark_status(fndecl, argnum) == MARKED_YES) -+ return true; -+ return false; -+} -+ -+static bool pre_expand(struct pointer_set_t *visited, const_tree lhs) -+{ -+ const_gimple def_stmt; -+ -+ if (is_gimple_constant(lhs)) -+ return false; -+ -+ if (skip_types(lhs)) -+ return false; -+ -+ if (TREE_CODE(lhs) == PARM_DECL) -+ return is_already_marked(lhs); -+ -+ if (TREE_CODE(lhs) == COMPONENT_REF) { -+ const_tree field, attr; -+ -+ field = search_field_decl(lhs); -+ attr = lookup_attribute("intentional_overflow", DECL_ATTRIBUTES(field)); -+ if (!attr || !TREE_VALUE(attr)) -+ return false; -+ return true; -+ } -+ -+ def_stmt = get_def_stmt(lhs); -+ -+ if (!def_stmt) -+ return false; -+ -+ if (pointer_set_contains(visited, def_stmt)) -+ return false; -+ -+ switch (gimple_code(def_stmt)) { -+ case GIMPLE_NOP: -+ if (TREE_CODE(SSA_NAME_VAR(lhs)) == PARM_DECL) -+ return is_already_marked(lhs); -+ return false; -+ case GIMPLE_PHI: -+ return walk_phi(visited, lhs); -+ case GIMPLE_CALL: -+ case GIMPLE_ASM: -+ return false; -+ case GIMPLE_ASSIGN: -+ switch (gimple_num_ops(def_stmt)) { -+ case 2: -+ return walk_unary_ops(visited, lhs); -+ case 3: -+ return walk_binary_ops(visited, lhs); -+ } -+ default: -+ debug_gimple_stmt((gimple)def_stmt); -+ error("%s: unknown gimple code", __func__); -+ gcc_unreachable(); -+ } -+} -+ -+static bool search_attributes(tree fndecl, const_tree arg, unsigned int argnum) -+{ -+ struct pointer_set_t *visited; -+ bool is_found; -+ enum marked is_marked; -+ location_t loc; -+ -+ visited = pointer_set_create(); -+ is_found = pre_expand(visited, arg); -+ pointer_set_destroy(visited); -+ -+ is_marked = mark_status(fndecl, argnum + 1); -+ if ((is_found && is_marked == MARKED_YES) || is_marked == MARKED_NOT_INTENTIONAL) -+ return true; -+ -+ if (is_found) { -+ loc = DECL_SOURCE_LOCATION(fndecl); -+ inform(loc, "The intentional_overflow attribute is missing from +%s+%u+", get_asm_name(fndecl), argnum + 1); -+ return true; -+ } -+ return false; -+} -+ -+static void handle_function_arg(gimple stmt, tree fndecl, unsigned int argnum) -+{ -+ struct pointer_set_t *visited; -+ tree arg, newarg; -+ bool match; -+ -+ match = get_function_arg(&argnum, fndecl); -+ if (!match) -+ return; -+ gcc_assert(gimple_call_num_args(stmt) > argnum); -+ arg = gimple_call_arg(stmt, argnum); -+ if (arg == NULL_TREE) -+ return; -+ -+ if (is_gimple_constant(arg)) -+ return; -+ -+ if (search_attributes(fndecl, arg, argnum)) -+ return; -+ -+ if (TREE_CODE(arg) != SSA_NAME) -+ return; -+ -+ check_arg_type(arg); -+ -+ visited = pointer_set_create(); -+ newarg = expand(visited, arg); -+ pointer_set_destroy(visited); -+ -+ if (newarg == NULL_TREE) -+ return; -+ -+ change_function_arg(stmt, arg, argnum, newarg); -+ -+ check_size_overflow(stmt, TREE_TYPE(newarg), newarg, arg, BEFORE_STMT); -+} -+ -+static void handle_function_by_attribute(gimple stmt, const_tree attr, tree fndecl) -+{ -+ tree p = TREE_VALUE(attr); -+ do { -+ handle_function_arg(stmt, fndecl, TREE_INT_CST_LOW(TREE_VALUE(p))-1); -+ p = TREE_CHAIN(p); -+ } while (p); -+} -+ -+static void handle_function_by_hash(gimple stmt, tree fndecl) -+{ -+ tree orig_fndecl; -+ unsigned int num; -+ const struct size_overflow_hash *hash; -+ -+ orig_fndecl = get_original_function_decl(fndecl); -+ if (C_DECL_IMPLICIT(orig_fndecl)) -+ return; -+ hash = get_function_hash(orig_fndecl); -+ if (!hash) -+ return; -+ -+ for (num = 1; num <= MAX_PARAM; num++) -+ if (hash->param & (1U << num)) -+ handle_function_arg(stmt, fndecl, num - 1); -+} -+ -+static void set_plf_false(void) -+{ -+ basic_block bb; -+ -+ FOR_ALL_BB(bb) { -+ gimple_stmt_iterator si; -+ -+ for (si = gsi_start_bb(bb); !gsi_end_p(si); gsi_next(&si)) -+ gimple_set_plf(gsi_stmt(si), MY_STMT, false); -+ for (si = gsi_start_phis(bb); !gsi_end_p(si); gsi_next(&si)) -+ gimple_set_plf(gsi_stmt(si), MY_STMT, false); -+ } -+} -+ -+static unsigned int handle_function(void) -+{ -+ basic_block next, bb = ENTRY_BLOCK_PTR->next_bb; -+ -+ set_plf_false(); -+ -+ do { -+ gimple_stmt_iterator gsi; -+ next = bb->next_bb; -+ -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ tree fndecl, attr; -+ gimple stmt = gsi_stmt(gsi); -+ -+ if (!(is_gimple_call(stmt))) -+ continue; -+ fndecl = gimple_call_fndecl(stmt); -+ if (fndecl == NULL_TREE) -+ continue; -+ if (gimple_call_num_args(stmt) == 0) -+ continue; -+ attr = lookup_attribute("size_overflow", DECL_ATTRIBUTES(fndecl)); -+ if (!attr || !TREE_VALUE(attr)) -+ handle_function_by_hash(stmt, fndecl); -+ else -+ handle_function_by_attribute(stmt, attr, fndecl); -+ gsi = gsi_for_stmt(stmt); -+ next = gimple_bb(stmt)->next_bb; -+ } -+ bb = next; -+ } while (bb); -+ return 0; -+} -+ -+static struct gimple_opt_pass size_overflow_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "size_overflow", -+ .gate = NULL, -+ .execute = handle_function, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = PROP_cfg | PROP_referenced_vars, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi | TODO_cleanup_cfg | TODO_ggc_collect | TODO_verify_flow -+ } -+}; -+ -+static void start_unit_callback(void __unused *gcc_data, void __unused *user_data) -+{ -+ tree fntype; -+ -+ const_char_ptr_type_node = build_pointer_type(build_type_variant(char_type_node, 1, 0)); -+ -+ // void report_size_overflow(const char *loc_file, unsigned int loc_line, const char *current_func, const char *ssa_var) -+ fntype = build_function_type_list(void_type_node, -+ const_char_ptr_type_node, -+ unsigned_type_node, -+ const_char_ptr_type_node, -+ const_char_ptr_type_node, -+ NULL_TREE); -+ report_size_overflow_decl = build_fn_decl("report_size_overflow", fntype); -+ -+ DECL_ASSEMBLER_NAME(report_size_overflow_decl); -+ TREE_PUBLIC(report_size_overflow_decl) = 1; -+ DECL_EXTERNAL(report_size_overflow_decl) = 1; -+ DECL_ARTIFICIAL(report_size_overflow_decl) = 1; -+ TREE_THIS_VOLATILE(report_size_overflow_decl) = 1; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ int i; -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ bool enable = true; -+ -+ struct register_pass_info size_overflow_pass_info = { -+ .pass = &size_overflow_pass.pass, -+ .reference_pass_name = "ssa", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ for (i = 0; i < argc; ++i) { -+ if (!strcmp(argv[i].key, "no-size-overflow")) { -+ enable = false; -+ continue; -+ } -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &size_overflow_plugin_info); -+ if (enable) { -+ register_callback("start_unit", PLUGIN_START_UNIT, &start_unit_callback, NULL); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &size_overflow_pass_info); -+ } -+ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); -+ -+ return 0; -+} -diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/stackleak_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/stackleak_plugin.c ---- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/stackleak_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/stackleak_plugin.c 2012-10-15 17:30:59.835924531 +0000 -@@ -0,0 +1,313 @@ -+/* -+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to help implement various PaX features -+ * -+ * - track lowest stack pointer -+ * -+ * TODO: -+ * - initialize all local variables -+ * -+ * BUGS: -+ * - none known -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+ -+extern void print_gimple_stmt(FILE *, gimple, int, int); -+ -+int plugin_is_GPL_compatible; -+ -+static int track_frame_size = -1; -+static const char track_function[] = "pax_track_stack"; -+static const char check_function[] = "pax_check_alloca"; -+static bool init_locals; -+ -+static struct plugin_info stackleak_plugin_info = { -+ .version = "201203140940", -+ .help = "track-lowest-sp=nn\ttrack sp in functions whose frame size is at least nn bytes\n" -+// "initialize-locals\t\tforcibly initialize all stack frames\n" -+}; -+ -+static bool gate_stackleak_track_stack(void); -+static unsigned int execute_stackleak_tree_instrument(void); -+static unsigned int execute_stackleak_final(void); -+ -+static struct gimple_opt_pass stackleak_tree_instrument_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "stackleak_tree_instrument", -+ .gate = gate_stackleak_track_stack, -+ .execute = execute_stackleak_tree_instrument, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = PROP_gimple_leh | PROP_cfg, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, //TODO_verify_ssa | TODO_verify_flow | TODO_verify_stmts, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_update_ssa -+ } -+}; -+ -+static struct rtl_opt_pass stackleak_final_rtl_opt_pass = { -+ .pass = { -+ .type = RTL_PASS, -+ .name = "stackleak_final", -+ .gate = gate_stackleak_track_stack, -+ .execute = execute_stackleak_final, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_dump_func -+ } -+}; -+ -+static bool gate_stackleak_track_stack(void) -+{ -+ return track_frame_size >= 0; -+} -+ -+static void stackleak_check_alloca(gimple_stmt_iterator *gsi) -+{ -+ gimple check_alloca; -+ tree fntype, fndecl, alloca_size; -+ -+ fntype = build_function_type_list(void_type_node, long_unsigned_type_node, NULL_TREE); -+ fndecl = build_fn_decl(check_function, fntype); -+ DECL_ASSEMBLER_NAME(fndecl); // for LTO -+ -+ // insert call to void pax_check_alloca(unsigned long size) -+ alloca_size = gimple_call_arg(gsi_stmt(*gsi), 0); -+ check_alloca = gimple_build_call(fndecl, 1, alloca_size); -+ gsi_insert_before(gsi, check_alloca, GSI_SAME_STMT); -+} -+ -+static void stackleak_add_instrumentation(gimple_stmt_iterator *gsi) -+{ -+ gimple track_stack; -+ tree fntype, fndecl; -+ -+ fntype = build_function_type_list(void_type_node, NULL_TREE); -+ fndecl = build_fn_decl(track_function, fntype); -+ DECL_ASSEMBLER_NAME(fndecl); // for LTO -+ -+ // insert call to void pax_track_stack(void) -+ track_stack = gimple_build_call(fndecl, 0); -+ gsi_insert_after(gsi, track_stack, GSI_CONTINUE_LINKING); -+} -+ -+#if BUILDING_GCC_VERSION == 4005 -+static bool gimple_call_builtin_p(gimple stmt, enum built_in_function code) -+{ -+ tree fndecl; -+ -+ if (!is_gimple_call(stmt)) -+ return false; -+ fndecl = gimple_call_fndecl(stmt); -+ if (!fndecl) -+ return false; -+ if (DECL_BUILT_IN_CLASS(fndecl) != BUILT_IN_NORMAL) -+ return false; -+// print_node(stderr, "pax", fndecl, 4); -+ return DECL_FUNCTION_CODE(fndecl) == code; -+} -+#endif -+ -+static bool is_alloca(gimple stmt) -+{ -+ if (gimple_call_builtin_p(stmt, BUILT_IN_ALLOCA)) -+ return true; -+ -+#if BUILDING_GCC_VERSION >= 4007 -+ if (gimple_call_builtin_p(stmt, BUILT_IN_ALLOCA_WITH_ALIGN)) -+ return true; -+#endif -+ -+ return false; -+} -+ -+static unsigned int execute_stackleak_tree_instrument(void) -+{ -+ basic_block bb, entry_bb; -+ bool prologue_instrumented = false, is_leaf = true; -+ -+ entry_bb = ENTRY_BLOCK_PTR_FOR_FUNCTION(cfun)->next_bb; -+ -+ // 1. loop through BBs and GIMPLE statements -+ FOR_EACH_BB(bb) { -+ gimple_stmt_iterator gsi; -+ -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ gimple stmt; -+ -+ stmt = gsi_stmt(gsi); -+ -+ if (is_gimple_call(stmt)) -+ is_leaf = false; -+ -+ // gimple match: align 8 built-in BUILT_IN_NORMAL:BUILT_IN_ALLOCA attributes <tree_list 0xb7576450> -+ if (!is_alloca(stmt)) -+ continue; -+ -+ // 2. insert stack overflow check before each __builtin_alloca call -+ stackleak_check_alloca(&gsi); -+ -+ // 3. insert track call after each __builtin_alloca call -+ stackleak_add_instrumentation(&gsi); -+ if (bb == entry_bb) -+ prologue_instrumented = true; -+ } -+ } -+ -+ // special cases for some bad linux code: taking the address of static inline functions will materialize them -+ // but we mustn't instrument some of them as the resulting stack alignment required by the function call ABI -+ // will break other assumptions regarding the expected (but not otherwise enforced) register clobbering ABI. -+ // case in point: native_save_fl on amd64 when optimized for size clobbers rdx if it were instrumented here. -+ if (is_leaf && !TREE_PUBLIC(current_function_decl) && DECL_DECLARED_INLINE_P(current_function_decl)) -+ return 0; -+ if (is_leaf && !strncmp(IDENTIFIER_POINTER(DECL_NAME(current_function_decl)), "_paravirt_", 10)) -+ return 0; -+ -+ // 4. insert track call at the beginning -+ if (!prologue_instrumented) { -+ gimple_stmt_iterator gsi; -+ -+ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; -+ if (dom_info_available_p(CDI_DOMINATORS)) -+ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR); -+ gsi = gsi_start_bb(bb); -+ stackleak_add_instrumentation(&gsi); -+ } -+ -+ return 0; -+} -+ -+static unsigned int execute_stackleak_final(void) -+{ -+ rtx insn; -+ -+ if (cfun->calls_alloca) -+ return 0; -+ -+ // keep calls only if function frame is big enough -+ if (get_frame_size() >= track_frame_size) -+ return 0; -+ -+ // 1. find pax_track_stack calls -+ for (insn = get_insns(); insn; insn = NEXT_INSN(insn)) { -+ // rtl match: (call_insn 8 7 9 3 (call (mem (symbol_ref ("pax_track_stack") [flags 0x41] <function_decl 0xb7470e80 pax_track_stack>) [0 S1 A8]) (4)) -1 (nil) (nil)) -+ rtx body; -+ -+ if (!CALL_P(insn)) -+ continue; -+ body = PATTERN(insn); -+ if (GET_CODE(body) != CALL) -+ continue; -+ body = XEXP(body, 0); -+ if (GET_CODE(body) != MEM) -+ continue; -+ body = XEXP(body, 0); -+ if (GET_CODE(body) != SYMBOL_REF) -+ continue; -+ if (strcmp(XSTR(body, 0), track_function)) -+ continue; -+// warning(0, "track_frame_size: %d %ld %d", cfun->calls_alloca, get_frame_size(), track_frame_size); -+ // 2. delete call -+ insn = delete_insn_and_edges(insn); -+#if BUILDING_GCC_VERSION >= 4007 -+ if (GET_CODE(insn) == NOTE && NOTE_KIND(insn) == NOTE_INSN_CALL_ARG_LOCATION) -+ insn = delete_insn_and_edges(insn); -+#endif -+ } -+ -+// print_simple_rtl(stderr, get_insns()); -+// print_rtl(stderr, get_insns()); -+// warning(0, "track_frame_size: %d %ld %d", cfun->calls_alloca, get_frame_size(), track_frame_size); -+ -+ return 0; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ int i; -+ struct register_pass_info stackleak_tree_instrument_pass_info = { -+ .pass = &stackleak_tree_instrument_pass.pass, -+// .reference_pass_name = "tree_profile", -+ .reference_pass_name = "optimized", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_BEFORE -+ }; -+ struct register_pass_info stackleak_final_pass_info = { -+ .pass = &stackleak_final_rtl_opt_pass.pass, -+ .reference_pass_name = "final", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_BEFORE -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &stackleak_plugin_info); -+ -+ for (i = 0; i < argc; ++i) { -+ if (!strcmp(argv[i].key, "track-lowest-sp")) { -+ if (!argv[i].value) { -+ error(G_("no value supplied for option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ continue; -+ } -+ track_frame_size = atoi(argv[i].value); -+ if (argv[i].value[0] < '0' || argv[i].value[0] > '9' || track_frame_size < 0) -+ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); -+ continue; -+ } -+ if (!strcmp(argv[i].key, "initialize-locals")) { -+ if (argv[i].value) { -+ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); -+ continue; -+ } -+ init_locals = true; -+ continue; -+ } -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ } -+ -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &stackleak_tree_instrument_pass_info); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &stackleak_final_pass_info); -+ -+ return 0; -+} diff --git a/net-wireless/compat-wireless/files/compat-wireless-3.6.6-grsec-warnings.patch b/net-wireless/compat-wireless/files/compat-wireless-3.6.6-grsec-warnings.patch deleted file mode 100644 index 825b4092..00000000 --- a/net-wireless/compat-wireless/files/compat-wireless-3.6.6-grsec-warnings.patch +++ /dev/null @@ -1,177 +0,0 @@ -Fixes for: -drivers/net/wireless/ath/wil6210/cfg80211.c:527:2: warning: initialization from incompatible pointer type [enabled by default] -drivers/net/wireless/ath/wil6210/cfg80211.c:527:2: warning: (near initialization for ‘wil_cfg80211_ops.scan’) [enabled by default] -drivers/net/wireless/ath/wil6210/cfg80211.c:534:2: warning: initialization from incompatible pointer type [enabled by default] -drivers/net/wireless/ath/wil6210/cfg80211.c:534:2: warning: (near initialization for ‘wil_cfg80211_ops.mgmt_tx’) [enabled by default] -drivers/net/wireless/ath/wil6210/cfg80211.c:535:2: warning: initialization from incompatible pointer type [enabled by default] -drivers/net/wireless/ath/wil6210/cfg80211.c:535:2: warning: (near initialization for ‘wil_cfg80211_ops.mgmt_frame_register’) [enabled by default] ---- drivers/net/wireless/ath/wil6210/cfg80211.c -+++ drivers/net/wireless/ath/wil6210/cfg80211.c -@@ -351,6 +351,12 @@ - return wmi_send_cmd(wil, &wmi_scan); - } - -+static int wil_cfg80211_scan_no_ndev(struct wiphy *wiphy, -+ struct cfg80211_scan_request *request) -+{ -+ return wil_cfg80211_scan(wiphy, NULL, request); -+} -+ - static int wil_cfg80211_connect(struct wiphy *wiphy, struct net_device *ndev, - struct cfg80211_connect_params *sme) - { -@@ -486,7 +492,7 @@ - return 0; - } - --static int wil_mgmt_tx(struct wiphy *wiphy, struct net_device *ndev, -+static int wil_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *ndev, - struct ieee80211_channel *chan, bool offchan, - enum nl80211_channel_type channel_type, - bool channel_type_valid, unsigned int wait, -@@ -502,7 +508,7 @@ - } - - static void wil_mgmt_frame_register(struct wiphy *wiphy, -- struct net_device *ndev, u16 frame_type, bool reg) -+ struct wireless_dev *ndev, u16 frame_type, bool reg) - { - struct wil6210_priv *wil = wiphy_to_wil(wiphy); - wil_info(wil, "%s()\n", __func__); -@@ -524,7 +530,7 @@ - } - - static struct cfg80211_ops wil_cfg80211_ops = { -- .scan = wil_cfg80211_scan, -+ .scan = wil_cfg80211_scan_no_ndev, - .connect = wil_cfg80211_connect, - .disconnect = wil_cfg80211_disconnect, - .set_tx_power = wil_cfg80211_set_txpower, -Fixes for: -drivers/net/wireless/ath/ath6kl/sdio.c: In function ‘ath6kl_sdio_alloc_prep_scat_req’: -drivers/net/wireless/ath/ath6kl/sdio.c:1478:1: warning: find_arg_number: cannot find the buf_sz argument in ath6kl_sdio_alloc_prep_scat_req [enabled by default] -drivers/net/wireless/ath/ath6kl/sdio.c:1478:1: warning: find_arg_number: cannot find the sg_sz argument in ath6kl_sdio_alloc_prep_scat_req [enabled by default] ---- drivers/net/wireless/ath/ath6kl/sdio.c -+++ drivers/net/wireless/ath/ath6kl/sdio.c -@@ -341,11 +341,14 @@ - scat_list_sz = (n_scat_entry - 1) * sizeof(struct hif_scatter_item); - scat_req_sz = sizeof(*s_req) + scat_list_sz; - -- if (!virt_scat) -+ if (!virt_scat) { - sg_sz = sizeof(struct scatterlist) * n_scat_entry; -- else -+ buf_sz = 0; -+ } else { -+ sg_sz = 0; - buf_sz = 2 * L1_CACHE_BYTES + - ATH6KL_MAX_TRANSFER_SIZE_PER_SCATTER; -+ } - - for (i = 0; i < n_scat_req; i++) { - /* allocate the scatter request */ -Fixes for: -drivers/net/wireless/ipw2x00/libipw_wx.c:526:21: warning: unused variable ‘dev’ [-Wunused-variable] ---- drivers/net/wireless/ipw2x00/libipw_wx.c -+++ drivers/net/wireless/ipw2x00/libipw_wx.c -@@ -523,7 +523,7 @@ - struct iw_request_info *info, - union iwreq_data *wrqu, char *extra) - { -- struct net_device *dev = ieee->dev; -+ // struct net_device *dev = ieee->dev; - struct iw_point *encoding = &wrqu->encoding; - struct iw_encode_ext *ext = (struct iw_encode_ext *)extra; - int i, idx, ret = 0; -@@ -599,7 +599,7 @@ - break; - default: - LIBIPW_DEBUG_WX("%s: unknown crypto alg %d\n", -- dev->name, ext->alg); -+ ieee->dev->name, ext->alg); - ret = -EINVAL; - goto done; - } -@@ -611,7 +611,7 @@ - } - if (ops == NULL) { - LIBIPW_DEBUG_WX("%s: unknown crypto alg %d\n", -- dev->name, ext->alg); -+ ieee->dev->name, ext->alg); - ret = -EINVAL; - goto done; - } -@@ -640,7 +640,7 @@ - if (ext->key_len > 0 && (*crypt)->ops->set_key && - (*crypt)->ops->set_key(ext->key, ext->key_len, ext->rx_seq, - (*crypt)->priv) < 0) { -- LIBIPW_DEBUG_WX("%s: key setting failed\n", dev->name); -+ LIBIPW_DEBUG_WX("%s: key setting failed\n", ieee->dev->name); - ret = -EINVAL; - goto done; - } -Fixes for: -compat/compat-3.7.c:37:2: warning: passing argument 1 of ‘pci_find_capability’ discards ‘const’ qualifier from pointer target type [enabled by default] ---- compat/compat-3.7.c -+++ compat/compat-3.7.c -@@ -29,7 +29,7 @@ - * pci_dev but if we found it we likely would remove it from - * the kernel anyway right? Bite me. - */ --static inline u16 pcie_flags_reg(const struct pci_dev *dev) -+static inline u16 pcie_flags_reg(struct pci_dev *dev) - { - int pos; - u16 reg16; -@@ -43,12 +43,12 @@ - return reg16; - } - --static inline int pci_pcie_type(const struct pci_dev *dev) -+static inline int pci_pcie_type(struct pci_dev *dev) - { - return (pcie_flags_reg(dev) & PCI_EXP_FLAGS_TYPE) >> 4; - } - --static inline int pcie_cap_version(const struct pci_dev *dev) -+static inline int pcie_cap_version(struct pci_dev *dev) - { - return pcie_flags_reg(dev) & PCI_EXP_FLAGS_VERS; - } -@@ -58,7 +58,7 @@ - return true; - } - --static inline bool pcie_cap_has_lnkctl(const struct pci_dev *dev) -+static inline bool pcie_cap_has_lnkctl(struct pci_dev *dev) - { - int type = pci_pcie_type(dev); - -@@ -68,7 +68,7 @@ - type == PCI_EXP_TYPE_LEG_END; - } - --static inline bool pcie_cap_has_sltctl(const struct pci_dev *dev) -+static inline bool pcie_cap_has_sltctl(struct pci_dev *dev) - { - int type = pci_pcie_type(dev); - -@@ -78,7 +78,7 @@ - pcie_flags_reg(dev) & PCI_EXP_FLAGS_SLOT); - } - --static inline bool pcie_cap_has_rtctl(const struct pci_dev *dev) -+static inline bool pcie_cap_has_rtctl(struct pci_dev *dev) - { - int type = pci_pcie_type(dev); - ---- drivers/net/wireless/ath/ath5k/debug.c -+++ drivers/net/wireless/ath/ath5k/debug.c -@@ -58,6 +58,7 @@ - * THE POSSIBILITY OF SUCH DAMAGES. - */ - -+#undef pr_fmt - #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - - #include <linux/export.h> diff --git a/net-wireless/compat-wireless/files/compat-wireless-3.6.6-grsec.patch b/net-wireless/compat-wireless/files/compat-wireless-3.6.6-grsec.patch deleted file mode 100644 index bf9e483e..00000000 --- a/net-wireless/compat-wireless/files/compat-wireless-3.6.6-grsec.patch +++ /dev/null @@ -1,8363 +0,0 @@ ---- drivers/net/ethernet/atheros/alx/alx_sw.h 2012-09-27 23:19:12.000000000 +0000 -+++ drivers/net/ethernet/atheros/alx/alx_sw.h 2012-10-15 17:29:45.216925787 +0000 -@@ -326,7 +326,7 @@ struct alx_hw_callbacks { - - /* Others */ - int (*get_ethtool_regs)(struct alx_hw *, void *); --}; -+} __no_const; - - struct alx_hw { - struct alx_adapter *adpt; ---- drivers/net/ethernet/atheros/atlx/atl2.c 2012-09-27 23:19:12.000000000 +0000 -+++ drivers/net/ethernet/atheros/atlx/atl2.c 2012-10-15 17:30:59.816924531 +0000 -@@ -2872,7 +2872,7 @@ static void atl2_force_ps(struct atl2_hw - */ - - #define ATL2_PARAM(X, desc) \ -- static const int __devinitdata X[ATL2_MAX_NIC + 1] = ATL2_PARAM_INIT; \ -+ static const int __devinitconst X[ATL2_MAX_NIC + 1] = ATL2_PARAM_INIT; \ - MODULE_PARM(X, "1-" __MODULE_STRING(ATL2_MAX_NIC) "i"); \ - MODULE_PARM_DESC(X, desc); - #else ---- drivers/net/wireless/ath/ath.h 2012-09-27 23:19:12.000000000 +0000 -+++ drivers/net/wireless/ath/ath.h 2012-10-15 17:30:59.818924529 +0000 -@@ -119,6 +119,7 @@ struct ath_ops { - void (*write_flush) (void *); - u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr); - }; -+typedef struct ath_ops __no_const ath_ops_no_const; - - struct ath_common; - struct ath_bus_ops; ---- drivers/net/wireless/ath/ath9k/ar9002_mac.c 2012-09-27 23:19:11.000000000 +0000 -+++ drivers/net/wireless/ath/ath9k/ar9002_mac.c 2012-10-15 17:30:59.816924531 +0000 -@@ -184,8 +184,8 @@ ar9002_set_txdesc(struct ath_hw *ah, voi - ads->ds_txstatus6 = ads->ds_txstatus7 = 0; - ads->ds_txstatus8 = ads->ds_txstatus9 = 0; - -- ACCESS_ONCE(ads->ds_link) = i->link; -- ACCESS_ONCE(ads->ds_data) = i->buf_addr[0]; -+ ACCESS_ONCE_RW(ads->ds_link) = i->link; -+ ACCESS_ONCE_RW(ads->ds_data) = i->buf_addr[0]; - - ctl1 = i->buf_len[0] | (i->is_last ? 0 : AR_TxMore); - ctl6 = SM(i->keytype, AR_EncrType); -@@ -199,26 +199,26 @@ ar9002_set_txdesc(struct ath_hw *ah, voi - - if ((i->is_first || i->is_last) && - i->aggr != AGGR_BUF_MIDDLE && i->aggr != AGGR_BUF_LAST) { -- ACCESS_ONCE(ads->ds_ctl2) = set11nTries(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl2) = set11nTries(i->rates, 0) - | set11nTries(i->rates, 1) - | set11nTries(i->rates, 2) - | set11nTries(i->rates, 3) - | (i->dur_update ? AR_DurUpdateEna : 0) - | SM(0, AR_BurstDur); - -- ACCESS_ONCE(ads->ds_ctl3) = set11nRate(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl3) = set11nRate(i->rates, 0) - | set11nRate(i->rates, 1) - | set11nRate(i->rates, 2) - | set11nRate(i->rates, 3); - } else { -- ACCESS_ONCE(ads->ds_ctl2) = 0; -- ACCESS_ONCE(ads->ds_ctl3) = 0; -+ ACCESS_ONCE_RW(ads->ds_ctl2) = 0; -+ ACCESS_ONCE_RW(ads->ds_ctl3) = 0; - } - - if (!i->is_first) { -- ACCESS_ONCE(ads->ds_ctl0) = 0; -- ACCESS_ONCE(ads->ds_ctl1) = ctl1; -- ACCESS_ONCE(ads->ds_ctl6) = ctl6; -+ ACCESS_ONCE_RW(ads->ds_ctl0) = 0; -+ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; -+ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; - return; - } - -@@ -243,7 +243,7 @@ ar9002_set_txdesc(struct ath_hw *ah, voi - break; - } - -- ACCESS_ONCE(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) -+ ACCESS_ONCE_RW(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) - | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) - | SM(i->txpower, AR_XmitPower) - | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) -@@ -253,19 +253,19 @@ ar9002_set_txdesc(struct ath_hw *ah, voi - | (i->flags & ATH9K_TXDESC_RTSENA ? AR_RTSEnable : - (i->flags & ATH9K_TXDESC_CTSENA ? AR_CTSEnable : 0)); - -- ACCESS_ONCE(ads->ds_ctl1) = ctl1; -- ACCESS_ONCE(ads->ds_ctl6) = ctl6; -+ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; -+ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; - - if (i->aggr == AGGR_BUF_MIDDLE || i->aggr == AGGR_BUF_LAST) - return; - -- ACCESS_ONCE(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) - | set11nPktDurRTSCTS(i->rates, 1); - -- ACCESS_ONCE(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) -+ ACCESS_ONCE_RW(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) - | set11nPktDurRTSCTS(i->rates, 3); - -- ACCESS_ONCE(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) - | set11nRateFlags(i->rates, 1) - | set11nRateFlags(i->rates, 2) - | set11nRateFlags(i->rates, 3) ---- drivers/net/wireless/ath/ath9k/ar9003_mac.c 2012-09-27 23:19:12.000000000 +0000 -+++ drivers/net/wireless/ath/ath9k/ar9003_mac.c 2012-10-15 17:30:59.817924530 +0000 -@@ -39,47 +39,47 @@ ar9003_set_txdesc(struct ath_hw *ah, voi - (i->qcu << AR_TxQcuNum_S) | desc_len; - - checksum += val; -- ACCESS_ONCE(ads->info) = val; -+ ACCESS_ONCE_RW(ads->info) = val; - - checksum += i->link; -- ACCESS_ONCE(ads->link) = i->link; -+ ACCESS_ONCE_RW(ads->link) = i->link; - - checksum += i->buf_addr[0]; -- ACCESS_ONCE(ads->data0) = i->buf_addr[0]; -+ ACCESS_ONCE_RW(ads->data0) = i->buf_addr[0]; - checksum += i->buf_addr[1]; -- ACCESS_ONCE(ads->data1) = i->buf_addr[1]; -+ ACCESS_ONCE_RW(ads->data1) = i->buf_addr[1]; - checksum += i->buf_addr[2]; -- ACCESS_ONCE(ads->data2) = i->buf_addr[2]; -+ ACCESS_ONCE_RW(ads->data2) = i->buf_addr[2]; - checksum += i->buf_addr[3]; -- ACCESS_ONCE(ads->data3) = i->buf_addr[3]; -+ ACCESS_ONCE_RW(ads->data3) = i->buf_addr[3]; - - checksum += (val = (i->buf_len[0] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl3) = val; -+ ACCESS_ONCE_RW(ads->ctl3) = val; - checksum += (val = (i->buf_len[1] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl5) = val; -+ ACCESS_ONCE_RW(ads->ctl5) = val; - checksum += (val = (i->buf_len[2] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl7) = val; -+ ACCESS_ONCE_RW(ads->ctl7) = val; - checksum += (val = (i->buf_len[3] << AR_BufLen_S) & AR_BufLen); -- ACCESS_ONCE(ads->ctl9) = val; -+ ACCESS_ONCE_RW(ads->ctl9) = val; - - checksum = (u16) (((checksum & 0xffff) + (checksum >> 16)) & 0xffff); -- ACCESS_ONCE(ads->ctl10) = checksum; -+ ACCESS_ONCE_RW(ads->ctl10) = checksum; - - if (i->is_first || i->is_last) { -- ACCESS_ONCE(ads->ctl13) = set11nTries(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl13) = set11nTries(i->rates, 0) - | set11nTries(i->rates, 1) - | set11nTries(i->rates, 2) - | set11nTries(i->rates, 3) - | (i->dur_update ? AR_DurUpdateEna : 0) - | SM(0, AR_BurstDur); - -- ACCESS_ONCE(ads->ctl14) = set11nRate(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl14) = set11nRate(i->rates, 0) - | set11nRate(i->rates, 1) - | set11nRate(i->rates, 2) - | set11nRate(i->rates, 3); - } else { -- ACCESS_ONCE(ads->ctl13) = 0; -- ACCESS_ONCE(ads->ctl14) = 0; -+ ACCESS_ONCE_RW(ads->ctl13) = 0; -+ ACCESS_ONCE_RW(ads->ctl14) = 0; - } - - ads->ctl20 = 0; -@@ -89,17 +89,17 @@ ar9003_set_txdesc(struct ath_hw *ah, voi - - ctl17 = SM(i->keytype, AR_EncrType); - if (!i->is_first) { -- ACCESS_ONCE(ads->ctl11) = 0; -- ACCESS_ONCE(ads->ctl12) = i->is_last ? 0 : AR_TxMore; -- ACCESS_ONCE(ads->ctl15) = 0; -- ACCESS_ONCE(ads->ctl16) = 0; -- ACCESS_ONCE(ads->ctl17) = ctl17; -- ACCESS_ONCE(ads->ctl18) = 0; -- ACCESS_ONCE(ads->ctl19) = 0; -+ ACCESS_ONCE_RW(ads->ctl11) = 0; -+ ACCESS_ONCE_RW(ads->ctl12) = i->is_last ? 0 : AR_TxMore; -+ ACCESS_ONCE_RW(ads->ctl15) = 0; -+ ACCESS_ONCE_RW(ads->ctl16) = 0; -+ ACCESS_ONCE_RW(ads->ctl17) = ctl17; -+ ACCESS_ONCE_RW(ads->ctl18) = 0; -+ ACCESS_ONCE_RW(ads->ctl19) = 0; - return; - } - -- ACCESS_ONCE(ads->ctl11) = (i->pkt_len & AR_FrameLen) -+ ACCESS_ONCE_RW(ads->ctl11) = (i->pkt_len & AR_FrameLen) - | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) - | SM(i->txpower, AR_XmitPower) - | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) -@@ -135,22 +135,22 @@ ar9003_set_txdesc(struct ath_hw *ah, voi - val = (i->flags & ATH9K_TXDESC_PAPRD) >> ATH9K_TXDESC_PAPRD_S; - ctl12 |= SM(val, AR_PAPRDChainMask); - -- ACCESS_ONCE(ads->ctl12) = ctl12; -- ACCESS_ONCE(ads->ctl17) = ctl17; -+ ACCESS_ONCE_RW(ads->ctl12) = ctl12; -+ ACCESS_ONCE_RW(ads->ctl17) = ctl17; - -- ACCESS_ONCE(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) - | set11nPktDurRTSCTS(i->rates, 1); - -- ACCESS_ONCE(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) -+ ACCESS_ONCE_RW(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) - | set11nPktDurRTSCTS(i->rates, 3); - -- ACCESS_ONCE(ads->ctl18) = set11nRateFlags(i->rates, 0) -+ ACCESS_ONCE_RW(ads->ctl18) = set11nRateFlags(i->rates, 0) - | set11nRateFlags(i->rates, 1) - | set11nRateFlags(i->rates, 2) - | set11nRateFlags(i->rates, 3) - | SM(i->rtscts_rate, AR_RTSCTSRate); - -- ACCESS_ONCE(ads->ctl19) = AR_Not_Sounding; -+ ACCESS_ONCE_RW(ads->ctl19) = AR_Not_Sounding; - } - - static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads) ---- drivers/net/wireless/ath/ath9k/hw.h 2012-09-27 23:19:12.000000000 +0000 -+++ drivers/net/wireless/ath/ath9k/hw.h 2012-10-15 17:30:59.817924530 +0000 -@@ -657,7 +657,7 @@ struct ath_hw_private_ops { - - /* ANI */ - void (*ani_cache_ini_regs)(struct ath_hw *ah); --}; -+} __no_const; - - /** - * struct ath_hw_ops - callbacks used by hardware code and driver code -@@ -687,7 +687,7 @@ struct ath_hw_ops { - void (*antdiv_comb_conf_set)(struct ath_hw *ah, - struct ath_hw_antcomb_conf *antconf); - void (*antctrl_shared_chain_lnadiv)(struct ath_hw *hw, bool enable); --}; -+} __no_const; - - struct ath_nf_limits { - s16 max; -@@ -707,7 +707,7 @@ enum ath_cal_list { - #define AH_FASTCC 0x4 - - struct ath_hw { -- struct ath_ops reg_ops; -+ ath_ops_no_const reg_ops; - - struct ieee80211_hw *hw; - struct ath_common common; ---- drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h 2012-09-27 23:19:11.000000000 +0000 -+++ drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h 2012-10-15 17:30:59.818924529 +0000 -@@ -545,7 +545,7 @@ struct phy_func_ptr { - void (*carrsuppr)(struct brcms_phy *); - s32 (*rxsigpwr)(struct brcms_phy *, s32); - void (*detach)(struct brcms_phy *); --}; -+} __no_const; - - struct brcms_phy { - struct brcms_phy_pub pubpi_ro; ---- drivers/net/wireless/iwlegacy/3945-mac.c 2012-09-27 23:19:12.000000000 +0000 -+++ drivers/net/wireless/iwlegacy/3945-mac.c 2012-10-15 17:30:59.819924529 +0000 -@@ -3613,7 +3613,9 @@ il3945_pci_probe(struct pci_dev *pdev, c - */ - if (il3945_mod_params.disable_hw_scan) { - D_INFO("Disabling hw_scan\n"); -- il3945_mac_ops.hw_scan = NULL; -+ pax_open_kernel(); -+ *(void **)&il3945_mac_ops.hw_scan = NULL; -+ pax_close_kernel(); - } - - D_INFO("*** LOAD DRIVER ***\n"); ---- drivers/net/wireless/iwlwifi/dvm/debugfs.c 2012-09-27 23:19:11.000000000 +0000 -+++ drivers/net/wireless/iwlwifi/dvm/debugfs.c 2012-10-15 17:30:59.819924529 +0000 -@@ -203,7 +203,7 @@ static ssize_t iwl_dbgfs_sram_write(stru - { - struct iwl_priv *priv = file->private_data; - char buf[64]; -- int buf_size; -+ size_t buf_size; - u32 offset, len; - - memset(buf, 0, sizeof(buf)); -@@ -473,7 +473,7 @@ static ssize_t iwl_dbgfs_rx_handlers_wri - struct iwl_priv *priv = file->private_data; - - char buf[8]; -- int buf_size; -+ size_t buf_size; - u32 reset_flag; - - memset(buf, 0, sizeof(buf)); -@@ -554,7 +554,7 @@ static ssize_t iwl_dbgfs_disable_ht40_wr - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int ht40; - - memset(buf, 0, sizeof(buf)); -@@ -606,7 +606,7 @@ static ssize_t iwl_dbgfs_sleep_level_ove - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int value; - - memset(buf, 0, sizeof(buf)); -@@ -1871,7 +1871,7 @@ static ssize_t iwl_dbgfs_clear_ucode_sta - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int clear; - - memset(buf, 0, sizeof(buf)); -@@ -1916,7 +1916,7 @@ static ssize_t iwl_dbgfs_ucode_tracing_w - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int trace; - - memset(buf, 0, sizeof(buf)); -@@ -1987,7 +1987,7 @@ static ssize_t iwl_dbgfs_missed_beacon_w - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int missed; - - memset(buf, 0, sizeof(buf)); -@@ -2028,7 +2028,7 @@ static ssize_t iwl_dbgfs_plcp_delta_writ - - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int plcp; - - memset(buf, 0, sizeof(buf)); -@@ -2088,7 +2088,7 @@ static ssize_t iwl_dbgfs_txfifo_flush_wr - - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int flush; - - memset(buf, 0, sizeof(buf)); -@@ -2178,7 +2178,7 @@ static ssize_t iwl_dbgfs_protection_mode - - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int rts; - - if (!priv->cfg->ht_params) -@@ -2220,7 +2220,7 @@ static ssize_t iwl_dbgfs_echo_test_write - { - struct iwl_priv *priv = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - - memset(buf, 0, sizeof(buf)); - buf_size = min(count, sizeof(buf) - 1); -@@ -2256,7 +2256,7 @@ static ssize_t iwl_dbgfs_log_event_write - struct iwl_priv *priv = file->private_data; - u32 event_log_flag; - char buf[8]; -- int buf_size; -+ size_t buf_size; - - /* check that the interface is up */ - if (!iwl_is_ready(priv)) -@@ -2310,7 +2310,7 @@ static ssize_t iwl_dbgfs_calib_disabled_ - struct iwl_priv *priv = file->private_data; - char buf[8]; - u32 calib_disabled; -- int buf_size; -+ size_t buf_size; - - memset(buf, 0, sizeof(buf)); - buf_size = min(count, sizeof(buf) - 1); ---- drivers/net/wireless/iwlwifi/pcie/trans.c 2012-09-27 23:19:12.000000000 +0000 -+++ drivers/net/wireless/iwlwifi/pcie/trans.c 2012-10-15 17:30:59.820924530 +0000 -@@ -1944,7 +1944,7 @@ static ssize_t iwl_dbgfs_interrupt_write - struct isr_statistics *isr_stats = &trans_pcie->isr_stats; - - char buf[8]; -- int buf_size; -+ size_t buf_size; - u32 reset_flag; - - memset(buf, 0, sizeof(buf)); -@@ -1965,7 +1965,7 @@ static ssize_t iwl_dbgfs_csr_write(struc - { - struct iwl_trans *trans = file->private_data; - char buf[8]; -- int buf_size; -+ size_t buf_size; - int csr; - - memset(buf, 0, sizeof(buf)); ---- drivers/net/wireless/mac80211_hwsim.c 2012-09-27 23:19:12.000000000 +0000 -+++ drivers/net/wireless/mac80211_hwsim.c 2012-10-15 17:30:59.820924530 +0000 -@@ -1748,9 +1748,11 @@ static int __init init_mac80211_hwsim(vo - return -EINVAL; - - if (fake_hw_scan) { -- mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; -- mac80211_hwsim_ops.sw_scan_start = NULL; -- mac80211_hwsim_ops.sw_scan_complete = NULL; -+ pax_open_kernel(); -+ *(void **)&mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; -+ *(void **)&mac80211_hwsim_ops.sw_scan_start = NULL; -+ *(void **)&mac80211_hwsim_ops.sw_scan_complete = NULL; -+ pax_close_kernel(); - } - - spin_lock_init(&hwsim_radio_lock); ---- drivers/net/wireless/mwifiex/main.h 2012-09-27 23:19:11.000000000 +0000 -+++ drivers/net/wireless/mwifiex/main.h 2012-10-15 17:30:59.820924530 +0000 -@@ -571,7 +571,7 @@ struct mwifiex_if_ops { - int (*event_complete) (struct mwifiex_adapter *, struct sk_buff *); - int (*data_complete) (struct mwifiex_adapter *, struct sk_buff *); - int (*dnld_fw) (struct mwifiex_adapter *, struct mwifiex_fw_image *); --}; -+} __no_const; - - struct mwifiex_adapter { - u8 iface_type; ---- drivers/net/wireless/rndis_wlan.c 2012-09-27 23:19:12.000000000 +0000 -+++ drivers/net/wireless/rndis_wlan.c 2012-10-15 17:30:59.821924531 +0000 -@@ -1235,7 +1235,7 @@ static int set_rts_threshold(struct usbn - - netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold); - -- if (rts_threshold < 0 || rts_threshold > 2347) -+ if (rts_threshold > 2347) - rts_threshold = 2347; - - tmp = cpu_to_le32(rts_threshold); ---- drivers/net/wireless/rt2x00/rt2x00.h 2012-09-27 23:19:11.000000000 +0000 -+++ drivers/net/wireless/rt2x00/rt2x00.h 2012-10-15 17:30:59.821924531 +0000 -@@ -397,7 +397,7 @@ struct rt2x00_intf { - * for hardware which doesn't support hardware - * sequence counting. - */ -- atomic_t seqno; -+ atomic_unchecked_t seqno; - }; - - static inline struct rt2x00_intf* vif_to_intf(struct ieee80211_vif *vif) ---- drivers/net/wireless/rt2x00/rt2x00queue.c 2012-09-27 23:19:11.000000000 +0000 -+++ drivers/net/wireless/rt2x00/rt2x00queue.c 2012-10-15 17:30:59.822924531 +0000 -@@ -240,9 +240,9 @@ static void rt2x00queue_create_tx_descri - * sequence counter given by mac80211. - */ - if (test_bit(ENTRY_TXD_FIRST_FRAGMENT, &txdesc->flags)) -- seqno = atomic_add_return(0x10, &intf->seqno); -+ seqno = atomic_add_return_unchecked(0x10, &intf->seqno); - else -- seqno = atomic_read(&intf->seqno); -+ seqno = atomic_read_unchecked(&intf->seqno); - - hdr->seq_ctrl &= cpu_to_le16(IEEE80211_SCTL_FRAG); - hdr->seq_ctrl |= cpu_to_le16(seqno); ---- drivers/net/wireless/ti/wl1251/wl1251.h 2012-09-27 23:19:11.000000000 +0000 -+++ drivers/net/wireless/ti/wl1251/wl1251.h 2012-10-15 17:30:59.822924531 +0000 -@@ -266,7 +266,7 @@ struct wl1251_if_operations { - void (*reset)(struct wl1251 *wl); - void (*enable_irq)(struct wl1251 *wl); - void (*disable_irq)(struct wl1251 *wl); --}; -+} __no_const; - - struct wl1251 { - struct ieee80211_hw *hw; ---- drivers/net/wireless/ti/wlcore/wlcore.h 2012-09-27 23:19:12.000000000 +0000 -+++ drivers/net/wireless/ti/wlcore/wlcore.h 2012-10-15 17:30:59.822924531 +0000 -@@ -81,7 +81,7 @@ struct wlcore_ops { - struct ieee80211_sta *sta, - struct ieee80211_key_conf *key_conf); - u32 (*pre_pkt_send)(struct wl1271 *wl, u32 buf_offset, u32 last_len); --}; -+} __no_const; - - enum wlcore_partitions { - PART_DOWN, ---- include/linux/unaligned/access_ok.h 2012-09-17 19:15:56.000000000 +0000 -+++ include/linux/unaligned/access_ok.h 2012-10-15 17:30:59.823924531 +0000 -@@ -6,32 +6,32 @@ - - static inline u16 get_unaligned_le16(const void *p) - { -- return le16_to_cpup((__le16 *)p); -+ return le16_to_cpup((const __le16 *)p); - } - - static inline u32 get_unaligned_le32(const void *p) - { -- return le32_to_cpup((__le32 *)p); -+ return le32_to_cpup((const __le32 *)p); - } - - static inline u64 get_unaligned_le64(const void *p) - { -- return le64_to_cpup((__le64 *)p); -+ return le64_to_cpup((const __le64 *)p); - } - - static inline u16 get_unaligned_be16(const void *p) - { -- return be16_to_cpup((__be16 *)p); -+ return be16_to_cpup((const __be16 *)p); - } - - static inline u32 get_unaligned_be32(const void *p) - { -- return be32_to_cpup((__be32 *)p); -+ return be32_to_cpup((const __be32 *)p); - } - - static inline u64 get_unaligned_be64(const void *p) - { -- return be64_to_cpup((__be64 *)p); -+ return be64_to_cpup((const __be64 *)p); - } - - static inline void put_unaligned_le16(u16 val, void *p) ---- net/bluetooth/hci_sock.c 2012-09-27 23:19:12.000000000 +0000 -+++ net/bluetooth/hci_sock.c 2012-10-15 17:30:59.825924531 +0000 -@@ -940,7 +940,7 @@ static int hci_sock_setsockopt(struct so - uf.event_mask[1] = *((u32 *) f->event_mask + 1); - } - -- len = min_t(unsigned int, len, sizeof(uf)); -+ len = min((size_t)len, sizeof(uf)); - if (copy_from_user(&uf, optval, len)) { - err = -EFAULT; - break; ---- net/bluetooth/l2cap_core.c 2012-09-27 23:19:11.000000000 +0000 -+++ net/bluetooth/l2cap_core.c 2012-10-15 17:30:59.825924531 +0000 -@@ -3165,8 +3165,10 @@ static int l2cap_parse_conf_rsp(struct l - break; - - case L2CAP_CONF_RFC: -- if (olen == sizeof(rfc)) -- memcpy(&rfc, (void *)val, olen); -+ if (olen != sizeof(rfc)) -+ break; -+ -+ memcpy(&rfc, (void *)val, olen); - - if (test_bit(CONF_STATE2_DEVICE, &chan->conf_state) && - rfc.mode != chan->mode) ---- net/bluetooth/l2cap_sock.c 2012-09-27 23:19:12.000000000 +0000 -+++ net/bluetooth/l2cap_sock.c 2012-10-15 17:30:59.826924531 +0000 -@@ -467,7 +467,8 @@ static int l2cap_sock_setsockopt_old(str - struct sock *sk = sock->sk; - struct l2cap_chan *chan = l2cap_pi(sk)->chan; - struct l2cap_options opts; -- int len, err = 0; -+ int err = 0; -+ size_t len = optlen; - u32 opt; - - BT_DBG("sk %p", sk); -@@ -489,7 +490,7 @@ static int l2cap_sock_setsockopt_old(str - opts.max_tx = chan->max_tx; - opts.txwin_size = chan->tx_win; - -- len = min_t(unsigned int, sizeof(opts), optlen); -+ len = min(sizeof(opts), len); - if (copy_from_user((char *) &opts, optval, len)) { - err = -EFAULT; - break; -@@ -574,7 +575,8 @@ static int l2cap_sock_setsockopt(struct - struct bt_security sec; - struct bt_power pwr; - struct l2cap_conn *conn; -- int len, err = 0; -+ int err = 0; -+ size_t len = optlen; - u32 opt; - - BT_DBG("sk %p", sk); -@@ -597,7 +599,7 @@ static int l2cap_sock_setsockopt(struct - - sec.level = BT_SECURITY_LOW; - -- len = min_t(unsigned int, sizeof(sec), optlen); -+ len = min(sizeof(sec), len); - if (copy_from_user((char *) &sec, optval, len)) { - err = -EFAULT; - break; -@@ -694,7 +696,7 @@ static int l2cap_sock_setsockopt(struct - - pwr.force_active = BT_POWER_FORCE_ACTIVE_ON; - -- len = min_t(unsigned int, sizeof(pwr), optlen); -+ len = min(sizeof(pwr), len); - if (copy_from_user((char *) &pwr, optval, len)) { - err = -EFAULT; - break; ---- net/bluetooth/rfcomm/sock.c 2012-09-27 23:19:12.000000000 +0000 -+++ net/bluetooth/rfcomm/sock.c 2012-10-15 17:30:59.826924531 +0000 -@@ -676,7 +676,7 @@ static int rfcomm_sock_setsockopt(struct - struct sock *sk = sock->sk; - struct bt_security sec; - int err = 0; -- size_t len; -+ size_t len = optlen; - u32 opt; - - BT_DBG("sk %p", sk); -@@ -698,7 +698,7 @@ static int rfcomm_sock_setsockopt(struct - - sec.level = BT_SECURITY_LOW; - -- len = min_t(unsigned int, sizeof(sec), optlen); -+ len = min(sizeof(sec), len); - if (copy_from_user((char *) &sec, optval, len)) { - err = -EFAULT; - break; ---- net/bluetooth/rfcomm/tty.c 2012-09-27 23:19:12.000000000 +0000 -+++ net/bluetooth/rfcomm/tty.c 2012-10-15 17:30:59.826924531 +0000 -@@ -309,7 +309,7 @@ static void rfcomm_dev_del(struct rfcomm - BUG_ON(test_and_set_bit(RFCOMM_TTY_RELEASED, &dev->flags)); - - spin_lock_irqsave(&dev->port.lock, flags); -- if (dev->port.count > 0) { -+ if (atomic_read(&dev->port.count) > 0) { - spin_unlock_irqrestore(&dev->port.lock, flags); - return; - } -@@ -664,10 +664,10 @@ static int rfcomm_tty_open(struct tty_st - return -ENODEV; - - BT_DBG("dev %p dst %s channel %d opened %d", dev, batostr(&dev->dst), -- dev->channel, dev->port.count); -+ dev->channel, atomic_read(&dev->port.count)); - - spin_lock_irqsave(&dev->port.lock, flags); -- if (++dev->port.count > 1) { -+ if (atomic_inc_return(&dev->port.count) > 1) { - spin_unlock_irqrestore(&dev->port.lock, flags); - return 0; - } -@@ -736,10 +736,10 @@ static void rfcomm_tty_close(struct tty_ - return; - - BT_DBG("tty %p dev %p dlc %p opened %d", tty, dev, dev->dlc, -- dev->port.count); -+ atomic_read(&dev->port.count)); - - spin_lock_irqsave(&dev->port.lock, flags); -- if (!--dev->port.count) { -+ if (!atomic_dec_return(&dev->port.count)) { - spin_unlock_irqrestore(&dev->port.lock, flags); - if (dev->tty_dev->parent) - #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29)) ---- net/mac80211/ieee80211_i.h 2012-09-27 23:19:12.000000000 +0000 -+++ net/mac80211/ieee80211_i.h 2012-10-15 17:30:59.827924531 +0000 -@@ -28,6 +28,7 @@ - #include <net/ieee80211_radiotap.h> - #include <net/cfg80211.h> - #include <net/mac80211.h> -+#include <asm/local.h> - #include "key.h" - #include "sta_info.h" - #include "debug.h" -@@ -840,7 +841,7 @@ struct ieee80211_local { - /* also used to protect ampdu_ac_queue and amdpu_ac_stop_refcnt */ - spinlock_t queue_stop_reason_lock; - -- int open_count; -+ local_t open_count; - int monitors, cooked_mntrs; - /* number of interfaces with corresponding FIF_ flags */ - int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss, fif_pspoll, ---- net/mac80211/iface.c 2012-09-27 23:19:12.000000000 +0000 -+++ net/mac80211/iface.c 2012-10-15 17:30:59.827924531 +0000 -@@ -454,7 +454,7 @@ static int ieee80211_do_open(struct net_ - break; - } - -- if (local->open_count == 0) { -+ if (local_read(&local->open_count) == 0) { - res = drv_start(local); - if (res) - goto err_del_bss; -@@ -497,7 +497,7 @@ static int ieee80211_do_open(struct net_ - break; - } - -- if (local->monitors == 0 && local->open_count == 0) { -+ if (local->monitors == 0 && local_read(&local->open_count) == 0) { - res = ieee80211_add_virtual_monitor(local); - if (res) - goto err_stop; -@@ -594,7 +594,7 @@ static int ieee80211_do_open(struct net_ - mutex_unlock(&local->mtx); - - if (coming_up) -- local->open_count++; -+ local_inc(&local->open_count); - - if (hw_reconf_flags) - ieee80211_hw_config(local, hw_reconf_flags); -@@ -607,7 +607,7 @@ static int ieee80211_do_open(struct net_ - err_del_interface: - drv_remove_interface(local, sdata); - err_stop: -- if (!local->open_count) -+ if (!local_read(&local->open_count)) - drv_stop(local); - err_del_bss: - sdata->bss = NULL; -@@ -741,7 +741,7 @@ static void ieee80211_do_stop(struct iee - } - - if (going_down) -- local->open_count--; -+ local_dec(&local->open_count); - - switch (sdata->vif.type) { - case NL80211_IFTYPE_AP_VLAN: -@@ -801,7 +801,7 @@ static void ieee80211_do_stop(struct iee - - ieee80211_recalc_ps(local, -1); - -- if (local->open_count == 0) { -+ if (local_read(&local->open_count) == 0) { - if (local->ops->napi_poll) - napi_disable(&local->napi); - ieee80211_clear_tx_pending(local); -@@ -833,7 +833,7 @@ static void ieee80211_do_stop(struct iee - } - spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); - -- if (local->monitors == local->open_count && local->monitors > 0) -+ if (local->monitors == local_read(&local->open_count) && local->monitors > 0) - ieee80211_add_virtual_monitor(local); - } - ---- net/mac80211/main.c 2012-09-27 23:19:12.000000000 +0000 -+++ net/mac80211/main.c 2012-10-15 17:30:59.827924531 +0000 -@@ -170,7 +170,7 @@ int ieee80211_hw_config(struct ieee80211 - local->hw.conf.power_level = power; - } - -- if (changed && local->open_count) { -+ if (changed && local_read(&local->open_count)) { - ret = drv_config(local, changed); - /* - * Goal: ---- net/mac80211/pm.c 2012-09-27 23:19:11.000000000 +0000 -+++ net/mac80211/pm.c 2012-10-15 17:30:59.828924531 +0000 -@@ -34,7 +34,7 @@ int __ieee80211_suspend(struct ieee80211 - struct ieee80211_sub_if_data *sdata; - struct sta_info *sta; - -- if (!local->open_count) -+ if (!local_read(&local->open_count)) - goto suspend; - - ieee80211_scan_cancel(local); -@@ -72,7 +72,7 @@ int __ieee80211_suspend(struct ieee80211 - cancel_work_sync(&local->dynamic_ps_enable_work); - del_timer_sync(&local->dynamic_ps_timer); - -- local->wowlan = wowlan && local->open_count; -+ local->wowlan = wowlan && local_read(&local->open_count); - if (local->wowlan) { - int err = drv_suspend(local, wowlan); - if (err < 0) { -@@ -143,7 +143,7 @@ int __ieee80211_suspend(struct ieee80211 - drv_remove_interface(local, sdata); - - /* stop hardware - this must stop RX */ -- if (local->open_count) -+ if (local_read(&local->open_count)) - ieee80211_stop_device(local); - - suspend: ---- net/mac80211/rate.c 2012-09-27 23:19:12.000000000 +0000 -+++ net/mac80211/rate.c 2012-10-15 17:30:59.828924531 +0000 -@@ -494,7 +494,7 @@ int ieee80211_init_rate_ctrl_alg(struct - - ASSERT_RTNL(); - -- if (local->open_count) -+ if (local_read(&local->open_count)) - return -EBUSY; - - if (local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) { ---- net/mac80211/rc80211_pid_debugfs.c 2012-09-27 23:19:11.000000000 +0000 -+++ net/mac80211/rc80211_pid_debugfs.c 2012-10-15 17:30:59.828924531 +0000 -@@ -193,7 +193,7 @@ static ssize_t rate_control_pid_events_r - - spin_unlock_irqrestore(&events->lock, status); - -- if (copy_to_user(buf, pb, p)) -+ if (p > sizeof(pb) || copy_to_user(buf, pb, p)) - return -EFAULT; - - return p; ---- net/mac80211/util.c 2012-09-27 23:19:11.000000000 +0000 -+++ net/mac80211/util.c 2012-10-15 17:30:59.828924531 +0000 -@@ -1251,7 +1251,7 @@ int ieee80211_reconfig(struct ieee80211_ - } - #endif - /* everything else happens only if HW was up & running */ -- if (!local->open_count) -+ if (!local_read(&local->open_count)) - goto wake_up; - - /* ---- net/wireless/core.h 2012-09-27 23:19:11.000000000 +0000 -+++ net/wireless/core.h 2012-10-15 17:30:59.829924531 +0000 -@@ -28,7 +28,7 @@ struct cfg80211_registered_device { - struct mutex mtx; - - /* rfkill support */ -- struct rfkill_ops rfkill_ops; -+ rfkill_ops_no_const rfkill_ops; - struct rfkill *rfkill; - struct work_struct rfkill_sync; - ---- net/wireless/wext-core.c 2012-09-27 23:19:12.000000000 +0000 -+++ net/wireless/wext-core.c 2012-10-15 17:30:59.829924531 +0000 -@@ -792,8 +792,7 @@ static int ioctl_standard_iw_point(struc - */ - - /* Support for very large requests */ -- if ((descr->flags & IW_DESCR_FLAG_NOMAX) && -- (user_length > descr->max_tokens)) { -+ if (user_length > descr->max_tokens) { - /* Allow userspace to GET more than max so - * we can support any size GET requests. - * There is still a limit : -ENOMEM. -@@ -832,22 +831,6 @@ static int ioctl_standard_iw_point(struc - } - } - -- if (IW_IS_GET(cmd) && !(descr->flags & IW_DESCR_FLAG_NOMAX)) { -- /* -- * If this is a GET, but not NOMAX, it means that the extra -- * data is not bounded by userspace, but by max_tokens. Thus -- * set the length to max_tokens. This matches the extra data -- * allocation. -- * The driver should fill it with the number of tokens it -- * provided, and it may check iwp->length rather than having -- * knowledge of max_tokens. If the driver doesn't change the -- * iwp->length, this ioctl just copies back max_token tokens -- * filled with zeroes. Hopefully the driver isn't claiming -- * them to be valid data. -- */ -- iwp->length = descr->max_tokens; -- } -- - err = handler(dev, info, (union iwreq_data *) iwp, extra); - - iwp->length += essid_compat; ---- scripts/gcc-plugin.sh 1970-01-01 00:00:00.000000000 +0000 -+++ scripts/gcc-plugin.sh 2012-10-15 17:30:59.829924531 +0000 -@@ -0,0 +1,17 @@ -+#!/bin/bash -+plugincc=`$1 -x c -shared - -o /dev/null -I\`$3 -print-file-name=plugin\`/include 2>&1 <<EOF -+#include "gcc-plugin.h" -+#include "tree.h" -+#include "tm.h" -+#include "rtl.h" -+#ifdef ENABLE_BUILD_WITH_CXX -+#warning $2 -+#else -+#warning $1 -+#endif -+EOF` -+if [ $? -eq 0 ] -+then -+ [[ "$plugincc" =~ "$1" ]] && echo "$1" -+ [[ "$plugincc" =~ "$2" ]] && echo "$2" -+fi ---- tools/gcc/.gitignore 1970-01-01 00:00:00.000000000 +0000 -+++ tools/gcc/.gitignore 2012-10-15 17:30:59.830924531 +0000 -@@ -0,0 +1 @@ -+size_overflow_hash.h ---- tools/gcc/checker_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ tools/gcc/checker_plugin.c 2012-10-15 17:30:59.830924531 +0000 -@@ -0,0 +1,171 @@ -+/* -+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to implement various sparse (source code checker) features -+ * -+ * TODO: -+ * - define separate __iomem, __percpu and __rcu address spaces (lots of code to patch) -+ * -+ * BUGS: -+ * - none known -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+#include "tree-flow.h" -+#include "target.h" -+ -+extern void c_register_addr_space (const char *str, addr_space_t as); -+extern enum machine_mode default_addr_space_pointer_mode (addr_space_t); -+extern enum machine_mode default_addr_space_address_mode (addr_space_t); -+extern bool default_addr_space_valid_pointer_mode(enum machine_mode mode, addr_space_t as); -+extern bool default_addr_space_legitimate_address_p(enum machine_mode mode, rtx mem, bool strict, addr_space_t as); -+extern rtx default_addr_space_legitimize_address(rtx x, rtx oldx, enum machine_mode mode, addr_space_t as); -+ -+extern void print_gimple_stmt(FILE *, gimple, int, int); -+extern rtx emit_move_insn(rtx x, rtx y); -+ -+int plugin_is_GPL_compatible; -+ -+static struct plugin_info checker_plugin_info = { -+ .version = "201111150100", -+}; -+ -+#define ADDR_SPACE_KERNEL 0 -+#define ADDR_SPACE_FORCE_KERNEL 1 -+#define ADDR_SPACE_USER 2 -+#define ADDR_SPACE_FORCE_USER 3 -+#define ADDR_SPACE_IOMEM 0 -+#define ADDR_SPACE_FORCE_IOMEM 0 -+#define ADDR_SPACE_PERCPU 0 -+#define ADDR_SPACE_FORCE_PERCPU 0 -+#define ADDR_SPACE_RCU 0 -+#define ADDR_SPACE_FORCE_RCU 0 -+ -+static enum machine_mode checker_addr_space_pointer_mode(addr_space_t addrspace) -+{ -+ return default_addr_space_pointer_mode(ADDR_SPACE_GENERIC); -+} -+ -+static enum machine_mode checker_addr_space_address_mode(addr_space_t addrspace) -+{ -+ return default_addr_space_address_mode(ADDR_SPACE_GENERIC); -+} -+ -+static bool checker_addr_space_valid_pointer_mode(enum machine_mode mode, addr_space_t as) -+{ -+ return default_addr_space_valid_pointer_mode(mode, as); -+} -+ -+static bool checker_addr_space_legitimate_address_p(enum machine_mode mode, rtx mem, bool strict, addr_space_t as) -+{ -+ return default_addr_space_legitimate_address_p(mode, mem, strict, ADDR_SPACE_GENERIC); -+} -+ -+static rtx checker_addr_space_legitimize_address(rtx x, rtx oldx, enum machine_mode mode, addr_space_t as) -+{ -+ return default_addr_space_legitimize_address(x, oldx, mode, as); -+} -+ -+static bool checker_addr_space_subset_p(addr_space_t subset, addr_space_t superset) -+{ -+ if (subset == ADDR_SPACE_FORCE_KERNEL && superset == ADDR_SPACE_KERNEL) -+ return true; -+ -+ if (subset == ADDR_SPACE_FORCE_USER && superset == ADDR_SPACE_USER) -+ return true; -+ -+ if (subset == ADDR_SPACE_FORCE_IOMEM && superset == ADDR_SPACE_IOMEM) -+ return true; -+ -+ if (subset == ADDR_SPACE_KERNEL && superset == ADDR_SPACE_FORCE_USER) -+ return true; -+ -+ if (subset == ADDR_SPACE_KERNEL && superset == ADDR_SPACE_FORCE_IOMEM) -+ return true; -+ -+ if (subset == ADDR_SPACE_USER && superset == ADDR_SPACE_FORCE_KERNEL) -+ return true; -+ -+ if (subset == ADDR_SPACE_IOMEM && superset == ADDR_SPACE_FORCE_KERNEL) -+ return true; -+ -+ return subset == superset; -+} -+ -+static rtx checker_addr_space_convert(rtx op, tree from_type, tree to_type) -+{ -+// addr_space_t from_as = TYPE_ADDR_SPACE(TREE_TYPE(from_type)); -+// addr_space_t to_as = TYPE_ADDR_SPACE(TREE_TYPE(to_type)); -+ -+ return op; -+} -+ -+static void register_checker_address_spaces(void *event_data, void *data) -+{ -+ c_register_addr_space("__kernel", ADDR_SPACE_KERNEL); -+ c_register_addr_space("__force_kernel", ADDR_SPACE_FORCE_KERNEL); -+ c_register_addr_space("__user", ADDR_SPACE_USER); -+ c_register_addr_space("__force_user", ADDR_SPACE_FORCE_USER); -+// c_register_addr_space("__iomem", ADDR_SPACE_IOMEM); -+// c_register_addr_space("__force_iomem", ADDR_SPACE_FORCE_IOMEM); -+// c_register_addr_space("__percpu", ADDR_SPACE_PERCPU); -+// c_register_addr_space("__force_percpu", ADDR_SPACE_FORCE_PERCPU); -+// c_register_addr_space("__rcu", ADDR_SPACE_RCU); -+// c_register_addr_space("__force_rcu", ADDR_SPACE_FORCE_RCU); -+ -+ targetm.addr_space.pointer_mode = checker_addr_space_pointer_mode; -+ targetm.addr_space.address_mode = checker_addr_space_address_mode; -+ targetm.addr_space.valid_pointer_mode = checker_addr_space_valid_pointer_mode; -+ targetm.addr_space.legitimate_address_p = checker_addr_space_legitimate_address_p; -+// targetm.addr_space.legitimize_address = checker_addr_space_legitimize_address; -+ targetm.addr_space.subset_p = checker_addr_space_subset_p; -+ targetm.addr_space.convert = checker_addr_space_convert; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ int i; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &checker_plugin_info); -+ -+ for (i = 0; i < argc; ++i) -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ -+ if (TARGET_64BIT == 0) -+ return 0; -+ -+ register_callback(plugin_name, PLUGIN_PRAGMAS, register_checker_address_spaces, NULL); -+ -+ return 0; -+} ---- tools/gcc/colorize_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ tools/gcc/colorize_plugin.c 2012-10-15 17:30:59.830924531 +0000 -@@ -0,0 +1,148 @@ -+/* -+ * Copyright 2012 by PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to colorize diagnostic output -+ * -+ */ -+ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+ -+int plugin_is_GPL_compatible; -+ -+static struct plugin_info colorize_plugin_info = { -+ .version = "201203092200", -+ .help = NULL, -+}; -+ -+#define GREEN "\033[32m\033[2m" -+#define LIGHTGREEN "\033[32m\033[1m" -+#define YELLOW "\033[33m\033[2m" -+#define LIGHTYELLOW "\033[33m\033[1m" -+#define RED "\033[31m\033[2m" -+#define LIGHTRED "\033[31m\033[1m" -+#define BLUE "\033[34m\033[2m" -+#define LIGHTBLUE "\033[34m\033[1m" -+#define BRIGHT "\033[m\033[1m" -+#define NORMAL "\033[m" -+ -+static diagnostic_starter_fn old_starter; -+static diagnostic_finalizer_fn old_finalizer; -+ -+static void start_colorize(diagnostic_context *context, diagnostic_info *diagnostic) -+{ -+ const char *color; -+ char *newprefix; -+ -+ switch (diagnostic->kind) { -+ case DK_NOTE: -+ color = LIGHTBLUE; -+ break; -+ -+ case DK_PEDWARN: -+ case DK_WARNING: -+ color = LIGHTYELLOW; -+ break; -+ -+ case DK_ERROR: -+ case DK_FATAL: -+ case DK_ICE: -+ case DK_PERMERROR: -+ case DK_SORRY: -+ color = LIGHTRED; -+ break; -+ -+ default: -+ color = NORMAL; -+ } -+ -+ old_starter(context, diagnostic); -+ if (-1 == asprintf(&newprefix, "%s%s" NORMAL, color, context->printer->prefix)) -+ return; -+ pp_destroy_prefix(context->printer); -+ pp_set_prefix(context->printer, newprefix); -+} -+ -+static void finalize_colorize(diagnostic_context *context, diagnostic_info *diagnostic) -+{ -+ old_finalizer(context, diagnostic); -+} -+ -+static void colorize_arm(void) -+{ -+ old_starter = diagnostic_starter(global_dc); -+ old_finalizer = diagnostic_finalizer(global_dc); -+ -+ diagnostic_starter(global_dc) = start_colorize; -+ diagnostic_finalizer(global_dc) = finalize_colorize; -+} -+ -+static unsigned int execute_colorize_rearm(void) -+{ -+ if (diagnostic_starter(global_dc) == start_colorize) -+ return 0; -+ -+ colorize_arm(); -+ return 0; -+} -+ -+struct simple_ipa_opt_pass pass_ipa_colorize_rearm = { -+ .pass = { -+ .type = SIMPLE_IPA_PASS, -+ .name = "colorize_rearm", -+ .gate = NULL, -+ .execute = execute_colorize_rearm, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = 0 -+ } -+}; -+ -+static void colorize_start_unit(void *gcc_data, void *user_data) -+{ -+ colorize_arm(); -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ struct register_pass_info colorize_rearm_pass_info = { -+ .pass = &pass_ipa_colorize_rearm.pass, -+ .reference_pass_name = "*free_lang_data", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &colorize_plugin_info); -+ register_callback(plugin_name, PLUGIN_START_UNIT, &colorize_start_unit, NULL); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &colorize_rearm_pass_info); -+ return 0; -+} ---- tools/gcc/constify_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ tools/gcc/constify_plugin.c 2012-10-15 17:30:59.830924531 +0000 -@@ -0,0 +1,331 @@ -+/* -+ * Copyright 2011 by Emese Revfy <re.emese@gmail.com> -+ * Copyright 2011 by PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2, or (at your option) v3 -+ * -+ * This gcc plugin constifies all structures which contain only function pointers or are explicitly marked for constification. -+ * -+ * Homepage: -+ * http://www.grsecurity.net/~ephox/const_plugin/ -+ * -+ * Usage: -+ * $ gcc -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -o constify_plugin.so constify_plugin.c -+ * $ gcc -fplugin=constify_plugin.so test.c -O2 -+ */ -+ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+#include "tree-flow.h" -+ -+#define C_TYPE_FIELDS_READONLY(TYPE) TREE_LANG_FLAG_1(TYPE) -+ -+int plugin_is_GPL_compatible; -+ -+static struct plugin_info const_plugin_info = { -+ .version = "201205300030", -+ .help = "no-constify\tturn off constification\n", -+}; -+ -+static void deconstify_tree(tree node); -+ -+static void deconstify_type(tree type) -+{ -+ tree field; -+ -+ for (field = TYPE_FIELDS(type); field; field = TREE_CHAIN(field)) { -+ tree type = TREE_TYPE(field); -+ -+ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) -+ continue; -+ if (!TYPE_READONLY(type)) -+ continue; -+ -+ deconstify_tree(field); -+ } -+ TYPE_READONLY(type) = 0; -+ C_TYPE_FIELDS_READONLY(type) = 0; -+} -+ -+static void deconstify_tree(tree node) -+{ -+ tree old_type, new_type, field; -+ -+ old_type = TREE_TYPE(node); -+ -+ gcc_assert(TYPE_READONLY(old_type) && (TYPE_QUALS(old_type) & TYPE_QUAL_CONST)); -+ -+ new_type = build_qualified_type(old_type, TYPE_QUALS(old_type) & ~TYPE_QUAL_CONST); -+ TYPE_FIELDS(new_type) = copy_list(TYPE_FIELDS(new_type)); -+ for (field = TYPE_FIELDS(new_type); field; field = TREE_CHAIN(field)) -+ DECL_FIELD_CONTEXT(field) = new_type; -+ -+ deconstify_type(new_type); -+ -+ TREE_READONLY(node) = 0; -+ TREE_TYPE(node) = new_type; -+} -+ -+static tree handle_no_const_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) -+{ -+ tree type; -+ -+ *no_add_attrs = true; -+ if (TREE_CODE(*node) == FUNCTION_DECL) { -+ error("%qE attribute does not apply to functions", name); -+ return NULL_TREE; -+ } -+ -+ if (TREE_CODE(*node) == VAR_DECL) { -+ error("%qE attribute does not apply to variables", name); -+ return NULL_TREE; -+ } -+ -+ if (TYPE_P(*node)) { -+ if (TREE_CODE(*node) == RECORD_TYPE || TREE_CODE(*node) == UNION_TYPE) -+ *no_add_attrs = false; -+ else -+ error("%qE attribute applies to struct and union types only", name); -+ return NULL_TREE; -+ } -+ -+ type = TREE_TYPE(*node); -+ -+ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) { -+ error("%qE attribute applies to struct and union types only", name); -+ return NULL_TREE; -+ } -+ -+ if (lookup_attribute(IDENTIFIER_POINTER(name), TYPE_ATTRIBUTES(type))) { -+ error("%qE attribute is already applied to the type", name); -+ return NULL_TREE; -+ } -+ -+ if (TREE_CODE(*node) == TYPE_DECL && !TYPE_READONLY(type)) { -+ error("%qE attribute used on type that is not constified", name); -+ return NULL_TREE; -+ } -+ -+ if (TREE_CODE(*node) == TYPE_DECL) { -+ deconstify_tree(*node); -+ return NULL_TREE; -+ } -+ -+ return NULL_TREE; -+} -+ -+static void constify_type(tree type) -+{ -+ TYPE_READONLY(type) = 1; -+ C_TYPE_FIELDS_READONLY(type) = 1; -+} -+ -+static tree handle_do_const_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) -+{ -+ *no_add_attrs = true; -+ if (!TYPE_P(*node)) { -+ error("%qE attribute applies to types only", name); -+ return NULL_TREE; -+ } -+ -+ if (TREE_CODE(*node) != RECORD_TYPE && TREE_CODE(*node) != UNION_TYPE) { -+ error("%qE attribute applies to struct and union types only", name); -+ return NULL_TREE; -+ } -+ -+ *no_add_attrs = false; -+ constify_type(*node); -+ return NULL_TREE; -+} -+ -+static struct attribute_spec no_const_attr = { -+ .name = "no_const", -+ .min_length = 0, -+ .max_length = 0, -+ .decl_required = false, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_no_const_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = true -+#endif -+}; -+ -+static struct attribute_spec do_const_attr = { -+ .name = "do_const", -+ .min_length = 0, -+ .max_length = 0, -+ .decl_required = false, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_do_const_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = true -+#endif -+}; -+ -+static void register_attributes(void *event_data, void *data) -+{ -+ register_attribute(&no_const_attr); -+ register_attribute(&do_const_attr); -+} -+ -+static bool is_fptr(tree field) -+{ -+ tree ptr = TREE_TYPE(field); -+ -+ if (TREE_CODE(ptr) != POINTER_TYPE) -+ return false; -+ -+ return TREE_CODE(TREE_TYPE(ptr)) == FUNCTION_TYPE; -+} -+ -+static bool walk_struct(tree node) -+{ -+ tree field; -+ -+ if (TYPE_FIELDS(node) == NULL_TREE) -+ return false; -+ -+ if (lookup_attribute("no_const", TYPE_ATTRIBUTES(node))) { -+ gcc_assert(!TYPE_READONLY(node)); -+ deconstify_type(node); -+ return false; -+ } -+ -+ for (field = TYPE_FIELDS(node); field; field = TREE_CHAIN(field)) { -+ tree type = TREE_TYPE(field); -+ enum tree_code code = TREE_CODE(type); -+ -+ if (node == type) -+ return false; -+ if (code == RECORD_TYPE || code == UNION_TYPE) { -+ if (!(walk_struct(type))) -+ return false; -+ } else if (!is_fptr(field) && !TREE_READONLY(field)) -+ return false; -+ } -+ return true; -+} -+ -+static void finish_type(void *event_data, void *data) -+{ -+ tree type = (tree)event_data; -+ -+ if (type == NULL_TREE || type == error_mark_node) -+ return; -+ -+ if (TYPE_READONLY(type)) -+ return; -+ -+ if (walk_struct(type)) -+ constify_type(type); -+} -+ -+static unsigned int check_local_variables(void); -+ -+struct gimple_opt_pass pass_local_variable = { -+ { -+ .type = GIMPLE_PASS, -+ .name = "check_local_variables", -+ .gate = NULL, -+ .execute = check_local_variables, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = 0 -+ } -+}; -+ -+static unsigned int check_local_variables(void) -+{ -+ tree var; -+ referenced_var_iterator rvi; -+ -+#if BUILDING_GCC_VERSION == 4005 -+ FOR_EACH_REFERENCED_VAR(var, rvi) { -+#else -+ FOR_EACH_REFERENCED_VAR(cfun, var, rvi) { -+#endif -+ tree type = TREE_TYPE(var); -+ -+ if (!DECL_P(var) || TREE_STATIC(var) || DECL_EXTERNAL(var)) -+ continue; -+ -+ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) -+ continue; -+ -+ if (!TYPE_READONLY(type)) -+ continue; -+ -+// if (lookup_attribute("no_const", DECL_ATTRIBUTES(var))) -+// continue; -+ -+// if (lookup_attribute("no_const", TYPE_ATTRIBUTES(type))) -+// continue; -+ -+ if (walk_struct(type)) { -+ error_at(DECL_SOURCE_LOCATION(var), "constified variable %qE cannot be local", var); -+ return 1; -+ } -+ } -+ return 0; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ int i; -+ bool constify = true; -+ -+ struct register_pass_info local_variable_pass_info = { -+ .pass = &pass_local_variable.pass, -+ .reference_pass_name = "*referenced_vars", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ for (i = 0; i < argc; ++i) { -+ if (!(strcmp(argv[i].key, "no-constify"))) { -+ constify = false; -+ continue; -+ } -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &const_plugin_info); -+ if (constify) { -+ register_callback(plugin_name, PLUGIN_FINISH_TYPE, finish_type, NULL); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &local_variable_pass_info); -+ } -+ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); -+ -+ return 0; -+} ---- tools/gcc/generate_size_overflow_hash.sh 1970-01-01 00:00:00.000000000 +0000 -+++ tools/gcc/generate_size_overflow_hash.sh 2012-10-15 17:30:59.830924531 +0000 -@@ -0,0 +1,94 @@ -+#!/bin/bash -+ -+# This script generates the hash table (size_overflow_hash.h) for the size_overflow gcc plugin (size_overflow_plugin.c). -+ -+header1="size_overflow_hash.h" -+database="size_overflow_hash.data" -+n=65536 -+ -+usage() { -+cat <<EOF -+usage: $0 options -+OPTIONS: -+ -h|--help help -+ -o header file -+ -d database file -+ -n hash array size -+EOF -+ return 0 -+} -+ -+while true -+do -+ case "$1" in -+ -h|--help) usage && exit 0;; -+ -n) n=$2; shift 2;; -+ -o) header1="$2"; shift 2;; -+ -d) database="$2"; shift 2;; -+ --) shift 1; break ;; -+ *) break ;; -+ esac -+done -+ -+create_defines() { -+ for i in `seq 1 32` -+ do -+ echo -e "#define PARAM"$i" (1U << "$i")" >> "$header1" -+ done -+ echo >> "$header1" -+} -+ -+create_structs () { -+ rm -f "$header1" -+ -+ create_defines -+ -+ cat "$database" | while read data -+ do -+ data_array=($data) -+ struct_hash_name="${data_array[0]}" -+ funcn="${data_array[1]}" -+ params="${data_array[2]}" -+ next="${data_array[5]}" -+ -+ echo "const struct size_overflow_hash $struct_hash_name = {" >> "$header1" -+ -+ echo -e "\t.next\t= $next,\n\t.name\t= \"$funcn\"," >> "$header1" -+ echo -en "\t.param\t= " >> "$header1" -+ line= -+ for param_num in ${params//-/ }; -+ do -+ line="${line}PARAM"$param_num"|" -+ done -+ -+ echo -e "${line%?},\n};\n" >> "$header1" -+ done -+} -+ -+create_headers () { -+ echo "const struct size_overflow_hash * const size_overflow_hash[$n] = {" >> "$header1" -+} -+ -+create_array_elements () { -+ index=0 -+ grep -v "nohasharray" $database | sort -n -k 4 | while read data -+ do -+ data_array=($data) -+ i="${data_array[3]}" -+ hash="${data_array[4]}" -+ while [[ $index -lt $i ]] -+ do -+ echo -e "\t["$index"]\t= NULL," >> "$header1" -+ index=$(($index + 1)) -+ done -+ index=$(($index + 1)) -+ echo -e "\t["$i"]\t= &"$hash"," >> "$header1" -+ done -+ echo '};' >> $header1 -+} -+ -+create_structs -+create_headers -+create_array_elements -+ -+exit 0 ---- tools/gcc/kallocstat_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ tools/gcc/kallocstat_plugin.c 2012-10-15 17:30:59.831924531 +0000 -@@ -0,0 +1,167 @@ -+/* -+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to find the distribution of k*alloc sizes -+ * -+ * TODO: -+ * -+ * BUGS: -+ * - none known -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+ -+extern void print_gimple_stmt(FILE *, gimple, int, int); -+ -+int plugin_is_GPL_compatible; -+ -+static const char * const kalloc_functions[] = { -+ "__kmalloc", -+ "kmalloc", -+ "kmalloc_large", -+ "kmalloc_node", -+ "kmalloc_order", -+ "kmalloc_order_trace", -+ "kmalloc_slab", -+ "kzalloc", -+ "kzalloc_node", -+}; -+ -+static struct plugin_info kallocstat_plugin_info = { -+ .version = "201111150100", -+}; -+ -+static unsigned int execute_kallocstat(void); -+ -+static struct gimple_opt_pass kallocstat_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "kallocstat", -+ .gate = NULL, -+ .execute = execute_kallocstat, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = 0 -+ } -+}; -+ -+static bool is_kalloc(const char *fnname) -+{ -+ size_t i; -+ -+ for (i = 0; i < ARRAY_SIZE(kalloc_functions); i++) -+ if (!strcmp(fnname, kalloc_functions[i])) -+ return true; -+ return false; -+} -+ -+static unsigned int execute_kallocstat(void) -+{ -+ basic_block bb; -+ -+ // 1. loop through BBs and GIMPLE statements -+ FOR_EACH_BB(bb) { -+ gimple_stmt_iterator gsi; -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ // gimple match: -+ tree fndecl, size; -+ gimple call_stmt; -+ const char *fnname; -+ -+ // is it a call -+ call_stmt = gsi_stmt(gsi); -+ if (!is_gimple_call(call_stmt)) -+ continue; -+ fndecl = gimple_call_fndecl(call_stmt); -+ if (fndecl == NULL_TREE) -+ continue; -+ if (TREE_CODE(fndecl) != FUNCTION_DECL) -+ continue; -+ -+ // is it a call to k*alloc -+ fnname = IDENTIFIER_POINTER(DECL_NAME(fndecl)); -+ if (!is_kalloc(fnname)) -+ continue; -+ -+ // is the size arg the result of a simple const assignment -+ size = gimple_call_arg(call_stmt, 0); -+ while (true) { -+ gimple def_stmt; -+ expanded_location xloc; -+ size_t size_val; -+ -+ if (TREE_CODE(size) != SSA_NAME) -+ break; -+ def_stmt = SSA_NAME_DEF_STMT(size); -+ if (!def_stmt || !is_gimple_assign(def_stmt)) -+ break; -+ if (gimple_num_ops(def_stmt) != 2) -+ break; -+ size = gimple_assign_rhs1(def_stmt); -+ if (!TREE_CONSTANT(size)) -+ continue; -+ xloc = expand_location(gimple_location(def_stmt)); -+ if (!xloc.file) -+ xloc = expand_location(DECL_SOURCE_LOCATION(current_function_decl)); -+ size_val = TREE_INT_CST_LOW(size); -+ fprintf(stderr, "kallocsize: %8zu %8zx %s %s:%u\n", size_val, size_val, fnname, xloc.file, xloc.line); -+ break; -+ } -+//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO); -+//debug_tree(gimple_call_fn(call_stmt)); -+//print_node(stderr, "pax", fndecl, 4); -+ } -+ } -+ -+ return 0; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ struct register_pass_info kallocstat_pass_info = { -+ .pass = &kallocstat_pass.pass, -+ .reference_pass_name = "ssa", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &kallocstat_plugin_info); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kallocstat_pass_info); -+ -+ return 0; -+} ---- tools/gcc/kernexec_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ tools/gcc/kernexec_plugin.c 2012-10-15 17:30:59.831924531 +0000 -@@ -0,0 +1,427 @@ -+/* -+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to make KERNEXEC/amd64 almost as good as it is on i386 -+ * -+ * TODO: -+ * -+ * BUGS: -+ * - none known -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+#include "tree-flow.h" -+ -+extern void print_gimple_stmt(FILE *, gimple, int, int); -+extern rtx emit_move_insn(rtx x, rtx y); -+ -+int plugin_is_GPL_compatible; -+ -+static struct plugin_info kernexec_plugin_info = { -+ .version = "201111291120", -+ .help = "method=[bts|or]\tinstrumentation method\n" -+}; -+ -+static unsigned int execute_kernexec_reload(void); -+static unsigned int execute_kernexec_fptr(void); -+static unsigned int execute_kernexec_retaddr(void); -+static bool kernexec_cmodel_check(void); -+ -+static void (*kernexec_instrument_fptr)(gimple_stmt_iterator *); -+static void (*kernexec_instrument_retaddr)(rtx); -+ -+static struct gimple_opt_pass kernexec_reload_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "kernexec_reload", -+ .gate = kernexec_cmodel_check, -+ .execute = execute_kernexec_reload, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi -+ } -+}; -+ -+static struct gimple_opt_pass kernexec_fptr_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "kernexec_fptr", -+ .gate = kernexec_cmodel_check, -+ .execute = execute_kernexec_fptr, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi -+ } -+}; -+ -+static struct rtl_opt_pass kernexec_retaddr_pass = { -+ .pass = { -+ .type = RTL_PASS, -+ .name = "kernexec_retaddr", -+ .gate = kernexec_cmodel_check, -+ .execute = execute_kernexec_retaddr, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_dump_func | TODO_ggc_collect -+ } -+}; -+ -+static bool kernexec_cmodel_check(void) -+{ -+ tree section; -+ -+ if (ix86_cmodel != CM_KERNEL) -+ return false; -+ -+ section = lookup_attribute("section", DECL_ATTRIBUTES(current_function_decl)); -+ if (!section || !TREE_VALUE(section)) -+ return true; -+ -+ section = TREE_VALUE(TREE_VALUE(section)); -+ if (strncmp(TREE_STRING_POINTER(section), ".vsyscall_", 10)) -+ return true; -+ -+ return false; -+} -+ -+/* -+ * add special KERNEXEC instrumentation: reload %r10 after it has been clobbered -+ */ -+static void kernexec_reload_fptr_mask(gimple_stmt_iterator *gsi) -+{ -+ gimple asm_movabs_stmt; -+ -+ // build asm volatile("movabs $0x8000000000000000, %%r10\n\t" : : : ); -+ asm_movabs_stmt = gimple_build_asm_vec("movabs $0x8000000000000000, %%r10\n\t", NULL, NULL, NULL, NULL); -+ gimple_asm_set_volatile(asm_movabs_stmt, true); -+ gsi_insert_after(gsi, asm_movabs_stmt, GSI_CONTINUE_LINKING); -+ update_stmt(asm_movabs_stmt); -+} -+ -+/* -+ * find all asm() stmts that clobber r10 and add a reload of r10 -+ */ -+static unsigned int execute_kernexec_reload(void) -+{ -+ basic_block bb; -+ -+ // 1. loop through BBs and GIMPLE statements -+ FOR_EACH_BB(bb) { -+ gimple_stmt_iterator gsi; -+ -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ // gimple match: __asm__ ("" : : : "r10"); -+ gimple asm_stmt; -+ size_t nclobbers; -+ -+ // is it an asm ... -+ asm_stmt = gsi_stmt(gsi); -+ if (gimple_code(asm_stmt) != GIMPLE_ASM) -+ continue; -+ -+ // ... clobbering r10 -+ nclobbers = gimple_asm_nclobbers(asm_stmt); -+ while (nclobbers--) { -+ tree op = gimple_asm_clobber_op(asm_stmt, nclobbers); -+ if (strcmp(TREE_STRING_POINTER(TREE_VALUE(op)), "r10")) -+ continue; -+ kernexec_reload_fptr_mask(&gsi); -+//print_gimple_stmt(stderr, asm_stmt, 0, TDF_LINENO); -+ break; -+ } -+ } -+ } -+ -+ return 0; -+} -+ -+/* -+ * add special KERNEXEC instrumentation: force MSB of fptr to 1, which will produce -+ * a non-canonical address from a userland ptr and will just trigger a GPF on dereference -+ */ -+static void kernexec_instrument_fptr_bts(gimple_stmt_iterator *gsi) -+{ -+ gimple assign_intptr, assign_new_fptr, call_stmt; -+ tree intptr, old_fptr, new_fptr, kernexec_mask; -+ -+ call_stmt = gsi_stmt(*gsi); -+ old_fptr = gimple_call_fn(call_stmt); -+ -+ // create temporary unsigned long variable used for bitops and cast fptr to it -+ intptr = create_tmp_var(long_unsigned_type_node, "kernexec_bts"); -+ add_referenced_var(intptr); -+ mark_sym_for_renaming(intptr); -+ assign_intptr = gimple_build_assign(intptr, fold_convert(long_unsigned_type_node, old_fptr)); -+ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT); -+ update_stmt(assign_intptr); -+ -+ // apply logical or to temporary unsigned long and bitmask -+ kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0x8000000000000000LL); -+// kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0xffffffff80000000LL); -+ assign_intptr = gimple_build_assign(intptr, fold_build2(BIT_IOR_EXPR, long_long_unsigned_type_node, intptr, kernexec_mask)); -+ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT); -+ update_stmt(assign_intptr); -+ -+ // cast temporary unsigned long back to a temporary fptr variable -+ new_fptr = create_tmp_var(TREE_TYPE(old_fptr), "kernexec_fptr"); -+ add_referenced_var(new_fptr); -+ mark_sym_for_renaming(new_fptr); -+ assign_new_fptr = gimple_build_assign(new_fptr, fold_convert(TREE_TYPE(old_fptr), intptr)); -+ gsi_insert_before(gsi, assign_new_fptr, GSI_SAME_STMT); -+ update_stmt(assign_new_fptr); -+ -+ // replace call stmt fn with the new fptr -+ gimple_call_set_fn(call_stmt, new_fptr); -+ update_stmt(call_stmt); -+} -+ -+static void kernexec_instrument_fptr_or(gimple_stmt_iterator *gsi) -+{ -+ gimple asm_or_stmt, call_stmt; -+ tree old_fptr, new_fptr, input, output; -+ VEC(tree, gc) *inputs = NULL; -+ VEC(tree, gc) *outputs = NULL; -+ -+ call_stmt = gsi_stmt(*gsi); -+ old_fptr = gimple_call_fn(call_stmt); -+ -+ // create temporary fptr variable -+ new_fptr = create_tmp_var(TREE_TYPE(old_fptr), "kernexec_or"); -+ add_referenced_var(new_fptr); -+ mark_sym_for_renaming(new_fptr); -+ -+ // build asm volatile("orq %%r10, %0\n\t" : "=r"(new_fptr) : "0"(old_fptr)); -+ input = build_tree_list(NULL_TREE, build_string(2, "0")); -+ input = chainon(NULL_TREE, build_tree_list(input, old_fptr)); -+ output = build_tree_list(NULL_TREE, build_string(3, "=r")); -+ output = chainon(NULL_TREE, build_tree_list(output, new_fptr)); -+ VEC_safe_push(tree, gc, inputs, input); -+ VEC_safe_push(tree, gc, outputs, output); -+ asm_or_stmt = gimple_build_asm_vec("orq %%r10, %0\n\t", inputs, outputs, NULL, NULL); -+ gimple_asm_set_volatile(asm_or_stmt, true); -+ gsi_insert_before(gsi, asm_or_stmt, GSI_SAME_STMT); -+ update_stmt(asm_or_stmt); -+ -+ // replace call stmt fn with the new fptr -+ gimple_call_set_fn(call_stmt, new_fptr); -+ update_stmt(call_stmt); -+} -+ -+/* -+ * find all C level function pointer dereferences and forcibly set the highest bit of the pointer -+ */ -+static unsigned int execute_kernexec_fptr(void) -+{ -+ basic_block bb; -+ -+ // 1. loop through BBs and GIMPLE statements -+ FOR_EACH_BB(bb) { -+ gimple_stmt_iterator gsi; -+ -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ // gimple match: h_1 = get_fptr (); D.2709_3 = h_1 (x_2(D)); -+ tree fn; -+ gimple call_stmt; -+ -+ // is it a call ... -+ call_stmt = gsi_stmt(gsi); -+ if (!is_gimple_call(call_stmt)) -+ continue; -+ fn = gimple_call_fn(call_stmt); -+ if (TREE_CODE(fn) == ADDR_EXPR) -+ continue; -+ if (TREE_CODE(fn) != SSA_NAME) -+ gcc_unreachable(); -+ -+ // ... through a function pointer -+ fn = SSA_NAME_VAR(fn); -+ if (TREE_CODE(fn) != VAR_DECL && TREE_CODE(fn) != PARM_DECL) -+ continue; -+ fn = TREE_TYPE(fn); -+ if (TREE_CODE(fn) != POINTER_TYPE) -+ continue; -+ fn = TREE_TYPE(fn); -+ if (TREE_CODE(fn) != FUNCTION_TYPE) -+ continue; -+ -+ kernexec_instrument_fptr(&gsi); -+ -+//debug_tree(gimple_call_fn(call_stmt)); -+//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO); -+ } -+ } -+ -+ return 0; -+} -+ -+// add special KERNEXEC instrumentation: btsq $63,(%rsp) just before retn -+static void kernexec_instrument_retaddr_bts(rtx insn) -+{ -+ rtx btsq; -+ rtvec argvec, constraintvec, labelvec; -+ int line; -+ -+ // create asm volatile("btsq $63,(%%rsp)":::) -+ argvec = rtvec_alloc(0); -+ constraintvec = rtvec_alloc(0); -+ labelvec = rtvec_alloc(0); -+ line = expand_location(RTL_LOCATION(insn)).line; -+ btsq = gen_rtx_ASM_OPERANDS(VOIDmode, "btsq $63,(%%rsp)", empty_string, 0, argvec, constraintvec, labelvec, line); -+ MEM_VOLATILE_P(btsq) = 1; -+// RTX_FRAME_RELATED_P(btsq) = 1; // not for ASM_OPERANDS -+ emit_insn_before(btsq, insn); -+} -+ -+// add special KERNEXEC instrumentation: orq %r10,(%rsp) just before retn -+static void kernexec_instrument_retaddr_or(rtx insn) -+{ -+ rtx orq; -+ rtvec argvec, constraintvec, labelvec; -+ int line; -+ -+ // create asm volatile("orq %%r10,(%%rsp)":::) -+ argvec = rtvec_alloc(0); -+ constraintvec = rtvec_alloc(0); -+ labelvec = rtvec_alloc(0); -+ line = expand_location(RTL_LOCATION(insn)).line; -+ orq = gen_rtx_ASM_OPERANDS(VOIDmode, "orq %%r10,(%%rsp)", empty_string, 0, argvec, constraintvec, labelvec, line); -+ MEM_VOLATILE_P(orq) = 1; -+// RTX_FRAME_RELATED_P(orq) = 1; // not for ASM_OPERANDS -+ emit_insn_before(orq, insn); -+} -+ -+/* -+ * find all asm level function returns and forcibly set the highest bit of the return address -+ */ -+static unsigned int execute_kernexec_retaddr(void) -+{ -+ rtx insn; -+ -+ // 1. find function returns -+ for (insn = get_insns(); insn; insn = NEXT_INSN(insn)) { -+ // rtl match: (jump_insn 41 40 42 2 (return) fptr.c:42 634 {return_internal} (nil)) -+ // (jump_insn 12 9 11 2 (parallel [ (return) (unspec [ (0) ] UNSPEC_REP) ]) fptr.c:46 635 {return_internal_long} (nil)) -+ rtx body; -+ -+ // is it a retn -+ if (!JUMP_P(insn)) -+ continue; -+ body = PATTERN(insn); -+ if (GET_CODE(body) == PARALLEL) -+ body = XVECEXP(body, 0, 0); -+ if (GET_CODE(body) != RETURN) -+ continue; -+ kernexec_instrument_retaddr(insn); -+ } -+ -+// print_simple_rtl(stderr, get_insns()); -+// print_rtl(stderr, get_insns()); -+ -+ return 0; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ int i; -+ struct register_pass_info kernexec_reload_pass_info = { -+ .pass = &kernexec_reload_pass.pass, -+ .reference_pass_name = "ssa", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ struct register_pass_info kernexec_fptr_pass_info = { -+ .pass = &kernexec_fptr_pass.pass, -+ .reference_pass_name = "ssa", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ struct register_pass_info kernexec_retaddr_pass_info = { -+ .pass = &kernexec_retaddr_pass.pass, -+ .reference_pass_name = "pro_and_epilogue", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &kernexec_plugin_info); -+ -+ if (TARGET_64BIT == 0) -+ return 0; -+ -+ for (i = 0; i < argc; ++i) { -+ if (!strcmp(argv[i].key, "method")) { -+ if (!argv[i].value) { -+ error(G_("no value supplied for option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ continue; -+ } -+ if (!strcmp(argv[i].value, "bts")) { -+ kernexec_instrument_fptr = kernexec_instrument_fptr_bts; -+ kernexec_instrument_retaddr = kernexec_instrument_retaddr_bts; -+ } else if (!strcmp(argv[i].value, "or")) { -+ kernexec_instrument_fptr = kernexec_instrument_fptr_or; -+ kernexec_instrument_retaddr = kernexec_instrument_retaddr_or; -+ fix_register("r10", 1, 1); -+ } else -+ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); -+ continue; -+ } -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ } -+ if (!kernexec_instrument_fptr || !kernexec_instrument_retaddr) -+ error(G_("no instrumentation method was selected via '-fplugin-arg-%s-method'"), plugin_name); -+ -+ if (kernexec_instrument_fptr == kernexec_instrument_fptr_or) -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_reload_pass_info); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_fptr_pass_info); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_retaddr_pass_info); -+ -+ return 0; -+} ---- tools/gcc/latent_entropy_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ tools/gcc/latent_entropy_plugin.c 2012-10-15 17:30:59.831924531 +0000 -@@ -0,0 +1,295 @@ -+/* -+ * Copyright 2012 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to help generate a little bit of entropy from program state, -+ * used during boot in the kernel -+ * -+ * TODO: -+ * - add ipa pass to identify not explicitly marked candidate functions -+ * - mix in more program state (function arguments/return values, loop variables, etc) -+ * - more instrumentation control via attribute parameters -+ * -+ * BUGS: -+ * - LTO needs -flto-partition=none for now -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+#include "tree-flow.h" -+ -+int plugin_is_GPL_compatible; -+ -+static tree latent_entropy_decl; -+ -+static struct plugin_info latent_entropy_plugin_info = { -+ .version = "201207271820", -+ .help = NULL -+}; -+ -+static unsigned int execute_latent_entropy(void); -+static bool gate_latent_entropy(void); -+ -+static struct gimple_opt_pass latent_entropy_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "latent_entropy", -+ .gate = gate_latent_entropy, -+ .execute = execute_latent_entropy, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = PROP_gimple_leh | PROP_cfg, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, //TODO_verify_ssa | TODO_verify_flow | TODO_verify_stmts, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_update_ssa -+ } -+}; -+ -+static tree handle_latent_entropy_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) -+{ -+ if (TREE_CODE(*node) != FUNCTION_DECL) { -+ *no_add_attrs = true; -+ error("%qE attribute only applies to functions", name); -+ } -+ return NULL_TREE; -+} -+ -+static struct attribute_spec latent_entropy_attr = { -+ .name = "latent_entropy", -+ .min_length = 0, -+ .max_length = 0, -+ .decl_required = true, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_latent_entropy_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = false -+#endif -+}; -+ -+static void register_attributes(void *event_data, void *data) -+{ -+ register_attribute(&latent_entropy_attr); -+} -+ -+static bool gate_latent_entropy(void) -+{ -+ tree latent_entropy_attr; -+ -+ latent_entropy_attr = lookup_attribute("latent_entropy", DECL_ATTRIBUTES(current_function_decl)); -+ return latent_entropy_attr != NULL_TREE; -+} -+ -+static unsigned HOST_WIDE_INT seed; -+static unsigned HOST_WIDE_INT get_random_const(void) -+{ -+ seed = (seed >> 1U) ^ (-(seed & 1ULL) & 0xD800000000000000ULL); -+ return seed; -+} -+ -+static enum tree_code get_op(tree *rhs) -+{ -+ static enum tree_code op; -+ unsigned HOST_WIDE_INT random_const; -+ -+ random_const = get_random_const(); -+ -+ switch (op) { -+ case BIT_XOR_EXPR: -+ op = PLUS_EXPR; -+ break; -+ -+ case PLUS_EXPR: -+ if (rhs) { -+ op = LROTATE_EXPR; -+ random_const &= HOST_BITS_PER_WIDE_INT - 1; -+ break; -+ } -+ -+ case LROTATE_EXPR: -+ default: -+ op = BIT_XOR_EXPR; -+ break; -+ } -+ if (rhs) -+ *rhs = build_int_cstu(unsigned_intDI_type_node, random_const); -+ return op; -+} -+ -+static void perturb_local_entropy(basic_block bb, tree local_entropy) -+{ -+ gimple_stmt_iterator gsi; -+ gimple assign; -+ tree addxorrol, rhs; -+ enum tree_code op; -+ -+ op = get_op(&rhs); -+ addxorrol = fold_build2_loc(UNKNOWN_LOCATION, op, unsigned_intDI_type_node, local_entropy, rhs); -+ assign = gimple_build_assign(local_entropy, addxorrol); -+ find_referenced_vars_in(assign); -+//debug_bb(bb); -+ gsi = gsi_after_labels(bb); -+ gsi_insert_before(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+} -+ -+static void perturb_latent_entropy(basic_block bb, tree rhs) -+{ -+ gimple_stmt_iterator gsi; -+ gimple assign; -+ tree addxorrol, temp; -+ -+ // 1. create temporary copy of latent_entropy -+ temp = create_tmp_var(unsigned_intDI_type_node, "temp_latent_entropy"); -+ add_referenced_var(temp); -+ mark_sym_for_renaming(temp); -+ -+ // 2. read... -+ assign = gimple_build_assign(temp, latent_entropy_decl); -+ find_referenced_vars_in(assign); -+ gsi = gsi_after_labels(bb); -+ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ -+ // 3. ...modify... -+ addxorrol = fold_build2_loc(UNKNOWN_LOCATION, get_op(NULL), unsigned_intDI_type_node, temp, rhs); -+ assign = gimple_build_assign(temp, addxorrol); -+ find_referenced_vars_in(assign); -+ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ -+ // 4. ...write latent_entropy -+ assign = gimple_build_assign(latent_entropy_decl, temp); -+ find_referenced_vars_in(assign); -+ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+} -+ -+static unsigned int execute_latent_entropy(void) -+{ -+ basic_block bb; -+ gimple assign; -+ gimple_stmt_iterator gsi; -+ tree local_entropy; -+ -+ if (!latent_entropy_decl) { -+ struct varpool_node *node; -+ -+ for (node = varpool_nodes; node; node = node->next) { -+ tree var = node->decl; -+ if (strcmp(IDENTIFIER_POINTER(DECL_NAME(var)), "latent_entropy")) -+ continue; -+ latent_entropy_decl = var; -+// debug_tree(var); -+ break; -+ } -+ if (!latent_entropy_decl) { -+// debug_tree(current_function_decl); -+ return 0; -+ } -+ } -+ -+//fprintf(stderr, "latent_entropy: %s\n", IDENTIFIER_POINTER(DECL_NAME(current_function_decl))); -+ -+ // 1. create local entropy variable -+ local_entropy = create_tmp_var(unsigned_intDI_type_node, "local_entropy"); -+ add_referenced_var(local_entropy); -+ mark_sym_for_renaming(local_entropy); -+ -+ // 2. initialize local entropy variable -+ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; -+ if (dom_info_available_p(CDI_DOMINATORS)) -+ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR); -+ gsi = gsi_start_bb(bb); -+ -+ assign = gimple_build_assign(local_entropy, build_int_cstu(unsigned_intDI_type_node, get_random_const())); -+// gimple_set_location(assign, loc); -+ find_referenced_vars_in(assign); -+ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ bb = bb->next_bb; -+ -+ // 3. instrument each BB with an operation on the local entropy variable -+ while (bb != EXIT_BLOCK_PTR) { -+ perturb_local_entropy(bb, local_entropy); -+ bb = bb->next_bb; -+ }; -+ -+ // 4. mix local entropy into the global entropy variable -+ perturb_latent_entropy(EXIT_BLOCK_PTR->prev_bb, local_entropy); -+ return 0; -+} -+ -+static void start_unit_callback(void *gcc_data, void *user_data) -+{ -+#if BUILDING_GCC_VERSION >= 4007 -+ seed = get_random_seed(false); -+#else -+ sscanf(get_random_seed(false), "%" HOST_WIDE_INT_PRINT "x", &seed); -+ seed *= seed; -+#endif -+ -+ if (in_lto_p) -+ return; -+ -+ // extern u64 latent_entropy -+ latent_entropy_decl = build_decl(UNKNOWN_LOCATION, VAR_DECL, get_identifier("latent_entropy"), unsigned_intDI_type_node); -+ -+ TREE_STATIC(latent_entropy_decl) = 1; -+ TREE_PUBLIC(latent_entropy_decl) = 1; -+ TREE_USED(latent_entropy_decl) = 1; -+ TREE_THIS_VOLATILE(latent_entropy_decl) = 1; -+ DECL_EXTERNAL(latent_entropy_decl) = 1; -+ DECL_ARTIFICIAL(latent_entropy_decl) = 0; -+ DECL_INITIAL(latent_entropy_decl) = NULL; -+// DECL_ASSEMBLER_NAME(latent_entropy_decl); -+// varpool_finalize_decl(latent_entropy_decl); -+// varpool_mark_needed_node(latent_entropy_decl); -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ struct register_pass_info latent_entropy_pass_info = { -+ .pass = &latent_entropy_pass.pass, -+ .reference_pass_name = "optimized", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_BEFORE -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &latent_entropy_plugin_info); -+ register_callback ("start_unit", PLUGIN_START_UNIT, &start_unit_callback, NULL); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &latent_entropy_pass_info); -+ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); -+ -+ return 0; -+} ---- tools/gcc/size_overflow_hash.data 1970-01-01 00:00:00.000000000 +0000 -+++ tools/gcc/size_overflow_hash.data 2012-10-15 17:30:59.834924531 +0000 -@@ -0,0 +1,3597 @@ -+_000001_hash alloc_dr 2 65495 _000001_hash NULL -+_000002_hash __copy_from_user 3 10918 _000002_hash NULL -+_000003_hash copy_from_user 3 17559 _000003_hash NULL -+_000004_hash __copy_from_user_inatomic 3 4365 _000004_hash NULL -+_000005_hash __copy_from_user_nocache 3 39351 _000005_hash NULL -+_000006_hash __copy_to_user_inatomic 3 19214 _000006_hash NULL -+_000007_hash do_xip_mapping_read 5 60297 _000007_hash NULL -+_000008_hash hugetlbfs_read 3 11268 _000008_hash NULL -+_000009_hash kmalloc 1 60432 _003302_hash NULL nohasharray -+_000010_hash kmalloc_array 1-2 9444 _000010_hash NULL -+_000012_hash __kmalloc_reserve 1 17080 _000012_hash NULL -+_000013_hash kmalloc_slab 1 11917 _000013_hash NULL -+_000014_hash kmemdup 2 64015 _000014_hash NULL -+_000015_hash __krealloc 2 14857 _000340_hash NULL nohasharray -+_000016_hash memdup_user 2 59590 _000016_hash NULL -+_000017_hash module_alloc 1 63630 _000017_hash NULL -+_000018_hash read_default_ldt 2 14302 _000018_hash NULL -+_000019_hash read_kcore 3 63488 _000019_hash NULL -+_000020_hash read_ldt 2 47570 _000020_hash NULL -+_000021_hash read_zero 3 19366 _000021_hash NULL -+_000022_hash __vmalloc_node 1 39308 _000022_hash NULL -+_000023_hash aac_convert_sgraw2 4 51598 _000023_hash NULL -+_000024_hash aa_simple_write_to_buffer 4-3 49683 _000024_hash NULL -+_000025_hash ablkcipher_copy_iv 3 64140 _000025_hash NULL -+_000026_hash ablkcipher_next_slow 3-4 47274 _000026_hash NULL -+_000028_hash acpi_battery_write_alarm 3 1240 _000028_hash NULL -+_000029_hash acpi_os_allocate 1 14892 _000029_hash NULL -+_000030_hash acpi_system_write_wakeup_device 3 34853 _000030_hash NULL -+_000031_hash adu_write 3 30487 _000031_hash NULL -+_000032_hash aer_inject_write 3 52399 _000032_hash NULL -+_000033_hash afs_alloc_flat_call 2-3 36399 _000033_hash NULL -+_000035_hash afs_proc_cells_write 3 61139 _000035_hash NULL -+_000036_hash afs_proc_rootcell_write 3 15822 _000036_hash NULL -+_000037_hash agp_3_5_isochronous_node_enable 3 49465 _000037_hash NULL -+_000038_hash agp_alloc_page_array 1 22554 _000038_hash NULL -+_000039_hash ah_alloc_tmp 2-3 54378 _000039_hash NULL -+_000041_hash ahash_setkey_unaligned 3 33521 _000041_hash NULL -+_000042_hash alg_setkey 3 31485 _000042_hash NULL -+_000043_hash aligned_kmalloc 1 3628 _000043_hash NULL -+_000044_hash alloc_context 1 3194 _000044_hash NULL -+_000045_hash alloc_ep_req 2 54860 _000045_hash NULL -+_000046_hash alloc_fdmem 1 27083 _000046_hash NULL -+_000047_hash alloc_flex_gd 1 57259 _000047_hash NULL -+_000048_hash alloc_sglist 1-3-2 22960 _000048_hash NULL -+_000049_hash __alloc_skb 1 23940 _000049_hash NULL -+_000050_hash aoedev_flush 2 44398 _000050_hash NULL -+_000051_hash append_to_buffer 3 63550 _000051_hash NULL -+_000052_hash asix_read_cmd 5 13245 _000052_hash NULL -+_000053_hash asix_write_cmd 5 58192 _000053_hash NULL -+_000054_hash at76_set_card_command 4 4471 _000054_hash NULL -+_000055_hash ath6kl_add_bss_if_needed 6 24317 _000055_hash NULL -+_000056_hash ath6kl_debug_roam_tbl_event 3 5224 _000056_hash NULL -+_000057_hash ath6kl_mgmt_powersave_ap 6 13791 _000057_hash NULL -+_000058_hash ath6kl_send_go_probe_resp 3 21113 _000058_hash NULL -+_000059_hash ath6kl_set_ap_probe_resp_ies 3 50539 _000059_hash NULL -+_000060_hash ath6kl_set_assoc_req_ies 3 43185 _000060_hash NULL -+_000061_hash ath6kl_wmi_bssinfo_event_rx 3 2275 _000061_hash NULL -+_000062_hash ath6kl_wmi_send_action_cmd 7 58860 _000062_hash NULL -+_000063_hash __ath6kl_wmi_send_mgmt_cmd 7 38971 _000063_hash NULL -+_000064_hash attach_hdlc_protocol 3 19986 _000064_hash NULL -+_000065_hash audio_write 4 54261 _001782_hash NULL nohasharray -+_000066_hash audit_unpack_string 3 13748 _000066_hash NULL -+_000067_hash ax25_setsockopt 5 42740 _000067_hash NULL -+_000068_hash b43_debugfs_write 3 34838 _000068_hash NULL -+_000069_hash b43legacy_debugfs_write 3 28556 _000069_hash NULL -+_000070_hash batadv_hash_new 1 40491 _000070_hash NULL -+_000071_hash batadv_orig_node_add_if 2 18433 _000071_hash NULL -+_000072_hash batadv_orig_node_del_if 2 4 _000072_hash NULL -+_000073_hash batadv_tt_changes_fill_buff 4 40323 _000073_hash NULL -+_000074_hash batadv_tt_realloc_packet_buff 4 49960 _000074_hash NULL -+_000075_hash bch_alloc 1 4593 _000075_hash NULL -+_000076_hash befs_nls2utf 3 17163 _000076_hash NULL -+_000077_hash befs_utf2nls 3 25628 _000077_hash NULL -+_000078_hash bfad_debugfs_write_regrd 3 15218 _000078_hash NULL -+_000079_hash bfad_debugfs_write_regwr 3 61841 _000079_hash NULL -+_000080_hash bio_alloc_map_data 1-2 50782 _000080_hash NULL -+_000082_hash bio_kmalloc 2 54672 _000082_hash NULL -+_000083_hash bitmap_storage_alloc 2 55077 _000083_hash NULL -+_000084_hash blkcipher_copy_iv 3 24075 _000084_hash NULL -+_000085_hash blkcipher_next_slow 3-4 52733 _000085_hash NULL -+_000087_hash bl_pipe_downcall 3 34264 _000087_hash NULL -+_000088_hash bnad_debugfs_write_regrd 3 6706 _000088_hash NULL -+_000089_hash bnad_debugfs_write_regwr 3 57500 _000089_hash NULL -+_000090_hash bnx2fc_cmd_mgr_alloc 2-3 24873 _000090_hash NULL -+_000092_hash bnx2fc_process_unsol_compl 2 15576 _000092_hash NULL -+_000093_hash bnx2_nvram_write 2-4 7790 _000093_hash NULL -+_000095_hash btmrvl_gpiogap_write 3 35053 _000095_hash NULL -+_000096_hash btmrvl_hscfgcmd_write 3 27143 _000096_hash NULL -+_000097_hash btmrvl_hscmd_write 3 27089 _000097_hash NULL -+_000098_hash btmrvl_hsmode_write 3 42252 _000098_hash NULL -+_000099_hash btmrvl_pscmd_write 3 29504 _000099_hash NULL -+_000100_hash btmrvl_psmode_write 3 3703 _000100_hash NULL -+_000101_hash btrfs_alloc_delayed_item 1 11678 _000101_hash NULL -+_000102_hash c4iw_id_table_alloc 3 48163 _000102_hash NULL -+_000103_hash cache_do_downcall 3 6926 _000103_hash NULL -+_000104_hash cachefiles_cook_key 2 33274 _000104_hash NULL -+_000105_hash cachefiles_daemon_write 3 43535 _000105_hash NULL -+_000106_hash capi_write 3 35104 _003607_hash NULL nohasharray -+_000107_hash carl9170_debugfs_write 3 50857 _000107_hash NULL -+_000108_hash cciss_allocate_sg_chain_blocks 2-3 5368 _000108_hash NULL -+_000110_hash cciss_proc_write 3 10259 _000110_hash NULL -+_000111_hash cdrom_read_cdda_old 4 27664 _000111_hash NULL -+_000112_hash ceph_alloc_page_vector 1 18710 _000112_hash NULL -+_000113_hash ceph_buffer_new 1 35974 _000113_hash NULL -+_000114_hash ceph_copy_user_to_page_vector 3-4 656 _000114_hash NULL -+_000116_hash ceph_get_direct_page_vector 2 41917 _000116_hash NULL -+_000117_hash ceph_msg_new 2 5846 _000117_hash NULL -+_000118_hash ceph_setxattr 4 18913 _000118_hash NULL -+_000119_hash cfi_read_pri 3 24366 _000119_hash NULL -+_000120_hash cgroup_write_string 5 10900 _000120_hash NULL -+_000121_hash cgroup_write_X64 5 54514 _000121_hash NULL -+_000122_hash change_xattr 5 61390 _000122_hash NULL -+_000123_hash check_load_and_stores 2 2143 _000123_hash NULL -+_000124_hash cifs_idmap_key_instantiate 3 54503 _000124_hash NULL -+_000125_hash cifs_security_flags_proc_write 3 5484 _000125_hash NULL -+_000126_hash cifs_setxattr 4 23957 _000126_hash NULL -+_000127_hash cifs_spnego_key_instantiate 3 23588 _000127_hash NULL -+_000128_hash cld_pipe_downcall 3 15058 _000128_hash NULL -+_000129_hash clear_refs_write 3 61904 _000129_hash NULL -+_000130_hash clusterip_proc_write 3 44729 _000130_hash NULL -+_000131_hash cm4040_write 3 58079 _000131_hash NULL -+_000132_hash cm_copy_private_data 2 3649 _000132_hash NULL -+_000133_hash cmm_write 3 2896 _000133_hash NULL -+_000134_hash cm_write 3 36858 _000134_hash NULL -+_000135_hash coda_psdev_write 3 1711 _000135_hash NULL -+_000136_hash codec_reg_read_file 3 36280 _000136_hash NULL -+_000137_hash command_file_write 3 31318 _000137_hash NULL -+_000138_hash command_write 3 58841 _000138_hash NULL -+_000139_hash comm_write 3 44537 _001714_hash NULL nohasharray -+_000140_hash concat_writev 3 21451 _000140_hash NULL -+_000141_hash copy_and_check 3 19089 _000141_hash NULL -+_000142_hash copy_from_user_toio 3 31966 _000142_hash NULL -+_000143_hash copy_items 6 50140 _000143_hash NULL -+_000144_hash copy_macs 4 45534 _000144_hash NULL -+_000145_hash __copy_to_user 3 17551 _000145_hash NULL -+_000146_hash copy_vm86_regs_from_user 3 45340 _000146_hash NULL -+_000147_hash core_sys_select 1 47494 _000147_hash NULL -+_000148_hash cosa_write 3 1774 _000148_hash NULL -+_000149_hash cp210x_set_config 4 46447 _000149_hash NULL -+_000150_hash create_entry 2 33479 _000150_hash NULL -+_000151_hash create_queues 2-3 9088 _000151_hash NULL -+_000153_hash create_xattr 5 54106 _000153_hash NULL -+_000154_hash create_xattr_datum 5 33356 _003443_hash NULL nohasharray -+_000155_hash csum_partial_copy_fromiovecend 3-4 9957 _000155_hash NULL -+_000157_hash ctrl_out 3-5 8712 _000157_hash NULL -+_000159_hash cxacru_cm_get_array 4 4412 _000159_hash NULL -+_000160_hash cxgbi_alloc_big_mem 1 4707 _000160_hash NULL -+_000161_hash dac960_user_command_proc_write 3 3071 _000161_hash NULL -+_000162_hash datablob_format 2 39571 _002490_hash NULL nohasharray -+_000163_hash dccp_feat_clone_sp_val 3 11942 _000163_hash NULL -+_000164_hash dccp_setsockopt_ccid 4 30701 _000164_hash NULL -+_000165_hash dccp_setsockopt_cscov 2 37766 _000165_hash NULL -+_000166_hash dccp_setsockopt_service 4 65336 _000166_hash NULL -+_000167_hash ddebug_proc_write 3 18055 _000167_hash NULL -+_000168_hash dev_config 3 8506 _000168_hash NULL -+_000169_hash device_write 3 45156 _000169_hash NULL -+_000170_hash devm_kzalloc 2 4966 _000170_hash NULL -+_000171_hash devres_alloc 2 551 _000171_hash NULL -+_000172_hash dfs_file_write 3 41196 _000172_hash NULL -+_000173_hash direct_entry 3 38836 _000173_hash NULL -+_000174_hash dispatch_ioctl 2 32357 _000174_hash NULL -+_000175_hash dispatch_proc_write 3 44320 _000175_hash NULL -+_000176_hash diva_os_copy_from_user 4 7792 _000176_hash NULL -+_000177_hash dlm_alloc_pagevec 1 54296 _000177_hash NULL -+_000178_hash dlmfs_file_read 3 28385 _000178_hash NULL -+_000179_hash dlmfs_file_write 3 6892 _000179_hash NULL -+_000180_hash dm_read 3 15674 _000180_hash NULL -+_000181_hash dm_write 3 2513 _000181_hash NULL -+_000182_hash __dn_setsockopt 5 13060 _000182_hash NULL -+_000183_hash dns_query 3 9676 _000183_hash NULL -+_000184_hash dns_resolver_instantiate 3 63314 _000184_hash NULL -+_000185_hash do_add_counters 3 3992 _000185_hash NULL -+_000186_hash __do_config_autodelink 3 58763 _000186_hash NULL -+_000187_hash do_ip_setsockopt 5 41852 _000187_hash NULL -+_000188_hash do_ipv6_setsockopt 5 18215 _000188_hash NULL -+_000189_hash do_ip_vs_set_ctl 4 48641 _000189_hash NULL -+_000190_hash do_kimage_alloc 3 64827 _000190_hash NULL -+_000191_hash do_register_entry 4 29478 _000191_hash NULL -+_000192_hash do_tty_write 5 44896 _000192_hash NULL -+_000193_hash do_update_counters 4 2259 _000193_hash NULL -+_000194_hash dsp_write 2 46218 _000194_hash NULL -+_000195_hash dup_to_netobj 3 26363 _000195_hash NULL -+_000196_hash dwc3_link_state_write 3 12641 _000196_hash NULL -+_000197_hash dwc3_mode_write 3 51997 _000197_hash NULL -+_000198_hash dwc3_testmode_write 3 30516 _000198_hash NULL -+_000199_hash ecryptfs_copy_filename 4 11868 _000199_hash NULL -+_000200_hash ecryptfs_miscdev_write 3 26847 _000200_hash NULL -+_000201_hash ecryptfs_send_miscdev 2 64816 _000201_hash NULL -+_000202_hash efx_tsoh_heap_alloc 2 58545 _000202_hash NULL -+_000203_hash emi26_writememory 4 57908 _000203_hash NULL -+_000204_hash emi62_writememory 4 29731 _000204_hash NULL -+_000205_hash encrypted_instantiate 3 3168 _000205_hash NULL -+_000206_hash encrypted_update 3 13414 _000206_hash NULL -+_000207_hash ep0_write 3 14536 _001422_hash NULL nohasharray -+_000208_hash ep_read 3 58813 _000208_hash NULL -+_000209_hash ep_write 3 59008 _000209_hash NULL -+_000210_hash erst_dbg_write 3 46715 _000210_hash NULL -+_000211_hash esp_alloc_tmp 2-3 40558 _000211_hash NULL -+_000213_hash evdev_do_ioctl 2 24459 _000213_hash NULL -+_000214_hash exofs_read_lookup_dev_table 3 17733 _000214_hash NULL -+_000215_hash ext4_kvmalloc 1 14796 _000215_hash NULL -+_000216_hash ezusb_writememory 4 45976 _000216_hash NULL -+_000217_hash fanotify_write 3 64623 _000217_hash NULL -+_000218_hash fd_copyin 3 56247 _000218_hash NULL -+_000219_hash ffs_epfile_io 3 64886 _000219_hash NULL -+_000220_hash ffs_prepare_buffer 2 59892 _000220_hash NULL -+_000221_hash f_hidg_write 3 7932 _000221_hash NULL -+_000222_hash file_read_actor 4 1401 _000222_hash NULL -+_000223_hash fill_write_buffer 3 3142 _000223_hash NULL -+_000224_hash __find_xattr 6 2117 _002425_hash NULL nohasharray -+_000225_hash fl_create 5 56435 _000225_hash NULL -+_000226_hash fs_path_ensure_buf 2 59445 _000226_hash NULL -+_000227_hash ftdi_elan_write 3 57309 _000227_hash NULL -+_000228_hash fw_iso_buffer_alloc 2 13704 _000228_hash NULL -+_000229_hash garmin_write_bulk 3 58191 _000229_hash NULL -+_000230_hash garp_attr_create 3 3883 _000230_hash NULL -+_000231_hash get_arg 3 5694 _000231_hash NULL -+_000232_hash getdqbuf 1 62908 _000232_hash NULL -+_000233_hash get_fdb_entries 3 41916 _000233_hash NULL -+_000234_hash get_fd_set 1 3866 _000234_hash NULL -+_000235_hash get_indirect_ea 4 51869 _000235_hash NULL -+_000236_hash get_registers 3 26187 _000236_hash NULL -+_000237_hash get_scq 2 10897 _000237_hash NULL -+_000238_hash get_server_iovec 2 16804 _000238_hash NULL -+_000239_hash get_ucode_user 3 38202 _000239_hash NULL -+_000240_hash get_user_cpu_mask 2 14861 _000240_hash NULL -+_000241_hash gfs2_alloc_sort_buffer 1 18275 _000241_hash NULL -+_000242_hash gfs2_glock_nq_m 1 20347 _000242_hash NULL -+_000243_hash gigaset_initcs 2 43753 _000243_hash NULL -+_000244_hash gigaset_initdriver 2 1060 _000244_hash NULL -+_000245_hash groups_alloc 1 7614 _000245_hash NULL -+_000246_hash gs_alloc_req 2 58883 _000246_hash NULL -+_000247_hash gs_buf_alloc 2 25067 _000247_hash NULL -+_000248_hash gsm_data_alloc 3 42437 _000248_hash NULL -+_000249_hash gss_pipe_downcall 3 23182 _000249_hash NULL -+_000250_hash handle_request 9 10024 _000250_hash NULL -+_000251_hash hashtab_create 3 33769 _000251_hash NULL -+_000252_hash hcd_buffer_alloc 2 27495 _000252_hash NULL -+_000253_hash hci_sock_setsockopt 5 28993 _000253_hash NULL -+_000254_hash heap_init 2 49617 _000254_hash NULL -+_000255_hash hest_ghes_dev_register 1 46766 _000255_hash NULL -+_000256_hash hidg_alloc_ep_req 2 10159 _000256_hash NULL -+_000257_hash hid_parse_report 3 51737 _000257_hash NULL -+_000258_hash hidraw_get_report 3 45609 _000258_hash NULL -+_000259_hash hidraw_report_event 3 20503 _000259_hash NULL -+_000260_hash hidraw_send_report 3 23449 _000260_hash NULL -+_000261_hash hpfs_translate_name 3 41497 _000261_hash NULL -+_000262_hash hysdn_conf_write 3 52145 _000262_hash NULL -+_000263_hash __i2400mu_send_barker 3 23652 _000263_hash NULL -+_000264_hash i2cdev_read 3 1206 _000264_hash NULL -+_000265_hash i2cdev_write 3 23310 _000265_hash NULL -+_000266_hash i2o_parm_field_get 5 34477 _000266_hash NULL -+_000267_hash i2o_parm_table_get 6 61635 _000267_hash NULL -+_000268_hash ib_copy_from_udata 3 59502 _000268_hash NULL -+_000269_hash ib_ucm_alloc_data 3 36885 _000269_hash NULL -+_000270_hash ib_umad_write 3 47993 _000270_hash NULL -+_000271_hash ib_uverbs_unmarshall_recv 5 12251 _000271_hash NULL -+_000272_hash icn_writecmd 2 38629 _000272_hash NULL -+_000273_hash ide_driver_proc_write 3 32493 _000273_hash NULL -+_000274_hash ide_settings_proc_write 3 35110 _000274_hash NULL -+_000275_hash idetape_chrdev_write 3 53976 _000275_hash NULL -+_000276_hash idmap_pipe_downcall 3 14591 _000276_hash NULL -+_000277_hash ieee80211_build_probe_req 7-5 27660 _000277_hash NULL -+_000278_hash ieee80211_if_write 3 34894 _000278_hash NULL -+_000279_hash if_write 3 51756 _000279_hash NULL -+_000280_hash ilo_write 3 64378 _000280_hash NULL -+_000281_hash ima_write_policy 3 40548 _000281_hash NULL -+_000282_hash init_data_container 1 60709 _000282_hash NULL -+_000283_hash init_send_hfcd 1 34586 _000283_hash NULL -+_000284_hash insert_dent 7 65034 _000284_hash NULL -+_000285_hash interpret_user_input 2 19393 _000285_hash NULL -+_000286_hash int_proc_write 3 39542 _000286_hash NULL -+_000287_hash ioctl_private_iw_point 7 1273 _000287_hash NULL -+_000288_hash iov_iter_copy_from_user 4 31942 _000288_hash NULL -+_000289_hash iov_iter_copy_from_user_atomic 4 56368 _000289_hash NULL -+_000290_hash iowarrior_write 3 18604 _000290_hash NULL -+_000291_hash ipc_alloc 1 1192 _000291_hash NULL -+_000292_hash ipc_rcu_alloc 1 21208 _000292_hash NULL -+_000293_hash ip_options_get_from_user 4 64958 _000293_hash NULL -+_000294_hash ipv6_renew_option 3 38813 _000294_hash NULL -+_000295_hash ip_vs_conn_fill_param_sync 6 29771 _001898_hash NULL nohasharray -+_000296_hash ip_vs_create_timeout_table 2 64478 _000296_hash NULL -+_000297_hash ipw_queue_tx_init 3 49161 _000297_hash NULL -+_000298_hash irda_setsockopt 5 19824 _000298_hash NULL -+_000299_hash irias_new_octseq_value 2 13596 _003821_hash NULL nohasharray -+_000300_hash irnet_ctrl_write 3 24139 _000300_hash NULL -+_000301_hash isdn_add_channels 3 40905 _000301_hash NULL -+_000302_hash isdn_ppp_fill_rq 2 41428 _000302_hash NULL -+_000303_hash isdn_ppp_write 4 29109 _000303_hash NULL -+_000304_hash isdn_read 3 50021 _000304_hash NULL -+_000305_hash isdn_v110_open 3 2418 _000305_hash NULL -+_000306_hash isdn_writebuf_stub 4 52383 _000306_hash NULL -+_000307_hash islpci_mgt_transmit 5 34133 _000307_hash NULL -+_000308_hash iso_callback 3 43208 _000308_hash NULL -+_000309_hash iso_packets_buffer_init 3-4 29061 _000309_hash NULL -+_000310_hash it821x_firmware_command 3 8628 _000310_hash NULL -+_000311_hash iwch_alloc_fastreg_pbl 2 40153 _000311_hash NULL -+_000312_hash iwl_calib_set 3 34400 _003754_hash NULL nohasharray -+_000313_hash jbd2_journal_init_revoke_table 1 36336 _000313_hash NULL -+_000314_hash jffs2_alloc_full_dirent 1 60179 _001158_hash NULL nohasharray -+_000315_hash journal_init_revoke_table 1 56331 _000315_hash NULL -+_000316_hash kcalloc 1-2 27770 _000316_hash NULL -+_000318_hash keyctl_instantiate_key_common 4 47889 _000318_hash NULL -+_000319_hash keyctl_update_key 3 26061 _000319_hash NULL -+_000320_hash __kfifo_alloc 2-3 22173 _000320_hash NULL -+_000322_hash kfifo_copy_from_user 3 5091 _000322_hash NULL -+_000323_hash kmalloc_node 1 50163 _003818_hash NULL nohasharray -+_000324_hash kmalloc_parameter 1 65279 _000324_hash NULL -+_000325_hash kmem_alloc 1 31920 _000325_hash NULL -+_000326_hash kobj_map 2-3 9566 _000326_hash NULL -+_000328_hash kone_receive 4 4690 _000328_hash NULL -+_000329_hash kone_send 4 63435 _000329_hash NULL -+_000330_hash krealloc 2 14908 _000330_hash NULL -+_000331_hash kvmalloc 1 32646 _000331_hash NULL -+_000332_hash kvm_read_guest_atomic 4 10765 _000332_hash NULL -+_000333_hash kvm_read_guest_cached 4 39666 _000333_hash NULL -+_000334_hash kvm_read_guest_page 5 18074 _000334_hash NULL -+_000335_hash kzalloc 1 54740 _000335_hash NULL -+_000336_hash l2cap_sock_setsockopt 5 50207 _000336_hash NULL -+_000337_hash l2cap_sock_setsockopt_old 4 29346 _000337_hash NULL -+_000338_hash lane2_associate_req 4 45398 _000338_hash NULL -+_000339_hash lbs_debugfs_write 3 48413 _000339_hash NULL -+_000340_hash lcd_write 3 14857 _000340_hash &_000015_hash -+_000341_hash ldm_frag_add 2 5611 _000341_hash NULL -+_000342_hash __lgread 4 31668 _000342_hash NULL -+_000343_hash libipw_alloc_txb 1-3-2 27579 _000343_hash NULL -+_000344_hash link_send_sections_long 4 46556 _000344_hash NULL -+_000345_hash listxattr 3 12769 _000345_hash NULL -+_000346_hash load_msg 2 95 _000346_hash NULL -+_000347_hash lpfc_debugfs_dif_err_write 3 17424 _000347_hash NULL -+_000348_hash lp_write 3 9511 _000348_hash NULL -+_000349_hash mb_cache_create 2 17307 _000349_hash NULL -+_000350_hash mce_write 3 26201 _000350_hash NULL -+_000351_hash mcs7830_get_reg 3 33308 _000351_hash NULL -+_000352_hash mcs7830_set_reg 3 31413 _000352_hash NULL -+_000353_hash memcpy_fromiovec 3 55247 _000353_hash NULL -+_000354_hash memcpy_fromiovecend 3-4 2707 _000354_hash NULL -+_000356_hash mempool_resize 2 47983 _002039_hash NULL nohasharray -+_000357_hash mem_rw 3 22085 _000357_hash NULL -+_000358_hash mgmt_control 3 7349 _000358_hash NULL -+_000359_hash mgmt_pending_add 5 46976 _000359_hash NULL -+_000360_hash mlx4_ib_alloc_fast_reg_page_list 2 46119 _000360_hash NULL -+_000361_hash mmc_alloc_sg 1 21504 _000361_hash NULL -+_000362_hash mmc_send_bus_test 4 18285 _000362_hash NULL -+_000363_hash mmc_send_cxd_data 5 38655 _000363_hash NULL -+_000364_hash module_alloc_update_bounds 1 47205 _000364_hash NULL -+_000365_hash move_addr_to_kernel 2 32673 _000365_hash NULL -+_000366_hash mpi_alloc_limb_space 1 23190 _000366_hash NULL -+_000367_hash mpi_resize 2 44674 _000367_hash NULL -+_000368_hash mptctl_getiocinfo 2 28545 _000368_hash NULL -+_000369_hash mtdchar_readoob 4 31200 _000369_hash NULL -+_000370_hash mtdchar_write 3 56831 _002122_hash NULL nohasharray -+_000371_hash mtdchar_writeoob 4 3393 _000371_hash NULL -+_000372_hash mtd_device_parse_register 5 5024 _000372_hash NULL -+_000373_hash mtf_test_write 3 18844 _000373_hash NULL -+_000374_hash mthca_alloc_icm_table 3-4 38268 _002459_hash NULL nohasharray -+_000376_hash mthca_alloc_init 2 21754 _000376_hash NULL -+_000377_hash mthca_array_init 2 39987 _000377_hash NULL -+_000378_hash mthca_buf_alloc 2 35861 _000378_hash NULL -+_000379_hash mtrr_write 3 59622 _000379_hash NULL -+_000380_hash musb_test_mode_write 3 33518 _000380_hash NULL -+_000381_hash mwifiex_get_common_rates 3 17131 _000381_hash NULL -+_000382_hash __mxt_write_reg 3 57326 _000382_hash NULL -+_000383_hash nand_bch_init 2-3 16280 _001439_hash NULL nohasharray -+_000385_hash ncp_file_write 3 3813 _000385_hash NULL -+_000386_hash ncp__vol2io 5 4804 _000386_hash NULL -+_000387_hash nes_alloc_fast_reg_page_list 2 33523 _000387_hash NULL -+_000388_hash nfc_targets_found 3 29886 _000388_hash NULL -+_000389_hash __nf_ct_ext_add_length 3 12364 _000389_hash NULL -+_000390_hash nfs4_acl_new 1 49806 _000390_hash NULL -+_000391_hash nfs4_write_cached_acl 4 15070 _000391_hash NULL -+_000392_hash nfsd_symlink 6 63442 _000392_hash NULL -+_000393_hash nfs_idmap_get_desc 2-4 42990 _000393_hash NULL -+_000395_hash nfs_readdir_make_qstr 3 12509 _000395_hash NULL -+_000396_hash note_last_dentry 3 12285 _000396_hash NULL -+_000397_hash ntfs_copy_from_user 3-5 15072 _000397_hash NULL -+_000399_hash __ntfs_copy_from_user_iovec_inatomic 3-4 38153 _000399_hash NULL -+_000401_hash ntfs_ucstonls 3-5 23097 _000401_hash NULL -+_000403_hash nvme_alloc_iod 1 56027 _000403_hash NULL -+_000404_hash nvram_write 3 3894 _000404_hash NULL -+_000405_hash o2hb_debug_create 4 18744 _000405_hash NULL -+_000406_hash o2net_send_message_vec 4 879 _002013_hash NULL nohasharray -+_000407_hash ocfs2_control_cfu 2 37750 _000407_hash NULL -+_000408_hash oom_adjust_write 3 41116 _000408_hash NULL -+_000409_hash oom_score_adj_write 3 42594 _000409_hash NULL -+_000410_hash oprofilefs_ulong_from_user 3 57251 _000410_hash NULL -+_000411_hash opticon_write 4 60775 _000411_hash NULL -+_000412_hash p9_check_zc_errors 4 15534 _000412_hash NULL -+_000413_hash packet_buffer_init 2 1607 _000413_hash NULL -+_000414_hash packet_setsockopt 5 17662 _000414_hash NULL -+_000415_hash parse_command 2 37079 _000415_hash NULL -+_000416_hash pcbit_writecmd 2 12332 _000416_hash NULL -+_000417_hash pcmcia_replace_cis 3 57066 _000417_hash NULL -+_000418_hash pgctrl_write 3 50453 _000418_hash NULL -+_000419_hash pg_write 3 40766 _000419_hash NULL -+_000420_hash pidlist_allocate 1 64404 _000420_hash NULL -+_000421_hash pipe_iov_copy_from_user 3 23102 _000421_hash NULL -+_000422_hash pipe_iov_copy_to_user 3 3447 _000422_hash NULL -+_000423_hash pkt_add 3 39897 _000423_hash NULL -+_000424_hash pktgen_if_write 3 55628 _000424_hash NULL -+_000425_hash platform_device_add_data 3 310 _000425_hash NULL -+_000426_hash platform_device_add_resources 3 13289 _000426_hash NULL -+_000427_hash pmcraid_copy_sglist 3 38431 _000427_hash NULL -+_000428_hash pm_qos_power_write 3 52513 _000428_hash NULL -+_000429_hash pnpbios_proc_write 3 19758 _000429_hash NULL -+_000430_hash pool_allocate 3 42012 _000430_hash NULL -+_000431_hash posix_acl_alloc 1 48063 _000431_hash NULL -+_000432_hash ppp_cp_parse_cr 4 5214 _000432_hash NULL -+_000433_hash ppp_write 3 34034 _000433_hash NULL -+_000434_hash pp_read 3 33210 _000434_hash NULL -+_000435_hash pp_write 3 39554 _000435_hash NULL -+_000436_hash printer_req_alloc 2 62687 _000436_hash NULL -+_000437_hash printer_write 3 60276 _000437_hash NULL -+_000438_hash prism2_info_scanresults 3 59729 _000438_hash NULL -+_000439_hash prism2_set_genericelement 3 29277 _000439_hash NULL -+_000440_hash __probe_kernel_read 3 61119 _000440_hash NULL -+_000441_hash __probe_kernel_write 3 29842 _000441_hash NULL -+_000442_hash proc_coredump_filter_write 3 25625 _000442_hash NULL -+_000443_hash _proc_do_string 2 6376 _000443_hash NULL -+_000444_hash process_vm_rw_pages 5-6 15954 _000444_hash NULL -+_000446_hash proc_loginuid_write 3 63648 _000446_hash NULL -+_000447_hash proc_pid_attr_write 3 63845 _000447_hash NULL -+_000448_hash proc_scsi_devinfo_write 3 32064 _000448_hash NULL -+_000449_hash proc_scsi_write 3 29142 _000449_hash NULL -+_000450_hash proc_scsi_write_proc 3 267 _000450_hash NULL -+_000451_hash pskb_expand_head 2-3 42881 _000451_hash NULL -+_000453_hash pstore_mkfile 5 50830 _000453_hash NULL -+_000454_hash pti_char_write 3 60960 _000454_hash NULL -+_000455_hash ptrace_writedata 4 45021 _000455_hash NULL -+_000456_hash pt_write 3 40159 _000456_hash NULL -+_000457_hash qdisc_class_hash_alloc 1 18262 _000457_hash NULL -+_000458_hash r3964_write 4 57662 _000458_hash NULL -+_000459_hash raw_seticmpfilter 3 6888 _000459_hash NULL -+_000460_hash raw_setsockopt 5 45800 _000460_hash NULL -+_000461_hash rawv6_seticmpfilter 5 12137 _000461_hash NULL -+_000462_hash ray_cs_essid_proc_write 3 17875 _000462_hash NULL -+_000463_hash rbd_add 3 16366 _000463_hash NULL -+_000464_hash rbd_snap_add 4 19678 _000464_hash NULL -+_000465_hash rdma_set_ib_paths 3 45592 _000465_hash NULL -+_000466_hash rds_page_copy_user 4 35691 _000466_hash NULL -+_000467_hash read 3 9397 _000467_hash NULL -+_000468_hash read_buf 2 20469 _000468_hash NULL -+_000469_hash read_cis_cache 4 29735 _000469_hash NULL -+_000470_hash realloc_buffer 2 25816 _000470_hash NULL -+_000471_hash receive_DataRequest 3 9904 _000471_hash NULL -+_000472_hash recent_mt_proc_write 3 8206 _000472_hash NULL -+_000473_hash regmap_access_read_file 3 37223 _000473_hash NULL -+_000474_hash regmap_bulk_write 4 59049 _000474_hash NULL -+_000475_hash regmap_map_read_file 3 37685 _000475_hash NULL -+_000476_hash regset_tls_set 4 18459 _000476_hash NULL -+_000477_hash reiserfs_add_entry 4 23062 _002792_hash NULL nohasharray -+_000478_hash remote_settings_file_write 3 22987 _000478_hash NULL -+_000479_hash request_key_auth_new 3 38092 _000479_hash NULL -+_000480_hash restore_i387_fxsave 2 17528 _000480_hash NULL -+_000481_hash revalidate 2 19043 _000481_hash NULL -+_000482_hash rfcomm_sock_setsockopt 5 18254 _000482_hash NULL -+_000483_hash rndis_add_response 2 58544 _000483_hash NULL -+_000484_hash rndis_set_oid 4 6547 _000484_hash NULL -+_000485_hash rngapi_reset 3 34366 _002137_hash NULL nohasharray -+_000486_hash roccat_common2_receive 4 50369 _000486_hash NULL -+_000487_hash roccat_common2_send 4 2422 _000487_hash NULL -+_000488_hash rpc_malloc 2 43573 _000488_hash NULL -+_000489_hash rt2x00debug_write_bbp 3 8212 _000489_hash NULL -+_000490_hash rt2x00debug_write_csr 3 64753 _000490_hash NULL -+_000491_hash rt2x00debug_write_eeprom 3 23091 _000491_hash NULL -+_000492_hash rt2x00debug_write_rf 3 38195 _000492_hash NULL -+_000493_hash rt2x00debug_write_rfcsr 3 41473 _000493_hash NULL -+_000494_hash rts51x_read_mem 4 26577 _002730_hash NULL nohasharray -+_000495_hash rts51x_read_status 4 11830 _000495_hash NULL -+_000496_hash rts51x_write_mem 4 17598 _000496_hash NULL -+_000497_hash rw_copy_check_uvector 3 45748 _003716_hash NULL nohasharray -+_000498_hash rxrpc_request_key 3 27235 _000498_hash NULL -+_000499_hash rxrpc_server_keyring 3 16431 _000499_hash NULL -+_000500_hash savemem 3 58129 _000500_hash NULL -+_000501_hash sb16_copy_from_user 10-7-6 55836 _000501_hash NULL -+_000504_hash sched_autogroup_write 3 10984 _000504_hash NULL -+_000505_hash scsi_mode_select 6 37330 _000505_hash NULL -+_000506_hash scsi_tgt_copy_sense 3 26933 _000506_hash NULL -+_000507_hash sctp_auth_create_key 1 51641 _000507_hash NULL -+_000508_hash sctp_getsockopt_delayed_ack 2 9232 _000508_hash NULL -+_000509_hash sctp_getsockopt_local_addrs 2 25178 _000509_hash NULL -+_000510_hash sctp_make_abort_user 3 29654 _000510_hash NULL -+_000511_hash sctp_setsockopt_active_key 3 43755 _000511_hash NULL -+_000512_hash sctp_setsockopt_adaptation_layer 3 26935 _003246_hash NULL nohasharray -+_000513_hash sctp_setsockopt_associnfo 3 51684 _000513_hash NULL -+_000514_hash sctp_setsockopt_auth_chunk 3 30843 _000514_hash NULL -+_000515_hash sctp_setsockopt_auth_key 3 3793 _000515_hash NULL -+_000516_hash sctp_setsockopt_autoclose 3 5775 _000516_hash NULL -+_000517_hash sctp_setsockopt_bindx 3 49870 _000517_hash NULL -+_000518_hash __sctp_setsockopt_connectx 3 46949 _000518_hash NULL -+_000519_hash sctp_setsockopt_context 3 31091 _000519_hash NULL -+_000520_hash sctp_setsockopt_default_send_param 3 49578 _000520_hash NULL -+_000521_hash sctp_setsockopt_delayed_ack 3 40129 _000521_hash NULL -+_000522_hash sctp_setsockopt_del_key 3 42304 _002709_hash NULL nohasharray -+_000523_hash sctp_setsockopt_events 3 18862 _000523_hash NULL -+_000524_hash sctp_setsockopt_hmac_ident 3 11687 _000524_hash NULL -+_000525_hash sctp_setsockopt_initmsg 3 1383 _000525_hash NULL -+_000526_hash sctp_setsockopt_maxburst 3 28041 _000526_hash NULL -+_000527_hash sctp_setsockopt_maxseg 3 11829 _000527_hash NULL -+_000528_hash sctp_setsockopt_peer_addr_params 3 734 _000528_hash NULL -+_000529_hash sctp_setsockopt_peer_primary_addr 3 13440 _000529_hash NULL -+_000530_hash sctp_setsockopt_rtoinfo 3 30941 _000530_hash NULL -+_000531_hash security_context_to_sid_core 2 29248 _000531_hash NULL -+_000532_hash sel_commit_bools_write 3 46077 _000532_hash NULL -+_000533_hash sel_write_avc_cache_threshold 3 2256 _000533_hash NULL -+_000534_hash sel_write_bool 3 46996 _000534_hash NULL -+_000535_hash sel_write_checkreqprot 3 60774 _000535_hash NULL -+_000536_hash sel_write_disable 3 10511 _000536_hash NULL -+_000537_hash sel_write_enforce 3 48998 _000537_hash NULL -+_000538_hash sel_write_load 3 63830 _000538_hash NULL -+_000539_hash send_bulk_static_data 3 61932 _000539_hash NULL -+_000540_hash set_aoe_iflist 2 42737 _000540_hash NULL -+_000541_hash setkey_unaligned 3 39474 _000541_hash NULL -+_000542_hash set_registers 3 53582 _000542_hash NULL -+_000543_hash setsockopt 5 54539 _000543_hash NULL -+_000544_hash setup_req 3 5848 _000544_hash NULL -+_000545_hash setxattr 4 37006 _000545_hash NULL -+_000546_hash sfq_alloc 1 2861 _000546_hash NULL -+_000547_hash sg_kmalloc 1 50240 _000547_hash NULL -+_000548_hash sgl_map_user_pages 2 30610 _000548_hash NULL -+_000549_hash shash_setkey_unaligned 3 8620 _000549_hash NULL -+_000550_hash shmem_xattr_alloc 2 61190 _000550_hash NULL -+_000551_hash sierra_setup_urb 5 46029 _000551_hash NULL -+_000552_hash simple_transaction_get 3 50633 _000552_hash NULL -+_000553_hash simple_write_to_buffer 2-5 3122 _000553_hash NULL -+_000555_hash sisusb_send_bulk_msg 3 17864 _000555_hash NULL -+_000556_hash skb_add_data 3 48363 _000556_hash NULL -+_000557_hash skb_do_copy_data_nocache 5 12465 _000557_hash NULL -+_000558_hash sl_alloc_bufs 2 50380 _000558_hash NULL -+_000559_hash sl_realloc_bufs 2 64086 _000559_hash NULL -+_000560_hash smk_set_cipso 3 20379 _000560_hash NULL -+_000561_hash smk_write_ambient 3 45691 _000561_hash NULL -+_000562_hash smk_write_direct 3 46363 _000562_hash NULL -+_000563_hash smk_write_doi 3 49621 _000563_hash NULL -+_000564_hash smk_write_logging 3 2618 _000564_hash NULL -+_000565_hash smk_write_mapped 3 13519 _000565_hash NULL -+_000566_hash smk_write_netlbladdr 3 42525 _000566_hash NULL -+_000567_hash smk_write_onlycap 3 14400 _000567_hash NULL -+_000568_hash smk_write_rules_list 3 18565 _000568_hash NULL -+_000569_hash snd_ctl_elem_user_tlv 3 11695 _000569_hash NULL -+_000570_hash snd_emu10k1_fx8010_read 5 9605 _000570_hash NULL -+_000571_hash snd_emu10k1_synth_copy_from_user 3-5 9061 _000571_hash NULL -+_000573_hash snd_gus_dram_poke 4 18525 _000573_hash NULL -+_000574_hash snd_hdsp_playback_copy 5 20676 _000574_hash NULL -+_000575_hash snd_info_entry_write 3 63474 _000575_hash NULL -+_000576_hash snd_korg1212_copy_from 6 36169 _000576_hash NULL -+_000577_hash snd_mem_proc_write 3 9786 _000577_hash NULL -+_000578_hash snd_midi_channel_init_set 1 30092 _000578_hash NULL -+_000579_hash snd_midi_event_new 1 9893 _000764_hash NULL nohasharray -+_000580_hash snd_opl4_mem_proc_write 5 9670 _000580_hash NULL -+_000581_hash snd_pcm_aio_read 3 13900 _000581_hash NULL -+_000582_hash snd_pcm_aio_write 3 28738 _000582_hash NULL -+_000583_hash snd_pcm_oss_write1 3 10872 _000583_hash NULL -+_000584_hash snd_pcm_oss_write2 3 27332 _000584_hash NULL -+_000585_hash snd_rawmidi_kernel_write1 4 56847 _000585_hash NULL -+_000586_hash snd_rme9652_playback_copy 5 20970 _000586_hash NULL -+_000587_hash snd_sb_csp_load_user 3 45190 _000587_hash NULL -+_000588_hash snd_usb_ctl_msg 8 8436 _000588_hash NULL -+_000589_hash sock_bindtodevice 3 50942 _000589_hash NULL -+_000590_hash sock_kmalloc 2 62205 _000590_hash NULL -+_000591_hash spidev_ioctl 2 12846 _000591_hash NULL -+_000592_hash spidev_write 3 44510 _000592_hash NULL -+_000593_hash squashfs_read_table 3 16945 _000593_hash NULL -+_000594_hash srpt_alloc_ioctx 2-3 51042 _000594_hash NULL -+_000596_hash srpt_alloc_ioctx_ring 2-4-3 49330 _000596_hash NULL -+_000597_hash st5481_setup_isocpipes 6-4 61340 _000597_hash NULL -+_000598_hash sta_agg_status_write 3 45164 _000598_hash NULL -+_000599_hash svc_setsockopt 5 36876 _000599_hash NULL -+_000600_hash sys_add_key 4 61288 _000600_hash NULL -+_000601_hash sys_modify_ldt 3 18824 _000601_hash NULL -+_000602_hash sys_semtimedop 3 4486 _000602_hash NULL -+_000603_hash sys_setdomainname 2 4373 _000603_hash NULL -+_000604_hash sys_sethostname 2 42962 _000604_hash NULL -+_000605_hash tomoyo_write_self 3 45161 _000605_hash NULL -+_000606_hash tower_write 3 8580 _000606_hash NULL -+_000607_hash tpm_write 3 50798 _000607_hash NULL -+_000608_hash trusted_instantiate 3 4710 _000608_hash NULL -+_000609_hash trusted_update 3 12664 _000609_hash NULL -+_000610_hash tty_buffer_alloc 2 45437 _000610_hash NULL -+_000611_hash __tun_chr_ioctl 4 22300 _000611_hash NULL -+_000612_hash ubi_more_leb_change_data 4 63534 _000612_hash NULL -+_000613_hash ubi_more_update_data 4 39189 _000613_hash NULL -+_000614_hash ubi_resize_volume 2 50172 _000614_hash NULL -+_000615_hash udf_alloc_i_data 2 35786 _000615_hash NULL -+_000616_hash uea_idma_write 3 64139 _000616_hash NULL -+_000617_hash uea_request 4 47613 _000617_hash NULL -+_000618_hash uea_send_modem_cmd 3 3888 _000618_hash NULL -+_000619_hash uio_write 3 43202 _000619_hash NULL -+_000620_hash um_idi_write 3 18293 _000620_hash NULL -+_000621_hash us122l_ctl_msg 8 13330 _000621_hash NULL -+_000622_hash usb_alloc_urb 1 43436 _000622_hash NULL -+_000623_hash usblp_new_writeurb 2 22894 _000623_hash NULL -+_000624_hash usblp_write 3 23178 _000624_hash NULL -+_000625_hash usbtest_alloc_urb 3-5 34446 _000625_hash NULL -+_000627_hash usbtmc_write 3 64340 _000627_hash NULL -+_000628_hash user_instantiate 3 26131 _000628_hash NULL -+_000629_hash user_update 3 41332 _000629_hash NULL -+_000630_hash uwb_rc_cmd_done 4 35892 _000630_hash NULL -+_000631_hash uwb_rc_neh_grok_event 3 55799 _000631_hash NULL -+_000632_hash v9fs_alloc_rdir_buf 2 42150 _000632_hash NULL -+_000633_hash vc_do_resize 3-4 48842 _000633_hash NULL -+_000635_hash vcs_write 3 3910 _000635_hash NULL -+_000636_hash vga_arb_write 3 36112 _000636_hash NULL -+_000637_hash vga_switcheroo_debugfs_write 3 33984 _000637_hash NULL -+_000638_hash vhci_get_user 3 45039 _000638_hash NULL -+_000639_hash video_proc_write 3 6724 _000639_hash NULL -+_000640_hash vlsi_alloc_ring 3-4 57003 _000640_hash NULL -+_000642_hash __vmalloc 1 61168 _000642_hash NULL -+_000643_hash vmalloc_32 1 1135 _000643_hash NULL -+_000644_hash vmalloc_32_user 1 37519 _000644_hash NULL -+_000645_hash vmalloc_exec 1 36132 _000645_hash NULL -+_000646_hash vmalloc_node 1 58700 _000646_hash NULL -+_000647_hash __vmalloc_node_flags 1 30352 _000647_hash NULL -+_000648_hash vmalloc_user 1 32308 _000648_hash NULL -+_000649_hash vol_cdev_direct_write 3 20751 _000649_hash NULL -+_000650_hash vp_request_msix_vectors 2 28849 _000650_hash NULL -+_000651_hash vring_add_indirect 3-4 20737 _000651_hash NULL -+_000653_hash vring_new_virtqueue 1 9671 _000653_hash NULL -+_000654_hash vxge_os_dma_malloc 2 46184 _000654_hash NULL -+_000655_hash vxge_os_dma_malloc_async 3 56348 _000655_hash NULL -+_000656_hash wdm_write 3 53735 _000656_hash NULL -+_000657_hash wiimote_hid_send 3 48528 _000657_hash NULL -+_000658_hash wlc_phy_loadsampletable_nphy 3 64367 _000658_hash NULL -+_000659_hash write 3 62671 _000659_hash NULL -+_000660_hash write_flush 3 50803 _000660_hash NULL -+_000661_hash write_rio 3 54837 _000661_hash NULL -+_000662_hash x25_asy_change_mtu 2 26928 _000662_hash NULL -+_000663_hash xdi_copy_from_user 4 8395 _000663_hash NULL -+_000664_hash xfrm_dst_alloc_copy 3 3034 _000664_hash NULL -+_000665_hash xfrm_user_policy 4 62573 _000665_hash NULL -+_000666_hash xfs_attrmulti_attr_set 4 59346 _000666_hash NULL -+_000667_hash xfs_handle_to_dentry 3 12135 _000667_hash NULL -+_000668_hash xip_file_read 3 58592 _000668_hash NULL -+_000669_hash __xip_file_write 3-4 2733 _000669_hash NULL -+_000671_hash xprt_rdma_allocate 2 31372 _000671_hash NULL -+_000672_hash zd_usb_iowrite16v_async 3 23984 _000672_hash NULL -+_000673_hash zd_usb_read_fw 4 22049 _000673_hash NULL -+_000674_hash zerocopy_sg_from_iovec 3 11828 _000674_hash NULL -+_000675_hash __a2mp_build 3 60987 _000675_hash NULL -+_000677_hash acpi_ex_allocate_name_string 2-1 7685 _001169_hash NULL nohasharray -+_000678_hash acpi_os_allocate_zeroed 1 37422 _000678_hash NULL -+_000679_hash acpi_ut_initialize_buffer 2 47143 _002830_hash NULL nohasharray -+_000680_hash ad7879_spi_xfer 3 36311 _000680_hash NULL -+_000681_hash add_new_gdb 3 27643 _000681_hash NULL -+_000682_hash add_numbered_child 5 14273 _000682_hash NULL -+_000683_hash add_res_range 4 21310 _000683_hash NULL -+_000684_hash addtgt 3 54703 _000684_hash NULL -+_000685_hash add_uuid 4 49831 _000685_hash NULL -+_000686_hash afs_cell_alloc 2 24052 _000686_hash NULL -+_000687_hash aggr_recv_addba_req_evt 4 38037 _000687_hash NULL -+_000688_hash agp_create_memory 1 1075 _000688_hash NULL -+_000689_hash agp_create_user_memory 1 62955 _000689_hash NULL -+_000690_hash alg_setsockopt 5 20985 _000690_hash NULL -+_000691_hash alloc_async 1 14208 _000691_hash NULL -+_000692_hash ___alloc_bootmem_nopanic 1 53626 _000692_hash NULL -+_000693_hash alloc_buf 1 34532 _000693_hash NULL -+_000694_hash alloc_chunk 1 49575 _000694_hash NULL -+_000695_hash alloc_context 1 41283 _000695_hash NULL -+_000696_hash alloc_ctrl_packet 1 44667 _000696_hash NULL -+_000697_hash alloc_data_packet 1 46698 _000697_hash NULL -+_000698_hash alloc_dca_provider 2 59670 _000698_hash NULL -+_000699_hash __alloc_dev_table 2 54343 _000699_hash NULL -+_000700_hash alloc_ep 1 17269 _000700_hash NULL -+_000701_hash __alloc_extent_buffer 3 15093 _000701_hash NULL -+_000702_hash alloc_group_attrs 2 9194 _000727_hash NULL nohasharray -+_000703_hash alloc_large_system_hash 2 22391 _000703_hash NULL -+_000704_hash alloc_netdev_mqs 1 30030 _000704_hash NULL -+_000705_hash __alloc_objio_seg 1 7203 _000705_hash NULL -+_000706_hash alloc_ring 2-4 15345 _000706_hash NULL -+_000707_hash alloc_ring 2-4 39151 _000707_hash NULL -+_000710_hash alloc_session 1-2 64171 _000710_hash NULL -+_000714_hash alloc_skb 1 55439 _000714_hash NULL -+_000715_hash alloc_skb_fclone 1 3467 _000715_hash NULL -+_000716_hash alloc_smp_req 1 51337 _000716_hash NULL -+_000717_hash alloc_smp_resp 1 3566 _000717_hash NULL -+_000718_hash alloc_ts_config 1 45775 _000718_hash NULL -+_000719_hash alloc_upcall 2 62186 _000719_hash NULL -+_000720_hash altera_drscan 2 48698 _000720_hash NULL -+_000721_hash altera_irscan 2 62396 _000721_hash NULL -+_000722_hash altera_set_dr_post 2 54291 _000722_hash NULL -+_000723_hash altera_set_dr_pre 2 64862 _000723_hash NULL -+_000724_hash altera_set_ir_post 2 20948 _000724_hash NULL -+_000725_hash altera_set_ir_pre 2 54103 _000725_hash NULL -+_000726_hash altera_swap_dr 2 50090 _000726_hash NULL -+_000727_hash altera_swap_ir 2 9194 _000727_hash &_000702_hash -+_000728_hash amd_create_gatt_pages 1 20537 _000728_hash NULL -+_000729_hash aoechr_write 3 62883 _003674_hash NULL nohasharray -+_000730_hash applesmc_create_nodes 2 49392 _000730_hash NULL -+_000731_hash array_zalloc 1-2 7519 _000731_hash NULL -+_000733_hash arvo_sysfs_read 6 31617 _000733_hash NULL -+_000734_hash arvo_sysfs_write 6 3311 _000734_hash NULL -+_000735_hash asd_store_update_bios 4 10165 _000735_hash NULL -+_000736_hash ata_host_alloc 2 46094 _000736_hash NULL -+_000737_hash atalk_sendmsg 4 21677 _000737_hash NULL -+_000738_hash ath6kl_cfg80211_connect_event 7-9-8 13443 _000738_hash NULL -+_000739_hash ath6kl_mgmt_tx 9 21153 _000739_hash NULL -+_000740_hash ath6kl_wmi_proc_events_vif 5 42549 _003190_hash NULL nohasharray -+_000741_hash ath6kl_wmi_roam_tbl_event_rx 3 43440 _000741_hash NULL -+_000742_hash ath6kl_wmi_send_mgmt_cmd 7 17347 _000742_hash NULL -+_000743_hash ath_descdma_setup 5 12257 _000743_hash NULL -+_000744_hash ath_rx_edma_init 2 65483 _000744_hash NULL -+_000745_hash ati_create_gatt_pages 1 4722 _003275_hash NULL nohasharray -+_000746_hash audit_expand 2 2098 _000746_hash NULL -+_000747_hash audit_init_entry 1 38644 _000747_hash NULL -+_000748_hash ax25_sendmsg 4 62770 _000748_hash NULL -+_000749_hash b1_alloc_card 1 36155 _000749_hash NULL -+_000750_hash b43_nphy_load_samples 3 36481 _000750_hash NULL -+_000751_hash batadv_orig_hash_add_if 2 10033 _000751_hash NULL -+_000752_hash batadv_orig_hash_del_if 2 48972 _000752_hash NULL -+_000753_hash batadv_tt_append_diff 4 20588 _000753_hash NULL -+_000754_hash batadv_tt_commit_changes 4 2008 _000754_hash NULL -+_000755_hash batadv_tt_prepare_packet_buff 4 1280 _000755_hash NULL -+_000756_hash bio_copy_user_iov 4 37660 _000756_hash NULL -+_000757_hash __bio_map_kern 3 47379 _000757_hash NULL -+_000758_hash bitmap_resize 2 33054 _000758_hash NULL -+_000759_hash blk_check_plugged 3 50736 _000759_hash NULL -+_000760_hash blk_register_region 1-2 51424 _000760_hash NULL -+_000762_hash bm_entry_write 3 28338 _000762_hash NULL -+_000763_hash bm_realloc_pages 2 9431 _000763_hash NULL -+_000764_hash bm_register_write 3 9893 _000764_hash &_000579_hash -+_000765_hash bm_status_write 3 12964 _000765_hash NULL -+_000766_hash br_mdb_rehash 2 42643 _000766_hash NULL -+_000767_hash btmrvl_sdio_host_to_card 3 12152 _000767_hash NULL -+_000768_hash btrfs_copy_from_user 1-3 43806 _000768_hash NULL -+_000770_hash btrfs_insert_delayed_dir_index 4 63720 _000770_hash NULL -+_000771_hash __btrfs_map_block 3 49839 _000771_hash NULL -+_000772_hash c4iw_init_resource 2-3 30393 _000772_hash NULL -+_000774_hash cache_downcall 3 13666 _000774_hash NULL -+_000775_hash cache_slow_downcall 2 8570 _000775_hash NULL -+_000776_hash caif_seqpkt_sendmsg 4 22961 _000776_hash NULL -+_000777_hash caif_stream_sendmsg 4 9110 _000777_hash NULL -+_000778_hash carl9170_cmd_buf 3 950 _000778_hash NULL -+_000779_hash cdev_add 2-3 38176 _000779_hash NULL -+_000781_hash cdrom_read_cdda 4 50478 _000781_hash NULL -+_000782_hash ceph_dns_resolve_name 2 62488 _000782_hash NULL -+_000783_hash ceph_msgpool_get 2 54258 _000783_hash NULL -+_000784_hash cfg80211_connect_result 4-6 56515 _000784_hash NULL -+_000786_hash cfg80211_disconnected 4 57 _000786_hash NULL -+_000787_hash cfg80211_inform_bss 8 19332 _000787_hash NULL -+_000788_hash cfg80211_inform_bss_frame 4 41078 _000788_hash NULL -+_000789_hash cfg80211_mlme_register_mgmt 5 19852 _000789_hash NULL -+_000790_hash cfg80211_roamed_bss 4-6 50198 _000790_hash NULL -+_000792_hash cgroup_file_write 3 52417 _000792_hash NULL -+_000793_hash cifs_readdata_alloc 1 26360 _000793_hash NULL -+_000794_hash cifs_readv_from_socket 3 19109 _000794_hash NULL -+_000795_hash cifs_writedata_alloc 1 32880 _003097_hash NULL nohasharray -+_000796_hash cnic_alloc_dma 3 34641 _000796_hash NULL -+_000797_hash cnic_init_id_tbl 2 41354 _000797_hash NULL -+_000798_hash configfs_write_file 3 61621 _000798_hash NULL -+_000799_hash construct_key 3 11329 _000799_hash NULL -+_000800_hash context_alloc 3 24645 _000800_hash NULL -+_000801_hash copy_to_user 3 57835 _000801_hash NULL -+_000802_hash cp210x_get_config 4 56229 _000802_hash NULL -+_000803_hash create_attr_set 1 22861 _000803_hash NULL -+_000804_hash create_bounce_buffer 3 39155 _000804_hash NULL -+_000805_hash create_gpadl_header 2 19064 _000805_hash NULL -+_000806_hash _create_sg_bios 4 31244 _000806_hash NULL -+_000807_hash cryptd_alloc_instance 2-3 18048 _000807_hash NULL -+_000809_hash crypto_ahash_setkey 3 55134 _000809_hash NULL -+_000810_hash crypto_alloc_instance2 3 25277 _000810_hash NULL -+_000811_hash crypto_shash_setkey 3 60483 _000811_hash NULL -+_000812_hash cxgb_alloc_mem 1 24007 _000812_hash NULL -+_000813_hash cxgbi_device_portmap_create 3 25747 _000813_hash NULL -+_000814_hash cxgbi_device_register 1-2 36746 _000814_hash NULL -+_000816_hash __cxio_init_resource_fifo 3 23447 _000816_hash NULL -+_000817_hash dccp_sendmsg 4 56058 _000817_hash NULL -+_000818_hash ddp_make_gl 1 12179 _000818_hash NULL -+_000819_hash depth_write 3 3021 _000819_hash NULL -+_000820_hash dev_irnet_write 3 11398 _000820_hash NULL -+_000821_hash dev_set_alias 3 50084 _000821_hash NULL -+_000822_hash dev_write 3 7708 _000822_hash NULL -+_000823_hash dfs_global_file_write 3 6112 _000823_hash NULL -+_000824_hash dgram_sendmsg 4 45679 _000824_hash NULL -+_000825_hash disconnect 4 32521 _000825_hash NULL -+_000826_hash dma_attach 6-7 50831 _000826_hash NULL -+_000828_hash dma_declare_coherent_memory 4-2 14244 _000828_hash NULL -+_000829_hash dn_sendmsg 4 38390 _000829_hash NULL -+_000830_hash dn_setsockopt 5 314 _000830_hash NULL -+_000831_hash do_arpt_set_ctl 4 51053 _000831_hash NULL -+_000832_hash do_dccp_setsockopt 5 54377 _003195_hash NULL nohasharray -+_000833_hash do_ip6t_set_ctl 4 60040 _000833_hash NULL -+_000834_hash do_ipt_set_ctl 4 56238 _000834_hash NULL -+_000835_hash do_jffs2_setxattr 5 25910 _000835_hash NULL -+_000836_hash do_msgsnd 4 1387 _000836_hash NULL -+_000837_hash do_pselect 1 62061 _000837_hash NULL -+_000838_hash do_raw_setsockopt 5 55215 _000838_hash NULL -+_000839_hash do_readv_writev 4 51849 _000839_hash NULL -+_000840_hash do_sync 1 9604 _000840_hash NULL -+_000841_hash dup_array 3 33551 _000841_hash NULL -+_000842_hash ecryptfs_decode_and_decrypt_filename 5 10379 _000842_hash NULL -+_000843_hash ecryptfs_encrypt_and_encode_filename 6 2109 _000843_hash NULL -+_000844_hash ecryptfs_send_message_locked 2 31801 _000844_hash NULL -+_000845_hash edac_device_alloc_ctl_info 1 5941 _000845_hash NULL -+_000846_hash edac_mc_alloc 4 3611 _000846_hash NULL -+_000847_hash edac_pci_alloc_ctl_info 1 63388 _000847_hash NULL -+_000848_hash efivar_create_sysfs_entry 2 19485 _000848_hash NULL -+_000849_hash enable_write 3 30456 _000849_hash NULL -+_000850_hash enclosure_register 3 57412 _000850_hash NULL -+_000851_hash enlarge_skb 2 44248 _002839_hash NULL nohasharray -+_000852_hash evdev_ioctl_handler 2 21705 _000852_hash NULL -+_000853_hash ext4_kvzalloc 1 47605 _000853_hash NULL -+_000854_hash extend_netdev_table 2 21453 _000854_hash NULL -+_000855_hash fcoe_ctlr_device_add 3 1793 _000855_hash NULL -+_000856_hash fd_do_readv 3 51297 _000856_hash NULL -+_000857_hash fd_do_writev 3 29329 _000857_hash NULL -+_000858_hash __feat_register_sp 6 64712 _000858_hash NULL -+_000859_hash __ffs_ep0_read_events 3 48868 _000859_hash NULL -+_000860_hash ffs_ep0_write 3 9438 _000860_hash NULL -+_000861_hash ffs_epfile_read 3 18775 _000861_hash NULL -+_000862_hash ffs_epfile_write 3 48014 _000862_hash NULL -+_000863_hash fib_info_hash_alloc 1 9075 _000863_hash NULL -+_000864_hash fillonedir 3 41746 _000864_hash NULL -+_000865_hash fs_devrw_entry 3 11924 _000865_hash NULL -+_000866_hash fs_path_prepare_for_add 2 61854 _000866_hash NULL -+_000867_hash fuse_fill_write_pages 4 53682 _000867_hash NULL -+_000868_hash fw_device_op_ioctl 2 11595 _000868_hash NULL -+_000869_hash fw_iso_buffer_init 3 54582 _000869_hash NULL -+_000870_hash fw_node_create 2 9559 _000870_hash NULL -+_000871_hash garmin_read_process 3 27509 _000871_hash NULL -+_000872_hash garp_request_join 4 7471 _000872_hash NULL -+_000873_hash generic_perform_write 3 54832 _000873_hash NULL -+_000874_hash gen_pool_add_virt 4 39913 _000874_hash NULL -+_000875_hash get_derived_key 4 61100 _000875_hash NULL -+_000876_hash get_new_cssid 2 51665 _000876_hash NULL -+_000877_hash getxattr 4 24398 _003758_hash NULL nohasharray -+_000878_hash gsm_control_reply 4 53333 _000878_hash NULL -+_000879_hash hcd_alloc_coherent 5 55862 _000879_hash NULL -+_000880_hash hci_sock_sendmsg 4 37420 _000880_hash NULL -+_000881_hash hidraw_ioctl 2 63658 _000881_hash NULL -+_000882_hash hidraw_write 3 31536 _000882_hash NULL -+_000883_hash hid_register_field 2-3 4874 _000883_hash NULL -+_000885_hash hid_report_raw_event 4 2762 _000885_hash NULL -+_000886_hash hpi_alloc_control_cache 1 35351 _000886_hash NULL -+_000887_hash hugetlbfs_read_actor 2-5-4 34547 _000887_hash NULL -+_000890_hash hvc_alloc 4 12579 _000890_hash NULL -+_000891_hash __hwahc_dev_set_key 5 46328 _000891_hash NULL -+_000892_hash i2400m_zrealloc_2x 3 54166 _001549_hash NULL nohasharray -+_000893_hash ib_alloc_device 1 26483 _000893_hash NULL -+_000894_hash ib_create_send_mad 5 1196 _000894_hash NULL -+_000895_hash ibmasm_new_command 2 25714 _000895_hash NULL -+_000896_hash ib_send_cm_drep 3 50186 _000896_hash NULL -+_000897_hash ib_send_cm_mra 4 60202 _003063_hash NULL nohasharray -+_000898_hash ib_send_cm_rtu 3 63138 _000898_hash NULL -+_000899_hash ide_core_cp_entry 3 22636 _000899_hash NULL -+_000900_hash ieee80211_if_write_smps 3 35550 _000900_hash NULL -+_000901_hash ieee80211_if_write_tkip_mic_test 3 58748 _000901_hash NULL -+_000902_hash ieee80211_if_write_tsf 3 36077 _000902_hash NULL -+_000903_hash ieee80211_if_write_uapsd_max_sp_len 3 14233 _000903_hash NULL -+_000904_hash ieee80211_if_write_uapsd_queues 3 51526 _000904_hash NULL -+_000905_hash ieee80211_key_alloc 3 19065 _000905_hash NULL -+_000906_hash ieee80211_send_probe_req 6-4 6924 _000906_hash NULL -+_000907_hash ieee80211_skb_resize 3 50211 _000907_hash NULL -+_000908_hash if_spi_host_to_card 4 62890 _000908_hash NULL -+_000909_hash if_writecmd 2 815 _000909_hash NULL -+_000910_hash init_bch 1-2 64130 _000910_hash NULL -+_000912_hash init_ipath 1 48187 _000912_hash NULL -+_000913_hash init_list_set 2-3 39188 _000913_hash NULL -+_000915_hash init_q 4 132 _000915_hash NULL -+_000916_hash init_state 2 60165 _000916_hash NULL -+_000917_hash init_tag_map 3 57515 _000917_hash NULL -+_000918_hash input_ff_create 2 21240 _000918_hash NULL -+_000919_hash input_mt_init_slots 2 31183 _000919_hash NULL -+_000920_hash interfaces 2 38859 _000920_hash NULL -+_000921_hash int_hardware_entry 3 36833 _000921_hash NULL -+_000922_hash int_hw_irq_en 3 46776 _000922_hash NULL -+_000923_hash int_tasklet_entry 3 52500 _000923_hash NULL -+_000924_hash ioat2_alloc_ring 2 11172 _000924_hash NULL -+_000925_hash ip_generic_getfrag 3-4 12187 _000925_hash NULL -+_000927_hash ip_options_get_alloc 1 7448 _000927_hash NULL -+_000928_hash ipr_alloc_ucode_buffer 1 40199 _000928_hash NULL -+_000929_hash ip_set_alloc 1 57953 _000929_hash NULL -+_000930_hash ip_setsockopt 5 33487 _000930_hash NULL -+_000931_hash ipv6_flowlabel_opt 3 58135 _001179_hash NULL nohasharray -+_000932_hash ipv6_renew_options 5 28867 _000932_hash NULL -+_000933_hash ipv6_setsockopt 5 29871 _000933_hash NULL -+_000934_hash ipxrtr_route_packet 4 54036 _000934_hash NULL -+_000935_hash irda_sendmsg 4 4388 _000935_hash NULL -+_000936_hash irda_sendmsg_dgram 4 38563 _000936_hash NULL -+_000937_hash irda_sendmsg_ultra 4 42047 _000937_hash NULL -+_000938_hash irias_add_octseq_attrib 4 29983 _000938_hash NULL -+_000939_hash irq_alloc_generic_chip 2 26650 _000939_hash NULL -+_000940_hash iscsi_alloc_session 3 49390 _000940_hash NULL -+_000941_hash iscsi_create_conn 2 50425 _000941_hash NULL -+_000942_hash iscsi_create_endpoint 1 15193 _000942_hash NULL -+_000943_hash iscsi_create_iface 5 38510 _000943_hash NULL -+_000944_hash iscsi_decode_text_input 4 58292 _000944_hash NULL -+_000945_hash iscsi_pool_init 2-4 54913 _000945_hash NULL -+_000947_hash iscsit_dump_data_payload 2 38683 _000947_hash NULL -+_000948_hash isdn_write 3 45863 _000948_hash NULL -+_000949_hash isku_receive 4 54130 _000949_hash NULL -+_000950_hash islpci_mgt_transaction 5 23610 _000950_hash NULL -+_000951_hash iso_alloc_urb 4-5 45206 _000951_hash NULL -+_000952_hash iso_sched_alloc 1 13377 _003325_hash NULL nohasharray -+_000953_hash iwl_trans_txq_alloc 3 36147 _000953_hash NULL -+_000954_hash ixgbe_alloc_q_vector 4-6 24439 _000954_hash NULL -+_000956_hash jbd2_journal_init_revoke 2 51088 _000956_hash NULL -+_000957_hash jffs2_write_dirent 5 37311 _000957_hash NULL -+_000958_hash journal_init_revoke 2 56933 _000958_hash NULL -+_000959_hash keyctl_instantiate_key 3 41855 _000959_hash NULL -+_000960_hash keyctl_instantiate_key_iov 3 16969 _000960_hash NULL -+_000961_hash __kfifo_from_user 3 20399 _000961_hash NULL -+_000962_hash kimage_crash_alloc 3 3233 _000962_hash NULL -+_000963_hash kimage_normal_alloc 3 31140 _000963_hash NULL -+_000964_hash kmem_realloc 2 37489 _000964_hash NULL -+_000965_hash kmem_zalloc 1 11510 _000965_hash NULL -+_000966_hash koneplus_sysfs_read 6 42792 _000966_hash NULL -+_000967_hash kvm_kvzalloc 1 52894 _000967_hash NULL -+_000968_hash kvm_read_guest_page_mmu 6 37611 _000968_hash NULL -+_000969_hash kvm_set_irq_routing 3 48704 _000969_hash NULL -+_000970_hash kvm_write_guest_cached 4 11106 _000970_hash NULL -+_000971_hash kvm_write_guest_page 5 63555 _002812_hash NULL nohasharray -+_000972_hash kzalloc_node 1 24352 _000972_hash NULL -+_000973_hash l2cap_skbuff_fromiovec 3-4 35003 _000973_hash NULL -+_000975_hash l2tp_ip_sendmsg 4 50411 _000975_hash NULL -+_000976_hash l2tp_session_create 1 25286 _000976_hash NULL -+_000977_hash lc_create 3 48662 _000977_hash NULL -+_000978_hash leaf_dealloc 3 29566 _000978_hash NULL -+_000979_hash linear_conf 2 23485 _003837_hash NULL nohasharray -+_000980_hash llc_ui_sendmsg 4 24987 _000980_hash NULL -+_000981_hash load_module 2 60056 _003010_hash NULL nohasharray -+_000982_hash lpfc_sli4_queue_alloc 3 62646 _000982_hash NULL -+_000983_hash mdiobus_alloc_size 1 52259 _000983_hash NULL -+_000984_hash mempool_create_node 1 3191 _000984_hash NULL -+_000985_hash mem_read 3 57631 _000985_hash NULL -+_000986_hash memstick_alloc_host 1 142 _000986_hash NULL -+_000987_hash mem_swapout_entry 3 32586 _000987_hash NULL -+_000988_hash mem_write 3 22232 _000988_hash NULL -+_000989_hash mesh_table_alloc 1 22305 _000989_hash NULL -+_000990_hash mfd_add_devices 4 16668 _000990_hash NULL -+_000991_hash mISDN_sock_sendmsg 4 41035 _000991_hash NULL -+_000992_hash mlx4_init_icm_table 4-5 2151 _000992_hash NULL -+_000994_hash mmc_alloc_host 1 48097 _000994_hash NULL -+_000995_hash mmc_test_alloc_mem 2-3 28102 _000995_hash NULL -+_000997_hash mon_bin_ioctl 3 2771 _000997_hash NULL -+_000998_hash mpi_alloc 1 18094 _000998_hash NULL -+_000999_hash mpihelp_mul_karatsuba_case 5-3 23918 _003061_hash NULL nohasharray -+_001000_hash __mptctl_ioctl 2 15875 _001000_hash NULL -+_001001_hash mtd_concat_create 2 14416 _001001_hash NULL -+_001002_hash mthca_alloc_cq_buf 3 46512 _001002_hash NULL -+_001003_hash mvumi_alloc_mem_resource 3 47750 _001003_hash NULL -+_001004_hash mwifiex_11n_create_rx_reorder_tbl 4 63806 _001004_hash NULL -+_001005_hash mwifiex_alloc_sdio_mpa_buffers 2-3 60961 _001005_hash NULL -+_001007_hash mwl8k_cmd_set_beacon 4 23110 _001007_hash NULL -+_001008_hash neigh_hash_alloc 1 17595 _001008_hash NULL -+_001009_hash __netdev_alloc_skb 2 18595 _001009_hash NULL -+_001010_hash __netlink_change_ngroups 2 46156 _001010_hash NULL -+_001011_hash netlink_sendmsg 4 33708 _001236_hash NULL nohasharray -+_001012_hash netxen_alloc_sds_rings 2 13417 _001012_hash NULL -+_001013_hash new_bind_ctl 2 35324 _001013_hash NULL -+_001014_hash new_dir 3 31919 _001014_hash NULL -+_001015_hash new_tape_buffer 2 32866 _001015_hash NULL -+_001016_hash nfc_llcp_build_tlv 3 19536 _001016_hash NULL -+_001017_hash nfc_llcp_send_i_frame 3 59130 _001017_hash NULL -+_001018_hash nf_ct_ext_create 3 51232 _001018_hash NULL -+_001019_hash nfs4_alloc_pages 1 48426 _001019_hash NULL -+_001020_hash nfs4_alloc_slots 1 2454 _003345_hash NULL nohasharray -+_001021_hash nfsctl_transaction_write 3 64800 _001021_hash NULL -+_001022_hash nfs_fscache_get_super_cookie 3 44355 _001850_hash NULL nohasharray -+_001023_hash nfs_idmap_request_key 3 30208 _001023_hash NULL -+_001024_hash nfs_pgarray_set 2 1085 _001024_hash NULL -+_001025_hash nl_pid_hash_zalloc 1 23314 _001025_hash NULL -+_001026_hash nr_sendmsg 4 53656 _001026_hash NULL -+_001027_hash nsm_create_handle 4 38060 _001027_hash NULL -+_001028_hash ntfs_copy_from_user_iovec 3-6 49829 _001028_hash NULL -+_001030_hash ntfs_file_buffered_write 4-6 41442 _001030_hash NULL -+_001032_hash __ntfs_malloc 1 34022 _001032_hash NULL -+_001033_hash nvme_alloc_queue 3 46865 _001033_hash NULL -+_001034_hash nvme_map_user_pages 3-4 41093 _001639_hash NULL nohasharray -+_001036_hash ocfs2_acl_from_xattr 2 21604 _001036_hash NULL -+_001037_hash ocfs2_control_message 3 19564 _001037_hash NULL -+_001038_hash _ore_get_io_state 3-5-4 2166 _001038_hash NULL -+_001041_hash orinoco_set_key 5-7 17878 _001041_hash NULL -+_001043_hash osdmap_set_max_osd 2 57630 _002267_hash NULL nohasharray -+_001044_hash _osd_realloc_seg 3 54352 _001044_hash NULL -+_001045_hash osst_execute 7-6 17607 _001045_hash NULL -+_001046_hash osst_write 3 31581 _001046_hash NULL -+_001047_hash otp_read 2-5-4 10594 _001047_hash NULL -+_001050_hash ovs_vport_alloc 1 33475 _001050_hash NULL -+_001051_hash p54_parse_rssical 3 64493 _001051_hash NULL -+_001052_hash p9_client_zc_rpc 7 14345 _001052_hash NULL -+_001053_hash packet_sendmsg_spkt 4 28885 _001053_hash NULL -+_001054_hash pair_device 4 61175 _003161_hash NULL nohasharray -+_001055_hash pccard_store_cis 6 18176 _001055_hash NULL -+_001056_hash pci_add_cap_save_buffer 3 3426 _001056_hash NULL -+_001057_hash pcnet32_realloc_rx_ring 3 36598 _001057_hash NULL -+_001058_hash pcnet32_realloc_tx_ring 3 38428 _001058_hash NULL -+_001059_hash pcpu_mem_zalloc 1 22948 _001059_hash NULL -+_001060_hash pep_sendmsg 4 62524 _001060_hash NULL -+_001061_hash pfkey_sendmsg 4 47394 _001061_hash NULL -+_001062_hash pidlist_resize 2 496 _001062_hash NULL -+_001063_hash pin_code_reply 4 46510 _001063_hash NULL -+_001064_hash ping_getfrag 3-4 8360 _001064_hash NULL -+_001066_hash pipe_set_size 2 5204 _001066_hash NULL -+_001067_hash pkt_bio_alloc 1 48284 _001067_hash NULL -+_001068_hash platform_create_bundle 4-6 12785 _001068_hash NULL -+_001070_hash pm8001_store_update_fw 4 55716 _001070_hash NULL -+_001071_hash pmcraid_alloc_sglist 1 9864 _001071_hash NULL -+_001072_hash pn533_dep_link_up 5 22154 _001072_hash NULL -+_001073_hash pn533_init_target_frame 3 65438 _001073_hash NULL -+_001074_hash pnp_alloc 1 24869 _001538_hash NULL nohasharray -+_001075_hash pn_sendmsg 4 12640 _001075_hash NULL -+_001076_hash pppoe_sendmsg 4 48039 _001076_hash NULL -+_001077_hash pppol2tp_sendmsg 4 56420 _001077_hash NULL -+_001078_hash prism2_info_hostscanresults 3 39657 _001078_hash NULL -+_001079_hash process_vm_rw 3-5 47533 _001079_hash NULL -+_001081_hash process_vm_rw_single_vec 1-2 26213 _001081_hash NULL -+_001083_hash proc_write 3 51003 _001083_hash NULL -+_001084_hash profile_load 3 58267 _001084_hash NULL -+_001085_hash profile_remove 3 8556 _001085_hash NULL -+_001086_hash profile_replace 3 14652 _001086_hash NULL -+_001087_hash pscsi_get_bio 1 56103 _001087_hash NULL -+_001088_hash __pskb_copy 2 9038 _001088_hash NULL -+_001089_hash __pskb_pull_tail 2 60287 _001089_hash NULL -+_001090_hash qla4xxx_alloc_work 2 44813 _001090_hash NULL -+_001091_hash qlcnic_alloc_msix_entries 2 46160 _001091_hash NULL -+_001092_hash qlcnic_alloc_sds_rings 2 26795 _001092_hash NULL -+_001093_hash queue_received_packet 5 9657 _001093_hash NULL -+_001094_hash raw_send_hdrinc 4 58803 _001094_hash NULL -+_001095_hash raw_sendmsg 4 23078 _003316_hash NULL nohasharray -+_001096_hash rawsock_sendmsg 4 60010 _001096_hash NULL -+_001097_hash rawv6_send_hdrinc 3 35425 _001097_hash NULL -+_001098_hash rawv6_setsockopt 5 56165 _001098_hash NULL -+_001099_hash rb_alloc 1 3102 _001099_hash NULL -+_001100_hash rbd_alloc_coll 1 33678 _001100_hash NULL -+_001101_hash rbd_create_rw_ops 1 55297 _001101_hash NULL -+_001102_hash rds_ib_inc_copy_to_user 3 55007 _001102_hash NULL -+_001103_hash rds_iw_inc_copy_to_user 3 29214 _001103_hash NULL -+_001104_hash rds_message_alloc 1 10517 _001104_hash NULL -+_001105_hash rds_message_copy_from_user 3 45510 _001105_hash NULL -+_001106_hash rds_message_inc_copy_to_user 3 26540 _001106_hash NULL -+_001107_hash regcache_rbtree_insert_to_block 5 58009 _001107_hash NULL -+_001108_hash _regmap_raw_write 4 42652 _001108_hash NULL -+_001109_hash regmap_register_patch 3 21681 _001109_hash NULL -+_001110_hash relay_alloc_page_array 1 52735 _001110_hash NULL -+_001111_hash remove_uuid 4 64505 _001111_hash NULL -+_001112_hash reshape_ring 2 29147 _001112_hash NULL -+_001113_hash RESIZE_IF_NEEDED 2 56286 _001113_hash NULL -+_001114_hash resize_info_buffer 2 62889 _001114_hash NULL -+_001115_hash resize_stripes 2 61650 _001115_hash NULL -+_001116_hash rfcomm_sock_sendmsg 4 37661 _003661_hash NULL nohasharray -+_001117_hash roccat_common2_send_with_status 4 50343 _001117_hash NULL -+_001118_hash rose_sendmsg 4 20249 _001118_hash NULL -+_001119_hash rsc_mgr_init 3 16299 _001119_hash NULL -+_001120_hash rxrpc_send_data 5 21553 _001120_hash NULL -+_001121_hash rxrpc_setsockopt 5 50286 _001121_hash NULL -+_001122_hash savu_sysfs_read 6 49473 _001122_hash NULL -+_001124_hash sco_send_frame 3 41815 _001124_hash NULL -+_001125_hash scsi_dispatch_cmd_entry 3 49848 _001125_hash NULL -+_001126_hash scsi_host_alloc 2 63041 _001126_hash NULL -+_001127_hash scsi_tgt_kspace_exec 8 9522 _001127_hash NULL -+_001128_hash sctp_sendmsg 4 61919 _001128_hash NULL -+_001129_hash sctp_setsockopt 5 44788 _001129_hash NULL -+_001130_hash sctp_setsockopt_connectx 3 6073 _001130_hash NULL -+_001131_hash sctp_setsockopt_connectx_old 3 22631 _001131_hash NULL -+_001132_hash sctp_tsnmap_grow 2 32784 _001132_hash NULL -+_001133_hash sctp_tsnmap_init 2 36446 _001133_hash NULL -+_001134_hash sctp_user_addto_chunk 2-3 62047 _001134_hash NULL -+_001136_hash security_context_to_sid 2 19839 _001136_hash NULL -+_001137_hash security_context_to_sid_default 2 3492 _003841_hash NULL nohasharray -+_001138_hash security_context_to_sid_force 2 20724 _001138_hash NULL -+_001139_hash self_check_write 5 50856 _001139_hash NULL -+_001140_hash selinux_transaction_write 3 59038 _001140_hash NULL -+_001141_hash sel_write_access 3 51704 _001141_hash NULL -+_001142_hash sel_write_create 3 11353 _001142_hash NULL -+_001143_hash sel_write_member 3 28800 _001143_hash NULL -+_001144_hash sel_write_relabel 3 55195 _001144_hash NULL -+_001145_hash sel_write_user 3 45060 _001145_hash NULL -+_001146_hash __seq_open_private 3 40715 _001146_hash NULL -+_001147_hash serverworks_create_gatt_pages 1 46582 _001147_hash NULL -+_001148_hash set_connectable 4 56458 _001148_hash NULL -+_001149_hash set_dev_class 4 39645 _001921_hash NULL nohasharray -+_001150_hash set_discoverable 4 48141 _001150_hash NULL -+_001151_hash set_fd_set 1 35249 _001151_hash NULL -+_001152_hash setkey 3 14987 _001152_hash NULL -+_001153_hash set_le 4 30581 _001153_hash NULL -+_001154_hash set_link_security 4 4502 _001154_hash NULL -+_001155_hash set_local_name 4 55757 _001155_hash NULL -+_001156_hash set_powered 4 12129 _001156_hash NULL -+_001157_hash set_ssp 4 62411 _001157_hash NULL -+_001158_hash sg_build_sgat 3 60179 _001158_hash &_000314_hash -+_001159_hash sg_read_oxfer 3 51724 _001159_hash NULL -+_001160_hash shmem_xattr_set 4 11843 _001160_hash NULL -+_001161_hash simple_alloc_urb 3 60420 _001161_hash NULL -+_001162_hash sisusb_send_bridge_packet 2 11649 _001162_hash NULL -+_001163_hash sisusb_send_packet 2 20891 _001163_hash NULL -+_001164_hash sisusb_write_mem_bulk 4 29678 _001164_hash NULL -+_001165_hash skb_add_data_nocache 4 4682 _001165_hash NULL -+_001166_hash skb_copy_datagram_from_iovec 2-5-4 52014 _001166_hash NULL -+_001169_hash skb_copy_expand 2-3 7685 _001169_hash &_000677_hash -+_001171_hash skb_copy_to_page_nocache 6 58624 _001171_hash NULL -+_001172_hash __skb_cow 2 39254 _001172_hash NULL -+_001173_hash skb_cow_data 2 11565 _001173_hash NULL -+_001174_hash skb_pad 2 17302 _001174_hash NULL -+_001175_hash skb_realloc_headroom 2 19516 _001175_hash NULL -+_001176_hash sk_chk_filter 2 42095 _001176_hash NULL -+_001177_hash skcipher_sendmsg 4 30290 _001177_hash NULL -+_001178_hash sl_change_mtu 2 7396 _001178_hash NULL -+_001179_hash slhc_init 1-2 58135 _001179_hash &_000931_hash -+_001181_hash sm501_create_subdev 3-4 48668 _001245_hash NULL nohasharray -+_001183_hash smk_user_access 3 24440 _001183_hash NULL -+_001184_hash smk_write_cipso2 3 1021 _001184_hash NULL -+_001185_hash smk_write_cipso 3 17989 _001185_hash NULL -+_001186_hash smk_write_load2 3 52155 _001186_hash NULL -+_001187_hash smk_write_load 3 26829 _001187_hash NULL -+_001188_hash smk_write_load_self2 3 591 _001188_hash NULL -+_001189_hash smk_write_load_self 3 7958 _001189_hash NULL -+_001190_hash snapshot_write 3 28351 _001190_hash NULL -+_001191_hash snd_ac97_pcm_assign 2 30218 _001191_hash NULL -+_001192_hash snd_card_create 4 64418 _001529_hash NULL nohasharray -+_001193_hash snd_emux_create_port 3 42533 _001193_hash NULL -+_001194_hash snd_gus_dram_write 4 38784 _001194_hash NULL -+_001195_hash snd_midi_channel_alloc_set 1 28153 _001195_hash NULL -+_001196_hash _snd_pcm_lib_alloc_vmalloc_buffer 2 17820 _001196_hash NULL -+_001197_hash snd_pcm_oss_sync1 2 45298 _001197_hash NULL -+_001198_hash snd_pcm_oss_write 3 38108 _001198_hash NULL -+_001199_hash snd_pcm_plugin_build 5 25505 _001199_hash NULL -+_001200_hash snd_rawmidi_kernel_write 3 25106 _001200_hash NULL -+_001201_hash snd_rawmidi_write 3 28008 _001201_hash NULL -+_001202_hash snd_rme32_playback_copy 5 43732 _001202_hash NULL -+_001203_hash snd_rme96_playback_copy 5 13111 _001203_hash NULL -+_001204_hash snd_seq_device_new 4 31753 _001204_hash NULL -+_001205_hash snd_seq_oss_readq_new 2 14283 _001205_hash NULL -+_001206_hash snd_vx_create 4 40948 _001206_hash NULL -+_001207_hash sock_setsockopt 5 50088 _001207_hash NULL -+_001208_hash sound_write 3 5102 _001208_hash NULL -+_001209_hash _sp2d_alloc 1-3-2 16944 _001209_hash NULL -+_001212_hash spi_alloc_master 2 45223 _001212_hash NULL -+_001213_hash spidev_message 3 5518 _001213_hash NULL -+_001214_hash spi_register_board_info 2 35651 _001214_hash NULL -+_001215_hash squashfs_cache_init 2 41656 _001215_hash NULL -+_001216_hash squashfs_read_data 6 59440 _001216_hash NULL -+_001217_hash squashfs_read_fragment_index_table 4 2506 _001217_hash NULL -+_001218_hash squashfs_read_id_index_table 4 61961 _001218_hash NULL -+_001219_hash squashfs_read_inode_lookup_table 4 64739 _001219_hash NULL -+_001220_hash srp_alloc_iu 2 44227 _001220_hash NULL -+_001221_hash srp_iu_pool_alloc 2 17920 _001221_hash NULL -+_001222_hash srp_ring_alloc 2 26760 _001222_hash NULL -+_001226_hash start_isoc_chain 2 565 _001226_hash NULL -+_001227_hash st_write 3 16874 _001227_hash NULL -+_001228_hash svc_pool_map_alloc_arrays 2 47181 _001228_hash NULL -+_001229_hash symtab_init 2 61050 _001229_hash NULL -+_001230_hash sys_bind 3 10799 _001230_hash NULL -+_001231_hash sys_connect 3 15291 _003816_hash NULL nohasharray -+_001232_hash sys_flistxattr 3 41407 _001232_hash NULL -+_001233_hash sys_fsetxattr 4 49736 _001233_hash NULL -+_001234_hash sysfs_write_file 3 57116 _001234_hash NULL -+_001235_hash sys_ipc 3 4889 _001235_hash NULL -+_001236_hash sys_keyctl 4 33708 _001236_hash &_001011_hash -+_001237_hash sys_listxattr 3 27833 _001237_hash NULL -+_001238_hash sys_llistxattr 3 4532 _001238_hash NULL -+_001239_hash sys_lsetxattr 4 61177 _001239_hash NULL -+_001240_hash sys_mq_timedsend 3 57661 _001240_hash NULL -+_001241_hash sys_sched_setaffinity 2 32046 _001241_hash NULL -+_001242_hash sys_select 1 38827 _001242_hash NULL -+_001243_hash sys_semop 3 39457 _001243_hash NULL -+_001244_hash sys_sendto 6 20809 _001244_hash NULL -+_001245_hash sys_setgroups 1 48668 _001245_hash &_001181_hash -+_001246_hash sys_setgroups16 1 48882 _001246_hash NULL -+_001247_hash sys_setxattr 4 37880 _001247_hash NULL -+_001248_hash t4_alloc_mem 1 32342 _001248_hash NULL -+_001249_hash tcf_hash_create 4 54360 _001249_hash NULL -+_001250_hash tcp_send_rcvq 3 11316 _001250_hash NULL -+_001251_hash __team_options_register 3 63941 _001251_hash NULL -+_001252_hash test_unaligned_bulk 3 52333 _001252_hash NULL -+_001253_hash tifm_alloc_adapter 1 10903 _001253_hash NULL -+_001254_hash timeout_write 3 50991 _001254_hash NULL -+_001255_hash timeradd_entry 3 49850 _001255_hash NULL -+_001256_hash tipc_link_send_sections_fast 4 37920 _001256_hash NULL -+_001257_hash tipc_subseq_alloc 1 5957 _001257_hash NULL -+_001258_hash tnode_alloc 1 49407 _001258_hash NULL -+_001259_hash tomoyo_commit_ok 2 20167 _001259_hash NULL -+_001260_hash tomoyo_scan_bprm 2-4 15642 _003488_hash NULL nohasharray -+_001262_hash tps6586x_writes 3 58689 _001262_hash NULL -+_001263_hash tty_buffer_find 2 2443 _001263_hash NULL -+_001264_hash tty_write 3 5494 _001264_hash NULL -+_001265_hash ubifs_setxattr 4 59650 _001477_hash NULL nohasharray -+_001266_hash ubi_self_check_all_ff 4 41959 _001266_hash NULL -+_001267_hash udf_sb_alloc_partition_maps 2 62313 _001267_hash NULL -+_001268_hash udplite_getfrag 3-4 14479 _001268_hash NULL -+_001270_hash ulong_write_file 3 26485 _001270_hash NULL -+_001271_hash unix_stream_sendmsg 4 61455 _001271_hash NULL -+_001272_hash unlink_queued 3-4 645 _001272_hash NULL -+_001273_hash update_pmkid 4 2481 _001273_hash NULL -+_001274_hash usb_alloc_coherent 2 65444 _001274_hash NULL -+_001275_hash vc_resize 2-3 3585 _001275_hash NULL -+_001277_hash vhci_write 3 2224 _001277_hash NULL -+_001278_hash __vhost_add_used_n 3 26554 _001278_hash NULL -+_001279_hash virtqueue_add_buf 3-4 59470 _001279_hash NULL -+_001281_hash vmalloc 1 15464 _001281_hash NULL -+_001282_hash vol_cdev_write 3 40915 _001282_hash NULL -+_001283_hash vxge_device_register 4 7752 _001283_hash NULL -+_001284_hash __vxge_hw_blockpool_malloc 2 5786 _001284_hash NULL -+_001285_hash __vxge_hw_channel_allocate 3 55462 _001285_hash NULL -+_001286_hash vzalloc 1 47421 _001286_hash NULL -+_001287_hash vzalloc_node 1 23424 _001287_hash NULL -+_001288_hash wa_nep_queue 2 8858 _001288_hash NULL -+_001289_hash __wa_xfer_setup_segs 2 56725 _001289_hash NULL -+_001290_hash wiphy_new 2 2482 _001290_hash NULL -+_001291_hash wm8350_block_write 3 19727 _001291_hash NULL -+_001292_hash wpan_phy_alloc 1 48056 _001292_hash NULL -+_001293_hash write_flush_pipefs 3 2021 _001293_hash NULL -+_001294_hash write_flush_procfs 3 44011 _001294_hash NULL -+_001295_hash wusb_ccm_mac 7 32199 _001295_hash NULL -+_001296_hash x25_sendmsg 4 12487 _001296_hash NULL -+_001297_hash xfrm_hash_alloc 1 10997 _001297_hash NULL -+_001298_hash _xfs_buf_get_pages 2 46811 _001298_hash NULL -+_001299_hash xfs_da_grow_inode_int 3 21785 _001299_hash NULL -+_001300_hash xfs_dir_cilookup_result 3 64288 _003160_hash NULL nohasharray -+_001301_hash xfs_idata_realloc 2 26199 _001301_hash NULL -+_001302_hash xfs_iext_add_indirect_multi 3 32400 _001302_hash NULL -+_001303_hash xfs_iext_inline_to_direct 2 12384 _001303_hash NULL -+_001304_hash xfs_iformat_local 4 49472 _001304_hash NULL -+_001305_hash xfs_iroot_realloc 2 46826 _001305_hash NULL -+_001306_hash xhci_alloc_stream_info 3 63902 _001306_hash NULL -+_001307_hash xlog_recover_add_to_trans 4 62839 _001307_hash NULL -+_001308_hash xprt_alloc 2 1475 _001308_hash NULL -+_001309_hash xt_alloc_table_info 1 57903 _001309_hash NULL -+_001310_hash _zd_iowrite32v_async_locked 3 39034 _001310_hash NULL -+_001311_hash zd_usb_iowrite16v 3 49744 _001311_hash NULL -+_001312_hash a2mp_send 4 41615 _001312_hash NULL -+_001313_hash acpi_ds_build_internal_package_obj 3 58271 _001313_hash NULL -+_001314_hash acpi_system_read_event 3 55362 _001314_hash NULL -+_001315_hash acpi_ut_create_buffer_object 1 42030 _001315_hash NULL -+_001316_hash acpi_ut_create_package_object 1 17594 _001316_hash NULL -+_001317_hash acpi_ut_create_string_object 1 15360 _001317_hash NULL -+_001318_hash ad7879_spi_multi_read 3 8218 _001318_hash NULL -+_001319_hash add_child 4 45201 _001319_hash NULL -+_001320_hash add_port 2 54941 _001320_hash NULL -+_001321_hash adu_read 3 24177 _001321_hash NULL -+_001322_hash afs_cell_create 2 27346 _001322_hash NULL -+_001323_hash agp_allocate_memory 2 58761 _001323_hash NULL -+_001324_hash agp_generic_alloc_user 1 9470 _001324_hash NULL -+_001325_hash alc_auto_create_extra_outs 2 18975 _001325_hash NULL -+_001326_hash alloc_agpphysmem_i8xx 1 39427 _001326_hash NULL -+_001327_hash allocate_cnodes 1 5329 _001327_hash NULL -+_001328_hash ___alloc_bootmem 1 11410 _001328_hash NULL -+_001329_hash __alloc_bootmem_low_node 2 25726 _001662_hash NULL nohasharray -+_001330_hash __alloc_bootmem_node 2 1992 _001330_hash NULL -+_001331_hash __alloc_bootmem_node_nopanic 2 6432 _001331_hash NULL -+_001332_hash __alloc_bootmem_nopanic 1 65397 _001332_hash NULL -+_001333_hash alloc_candev 1-2 7776 _001333_hash NULL -+_001335_hash _alloc_cdb_cont 2 23609 _001335_hash NULL -+_001336_hash alloc_dummy_extent_buffer 2 56374 _001336_hash NULL -+_001337_hash ____alloc_ei_netdev 1 51475 _001337_hash NULL -+_001338_hash alloc_etherdev_mqs 1 36450 _001338_hash NULL -+_001339_hash alloc_extent_buffer 3 52824 _001339_hash NULL -+_001340_hash alloc_fcdev 1 18780 _001340_hash NULL -+_001341_hash alloc_fddidev 1 15382 _001341_hash NULL -+_001342_hash _alloc_get_attr_desc 2 470 _001342_hash NULL -+_001343_hash alloc_hippi_dev 1 51320 _001343_hash NULL -+_001344_hash alloc_irdadev 1 19140 _001344_hash NULL -+_001345_hash alloc_ldt 2 21972 _001345_hash NULL -+_001346_hash alloc_ltalkdev 1 38071 _001346_hash NULL -+_001347_hash alloc_one_pg_vec_page 1 10747 _001347_hash NULL -+_001348_hash alloc_orinocodev 1 21371 _001348_hash NULL -+_001349_hash alloc_ring 2-4 18278 _001349_hash NULL -+_001351_hash _alloc_set_attr_list 4 48991 _001351_hash NULL -+_001353_hash alloc_tx 2 32143 _001353_hash NULL -+_001354_hash alloc_wr 1-2 24635 _001354_hash NULL -+_001356_hash async_setkey 3 35521 _001356_hash NULL -+_001357_hash ata_host_alloc_pinfo 3 17325 _001357_hash NULL -+_001360_hash ath6kl_connect_event 7-9-8 14267 _001360_hash NULL -+_001361_hash ath6kl_fwlog_block_read 3 49836 _001361_hash NULL -+_001362_hash ath6kl_fwlog_read 3 32101 _001362_hash NULL -+_001363_hash ath9k_wmi_cmd 4 327 _001363_hash NULL -+_001364_hash ath_rx_init 2 43564 _001364_hash NULL -+_001365_hash ath_tx_init 2 60515 _001365_hash NULL -+_001366_hash atm_alloc_charge 2 19517 _001914_hash NULL nohasharray -+_001367_hash atm_get_addr 3 31221 _001367_hash NULL -+_001368_hash audit_log_n_hex 3 45617 _001368_hash NULL -+_001369_hash audit_log_n_string 3 31705 _001369_hash NULL -+_001370_hash ax25_output 2 22736 _001370_hash NULL -+_001371_hash bcsp_prepare_pkt 3 12961 _001371_hash NULL -+_001372_hash bdx_rxdb_create 1 46525 _001372_hash NULL -+_001373_hash bdx_tx_db_init 2 41719 _001373_hash NULL -+_001374_hash bio_map_kern 3 64751 _001374_hash NULL -+_001375_hash bits_to_user 2-3 47733 _001375_hash NULL -+_001377_hash __blk_queue_init_tags 2 9778 _001377_hash NULL -+_001378_hash blk_queue_resize_tags 2 28670 _001378_hash NULL -+_001379_hash blk_rq_map_user_iov 5 16772 _001379_hash NULL -+_001380_hash bm_init 2 13529 _001380_hash NULL -+_001381_hash brcmf_alloc_wdev 1 60347 _001381_hash NULL -+_001382_hash __btrfs_buffered_write 3 35311 _002735_hash NULL nohasharray -+_001383_hash btrfs_insert_dir_item 4 59304 _001383_hash NULL -+_001384_hash btrfs_map_block 3 64379 _001384_hash NULL -+_001385_hash bt_skb_alloc 1 6404 _001385_hash NULL -+_001386_hash c4_add_card 3 54968 _001386_hash NULL -+_001387_hash cache_read 3 24790 _001387_hash NULL -+_001388_hash cache_write 3 13589 _001388_hash NULL -+_001389_hash calc_hmac 3 32010 _001389_hash NULL -+_001390_hash capinc_tty_write 3 28539 _001390_hash NULL -+_001391_hash ccid_getsockopt_builtin_ccids 2 53634 _001391_hash NULL -+_001392_hash ceph_copy_page_vector_to_user 3-4 31270 _001392_hash NULL -+_001394_hash ceph_parse_server_name 2 60318 _001394_hash NULL -+_001395_hash ceph_read_dir 3 17005 _001395_hash NULL -+_001396_hash cfg80211_roamed 5-7 32632 _001396_hash NULL -+_001398_hash cfpkt_add_body 3 44630 _001398_hash NULL -+_001399_hash cfpkt_create_pfx 1-2 23594 _001399_hash NULL -+_001401_hash cmd_complete 6 51629 _001401_hash NULL -+_001402_hash cmtp_add_msgpart 4 9252 _001402_hash NULL -+_001403_hash cmtp_send_interopmsg 7 376 _001403_hash NULL -+_001404_hash coda_psdev_read 3 35029 _001404_hash NULL -+_001405_hash construct_key_and_link 4 8321 _001405_hash NULL -+_001406_hash copy_counters_to_user 5 17027 _001406_hash NULL -+_001407_hash copy_entries_to_user 1 52367 _001407_hash NULL -+_001408_hash copy_from_buf 2-4 27308 _001408_hash NULL -+_001410_hash copy_oldmem_page 3-1 26164 _001410_hash NULL -+_001411_hash copy_to_user_fromio 3 57432 _001411_hash NULL -+_001412_hash cryptd_hash_setkey 3 42781 _001412_hash NULL -+_001413_hash crypto_authenc_esn_setkey 3 6985 _001413_hash NULL -+_001414_hash crypto_authenc_setkey 3 80 _001414_hash NULL -+_001415_hash cxgb3_get_cpl_reply_skb 2 10620 _001415_hash NULL -+_001416_hash cxgbi_ddp_reserve 4 30091 _001416_hash NULL -+_001417_hash cxio_init_resource_fifo 3 28764 _001417_hash NULL -+_001418_hash cxio_init_resource_fifo_random 3 47151 _001418_hash NULL -+_001419_hash datablob_hmac_append 3 40038 _001419_hash NULL -+_001420_hash datablob_hmac_verify 4 24786 _001420_hash NULL -+_001421_hash dataflash_read_fact_otp 3-2 33204 _001421_hash NULL -+_001422_hash dataflash_read_user_otp 3-2 14536 _001422_hash &_000207_hash -+_001423_hash dccp_feat_register_sp 5 17914 _001423_hash NULL -+_001424_hash dccp_setsockopt 5 60367 _001424_hash NULL -+_001425_hash __dev_alloc_skb 1 28681 _001425_hash NULL -+_001426_hash disk_expand_part_tbl 2 30561 _001426_hash NULL -+_001427_hash diva_os_alloc_message_buffer 1 64568 _001427_hash NULL -+_001428_hash diva_os_copy_to_user 4 48508 _001428_hash NULL -+_001429_hash diva_os_malloc 2 16406 _001429_hash NULL -+_001430_hash dmam_declare_coherent_memory 4-2 43679 _001430_hash NULL -+_001431_hash dm_vcalloc 1-2 16814 _001431_hash NULL -+_001433_hash dn_alloc_skb 2 6631 _001433_hash NULL -+_001434_hash do_proc_readlink 3 14096 _001434_hash NULL -+_001435_hash do_readlink 2 43518 _001435_hash NULL -+_001436_hash __do_replace 5 37227 _001436_hash NULL -+_001437_hash do_sigpending 2 9766 _001437_hash NULL -+_001438_hash drbd_bm_resize 2 20522 _001438_hash NULL -+_001439_hash drbd_setsockopt 5 16280 _001439_hash &_000383_hash -+_001440_hash dump_midi 3 51040 _001440_hash NULL -+_001441_hash ecryptfs_filldir 3 6622 _001441_hash NULL -+_001442_hash ecryptfs_send_message 2 18322 _001442_hash NULL -+_001443_hash ep0_read 3 38095 _001443_hash NULL -+_001444_hash evdev_ioctl 2 22371 _001444_hash NULL -+_001445_hash ext4_add_new_descs 3 19509 _001445_hash NULL -+_001446_hash fat_ioctl_filldir 3 36621 _001446_hash NULL -+_001447_hash _fc_frame_alloc 1 43568 _001447_hash NULL -+_001448_hash fc_host_post_vendor_event 3 30903 _001448_hash NULL -+_001449_hash fd_copyout 3 59323 _001449_hash NULL -+_001450_hash f_hidg_read 3 6238 _001450_hash NULL -+_001451_hash filldir 3 55137 _001451_hash NULL -+_001452_hash filldir64 3 46469 _001452_hash NULL -+_001453_hash find_skb 2 20431 _001453_hash NULL -+_001454_hash from_buffer 3 18625 _001454_hash NULL -+_001455_hash fsm_init 2 16134 _001455_hash NULL -+_001456_hash fs_path_add 3 15648 _001456_hash NULL -+_001457_hash fs_path_add_from_extent_buffer 4 27702 _001457_hash NULL -+_001458_hash fuse_perform_write 4 18457 _001458_hash NULL -+_001459_hash gem_alloc_skb 2 51715 _001459_hash NULL -+_001460_hash generic_file_buffered_write 4 25464 _001460_hash NULL -+_001461_hash gen_pool_add 3 21776 _001461_hash NULL -+_001462_hash get_packet 3 41914 _001462_hash NULL -+_001463_hash get_packet 3 5747 _001463_hash NULL -+_001464_hash get_packet_pg 4 28023 _001464_hash NULL -+_001465_hash get_skb 2 63008 _001465_hash NULL -+_001466_hash get_subdir 3 62581 _001466_hash NULL -+_001467_hash gsm_control_message 4 18209 _001467_hash NULL -+_001468_hash gsm_control_modem 3 55303 _001468_hash NULL -+_001469_hash gsm_control_rls 3 3353 _001469_hash NULL -+_001470_hash handle_received_packet 3 22457 _001470_hash NULL -+_001471_hash hash_setkey 3 48310 _001471_hash NULL -+_001472_hash hdlcdrv_register 2 6792 _001472_hash NULL -+_001473_hash hiddev_ioctl 2 36816 _001473_hash NULL -+_001474_hash hid_input_report 4 32458 _001474_hash NULL -+_001475_hash hidp_queue_report 3 1881 _001475_hash NULL -+_001476_hash __hidp_send_ctrl_message 4 28303 _001476_hash NULL -+_001477_hash hidraw_read 3 59650 _001477_hash &_001265_hash -+_001478_hash HiSax_readstatus 2 15752 _001478_hash NULL -+_001480_hash __hwahc_op_set_gtk 4 42038 _001480_hash NULL -+_001481_hash __hwahc_op_set_ptk 5 36510 _001481_hash NULL -+_001482_hash hycapi_rx_capipkt 3 11602 _001482_hash NULL -+_001483_hash i2400m_net_rx 5 27170 _001483_hash NULL -+_001484_hash ib_copy_to_udata 3 27525 _001484_hash NULL -+_001485_hash idetape_chrdev_read 3 2097 _001485_hash NULL -+_001486_hash ieee80211_alloc_hw 1 43829 _001486_hash NULL -+_001487_hash ieee80211_bss_info_update 4 13991 _001487_hash NULL -+_001488_hash igmpv3_newpack 2 35912 _001488_hash NULL -+_001489_hash ilo_read 3 32531 _001489_hash NULL -+_001490_hash init_map_ipmac 3-4 63896 _001490_hash NULL -+_001492_hash init_tid_tabs 2-4-3 13252 _001492_hash NULL -+_001495_hash iowarrior_read 3 53483 _001495_hash NULL -+_001496_hash ip_options_get 4 56538 _001496_hash NULL -+_001497_hash ipv6_getsockopt_sticky 5 56711 _001497_hash NULL -+_001498_hash ipwireless_send_packet 4 8328 _001498_hash NULL -+_001499_hash ipx_sendmsg 4 1362 _001499_hash NULL -+_001500_hash irq_domain_add_linear 2 29236 _001500_hash NULL -+_001501_hash iscsi_conn_setup 2 35159 _001501_hash NULL -+_001502_hash iscsi_create_session 3 51647 _001502_hash NULL -+_001503_hash iscsi_host_alloc 2 36671 _001503_hash NULL -+_001504_hash iscsi_if_send_reply 7 52219 _001504_hash NULL -+_001505_hash iscsi_offload_mesg 5 58425 _001505_hash NULL -+_001506_hash iscsi_ping_comp_event 5 38263 _001506_hash NULL -+_001507_hash iscsi_post_host_event 4 13473 _001507_hash NULL -+_001508_hash iscsi_recv_pdu 4 16755 _001508_hash NULL -+_001509_hash iscsi_session_setup 4-5 196 _001509_hash NULL -+_001511_hash iscsit_find_cmd_from_itt_or_dump 3 17194 _003122_hash NULL nohasharray -+_001512_hash isdn_net_ciscohdlck_alloc_skb 2 55209 _001951_hash NULL nohasharray -+_001513_hash isdn_ppp_ccp_xmit_reset 6 63297 _001513_hash NULL -+_001514_hash isdn_ppp_read 4 50356 _001514_hash NULL -+_001515_hash isdn_ppp_skb_push 2 5236 _001515_hash NULL -+_001516_hash isku_sysfs_read 6 58806 _001516_hash NULL -+_001517_hash isku_sysfs_write 6 49767 _001517_hash NULL -+_001520_hash jbd2_alloc 1 41359 _001520_hash NULL -+_001521_hash jffs2_do_link 6 42048 _001521_hash NULL -+_001522_hash jffs2_do_unlink 4 62020 _001522_hash NULL -+_001523_hash jffs2_security_setxattr 4 62107 _001523_hash NULL -+_001524_hash jffs2_trusted_setxattr 4 17048 _001524_hash NULL -+_001525_hash jffs2_user_setxattr 4 10182 _001525_hash NULL -+_001526_hash joydev_ioctl_common 2 49359 _001526_hash NULL -+_001527_hash kernel_setsockopt 5 35913 _001527_hash NULL -+_001528_hash keyctl_describe_key 3 36853 _001528_hash NULL -+_001529_hash keyctl_get_security 3 64418 _001529_hash &_001192_hash -+_001530_hash keyring_read 3 13438 _001530_hash NULL -+_001531_hash kfifo_copy_to_user 3 20646 _001531_hash NULL -+_001532_hash kmem_zalloc_large 1 56128 _001532_hash NULL -+_001533_hash kmp_init 2 41373 _001533_hash NULL -+_001534_hash koneplus_sysfs_write 6 35993 _001534_hash NULL -+_001535_hash kvm_clear_guest_page 4 2308 _001535_hash NULL -+_001536_hash kvm_read_nested_guest_page 5 13337 _001536_hash NULL -+_001537_hash _l2_alloc_skb 1 11883 _001537_hash NULL -+_001538_hash l2cap_create_basic_pdu 3 24869 _001538_hash &_001074_hash -+_001539_hash l2cap_create_connless_pdu 3 37327 _001539_hash NULL -+_001540_hash l2cap_create_iframe_pdu 3 40055 _001540_hash NULL -+_001541_hash l3_alloc_skb 1 32289 _001541_hash NULL -+_001542_hash __lgwrite 4 57669 _001542_hash NULL -+_001543_hash libfc_host_alloc 2 7917 _001543_hash NULL -+_001544_hash llc_alloc_frame 4 64366 _001544_hash NULL -+_001545_hash llcp_sock_sendmsg 4 1092 _001545_hash NULL -+_001546_hash mac_drv_rx_init 2 48898 _001546_hash NULL -+_001547_hash macvtap_get_user 4 28185 _001547_hash NULL -+_001548_hash mdc800_device_read 3 22896 _001548_hash NULL -+_001549_hash memcpy_toiovec 3 54166 _001549_hash &_000892_hash -+_001550_hash memcpy_toiovecend 3-4 19736 _001550_hash NULL -+_001552_hash mempool_create 1 29437 _001552_hash NULL -+_001553_hash mgmt_event 4 12810 _001553_hash NULL -+_001554_hash mgt_set_varlen 4 60916 _001554_hash NULL -+_001555_hash mI_alloc_skb 1 24770 _001555_hash NULL -+_001556_hash mlx4_en_create_rx_ring 3 62498 _001556_hash NULL -+_001557_hash mlx4_en_create_tx_ring 4 48501 _001557_hash NULL -+_001558_hash mlx4_init_cmpt_table 3 11569 _001558_hash NULL -+_001559_hash mon_bin_get_event 4 52863 _001559_hash NULL -+_001560_hash mousedev_read 3 47123 _001560_hash NULL -+_001561_hash move_addr_to_user 2 2868 _001561_hash NULL -+_001562_hash mpihelp_mul 5-3 27805 _001562_hash NULL -+_001564_hash mpi_set_buffer 3 65294 _001564_hash NULL -+_001565_hash mptctl_ioctl 2 12355 _001565_hash NULL -+_001566_hash msnd_fifo_alloc 2 23179 _001566_hash NULL -+_001567_hash mtdswap_init 2 55719 _001567_hash NULL -+_001568_hash mthca_alloc_resize_buf 3 60394 _001568_hash NULL -+_001569_hash mthca_init_cq 2 60011 _001569_hash NULL -+_001570_hash nci_skb_alloc 2 49757 _001570_hash NULL -+_001571_hash neigh_hash_grow 2 17283 _001571_hash NULL -+_001572_hash netdev_alloc_skb 2 62437 _001572_hash NULL -+_001573_hash __netdev_alloc_skb_ip_align 2 55067 _001573_hash NULL -+_001574_hash netlink_change_ngroups 2 16457 _001574_hash NULL -+_001575_hash new_skb 1 21148 _001575_hash NULL -+_001576_hash nfc_alloc_recv_skb 1 10244 _001576_hash NULL -+_001577_hash nfcwilink_skb_alloc 1 16167 _001577_hash NULL -+_001578_hash __nf_nat_mangle_tcp_packet 5-7 8190 _001578_hash NULL -+_001580_hash nf_nat_mangle_udp_packet 5-7 13321 _001580_hash NULL -+_001582_hash nfqnl_mangle 4-2 36226 _001582_hash NULL -+_001583_hash nfs4_realloc_slot_table 2 22859 _001583_hash NULL -+_001584_hash nfs_idmap_get_key 2 39616 _001584_hash NULL -+_001585_hash nfs_readdata_alloc 2 65015 _001585_hash NULL -+_001586_hash nfs_writedata_alloc 2 12133 _001586_hash NULL -+_001587_hash nfulnl_alloc_skb 2 65207 _001587_hash NULL -+_001588_hash ni65_alloc_mem 3 10664 _001588_hash NULL -+_001589_hash nsm_get_handle 4 52089 _001589_hash NULL -+_001590_hash ntfs_malloc_nofs 1 49572 _001590_hash NULL -+_001591_hash ntfs_malloc_nofs_nofail 1 63631 _001591_hash NULL -+_001592_hash nvme_create_queue 3 170 _001592_hash NULL -+_001593_hash ocfs2_control_write 3 54737 _001593_hash NULL -+_001595_hash orinoco_add_extscan_result 3 18207 _001595_hash NULL -+_001596_hash osd_req_read_sg_kern 5 6378 _001596_hash NULL -+_001597_hash osd_req_write_sg_kern 5 10514 _001597_hash NULL -+_001599_hash override_release 2 52032 _001599_hash NULL -+_001600_hash p9_client_read 5 19750 _001600_hash NULL -+_001601_hash packet_snd 3 13634 _001601_hash NULL -+_001602_hash pcbit_stat 2 27364 _001602_hash NULL -+_001603_hash pcpu_extend_area_map 2 12589 _001603_hash NULL -+_001604_hash pep_alloc_skb 3 46303 _001604_hash NULL -+_001605_hash pg_read 3 17276 _001605_hash NULL -+_001606_hash picolcd_debug_eeprom_read 3 14549 _001606_hash NULL -+_001607_hash pkt_alloc_packet_data 1 37928 _001607_hash NULL -+_001608_hash pmcraid_build_passthrough_ioadls 2 62034 _001608_hash NULL -+_001609_hash pn_raw_send 2 54330 _001609_hash NULL -+_001610_hash posix_clock_register 2 5662 _001610_hash NULL -+_001611_hash printer_read 3 54851 _001611_hash NULL -+_001612_hash __proc_file_read 3 54978 _001612_hash NULL -+_001613_hash pskb_may_pull 2 22546 _001613_hash NULL -+_001614_hash __pskb_pull 2 42602 _001614_hash NULL -+_001615_hash ptp_read 4 63251 _001615_hash NULL -+_001616_hash pt_read 3 49136 _001616_hash NULL -+_001617_hash put_cmsg 4 36589 _001617_hash NULL -+_001618_hash px_raw_event 4 49371 _001618_hash NULL -+_001619_hash qla4xxx_post_aen_work 3 46953 _001619_hash NULL -+_001620_hash qla4xxx_post_ping_evt_work 4 8074 _001819_hash NULL nohasharray -+_001621_hash raid5_resize 2 63306 _001621_hash NULL -+_001622_hash rawv6_sendmsg 4 20080 _001622_hash NULL -+_001623_hash rds_message_map_pages 2 31487 _001623_hash NULL -+_001624_hash rds_sendmsg 4 40976 _001624_hash NULL -+_001625_hash read_flush 3 43851 _001625_hash NULL -+_001626_hash read_profile 3 27859 _001626_hash NULL -+_001627_hash read_vmcore 3 26501 _001627_hash NULL -+_001628_hash redirected_tty_write 3 65297 _001628_hash NULL -+_001629_hash refill_pool 2 19477 _001629_hash NULL -+_001630_hash __register_chrdev 2-3 54223 _001630_hash NULL -+_001632_hash regmap_raw_write 4 53803 _001632_hash NULL -+_001633_hash reiserfs_allocate_list_bitmaps 3 21732 _001633_hash NULL -+_001634_hash reiserfs_resize 2 34377 _001634_hash NULL -+_001635_hash request_key_auth_read 3 24109 _001635_hash NULL -+_001636_hash rfcomm_wmalloc 2 58090 _001636_hash NULL -+_001637_hash rfkill_fop_read 3 54711 _001637_hash NULL -+_001638_hash rng_dev_read 3 41581 _001638_hash NULL -+_001639_hash roccat_read 3 41093 _001639_hash &_001034_hash -+_001640_hash rx 4 57944 _001640_hash NULL -+_001641_hash rxrpc_client_sendmsg 5 23236 _001641_hash NULL -+_001642_hash rxrpc_kernel_send_data 3 60083 _001642_hash NULL -+_001643_hash rxrpc_server_sendmsg 4 37331 _001643_hash NULL -+_001644_hash savu_sysfs_write 6 42273 _001644_hash NULL -+_001645_hash sco_sock_sendmsg 4 62542 _001645_hash NULL -+_001646_hash scsi_nl_send_vendor_msg 5 16394 _001646_hash NULL -+_001647_hash scsi_register 2 49094 _001647_hash NULL -+_001648_hash sctp_datamsg_from_user 4 55342 _001648_hash NULL -+_001649_hash sctp_getsockopt_events 2 3607 _001649_hash NULL -+_001650_hash sctp_getsockopt_maxburst 2 42941 _001650_hash NULL -+_001651_hash sctp_getsockopt_maxseg 2 10737 _001651_hash NULL -+_001652_hash sctp_make_chunk 4 12986 _001652_hash NULL -+_001653_hash sctpprobe_read 3 17741 _001653_hash NULL -+_001654_hash sctp_tsnmap_mark 2 35929 _001654_hash NULL -+_001655_hash sctp_ulpevent_new 1 33377 _001655_hash NULL -+_001656_hash sdhci_alloc_host 2 7509 _001656_hash NULL -+_001657_hash selinux_inode_post_setxattr 4 26037 _001657_hash NULL -+_001658_hash selinux_inode_setsecurity 4 18148 _001658_hash NULL -+_001659_hash selinux_inode_setxattr 4 10708 _001659_hash NULL -+_001660_hash selinux_secctx_to_secid 2 63744 _001660_hash NULL -+_001661_hash selinux_setprocattr 4 55611 _001661_hash NULL -+_001662_hash sel_write_context 3 25726 _001662_hash &_001329_hash -+_001663_hash send_command 4 10832 _001663_hash NULL -+_001664_hash seq_copy_in_user 3 18543 _001664_hash NULL -+_001665_hash seq_open_net 4 8968 _001779_hash NULL nohasharray -+_001666_hash seq_open_private 3 61589 _001666_hash NULL -+_001667_hash set_arg 3 42824 _001667_hash NULL -+_001668_hash sg_read 3 25799 _001668_hash NULL -+_001669_hash shash_async_setkey 3 10720 _003506_hash NULL nohasharray -+_001670_hash shash_compat_setkey 3 12267 _001670_hash NULL -+_001671_hash shmem_setxattr 4 55867 _001671_hash NULL -+_001672_hash simple_read_from_buffer 2-5 55957 _001672_hash NULL -+_001674_hash sisusb_clear_vram 2-3 57466 _001674_hash NULL -+_001676_hash sisusbcon_do_font_op 9 52271 _001676_hash NULL -+_001677_hash sisusb_copy_memory 4 35016 _001677_hash NULL -+_001678_hash sisusb_write 3 44834 _001678_hash NULL -+_001680_hash skb_cow 2 26138 _001680_hash NULL -+_001681_hash skb_cow_head 2 52495 _001681_hash NULL -+_001682_hash skb_make_writable 2 24783 _001682_hash NULL -+_001683_hash skb_padto 2 50759 _001683_hash NULL -+_001684_hash sk_stream_alloc_skb 2 57622 _001684_hash NULL -+_001685_hash smk_write_access2 3 19170 _001685_hash NULL -+_001686_hash smk_write_access 3 49561 _001686_hash NULL -+_001687_hash snd_es1938_capture_copy 5 25930 _001687_hash NULL -+_001688_hash snd_gus_dram_peek 4 9062 _001688_hash NULL -+_001689_hash snd_hdsp_capture_copy 5 4011 _001689_hash NULL -+_001690_hash snd_korg1212_copy_to 6 92 _001690_hash NULL -+_001691_hash snd_opl4_mem_proc_read 5 63774 _001691_hash NULL -+_001692_hash snd_pcm_oss_read1 3 63771 _001692_hash NULL -+_001693_hash snd_pcm_plugin_alloc 2 12580 _001693_hash NULL -+_001694_hash snd_rawmidi_kernel_read1 4 36740 _001694_hash NULL -+_001695_hash snd_rme9652_capture_copy 5 10287 _001695_hash NULL -+_001696_hash sock_alloc_send_pskb 2 21246 _001696_hash NULL -+_001697_hash sock_rmalloc 2 59740 _002491_hash NULL nohasharray -+_001698_hash sock_wmalloc 2 16472 _001698_hash NULL -+_001699_hash solos_param_store 4 34755 _001699_hash NULL -+_001702_hash srp_target_alloc 3 37288 _001702_hash NULL -+_001703_hash store_ifalias 4 35088 _001703_hash NULL -+_001704_hash store_msg 3 56417 _001704_hash NULL -+_001705_hash str_to_user 2 11411 _001705_hash NULL -+_001706_hash subbuf_read_actor 3 2071 _001706_hash NULL -+_001707_hash sys_fgetxattr 4 25166 _001707_hash NULL -+_001708_hash sys_gethostname 2 49698 _001708_hash NULL -+_001709_hash sys_getxattr 4 37418 _001709_hash NULL -+_001710_hash sys_init_module 2 36047 _001710_hash NULL -+_001711_hash sys_kexec_load 2 14222 _001711_hash NULL -+_001712_hash sys_lgetxattr 4 45531 _001712_hash NULL -+_001713_hash syslog_print 2 307 _001713_hash NULL -+_001714_hash sys_msgsnd 3 44537 _001714_hash &_000139_hash -+_001715_hash sys_process_vm_readv 3-5 19090 _003104_hash NULL nohasharray -+_001717_hash sys_process_vm_writev 3-5 4928 _001717_hash NULL -+_001719_hash sys_pselect6 1 57449 _001719_hash NULL -+_001720_hash sys_sched_getaffinity 2 60033 _001720_hash NULL -+_001721_hash sys_setsockopt 5 35320 _001721_hash NULL -+_001722_hash t3_init_l2t 1 8261 _001722_hash NULL -+_001723_hash t4vf_pktgl_to_skb 2 39005 _001723_hash NULL -+_001724_hash tcp_collapse 5-6 63294 _001724_hash NULL -+_001726_hash tcp_sendmsg 4 30296 _001726_hash NULL -+_001727_hash team_options_register 3 20091 _001727_hash NULL -+_001728_hash tipc_buf_acquire 1 60437 _001728_hash NULL -+_001729_hash tipc_cfg_reply_alloc 1 27606 _001729_hash NULL -+_001730_hash tipc_send2name 6 16809 _001730_hash NULL -+_001731_hash tipc_send2port 5 63935 _001731_hash NULL -+_001732_hash tipc_send 4 51238 _001732_hash NULL -+_001733_hash tnode_new 3 44757 _002769_hash NULL nohasharray -+_001734_hash tomoyo_read_self 3 33539 _001734_hash NULL -+_001735_hash tomoyo_update_domain 2 5498 _001735_hash NULL -+_001736_hash tomoyo_update_policy 2 40458 _001736_hash NULL -+_001737_hash tpm_read 3 50344 _001737_hash NULL -+_001738_hash TSS_rawhmac 3 17486 _001738_hash NULL -+_001739_hash __tty_buffer_request_room 2 27700 _001739_hash NULL -+_001740_hash tun_get_user 4 39099 _001740_hash NULL -+_001741_hash ubi_dump_flash 4 46381 _001741_hash NULL -+_001742_hash ubi_io_write 4-5 15870 _003453_hash NULL nohasharray -+_001744_hash udp_setsockopt 5 25985 _001744_hash NULL -+_001745_hash udpv6_setsockopt 5 18487 _001745_hash NULL -+_001746_hash uio_read 3 49300 _001746_hash NULL -+_001747_hash ulog_alloc_skb 1 23427 _001747_hash NULL -+_001748_hash unix_dgram_sendmsg 4 45699 _001748_hash NULL -+_001749_hash unlink1 3 63059 _001749_hash NULL -+_001751_hash usbdev_read 3 45114 _001751_hash NULL -+_001752_hash usblp_ioctl 2 30203 _001752_hash NULL -+_001753_hash usblp_read 3 57342 _003832_hash NULL nohasharray -+_001754_hash usbtmc_read 3 32377 _001754_hash NULL -+_001755_hash _usb_writeN_sync 4 31682 _001755_hash NULL -+_001756_hash user_read 3 51881 _001756_hash NULL -+_001757_hash vcs_read 3 8017 _001757_hash NULL -+_001758_hash vdma_mem_alloc 1 6171 _001758_hash NULL -+_001759_hash venus_create 4 20555 _001759_hash NULL -+_001760_hash venus_link 5 32165 _001760_hash NULL -+_001761_hash venus_lookup 4 8121 _001761_hash NULL -+_001762_hash venus_mkdir 4 8967 _001762_hash NULL -+_001763_hash venus_remove 4 59781 _001763_hash NULL -+_001764_hash venus_rename 4-5 17707 _003784_hash NULL nohasharray -+_001766_hash venus_rmdir 4 45564 _001766_hash NULL -+_001767_hash venus_symlink 4-6 23570 _001767_hash NULL -+_001769_hash vfs_readlink 3 54368 _001769_hash NULL -+_001770_hash vfs_readv 3 38011 _001770_hash NULL -+_001771_hash vfs_writev 3 25278 _001771_hash NULL -+_001772_hash vga_arb_read 3 4886 _001772_hash NULL -+_001773_hash vgacon_adjust_height 2 28124 _001773_hash NULL -+_001774_hash vhci_put_user 4 12604 _001774_hash NULL -+_001775_hash vhost_add_used_n 3 10760 _001775_hash NULL -+_001776_hash virtnet_send_command 5-6 61993 _001776_hash NULL -+_001778_hash vmbus_establish_gpadl 3 4495 _001778_hash NULL -+_001779_hash vol_cdev_read 3 8968 _001779_hash &_001665_hash -+_001780_hash wdm_read 3 6549 _001780_hash NULL -+_001781_hash write_adapter_mem 3 3234 _001781_hash NULL -+_001782_hash wusb_prf 7 54261 _001782_hash &_000065_hash -+_001783_hash xdi_copy_to_user 4 48900 _001783_hash NULL -+_001784_hash xfs_buf_associate_memory 3 17915 _001784_hash NULL -+_001785_hash xfs_buf_get_maps 2 4581 _001785_hash NULL -+_001786_hash xfs_buf_get_uncached 2 51477 _001786_hash NULL -+_001787_hash xfs_buf_item_get_format 2 189 _001787_hash NULL -+_001788_hash xfs_buf_map_from_irec 5 2368 _002641_hash NULL nohasharray -+_001789_hash xfs_dir2_block_to_sf 3 37868 _001789_hash NULL -+_001790_hash xfs_dir2_leaf_getdents 3 23841 _001790_hash NULL -+_001791_hash xfs_dir2_sf_addname_hard 3 54254 _001791_hash NULL -+_001792_hash xfs_efd_init 3 5463 _001792_hash NULL -+_001793_hash xfs_efi_init 2 5476 _001793_hash NULL -+_001794_hash xfs_iext_realloc_direct 2 20521 _001794_hash NULL -+_001795_hash xfs_iext_realloc_indirect 2 59211 _001795_hash NULL -+_001796_hash xfs_inumbers_fmt 3 12817 _001796_hash NULL -+_001797_hash xhci_alloc_streams 5 37586 _001797_hash NULL -+_001798_hash xlog_recover_add_to_cont_trans 4 44102 _001798_hash NULL -+_001799_hash xz_dec_lzma2_create 2 36353 _002713_hash NULL nohasharray -+_001800_hash _zd_iowrite32v_locked 3 44725 _001800_hash NULL -+_001801_hash a2mp_chan_alloc_skb_cb 2 27159 _001801_hash NULL -+_001802_hash aat2870_reg_read_file 3 12221 _001802_hash NULL -+_001803_hash add_partition 2 55588 _001803_hash NULL -+_001804_hash add_sctp_bind_addr 3 12269 _001804_hash NULL -+_001805_hash _add_sg_continuation_descriptor 3 54721 _001805_hash NULL -+_001806_hash afs_cell_lookup 2 8482 _001806_hash NULL -+_001807_hash afs_send_simple_reply 3 63940 _001807_hash NULL -+_001808_hash agp_allocate_memory_wrap 1 16576 _001808_hash NULL -+_001809_hash __alloc_bootmem 1 31498 _001809_hash NULL -+_001810_hash __alloc_bootmem_low 1 43423 _003425_hash NULL nohasharray -+_001811_hash __alloc_bootmem_node_high 2 65076 _001811_hash NULL -+_001812_hash alloc_cc770dev 1 48186 _001812_hash NULL -+_001813_hash __alloc_ei_netdev 1 29338 _001813_hash NULL -+_001814_hash __alloc_eip_netdev 1 51549 _001814_hash NULL -+_001815_hash alloc_libipw 1 22708 _001815_hash NULL -+_001816_hash _alloc_mISDN_skb 3 52232 _001816_hash NULL -+_001817_hash alloc_pg_vec 2 8533 _001817_hash NULL -+_001818_hash alloc_sja1000dev 1 17868 _001818_hash NULL -+_001819_hash alloc_targets 2 8074 _001819_hash &_001620_hash -+_001822_hash ath6kl_disconnect_timeout_read 3 3650 _001822_hash NULL -+_001823_hash ath6kl_endpoint_stats_read 3 41554 _001823_hash NULL -+_001824_hash ath6kl_fwlog_mask_read 3 2050 _001824_hash NULL -+_001825_hash ath6kl_keepalive_read 3 44303 _001825_hash NULL -+_001826_hash ath6kl_listen_int_read 3 10355 _001826_hash NULL -+_001827_hash ath6kl_lrssi_roam_read 3 61022 _001827_hash NULL -+_001828_hash ath6kl_regdump_read 3 14393 _001828_hash NULL -+_001829_hash ath6kl_regread_read 3 25884 _001829_hash NULL -+_001830_hash ath6kl_regwrite_read 3 48747 _001830_hash NULL -+_001831_hash ath6kl_roam_table_read 3 26166 _001831_hash NULL -+_001832_hash ath9k_debugfs_read_buf 3 25316 _001832_hash NULL -+_001833_hash ath9k_multi_regread 4 65056 _001833_hash NULL -+_001834_hash ath_rxbuf_alloc 2 24745 _001834_hash NULL -+_001835_hash atk_debugfs_ggrp_read 3 29522 _001835_hash NULL -+_001836_hash audit_log_n_untrustedstring 3 9548 _001836_hash NULL -+_001837_hash ax25_send_frame 2 19964 _001837_hash NULL -+_001838_hash b43_debugfs_read 3 24425 _001838_hash NULL -+_001839_hash b43legacy_debugfs_read 3 2473 _001839_hash NULL -+_001840_hash batadv_bla_is_backbone_gw 3 58488 _001840_hash NULL -+_001841_hash batadv_check_management_packet 3 52993 _001841_hash NULL -+_001842_hash batadv_check_unicast_packet 2 10866 _001842_hash NULL -+_001843_hash batadv_interface_rx 4 8568 _001843_hash NULL -+_001844_hash batadv_skb_head_push 2 11360 _001844_hash NULL -+_001845_hash bchannel_get_rxbuf 2 37213 _001845_hash NULL -+_001846_hash bcm_recvmsg 4 43992 _001846_hash NULL -+_001847_hash bfad_debugfs_read 3 13119 _001847_hash NULL -+_001848_hash bfad_debugfs_read_regrd 3 57830 _001848_hash NULL -+_001849_hash blk_init_tags 1 30592 _001849_hash NULL -+_001850_hash blk_queue_init_tags 2 44355 _001850_hash &_001022_hash -+_001851_hash blk_rq_map_kern 4 47004 _001851_hash NULL -+_001852_hash bm_entry_read 3 10976 _001852_hash NULL -+_001853_hash bm_status_read 3 19583 _001853_hash NULL -+_001854_hash bnad_debugfs_read 3 50665 _001854_hash NULL -+_001855_hash bnad_debugfs_read_regrd 3 51308 _001855_hash NULL -+_001856_hash bnx2i_send_nl_mesg 4 53353 _001856_hash NULL -+_001857_hash brcmf_debugfs_sdio_counter_read 3 58369 _001857_hash NULL -+_001858_hash brcmf_sdio_assert_info 4 52653 _001858_hash NULL -+_001859_hash brcmf_sdio_dump_console 4 37455 _001859_hash NULL -+_001860_hash brcmf_sdio_trap_info 4 48510 _001860_hash NULL -+_001861_hash btmrvl_curpsmode_read 3 46939 _001861_hash NULL -+_001862_hash btmrvl_gpiogap_read 3 4718 _001862_hash NULL -+_001863_hash btmrvl_hscfgcmd_read 3 56303 _001863_hash NULL -+_001864_hash btmrvl_hscmd_read 3 1614 _001864_hash NULL -+_001865_hash btmrvl_hsmode_read 3 1647 _001865_hash NULL -+_001866_hash btmrvl_hsstate_read 3 920 _001866_hash NULL -+_001867_hash btmrvl_pscmd_read 3 24308 _001867_hash NULL -+_001868_hash btmrvl_psmode_read 3 22395 _001868_hash NULL -+_001869_hash btmrvl_psstate_read 3 50683 _001869_hash NULL -+_001870_hash btmrvl_txdnldready_read 3 413 _001870_hash NULL -+_001871_hash btrfs_add_link 5 9973 _001871_hash NULL -+_001872_hash __btrfs_direct_write 4 22273 _001872_hash NULL -+_001873_hash btrfs_discard_extent 2 38547 _001873_hash NULL -+_001874_hash btrfs_file_aio_write 4 21520 _001874_hash NULL -+_001875_hash btrfs_find_create_tree_block 3 55812 _001875_hash NULL -+_001876_hash btrfsic_map_block 2 56751 _001876_hash NULL -+_001877_hash cache_read_pipefs 3 47615 _001877_hash NULL -+_001878_hash cache_read_procfs 3 52882 _001878_hash NULL -+_001879_hash cache_write_pipefs 3 48270 _001879_hash NULL -+_001880_hash cache_write_procfs 3 22491 _001880_hash NULL -+_001881_hash caif_stream_recvmsg 4 13173 _001881_hash NULL -+_001882_hash carl9170_alloc 1 27 _001882_hash NULL -+_001883_hash carl9170_debugfs_read 3 47738 _001883_hash NULL -+_001884_hash ceph_msgpool_init 4 34599 _001884_hash NULL -+_001885_hash cfpkt_add_trail 3 27260 _001885_hash NULL -+_001886_hash cfpkt_create 1 18197 _001886_hash NULL -+_001887_hash cfpkt_pad_trail 2 55511 _003606_hash NULL nohasharray -+_001888_hash cfpkt_split 2 47541 _001888_hash NULL -+_001889_hash cgroup_read_s64 5 19570 _001889_hash NULL -+_001890_hash cgroup_read_u64 5 45532 _001890_hash NULL -+_001891_hash channel_type_read 3 47308 _001891_hash NULL -+_001892_hash check_header 2 56930 _001892_hash NULL -+_001893_hash codec_list_read_file 3 24910 _001893_hash NULL -+_001894_hash configfs_read_file 3 1683 _001894_hash NULL -+_001895_hash console_store 4 36007 _001895_hash NULL -+_001896_hash cpuset_common_file_read 5 8800 _001896_hash NULL -+_001897_hash create_subvol 4 30836 _001897_hash NULL -+_001898_hash cxio_hal_init_resource 2-7-6 29771 _001898_hash &_000295_hash -+_001901_hash cxio_hal_init_rhdl_resource 1 25104 _001901_hash NULL -+_001902_hash dai_list_read_file 3 25421 _001902_hash NULL -+_001903_hash dapm_bias_read_file 3 64715 _001903_hash NULL -+_001904_hash dapm_widget_power_read_file 3 59950 _001983_hash NULL nohasharray -+_001907_hash dbgfs_frame 3 45917 _001907_hash NULL -+_001908_hash dbgfs_state 3 38894 _001908_hash NULL -+_001909_hash dccp_manip_pkt 2 30229 _001909_hash NULL -+_001910_hash ddp_ppod_write_idata 5 25610 _001910_hash NULL -+_001911_hash debugfs_read 3 62535 _001911_hash NULL -+_001912_hash debug_output 3 18575 _001912_hash NULL -+_001913_hash debug_read 3 19322 _001913_hash NULL -+_001914_hash dev_alloc_skb 1 19517 _001914_hash &_001366_hash -+_001915_hash dfs_file_read 3 18116 _001915_hash NULL -+_001916_hash diva_alloc_dma_map 2 23798 _001916_hash NULL -+_001917_hash diva_xdi_write 4 63975 _001917_hash NULL -+_001918_hash dma_memcpy_pg_to_iovec 6 1725 _001918_hash NULL -+_001919_hash dma_memcpy_to_iovec 5 12173 _001919_hash NULL -+_001920_hash dma_show_regs 3 35266 _001920_hash NULL -+_001921_hash dm_exception_table_init 2 39645 _001921_hash &_001149_hash -+_001922_hash dn_nsp_do_disc 2-6 49474 _001922_hash NULL -+_001924_hash dn_recvmsg 4 17213 _001924_hash NULL -+_001925_hash dns_resolver_read 3 54658 _001925_hash NULL -+_001926_hash do_msgrcv 4 5590 _001926_hash NULL -+_001927_hash do_syslog 3 56807 _001927_hash NULL -+_001928_hash dpcm_state_read_file 3 65489 _001928_hash NULL -+_001929_hash dsp_cmx_send_member 2 15625 _001929_hash NULL -+_001930_hash fallback_on_nodma_alloc 2 35332 _001930_hash NULL -+_001931_hash fc_frame_alloc 2 1596 _001931_hash NULL -+_001932_hash fc_frame_alloc_fill 2 59394 _001932_hash NULL -+_001933_hash filter_read 3 61692 _001933_hash NULL -+_001934_hash __finish_unordered_dir 4 33198 _001934_hash NULL -+_001935_hash format_devstat_counter 3 32550 _001935_hash NULL -+_001936_hash fragmentation_threshold_read 3 61718 _001936_hash NULL -+_001937_hash fuse_conn_limit_read 3 20084 _001937_hash NULL -+_001938_hash fuse_conn_waiting_read 3 49762 _001938_hash NULL -+_001939_hash fuse_file_aio_write 4 46399 _001939_hash NULL -+_001940_hash generic_readlink 3 32654 _001940_hash NULL -+_001941_hash gre_manip_pkt 2 38785 _001941_hash NULL -+_001942_hash handle_eviocgbit 3 44193 _001942_hash NULL -+_001943_hash handle_response 5 55951 _001943_hash NULL -+_001944_hash handle_response_icmp 7 39574 _001944_hash NULL -+_001945_hash hash_recvmsg 4 50924 _001945_hash NULL -+_001946_hash hci_send_cmd 3 43810 _001946_hash NULL -+_001947_hash hci_si_event 3 1404 _001947_hash NULL -+_001948_hash help 4 14971 _001948_hash NULL -+_001949_hash hfcpci_empty_bfifo 4 62323 _001949_hash NULL -+_001950_hash hidp_send_ctrl_message 4 43702 _001950_hash NULL -+_001951_hash ht40allow_map_read 3 55209 _001951_hash &_001512_hash -+_001952_hash hwflags_read 3 52318 _001952_hash NULL -+_001953_hash hysdn_conf_read 3 42324 _001953_hash NULL -+_001954_hash hysdn_sched_rx 3 60533 _001954_hash NULL -+_001955_hash i2400m_rx_stats_read 3 57706 _001955_hash NULL -+_001956_hash i2400m_tx_stats_read 3 28527 _001956_hash NULL -+_001957_hash icmp_manip_pkt 2 48801 _001957_hash NULL -+_001958_hash idmouse_read 3 63374 _001958_hash NULL -+_001959_hash ieee80211_if_read 3 6785 _001959_hash NULL -+_001960_hash ieee80211_rx_bss_info 3 61630 _001960_hash NULL -+_001961_hash ikconfig_read_current 3 1658 _001961_hash NULL -+_001962_hash il3945_sta_dbgfs_stats_table_read 3 48802 _001962_hash NULL -+_001963_hash il3945_ucode_general_stats_read 3 46111 _001963_hash NULL -+_001964_hash il3945_ucode_rx_stats_read 3 3048 _001964_hash NULL -+_001965_hash il3945_ucode_tx_stats_read 3 36016 _001965_hash NULL -+_001966_hash il4965_rs_sta_dbgfs_rate_scale_data_read 3 37792 _001966_hash NULL -+_001967_hash il4965_rs_sta_dbgfs_scale_table_read 3 38564 _001967_hash NULL -+_001968_hash il4965_rs_sta_dbgfs_stats_table_read 3 49206 _001968_hash NULL -+_001969_hash il4965_ucode_general_stats_read 3 56277 _001969_hash NULL -+_001970_hash il4965_ucode_rx_stats_read 3 61948 _001970_hash NULL -+_001971_hash il4965_ucode_tx_stats_read 3 12064 _001971_hash NULL -+_001972_hash il_dbgfs_chain_noise_read 3 38044 _001972_hash NULL -+_001973_hash il_dbgfs_channels_read 3 25005 _001973_hash NULL -+_001974_hash il_dbgfs_disable_ht40_read 3 42386 _001974_hash NULL -+_001975_hash il_dbgfs_fh_reg_read 3 40993 _001975_hash NULL -+_001976_hash il_dbgfs_force_reset_read 3 57517 _001976_hash NULL -+_001977_hash il_dbgfs_interrupt_read 3 3351 _001977_hash NULL -+_001978_hash il_dbgfs_missed_beacon_read 3 59956 _001978_hash NULL -+_001979_hash il_dbgfs_nvm_read 3 12288 _001979_hash NULL -+_001980_hash il_dbgfs_power_save_status_read 3 43165 _001980_hash NULL -+_001981_hash il_dbgfs_qos_read 3 33615 _001981_hash NULL -+_001982_hash il_dbgfs_rxon_filter_flags_read 3 19281 _001982_hash NULL -+_001983_hash il_dbgfs_rxon_flags_read 3 59950 _001983_hash &_001904_hash -+_001984_hash il_dbgfs_rx_queue_read 3 11221 _001984_hash NULL -+_001985_hash il_dbgfs_rx_stats_read 3 15243 _001985_hash NULL -+_001986_hash il_dbgfs_sensitivity_read 3 2370 _001986_hash NULL -+_001987_hash il_dbgfs_sram_read 3 62296 _001987_hash NULL -+_001988_hash il_dbgfs_stations_read 3 21532 _001988_hash NULL -+_001989_hash il_dbgfs_status_read 3 58388 _001989_hash NULL -+_001990_hash il_dbgfs_tx_queue_read 3 55668 _001990_hash NULL -+_001991_hash il_dbgfs_tx_stats_read 3 32913 _001991_hash NULL -+_001992_hash ima_show_htable_value 2 57136 _001992_hash NULL -+_001994_hash intel_fake_agp_alloc_by_type 1 1 _001994_hash NULL -+_001995_hash ip4ip6_err 5 36772 _001995_hash NULL -+_001996_hash ip6_append_data 4-5 36490 _003601_hash NULL nohasharray -+_001997_hash ip6ip6_err 5 18308 _001997_hash NULL -+_001998_hash __ip_append_data 7-8 36191 _001998_hash NULL -+_001999_hash ip_vs_icmp_xmit 4 59624 _001999_hash NULL -+_002000_hash ip_vs_icmp_xmit_v6 4 20464 _002000_hash NULL -+_002001_hash ipw_write 3 59807 _002001_hash NULL -+_002002_hash irda_recvmsg_stream 4 35280 _002002_hash NULL -+_002003_hash irq_domain_add_simple 2 46734 _002003_hash NULL -+_002004_hash __iscsi_complete_pdu 4 10726 _002004_hash NULL -+_002005_hash iscsi_nop_out_rsp 4 51117 _002005_hash NULL -+_002006_hash iscsi_tcp_conn_setup 2 16376 _002006_hash NULL -+_002007_hash iwl_dbgfs_bt_traffic_read 3 35534 _002007_hash NULL -+_002008_hash iwl_dbgfs_calib_disabled_read 3 22649 _002008_hash NULL -+_002009_hash iwl_dbgfs_chain_noise_read 3 46355 _002009_hash NULL -+_002010_hash iwl_dbgfs_channels_read 3 6784 _002010_hash NULL -+_002011_hash iwl_dbgfs_current_sleep_command_read 3 2081 _002011_hash NULL -+_002012_hash iwl_dbgfs_disable_ht40_read 3 35761 _002012_hash NULL -+_002013_hash iwl_dbgfs_fh_reg_read 3 879 _002013_hash &_000406_hash -+_002014_hash iwl_dbgfs_interrupt_read 3 23574 _002014_hash NULL -+_002015_hash iwl_dbgfs_log_event_read 3 2107 _002015_hash NULL -+_002016_hash iwl_dbgfs_missed_beacon_read 3 50584 _002016_hash NULL -+_002017_hash iwl_dbgfs_nvm_read 3 23845 _002017_hash NULL -+_002018_hash iwl_dbgfs_plcp_delta_read 3 55407 _002018_hash NULL -+_002019_hash iwl_dbgfs_power_save_status_read 3 54392 _002019_hash NULL -+_002020_hash iwl_dbgfs_protection_mode_read 3 13943 _002020_hash NULL -+_002021_hash iwl_dbgfs_qos_read 3 11753 _002021_hash NULL -+_002022_hash iwl_dbgfs_reply_tx_error_read 3 19205 _002022_hash NULL -+_002023_hash iwl_dbgfs_rf_reset_read 3 26512 _002023_hash NULL -+_002024_hash iwl_dbgfs_rx_handlers_read 3 18708 _002024_hash NULL -+_002025_hash iwl_dbgfs_rxon_filter_flags_read 3 28832 _002025_hash NULL -+_002026_hash iwl_dbgfs_rxon_flags_read 3 20795 _002026_hash NULL -+_002027_hash iwl_dbgfs_rx_queue_read 3 19943 _002027_hash NULL -+_002028_hash iwl_dbgfs_sensitivity_read 3 63116 _002731_hash NULL nohasharray -+_002029_hash iwl_dbgfs_sleep_level_override_read 3 3038 _002029_hash NULL -+_002030_hash iwl_dbgfs_sram_read 3 44505 _002030_hash NULL -+_002031_hash iwl_dbgfs_stations_read 3 9309 _002031_hash NULL -+_002032_hash iwl_dbgfs_status_read 3 5171 _002032_hash NULL -+_002033_hash iwl_dbgfs_temperature_read 3 29224 _002033_hash NULL -+_002034_hash iwl_dbgfs_thermal_throttling_read 3 38779 _002034_hash NULL -+_002035_hash iwl_dbgfs_tx_queue_read 3 4635 _002035_hash NULL -+_002036_hash iwl_dbgfs_ucode_bt_stats_read 3 42820 _002036_hash NULL -+_002037_hash iwl_dbgfs_ucode_general_stats_read 3 49199 _002037_hash NULL -+_002038_hash iwl_dbgfs_ucode_rx_stats_read 3 58023 _002038_hash NULL -+_002039_hash iwl_dbgfs_ucode_tracing_read 3 47983 _002039_hash &_000356_hash -+_002040_hash iwl_dbgfs_ucode_tx_stats_read 3 31611 _002040_hash NULL -+_002041_hash iwl_dbgfs_wowlan_sram_read 3 540 _002041_hash NULL -+_002042_hash joydev_ioctl 2 33343 _002042_hash NULL -+_002043_hash kernel_readv 3 35617 _002043_hash NULL -+_002044_hash key_algorithm_read 3 57946 _002044_hash NULL -+_002045_hash key_icverrors_read 3 20895 _002045_hash NULL -+_002046_hash key_key_read 3 3241 _002046_hash NULL -+_002047_hash key_replays_read 3 62746 _002047_hash NULL -+_002048_hash key_rx_spec_read 3 12736 _002048_hash NULL -+_002049_hash key_tx_spec_read 3 4862 _002049_hash NULL -+_002050_hash __kfifo_to_user 3 36555 _002568_hash NULL nohasharray -+_002051_hash __kfifo_to_user_r 3 39123 _002051_hash NULL -+_002052_hash kmem_zalloc_greedy 2-3 65268 _002052_hash NULL -+_002054_hash l1oip_socket_recv 6 56537 _002054_hash NULL -+_002055_hash l2cap_build_cmd 4 48676 _002055_hash NULL -+_002056_hash l2cap_chan_send 3 49995 _002056_hash NULL -+_002057_hash l2cap_segment_sdu 4 48772 _002057_hash NULL -+_002058_hash l2down_create 4 21755 _002058_hash NULL -+_002059_hash l2tp_xmit_skb 3 42672 _002059_hash NULL -+_002060_hash l2up_create 3 6430 _002060_hash NULL -+_002061_hash lbs_debugfs_read 3 30721 _002061_hash NULL -+_002062_hash lbs_dev_info 3 51023 _002062_hash NULL -+_002063_hash lbs_host_sleep_read 3 31013 _002063_hash NULL -+_002064_hash lbs_rdbbp_read 3 45805 _002064_hash NULL -+_002065_hash lbs_rdmac_read 3 418 _002065_hash NULL -+_002066_hash lbs_rdrf_read 3 41431 _002066_hash NULL -+_002067_hash lbs_sleepparams_read 3 10840 _002067_hash NULL -+_002068_hash lbs_threshold_read 5 21046 _002068_hash NULL -+_002069_hash ldisc_receive 4 41516 _002069_hash NULL -+_002070_hash libfc_vport_create 2 4415 _002070_hash NULL -+_002073_hash lkdtm_debugfs_read 3 45752 _002073_hash NULL -+_002074_hash llcp_sock_recvmsg 4 13556 _002074_hash NULL -+_002075_hash long_retry_limit_read 3 59766 _002075_hash NULL -+_002076_hash lpfc_debugfs_dif_err_read 3 36303 _002076_hash NULL -+_002077_hash lpfc_debugfs_read 3 16566 _002077_hash NULL -+_002078_hash lpfc_idiag_baracc_read 3 58466 _002972_hash NULL nohasharray -+_002079_hash lpfc_idiag_ctlacc_read 3 33943 _002079_hash NULL -+_002080_hash lpfc_idiag_drbacc_read 3 15948 _002080_hash NULL -+_002081_hash lpfc_idiag_extacc_read 3 48301 _002081_hash NULL -+_002082_hash lpfc_idiag_mbxacc_read 3 28061 _002082_hash NULL -+_002083_hash lpfc_idiag_pcicfg_read 3 50334 _002083_hash NULL -+_002084_hash lpfc_idiag_queacc_read 3 13950 _002084_hash NULL -+_002085_hash lpfc_idiag_queinfo_read 3 55662 _002085_hash NULL -+_002086_hash lro_gen_skb 6 2644 _002086_hash NULL -+_002087_hash mac80211_format_buffer 2 41010 _002087_hash NULL -+_002088_hash macvtap_alloc_skb 2-4-3 50629 _002088_hash NULL -+_002091_hash macvtap_put_user 4 55609 _002091_hash NULL -+_002092_hash macvtap_sendmsg 4 30629 _002092_hash NULL -+_002093_hash mangle_packet 6-8 27864 _002093_hash NULL -+_002095_hash manip_pkt 3 7741 _002095_hash NULL -+_002096_hash mempool_create_kmalloc_pool 1 41650 _002096_hash NULL -+_002097_hash mempool_create_page_pool 1 30189 _002097_hash NULL -+_002098_hash mempool_create_slab_pool 1 62907 _002098_hash NULL -+_002099_hash mgmt_device_found 10 14146 _002099_hash NULL -+_002100_hash minstrel_stats_read 3 17290 _002100_hash NULL -+_002101_hash mmc_ext_csd_read 3 13205 _002101_hash NULL -+_002102_hash mon_bin_read 3 6841 _002102_hash NULL -+_002103_hash mon_stat_read 3 25238 _002103_hash NULL -+_002105_hash mqueue_read_file 3 6228 _002105_hash NULL -+_002106_hash mwifiex_debug_read 3 53074 _002106_hash NULL -+_002107_hash mwifiex_getlog_read 3 54269 _002107_hash NULL -+_002108_hash mwifiex_info_read 3 53447 _002108_hash NULL -+_002109_hash mwifiex_rdeeprom_read 3 51429 _002109_hash NULL -+_002110_hash mwifiex_regrdwr_read 3 34472 _002110_hash NULL -+_002111_hash named_prepare_buf 2 24532 _002111_hash NULL -+_002112_hash nci_send_cmd 3 58206 _002112_hash NULL -+_002113_hash netdev_alloc_skb_ip_align 2 40811 _002113_hash NULL -+_002114_hash netpoll_send_udp 3 58955 _002114_hash NULL -+_002115_hash nfcwilink_send_bts_cmd 3 10802 _002115_hash NULL -+_002116_hash nf_nat_mangle_tcp_packet 5-7 8643 _002116_hash NULL -+_002119_hash nfsd_vfs_read 6 62605 _002616_hash NULL nohasharray -+_002120_hash nfsd_vfs_write 6 54577 _002120_hash NULL -+_002121_hash nfs_idmap_lookup_id 2 10660 _002121_hash NULL -+_002122_hash ntfs_rl_realloc 3 56831 _002122_hash &_000370_hash -+_002123_hash ntfs_rl_realloc_nofail 3 32173 _002123_hash NULL -+_002124_hash o2hb_debug_read 3 37851 _002124_hash NULL -+_002125_hash o2net_debug_read 3 52105 _002125_hash NULL -+_002126_hash ocfs2_control_read 3 56405 _002126_hash NULL -+_002127_hash ocfs2_debug_read 3 14507 _002127_hash NULL -+_002128_hash oom_adjust_read 3 25127 _002128_hash NULL -+_002129_hash oom_score_adj_read 3 39921 _002426_hash NULL nohasharray -+_002130_hash oprofilefs_str_to_user 3 42182 _002130_hash NULL -+_002131_hash oprofilefs_ulong_to_user 3 11582 _002131_hash NULL -+_002132_hash osd_req_add_get_attr_list 3 49278 _002132_hash NULL -+_002133_hash _osd_req_list_objects 6 4204 _002133_hash NULL -+_002134_hash osd_req_read_kern 5 59990 _002134_hash NULL -+_002135_hash osd_req_write_kern 5 53486 _002135_hash NULL -+_002136_hash osst_read 3 40237 _002136_hash NULL -+_002137_hash p54_alloc_skb 3 34366 _002137_hash &_000485_hash -+_002138_hash p54_init_common 1 23850 _002138_hash NULL -+_002139_hash packet_alloc_skb 2-5-4 62602 _002139_hash NULL -+_002142_hash packet_sendmsg 4 24954 _002142_hash NULL -+_002143_hash page_readlink 3 23346 _002143_hash NULL -+_002144_hash pcf50633_write_block 3 2124 _002144_hash NULL -+_002145_hash pcpu_alloc_alloc_info 1-2 45813 _002145_hash NULL -+_002147_hash pep_indicate 5 38611 _002147_hash NULL -+_002148_hash pep_reply 5 50582 _002148_hash NULL -+_002149_hash pipe_handler_request 5 50774 _003582_hash NULL nohasharray -+_002150_hash platform_list_read_file 3 34734 _002150_hash NULL -+_002151_hash pm860x_bulk_write 3 43875 _002151_hash NULL -+_002152_hash pm_qos_power_read 3 55891 _002152_hash NULL -+_002153_hash port_show_regs 3 5904 _002153_hash NULL -+_002154_hash proc_coredump_filter_read 3 39153 _002154_hash NULL -+_002155_hash proc_fdinfo_read 3 62043 _002155_hash NULL -+_002156_hash proc_file_read 3 53905 _002156_hash NULL -+_002157_hash proc_info_read 3 63344 _002157_hash NULL -+_002158_hash proc_loginuid_read 3 15631 _002158_hash NULL -+_002159_hash proc_pid_attr_read 3 10173 _002159_hash NULL -+_002160_hash proc_pid_readlink 3 52186 _002160_hash NULL -+_002161_hash proc_read 3 43614 _002161_hash NULL -+_002162_hash proc_self_readlink 3 38094 _002162_hash NULL -+_002163_hash proc_sessionid_read 3 6911 _002299_hash NULL nohasharray -+_002164_hash provide_user_output 3 41105 _002164_hash NULL -+_002165_hash pskb_network_may_pull 2 35336 _002165_hash NULL -+_002166_hash pskb_pull 2 65005 _002166_hash NULL -+_002167_hash pstore_file_read 3 57288 _002167_hash NULL -+_002168_hash ql_process_mac_rx_page 4 15543 _002168_hash NULL -+_002169_hash ql_process_mac_rx_skb 4 6689 _002169_hash NULL -+_002170_hash queues_read 3 24877 _002170_hash NULL -+_002171_hash raw_recvmsg 4 17277 _002171_hash NULL -+_002172_hash rcname_read 3 25919 _002172_hash NULL -+_002173_hash read_4k_modal_eeprom 3 30212 _002173_hash NULL -+_002174_hash read_9287_modal_eeprom 3 59327 _002174_hash NULL -+_002175_hash reada_find_extent 2 63486 _002175_hash NULL -+_002176_hash read_def_modal_eeprom 3 14041 _002176_hash NULL -+_002177_hash read_enabled_file_bool 3 37744 _002177_hash NULL -+_002178_hash read_file_ani 3 23161 _002178_hash NULL -+_002179_hash read_file_antenna 3 13574 _002179_hash NULL -+_002180_hash read_file_base_eeprom 3 42168 _002180_hash NULL -+_002181_hash read_file_beacon 3 32595 _002181_hash NULL -+_002182_hash read_file_blob 3 57406 _002182_hash NULL -+_002183_hash read_file_bool 3 4180 _002183_hash NULL -+_002184_hash read_file_credit_dist_stats 3 54367 _002184_hash NULL -+_002185_hash read_file_debug 3 58256 _002185_hash NULL -+_002186_hash read_file_disable_ani 3 6536 _002186_hash NULL -+_002187_hash read_file_dma 3 9530 _002187_hash NULL -+_002188_hash read_file_dump_nfcal 3 18766 _002188_hash NULL -+_002189_hash read_file_frameerrors 3 64001 _002189_hash NULL -+_002190_hash read_file_interrupt 3 61742 _002197_hash NULL nohasharray -+_002191_hash read_file_misc 3 9948 _002191_hash NULL -+_002192_hash read_file_modal_eeprom 3 39909 _002192_hash NULL -+_002193_hash read_file_queue 3 40895 _002193_hash NULL -+_002194_hash read_file_rcstat 3 22854 _002194_hash NULL -+_002195_hash read_file_recv 3 48232 _002195_hash NULL -+_002196_hash read_file_regidx 3 33370 _002196_hash NULL -+_002197_hash read_file_regval 3 61742 _002197_hash &_002190_hash -+_002198_hash read_file_reset 3 52310 _002198_hash NULL -+_002199_hash read_file_rx_chainmask 3 41605 _002199_hash NULL -+_002200_hash read_file_slot 3 50111 _002200_hash NULL -+_002201_hash read_file_stations 3 35795 _002201_hash NULL -+_002202_hash read_file_tgt_int_stats 3 20697 _002202_hash NULL -+_002203_hash read_file_tgt_rx_stats 3 33944 _002203_hash NULL -+_002204_hash read_file_tgt_stats 3 8959 _002204_hash NULL -+_002205_hash read_file_tgt_tx_stats 3 51847 _002205_hash NULL -+_002206_hash read_file_tx_chainmask 3 3829 _002206_hash NULL -+_002207_hash read_file_war_stats 3 292 _002207_hash NULL -+_002208_hash read_file_xmit 3 21487 _002208_hash NULL -+_002209_hash read_flush_pipefs 3 20171 _002209_hash NULL -+_002210_hash read_flush_procfs 3 27642 _002210_hash NULL -+_002211_hash read_from_oldmem 2 3337 _002211_hash NULL -+_002212_hash read_oldmem 3 55658 _002212_hash NULL -+_002213_hash receive_packet 2 12367 _002213_hash NULL -+_002214_hash regmap_name_read_file 3 39379 _002214_hash NULL -+_002215_hash repair_io_failure 4 4815 _002215_hash NULL -+_002216_hash request_key_and_link 4 42693 _002216_hash NULL -+_002217_hash res_counter_read 4 33499 _002217_hash NULL -+_002218_hash rfcomm_tty_write 3 51603 _002218_hash NULL -+_002219_hash rs_sta_dbgfs_rate_scale_data_read 3 47165 _002219_hash NULL -+_002220_hash rs_sta_dbgfs_scale_table_read 3 40262 _002220_hash NULL -+_002221_hash rs_sta_dbgfs_stats_table_read 3 56573 _002221_hash NULL -+_002222_hash rts_threshold_read 3 44384 _002222_hash NULL -+_002223_hash rxrpc_sendmsg 4 29049 _002223_hash NULL -+_002224_hash scrub_setup_recheck_block 3-4 56245 _002224_hash NULL -+_002226_hash scsi_adjust_queue_depth 3 12802 _002226_hash NULL -+_002227_hash sctp_make_abort 3 34459 _002227_hash NULL -+_002228_hash sctp_make_asconf 3 4078 _002228_hash NULL -+_002229_hash sctp_make_asconf_ack 3 31726 _002229_hash NULL -+_002230_hash sctp_make_datafrag_empty 3 34737 _002230_hash NULL -+_002231_hash sctp_make_fwdtsn 3 53265 _002231_hash NULL -+_002232_hash sctp_make_heartbeat_ack 4 34411 _002232_hash NULL -+_002233_hash sctp_make_init 4 58401 _002233_hash NULL -+_002234_hash sctp_make_init_ack 4 3335 _002234_hash NULL -+_002235_hash sctp_make_op_error_space 3 5528 _002235_hash NULL -+_002236_hash sctp_manip_pkt 2 40620 _002236_hash NULL -+_002237_hash selinux_inode_notifysecctx 3 36896 _002237_hash NULL -+_002238_hash sel_read_avc_cache_threshold 3 33942 _002238_hash NULL -+_002239_hash sel_read_avc_hash_stats 3 1984 _002239_hash NULL -+_002240_hash sel_read_bool 3 24236 _002240_hash NULL -+_002241_hash sel_read_checkreqprot 3 33068 _002241_hash NULL -+_002242_hash sel_read_class 3 12669 _002960_hash NULL nohasharray -+_002243_hash sel_read_enforce 3 2828 _002243_hash NULL -+_002244_hash sel_read_handle_status 3 56139 _002244_hash NULL -+_002245_hash sel_read_handle_unknown 3 57933 _002245_hash NULL -+_002246_hash sel_read_initcon 3 32362 _002246_hash NULL -+_002247_hash sel_read_mls 3 25369 _002247_hash NULL -+_002248_hash sel_read_perm 3 42302 _002248_hash NULL -+_002249_hash sel_read_policy 3 55947 _002249_hash NULL -+_002250_hash sel_read_policycap 3 28544 _002250_hash NULL -+_002251_hash sel_read_policyvers 3 55 _002827_hash NULL nohasharray -+_002252_hash send_mpa_reject 3 7135 _002252_hash NULL -+_002253_hash send_mpa_reply 3 32372 _002253_hash NULL -+_002254_hash send_msg 4 37323 _002254_hash NULL -+_002255_hash send_packet 4 52960 _002255_hash NULL -+_002256_hash set_rxd_buffer_pointer 8 9950 _002256_hash NULL -+_002257_hash sge_rx 3 50594 _002257_hash NULL -+_002258_hash short_retry_limit_read 3 4687 _002258_hash NULL -+_002259_hash simple_attr_read 3 24738 _002259_hash NULL -+_002260_hash simple_transaction_read 3 17076 _002260_hash NULL -+_002261_hash sisusbcon_bmove 5-7-6 21873 _002261_hash NULL -+_002264_hash sisusbcon_clear 3-5-4 64329 _002264_hash NULL -+_002267_hash sisusbcon_putcs 3 57630 _002267_hash &_001043_hash -+_002268_hash sisusbcon_scroll 5-3-2 31315 _002268_hash NULL -+_002269_hash sisusbcon_scroll_area 3-4 25899 _002269_hash NULL -+_002271_hash skb_copy_datagram_const_iovec 2-5-4 48102 _002271_hash NULL -+_002274_hash skb_copy_datagram_iovec 2-4 5806 _002274_hash NULL -+_002276_hash skb_gro_header_slow 2 34958 _002276_hash NULL -+_002277_hash smk_read_ambient 3 61220 _002277_hash NULL -+_002278_hash smk_read_direct 3 15803 _002278_hash NULL -+_002279_hash smk_read_doi 3 30813 _002279_hash NULL -+_002280_hash smk_read_logging 3 37804 _002280_hash NULL -+_002281_hash smk_read_mapped 3 7562 _002281_hash NULL -+_002282_hash smk_read_onlycap 3 3855 _002282_hash NULL -+_002283_hash smp_build_cmd 3 45853 _002283_hash NULL -+_002284_hash snapshot_read 3 22601 _002284_hash NULL -+_002285_hash snd_cs4281_BA0_read 5 6847 _002285_hash NULL -+_002286_hash snd_cs4281_BA1_read 5 20323 _002286_hash NULL -+_002287_hash snd_cs46xx_io_read 5 45734 _002287_hash NULL -+_002288_hash snd_gus_dram_read 4 56686 _002288_hash NULL -+_002289_hash snd_mixart_BA0_read 5 45069 _002289_hash NULL -+_002290_hash snd_mixart_BA1_read 5 5082 _002290_hash NULL -+_002291_hash snd_pcm_oss_read 3 28317 _002291_hash NULL -+_002292_hash snd_pcm_plug_alloc 2 42339 _002292_hash NULL -+_002293_hash snd_rawmidi_kernel_read 3 4328 _002293_hash NULL -+_002294_hash snd_rawmidi_read 3 56337 _002294_hash NULL -+_002295_hash snd_rme32_capture_copy 5 39653 _002295_hash NULL -+_002296_hash snd_rme96_capture_copy 5 58484 _002296_hash NULL -+_002297_hash snd_soc_hw_bulk_write_raw 4 14245 _002297_hash NULL -+_002298_hash sock_alloc_send_skb 2 23720 _002298_hash NULL -+_002299_hash spi_show_regs 3 6911 _002299_hash &_002163_hash -+_002300_hash sta_agg_status_read 3 14058 _002300_hash NULL -+_002301_hash sta_connected_time_read 3 17435 _002301_hash NULL -+_002302_hash sta_flags_read 3 56710 _002302_hash NULL -+_002303_hash sta_ht_capa_read 3 10366 _002303_hash NULL -+_002304_hash sta_last_seq_ctrl_read 3 19106 _002304_hash NULL -+_002305_hash sta_num_ps_buf_frames_read 3 1488 _002305_hash NULL -+_002306_hash st_read 3 51251 _002306_hash NULL -+_002307_hash supply_map_read_file 3 10608 _002307_hash NULL -+_002308_hash sysfs_read_file 3 42113 _002308_hash NULL -+_002309_hash sys_preadv 3 17100 _002309_hash NULL -+_002310_hash sys_pwritev 3 41722 _002310_hash NULL -+_002311_hash sys_readv 3 50664 _002311_hash NULL -+_002312_hash sys_rt_sigpending 2 24961 _002312_hash NULL -+_002313_hash sys_writev 3 28384 _002313_hash NULL -+_002314_hash tcf_csum_skb_nextlayer 3 64025 _002314_hash NULL -+_002315_hash tcp_fragment 3 20436 _002315_hash NULL -+_002316_hash tcp_manip_pkt 2 14202 _002316_hash NULL -+_002317_hash teiup_create 3 43201 _002317_hash NULL -+_002318_hash test_iso_queue 5 62534 _002318_hash NULL -+_002319_hash tg3_run_loopback 2 30093 _002319_hash NULL -+_002320_hash tipc_msg_build 4 12326 _002320_hash NULL -+_002321_hash TSS_authhmac 3 12839 _002321_hash NULL -+_002322_hash TSS_checkhmac1 5 31429 _002322_hash NULL -+_002323_hash TSS_checkhmac2 5-7 40520 _002323_hash NULL -+_002325_hash tty_audit_log 8 47280 _002325_hash NULL -+_002326_hash tty_buffer_request_room 2 23228 _002326_hash NULL -+_002327_hash tty_insert_flip_string_fixed_flag 4 37428 _002327_hash NULL -+_002328_hash tty_insert_flip_string_flags 4 30969 _002328_hash NULL -+_002329_hash tty_prepare_flip_string 3 39955 _002329_hash NULL -+_002330_hash tty_prepare_flip_string_flags 4 59240 _002330_hash NULL -+_002331_hash tun_alloc_skb 2-4-3 41216 _002331_hash NULL -+_002334_hash tun_sendmsg 4 10337 _002334_hash NULL -+_002335_hash u32_array_read 3 2219 _002335_hash NULL -+_002336_hash ubi_io_write_data 4-5 40305 _002336_hash NULL -+_002338_hash udplite_manip_pkt 2 62433 _002338_hash NULL -+_002339_hash udp_manip_pkt 2 50770 _002339_hash NULL -+_002340_hash uhci_debug_read 3 5911 _002340_hash NULL -+_002341_hash um_idi_read 3 850 _002341_hash NULL -+_002342_hash unix_seqpacket_sendmsg 4 27893 _002342_hash NULL -+_002343_hash unix_stream_recvmsg 4 35210 _002343_hash NULL -+_002344_hash unlink_simple 3 47506 _002344_hash NULL -+_002345_hash use_pool 2 64607 _002345_hash NULL -+_002346_hash v9fs_fid_readn 4 60544 _002346_hash NULL -+_002347_hash v9fs_file_read 3 40858 _002347_hash NULL -+_002348_hash vhci_read 3 47878 _002348_hash NULL -+_002349_hash vhost_add_used_and_signal_n 4 8038 _002349_hash NULL -+_002350_hash vmbus_open 2-3 12154 _002350_hash NULL -+_002352_hash vxge_rx_alloc 3 52024 _002352_hash NULL -+_002353_hash waiters_read 3 40902 _002353_hash NULL -+_002354_hash wm8994_bulk_write 3 13615 _002354_hash NULL -+_002355_hash write_pbl 4 59583 _002355_hash NULL -+_002356_hash wusb_prf_256 7 29203 _002356_hash NULL -+_002357_hash wusb_prf_64 7 51065 _002357_hash NULL -+_002358_hash _xfs_buf_alloc 3 38058 _002358_hash NULL -+_002359_hash xfs_buf_read_uncached 3 42844 _002359_hash NULL -+_002360_hash xfs_file_buffered_aio_write 4 11492 _002360_hash NULL -+_002361_hash xfs_iext_add 3 41422 _002361_hash NULL -+_002362_hash xfs_iext_remove_direct 3 40744 _002362_hash NULL -+_002363_hash xfs_readdir 3 41200 _002363_hash NULL -+_002364_hash xfs_trans_get_efd 3 51148 _002364_hash NULL -+_002365_hash xfs_trans_get_efi 2 7898 _002365_hash NULL -+_002366_hash xlog_bread_offset 3 60030 _002366_hash NULL -+_002367_hash xlog_get_bp 2 23229 _002367_hash NULL -+_002368_hash xz_dec_init 2 29029 _002368_hash NULL -+_002369_hash aac_change_queue_depth 2 825 _002369_hash NULL -+_002370_hash add_rx_skb 3 8257 _002370_hash NULL -+_002371_hash afs_extract_data 5 50261 _002371_hash NULL -+_002372_hash arcmsr_adjust_disk_queue_depth 2 16756 _002372_hash NULL -+_002373_hash atalk_recvmsg 4 22053 _002373_hash NULL -+_002374_hash ath6kl_buf_alloc 1 57304 _002374_hash NULL -+_002376_hash atomic_read_file 3 16227 _002376_hash NULL -+_002377_hash ax25_recvmsg 4 64441 _002377_hash NULL -+_002378_hash batadv_add_packet 3 12136 _002378_hash NULL -+_002379_hash batadv_iv_ogm_aggregate_new 2 54761 _002379_hash NULL -+_002380_hash batadv_tt_response_fill_table 1 39236 _002380_hash NULL -+_002381_hash beiscsi_process_async_pdu 7 39834 _002381_hash NULL -+_002382_hash bioset_create 1 5580 _002382_hash NULL -+_002383_hash bioset_integrity_create 2 62708 _002383_hash NULL -+_002384_hash biovec_create_pools 2 9575 _002384_hash NULL -+_002385_hash bnx2fc_process_l2_frame_compl 3 65072 _002385_hash NULL -+_002386_hash brcmf_sdbrcm_died_dump 3 15841 _002386_hash NULL -+_002387_hash brcmu_pkt_buf_get_skb 1 5556 _002387_hash NULL -+_002388_hash br_send_bpdu 3 29669 _002388_hash NULL -+_002389_hash btrfs_error_discard_extent 2 50444 _002389_hash NULL -+_002390_hash __btrfs_free_reserved_extent 2 31207 _002390_hash NULL -+_002391_hash btrfsic_cmp_log_and_dev_bytenr 2 49628 _002391_hash NULL -+_002392_hash btrfsic_create_link_to_next_block 4 58246 _002392_hash NULL -+_002393_hash btrfs_init_new_buffer 4 55761 _002393_hash NULL -+_002394_hash btrfs_mksubvol 3 58240 _002394_hash NULL -+_002395_hash bt_skb_send_alloc 2 6581 _002395_hash NULL -+_002396_hash bt_sock_recvmsg 4 12316 _002396_hash NULL -+_002397_hash bt_sock_stream_recvmsg 4 52518 _002397_hash NULL -+_002398_hash c4iw_reject_cr 3 28174 _002398_hash NULL -+_002399_hash caif_seqpkt_recvmsg 4 32241 _002399_hash NULL -+_002400_hash carl9170_rx_copy_data 2 21656 _002400_hash NULL -+_002401_hash cfpkt_append 3 61206 _002401_hash NULL -+_002402_hash cfpkt_setlen 2 49343 _002402_hash NULL -+_002403_hash cgroup_file_read 3 28804 _002403_hash NULL -+_002404_hash cosa_net_setup_rx 2 38594 _002404_hash NULL -+_002405_hash cpu_type_read 3 36540 _002405_hash NULL -+_002406_hash cxgb4_pktgl_to_skb 2 61899 _002406_hash NULL -+_002408_hash dccp_recvmsg 4 16056 _002408_hash NULL -+_002409_hash ddp_clear_map 4 46152 _002409_hash NULL -+_002410_hash ddp_set_map 4 751 _002410_hash NULL -+_002411_hash depth_read 3 31112 _002411_hash NULL -+_002412_hash dfs_global_file_read 3 7787 _002412_hash NULL -+_002413_hash dgram_recvmsg 4 23104 _002413_hash NULL -+_002414_hash diva_init_dma_map 3 58336 _002414_hash NULL -+_002415_hash divas_write 3 63901 _002415_hash NULL -+_002416_hash dma_push_rx 2 39973 _002416_hash NULL -+_002417_hash dma_skb_copy_datagram_iovec 3-5 21516 _002417_hash NULL -+_002419_hash dm_table_create 3 35687 _002419_hash NULL -+_002420_hash dn_alloc_send_pskb 2 4465 _002420_hash NULL -+_002421_hash dn_nsp_return_disc 2 60296 _002421_hash NULL -+_002422_hash dn_nsp_send_disc 2 23469 _002422_hash NULL -+_002423_hash dsp_tone_hw_message 3 17678 _002423_hash NULL -+_002424_hash e1000_check_copybreak 3 62448 _002424_hash NULL -+_002425_hash enable_read 3 2117 _002425_hash &_000224_hash -+_002426_hash exofs_read_kern 6 39921 _002426_hash &_002129_hash -+_002427_hash fast_rx_path 3 59214 _002427_hash NULL -+_002428_hash fc_change_queue_depth 2 36841 _002428_hash NULL -+_002429_hash fc_fcp_frame_alloc 2 12624 _002429_hash NULL -+_002430_hash fcoe_ctlr_send_keep_alive 3 15308 _002430_hash NULL -+_002431_hash frequency_read 3 64031 _003698_hash NULL nohasharray -+_002432_hash ftdi_process_packet 5 45005 _002432_hash NULL -+_002433_hash fuse_conn_congestion_threshold_read 3 51028 _002433_hash NULL -+_002434_hash fuse_conn_max_background_read 3 10855 _002434_hash NULL -+_002435_hash fwnet_incoming_packet 3 40380 _002435_hash NULL -+_002436_hash fwnet_pd_new 4 39947 _003402_hash NULL nohasharray -+_002437_hash get_alua_req 3 4166 _002437_hash NULL -+_002438_hash get_rdac_req 3 45882 _002438_hash NULL -+_002439_hash got_frame 2 16028 _002439_hash NULL -+_002440_hash gsm_mux_rx_netchar 3 33336 _002440_hash NULL -+_002441_hash hci_sock_recvmsg 4 7072 _002441_hash NULL -+_002442_hash hdlcdev_rx 3 997 _002442_hash NULL -+_002443_hash hdlc_empty_fifo 2 18397 _002443_hash NULL -+_002444_hash hfc_empty_fifo 2 57972 _002444_hash NULL -+_002445_hash hfcpci_empty_fifo 4 2427 _002445_hash NULL -+_002446_hash hfcsusb_rx_frame 3 52745 _002446_hash NULL -+_002447_hash hidp_output_raw_report 3 5629 _002447_hash NULL -+_002448_hash hpsa_change_queue_depth 2 15449 _002448_hash NULL -+_002449_hash hptiop_adjust_disk_queue_depth 2 20122 _002449_hash NULL -+_002450_hash hscx_empty_fifo 2 13360 _002450_hash NULL -+_002451_hash hysdn_rx_netpkt 3 16136 _002451_hash NULL -+_002452_hash i2o_pool_alloc 4 55485 _002452_hash NULL -+_002453_hash ide_queue_pc_tail 5 11673 _002453_hash NULL -+_002454_hash ide_raw_taskfile 4 42355 _002454_hash NULL -+_002455_hash idetape_queue_rw_tail 3 29562 _002455_hash NULL -+_002456_hash ieee80211_amsdu_to_8023s 5 15561 _002456_hash NULL -+_002457_hash ieee80211_fragment 4 33112 _002457_hash NULL -+_002458_hash ieee80211_if_read_aid 3 9705 _002458_hash NULL -+_002459_hash ieee80211_if_read_auto_open_plinks 3 38268 _002459_hash &_000374_hash -+_002460_hash ieee80211_if_read_ave_beacon 3 64924 _002460_hash NULL -+_002461_hash ieee80211_if_read_bssid 3 35161 _002461_hash NULL -+_002462_hash ieee80211_if_read_channel_type 3 23884 _002462_hash NULL -+_002463_hash ieee80211_if_read_dot11MeshConfirmTimeout 3 60670 _002463_hash NULL -+_002464_hash ieee80211_if_read_dot11MeshForwarding 3 13940 _002464_hash NULL -+_002465_hash ieee80211_if_read_dot11MeshGateAnnouncementProtocol 3 14486 _002465_hash NULL -+_002466_hash ieee80211_if_read_dot11MeshHoldingTimeout 3 47356 _002466_hash NULL -+_002467_hash ieee80211_if_read_dot11MeshHWMPactivePathTimeout 3 7368 _002467_hash NULL -+_002468_hash ieee80211_if_read_dot11MeshHWMPactivePathToRootTimeout 3 17618 _002468_hash NULL -+_002469_hash ieee80211_if_read_dot11MeshHWMPconfirmationInterval 3 57722 _002469_hash NULL -+_002470_hash ieee80211_if_read_dot11MeshHWMPmaxPREQretries 3 59829 _002470_hash NULL -+_002471_hash ieee80211_if_read_dot11MeshHWMPnetDiameterTraversalTime 3 1589 _002471_hash NULL -+_002472_hash ieee80211_if_read_dot11MeshHWMPperrMinInterval 3 17346 _002472_hash NULL -+_002473_hash ieee80211_if_read_dot11MeshHWMPpreqMinInterval 3 24208 _002473_hash NULL -+_002474_hash ieee80211_if_read_dot11MeshHWMPRannInterval 3 2249 _002474_hash NULL -+_002475_hash ieee80211_if_read_dot11MeshHWMProotInterval 3 27873 _002475_hash NULL -+_002476_hash ieee80211_if_read_dot11MeshHWMPRootMode 3 51441 _002476_hash NULL -+_002477_hash ieee80211_if_read_dot11MeshMaxPeerLinks 3 23878 _002477_hash NULL -+_002478_hash ieee80211_if_read_dot11MeshMaxRetries 3 12756 _002478_hash NULL -+_002479_hash ieee80211_if_read_dot11MeshRetryTimeout 3 52168 _002479_hash NULL -+_002480_hash ieee80211_if_read_dot11MeshTTL 3 58307 _002480_hash NULL -+_002481_hash ieee80211_if_read_dropped_frames_congestion 3 32603 _002481_hash NULL -+_002482_hash ieee80211_if_read_dropped_frames_no_route 3 33383 _002482_hash NULL -+_002483_hash ieee80211_if_read_dropped_frames_ttl 3 44500 _002483_hash NULL -+_002484_hash ieee80211_if_read_drop_unencrypted 3 37053 _002484_hash NULL -+_002485_hash ieee80211_if_read_dtim_count 3 38419 _002485_hash NULL -+_002486_hash ieee80211_if_read_element_ttl 3 18869 _002486_hash NULL -+_002487_hash ieee80211_if_read_estab_plinks 3 32533 _002487_hash NULL -+_002488_hash ieee80211_if_read_flags 3 57470 _002919_hash NULL nohasharray -+_002489_hash ieee80211_if_read_fwded_frames 3 36520 _002489_hash NULL -+_002490_hash ieee80211_if_read_fwded_mcast 3 39571 _002490_hash &_000162_hash -+_002491_hash ieee80211_if_read_fwded_unicast 3 59740 _002491_hash &_001697_hash -+_002492_hash ieee80211_if_read_ht_opmode 3 29044 _002492_hash NULL -+_002493_hash ieee80211_if_read_last_beacon 3 31257 _002493_hash NULL -+_002494_hash ieee80211_if_read_min_discovery_timeout 3 13946 _002494_hash NULL -+_002495_hash ieee80211_if_read_num_buffered_multicast 3 12716 _002495_hash NULL -+_002496_hash ieee80211_if_read_num_mcast_sta 3 12419 _002496_hash NULL -+_002497_hash ieee80211_if_read_num_sta_ps 3 34722 _002497_hash NULL -+_002498_hash ieee80211_if_read_path_refresh_time 3 25545 _002498_hash NULL -+_002499_hash ieee80211_if_read_peer 3 45233 _002499_hash NULL -+_002500_hash ieee80211_if_read_rc_rateidx_mask_2ghz 3 61570 _002500_hash NULL -+_002501_hash ieee80211_if_read_rc_rateidx_mask_5ghz 3 27183 _002501_hash NULL -+_002502_hash ieee80211_if_read_rc_rateidx_mcs_mask_2ghz 3 37675 _002502_hash NULL -+_002503_hash ieee80211_if_read_rc_rateidx_mcs_mask_5ghz 3 44423 _002503_hash NULL -+_002504_hash ieee80211_if_read_rssi_threshold 3 49260 _002504_hash NULL -+_002505_hash ieee80211_if_read_smps 3 27416 _002505_hash NULL -+_002506_hash ieee80211_if_read_state 3 9813 _002707_hash NULL nohasharray -+_002507_hash ieee80211_if_read_tkip_mic_test 3 19565 _002507_hash NULL -+_002508_hash ieee80211_if_read_tsf 3 16420 _002508_hash NULL -+_002509_hash ieee80211_if_read_uapsd_max_sp_len 3 15067 _002509_hash NULL -+_002510_hash ieee80211_if_read_uapsd_queues 3 55150 _002510_hash NULL -+_002511_hash ieee80211_mgmt_tx 9 46860 _002511_hash NULL -+_002512_hash ieee80211_probereq_get 4-6 29069 _002512_hash NULL -+_002514_hash ieee80211_rx_mgmt_beacon 3 24430 _002514_hash NULL -+_002515_hash ieee80211_rx_mgmt_probe_resp 3 6918 _002515_hash NULL -+_002516_hash ieee80211_send_auth 5 24121 _002516_hash NULL -+_002517_hash ieee80211_set_probe_resp 3 10077 _002517_hash NULL -+_002518_hash ieee80211_tdls_mgmt 8 9581 _002518_hash NULL -+_002519_hash ima_show_htable_violations 3 10619 _002519_hash NULL -+_002520_hash ima_show_measurements_count 3 23536 _002520_hash NULL -+_002521_hash insert_one_name 7 61668 _002521_hash NULL -+_002522_hash ip6_ufo_append_data 5-7-6 4780 _002522_hash NULL -+_002525_hash ip_append_data 5-6 16942 _002525_hash NULL -+_002526_hash ip_make_skb 5-6 13129 _002526_hash NULL -+_002527_hash ip_nat_sdp_port 6 52938 _002527_hash NULL -+_002528_hash ip_nat_sip_expect 7 45693 _002528_hash NULL -+_002529_hash ipr_change_queue_depth 2 6431 _002529_hash NULL -+_002530_hash ip_recv_error 3 23109 _002530_hash NULL -+_002531_hash ip_ufo_append_data 6-8-7 12775 _002531_hash NULL -+_002534_hash ipv6_recv_error 3 56347 _002534_hash NULL -+_002535_hash ipv6_recv_rxpmtu 3 7142 _002535_hash NULL -+_002536_hash ipw_packet_received_skb 2 1230 _002536_hash NULL -+_002537_hash ipx_recvmsg 4 44366 _002537_hash NULL -+_002538_hash irda_recvmsg_dgram 4 32631 _002538_hash NULL -+_002539_hash iscsi_change_queue_depth 2 23416 _002539_hash NULL -+_002540_hash iscsi_complete_pdu 4 48372 _002540_hash NULL -+_002541_hash iwch_reject_cr 3 23901 _002541_hash NULL -+_002542_hash ixgb_check_copybreak 3 5847 _002542_hash NULL -+_002543_hash key_conf_hw_key_idx_read 3 25003 _002543_hash NULL -+_002544_hash key_conf_keyidx_read 3 42443 _002544_hash NULL -+_002545_hash key_conf_keylen_read 3 49758 _002545_hash NULL -+_002546_hash key_flags_read 3 25931 _002546_hash NULL -+_002547_hash key_ifindex_read 3 31411 _002547_hash NULL -+_002548_hash key_tx_rx_count_read 3 44742 _002548_hash NULL -+_002549_hash kmsg_read 3 46514 _002549_hash NULL -+_002550_hash l1oip_socket_parse 4 4507 _002550_hash NULL -+_002551_hash l2cap_send_cmd 4 14548 _002551_hash NULL -+_002552_hash l2cap_sock_sendmsg 4 63427 _002552_hash NULL -+_002553_hash l2tp_ip6_recvmsg 4 62874 _002553_hash NULL -+_002554_hash l2tp_ip6_sendmsg 4 7461 _002554_hash NULL -+_002555_hash l2tp_ip_recvmsg 4 22681 _002555_hash NULL -+_002556_hash lbs_bcnmiss_read 3 8678 _002556_hash NULL -+_002557_hash lbs_failcount_read 3 31063 _002557_hash NULL -+_002558_hash lbs_highrssi_read 3 64089 _002558_hash NULL -+_002559_hash lbs_highsnr_read 3 5931 _002559_hash NULL -+_002560_hash lbs_lowrssi_read 3 32242 _002560_hash NULL -+_002561_hash lbs_lowsnr_read 3 29571 _002561_hash NULL -+_002563_hash llc_ui_recvmsg 4 3826 _002563_hash NULL -+_002564_hash lowpan_fragment_xmit 3-4 22095 _002564_hash NULL -+_002566_hash lpfc_change_queue_depth 2 25905 _002566_hash NULL -+_002568_hash macvtap_do_read 4 36555 _002568_hash &_002050_hash -+_002569_hash mangle_sdp_packet 9 36279 _002569_hash NULL -+_002570_hash map_addr 6 4666 _002570_hash NULL -+_002571_hash mcs_unwrap_fir 3 25733 _002571_hash NULL -+_002572_hash mcs_unwrap_mir 3 9455 _002572_hash NULL -+_002573_hash megaraid_change_queue_depth 2 64815 _002573_hash NULL -+_002574_hash megasas_change_queue_depth 2 32747 _002574_hash NULL -+_002575_hash mld_newpack 2 50950 _002575_hash NULL -+_002576_hash mptscsih_change_queue_depth 2 26036 _002576_hash NULL -+_002577_hash named_distribute 4 48544 _002577_hash NULL -+_002578_hash NCR_700_change_queue_depth 2 31742 _002578_hash NULL -+_002579_hash netlink_recvmsg 4 61600 _002579_hash NULL -+_002580_hash nfc_alloc_send_skb 4 3167 _002580_hash NULL -+_002581_hash nf_nat_ftp 5 47948 _002581_hash NULL -+_002582_hash nfsctl_transaction_read 3 48250 _002582_hash NULL -+_002583_hash nfsd_read 5 19568 _002583_hash NULL -+_002584_hash nfsd_read_file 6 62241 _002584_hash NULL -+_002585_hash nfsd_write 6 54809 _002585_hash NULL -+_002586_hash nfs_map_group_to_gid 3 15892 _002586_hash NULL -+_002587_hash nfs_map_name_to_uid 3 51132 _002587_hash NULL -+_002588_hash nr_recvmsg 4 12649 _002588_hash NULL -+_002589_hash ntfs_rl_append 2-4 6037 _002589_hash NULL -+_002591_hash ntfs_rl_insert 2-4 4931 _002591_hash NULL -+_002593_hash ntfs_rl_replace 2-4 14136 _002593_hash NULL -+_002595_hash ntfs_rl_split 2-4 52328 _002595_hash NULL -+_002597_hash osd_req_list_collection_objects 5 36664 _002597_hash NULL -+_002598_hash osd_req_list_partition_objects 5 56464 _002598_hash NULL -+_002599_hash osd_req_read_sg 5 47905 _002599_hash NULL -+_002600_hash osd_req_write_sg 5 50908 _002600_hash NULL -+_002602_hash p54_download_eeprom 4 43842 _002602_hash NULL -+_002604_hash packet_recv_error 3 16669 _002604_hash NULL -+_002605_hash packet_recvmsg 4 47700 _002605_hash NULL -+_002606_hash pep_recvmsg 4 19402 _002606_hash NULL -+_002607_hash pfkey_recvmsg 4 53604 _002607_hash NULL -+_002608_hash ping_recvmsg 4 25597 _002608_hash NULL -+_002609_hash pmcraid_change_queue_depth 2 9116 _002609_hash NULL -+_002610_hash pn_recvmsg 4 30887 _002610_hash NULL -+_002611_hash pointer_size_read 3 51863 _002611_hash NULL -+_002612_hash power_read 3 15939 _002612_hash NULL -+_002613_hash pppoe_recvmsg 4 15073 _002613_hash NULL -+_002614_hash pppol2tp_recvmsg 4 57742 _002993_hash NULL nohasharray -+_002615_hash ppp_tx_cp 5 62044 _002615_hash NULL -+_002616_hash prism2_send_mgmt 4 62605 _002616_hash &_002119_hash -+_002617_hash prism2_sta_send_mgmt 5 43916 _002617_hash NULL -+_002618_hash prison_create 1 43623 _002618_hash NULL -+_002619_hash qla2x00_adjust_sdev_qdepth_up 2 20097 _002619_hash NULL -+_002620_hash qla2x00_change_queue_depth 2 24742 _002620_hash NULL -+_002621_hash _queue_data 4 54983 _002621_hash NULL -+_002622_hash raw_recvmsg 4 52529 _002622_hash NULL -+_002623_hash rawsock_recvmsg 4 12144 _002623_hash NULL -+_002624_hash rawv6_recvmsg 4 30265 _002624_hash NULL -+_002625_hash rds_tcp_data_recv 3 53476 _002625_hash NULL -+_002626_hash reada_add_block 2 54247 _002626_hash NULL -+_002627_hash readahead_tree_block 3 36285 _002627_hash NULL -+_002628_hash reada_tree_block_flagged 3 18402 _002628_hash NULL -+_002629_hash read_dma 3 55086 _002629_hash NULL -+_002630_hash read_fifo 3 826 _002630_hash NULL -+_002631_hash read_tree_block 3 841 _002631_hash NULL -+_002632_hash receive_copy 3 12216 _002632_hash NULL -+_002633_hash recover_peb 6-7 29238 _002633_hash NULL -+_002635_hash recv_msg 4 48709 _002635_hash NULL -+_002636_hash recv_stream 4 30138 _002636_hash NULL -+_002637_hash _req_append_segment 2 41031 _002637_hash NULL -+_002638_hash request_key_async 4 6990 _002638_hash NULL -+_002639_hash request_key_async_with_auxdata 4 46624 _002639_hash NULL -+_002640_hash request_key_with_auxdata 4 24515 _002640_hash NULL -+_002641_hash rose_recvmsg 4 2368 _002641_hash &_001788_hash -+_002642_hash rtl8169_try_rx_copy 3 705 _002642_hash NULL -+_002643_hash _rtl92s_firmware_downloadcode 3 14021 _002643_hash NULL -+_002644_hash rx_data 4 60442 _002644_hash NULL -+_002645_hash rxrpc_recvmsg 4 26233 _002645_hash NULL -+_002646_hash sas_change_queue_depth 2 18555 _002646_hash NULL -+_002647_hash scsi_activate_tcq 2 42640 _002647_hash NULL -+_002648_hash scsi_deactivate_tcq 2 47086 _002648_hash NULL -+_002649_hash scsi_execute 5 33596 _002649_hash NULL -+_002650_hash _scsih_adjust_queue_depth 2 1083 _002650_hash NULL -+_002651_hash scsi_init_shared_tag_map 2 59812 _002651_hash NULL -+_002652_hash scsi_track_queue_full 2 44239 _002652_hash NULL -+_002653_hash sctp_abort_pkt_new 5 55218 _002653_hash NULL -+_002654_hash sctp_make_abort_violation 4 27959 _002654_hash NULL -+_002655_hash sctp_make_op_error 5-6 7057 _002655_hash NULL -+_002657_hash sctp_recvmsg 4 23265 _002657_hash NULL -+_002658_hash send_stream 4 3397 _002658_hash NULL -+_002659_hash sis190_try_rx_copy 3 57069 _002659_hash NULL -+_002664_hash skb_copy_and_csum_datagram_iovec 2 24466 _002664_hash NULL -+_002666_hash skge_rx_get 3 40598 _002666_hash NULL -+_002667_hash smp_send_cmd 3 512 _002667_hash NULL -+_002668_hash snd_gf1_mem_proc_dump 5 16926 _003499_hash NULL nohasharray -+_002669_hash sta_dev_read 3 14782 _002669_hash NULL -+_002670_hash sta_inactive_ms_read 3 25690 _002670_hash NULL -+_002671_hash sta_last_signal_read 3 31818 _002671_hash NULL -+_002672_hash stats_dot11ACKFailureCount_read 3 45558 _002672_hash NULL -+_002673_hash stats_dot11FCSErrorCount_read 3 28154 _002673_hash NULL -+_002674_hash stats_dot11RTSFailureCount_read 3 43948 _002674_hash NULL -+_002675_hash stats_dot11RTSSuccessCount_read 3 33065 _002675_hash NULL -+_002676_hash storvsc_connect_to_vsp 2 22 _002676_hash NULL -+_002677_hash sys_msgrcv 3 959 _002677_hash NULL -+_002678_hash sys_syslog 3 10746 _002678_hash NULL -+_002679_hash tcf_csum_ipv4_icmp 3 9258 _002679_hash NULL -+_002680_hash tcf_csum_ipv4_igmp 3 60446 _002680_hash NULL -+_002681_hash tcf_csum_ipv4_tcp 4 39713 _002681_hash NULL -+_002682_hash tcf_csum_ipv4_udp 4 30777 _002682_hash NULL -+_002683_hash tcf_csum_ipv6_icmp 4 11738 _002683_hash NULL -+_002684_hash tcf_csum_ipv6_tcp 4 54877 _002684_hash NULL -+_002685_hash tcf_csum_ipv6_udp 4 25241 _002685_hash NULL -+_002686_hash tcm_loop_change_queue_depth 2 42454 _002686_hash NULL -+_002687_hash tcp_copy_to_iovec 3 28344 _002687_hash NULL -+_002688_hash tcp_mark_head_lost 2 35895 _002688_hash NULL -+_002689_hash tcp_match_skb_to_sack 4 23568 _002689_hash NULL -+_002690_hash timeout_read 3 47915 _002690_hash NULL -+_002691_hash tipc_multicast 5 49144 _002691_hash NULL -+_002692_hash tipc_port_recv_sections 4 42890 _002692_hash NULL -+_002693_hash tipc_port_reject_sections 5 55229 _002693_hash NULL -+_002694_hash total_ps_buffered_read 3 16365 _002694_hash NULL -+_002695_hash tso_fragment 3 29050 _002695_hash NULL -+_002696_hash tty_insert_flip_string 3 34042 _002696_hash NULL -+_002698_hash tun_put_user 4 59849 _002698_hash NULL -+_002699_hash twa_change_queue_depth 2 48808 _002699_hash NULL -+_002700_hash tw_change_queue_depth 2 11116 _002700_hash NULL -+_002701_hash twl_change_queue_depth 2 41342 _002701_hash NULL -+_002702_hash ubi_eba_atomic_leb_change 5 60379 _002702_hash NULL -+_002703_hash ubi_eba_write_leb 5-6 36029 _002703_hash NULL -+_002705_hash ubi_eba_write_leb_st 5 44343 _002705_hash NULL -+_002706_hash udp_recvmsg 4 42558 _002706_hash NULL -+_002707_hash udpv6_recvmsg 4 9813 _002707_hash &_002506_hash -+_002708_hash udpv6_sendmsg 4 22316 _002708_hash NULL -+_002709_hash ulong_read_file 3 42304 _002709_hash &_000522_hash -+_002710_hash unix_dgram_recvmsg 4 14952 _002710_hash NULL -+_002711_hash user_power_read 3 39414 _002711_hash NULL -+_002712_hash v9fs_direct_read 3 45546 _002712_hash NULL -+_002713_hash v9fs_file_readn 4 36353 _002713_hash &_001799_hash -+_002714_hash vcc_recvmsg 4 37198 _002714_hash NULL -+_002715_hash velocity_rx_copy 2 34583 _002715_hash NULL -+_002716_hash W6692_empty_Bfifo 2 47804 _002716_hash NULL -+_002717_hash wep_iv_read 3 54744 _002717_hash NULL -+_002718_hash x25_recvmsg 4 42777 _002718_hash NULL -+_002719_hash xfs_buf_get_map 3 24522 _002719_hash NULL -+_002720_hash xfs_file_aio_write 4 33234 _002720_hash NULL -+_002721_hash xfs_iext_insert 3 18667 _002741_hash NULL nohasharray -+_002722_hash xfs_iext_remove 3 50909 _002722_hash NULL -+_002723_hash xlog_do_recovery_pass 3 21618 _002723_hash NULL -+_002724_hash xlog_find_verify_log_record 2 18870 _002724_hash NULL -+_002725_hash zd_mac_rx 3 38296 _002725_hash NULL -+_002726_hash aircable_process_packet 5 46639 _002726_hash NULL -+_002727_hash ath6kl_wmi_get_new_buf 1 52304 _002727_hash NULL -+_002728_hash batadv_iv_ogm_queue_add 3 46319 _002728_hash NULL -+_002729_hash batadv_receive_client_update_packet 3 41578 _002729_hash NULL -+_002730_hash batadv_receive_server_sync_packet 3 26577 _002730_hash &_000494_hash -+_002731_hash brcmf_alloc_pkt_and_read 2 63116 _002731_hash &_002028_hash -+_002732_hash brcmf_sdcard_recv_buf 6 38179 _002732_hash NULL -+_002733_hash brcmf_sdcard_rwdata 5 65041 _002733_hash NULL -+_002734_hash brcmf_sdcard_send_buf 6 7713 _002734_hash NULL -+_002735_hash brcmf_sdio_forensic_read 3 35311 _002735_hash &_001382_hash -+_002736_hash btrfs_alloc_free_block 3 8986 _002736_hash NULL -+_002737_hash btrfs_free_and_pin_reserved_extent 2 53016 _002737_hash NULL -+_002738_hash btrfs_free_reserved_extent 2 9867 _002738_hash NULL -+_002739_hash carl9170_handle_mpdu 3 11056 _002739_hash NULL -+_002740_hash do_trimming 3 26952 _002740_hash NULL -+_002741_hash edge_tty_recv 4 18667 _002741_hash &_002721_hash -+_002742_hash fwnet_receive_packet 9 50537 _002742_hash NULL -+_002743_hash gigaset_if_receive 3 4861 _002743_hash NULL -+_002744_hash gsm_dlci_data 3 14155 _002744_hash NULL -+_002745_hash handle_rx_packet 3 58993 _002745_hash NULL -+_002746_hash HDLC_irq 2 8709 _002746_hash NULL -+_002747_hash hdlc_rpr_irq 2 10240 _002747_hash NULL -+_002749_hash ifx_spi_insert_flip_string 3 51752 _002749_hash NULL -+_002753_hash ip_nat_sdp_media 8 23386 _002753_hash NULL -+_002754_hash ip_send_unicast_reply 6 38714 _002754_hash NULL -+_002756_hash ipwireless_network_packet_received 4 51277 _002756_hash NULL -+_002757_hash ipwireless_tty_received 3 49154 _002757_hash NULL -+_002758_hash iscsi_iser_recv 4 41948 _002758_hash NULL -+_002759_hash l2cap_bredr_sig_cmd 3 49065 _002759_hash NULL -+_002760_hash l2cap_sock_alloc_skb_cb 2 33532 _002760_hash NULL -+_002761_hash l2cap_sock_recvmsg 4 59886 _002761_hash NULL -+_002762_hash llcp_allocate_pdu 3 19866 _002762_hash NULL -+_002763_hash macvtap_recvmsg 4 63949 _002763_hash NULL -+_002764_hash osd_req_list_dev_partitions 4 60027 _002764_hash NULL -+_002765_hash osd_req_list_partition_collections 5 38223 _002765_hash NULL -+_002766_hash osst_do_scsi 4 44410 _002766_hash NULL -+_002767_hash ping_sendmsg 4 3782 _002767_hash NULL -+_002768_hash ppp_cp_event 6 2965 _002768_hash NULL -+_002769_hash pty_write 3 44757 _002769_hash &_001733_hash -+_002770_hash push_rx 3 28939 _002770_hash NULL -+_002772_hash qla2x00_handle_queue_full 2 24365 _002772_hash NULL -+_002773_hash qla4xxx_change_queue_depth 2 1268 _002773_hash NULL -+_002774_hash rfcomm_sock_recvmsg 4 22227 _002774_hash NULL -+_002775_hash scsi_execute_req 5 42088 _002775_hash NULL -+_002776_hash _scsih_change_queue_depth 2 26230 _002776_hash NULL -+_002777_hash sctp_sf_abort_violation 6 38380 _002777_hash NULL -+_002778_hash send_to_tty 3 45141 _002778_hash NULL -+_002780_hash sky2_receive 2 13407 _002780_hash NULL -+_002781_hash spi_execute 5 28736 _002781_hash NULL -+_002782_hash submit_inquiry 3 42108 _002782_hash NULL -+_002783_hash tcp_dma_try_early_copy 3 4457 _002783_hash NULL -+_002784_hash tcp_sacktag_walk 6 49703 _002784_hash NULL -+_002785_hash tcp_write_xmit 2 64602 _002785_hash NULL -+_002786_hash ti_recv 4 22027 _002786_hash NULL -+_002787_hash tun_do_read 4 50800 _002787_hash NULL -+_002788_hash ubi_leb_change 4 10289 _002788_hash NULL -+_002789_hash ubi_leb_write 4-5 5478 _002789_hash NULL -+_002791_hash udp_sendmsg 4 4492 _002791_hash NULL -+_002792_hash unix_seqpacket_recvmsg 4 23062 _002792_hash &_000477_hash -+_002793_hash v9fs_cached_file_read 3 2514 _002793_hash NULL -+_002794_hash write_leb 5 36957 _002794_hash NULL -+_002795_hash xfs_buf_read_map 3 40226 _002795_hash NULL -+_002796_hash xfs_trans_get_buf_map 4 2927 _002796_hash NULL -+_002797_hash xlog_do_log_recovery 3 17550 _002797_hash NULL -+_002798_hash ath6kl_wmi_add_wow_pattern_cmd 4 12842 _002798_hash NULL -+_002799_hash ath6kl_wmi_beginscan_cmd 8 25462 _002799_hash NULL -+_002800_hash ath6kl_wmi_send_probe_response_cmd 6 31728 _002800_hash NULL -+_002801_hash ath6kl_wmi_set_appie_cmd 5 39266 _002801_hash NULL -+_002802_hash ath6kl_wmi_set_ie_cmd 6 37260 _002802_hash NULL -+_002803_hash ath6kl_wmi_startscan_cmd 8 33674 _002803_hash NULL -+_002804_hash ath6kl_wmi_test_cmd 3 27312 _002804_hash NULL -+_002805_hash brcmf_sdbrcm_membytes 3-5 37324 _002805_hash NULL -+_002807_hash brcmf_sdbrcm_read_control 3 22721 _002807_hash NULL -+_002808_hash brcmf_tx_frame 3 20978 _002808_hash NULL -+_002809_hash __carl9170_rx 3 56784 _002809_hash NULL -+_002810_hash ch_do_scsi 4 31171 _002810_hash NULL -+_002811_hash dbg_leb_change 4 23555 _002811_hash NULL -+_002812_hash dbg_leb_write 4-5 63555 _002812_hash &_000971_hash -+_002814_hash gluebi_write 3 27905 _002814_hash NULL -+_002815_hash hdlc_irq_one 2 3944 _002815_hash NULL -+_002819_hash iser_rcv_completion 2 8048 _002819_hash NULL -+_002820_hash lock_loop 1 61681 _002820_hash NULL -+_002821_hash process_rcvd_data 3 6679 _002821_hash NULL -+_002822_hash brcmf_sdbrcm_bus_txctl 3 42492 _002822_hash NULL -+_002823_hash carl9170_rx 3 13272 _002823_hash NULL -+_002824_hash carl9170_rx_stream 3 1334 _002824_hash NULL -+_002826_hash mpt_lan_receive_post_turbo 2 13592 _002826_hash NULL -+_002827_hash padzero 1 55 _002827_hash &_002251_hash -+_002828_hash scsi_mode_sense 5 16835 _002828_hash NULL -+_002829_hash scsi_vpd_inquiry 4 30040 _002829_hash NULL -+_002830_hash ses_recv_diag 4 47143 _002830_hash &_000679_hash -+_002831_hash ses_send_diag 4 64527 _002831_hash NULL -+_002832_hash tcp_push_one 2 48816 _002832_hash NULL -+_002833_hash __tcp_push_pending_frames 2 48148 _002833_hash NULL -+_002834_hash trim_bitmaps 3 24158 _002834_hash NULL -+_002835_hash tun_recvmsg 4 48463 _002835_hash NULL -+_002836_hash ubifs_leb_change 4 17789 _002836_hash NULL -+_002837_hash ubifs_leb_write 4-5 22679 _002837_hash NULL -+_002839_hash xfs_buf_readahead_map 3 44248 _002839_hash &_000851_hash -+_002840_hash xfs_trans_read_buf_map 5 37487 _002840_hash NULL -+_002841_hash xlog_do_recover 3 59789 _002841_hash NULL -+_002842_hash btrfs_trim_block_group 3 28963 _002842_hash NULL -+_002843_hash do_write_orph_node 2 64343 _002843_hash NULL -+_002844_hash fix_unclean_leb 3 23188 _002844_hash NULL -+_002845_hash fixup_leb 3 43256 _002845_hash NULL -+_002846_hash recover_head 3 17904 _002846_hash NULL -+_002847_hash scsi_get_vpd_page 4 51951 _002847_hash NULL -+_002848_hash sd_do_mode_sense 5 11507 _002848_hash NULL -+_002849_hash tcp_push 3 10680 _002849_hash NULL -+_002850_hash ubifs_wbuf_write_nolock 3 64946 _002850_hash NULL -+_002851_hash ubifs_write_node 3-5 11258 _002851_hash NULL -+_002852_hash ubifs_recover_leb 3 60639 _002852_hash NULL -+_002853_hash write_head 4 30481 _002853_hash NULL -+_002854_hash write_node 4 33121 _002854_hash NULL -+_002855_hash ubifs_recover_log_leb 3 12079 _002855_hash NULL -+_002856_hash replay_log_leb 3 18704 _002856_hash NULL -+_002857_hash alloc_cpu_rmap 1 65363 _002857_hash NULL -+_002858_hash alloc_ebda_hpc 1-2 50046 _002858_hash NULL -+_002860_hash alloc_sched_domains 1 28972 _002860_hash NULL -+_002861_hash amthi_read 4 45831 _002861_hash NULL -+_002862_hash bcm_char_read 3 31750 _002862_hash NULL -+_002863_hash BcmCopySection 5 2035 _002863_hash NULL -+_002864_hash buffer_from_user 3 51826 _002864_hash NULL -+_002865_hash buffer_to_user 3 35439 _002865_hash NULL -+_002866_hash card_send_command 3 40757 _002866_hash NULL -+_002867_hash chd_dec_fetch_cdata 3 50926 _002867_hash NULL -+_002868_hash copy_nodes_to_user 2 63807 _002868_hash NULL -+_002869_hash create_log 2 8225 _002869_hash NULL -+_002870_hash crystalhd_create_dio_pool 2 3427 _002870_hash NULL -+_002871_hash crystalhd_user_data 3 18407 _002871_hash NULL -+_002872_hash do_pages_stat 2 4437 _002872_hash NULL -+_002873_hash do_read_log_to_user 4 3236 _002873_hash NULL -+_002874_hash do_write_log_from_user 3 39362 _002874_hash NULL -+_002875_hash evm_read_key 3 54674 _002875_hash NULL -+_002876_hash evm_write_key 3 27715 _002876_hash NULL -+_002877_hash fir16_create 3 5574 _002877_hash NULL -+_002878_hash get_nodes 3 39012 _002878_hash NULL -+_002879_hash __iio_allocate_kfifo 2-3 55738 _002879_hash NULL -+_002881_hash __iio_allocate_sw_ring_buffer 3 4843 _002881_hash NULL -+_002882_hash iio_debugfs_read_reg 3 60908 _002882_hash NULL -+_002883_hash iio_debugfs_write_reg 3 22742 _002883_hash NULL -+_002884_hash iio_device_alloc 1 41440 _002884_hash NULL -+_002885_hash iio_event_chrdev_read 3 54757 _002885_hash NULL -+_002886_hash iio_read_first_n_kfifo 2 57910 _002886_hash NULL -+_002887_hash iio_read_first_n_sw_rb 2 51911 _002887_hash NULL -+_002888_hash ioapic_setup_resources 1 35255 _002888_hash NULL -+_002889_hash keymap_store 4 45406 _002889_hash NULL -+_002890_hash line6_alloc_sysex_buffer 4 28225 _002890_hash NULL -+_002891_hash line6_dumpreq_initbuf 3 53123 _002891_hash NULL -+_002892_hash line6_midibuf_init 2 52425 _002892_hash NULL -+_002893_hash _malloc 1 54077 _002893_hash NULL -+_002894_hash mei_read 3 6507 _002894_hash NULL -+_002895_hash mei_write 3 4005 _002895_hash NULL -+_002896_hash msg_set 3 51725 _002896_hash NULL -+_002897_hash newpart 6 47485 _002897_hash NULL -+_002898_hash OS_kmalloc 1 36909 _002898_hash NULL -+_002899_hash OS_mem_token_alloc 1 14276 _002899_hash NULL -+_002900_hash packet_came 3 18072 _002900_hash NULL -+_002901_hash pcpu_alloc_bootmem 2 62074 _002901_hash NULL -+_002902_hash pcpu_build_alloc_info 1-3-2 41443 _002902_hash NULL -+_002905_hash pcpu_get_vm_areas 3 50085 _002905_hash NULL -+_002906_hash resource_from_user 3 30341 _002906_hash NULL -+_002907_hash rtsx_read_cfg_seq 3-5 48139 _002907_hash NULL -+_002909_hash rtsx_write_cfg_seq 3-5 27485 _002909_hash NULL -+_002911_hash sca3000_read_data 4 57064 _002911_hash NULL -+_002912_hash sca3000_read_first_n_hw_rb 2 11479 _002912_hash NULL -+_002913_hash send_midi_async 3 57463 _002913_hash NULL -+_002914_hash sep_create_dcb_dmatables_context 6 37551 _002914_hash NULL -+_002915_hash sep_create_dcb_dmatables_context_kernel 6 49728 _002915_hash NULL -+_002916_hash sep_create_msgarea_context 4 33829 _002916_hash NULL -+_002917_hash sep_lli_table_secure_dma 2-3 64042 _002917_hash NULL -+_002919_hash sep_lock_user_pages 2-3 57470 _002919_hash &_002488_hash -+_002921_hash sep_prepare_input_output_dma_table_in_dcb 4-5-2-3 63087 _002921_hash NULL -+_002923_hash sep_read 3 17161 _002923_hash NULL -+_002924_hash TransmitTcb 4 12989 _002924_hash NULL -+_002925_hash ValidateDSDParamsChecksum 3 63654 _002925_hash NULL -+_002926_hash Wb35Reg_BurstWrite 4 62327 _002926_hash NULL -+_002927_hash alloc_irq_cpu_rmap 1 28459 _002927_hash NULL -+_002928_hash InterfaceTransmitPacket 3 42058 _002928_hash NULL -+_002929_hash line6_dumpreq_init 3 34473 _002929_hash NULL -+_002931_hash pcpu_embed_first_chunk 1-3-2 24224 _002931_hash NULL -+_002933_hash pcpu_fc_alloc 2 11818 _002933_hash NULL -+_002934_hash pcpu_page_first_chunk 1 20712 _002934_hash NULL -+_002935_hash pod_alloc_sysex_buffer 3 31651 _002935_hash NULL -+_002936_hash r8712_usbctrl_vendorreq 6 48489 _002936_hash NULL -+_002937_hash r871x_set_wpa_ie 3 7000 _002937_hash NULL -+_002938_hash sep_prepare_input_dma_table 2-3 2009 _002938_hash NULL -+_002940_hash sep_prepare_input_output_dma_table 2-4-3 63429 _002940_hash NULL -+_002943_hash sys_get_mempolicy 3 30379 _002943_hash NULL -+_002944_hash sys_mbind 5 7990 _002944_hash NULL -+_002945_hash sys_migrate_pages 2 39825 _002945_hash NULL -+_002946_hash sys_move_pages 2 42626 _002946_hash NULL -+_002947_hash sys_set_mempolicy 3 32608 _002947_hash NULL -+_002948_hash variax_alloc_sysex_buffer 3 15237 _002948_hash NULL -+_002949_hash vme_user_read 3 55338 _002949_hash NULL -+_002950_hash vme_user_write 3 15587 _002950_hash NULL -+_002954_hash variax_set_raw2 4 32374 _002954_hash NULL -+_002955_hash copy_in_user 3 57502 _002955_hash NULL -+_002956_hash __earlyonly_bootmem_alloc 2 23824 _002956_hash NULL -+_002957_hash rfc4106_set_key 3 54519 _002957_hash NULL -+_002958_hash sparse_early_usemaps_alloc_pgdat_section 2 62304 _002958_hash NULL -+_002959_hash sparse_early_usemaps_alloc_node 4 9269 _002959_hash NULL -+_002960_hash sparse_mem_maps_populate_node 4 12669 _002960_hash &_002242_hash -+_002961_hash vmemmap_alloc_block 1 43245 _002961_hash NULL -+_002962_hash sparse_early_mem_maps_alloc_node 4 36971 _002962_hash NULL -+_002963_hash vmemmap_alloc_block_buf 1 61126 _002963_hash NULL -+_002964_hash alloc_mr 1 45935 _002964_hash NULL -+_002965_hash atomic_counters_read 3 48827 _002965_hash NULL -+_002966_hash atomic_stats_read 3 36228 _002966_hash NULL -+_002967_hash capabilities_read 3 58457 _002967_hash NULL -+_002968_hash compat_core_sys_select 1 65285 _002968_hash NULL -+_002969_hash compat_dccp_setsockopt 5 51263 _002969_hash NULL -+_002970_hash compat_do_arpt_set_ctl 4 12184 _002970_hash NULL -+_002971_hash compat_do_ip6t_set_ctl 4 3184 _002971_hash NULL -+_002972_hash compat_do_ipt_set_ctl 4 58466 _002972_hash &_002078_hash -+_002973_hash compat_filldir 3 32999 _002973_hash NULL -+_002974_hash compat_filldir64 3 35354 _002974_hash NULL -+_002975_hash compat_fillonedir 3 15620 _002975_hash NULL -+_002976_hash compat_ip_setsockopt 5 13870 _003094_hash NULL nohasharray -+_002977_hash compat_ipv6_setsockopt 5 20468 _002977_hash NULL -+_002978_hash compat_mpctl_ioctl 2 45671 _002978_hash NULL -+_002979_hash compat_raw_setsockopt 5 30634 _002979_hash NULL -+_002980_hash compat_rawv6_setsockopt 5 4967 _002980_hash NULL -+_002981_hash compat_rw_copy_check_uvector 3 22001 _003263_hash NULL nohasharray -+_002982_hash compat_sock_setsockopt 5 23 _002982_hash NULL -+_002983_hash compat_sys_get_mempolicy 3 31109 _002983_hash NULL -+_002984_hash compat_sys_kexec_load 2 35674 _002984_hash NULL -+_002985_hash compat_sys_keyctl 4 9639 _002985_hash NULL -+_002986_hash compat_sys_mbind 5 36256 _002986_hash NULL -+_002987_hash compat_sys_migrate_pages 2 3157 _002987_hash NULL -+_002988_hash compat_sys_move_pages 2 5861 _002988_hash NULL -+_002989_hash compat_sys_mq_timedsend 3 31060 _002989_hash NULL -+_002990_hash compat_sys_msgrcv 2 7482 _002990_hash NULL -+_002991_hash compat_sys_msgsnd 2 10738 _002991_hash NULL -+_002992_hash compat_sys_semtimedop 3 3606 _002992_hash NULL -+_002993_hash compat_sys_set_mempolicy 3 57742 _002993_hash &_002614_hash -+_002994_hash __copy_in_user 3 34790 _002994_hash NULL -+_002995_hash dev_counters_read 3 19216 _002995_hash NULL -+_002996_hash dev_names_read 3 38509 _002996_hash NULL -+_002997_hash driver_names_read 3 60399 _002997_hash NULL -+_002998_hash driver_stats_read 3 8944 _002998_hash NULL -+_002999_hash evdev_ioctl_compat 2 13851 _002999_hash NULL -+_003000_hash evtchn_read 3 3569 _003000_hash NULL -+_003001_hash evtchn_write 3 43278 _003001_hash NULL -+_003002_hash fat_compat_ioctl_filldir 3 36328 _003002_hash NULL -+_003003_hash flash_read 3 57843 _003003_hash NULL -+_003004_hash flash_write 3 62354 _003004_hash NULL -+_003005_hash fw_device_op_compat_ioctl 2 42804 _003005_hash NULL -+_003006_hash gather_array 3 56641 _003006_hash NULL -+_003007_hash ghash_async_setkey 3 60001 _003007_hash NULL -+_003008_hash gntdev_alloc_map 2 35145 _003008_hash NULL -+_003009_hash gnttab_map 2 56439 _003009_hash NULL -+_003010_hash gru_alloc_gts 2-3 60056 _003010_hash &_000981_hash -+_003012_hash hiddev_compat_ioctl 2 41255 _003012_hash NULL -+_003013_hash init_cdev 1 8274 _003013_hash NULL -+_003014_hash init_per_cpu 1 17880 _003014_hash NULL -+_003015_hash ipath_create_cq 2 45586 _003015_hash NULL -+_003016_hash ipath_get_base_info 3 7043 _003016_hash NULL -+_003017_hash ipath_init_qp_table 2 25167 _003017_hash NULL -+_003018_hash ipath_resize_cq 2 712 _003018_hash NULL -+_003019_hash joydev_compat_ioctl 2 8765 _003019_hash NULL -+_003020_hash mon_bin_compat_ioctl 3 50234 _003020_hash NULL -+_003021_hash options_write 3 47243 _003021_hash NULL -+_003022_hash portcntrs_1_read 3 47253 _003022_hash NULL -+_003023_hash portcntrs_2_read 3 56586 _003023_hash NULL -+_003024_hash portnames_read 3 41958 _003024_hash NULL -+_003025_hash ptc_proc_write 3 12076 _003025_hash NULL -+_003026_hash put_cmsg_compat 4 35937 _003026_hash NULL -+_003027_hash qib_alloc_devdata 2 51819 _003027_hash NULL -+_003028_hash qib_alloc_fast_reg_page_list 2 10507 _003028_hash NULL -+_003029_hash qib_cdev_init 1 34778 _003029_hash NULL -+_003030_hash qib_create_cq 2 27497 _003030_hash NULL -+_003031_hash qib_diag_write 3 62133 _003031_hash NULL -+_003032_hash qib_get_base_info 3 11369 _003032_hash NULL -+_003033_hash qib_resize_cq 2 53090 _003033_hash NULL -+_003034_hash qsfp_1_read 3 21915 _003034_hash NULL -+_003035_hash qsfp_2_read 3 31491 _003035_hash NULL -+_003036_hash queue_reply 3 22416 _003036_hash NULL -+_003037_hash spidev_compat_ioctl 2 63778 _003037_hash NULL -+_003038_hash split 2 11691 _003038_hash NULL -+_003039_hash stats_read_ul 3 32751 _003039_hash NULL -+_003040_hash sys32_ipc 3 7238 _003040_hash NULL -+_003041_hash sys32_rt_sigpending 2 25814 _003041_hash NULL -+_003042_hash tunables_read 3 36385 _003042_hash NULL -+_003043_hash tunables_write 3 59563 _003043_hash NULL -+_003044_hash xenbus_file_write 3 6282 _003044_hash NULL -+_003045_hash xlbd_reserve_minors 1-2 18365 _003045_hash NULL -+_003047_hash xpc_kmalloc_cacheline_aligned 1 42895 _003047_hash NULL -+_003048_hash xpc_kzalloc_cacheline_aligned 1 65433 _003048_hash NULL -+_003049_hash xsd_read 3 15653 _003049_hash NULL -+_003050_hash compat_do_readv_writev 4 49102 _003050_hash NULL -+_003051_hash compat_keyctl_instantiate_key_iov 3 57431 _003088_hash NULL nohasharray -+_003052_hash compat_process_vm_rw 3-5 22254 _003052_hash NULL -+_003054_hash compat_sys_select 1 16131 _003054_hash NULL -+_003055_hash compat_sys_setsockopt 5 3326 _003055_hash NULL -+_003056_hash compat_udp_setsockopt 5 38840 _003056_hash NULL -+_003057_hash compat_udpv6_setsockopt 5 42981 _003057_hash NULL -+_003058_hash do_compat_pselect 1 10398 _003058_hash NULL -+_003059_hash gnttab_expand 1 15817 _003059_hash NULL -+_003060_hash ipath_cdev_init 1 37752 _003060_hash NULL -+_003061_hash ipath_reg_phys_mr 3 23918 _003061_hash &_000999_hash -+_003062_hash qib_alloc_fast_reg_mr 2 12526 _003062_hash NULL -+_003063_hash qib_reg_phys_mr 3 60202 _003063_hash &_000897_hash -+_003064_hash compat_readv 3 30273 _003064_hash NULL -+_003065_hash compat_sys_process_vm_readv 3-5 15374 _003065_hash NULL -+_003067_hash compat_sys_process_vm_writev 3-5 41194 _003067_hash NULL -+_003069_hash compat_sys_pselect6 1 14105 _003069_hash NULL -+_003070_hash compat_writev 3 60063 _003070_hash NULL -+_003071_hash get_free_entries 1 46030 _003071_hash NULL -+_003072_hash compat_sys_preadv64 3 24283 _003072_hash NULL -+_003073_hash compat_sys_pwritev64 3 51151 _003073_hash NULL -+_003074_hash compat_sys_readv 3 20911 _003074_hash NULL -+_003075_hash compat_sys_writev 3 5784 _003075_hash NULL -+_003076_hash gnttab_alloc_grant_references 1 18240 _003076_hash NULL -+_003077_hash compat_sys_preadv 3 583 _003077_hash NULL -+_003078_hash compat_sys_pwritev 3 17886 _003078_hash NULL -+_003079_hash aes_decrypt_fail_read 3 54815 _003079_hash NULL -+_003080_hash aes_decrypt_interrupt_read 3 19910 _003080_hash NULL -+_003081_hash aes_decrypt_packets_read 3 10155 _003081_hash NULL -+_003082_hash aes_encrypt_fail_read 3 32562 _003082_hash NULL -+_003083_hash aes_encrypt_interrupt_read 3 39919 _003083_hash NULL -+_003084_hash aes_encrypt_packets_read 3 48666 _003084_hash NULL -+_003085_hash agp_remap 2 30665 _003085_hash NULL -+_003086_hash alloc_apertures 1 56561 _003086_hash NULL -+_003087_hash allocate_probes 1 40204 _003087_hash NULL -+_003088_hash alloc_ftrace_hash 1 57431 _003088_hash &_003051_hash -+_003089_hash alloc_page_cgroup 1 2919 _003089_hash NULL -+_003090_hash __alloc_preds 2 9492 _003090_hash NULL -+_003091_hash __alloc_pred_stack 2 26687 _003091_hash NULL -+_003092_hash alloc_sched_domains 1 47756 _003092_hash NULL -+_003093_hash alloc_trace_probe 6 38720 _003093_hash NULL -+_003094_hash alloc_trace_uprobe 3 13870 _003094_hash &_002976_hash -+_003095_hash ath6kl_sdio_alloc_prep_scat_req 2 51986 _003095_hash NULL -+_003096_hash ath6kl_usb_post_recv_transfers 2 32892 _003096_hash NULL -+_003097_hash ath6kl_usb_submit_ctrl_in 6 32880 _003097_hash &_000795_hash -+_003098_hash ath6kl_usb_submit_ctrl_out 6 9978 _003098_hash NULL -+_003099_hash av7110_ipack_init 2 46655 _003099_hash NULL -+_003100_hash av7110_vbi_write 3 34384 _003100_hash NULL -+_003101_hash bin_uuid 3 28999 _003101_hash NULL -+_003102_hash blk_dropped_read 3 4168 _003102_hash NULL -+_003103_hash blk_msg_write 3 13655 _003103_hash NULL -+_003104_hash brcmf_usbdev_qinit 2 19090 _003104_hash &_001715_hash -+_003105_hash brcmf_usb_dl_cmd 4 53130 _003105_hash NULL -+_003106_hash ci_ll_init 3 12930 _003106_hash NULL -+_003107_hash ci_ll_write 4 3740 _003107_hash NULL -+_003108_hash conf_read 3 55786 _003108_hash NULL -+_003109_hash __copy_from_user_inatomic_nocache 3 49921 _003109_hash NULL -+_003110_hash cx24116_writeregN 4 41975 _003110_hash NULL -+_003111_hash cyttsp_probe 4 1940 _003111_hash NULL -+_003112_hash dccpprobe_read 3 52549 _003112_hash NULL -+_003113_hash ddb_input_read 3 9743 _003113_hash NULL -+_003114_hash ddb_output_write 3 31902 _003114_hash NULL -+_003115_hash __devres_alloc 2 25598 _003115_hash NULL -+_003116_hash dma_rx_errors_read 3 52045 _003116_hash NULL -+_003117_hash dma_rx_requested_read 3 65354 _003117_hash NULL -+_003118_hash dma_tx_errors_read 3 46060 _003118_hash NULL -+_003119_hash dma_tx_requested_read 3 16110 _003203_hash NULL nohasharray -+_003120_hash do_dmabuf_dirty_sou 7 3017 _003120_hash NULL -+_003121_hash do_surface_dirty_sou 7 39678 _003121_hash NULL -+_003122_hash driver_state_read 3 17194 _003122_hash &_001511_hash -+_003123_hash drm_agp_bind_pages 3 56748 _003123_hash NULL -+_003124_hash drm_buffer_alloc 2 44405 _003124_hash NULL -+_003125_hash drm_calloc_large 1-2 65421 _003125_hash NULL -+_003127_hash drm_fb_helper_init 3-4 19044 _003127_hash NULL -+_003129_hash drm_ht_create 2 18853 _003129_hash NULL -+_003130_hash drm_ioctl 2 42813 _003130_hash NULL -+_003131_hash drm_malloc_ab 1-2 16831 _003131_hash NULL -+_003133_hash drm_mode_crtc_set_gamma_size 2 31881 _003133_hash NULL -+_003134_hash drm_plane_init 6 28731 _003134_hash NULL -+_003135_hash drm_property_create 4 51239 _003135_hash NULL -+_003136_hash drm_property_create_blob 2 7414 _003136_hash NULL -+_003137_hash drm_vblank_init 2 11362 _003137_hash NULL -+_003138_hash drm_vmalloc_dma 1 14550 _003138_hash NULL -+_003139_hash dvb_aplay 3 56296 _003139_hash NULL -+_003140_hash dvb_ca_en50221_init 4 45718 _003140_hash NULL -+_003141_hash dvb_ca_en50221_io_write 3 43533 _003141_hash NULL -+_003142_hash dvb_dmxdev_set_buffer_size 2 55643 _003142_hash NULL -+_003143_hash dvbdmx_write 3 19423 _003143_hash NULL -+_003144_hash dvb_dvr_set_buffer_size 2 9840 _003144_hash NULL -+_003145_hash dvb_net_sec 3 37884 _003145_hash NULL -+_003146_hash dvb_play 3 50814 _003146_hash NULL -+_003147_hash dvb_ringbuffer_pkt_read_user 2-5-3 4303 _003147_hash NULL -+_003150_hash dvb_ringbuffer_read_user 3 56702 _003150_hash NULL -+_003151_hash dvb_usercopy 2 14036 _003151_hash NULL -+_003152_hash dw210x_op_rw 6 39915 _003152_hash NULL -+_003153_hash edt_ft5x06_debugfs_raw_data_read 3 28002 _003153_hash NULL -+_003154_hash em_canid_change 3 14150 _003154_hash NULL -+_003155_hash event_calibration_read 3 21083 _003155_hash NULL -+_003156_hash event_enable_read 3 7074 _003156_hash NULL -+_003157_hash event_filter_read 3 23494 _003157_hash NULL -+_003158_hash event_filter_write 3 56609 _003158_hash NULL -+_003159_hash event_heart_beat_read 3 48961 _003159_hash NULL -+_003160_hash event_id_read 3 64288 _003160_hash &_001300_hash -+_003161_hash event_oom_late_read 3 61175 _003161_hash &_001054_hash -+_003162_hash event_phy_transmit_error_read 3 10471 _003162_hash NULL -+_003163_hash event_rx_mem_empty_read 3 40363 _003163_hash NULL -+_003164_hash event_rx_mismatch_read 3 38518 _003164_hash NULL -+_003165_hash event_rx_pool_read 3 25792 _003165_hash NULL -+_003166_hash event_tx_stuck_read 3 19305 _003166_hash NULL -+_003167_hash excessive_retries_read 3 60425 _003167_hash NULL -+_003168_hash flexcop_device_kmalloc 1 54793 _003168_hash NULL -+_003169_hash fm_send_cmd 5 39639 _003169_hash NULL -+_003170_hash __fprog_create 2 41263 _003170_hash NULL -+_003171_hash fq_codel_zalloc 1 15378 _003171_hash NULL -+_003172_hash ftrace_pid_write 3 39710 _003172_hash NULL -+_003173_hash ftrace_profile_read 3 21327 _003173_hash NULL -+_003174_hash fw_stats_raw_read 3 1369 _003174_hash NULL -+_003175_hash get_info 3 55681 _003175_hash NULL -+_003176_hash __get_vm_area_node 1 55305 _003176_hash NULL -+_003177_hash gpio_power_read 3 36059 _003177_hash NULL -+_003178_hash h5_prepare_pkt 4 12085 _003178_hash NULL -+_003179_hash hsc_msg_alloc 1 60990 _003179_hash NULL -+_003180_hash hsc_write 3 55875 _003180_hash NULL -+_003181_hash hsi_alloc_controller 1 41802 _003181_hash NULL -+_003182_hash hsi_register_board_info 2 13820 _003182_hash NULL -+_003183_hash hugetlb_cgroup_read 5 49259 _003183_hash NULL -+_003184_hash i915_cache_sharing_read 3 24775 _003184_hash NULL -+_003185_hash i915_cache_sharing_write 3 57961 _003185_hash NULL -+_003186_hash i915_max_freq_read 3 20581 _003186_hash NULL -+_003187_hash i915_max_freq_write 3 11350 _003187_hash NULL -+_003188_hash i915_min_freq_read 3 38470 _003188_hash NULL -+_003189_hash i915_min_freq_write 3 10981 _003189_hash NULL -+_003190_hash i915_ring_stop_read 3 42549 _003190_hash &_000740_hash -+_003191_hash i915_ring_stop_write 3 59010 _003191_hash NULL -+_003192_hash i915_wedged_read 3 35474 _003192_hash NULL -+_003193_hash i915_wedged_write 3 47771 _003193_hash NULL -+_003194_hash ieee802154_alloc_device 1 13767 _003194_hash NULL -+_003195_hash intel_sdvo_write_cmd 4 54377 _003195_hash &_000832_hash -+_003196_hash isr_cmd_cmplt_read 3 53439 _003196_hash NULL -+_003197_hash isr_commands_read 3 41398 _003197_hash NULL -+_003198_hash isr_decrypt_done_read 3 49490 _003198_hash NULL -+_003199_hash isr_dma0_done_read 3 8574 _003199_hash NULL -+_003200_hash isr_dma1_done_read 3 48159 _003200_hash NULL -+_003201_hash isr_fiqs_read 3 34687 _003201_hash NULL -+_003202_hash isr_host_acknowledges_read 3 54136 _003202_hash NULL -+_003203_hash isr_hw_pm_mode_changes_read 3 16110 _003203_hash &_003119_hash -+_003204_hash isr_irqs_read 3 9181 _003204_hash NULL -+_003205_hash isr_low_rssi_read 3 64789 _003205_hash NULL -+_003206_hash isr_pci_pm_read 3 30271 _003206_hash NULL -+_003207_hash isr_rx_headers_read 3 38325 _003207_hash NULL -+_003208_hash isr_rx_mem_overflow_read 3 43025 _003208_hash NULL -+_003209_hash isr_rx_procs_read 3 31804 _003209_hash NULL -+_003210_hash isr_rx_rdys_read 3 35283 _003210_hash NULL -+_003211_hash isr_tx_exch_complete_read 3 16103 _003211_hash NULL -+_003212_hash isr_tx_procs_read 3 23084 _003212_hash NULL -+_003213_hash isr_wakeups_read 3 49607 _003213_hash NULL -+_003214_hash LoadBitmap 2 19658 _003214_hash NULL -+_003215_hash mem_cgroup_read 5 22461 _003215_hash NULL -+_003216_hash mic_calc_failure_read 3 59700 _003216_hash NULL -+_003217_hash mic_rx_pkts_read 3 27972 _003217_hash NULL -+_003218_hash __module_alloc 1 50004 _003218_hash NULL -+_003219_hash module_alloc_update_bounds_rw 1 63233 _003219_hash NULL -+_003220_hash module_alloc_update_bounds_rx 1 58634 _003220_hash NULL -+_003221_hash mwifiex_usb_submit_rx_urb 2 54558 _003221_hash NULL -+_003222_hash nfc_hci_hcp_message_tx 6 14534 _003222_hash NULL -+_003223_hash nfc_hci_set_param 5 40697 _003223_hash NULL -+_003224_hash nfc_shdlc_alloc_skb 2 12741 _003224_hash NULL -+_003225_hash opera1_xilinx_rw 5 31453 _003225_hash NULL -+_003226_hash persistent_ram_vmap 1-2 709 _003226_hash NULL -+_003228_hash prctl_set_mm 3 64538 _003228_hash NULL -+_003229_hash probe_kernel_write 3 17481 _003229_hash NULL -+_003230_hash proc_fault_inject_read 3 36802 _003230_hash NULL -+_003231_hash proc_fault_inject_write 3 21058 _003231_hash NULL -+_003232_hash ps_pspoll_max_apturn_read 3 6699 _003232_hash NULL -+_003233_hash ps_pspoll_timeouts_read 3 11776 _003233_hash NULL -+_003234_hash ps_pspoll_utilization_read 3 5361 _003234_hash NULL -+_003235_hash ps_upsd_max_apturn_read 3 19918 _003235_hash NULL -+_003236_hash ps_upsd_max_sptime_read 3 63362 _003236_hash NULL -+_003237_hash ps_upsd_timeouts_read 3 28924 _003237_hash NULL -+_003238_hash ps_upsd_utilization_read 3 51669 _003238_hash NULL -+_003239_hash ptp_filter_init 2 36780 _003239_hash NULL -+_003240_hash pwr_disable_ps_read 3 13176 _003240_hash NULL -+_003241_hash pwr_elp_enter_read 3 5324 _003241_hash NULL -+_003242_hash pwr_enable_ps_read 3 17686 _003242_hash NULL -+_003243_hash pwr_fix_tsf_ps_read 3 26627 _003243_hash NULL -+_003244_hash pwr_missing_bcns_read 3 25824 _003244_hash NULL -+_003245_hash pwr_power_save_off_read 3 18355 _003245_hash NULL -+_003246_hash pwr_ps_enter_read 3 26935 _003246_hash &_000512_hash -+_003247_hash pwr_rcvd_awake_beacons_read 3 50505 _003247_hash NULL -+_003248_hash pwr_rcvd_beacons_read 3 52836 _003248_hash NULL -+_003249_hash pwr_tx_without_ps_read 3 48423 _003249_hash NULL -+_003250_hash pwr_tx_with_ps_read 3 60851 _003250_hash NULL -+_003251_hash pwr_wake_on_host_read 3 26321 _003251_hash NULL -+_003252_hash pwr_wake_on_timer_exp_read 3 22640 _003252_hash NULL -+_003253_hash rb_simple_read 3 45972 _003253_hash NULL -+_003254_hash read_file_dfs 3 43145 _003254_hash NULL -+_003255_hash retry_count_read 3 52129 _003255_hash NULL -+_003256_hash rx_dropped_read 3 44799 _003256_hash NULL -+_003257_hash rx_fcs_err_read 3 62844 _003257_hash NULL -+_003258_hash rx_hdr_overflow_read 3 64407 _003258_hash NULL -+_003259_hash rx_hw_stuck_read 3 57179 _003259_hash NULL -+_003260_hash rx_out_of_mem_read 3 10157 _003260_hash NULL -+_003261_hash rx_path_reset_read 3 23801 _003261_hash NULL -+_003262_hash rxpipe_beacon_buffer_thres_host_int_trig_rx_data_read 3 55106 _003262_hash NULL -+_003263_hash rxpipe_descr_host_int_trig_rx_data_read 3 22001 _003263_hash &_002981_hash -+_003264_hash rxpipe_missed_beacon_host_int_trig_rx_data_read 3 63405 _003264_hash NULL -+_003265_hash rxpipe_rx_prep_beacon_drop_read 3 2403 _003265_hash NULL -+_003266_hash rxpipe_tx_xfr_host_int_trig_rx_data_read 3 35538 _003266_hash NULL -+_003267_hash rx_reset_counter_read 3 58001 _003267_hash NULL -+_003268_hash rx_xfr_hint_trig_read 3 40283 _003268_hash NULL -+_003269_hash saa7146_vmalloc_build_pgtable 2 19780 _003269_hash NULL -+_003270_hash sched_feat_write 3 55202 _003270_hash NULL -+_003271_hash sd_alloc_ctl_entry 1 29708 _003271_hash NULL -+_003272_hash shmem_pread_fast 3 34147 _003272_hash NULL -+_003273_hash shmem_pread_slow 3 3198 _003273_hash NULL -+_003274_hash shmem_pwrite_slow 3 31741 _003274_hash NULL -+_003275_hash show_header 3 4722 _003275_hash &_000745_hash -+_003276_hash stack_max_size_read 3 1445 _003276_hash NULL -+_003277_hash subsystem_filter_read 3 62310 _003277_hash NULL -+_003278_hash subsystem_filter_write 3 13022 _003278_hash NULL -+_003279_hash swap_cgroup_swapon 2 13614 _003279_hash NULL -+_003280_hash system_enable_read 3 25815 _003280_hash NULL -+_003281_hash tda10048_writeregbulk 4 11050 _003281_hash NULL -+_003282_hash tlbflush_read_file 3 64661 _003282_hash NULL -+_003283_hash trace_options_core_read 3 47390 _003283_hash NULL -+_003284_hash trace_options_read 3 11419 _003284_hash NULL -+_003285_hash trace_parser_get_init 2 31379 _003285_hash NULL -+_003286_hash traceprobe_probes_write 3 64969 _003286_hash NULL -+_003287_hash trace_seq_to_user 3 65398 _003287_hash NULL -+_003288_hash tracing_buffers_read 3 11124 _003288_hash NULL -+_003289_hash tracing_clock_write 3 27961 _003289_hash NULL -+_003290_hash tracing_cpumask_read 3 7010 _003290_hash NULL -+_003291_hash tracing_ctrl_read 3 46922 _003291_hash NULL -+_003292_hash tracing_entries_read 3 8345 _003292_hash NULL -+_003293_hash tracing_max_lat_read 3 8890 _003293_hash NULL -+_003294_hash tracing_read_dyn_info 3 45468 _003294_hash NULL -+_003295_hash tracing_readme_read 3 16493 _003295_hash NULL -+_003296_hash tracing_saved_cmdlines_read 3 21434 _003296_hash NULL -+_003297_hash tracing_set_trace_read 3 44122 _003297_hash NULL -+_003298_hash tracing_set_trace_write 3 57096 _003298_hash NULL -+_003299_hash tracing_stats_read 3 34537 _003299_hash NULL -+_003300_hash tracing_total_entries_read 3 62817 _003300_hash NULL -+_003301_hash tracing_trace_options_write 3 153 _003301_hash NULL -+_003302_hash tstats_write 3 60432 _003302_hash &_000009_hash -+_003303_hash ttm_bo_fbdev_io 4 9805 _003303_hash NULL -+_003304_hash ttm_bo_io 5 47000 _003304_hash NULL -+_003305_hash ttm_dma_page_pool_free 2 34135 _003305_hash NULL -+_003306_hash ttm_page_pool_free 2 61661 _003306_hash NULL -+_003307_hash ttusb2_msg 4 3100 _003307_hash NULL -+_003308_hash tx_internal_desc_overflow_read 3 47300 _003308_hash NULL -+_003309_hash tx_queue_len_read 3 1463 _003309_hash NULL -+_003310_hash tx_queue_status_read 3 44978 _003310_hash NULL -+_003311_hash u_memcpya 2-3 30139 _003311_hash NULL -+_003313_hash usb_allocate_stream_buffers 3 8964 _003313_hash NULL -+_003314_hash vifs_state_read 3 33762 _003314_hash NULL -+_003315_hash vmalloc_to_sg 2 58354 _003315_hash NULL -+_003316_hash vm_map_ram 2 23078 _003316_hash &_001095_hash -+_003317_hash vmw_execbuf_process 5 22885 _003317_hash NULL -+_003318_hash vmw_fifo_reserve 2 12141 _003318_hash NULL -+_003319_hash vmw_kms_present 9 38130 _003319_hash NULL -+_003320_hash vmw_kms_readback 6 5727 _003320_hash NULL -+_003321_hash wep_addr_key_count_read 3 20174 _003321_hash NULL -+_003322_hash wep_decrypt_fail_read 3 58567 _003322_hash NULL -+_003323_hash wep_default_key_count_read 3 43035 _003323_hash NULL -+_003324_hash wep_interrupt_read 3 41492 _003324_hash NULL -+_003325_hash wep_key_not_found_read 3 13377 _003325_hash &_000952_hash -+_003326_hash wep_packets_read 3 18751 _003326_hash NULL -+_003327_hash wl1251_cmd_template_set 4 6172 _003327_hash NULL -+_003328_hash wl1271_format_buffer 2 20834 _003328_hash NULL -+_003329_hash wl1271_rx_filter_alloc_field 5 46721 _003329_hash NULL -+_003330_hash wl12xx_cmd_build_probe_req 6-8 54946 _003330_hash NULL -+_003332_hash wlcore_alloc_hw 1 7785 _003332_hash NULL -+_003333_hash aggr_size_rx_size_read 3 33526 _003333_hash NULL -+_003334_hash aggr_size_tx_agg_vs_rate_read 3 21438 _003334_hash NULL -+_003335_hash alloc_and_copy_ftrace_hash 1 29368 _003335_hash NULL -+_003336_hash alloc_bulk_urbs_generic 5 12127 _003336_hash NULL -+_003337_hash alloc_ieee80211 1 20063 _003337_hash NULL -+_003338_hash alloc_ieee80211_rsl 1 34564 _003338_hash NULL -+_003339_hash alloc_perm_bits 2 1532 _003339_hash NULL -+_003340_hash alloc_private 2 22399 _003340_hash NULL -+_003341_hash alloc_rtllib 1 51136 _003341_hash NULL -+_003342_hash alloc_rx_desc_ring 2 18016 _003342_hash NULL -+_003343_hash arcfb_write 3 8702 _003343_hash NULL -+_003344_hash ath6kl_usb_bmi_read 3 48745 _003344_hash NULL -+_003345_hash ath6kl_usb_bmi_write 3 2454 _003345_hash &_001020_hash -+_003346_hash ath6kl_usb_ctrl_msg_exchange 4 33327 _003346_hash NULL -+_003347_hash au0828_init_isoc 2-3 61917 _003347_hash NULL -+_003349_hash auok190xfb_write 3 37001 _003349_hash NULL -+_003350_hash beacon_interval_read 3 7091 _003350_hash NULL -+_003351_hash brcmf_usb_attach 1-2 44656 _003351_hash NULL -+_003353_hash broadsheetfb_write 3 39976 _003353_hash NULL -+_003354_hash broadsheet_spiflash_rewrite_sector 2 54864 _003354_hash NULL -+_003355_hash ci13xxx_add_device 3 14456 _003355_hash NULL -+_003356_hash cmpk_message_handle_tx 4 54024 _003356_hash NULL -+_003357_hash comedi_alloc_subdevices 2 29207 _003357_hash NULL -+_003358_hash comedi_buf_alloc 3 24822 _003358_hash NULL -+_003359_hash comedi_read 3 13199 _003359_hash NULL -+_003360_hash comedi_write 3 47926 _003360_hash NULL -+_003361_hash create_trace_probe 1 20175 _003361_hash NULL -+_003362_hash create_trace_uprobe 1 13184 _003362_hash NULL -+_003363_hash cx18_copy_buf_to_user 4 22735 _003363_hash NULL -+_003364_hash cx231xx_init_bulk 2-3 47024 _003364_hash NULL -+_003366_hash cx231xx_init_isoc 2-3 56453 _003366_hash NULL -+_003368_hash cx231xx_init_vbi_isoc 2-3 28053 _003368_hash NULL -+_003370_hash da9052_group_write 3 4534 _003370_hash NULL -+_003371_hash debug_debug1_read 3 8856 _003371_hash NULL -+_003372_hash debug_debug2_read 3 30526 _003372_hash NULL -+_003373_hash debug_debug3_read 3 56894 _003373_hash NULL -+_003374_hash debug_debug4_read 3 61367 _003374_hash NULL -+_003375_hash debug_debug5_read 3 2291 _003375_hash NULL -+_003376_hash debug_debug6_read 3 33168 _003376_hash NULL -+_003377_hash dev_read 3 56369 _003377_hash NULL -+_003378_hash do_dmabuf_dirty_ldu 6 52241 _003378_hash NULL -+_003379_hash drm_compat_ioctl 2 51717 _003379_hash NULL -+_003380_hash drm_mode_create_tv_properties 2 23122 _003380_hash NULL -+_003381_hash drm_property_create_bitmask 5 30195 _003381_hash NULL -+_003382_hash drm_property_create_enum 5 29201 _003382_hash NULL -+_003383_hash dsp_buffer_alloc 2 11684 _003383_hash NULL -+_003384_hash dt3155_alloc_coherent 2 58073 _003384_hash NULL -+_003385_hash dtim_interval_read 3 654 _003385_hash NULL -+_003386_hash dvb_audio_write 3 51275 _003386_hash NULL -+_003387_hash dvb_ca_en50221_io_ioctl 2 26490 _003387_hash NULL -+_003388_hash dvb_ca_write 3 41171 _003388_hash NULL -+_003389_hash dvb_demux_ioctl 2 42733 _003389_hash NULL -+_003390_hash dvb_dmxdev_buffer_read 4 20682 _003390_hash NULL -+_003391_hash dvb_dvr_ioctl 2 49182 _003391_hash NULL -+_003392_hash dvb_generic_ioctl 2 21810 _003392_hash NULL -+_003393_hash dvb_net_ioctl 2 61559 _003393_hash NULL -+_003394_hash dvb_net_sec_callback 2 28786 _003394_hash NULL -+_003396_hash dvb_video_write 3 754 _003396_hash NULL -+_003397_hash dynamic_ps_timeout_read 3 10110 _003397_hash NULL -+_003398_hash easycap_alsa_vmalloc 2 14426 _003398_hash NULL -+_003399_hash em28xx_alloc_isoc 4 46892 _003399_hash NULL -+_003400_hash error_error_bar_retry_read 3 64305 _003400_hash NULL -+_003401_hash error_error_frame_cts_nul_flid_read 3 17262 _003401_hash NULL -+_003402_hash error_error_frame_read 3 39947 _003402_hash &_002436_hash -+_003403_hash error_error_null_Frame_tx_start_read 3 55024 _003403_hash NULL -+_003404_hash error_error_numll_frame_cts_start_read 3 47781 _003404_hash NULL -+_003405_hash ext_sd_execute_read_data 9 48589 _003405_hash NULL -+_003406_hash ext_sd_execute_write_data 9 8175 _003406_hash NULL -+_003407_hash fast_user_write 5 20494 _003407_hash NULL -+_003408_hash f_audio_buffer_alloc 1 41110 _003408_hash NULL -+_003409_hash fb_alloc_cmap_gfp 2 20792 _003409_hash NULL -+_003410_hash fbcon_do_set_font 2-3 4079 _003410_hash NULL -+_003412_hash fb_read 3 33506 _003412_hash NULL -+_003413_hash fb_sys_read 3 13778 _003413_hash NULL -+_003414_hash fb_sys_write 3 33130 _003414_hash NULL -+_003415_hash fb_write 3 46924 _003415_hash NULL -+_003416_hash firmwareUpload 3 32794 _003416_hash NULL -+_003417_hash fmc_send_cmd 5 20435 _003417_hash NULL -+_003418_hash fops_read 3 40672 _003418_hash NULL -+_003419_hash forced_ps_read 3 31685 _003419_hash NULL -+_003420_hash frame_alloc 4 15981 _003420_hash NULL -+_003421_hash framebuffer_alloc 1 59145 _003421_hash NULL -+_003422_hash ftrace_write 3 29551 _003422_hash NULL -+_003423_hash fw_download_code 3 13249 _003423_hash NULL -+_003424_hash fwSendNullPacket 2 54618 _003424_hash NULL -+_003425_hash gdm_wimax_netif_rx 3 43423 _003425_hash &_001810_hash -+_003426_hash get_vm_area 1 18080 _003426_hash NULL -+_003427_hash __get_vm_area 1 61599 _003427_hash NULL -+_003428_hash get_vm_area_caller 1 10527 _003428_hash NULL -+_003429_hash __get_vm_area_caller 1 56416 _003828_hash NULL nohasharray -+_003430_hash gspca_dev_probe2 4 59833 _003430_hash NULL -+_003431_hash hdpvr_read 3 9273 _003431_hash NULL -+_003432_hash hecubafb_write 3 26942 _003432_hash NULL -+_003433_hash i915_compat_ioctl 2 3656 _003433_hash NULL -+_003434_hash i915_gem_execbuffer_relocate_slow 7 25355 _003434_hash NULL -+_003435_hash ieee80211_alloc_txb 1-2 52477 _003435_hash NULL -+_003437_hash ieee80211_authentication_req 3 63973 _003437_hash NULL -+_003438_hash ieee80211_wx_set_gen_ie 3 51399 _003438_hash NULL -+_003439_hash ieee80211_wx_set_gen_ie_rsl 3 3521 _003458_hash NULL nohasharray -+_003440_hash intel_sdvo_set_value 4 2311 _003440_hash NULL -+_003441_hash ir_lirc_transmit_ir 3 64403 _003441_hash NULL -+_003442_hash irq_blk_threshold_read 3 33666 _003442_hash NULL -+_003443_hash irq_pkt_threshold_read 3 33356 _003443_hash &_000154_hash -+_003444_hash irq_timeout_read 3 54653 _003444_hash NULL -+_003445_hash ivtv_buf_copy_from_user 4 25502 _003445_hash NULL -+_003446_hash ivtv_copy_buf_to_user 4 6159 _003446_hash NULL -+_003447_hash ivtvfb_write 3 40023 _003447_hash NULL -+_003448_hash kgdb_hex2mem 3 24755 _003448_hash NULL -+_003449_hash lirc_buffer_init 2-3 53282 _003449_hash NULL -+_003451_hash lirc_write 3 20604 _003451_hash NULL -+_003452_hash mce_request_packet 3 1073 _003452_hash NULL -+_003453_hash media_entity_init 2-4 15870 _003453_hash &_001742_hash -+_003455_hash mem_fw_gen_free_mem_blks_read 3 11413 _003455_hash NULL -+_003456_hash mem_fwlog_free_mem_blks_read 3 59616 _003456_hash NULL -+_003457_hash mem_rx_free_mem_blks_read 3 675 _003457_hash NULL -+_003458_hash mem_tx_free_mem_blks_read 3 3521 _003458_hash &_003439_hash -+_003459_hash metronomefb_write 3 8823 _003459_hash NULL -+_003460_hash mga_compat_ioctl 2 52170 _003460_hash NULL -+_003461_hash mmio_read 4 40348 _003461_hash NULL -+_003462_hash netlink_send 5 38434 _003462_hash NULL -+_003463_hash nfc_hci_execute_cmd 5 43882 _003463_hash NULL -+_003464_hash nfc_hci_send_event 5 21452 _003464_hash NULL -+_003465_hash nfc_hci_send_response 5 56462 _003465_hash NULL -+_003466_hash ni_gpct_device_construct 5 610 _003466_hash NULL -+_003467_hash nouveau_compat_ioctl 2 28305 _003467_hash NULL -+_003468_hash odev_update 2 50169 _003468_hash NULL -+_003469_hash opera1_usb_i2c_msgxfer 4 64521 _003469_hash NULL -+_003470_hash OSDSetBlock 2-4 38986 _003470_hash NULL -+_003472_hash oz_add_farewell 5 20652 _003472_hash NULL -+_003473_hash oz_cdev_read 3 20659 _003473_hash NULL -+_003474_hash oz_cdev_write 3 33852 _003474_hash NULL -+_003475_hash oz_ep_alloc 2 5587 _003475_hash NULL -+_003476_hash oz_events_read 3 47535 _003476_hash NULL -+_003477_hash persistent_ram_buffer_map 1-2 11332 _003477_hash NULL -+_003479_hash pipeline_cs_rx_packet_in_read 3 37089 _003479_hash NULL -+_003480_hash pipeline_cs_rx_packet_out_read 3 58926 _003480_hash NULL -+_003481_hash pipeline_csum_to_rx_xfer_swi_read 3 15403 _003481_hash NULL -+_003482_hash pipeline_dec_packet_in_fifo_full_read 3 33052 _003482_hash NULL -+_003483_hash pipeline_dec_packet_in_read 3 47076 _003483_hash NULL -+_003484_hash pipeline_dec_packet_out_read 3 54052 _003484_hash NULL -+_003485_hash pipeline_defrag_to_csum_swi_read 3 63037 _003485_hash NULL -+_003486_hash pipeline_enc_rx_stat_fifo_int_read 3 7107 _003486_hash NULL -+_003487_hash pipeline_enc_tx_stat_fifo_int_read 3 14680 _003487_hash NULL -+_003488_hash pipeline_hs_tx_stat_fifo_int_read 3 15642 _003488_hash &_001260_hash -+_003489_hash pipeline_pipeline_fifo_full_read 3 34095 _003489_hash NULL -+_003490_hash pipeline_post_proc_swi_read 3 24108 _003490_hash NULL -+_003491_hash pipeline_pre_proc_swi_read 3 3898 _003491_hash NULL -+_003492_hash pipeline_pre_to_defrag_swi_read 3 56321 _003492_hash NULL -+_003493_hash pipeline_rx_complete_stat_fifo_int_read 3 40671 _003493_hash NULL -+_003494_hash pipeline_sec_frag_swi_read 3 30294 _003494_hash NULL -+_003495_hash pipeline_tcp_rx_stat_fifo_int_read 3 26745 _003495_hash NULL -+_003496_hash pipeline_tcp_tx_stat_fifo_int_read 3 32589 _003496_hash NULL -+_003497_hash play_iframe 3 8219 _003497_hash NULL -+_003498_hash probes_write 3 29711 _003498_hash NULL -+_003499_hash psb_unlocked_ioctl 2 16926 _003499_hash &_002668_hash -+_003500_hash ps_poll_ps_poll_max_ap_turn_read 3 53140 _003500_hash NULL -+_003501_hash ps_poll_ps_poll_timeouts_read 3 5934 _003501_hash NULL -+_003502_hash ps_poll_ps_poll_utilization_read 3 39383 _003502_hash NULL -+_003503_hash ps_poll_upsd_max_ap_turn_read 3 42050 _003503_hash NULL -+_003504_hash ps_poll_upsd_timeouts_read 3 36755 _003504_hash NULL -+_003505_hash ps_poll_upsd_utilization_read 3 28519 _003505_hash NULL -+_003506_hash pvr2_ioread_read 3 10720 _003506_hash &_001669_hash -+_003507_hash pvr2_ioread_set_sync_key 3 59882 _003507_hash NULL -+_003508_hash pvr2_stream_buffer_count 2 33719 _003508_hash NULL -+_003509_hash pwr_connection_out_of_sync_read 3 35061 _003509_hash NULL -+_003510_hash pwr_cont_miss_bcns_spread_read 3 39250 _003515_hash NULL nohasharray -+_003511_hash pwr_missing_bcns_cnt_read 3 45113 _003511_hash NULL -+_003512_hash pwr_rcvd_awake_bcns_cnt_read 3 12632 _003512_hash NULL -+_003513_hash pwr_rcvd_bcns_cnt_read 3 4774 _003513_hash NULL -+_003514_hash qc_capture 3 19298 _003514_hash NULL -+_003515_hash r128_compat_ioctl 2 39250 _003515_hash &_003510_hash -+_003516_hash radeon_compat_ioctl 2 59150 _003516_hash NULL -+_003517_hash radeon_kms_compat_ioctl 2 51371 _003517_hash NULL -+_003518_hash Realloc 2 34961 _003518_hash NULL -+_003519_hash redrat3_transmit_ir 3 64244 _003519_hash NULL -+_003520_hash reg_w_buf 3 27724 _003520_hash NULL -+_003521_hash reg_w_ixbuf 4 34736 _003521_hash NULL -+_003522_hash rtllib_alloc_txb 1-2 21687 _003522_hash NULL -+_003524_hash rtllib_authentication_req 3 26713 _003524_hash NULL -+_003525_hash rtllib_wx_set_gen_ie 3 59808 _003525_hash NULL -+_003526_hash rts51x_transfer_data_partial 6 5735 _003526_hash NULL -+_003527_hash rvmalloc 1 46873 _003527_hash NULL -+_003528_hash rx_decrypt_key_not_found_read 3 37820 _003528_hash NULL -+_003529_hash rx_defrag_called_read 3 1897 _003529_hash NULL -+_003530_hash rx_defrag_decrypt_failed_read 3 41411 _003530_hash NULL -+_003531_hash rx_defrag_init_called_read 3 35935 _003531_hash NULL -+_003532_hash rx_defrag_in_process_called_read 3 59338 _003532_hash NULL -+_003533_hash rx_defrag_need_decrypt_read 3 42253 _003533_hash NULL -+_003534_hash rx_defrag_need_defrag_read 3 28117 _003534_hash NULL -+_003535_hash rx_defrag_tkip_called_read 3 21031 _003535_hash NULL -+_003536_hash rx_filter_accum_arp_pend_requests_read 3 11003 _003536_hash NULL -+_003537_hash rx_filter_arp_filter_read 3 61914 _003537_hash NULL -+_003538_hash rx_filter_beacon_filter_read 3 49279 _003538_hash NULL -+_003539_hash rx_filter_data_filter_read 3 30098 _003539_hash NULL -+_003540_hash rx_filter_dup_filter_read 3 37238 _003540_hash NULL -+_003541_hash rx_filter_ibss_filter_read 3 50167 _003541_hash NULL -+_003542_hash rx_filter_max_arp_queue_dep_read 3 5851 _003542_hash NULL -+_003543_hash rx_filter_mc_filter_read 3 25712 _003543_hash NULL -+_003544_hash rx_filter_protection_filter_read 3 39282 _003544_hash NULL -+_003545_hash rx_rate_rx_frames_per_rates_read 3 7282 _003545_hash NULL -+_003546_hash rx_rx_beacon_early_term_read 3 21559 _003546_hash NULL -+_003547_hash rx_rx_checksum_result_read 3 50617 _003547_hash NULL -+_003548_hash rx_rx_cmplt_read 3 14753 _003548_hash NULL -+_003549_hash rx_rx_cmplt_task_read 3 35226 _003549_hash NULL -+_003550_hash rx_rx_defrag_end_read 3 505 _003550_hash NULL -+_003551_hash rx_rx_defrag_read 3 2010 _003551_hash NULL -+_003552_hash rx_rx_done_read 3 65217 _003552_hash NULL -+_003553_hash rx_rx_dropped_frame_read 3 23748 _003553_hash NULL -+_003554_hash rx_rx_frame_checksum_read 3 40140 _003554_hash NULL -+_003555_hash rx_rx_hdr_overflow_read 3 35002 _003555_hash NULL -+_003556_hash rx_rx_out_of_mpdu_nodes_read 3 64668 _003556_hash NULL -+_003557_hash rx_rx_phy_hdr_read 3 20950 _003557_hash NULL -+_003558_hash rx_rx_pre_complt_read 3 41653 _003558_hash NULL -+_003559_hash rx_rx_timeout_read 3 62389 _003559_hash NULL -+_003560_hash rx_rx_timeout_wa_read 3 50204 _003560_hash NULL -+_003561_hash rx_rx_tkip_replays_read 3 60193 _003561_hash NULL -+_003562_hash rx_rx_wa_ba_not_expected_read 3 61341 _003562_hash NULL -+_003563_hash rx_rx_wa_density_dropped_frame_read 3 26095 _003563_hash NULL -+_003564_hash rx_streaming_always_read 3 49401 _003564_hash NULL -+_003565_hash rx_streaming_interval_read 3 55291 _003565_hash NULL -+_003566_hash saa7164_buffer_alloc_user 2 9627 _003566_hash NULL -+_003567_hash send_control_msg 6 48498 _003567_hash NULL -+_003568_hash SendTxCommandPacket 3 42901 _003568_hash NULL -+_003569_hash setup_window 2-7-5-4 59178 _003569_hash NULL -+_003573_hash shmem_pwrite_fast 3 46842 _003573_hash NULL -+_003574_hash sleep_auth_read 3 19159 _003574_hash NULL -+_003575_hash sn9c102_read 3 29305 _003575_hash NULL -+_003576_hash snd_pcm_alloc_vmalloc_buffer 2 44595 _003576_hash NULL -+_003577_hash split_scan_timeout_read 3 20029 _003577_hash NULL -+_003578_hash stk_prepare_sio_buffers 2 57168 _003578_hash NULL -+_003579_hash store_debug_level 3 35652 _003579_hash NULL -+_003580_hash suspend_dtim_interval_read 3 64971 _003580_hash NULL -+_003581_hash sys_prctl 4 8766 _003581_hash NULL -+_003582_hash tm6000_read_write_usb 7 50774 _003582_hash &_002149_hash -+_003583_hash tracing_read_pipe 3 35312 _003583_hash NULL -+_003584_hash ts_read 3 44687 _003584_hash NULL -+_003585_hash ts_write 3 64336 _003585_hash NULL -+_003586_hash tt3650_ci_msg 4 57219 _003586_hash NULL -+_003587_hash ttm_object_device_init 2 10321 _003587_hash NULL -+_003588_hash ttm_object_file_init 2 27804 _003588_hash NULL -+_003589_hash tx_frag_bad_mblk_num_read 3 28064 _003589_hash NULL -+_003590_hash tx_frag_cache_hit_read 3 29639 _003590_hash NULL -+_003591_hash tx_frag_cache_miss_read 3 28394 _003591_hash NULL -+_003592_hash tx_frag_called_read 3 1748 _003592_hash NULL -+_003593_hash tx_frag_failed_read 3 43540 _003593_hash NULL -+_003594_hash tx_frag_init_called_read 3 48377 _003594_hash NULL -+_003595_hash tx_frag_in_process_called_read 3 1290 _003595_hash NULL -+_003596_hash tx_frag_key_not_found_read 3 22971 _003596_hash NULL -+_003597_hash tx_frag_mpdu_alloc_failed_read 3 41167 _003597_hash NULL -+_003598_hash tx_frag_need_fragmentation_read 3 50153 _003598_hash NULL -+_003599_hash tx_frag_tkip_called_read 3 31575 _003599_hash NULL -+_003600_hash tx_tx_burst_programmed_read 3 20320 _003600_hash NULL -+_003601_hash tx_tx_checksum_result_read 3 36490 _003601_hash &_001996_hash -+_003602_hash tx_tx_cmplt_read 3 35854 _003602_hash NULL -+_003603_hash tx_tx_data_prepared_read 3 43497 _003603_hash NULL -+_003604_hash tx_tx_data_programmed_read 3 36871 _003604_hash NULL -+_003605_hash tx_tx_done_data_read 3 6799 _003605_hash NULL -+_003606_hash tx_tx_done_int_template_read 3 55511 _003606_hash &_001887_hash -+_003607_hash tx_tx_done_template_read 3 35104 _003607_hash &_000106_hash -+_003608_hash tx_tx_exch_expiry_read 3 8749 _003608_hash NULL -+_003609_hash tx_tx_exch_pending_read 3 53018 _003609_hash NULL -+_003610_hash tx_tx_exch_read 3 52986 _003610_hash NULL -+_003611_hash tx_tx_frame_checksum_read 3 41553 _003611_hash NULL -+_003612_hash tx_tx_imm_resp_read 3 55964 _003612_hash NULL -+_003613_hash tx_tx_prepared_descs_read 3 9221 _003613_hash NULL -+_003614_hash tx_tx_retry_data_read 3 1926 _003614_hash NULL -+_003615_hash tx_tx_retry_template_read 3 57623 _003615_hash NULL -+_003616_hash tx_tx_start_data_read 3 53219 _003616_hash NULL -+_003617_hash tx_tx_start_fw_gen_read 3 58648 _003617_hash NULL -+_003618_hash tx_tx_start_int_templates_read 3 58324 _003618_hash NULL -+_003619_hash tx_tx_start_null_frame_read 3 6281 _003619_hash NULL -+_003620_hash tx_tx_starts_read 3 3617 _003620_hash NULL -+_003621_hash tx_tx_start_templates_read 3 17164 _003621_hash NULL -+_003622_hash tx_tx_template_prepared_read 3 30424 _003622_hash NULL -+_003623_hash tx_tx_template_programmed_read 3 30461 _003623_hash NULL -+_003624_hash udi_log_event 3 58105 _003624_hash NULL -+_003625_hash udl_prime_create 2 57159 _003625_hash NULL -+_003626_hash uf_create_device_nodes 2 24948 _003626_hash NULL -+_003627_hash uf_sme_queue_message 3 15697 _003627_hash NULL -+_003628_hash ufx_alloc_urb_list 3 10349 _003628_hash NULL -+_003629_hash unifi_net_data_malloc 3 24716 _003629_hash NULL -+_003630_hash unifi_read 3 14899 _003630_hash NULL -+_003631_hash unifi_write 3 65012 _003631_hash NULL -+_003632_hash usb_buffer_alloc 2 36276 _003632_hash NULL -+_003633_hash usbvision_rvmalloc 1 19655 _003633_hash NULL -+_003634_hash usbvision_v4l2_read 3 34386 _003634_hash NULL -+_003635_hash uvc_alloc_buffers 2-3 9656 _003635_hash NULL -+_003637_hash uvc_alloc_entity 3-4 20836 _003637_hash NULL -+_003639_hash uvc_debugfs_stats_read 3 56651 _003639_hash NULL -+_003640_hash uvc_simplify_fraction 3 31303 _003640_hash NULL -+_003641_hash v4l2_ctrl_new 7 24927 _003641_hash NULL -+_003642_hash v4l2_event_subscribe 3 53687 _003642_hash NULL -+_003643_hash v4l_stk_read 3 39672 _003643_hash NULL -+_003644_hash __vb2_perform_fileio 3 63033 _003644_hash NULL -+_003645_hash vfd_write 3 14717 _003645_hash NULL -+_003646_hash vfio_config_do_rw 3 46091 _003646_hash NULL -+_003647_hash vfio_msi_enable 2 20906 _003647_hash NULL -+_003648_hash viafb_dvp0_proc_write 3 23023 _003648_hash NULL -+_003649_hash viafb_dvp1_proc_write 3 48864 _003649_hash NULL -+_003650_hash viafb_vt1636_proc_write 3 16018 _003650_hash NULL -+_003651_hash __videobuf_alloc_vb 1 27062 _003651_hash NULL -+_003652_hash __videobuf_alloc_vb 1 5665 _003652_hash NULL -+_003653_hash __videobuf_copy_to_user 4 15423 _003653_hash NULL -+_003654_hash videobuf_dma_init_kernel 3 6963 _003654_hash NULL -+_003655_hash videobuf_pages_to_sg 2 3708 _003655_hash NULL -+_003656_hash videobuf_vmalloc_to_sg 2 4548 _003656_hash NULL -+_003657_hash video_usercopy 2 62151 _003657_hash NULL -+_003658_hash virtscsi_alloc_tgt 2 6643 _003658_hash NULL -+_003659_hash vmw_cursor_update_image 3-4 16332 _003659_hash NULL -+_003661_hash vmw_framebuffer_dmabuf_dirty 6 37661 _003661_hash &_001116_hash -+_003662_hash vmw_framebuffer_surface_dirty 6 48132 _003662_hash NULL -+_003663_hash vmw_gmr2_bind 3 21305 _003663_hash NULL -+_003664_hash vmw_unlocked_ioctl 2 19212 _003664_hash NULL -+_003665_hash w9966_v4l_read 3 31148 _003665_hash NULL -+_003666_hash wl1273_fm_fops_write 3 60621 _003666_hash NULL -+_003667_hash zoran_write 3 22404 _003667_hash NULL -+_003668_hash alloc_vm_area 1 15989 _003668_hash NULL -+_003669_hash cx18_copy_mdl_to_user 4 45549 _003669_hash NULL -+_003670_hash dlfb_ops_write 3 64150 _003670_hash NULL -+_003671_hash dvb_demux_read 3 13981 _003671_hash NULL -+_003672_hash dvb_dmxdev_read_sec 4 7892 _003672_hash NULL -+_003673_hash dvb_dvr_read 3 17073 _003673_hash NULL -+_003674_hash em28xx_init_isoc 4 62883 _003674_hash &_000729_hash -+_003675_hash fb_alloc_cmap 2 6554 _003675_hash NULL -+_003676_hash gspca_dev_probe 4 2570 _003676_hash NULL -+_003677_hash ieee80211_auth_challenge 3 18810 _003677_hash NULL -+_003678_hash ieee80211_rtl_auth_challenge 3 61897 _003678_hash NULL -+_003679_hash init_pci_cap_msi_perm 2 59033 _003679_hash NULL -+_003680_hash __ioremap_caller 1-2 21800 _003680_hash NULL -+_003682_hash ivtv_read 3 57796 _003682_hash NULL -+_003683_hash ivtv_v4l2_write 3 39226 _003683_hash NULL -+_003684_hash mce_async_out 3 58056 _003684_hash NULL -+_003685_hash mce_flush_rx_buffer 2 14976 _003685_hash NULL -+_003686_hash ms_read_multiple_pages 4-5 8052 _003686_hash NULL -+_003688_hash ms_write_multiple_pages 5-6 10362 _003688_hash NULL -+_003690_hash nfc_hci_send_cmd 5 55714 _003690_hash NULL -+_003691_hash persistent_ram_new 1-2 40501 _003691_hash NULL -+_003693_hash picolcd_fb_write 3 2318 _003693_hash NULL -+_003694_hash process_bulk_data_command 4 38906 _003694_hash NULL -+_003695_hash pvr2_v4l2_read 3 18006 _003695_hash NULL -+_003696_hash qcam_read 3 13977 _003696_hash NULL -+_003697_hash register_unifi_sdio 2 55239 _003697_hash NULL -+_003698_hash resize_async_buffer 4 64031 _003698_hash &_002431_hash -+_003699_hash rtllib_auth_challenge 3 12493 _003699_hash NULL -+_003702_hash stk_allocate_buffers 2 16291 _003702_hash NULL -+_003703_hash subdev_ioctl 2 28417 _003703_hash NULL -+_003704_hash _sys_packet_req 4 46793 _003704_hash NULL -+_003705_hash tm6000_i2c_recv_regs16 5 2949 _003705_hash NULL -+_003706_hash tm6000_i2c_recv_regs 5 46215 _003706_hash NULL -+_003707_hash tm6000_i2c_send_regs 5 20250 _003707_hash NULL -+_003708_hash tt3650_ci_msg_locked 4 8013 _003708_hash NULL -+_003709_hash ufx_ops_write 3 54848 _003709_hash NULL -+_003710_hash update_macheader 7 1775 _003710_hash NULL -+_003711_hash usbdux_attach_common 4 51764 _003750_hash NULL nohasharray -+_003712_hash usbduxfast_attach_common 4 52538 _003712_hash NULL -+_003713_hash usbduxsigma_attach_common 4 40847 _003713_hash NULL -+_003714_hash uvc_v4l2_ioctl 2 8411 _003714_hash NULL -+_003715_hash v4l2_ctrl_new_int_menu 4 41151 _003715_hash NULL -+_003716_hash v4l2_ctrl_new_std 5 45748 _003716_hash &_000497_hash -+_003717_hash v4l2_ctrl_new_std_menu 4 6221 _003717_hash NULL -+_003718_hash vb2_read 3 42703 _003718_hash NULL -+_003719_hash vb2_write 3 31948 _003719_hash NULL -+_003720_hash vfio_pci_set_msi_trigger 3-4 26507 _003720_hash NULL -+_003722_hash viafb_iga1_odev_proc_write 3 36241 _003722_hash NULL -+_003723_hash viafb_iga2_odev_proc_write 3 2363 _003723_hash NULL -+_003724_hash __videobuf_alloc_cached 1 12740 _003724_hash NULL -+_003725_hash __videobuf_alloc_uncached 1 55711 _003725_hash NULL -+_003726_hash __videobuf_copy_stream 4 44769 _003726_hash NULL -+_003727_hash videobuf_read_one 3 31637 _003727_hash NULL -+_003728_hash video_ioctl2 2 21380 _003728_hash NULL -+_003729_hash vmap 2 15025 _003729_hash NULL -+_003730_hash vmw_cursor_update_dmabuf 3-4 32045 _003730_hash NULL -+_003732_hash vmw_gmr_bind 3 44130 _003732_hash NULL -+_003733_hash xd_read_multiple_pages 4-5 11422 _003733_hash NULL -+_003735_hash xd_write_multiple_pages 5-6 53633 _003735_hash NULL -+_003737_hash xenfb_write 3 43412 _003737_hash NULL -+_003738_hash arch_gnttab_map_shared 3 41306 _003738_hash NULL -+_003739_hash arch_gnttab_map_status 3 49812 _003739_hash NULL -+_003740_hash bttv_read 3 11432 _003740_hash NULL -+_003741_hash cx18_read 3 23699 _003741_hash NULL -+_003742_hash cx2341x_ctrl_new_menu 3 49700 _003742_hash NULL -+_003743_hash cx2341x_ctrl_new_std 4 57061 _003743_hash NULL -+_003744_hash cx25821_video_ioctl 2 30188 _003744_hash NULL -+_003745_hash dt3155_read 3 59226 _003745_hash NULL -+_003746_hash ioremap_cache 1-2 47189 _003746_hash NULL -+_003748_hash ioremap_nocache 1-2 2439 _003748_hash NULL -+_003750_hash ioremap_prot 1-2 51764 _003750_hash &_003711_hash -+_003752_hash ioremap_wc 1-2 62695 _003752_hash NULL -+_003754_hash ivtv_read_pos 3 34400 _003754_hash &_000312_hash -+_003755_hash mcam_v4l_read 3 36513 _003755_hash NULL -+_003756_hash ms_rw_multi_sector 3-4 7459 _003756_hash NULL -+_003758_hash pvr2_v4l2_ioctl 2 24398 _003758_hash &_000877_hash -+_003759_hash ramoops_init_prz 5 12134 _003759_hash NULL -+_003761_hash ttm_bo_kmap_ttm 3 5922 _003761_hash NULL -+_003762_hash uf_ap_process_data_pdu 7 25860 _003762_hash NULL -+_003763_hash vb2_fop_read 3 24080 _003763_hash NULL -+_003764_hash vb2_fop_write 3 30420 _003764_hash NULL -+_003765_hash videobuf_read_stream 3 14956 _003765_hash NULL -+_003766_hash video_read 3 28148 _003766_hash NULL -+_003767_hash vmw_du_crtc_cursor_set 4-5 28479 _003767_hash NULL -+_003769_hash xd_rw 3-4 49020 _003769_hash NULL -+_003771_hash zoran_ioctl 2 30465 _003771_hash NULL -+_003772_hash zr364xx_read 3 2354 _003772_hash NULL -+_003773_hash acpi_os_ioremap 1-2 49523 _003773_hash NULL -+_003775_hash au0828_v4l2_read 3 40220 _003775_hash NULL -+_003776_hash ca91cx42_alloc_resource 2 10502 _003776_hash NULL -+_003778_hash cx18_read_pos 3 4683 _003778_hash NULL -+_003779_hash cx18_v4l2_read 3 21196 _003779_hash NULL -+_003780_hash cx231xx_v4l2_read 3 55014 _003780_hash NULL -+_003781_hash devm_ioremap_nocache 2-3 2036 _003781_hash NULL -+_003783_hash do_test 1 15766 _003783_hash NULL -+_003784_hash __einj_error_trigger 1 17707 _003784_hash &_001764_hash -+_003785_hash em28xx_v4l2_read 3 16701 _003785_hash NULL -+_003786_hash init_chip_wc_pat 2 62768 _003786_hash NULL -+_003787_hash intel_render_ring_init_dri 2-3 45446 _003787_hash NULL -+_003789_hash io_mapping_create_wc 1-2 1354 _003789_hash NULL -+_003791_hash iommu_map_mmio_space 1 30919 _003791_hash NULL -+_003792_hash ioremap 1-2 23172 _003792_hash NULL -+_003794_hash ivtv_v4l2_read 3 1964 _003794_hash NULL -+_003795_hash mga_ioremap 1-2 8571 _003795_hash NULL -+_003797_hash mpeg_read 3 6708 _003797_hash NULL -+_003798_hash msix_map_region 3 3411 _003798_hash NULL -+_003799_hash ms_rw 3-4 17220 _003799_hash NULL -+_003801_hash pci_iomap 3 47575 _003801_hash NULL -+_003802_hash pd_video_read 3 24510 _003802_hash NULL -+_003803_hash sfi_map_memory 1-2 5183 _003803_hash NULL -+_003805_hash solo_enc_read 3 33553 _003805_hash NULL -+_003806_hash solo_v4l2_read 3 59247 _003806_hash NULL -+_003807_hash timblogiw_read 3 48305 _003807_hash NULL -+_003808_hash tm6000_read 3 4151 _003808_hash NULL -+_003809_hash tsi148_alloc_resource 2 24563 _003809_hash NULL -+_003810_hash ttm_bo_ioremap 2-3 31082 _003810_hash NULL -+_003812_hash ttm_bo_kmap 3-2 60118 _003812_hash NULL -+_003813_hash vb2_vmalloc_get_userptr 3 31374 _003813_hash NULL -+_003814_hash vbi_read 3 63673 _003814_hash NULL -+_003815_hash viacam_read 3 54526 _003815_hash NULL -+_003816_hash xlate_dev_mem_ptr 1 15291 _003816_hash &_001231_hash -+_003817_hash a4t_cs_init 3 27734 _003817_hash NULL -+_003818_hash aac_nark_ioremap 2 50163 _003818_hash &_000323_hash -+_003819_hash aac_rkt_ioremap 2 3333 _003819_hash NULL -+_003820_hash aac_rx_ioremap 2 52410 _003820_hash NULL -+_003821_hash aac_sa_ioremap 2 13596 _003821_hash &_000299_hash -+_003822_hash aac_src_ioremap 2 41688 _003822_hash NULL -+_003823_hash aac_srcv_ioremap 2 6659 _003823_hash NULL -+_003824_hash acpi_map 1-2 58725 _003824_hash NULL -+_003826_hash acpi_os_read_memory 1-3 54186 _003826_hash NULL -+_003828_hash acpi_os_write_memory 1-3 56416 _003828_hash &_003429_hash -+_003830_hash atyfb_setup_generic 3 49151 _003830_hash NULL -+_003831_hash ca91cx42_master_set 4 23146 _003831_hash NULL -+_003832_hash check_mirror 1-2 57342 _003832_hash &_001753_hash -+_003834_hash cycx_setup 4 47562 _003834_hash NULL -+_003835_hash devm_ioremap 2-3 29235 _003835_hash NULL -+_003837_hash divasa_remap_pci_bar 3-4 23485 _003837_hash &_000979_hash -+_003839_hash doc_probe 1 23285 _003839_hash NULL -+_003840_hash DoC_Probe 1 57534 _003840_hash NULL -+_003841_hash efi_ioremap 1-2 3492 _003841_hash &_001137_hash -+_003843_hash ems_pcmcia_add_card 2 62627 _003843_hash NULL -+_003844_hash isp1760_register 1-2 628 _003844_hash NULL -+_003846_hash mid_get_vbt_data_r0 2 10876 _003846_hash NULL -+_003847_hash mid_get_vbt_data_r10 2 6308 _003847_hash NULL -+_003848_hash mid_get_vbt_data_r1 2 26170 _003848_hash NULL -+_003849_hash mthca_map_reg 2-3 5664 _003849_hash NULL -+_003851_hash mthca_setup_cmd_doorbells 2 53954 _003851_hash NULL -+_003852_hash netxen_nic_map_indirect_address_128M 2 42257 _003852_hash NULL -+_003853_hash pcim_iomap 3 58334 _003853_hash NULL -+_003854_hash persistent_ram_iomap 1-2 47156 _003854_hash NULL -+_003856_hash read_vbt_r0 1 503 _003856_hash NULL -+_003857_hash read_vbt_r10 1 60679 _003857_hash NULL -+_003858_hash register_device 2-3 60015 _003858_hash NULL -+_003860_hash remap_pci_mem 1-2 15966 _003860_hash NULL -+_003862_hash rtl_port_map 1-2 2385 _003862_hash NULL -+_003864_hash sfi_map_table 1 5462 _003864_hash NULL -+_003865_hash sriov_enable_migration 2 14889 _003865_hash NULL -+_003866_hash ssb_bus_scan 2 36578 _003866_hash NULL -+_003867_hash ssb_ioremap 2 5228 _003867_hash NULL -+_003868_hash tpci200_slot_map_space 2 3848 _003868_hash NULL -+_003869_hash tpm_tis_init 2-3 15304 _003869_hash NULL -+_003871_hash tsi148_master_set 4 14685 _003871_hash NULL -+_003872_hash acpi_os_map_memory 1-2 11161 _003872_hash NULL -+_003874_hash com90xx_found 3 13974 _003874_hash NULL -+_003875_hash netxen_nic_hw_read_wx_128M 2 26858 _003875_hash NULL -+_003876_hash netxen_nic_hw_write_wx_128M 2 33488 _003876_hash NULL -+_003877_hash sfi_check_table 1 6772 _003877_hash NULL -+_003878_hash sfi_sysfs_install_table 1 51688 _003878_hash NULL -+_003879_hash sriov_enable 2 59689 _003879_hash NULL -+_003880_hash ssb_bus_register 3 65183 _003880_hash NULL -+_003881_hash acpi_ex_system_memory_space_handler 2 31192 _003881_hash NULL -+_003882_hash acpi_tb_check_xsdt 1 21862 _003882_hash NULL -+_003883_hash acpi_tb_install_table 1 12988 _003883_hash NULL -+_003884_hash acpi_tb_parse_root_table 1 53455 _003884_hash NULL -+_003885_hash check_vendor_extension 1 3254 _003885_hash NULL -+_003886_hash pci_enable_sriov 2 35745 _003886_hash NULL -+_003887_hash ssb_bus_pcmciabus_register 3 56020 _003887_hash NULL -+_003888_hash ssb_bus_ssbbus_register 2 2217 _003888_hash NULL -+_003889_hash lpfc_sli_probe_sriov_nr_virtfn 2 26004 _003889_hash NULL -+_003890_hash alloc_vm_area 1 36149 _003890_hash NULL -+_003891_hash cma_create_area 2 38642 _003891_hash NULL -+_003893_hash fbcon_prepare_logo 5 6246 _003893_hash NULL -+_003894_hash io_mapping_map_wc 2 19284 _003894_hash NULL -+_003895_hash nfs_dns_resolve_name 3 25036 _003895_hash NULL -+_003896_hash nfs_parse_server_name 2 1899 _003896_hash NULL ---- tools/gcc/size_overflow_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ tools/gcc/size_overflow_plugin.c 2012-10-15 17:30:59.835924531 +0000 -@@ -0,0 +1,1879 @@ -+/* -+ * Copyright 2011, 2012 by Emese Revfy <re.emese@gmail.com> -+ * Licensed under the GPL v2, or (at your option) v3 -+ * -+ * Homepage: -+ * http://www.grsecurity.net/~ephox/overflow_plugin/ -+ * -+ * This plugin recomputes expressions of function arguments marked by a size_overflow attribute -+ * with double integer precision (DImode/TImode for 32/64 bit integer types). -+ * The recomputed argument is checked against TYPE_MAX and an event is logged on overflow and the triggering process is killed. -+ * -+ * Usage: -+ * $ gcc -I`gcc -print-file-name=plugin`/include/c-family -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -ggdb -Wall -W -Wno-missing-field-initializers -o size_overflow_plugin.so size_overflow_plugin.c -+ * $ gcc -fplugin=size_overflow_plugin.so test.c -O2 -+ */ -+ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "intl.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "toplev.h" -+#include "function.h" -+#include "tree-flow.h" -+#include "plugin.h" -+#include "gimple.h" -+#include "c-common.h" -+#include "diagnostic.h" -+#include "cfgloop.h" -+ -+#if BUILDING_GCC_VERSION >= 4007 -+#include "c-tree.h" -+#else -+#define C_DECL_IMPLICIT(EXP) DECL_LANG_FLAG_2 (EXP) -+#endif -+ -+struct size_overflow_hash { -+ const struct size_overflow_hash * const next; -+ const char * const name; -+ const unsigned int param; -+}; -+ -+#include "size_overflow_hash.h" -+ -+enum marked { -+ MARKED_NO, MARKED_YES, MARKED_NOT_INTENTIONAL -+}; -+ -+#define __unused __attribute__((__unused__)) -+#define NAME(node) IDENTIFIER_POINTER(DECL_NAME(node)) -+#define NAME_LEN(node) IDENTIFIER_LENGTH(DECL_NAME(node)) -+#define BEFORE_STMT true -+#define AFTER_STMT false -+#define CREATE_NEW_VAR NULL_TREE -+#define CODES_LIMIT 32 -+#define MAX_PARAM 32 -+#define MY_STMT GF_PLF_1 -+#define NO_CAST_CHECK GF_PLF_2 -+ -+#if BUILDING_GCC_VERSION == 4005 -+#define DECL_CHAIN(NODE) (TREE_CHAIN(DECL_MINIMAL_CHECK(NODE))) -+#endif -+ -+int plugin_is_GPL_compatible; -+void debug_gimple_stmt(gimple gs); -+ -+static tree expand(struct pointer_set_t *visited, tree lhs); -+static bool pre_expand(struct pointer_set_t *visited, const_tree lhs); -+static tree report_size_overflow_decl; -+static const_tree const_char_ptr_type_node; -+static unsigned int handle_function(void); -+static void check_size_overflow(gimple stmt, tree size_overflow_type, tree cast_rhs, tree rhs, bool before); -+static tree get_size_overflow_type(gimple stmt, const_tree node); -+static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, tree size_overflow_type, tree rhs1, tree rhs2, tree __unused rhs3); -+ -+static struct plugin_info size_overflow_plugin_info = { -+ .version = "20120930beta", -+ .help = "no-size-overflow\tturn off size overflow checking\n", -+}; -+ -+static tree handle_size_overflow_attribute(tree *node, tree __unused name, tree args, int __unused flags, bool *no_add_attrs) -+{ -+ unsigned int arg_count; -+ enum tree_code code = TREE_CODE(*node); -+ -+ switch (code) { -+ case FUNCTION_DECL: -+ arg_count = type_num_arguments(TREE_TYPE(*node)); -+ break; -+ case FUNCTION_TYPE: -+ case METHOD_TYPE: -+ arg_count = type_num_arguments(*node); -+ break; -+ default: -+ *no_add_attrs = true; -+ error("%s: %qE attribute only applies to functions", __func__, name); -+ return NULL_TREE; -+ } -+ -+ for (; args; args = TREE_CHAIN(args)) { -+ tree position = TREE_VALUE(args); -+ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) < 1 || TREE_INT_CST_LOW(position) > arg_count ) { -+ error("%s: parameter %u is outside range.", __func__, (unsigned int)TREE_INT_CST_LOW(position)); -+ *no_add_attrs = true; -+ } -+ } -+ return NULL_TREE; -+} -+ -+static const char* get_asm_name(tree node) -+{ -+ return IDENTIFIER_POINTER(DECL_ASSEMBLER_NAME(node)); -+} -+ -+static tree handle_intentional_overflow_attribute(tree *node, tree __unused name, tree args, int __unused flags, bool *no_add_attrs) -+{ -+ unsigned int arg_count, arg_num; -+ enum tree_code code = TREE_CODE(*node); -+ -+ switch (code) { -+ case FUNCTION_DECL: -+ arg_count = type_num_arguments(TREE_TYPE(*node)); -+ break; -+ case FUNCTION_TYPE: -+ case METHOD_TYPE: -+ arg_count = type_num_arguments(*node); -+ break; -+ case FIELD_DECL: -+ arg_num = TREE_INT_CST_LOW(TREE_VALUE(args)); -+ if (arg_num != 0) { -+ *no_add_attrs = true; -+ error("%s: %qE attribute parameter can only be 0 in structure fields", __func__, name); -+ } -+ return NULL_TREE; -+ default: -+ *no_add_attrs = true; -+ error("%qE attribute only applies to functions", name); -+ return NULL_TREE; -+ } -+ -+ for (; args; args = TREE_CHAIN(args)) { -+ tree position = TREE_VALUE(args); -+ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) > arg_count ) { -+ error("%s: parameter %u is outside range.", __func__, (unsigned int)TREE_INT_CST_LOW(position)); -+ *no_add_attrs = true; -+ } -+ } -+ return NULL_TREE; -+} -+ -+static struct attribute_spec size_overflow_attr = { -+ .name = "size_overflow", -+ .min_length = 1, -+ .max_length = -1, -+ .decl_required = true, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_size_overflow_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = false -+#endif -+}; -+ -+static struct attribute_spec intentional_overflow_attr = { -+ .name = "intentional_overflow", -+ .min_length = 1, -+ .max_length = -1, -+ .decl_required = true, -+ .type_required = false, -+ .function_type_required = false, -+ .handler = handle_intentional_overflow_attribute, -+#if BUILDING_GCC_VERSION >= 4007 -+ .affects_type_identity = false -+#endif -+}; -+ -+static void register_attributes(void __unused *event_data, void __unused *data) -+{ -+ register_attribute(&size_overflow_attr); -+ register_attribute(&intentional_overflow_attr); -+} -+ -+// http://www.team5150.com/~andrew/noncryptohashzoo2~/CrapWow.html -+static unsigned int CrapWow(const char *key, unsigned int len, unsigned int seed) -+{ -+#define cwfold( a, b, lo, hi ) { p = (unsigned int)(a) * (unsigned long long)(b); lo ^= (unsigned int)p; hi ^= (unsigned int)(p >> 32); } -+#define cwmixa( in ) { cwfold( in, m, k, h ); } -+#define cwmixb( in ) { cwfold( in, n, h, k ); } -+ -+ unsigned int m = 0x57559429; -+ unsigned int n = 0x5052acdb; -+ const unsigned int *key4 = (const unsigned int *)key; -+ unsigned int h = len; -+ unsigned int k = len + seed + n; -+ unsigned long long p; -+ -+ while (len >= 8) { -+ cwmixb(key4[0]) cwmixa(key4[1]) key4 += 2; -+ len -= 8; -+ } -+ if (len >= 4) { -+ cwmixb(key4[0]) key4 += 1; -+ len -= 4; -+ } -+ if (len) -+ cwmixa(key4[0] & ((1 << (len * 8)) - 1 )); -+ cwmixb(h ^ (k + n)); -+ return k ^ h; -+ -+#undef cwfold -+#undef cwmixa -+#undef cwmixb -+} -+ -+static inline unsigned int get_hash_num(const char *fndecl, const char *tree_codes, unsigned int len, unsigned int seed) -+{ -+ unsigned int fn = CrapWow(fndecl, strlen(fndecl), seed) & 0xffff; -+ unsigned int codes = CrapWow(tree_codes, len, seed) & 0xffff; -+ return fn ^ codes; -+} -+ -+static inline tree get_original_function_decl(tree fndecl) -+{ -+ if (DECL_ABSTRACT_ORIGIN(fndecl)) -+ return DECL_ABSTRACT_ORIGIN(fndecl); -+ return fndecl; -+} -+ -+static inline gimple get_def_stmt(const_tree node) -+{ -+ gcc_assert(node != NULL_TREE); -+ gcc_assert(TREE_CODE(node) == SSA_NAME); -+ return SSA_NAME_DEF_STMT(node); -+} -+ -+static unsigned char get_tree_code(const_tree type) -+{ -+ switch (TREE_CODE(type)) { -+ case ARRAY_TYPE: -+ return 0; -+ case BOOLEAN_TYPE: -+ return 1; -+ case ENUMERAL_TYPE: -+ return 2; -+ case FUNCTION_TYPE: -+ return 3; -+ case INTEGER_TYPE: -+ return 4; -+ case POINTER_TYPE: -+ return 5; -+ case RECORD_TYPE: -+ return 6; -+ case UNION_TYPE: -+ return 7; -+ case VOID_TYPE: -+ return 8; -+ case REAL_TYPE: -+ return 9; -+ case VECTOR_TYPE: -+ return 10; -+ case REFERENCE_TYPE: -+ return 11; -+ case OFFSET_TYPE: -+ return 12; -+ case COMPLEX_TYPE: -+ return 13; -+ default: -+ debug_tree((tree)type); -+ gcc_unreachable(); -+ } -+} -+ -+static size_t add_type_codes(const_tree type, unsigned char *tree_codes, size_t len) -+{ -+ gcc_assert(type != NULL_TREE); -+ -+ while (type && len < CODES_LIMIT) { -+ tree_codes[len] = get_tree_code(type); -+ len++; -+ type = TREE_TYPE(type); -+ } -+ return len; -+} -+ -+static unsigned int get_function_decl(const_tree fndecl, unsigned char *tree_codes) -+{ -+ const_tree arg, result, arg_field, type = TREE_TYPE(fndecl); -+ enum tree_code code = TREE_CODE(type); -+ size_t len = 0; -+ -+ gcc_assert(code == FUNCTION_TYPE || code == METHOD_TYPE); -+ -+ arg = TYPE_ARG_TYPES(type); -+ // skip builtins __builtin_constant_p -+ if (!arg && DECL_BUILT_IN(fndecl)) -+ return 0; -+ -+ if (TREE_CODE_CLASS(code) == tcc_type) -+ result = type; -+ else -+ result = DECL_RESULT(fndecl); -+ -+ gcc_assert(result != NULL_TREE); -+ len = add_type_codes(TREE_TYPE(result), tree_codes, len); -+ -+ if (arg == NULL_TREE) { -+ gcc_assert(CODE_CONTAINS_STRUCT(TREE_CODE(fndecl), TS_DECL_NON_COMMON)); -+ arg_field = DECL_ARGUMENT_FLD(fndecl); -+ if (arg_field == NULL_TREE) -+ return 0; -+ arg = TREE_TYPE(arg_field); -+ len = add_type_codes(arg, tree_codes, len); -+ gcc_assert(len != 0); -+ return len; -+ } -+ -+ gcc_assert(arg != NULL_TREE && TREE_CODE(arg) == TREE_LIST); -+ while (arg && len < CODES_LIMIT) { -+ len = add_type_codes(TREE_VALUE(arg), tree_codes, len); -+ arg = TREE_CHAIN(arg); -+ } -+ -+ gcc_assert(len != 0); -+ return len; -+} -+ -+static const struct size_overflow_hash *get_function_hash(tree fndecl) -+{ -+ unsigned int hash; -+ const struct size_overflow_hash *entry; -+ unsigned char tree_codes[CODES_LIMIT]; -+ size_t len; -+ const char *func_name = get_asm_name(fndecl); -+ -+ len = get_function_decl(fndecl, tree_codes); -+ if (len == 0) -+ return NULL; -+ -+ hash = get_hash_num(func_name, (const char*) tree_codes, len, 0); -+ -+ entry = size_overflow_hash[hash]; -+ while (entry) { -+ if (!strcmp(entry->name, func_name)) -+ return entry; -+ entry = entry->next; -+ } -+ -+ return NULL; -+} -+ -+static void check_arg_type(const_tree arg) -+{ -+ const_tree type = TREE_TYPE(arg); -+ enum tree_code code = TREE_CODE(type); -+ -+ gcc_assert(code == INTEGER_TYPE || code == ENUMERAL_TYPE || -+ (code == POINTER_TYPE && TREE_CODE(TREE_TYPE(type)) == VOID_TYPE) || -+ (code == POINTER_TYPE && TREE_CODE(TREE_TYPE(type)) == INTEGER_TYPE)); -+} -+ -+static int find_arg_number(const_tree arg, tree func) -+{ -+ tree var; -+ unsigned int argnum = 1; -+ -+ if (TREE_CODE(arg) == SSA_NAME) -+ arg = SSA_NAME_VAR(arg); -+ -+ for (var = DECL_ARGUMENTS(func); var; var = TREE_CHAIN(var)) { -+ if (strcmp(NAME(arg), NAME(var))) { -+ argnum++; -+ continue; -+ } -+ check_arg_type(var); -+ return argnum; -+ } -+ gcc_unreachable(); -+} -+ -+static tree create_new_var(tree type) -+{ -+ tree new_var = create_tmp_var(type, "cicus"); -+ -+ add_referenced_var(new_var); -+ mark_sym_for_renaming(new_var); -+ return new_var; -+} -+ -+static gimple create_binary_assign(enum tree_code code, gimple stmt, tree rhs1, tree rhs2) -+{ -+ gimple assign; -+ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); -+ tree type = TREE_TYPE(rhs1); -+ tree lhs = create_new_var(type); -+ -+ assign = gimple_build_assign_with_ops(code, lhs, rhs1, rhs2); -+ gimple_set_lhs(assign, make_ssa_name(lhs, assign)); -+ -+ gsi_insert_before(&gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ gimple_set_plf(assign, MY_STMT, true); -+ return assign; -+} -+ -+static bool is_bool(const_tree node) -+{ -+ const_tree type; -+ -+ if (node == NULL_TREE) -+ return false; -+ -+ type = TREE_TYPE(node); -+ if (!INTEGRAL_TYPE_P(type)) -+ return false; -+ if (TREE_CODE(type) == BOOLEAN_TYPE) -+ return true; -+ if (TYPE_PRECISION(type) == 1) -+ return true; -+ return false; -+} -+ -+static tree cast_a_tree(tree type, tree var) -+{ -+ gcc_assert(type != NULL_TREE); -+ gcc_assert(var != NULL_TREE); -+ gcc_assert(fold_convertible_p(type, var)); -+ -+ return fold_convert(type, var); -+} -+ -+static gimple build_cast_stmt(tree dst_type, tree rhs, tree lhs, gimple_stmt_iterator *gsi, bool before) -+{ -+ gimple assign; -+ -+ gcc_assert(dst_type != NULL_TREE && rhs != NULL_TREE); -+ if (gsi_end_p(*gsi) && before == AFTER_STMT) -+ gcc_unreachable(); -+ -+ if (lhs == CREATE_NEW_VAR) -+ lhs = create_new_var(dst_type); -+ -+ assign = gimple_build_assign(lhs, cast_a_tree(dst_type, rhs)); -+ -+ if (!gsi_end_p(*gsi)) { -+ location_t loc = gimple_location(gsi_stmt(*gsi)); -+ gimple_set_location(assign, loc); -+ } -+ -+ gimple_set_lhs(assign, make_ssa_name(lhs, assign)); -+ -+ if (before) -+ gsi_insert_before(gsi, assign, GSI_NEW_STMT); -+ else -+ gsi_insert_after(gsi, assign, GSI_NEW_STMT); -+ update_stmt(assign); -+ gimple_set_plf(assign, MY_STMT, true); -+ -+ return assign; -+} -+ -+static tree cast_to_new_size_overflow_type(gimple stmt, tree new_rhs1, tree size_overflow_type, bool before) -+{ -+ const_gimple assign; -+ gimple_stmt_iterator gsi; -+ -+ if (new_rhs1 == NULL_TREE) -+ return NULL_TREE; -+ -+ if (!useless_type_conversion_p(TREE_TYPE(new_rhs1), size_overflow_type)) { -+ gsi = gsi_for_stmt(stmt); -+ assign = build_cast_stmt(size_overflow_type, new_rhs1, CREATE_NEW_VAR, &gsi, before); -+ return gimple_get_lhs(assign); -+ } -+ return new_rhs1; -+} -+ -+static tree follow_overflow_type_and_dup(struct pointer_set_t *visited, gimple stmt, const_tree node, tree new_rhs1, tree new_rhs2, tree new_rhs3) -+{ -+ tree size_overflow_type = get_size_overflow_type(stmt, node); -+ -+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); -+ -+ if (new_rhs2 != NULL_TREE) -+ new_rhs2 = cast_to_new_size_overflow_type(stmt, new_rhs2, size_overflow_type, BEFORE_STMT); -+ -+ if (new_rhs3 != NULL_TREE) -+ new_rhs3 = cast_to_new_size_overflow_type(stmt, new_rhs3, size_overflow_type, BEFORE_STMT); -+ -+ return dup_assign(visited, stmt, size_overflow_type, new_rhs1, new_rhs2, new_rhs3); -+} -+ -+ -+static tree create_assign(struct pointer_set_t *visited, gimple oldstmt, tree rhs1, bool before) -+{ -+ tree size_overflow_type, lhs; -+ gimple stmt; -+ gimple_stmt_iterator gsi; -+ -+ if (rhs1 == NULL_TREE) { -+ debug_gimple_stmt(oldstmt); -+ error("%s: rhs1 is NULL_TREE", __func__); -+ gcc_unreachable(); -+ } -+ -+ if (gimple_code(oldstmt) == GIMPLE_ASM) -+ lhs = rhs1; -+ else -+ lhs = gimple_get_lhs(oldstmt); -+ -+ gsi = gsi_for_stmt(oldstmt); -+ pointer_set_insert(visited, oldstmt); -+ if (lookup_stmt_eh_lp(oldstmt) != 0) { -+ basic_block next_bb, cur_bb; -+ const_edge e; -+ -+ gcc_assert(before == false); -+ gcc_assert(stmt_can_throw_internal(oldstmt)); -+ gcc_assert(gimple_code(oldstmt) == GIMPLE_CALL); -+ gcc_assert(!gsi_end_p(gsi)); -+ -+ cur_bb = gimple_bb(oldstmt); -+ next_bb = cur_bb->next_bb; -+ e = find_edge(cur_bb, next_bb); -+ gcc_assert(e != NULL); -+ gcc_assert(e->flags & EDGE_FALLTHRU); -+ -+ gsi = gsi_after_labels(next_bb); -+ gcc_assert(!gsi_end_p(gsi)); -+ -+ before = true; -+ oldstmt = gsi_stmt(gsi); -+ } -+ -+ size_overflow_type = get_size_overflow_type(oldstmt, lhs); -+ -+ stmt = build_cast_stmt(size_overflow_type, rhs1, CREATE_NEW_VAR, &gsi, before); -+ gimple_set_plf(stmt, MY_STMT, true); -+ return gimple_get_lhs(stmt); -+} -+ -+static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, tree size_overflow_type, tree rhs1, tree rhs2, tree __unused rhs3) -+{ -+ gimple stmt; -+ gimple_stmt_iterator gsi; -+ tree new_var, lhs = gimple_get_lhs(oldstmt); -+ -+ if (gimple_plf(oldstmt, MY_STMT)) -+ return lhs; -+ -+ if (gimple_num_ops(oldstmt) != 4 && rhs1 == NULL_TREE) { -+ rhs1 = gimple_assign_rhs1(oldstmt); -+ rhs1 = create_assign(visited, oldstmt, rhs1, BEFORE_STMT); -+ } -+ if (gimple_num_ops(oldstmt) == 3 && rhs2 == NULL_TREE) { -+ rhs2 = gimple_assign_rhs2(oldstmt); -+ rhs2 = create_assign(visited, oldstmt, rhs2, BEFORE_STMT); -+ } -+ -+ stmt = gimple_copy(oldstmt); -+ gimple_set_location(stmt, gimple_location(oldstmt)); -+ gimple_set_plf(stmt, MY_STMT, true); -+ -+ if (gimple_assign_rhs_code(oldstmt) == WIDEN_MULT_EXPR) -+ gimple_assign_set_rhs_code(stmt, MULT_EXPR); -+ -+ if (is_bool(lhs)) -+ new_var = SSA_NAME_VAR(lhs); -+ else -+ new_var = create_new_var(size_overflow_type); -+ new_var = make_ssa_name(new_var, stmt); -+ gimple_set_lhs(stmt, new_var); -+ -+ if (rhs1 != NULL_TREE) { -+ if (!gimple_assign_cast_p(oldstmt)) -+ rhs1 = cast_a_tree(size_overflow_type, rhs1); -+ gimple_assign_set_rhs1(stmt, rhs1); -+ } -+ -+ if (rhs2 != NULL_TREE) -+ gimple_assign_set_rhs2(stmt, rhs2); -+#if BUILDING_GCC_VERSION >= 4007 -+ if (rhs3 != NULL_TREE) -+ gimple_assign_set_rhs3(stmt, rhs3); -+#endif -+ gimple_set_vuse(stmt, gimple_vuse(oldstmt)); -+ gimple_set_vdef(stmt, gimple_vdef(oldstmt)); -+ -+ gsi = gsi_for_stmt(oldstmt); -+ gsi_insert_after(&gsi, stmt, GSI_SAME_STMT); -+ update_stmt(stmt); -+ pointer_set_insert(visited, oldstmt); -+ return gimple_get_lhs(stmt); -+} -+ -+static gimple overflow_create_phi_node(gimple oldstmt, tree result) -+{ -+ basic_block bb; -+ gimple phi; -+ gimple_stmt_iterator gsi = gsi_for_stmt(oldstmt); -+ -+ bb = gsi_bb(gsi); -+ -+ phi = create_phi_node(result, bb); -+ gsi = gsi_last(phi_nodes(bb)); -+ gsi_remove(&gsi, false); -+ -+ gsi = gsi_for_stmt(oldstmt); -+ gsi_insert_after(&gsi, phi, GSI_NEW_STMT); -+ gimple_set_bb(phi, bb); -+ gimple_set_plf(phi, MY_STMT, true); -+ return phi; -+} -+ -+static basic_block create_a_first_bb(void) -+{ -+ basic_block first_bb; -+ -+ first_bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; -+ if (dom_info_available_p(CDI_DOMINATORS)) -+ set_immediate_dominator(CDI_DOMINATORS, first_bb, ENTRY_BLOCK_PTR); -+ return first_bb; -+} -+ -+static tree cast_old_phi_arg(gimple oldstmt, tree size_overflow_type, tree arg, tree new_var, unsigned int i) -+{ -+ basic_block bb; -+ const_gimple newstmt; -+ gimple_stmt_iterator gsi; -+ bool before = BEFORE_STMT; -+ -+ if (TREE_CODE(arg) == SSA_NAME && gimple_code(get_def_stmt(arg)) != GIMPLE_NOP) { -+ gsi = gsi_for_stmt(get_def_stmt(arg)); -+ newstmt = build_cast_stmt(size_overflow_type, arg, new_var, &gsi, AFTER_STMT); -+ return gimple_get_lhs(newstmt); -+ } -+ -+ bb = gimple_phi_arg_edge(oldstmt, i)->src; -+ gsi = gsi_after_labels(bb); -+ if (bb->index == 0) { -+ bb = create_a_first_bb(); -+ gsi = gsi_start_bb(bb); -+ } -+ newstmt = build_cast_stmt(size_overflow_type, arg, new_var, &gsi, before); -+ return gimple_get_lhs(newstmt); -+} -+ -+static const_gimple handle_new_phi_arg(const_tree arg, tree new_var, tree new_rhs) -+{ -+ gimple newstmt; -+ gimple_stmt_iterator gsi; -+ void (*gsi_insert)(gimple_stmt_iterator *, gimple, enum gsi_iterator_update); -+ gimple def_newstmt = get_def_stmt(new_rhs); -+ -+ gsi_insert = gsi_insert_after; -+ gsi = gsi_for_stmt(def_newstmt); -+ -+ switch (gimple_code(get_def_stmt(arg))) { -+ case GIMPLE_PHI: -+ newstmt = gimple_build_assign(new_var, new_rhs); -+ gsi = gsi_after_labels(gimple_bb(def_newstmt)); -+ gsi_insert = gsi_insert_before; -+ break; -+ case GIMPLE_ASM: -+ case GIMPLE_CALL: -+ newstmt = gimple_build_assign(new_var, new_rhs); -+ break; -+ case GIMPLE_ASSIGN: -+ newstmt = gimple_build_assign(new_var, gimple_get_lhs(def_newstmt)); -+ break; -+ default: -+ /* unknown gimple_code (handle_build_new_phi_arg) */ -+ gcc_unreachable(); -+ } -+ -+ gimple_set_lhs(newstmt, make_ssa_name(new_var, newstmt)); -+ gsi_insert(&gsi, newstmt, GSI_NEW_STMT); -+ gimple_set_plf(newstmt, MY_STMT, true); -+ update_stmt(newstmt); -+ return newstmt; -+} -+ -+static tree build_new_phi_arg(struct pointer_set_t *visited, tree size_overflow_type, tree arg, tree new_var) -+{ -+ const_gimple newstmt; -+ gimple def_stmt; -+ tree new_rhs; -+ -+ new_rhs = expand(visited, arg); -+ if (new_rhs == NULL_TREE) -+ return NULL_TREE; -+ -+ def_stmt = get_def_stmt(new_rhs); -+ if (gimple_code(def_stmt) == GIMPLE_NOP) -+ return NULL_TREE; -+ new_rhs = cast_to_new_size_overflow_type(def_stmt, new_rhs, size_overflow_type, AFTER_STMT); -+ -+ newstmt = handle_new_phi_arg(arg, new_var, new_rhs); -+ return gimple_get_lhs(newstmt); -+} -+ -+static tree build_new_phi(struct pointer_set_t *visited, tree orig_result) -+{ -+ gimple phi, oldstmt = get_def_stmt(orig_result); -+ tree new_result, size_overflow_type; -+ unsigned int i; -+ unsigned int n = gimple_phi_num_args(oldstmt); -+ -+ size_overflow_type = get_size_overflow_type(oldstmt, orig_result); -+ -+ new_result = create_new_var(size_overflow_type); -+ -+ pointer_set_insert(visited, oldstmt); -+ phi = overflow_create_phi_node(oldstmt, new_result); -+ for (i = 0; i < n; i++) { -+ tree arg, lhs; -+ -+ arg = gimple_phi_arg_def(oldstmt, i); -+ if (is_gimple_constant(arg)) -+ arg = cast_a_tree(size_overflow_type, arg); -+ lhs = build_new_phi_arg(visited, size_overflow_type, arg, new_result); -+ if (lhs == NULL_TREE) -+ lhs = cast_old_phi_arg(oldstmt, size_overflow_type, arg, new_result, i); -+ add_phi_arg(phi, lhs, gimple_phi_arg_edge(oldstmt, i), gimple_location(oldstmt)); -+ } -+ -+ update_stmt(phi); -+ return gimple_phi_result(phi); -+} -+ -+static tree change_assign_rhs(gimple stmt, const_tree orig_rhs, tree new_rhs) -+{ -+ const_gimple assign; -+ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); -+ tree origtype = TREE_TYPE(orig_rhs); -+ -+ gcc_assert(gimple_code(stmt) == GIMPLE_ASSIGN); -+ -+ assign = build_cast_stmt(origtype, new_rhs, CREATE_NEW_VAR, &gsi, BEFORE_STMT); -+ return gimple_get_lhs(assign); -+} -+ -+static void change_rhs1(gimple stmt, tree new_rhs1) -+{ -+ tree assign_rhs; -+ const_tree rhs = gimple_assign_rhs1(stmt); -+ -+ assign_rhs = change_assign_rhs(stmt, rhs, new_rhs1); -+ gimple_assign_set_rhs1(stmt, assign_rhs); -+ update_stmt(stmt); -+} -+ -+static bool check_mode_type(const_gimple stmt) -+{ -+ const_tree lhs = gimple_get_lhs(stmt); -+ const_tree lhs_type = TREE_TYPE(lhs); -+ const_tree rhs_type = TREE_TYPE(gimple_assign_rhs1(stmt)); -+ enum machine_mode lhs_mode = TYPE_MODE(lhs_type); -+ enum machine_mode rhs_mode = TYPE_MODE(rhs_type); -+ -+ if (rhs_mode == lhs_mode && TYPE_UNSIGNED(rhs_type) == TYPE_UNSIGNED(lhs_type)) -+ return false; -+ -+ if (rhs_mode == SImode && lhs_mode == DImode && (TYPE_UNSIGNED(rhs_type) || !TYPE_UNSIGNED(lhs_type))) -+ return false; -+ -+ return true; -+} -+ -+static bool check_undefined_integer_operation(const_gimple stmt) -+{ -+ const_gimple def_stmt; -+ const_tree lhs = gimple_get_lhs(stmt); -+ const_tree rhs1 = gimple_assign_rhs1(stmt); -+ const_tree rhs1_type = TREE_TYPE(rhs1); -+ const_tree lhs_type = TREE_TYPE(lhs); -+ -+ if (TYPE_MODE(rhs1_type) != TYPE_MODE(lhs_type) || TYPE_UNSIGNED(rhs1_type) == TYPE_UNSIGNED(lhs_type)) -+ return false; -+ -+ def_stmt = get_def_stmt(rhs1); -+ if (gimple_code(def_stmt) != GIMPLE_ASSIGN) -+ return false; -+ -+ if (gimple_assign_rhs_code(def_stmt) != MINUS_EXPR) -+ return false; -+ return true; -+} -+ -+static bool is_a_cast_and_const_overflow(const_tree no_const_rhs) -+{ -+ const_tree rhs1, lhs, rhs1_type, lhs_type; -+ enum machine_mode lhs_mode, rhs_mode; -+ gimple def_stmt = get_def_stmt(no_const_rhs); -+ -+ if (!gimple_assign_cast_p(def_stmt)) -+ return false; -+ -+ rhs1 = gimple_assign_rhs1(def_stmt); -+ lhs = gimple_get_lhs(def_stmt); -+ rhs1_type = TREE_TYPE(rhs1); -+ lhs_type = TREE_TYPE(lhs); -+ rhs_mode = TYPE_MODE(rhs1_type); -+ lhs_mode = TYPE_MODE(lhs_type); -+ if (TYPE_UNSIGNED(lhs_type) == TYPE_UNSIGNED(rhs1_type) || lhs_mode != rhs_mode) -+ return false; -+ -+ return true; -+} -+ -+static tree handle_unary_rhs(struct pointer_set_t *visited, gimple stmt) -+{ -+ tree size_overflow_type, lhs = gimple_get_lhs(stmt); -+ tree new_rhs1, rhs1 = gimple_assign_rhs1(stmt); -+ const_tree rhs1_type = TREE_TYPE(rhs1); -+ const_tree lhs_type = TREE_TYPE(lhs); -+ -+ new_rhs1 = expand(visited, rhs1); -+ -+ if (new_rhs1 == NULL_TREE || TREE_CODE(rhs1_type) == POINTER_TYPE) -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+ -+ if (gimple_plf(stmt, MY_STMT)) -+ return lhs; -+ -+ if (gimple_plf(stmt, NO_CAST_CHECK)) -+ return follow_overflow_type_and_dup(visited, stmt, rhs1, new_rhs1, NULL_TREE, NULL_TREE); -+ -+ if (gimple_assign_rhs_code(stmt) == BIT_NOT_EXPR) { -+ size_overflow_type = get_size_overflow_type(stmt, rhs1); -+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); -+ check_size_overflow(stmt, size_overflow_type, new_rhs1, rhs1, BEFORE_STMT); -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+ } -+ -+ if (!gimple_assign_cast_p(stmt) || check_undefined_integer_operation(stmt)) -+ return follow_overflow_type_and_dup(visited, stmt, lhs, new_rhs1, NULL_TREE, NULL_TREE); -+ -+ size_overflow_type = get_size_overflow_type(stmt, rhs1); -+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); -+ -+ change_rhs1(stmt, new_rhs1); -+ check_size_overflow(stmt, size_overflow_type, new_rhs1, rhs1, BEFORE_STMT); -+ -+ rhs1 = gimple_assign_rhs1(stmt); -+ rhs1_type = TREE_TYPE(rhs1); -+ if (TYPE_UNSIGNED(rhs1_type) != TYPE_UNSIGNED(lhs_type)) -+ return create_assign(visited, stmt, rhs1, AFTER_STMT); -+ -+ if (!check_mode_type(stmt)) -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+ -+ size_overflow_type = get_size_overflow_type(stmt, lhs); -+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); -+ -+ check_size_overflow(stmt, size_overflow_type, new_rhs1, lhs, BEFORE_STMT); -+ -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+} -+ -+static tree handle_unary_ops(struct pointer_set_t *visited, tree lhs) -+{ -+ gimple def_stmt = get_def_stmt(lhs); -+ tree rhs1 = gimple_assign_rhs1(def_stmt); -+ -+ if (is_gimple_constant(rhs1)) -+ return create_assign(visited, def_stmt, lhs, AFTER_STMT); -+ -+ gcc_assert(TREE_CODE(rhs1) != COND_EXPR); -+ switch (TREE_CODE(rhs1)) { -+ case SSA_NAME: -+ return handle_unary_rhs(visited, def_stmt); -+ case ARRAY_REF: -+ case BIT_FIELD_REF: -+ case ADDR_EXPR: -+ case COMPONENT_REF: -+ case INDIRECT_REF: -+#if BUILDING_GCC_VERSION >= 4006 -+ case MEM_REF: -+#endif -+ case PARM_DECL: -+ case TARGET_MEM_REF: -+ case VAR_DECL: -+ return create_assign(visited, def_stmt, lhs, AFTER_STMT); -+ -+ default: -+ debug_gimple_stmt(def_stmt); -+ debug_tree(rhs1); -+ gcc_unreachable(); -+ } -+} -+ -+static void insert_cond(basic_block cond_bb, tree arg, enum tree_code cond_code, tree type_value) -+{ -+ gimple cond_stmt; -+ gimple_stmt_iterator gsi = gsi_last_bb(cond_bb); -+ -+ cond_stmt = gimple_build_cond(cond_code, arg, type_value, NULL_TREE, NULL_TREE); -+ gsi_insert_after(&gsi, cond_stmt, GSI_CONTINUE_LINKING); -+ update_stmt(cond_stmt); -+} -+ -+static tree create_string_param(tree string) -+{ -+ tree i_type, a_type; -+ const int length = TREE_STRING_LENGTH(string); -+ -+ gcc_assert(length > 0); -+ -+ i_type = build_index_type(build_int_cst(NULL_TREE, length - 1)); -+ a_type = build_array_type(char_type_node, i_type); -+ -+ TREE_TYPE(string) = a_type; -+ TREE_CONSTANT(string) = 1; -+ TREE_READONLY(string) = 1; -+ -+ return build1(ADDR_EXPR, ptr_type_node, string); -+} -+ -+static void insert_cond_result(basic_block bb_true, const_gimple stmt, const_tree arg, bool min) -+{ -+ gimple func_stmt; -+ const_gimple def_stmt; -+ const_tree loc_line; -+ tree loc_file, ssa_name, current_func; -+ expanded_location xloc; -+ char ssa_name_buf[256]; -+ gimple_stmt_iterator gsi = gsi_start_bb(bb_true); -+ -+ def_stmt = get_def_stmt(arg); -+ xloc = expand_location(gimple_location(def_stmt)); -+ -+ if (!gimple_has_location(def_stmt)) { -+ xloc = expand_location(gimple_location(stmt)); -+ if (!gimple_has_location(stmt)) -+ xloc = expand_location(DECL_SOURCE_LOCATION(current_function_decl)); -+ } -+ -+ loc_line = build_int_cstu(unsigned_type_node, xloc.line); -+ -+ loc_file = build_string(strlen(xloc.file) + 1, xloc.file); -+ loc_file = create_string_param(loc_file); -+ -+ current_func = build_string(NAME_LEN(current_function_decl) + 1, NAME(current_function_decl)); -+ current_func = create_string_param(current_func); -+ -+ snprintf(ssa_name_buf, 256, "%s_%u (%s)\n", NAME(SSA_NAME_VAR(arg)), SSA_NAME_VERSION(arg), min ? "min" : "max"); -+ ssa_name = build_string(256, ssa_name_buf); -+ ssa_name = create_string_param(ssa_name); -+ -+ // void report_size_overflow(const char *file, unsigned int line, const char *func, const char *ssa_name) -+ func_stmt = gimple_build_call(report_size_overflow_decl, 4, loc_file, loc_line, current_func, ssa_name); -+ -+ gsi_insert_after(&gsi, func_stmt, GSI_CONTINUE_LINKING); -+} -+ -+static void __unused print_the_code_insertions(const_gimple stmt) -+{ -+ location_t loc = gimple_location(stmt); -+ -+ inform(loc, "Integer size_overflow check applied here."); -+} -+ -+static void insert_check_size_overflow(gimple stmt, enum tree_code cond_code, tree arg, tree type_value, bool before, bool min) -+{ -+ basic_block cond_bb, join_bb, bb_true; -+ edge e; -+ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); -+ -+ cond_bb = gimple_bb(stmt); -+ if (before) -+ gsi_prev(&gsi); -+ if (gsi_end_p(gsi)) -+ e = split_block_after_labels(cond_bb); -+ else -+ e = split_block(cond_bb, gsi_stmt(gsi)); -+ cond_bb = e->src; -+ join_bb = e->dest; -+ e->flags = EDGE_FALSE_VALUE; -+ e->probability = REG_BR_PROB_BASE; -+ -+ bb_true = create_empty_bb(cond_bb); -+ make_edge(cond_bb, bb_true, EDGE_TRUE_VALUE); -+ make_edge(cond_bb, join_bb, EDGE_FALSE_VALUE); -+ make_edge(bb_true, join_bb, EDGE_FALLTHRU); -+ -+ if (dom_info_available_p(CDI_DOMINATORS)) { -+ set_immediate_dominator(CDI_DOMINATORS, bb_true, cond_bb); -+ set_immediate_dominator(CDI_DOMINATORS, join_bb, cond_bb); -+ } -+ -+ if (current_loops != NULL) { -+ gcc_assert(cond_bb->loop_father == join_bb->loop_father); -+ add_bb_to_loop(bb_true, cond_bb->loop_father); -+ } -+ -+ insert_cond(cond_bb, arg, cond_code, type_value); -+ insert_cond_result(bb_true, stmt, arg, min); -+ -+// print_the_code_insertions(stmt); -+} -+ -+static void check_size_overflow(gimple stmt, tree size_overflow_type, tree cast_rhs, tree rhs, bool before) -+{ -+ const_tree rhs_type = TREE_TYPE(rhs); -+ tree cast_rhs_type, type_max_type, type_min_type, type_max, type_min; -+ -+ gcc_assert(rhs_type != NULL_TREE); -+ if (TREE_CODE(rhs_type) == POINTER_TYPE) -+ return; -+ -+ gcc_assert(TREE_CODE(rhs_type) == INTEGER_TYPE || TREE_CODE(rhs_type) == BOOLEAN_TYPE || TREE_CODE(rhs_type) == ENUMERAL_TYPE); -+ -+ type_max = cast_a_tree(size_overflow_type, TYPE_MAX_VALUE(rhs_type)); -+ type_min = cast_a_tree(size_overflow_type, TYPE_MIN_VALUE(rhs_type)); -+ -+ gcc_assert(!TREE_OVERFLOW(type_max)); -+ -+ cast_rhs_type = TREE_TYPE(cast_rhs); -+ type_max_type = TREE_TYPE(type_max); -+ type_min_type = TREE_TYPE(type_min); -+ gcc_assert(useless_type_conversion_p(cast_rhs_type, type_max_type)); -+ gcc_assert(useless_type_conversion_p(type_max_type, type_min_type)); -+ -+ insert_check_size_overflow(stmt, GT_EXPR, cast_rhs, type_max, before, false); -+ insert_check_size_overflow(stmt, LT_EXPR, cast_rhs, type_min, before, true); -+} -+ -+static tree get_size_overflow_type_for_intentional_overflow(gimple def_stmt, tree change_rhs) -+{ -+ gimple change_rhs_def_stmt; -+ tree lhs = gimple_get_lhs(def_stmt); -+ tree lhs_type = TREE_TYPE(lhs); -+ tree rhs1_type = TREE_TYPE(gimple_assign_rhs1(def_stmt)); -+ tree rhs2_type = TREE_TYPE(gimple_assign_rhs2(def_stmt)); -+ -+ if (change_rhs == NULL_TREE) -+ return get_size_overflow_type(def_stmt, lhs); -+ -+ change_rhs_def_stmt = get_def_stmt(change_rhs); -+ -+ if (TREE_CODE_CLASS(gimple_assign_rhs_code(def_stmt)) == tcc_comparison) -+ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); -+ -+ if (gimple_assign_rhs_code(def_stmt) == LSHIFT_EXPR) -+ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); -+ -+ if (gimple_assign_rhs_code(def_stmt) == RSHIFT_EXPR) -+ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); -+ -+ if (!useless_type_conversion_p(lhs_type, rhs1_type) || !useless_type_conversion_p(rhs1_type, rhs2_type)) { -+ debug_gimple_stmt(def_stmt); -+ gcc_unreachable(); -+ } -+ -+ return get_size_overflow_type(def_stmt, lhs); -+} -+ -+static bool is_a_constant_overflow(const_gimple stmt, const_tree rhs) -+{ -+ if (gimple_assign_rhs_code(stmt) == MIN_EXPR) -+ return false; -+ if (!is_gimple_constant(rhs)) -+ return false; -+ return true; -+} -+ -+static tree get_cast_def_stmt_rhs(const_tree new_rhs) -+{ -+ gimple def_stmt; -+ -+ def_stmt = get_def_stmt(new_rhs); -+ // get_size_overflow_type -+ if (LONG_TYPE_SIZE != GET_MODE_BITSIZE(SImode)) -+ gcc_assert(gimple_assign_cast_p(def_stmt)); -+ return gimple_assign_rhs1(def_stmt); -+} -+ -+static tree cast_to_int_TI_type_and_check(gimple stmt, tree new_rhs) -+{ -+ gimple_stmt_iterator gsi; -+ const_gimple cast_stmt; -+ gimple def_stmt; -+ enum machine_mode mode = TYPE_MODE(TREE_TYPE(new_rhs)); -+ -+ if (mode != TImode && mode != DImode) { -+ def_stmt = get_def_stmt(new_rhs); -+ gcc_assert(gimple_assign_cast_p(def_stmt)); -+ new_rhs = gimple_assign_rhs1(def_stmt); -+ mode = TYPE_MODE(TREE_TYPE(new_rhs)); -+ } -+ -+ gcc_assert(mode == TImode || mode == DImode); -+ -+ if (mode == TYPE_MODE(intTI_type_node) && useless_type_conversion_p(TREE_TYPE(new_rhs), intTI_type_node)) -+ return new_rhs; -+ -+ gsi = gsi_for_stmt(stmt); -+ cast_stmt = build_cast_stmt(intTI_type_node, new_rhs, CREATE_NEW_VAR, &gsi, BEFORE_STMT); -+ new_rhs = gimple_get_lhs(cast_stmt); -+ -+ if (mode == DImode) -+ return new_rhs; -+ -+ check_size_overflow(stmt, intTI_type_node, new_rhs, new_rhs, BEFORE_STMT); -+ -+ return new_rhs; -+} -+ -+static bool is_an_integer_trunction(const_gimple stmt) -+{ -+ gimple rhs1_def_stmt, rhs2_def_stmt; -+ const_tree rhs1_def_stmt_rhs1, rhs2_def_stmt_rhs1; -+ enum machine_mode rhs1_def_stmt_rhs1_mode, rhs2_def_stmt_rhs1_mode; -+ const_tree rhs1 = gimple_assign_rhs1(stmt); -+ const_tree rhs2 = gimple_assign_rhs2(stmt); -+ enum machine_mode rhs1_mode = TYPE_MODE(TREE_TYPE(rhs1)); -+ enum machine_mode rhs2_mode = TYPE_MODE(TREE_TYPE(rhs2)); -+ -+ if (is_gimple_constant(rhs1) || is_gimple_constant(rhs2)) -+ return false; -+ -+ gcc_assert(TREE_CODE(rhs1) == SSA_NAME && TREE_CODE(rhs2) == SSA_NAME); -+ -+ if (gimple_assign_rhs_code(stmt) != MINUS_EXPR || rhs1_mode != SImode || rhs2_mode != SImode) -+ return false; -+ -+ rhs1_def_stmt = get_def_stmt(rhs1); -+ rhs2_def_stmt = get_def_stmt(rhs2); -+ if (!gimple_assign_cast_p(rhs1_def_stmt) || !gimple_assign_cast_p(rhs2_def_stmt)) -+ return false; -+ -+ rhs1_def_stmt_rhs1 = gimple_assign_rhs1(rhs1_def_stmt); -+ rhs2_def_stmt_rhs1 = gimple_assign_rhs1(rhs2_def_stmt); -+ rhs1_def_stmt_rhs1_mode = TYPE_MODE(TREE_TYPE(rhs1_def_stmt_rhs1)); -+ rhs2_def_stmt_rhs1_mode = TYPE_MODE(TREE_TYPE(rhs2_def_stmt_rhs1)); -+ if (rhs1_def_stmt_rhs1_mode != DImode || rhs2_def_stmt_rhs1_mode != DImode) -+ return false; -+ -+ gimple_set_plf(rhs1_def_stmt, NO_CAST_CHECK, true); -+ gimple_set_plf(rhs2_def_stmt, NO_CAST_CHECK, true); -+ return true; -+} -+ -+static tree handle_integer_truncation(struct pointer_set_t *visited, const_tree lhs) -+{ -+ tree new_rhs1, new_rhs2; -+ tree new_rhs1_def_stmt_rhs1, new_rhs2_def_stmt_rhs1, new_lhs; -+ tree new_rhs1_def_stmt_rhs1_type, new_rhs2_def_stmt_rhs1_type; -+ gimple assign, stmt = get_def_stmt(lhs); -+ tree rhs1 = gimple_assign_rhs1(stmt); -+ tree rhs2 = gimple_assign_rhs2(stmt); -+ -+ if (!is_an_integer_trunction(stmt)) -+ return NULL_TREE; -+ -+ new_rhs1 = expand(visited, rhs1); -+ new_rhs2 = expand(visited, rhs2); -+ -+ new_rhs1_def_stmt_rhs1 = get_cast_def_stmt_rhs(new_rhs1); -+ new_rhs2_def_stmt_rhs1 = get_cast_def_stmt_rhs(new_rhs2); -+ -+ new_rhs1_def_stmt_rhs1_type = TREE_TYPE(new_rhs1_def_stmt_rhs1); -+ new_rhs2_def_stmt_rhs1_type = TREE_TYPE(new_rhs2_def_stmt_rhs1); -+ -+ if (!useless_type_conversion_p(new_rhs1_def_stmt_rhs1_type, new_rhs2_def_stmt_rhs1_type)) { -+ new_rhs1_def_stmt_rhs1 = cast_to_int_TI_type_and_check(stmt, new_rhs1_def_stmt_rhs1); -+ new_rhs2_def_stmt_rhs1 = cast_to_int_TI_type_and_check(stmt, new_rhs2_def_stmt_rhs1); -+ } -+ -+ assign = create_binary_assign(MINUS_EXPR, stmt, new_rhs1_def_stmt_rhs1, new_rhs2_def_stmt_rhs1); -+ new_lhs = gimple_get_lhs(assign); -+ check_size_overflow(assign, TREE_TYPE(new_lhs), new_lhs, rhs1, AFTER_STMT); -+ -+ return follow_overflow_type_and_dup(visited, stmt, lhs, new_rhs1, new_rhs2, NULL_TREE); -+} -+ -+static bool is_a_neg_overflow(const_gimple stmt, const_tree rhs) -+{ -+ const_gimple def_stmt; -+ -+ if (TREE_CODE(rhs) != SSA_NAME) -+ return false; -+ -+ if (gimple_assign_rhs_code(stmt) != PLUS_EXPR) -+ return false; -+ -+ def_stmt = get_def_stmt(rhs); -+ if (gimple_code(def_stmt) != GIMPLE_ASSIGN || gimple_assign_rhs_code(def_stmt) != BIT_NOT_EXPR) -+ return false; -+ -+ return true; -+} -+ -+static tree handle_intentional_overflow(struct pointer_set_t *visited, bool check_overflow, gimple stmt, tree change_rhs, tree new_rhs1, tree new_rhs2) -+{ -+ tree new_rhs, size_overflow_type, orig_rhs; -+ void (*gimple_assign_set_rhs)(gimple, tree); -+ tree rhs1 = gimple_assign_rhs1(stmt); -+ tree rhs2 = gimple_assign_rhs2(stmt); -+ tree lhs = gimple_get_lhs(stmt); -+ -+ if (change_rhs == NULL_TREE) -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+ -+ if (new_rhs2 == NULL_TREE) { -+ size_overflow_type = get_size_overflow_type_for_intentional_overflow(stmt, new_rhs1); -+ new_rhs2 = cast_a_tree(size_overflow_type, rhs2); -+ orig_rhs = rhs1; -+ gimple_assign_set_rhs = &gimple_assign_set_rhs1; -+ } else { -+ size_overflow_type = get_size_overflow_type_for_intentional_overflow(stmt, new_rhs2); -+ new_rhs1 = cast_a_tree(size_overflow_type, rhs1); -+ orig_rhs = rhs2; -+ gimple_assign_set_rhs = &gimple_assign_set_rhs2; -+ } -+ -+ change_rhs = cast_to_new_size_overflow_type(stmt, change_rhs, size_overflow_type, BEFORE_STMT); -+ -+ if (check_overflow) -+ check_size_overflow(stmt, size_overflow_type, change_rhs, orig_rhs, BEFORE_STMT); -+ -+ new_rhs = change_assign_rhs(stmt, orig_rhs, change_rhs); -+ gimple_assign_set_rhs(stmt, new_rhs); -+ update_stmt(stmt); -+ -+ return create_assign(visited, stmt, lhs, AFTER_STMT); -+} -+ -+static tree handle_binary_ops(struct pointer_set_t *visited, tree lhs) -+{ -+ tree rhs1, rhs2, new_lhs; -+ gimple def_stmt = get_def_stmt(lhs); -+ tree new_rhs1 = NULL_TREE; -+ tree new_rhs2 = NULL_TREE; -+ -+ rhs1 = gimple_assign_rhs1(def_stmt); -+ rhs2 = gimple_assign_rhs2(def_stmt); -+ -+ /* no DImode/TImode division in the 32/64 bit kernel */ -+ switch (gimple_assign_rhs_code(def_stmt)) { -+ case RDIV_EXPR: -+ case TRUNC_DIV_EXPR: -+ case CEIL_DIV_EXPR: -+ case FLOOR_DIV_EXPR: -+ case ROUND_DIV_EXPR: -+ case TRUNC_MOD_EXPR: -+ case CEIL_MOD_EXPR: -+ case FLOOR_MOD_EXPR: -+ case ROUND_MOD_EXPR: -+ case EXACT_DIV_EXPR: -+ case POINTER_PLUS_EXPR: -+ case BIT_AND_EXPR: -+ return create_assign(visited, def_stmt, lhs, AFTER_STMT); -+ default: -+ break; -+ } -+ -+ new_lhs = handle_integer_truncation(visited, lhs); -+ if (new_lhs != NULL_TREE) -+ return new_lhs; -+ -+ if (TREE_CODE(rhs1) == SSA_NAME) -+ new_rhs1 = expand(visited, rhs1); -+ if (TREE_CODE(rhs2) == SSA_NAME) -+ new_rhs2 = expand(visited, rhs2); -+ -+ if (is_a_neg_overflow(def_stmt, rhs2)) -+ return handle_intentional_overflow(visited, true, def_stmt, new_rhs1, new_rhs1, NULL_TREE); -+ if (is_a_neg_overflow(def_stmt, rhs1)) -+ return handle_intentional_overflow(visited, true, def_stmt, new_rhs2, NULL_TREE, new_rhs2); -+ -+ if (is_a_constant_overflow(def_stmt, rhs2)) -+ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs1), def_stmt, new_rhs1, new_rhs1, NULL_TREE); -+ if (is_a_constant_overflow(def_stmt, rhs1)) -+ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs2), def_stmt, new_rhs2, NULL_TREE, new_rhs2); -+ -+ return follow_overflow_type_and_dup(visited, def_stmt, lhs, new_rhs1, new_rhs2, NULL_TREE); -+} -+ -+#if BUILDING_GCC_VERSION >= 4007 -+static tree get_new_rhs(struct pointer_set_t *visited, tree size_overflow_type, tree rhs) -+{ -+ if (is_gimple_constant(rhs)) -+ return cast_a_tree(size_overflow_type, rhs); -+ if (TREE_CODE(rhs) != SSA_NAME) -+ return NULL_TREE; -+ return expand(visited, rhs); -+} -+ -+static tree handle_ternary_ops(struct pointer_set_t *visited, tree lhs) -+{ -+ tree rhs1, rhs2, rhs3, new_rhs1, new_rhs2, new_rhs3, size_overflow_type; -+ gimple def_stmt = get_def_stmt(lhs); -+ -+ size_overflow_type = get_size_overflow_type(def_stmt, lhs); -+ -+ rhs1 = gimple_assign_rhs1(def_stmt); -+ rhs2 = gimple_assign_rhs2(def_stmt); -+ rhs3 = gimple_assign_rhs3(def_stmt); -+ new_rhs1 = get_new_rhs(visited, size_overflow_type, rhs1); -+ new_rhs2 = get_new_rhs(visited, size_overflow_type, rhs2); -+ new_rhs3 = get_new_rhs(visited, size_overflow_type, rhs3); -+ -+ return follow_overflow_type_and_dup(visited, def_stmt, lhs, new_rhs1, new_rhs2, new_rhs3); -+} -+#endif -+ -+static tree get_size_overflow_type(gimple stmt, const_tree node) -+{ -+ const_tree type; -+ -+ gcc_assert(node != NULL_TREE); -+ -+ type = TREE_TYPE(node); -+ -+ if (gimple_plf(stmt, MY_STMT)) -+ return TREE_TYPE(node); -+ -+ switch (TYPE_MODE(type)) { -+ case QImode: -+ return (TYPE_UNSIGNED(type)) ? unsigned_intHI_type_node : intHI_type_node; -+ case HImode: -+ return (TYPE_UNSIGNED(type)) ? unsigned_intSI_type_node : intSI_type_node; -+ case SImode: -+ return (TYPE_UNSIGNED(type)) ? unsigned_intDI_type_node : intDI_type_node; -+ case DImode: -+ if (LONG_TYPE_SIZE == GET_MODE_BITSIZE(SImode)) -+ return (TYPE_UNSIGNED(type)) ? unsigned_intDI_type_node : intDI_type_node; -+ return (TYPE_UNSIGNED(type)) ? unsigned_intTI_type_node : intTI_type_node; -+ default: -+ debug_tree((tree)node); -+ error("%s: unsupported gcc configuration.", __func__); -+ gcc_unreachable(); -+ } -+} -+ -+static tree expand_visited(gimple def_stmt) -+{ -+ const_gimple next_stmt; -+ gimple_stmt_iterator gsi = gsi_for_stmt(def_stmt); -+ -+ gsi_next(&gsi); -+ next_stmt = gsi_stmt(gsi); -+ -+ gcc_assert(gimple_plf((gimple)next_stmt, MY_STMT)); -+ -+ switch (gimple_code(next_stmt)) { -+ case GIMPLE_ASSIGN: -+ return gimple_get_lhs(next_stmt); -+ case GIMPLE_PHI: -+ return gimple_phi_result(next_stmt); -+ case GIMPLE_CALL: -+ return gimple_call_lhs(next_stmt); -+ default: -+ return NULL_TREE; -+ } -+} -+ -+static tree expand(struct pointer_set_t *visited, tree lhs) -+{ -+ gimple def_stmt; -+ enum tree_code code = TREE_CODE(TREE_TYPE(lhs)); -+ -+ if (is_gimple_constant(lhs)) -+ return NULL_TREE; -+ -+ if (TREE_CODE(lhs) == ADDR_EXPR) -+ return NULL_TREE; -+ -+ if (code == REAL_TYPE) -+ return NULL_TREE; -+ -+ gcc_assert(code == INTEGER_TYPE || code == POINTER_TYPE || code == BOOLEAN_TYPE || code == ENUMERAL_TYPE); -+ -+ -+ def_stmt = get_def_stmt(lhs); -+ -+ if (!def_stmt) -+ return NULL_TREE; -+ -+ if (gimple_plf(def_stmt, MY_STMT)) -+ return lhs; -+ -+ if (pointer_set_contains(visited, def_stmt)) -+ return expand_visited(def_stmt); -+ -+ switch (gimple_code(def_stmt)) { -+ case GIMPLE_NOP: -+ return NULL_TREE; -+ case GIMPLE_PHI: -+ return build_new_phi(visited, lhs); -+ case GIMPLE_CALL: -+ case GIMPLE_ASM: -+ return create_assign(visited, def_stmt, lhs, AFTER_STMT); -+ case GIMPLE_ASSIGN: -+ switch (gimple_num_ops(def_stmt)) { -+ case 2: -+ return handle_unary_ops(visited, lhs); -+ case 3: -+ return handle_binary_ops(visited, lhs); -+#if BUILDING_GCC_VERSION >= 4007 -+ case 4: -+ return handle_ternary_ops(visited, lhs); -+#endif -+ } -+ default: -+ debug_gimple_stmt(def_stmt); -+ error("%s: unknown gimple code", __func__); -+ gcc_unreachable(); -+ } -+} -+ -+static void change_function_arg(gimple stmt, const_tree origarg, unsigned int argnum, tree newarg) -+{ -+ const_gimple assign; -+ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); -+ tree origtype = TREE_TYPE(origarg); -+ -+ gcc_assert(gimple_code(stmt) == GIMPLE_CALL); -+ -+ assign = build_cast_stmt(origtype, newarg, CREATE_NEW_VAR, &gsi, BEFORE_STMT); -+ -+ gimple_call_set_arg(stmt, argnum, gimple_get_lhs(assign)); -+ update_stmt(stmt); -+} -+ -+static bool get_function_arg(unsigned int* argnum, const_tree fndecl) -+{ -+ const char *origid; -+ tree arg; -+ const_tree origarg; -+ -+ if (!DECL_ABSTRACT_ORIGIN(fndecl)) -+ return true; -+ -+ origarg = DECL_ARGUMENTS(DECL_ABSTRACT_ORIGIN(fndecl)); -+ while (origarg && *argnum) { -+ (*argnum)--; -+ origarg = TREE_CHAIN(origarg); -+ } -+ -+ gcc_assert(*argnum == 0); -+ -+ gcc_assert(origarg != NULL_TREE); -+ origid = NAME(origarg); -+ *argnum = 0; -+ for (arg = DECL_ARGUMENTS(fndecl); arg; arg = TREE_CHAIN(arg)) { -+ if (!strcmp(origid, NAME(arg))) -+ return true; -+ (*argnum)++; -+ } -+ return false; -+} -+ -+static bool skip_types(const_tree var) -+{ -+ switch (TREE_CODE(var)) { -+ case ADDR_EXPR: -+#if BUILDING_GCC_VERSION >= 4006 -+ case MEM_REF: -+#endif -+ case ARRAY_REF: -+ case BIT_FIELD_REF: -+ case INDIRECT_REF: -+ case TARGET_MEM_REF: -+ case VAR_DECL: -+ return true; -+ default: -+ break; -+ } -+ return false; -+} -+ -+static bool walk_phi(struct pointer_set_t *visited, const_tree result) -+{ -+ gimple phi = get_def_stmt(result); -+ unsigned int i, n = gimple_phi_num_args(phi); -+ -+ if (!phi) -+ return false; -+ -+ pointer_set_insert(visited, phi); -+ for (i = 0; i < n; i++) { -+ const_tree arg = gimple_phi_arg_def(phi, i); -+ if (pre_expand(visited, arg)) -+ return true; -+ } -+ return false; -+} -+ -+static bool walk_unary_ops(struct pointer_set_t *visited, const_tree lhs) -+{ -+ gimple def_stmt = get_def_stmt(lhs); -+ const_tree rhs; -+ -+ if (!def_stmt) -+ return false; -+ -+ rhs = gimple_assign_rhs1(def_stmt); -+ if (pre_expand(visited, rhs)) -+ return true; -+ return false; -+} -+ -+static bool walk_binary_ops(struct pointer_set_t *visited, const_tree lhs) -+{ -+ bool rhs1_found, rhs2_found; -+ gimple def_stmt = get_def_stmt(lhs); -+ const_tree rhs1, rhs2; -+ -+ if (!def_stmt) -+ return false; -+ -+ rhs1 = gimple_assign_rhs1(def_stmt); -+ rhs2 = gimple_assign_rhs2(def_stmt); -+ rhs1_found = pre_expand(visited, rhs1); -+ rhs2_found = pre_expand(visited, rhs2); -+ -+ return rhs1_found || rhs2_found; -+} -+ -+static const_tree search_field_decl(const_tree comp_ref) -+{ -+ const_tree field = NULL_TREE; -+ unsigned int i, len = TREE_OPERAND_LENGTH(comp_ref); -+ -+ for (i = 0; i < len; i++) { -+ field = TREE_OPERAND(comp_ref, i); -+ if (TREE_CODE(field) == FIELD_DECL) -+ break; -+ } -+ gcc_assert(TREE_CODE(field) == FIELD_DECL); -+ return field; -+} -+ -+static enum marked mark_status(const_tree fndecl, unsigned int argnum) -+{ -+ const_tree attr, p; -+ -+ attr = lookup_attribute("intentional_overflow", DECL_ATTRIBUTES(fndecl)); -+ if (!attr || !TREE_VALUE(attr)) -+ return MARKED_NO; -+ -+ p = TREE_VALUE(attr); -+ if (!TREE_INT_CST_LOW(TREE_VALUE(p))) -+ return MARKED_NOT_INTENTIONAL; -+ -+ do { -+ if (argnum == TREE_INT_CST_LOW(TREE_VALUE(p))) -+ return MARKED_YES; -+ p = TREE_CHAIN(p); -+ } while (p); -+ -+ return MARKED_NO; -+} -+ -+static void print_missing_msg(tree func, unsigned int argnum) -+{ -+ unsigned int new_hash; -+ size_t len; -+ unsigned char tree_codes[CODES_LIMIT]; -+ location_t loc = DECL_SOURCE_LOCATION(func); -+ const char *curfunc = get_asm_name(func); -+ -+ len = get_function_decl(func, tree_codes); -+ new_hash = get_hash_num(curfunc, (const char *) tree_codes, len, 0); -+ inform(loc, "Function %s is missing from the size_overflow hash table +%s+%u+%u+", curfunc, curfunc, argnum, new_hash); -+} -+ -+static unsigned int search_missing_attribute(const_tree arg) -+{ -+ const_tree type = TREE_TYPE(arg); -+ tree func = get_original_function_decl(current_function_decl); -+ unsigned int argnum; -+ const struct size_overflow_hash *hash; -+ -+ gcc_assert(TREE_CODE(arg) != COMPONENT_REF); -+ -+ if (TREE_CODE(type) == POINTER_TYPE) -+ return 0; -+ -+ argnum = find_arg_number(arg, func); -+ if (argnum == 0) -+ return 0; -+ -+ if (lookup_attribute("size_overflow", DECL_ATTRIBUTES(func))) -+ return argnum; -+ -+ hash = get_function_hash(func); -+ if (!hash || !(hash->param & (1U << argnum))) { -+ print_missing_msg(func, argnum); -+ return 0; -+ } -+ return argnum; -+} -+ -+static bool is_already_marked(const_tree lhs) -+{ -+ unsigned int argnum; -+ const_tree fndecl; -+ -+ argnum = search_missing_attribute(lhs); -+ fndecl = get_original_function_decl(current_function_decl); -+ if (argnum && mark_status(fndecl, argnum) == MARKED_YES) -+ return true; -+ return false; -+} -+ -+static bool pre_expand(struct pointer_set_t *visited, const_tree lhs) -+{ -+ const_gimple def_stmt; -+ -+ if (is_gimple_constant(lhs)) -+ return false; -+ -+ if (skip_types(lhs)) -+ return false; -+ -+ if (TREE_CODE(lhs) == PARM_DECL) -+ return is_already_marked(lhs); -+ -+ if (TREE_CODE(lhs) == COMPONENT_REF) { -+ const_tree field, attr; -+ -+ field = search_field_decl(lhs); -+ attr = lookup_attribute("intentional_overflow", DECL_ATTRIBUTES(field)); -+ if (!attr || !TREE_VALUE(attr)) -+ return false; -+ return true; -+ } -+ -+ def_stmt = get_def_stmt(lhs); -+ -+ if (!def_stmt) -+ return false; -+ -+ if (pointer_set_contains(visited, def_stmt)) -+ return false; -+ -+ switch (gimple_code(def_stmt)) { -+ case GIMPLE_NOP: -+ if (TREE_CODE(SSA_NAME_VAR(lhs)) == PARM_DECL) -+ return is_already_marked(lhs); -+ return false; -+ case GIMPLE_PHI: -+ return walk_phi(visited, lhs); -+ case GIMPLE_CALL: -+ case GIMPLE_ASM: -+ return false; -+ case GIMPLE_ASSIGN: -+ switch (gimple_num_ops(def_stmt)) { -+ case 2: -+ return walk_unary_ops(visited, lhs); -+ case 3: -+ return walk_binary_ops(visited, lhs); -+ } -+ default: -+ debug_gimple_stmt((gimple)def_stmt); -+ error("%s: unknown gimple code", __func__); -+ gcc_unreachable(); -+ } -+} -+ -+static bool search_attributes(tree fndecl, const_tree arg, unsigned int argnum) -+{ -+ struct pointer_set_t *visited; -+ bool is_found; -+ enum marked is_marked; -+ location_t loc; -+ -+ visited = pointer_set_create(); -+ is_found = pre_expand(visited, arg); -+ pointer_set_destroy(visited); -+ -+ is_marked = mark_status(fndecl, argnum + 1); -+ if ((is_found && is_marked == MARKED_YES) || is_marked == MARKED_NOT_INTENTIONAL) -+ return true; -+ -+ if (is_found) { -+ loc = DECL_SOURCE_LOCATION(fndecl); -+ inform(loc, "The intentional_overflow attribute is missing from +%s+%u+", get_asm_name(fndecl), argnum + 1); -+ return true; -+ } -+ return false; -+} -+ -+static void handle_function_arg(gimple stmt, tree fndecl, unsigned int argnum) -+{ -+ struct pointer_set_t *visited; -+ tree arg, newarg; -+ bool match; -+ -+ match = get_function_arg(&argnum, fndecl); -+ if (!match) -+ return; -+ gcc_assert(gimple_call_num_args(stmt) > argnum); -+ arg = gimple_call_arg(stmt, argnum); -+ if (arg == NULL_TREE) -+ return; -+ -+ if (is_gimple_constant(arg)) -+ return; -+ -+ if (search_attributes(fndecl, arg, argnum)) -+ return; -+ -+ if (TREE_CODE(arg) != SSA_NAME) -+ return; -+ -+ check_arg_type(arg); -+ -+ visited = pointer_set_create(); -+ newarg = expand(visited, arg); -+ pointer_set_destroy(visited); -+ -+ if (newarg == NULL_TREE) -+ return; -+ -+ change_function_arg(stmt, arg, argnum, newarg); -+ -+ check_size_overflow(stmt, TREE_TYPE(newarg), newarg, arg, BEFORE_STMT); -+} -+ -+static void handle_function_by_attribute(gimple stmt, const_tree attr, tree fndecl) -+{ -+ tree p = TREE_VALUE(attr); -+ do { -+ handle_function_arg(stmt, fndecl, TREE_INT_CST_LOW(TREE_VALUE(p))-1); -+ p = TREE_CHAIN(p); -+ } while (p); -+} -+ -+static void handle_function_by_hash(gimple stmt, tree fndecl) -+{ -+ tree orig_fndecl; -+ unsigned int num; -+ const struct size_overflow_hash *hash; -+ -+ orig_fndecl = get_original_function_decl(fndecl); -+ if (C_DECL_IMPLICIT(orig_fndecl)) -+ return; -+ hash = get_function_hash(orig_fndecl); -+ if (!hash) -+ return; -+ -+ for (num = 1; num <= MAX_PARAM; num++) -+ if (hash->param & (1U << num)) -+ handle_function_arg(stmt, fndecl, num - 1); -+} -+ -+static void set_plf_false(void) -+{ -+ basic_block bb; -+ -+ FOR_ALL_BB(bb) { -+ gimple_stmt_iterator si; -+ -+ for (si = gsi_start_bb(bb); !gsi_end_p(si); gsi_next(&si)) -+ gimple_set_plf(gsi_stmt(si), MY_STMT, false); -+ for (si = gsi_start_phis(bb); !gsi_end_p(si); gsi_next(&si)) -+ gimple_set_plf(gsi_stmt(si), MY_STMT, false); -+ } -+} -+ -+static unsigned int handle_function(void) -+{ -+ basic_block next, bb = ENTRY_BLOCK_PTR->next_bb; -+ -+ set_plf_false(); -+ -+ do { -+ gimple_stmt_iterator gsi; -+ next = bb->next_bb; -+ -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ tree fndecl, attr; -+ gimple stmt = gsi_stmt(gsi); -+ -+ if (!(is_gimple_call(stmt))) -+ continue; -+ fndecl = gimple_call_fndecl(stmt); -+ if (fndecl == NULL_TREE) -+ continue; -+ if (gimple_call_num_args(stmt) == 0) -+ continue; -+ attr = lookup_attribute("size_overflow", DECL_ATTRIBUTES(fndecl)); -+ if (!attr || !TREE_VALUE(attr)) -+ handle_function_by_hash(stmt, fndecl); -+ else -+ handle_function_by_attribute(stmt, attr, fndecl); -+ gsi = gsi_for_stmt(stmt); -+ next = gimple_bb(stmt)->next_bb; -+ } -+ bb = next; -+ } while (bb); -+ return 0; -+} -+ -+static struct gimple_opt_pass size_overflow_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "size_overflow", -+ .gate = NULL, -+ .execute = handle_function, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = PROP_cfg | PROP_referenced_vars, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi | TODO_cleanup_cfg | TODO_ggc_collect | TODO_verify_flow -+ } -+}; -+ -+static void start_unit_callback(void __unused *gcc_data, void __unused *user_data) -+{ -+ tree fntype; -+ -+ const_char_ptr_type_node = build_pointer_type(build_type_variant(char_type_node, 1, 0)); -+ -+ // void report_size_overflow(const char *loc_file, unsigned int loc_line, const char *current_func, const char *ssa_var) -+ fntype = build_function_type_list(void_type_node, -+ const_char_ptr_type_node, -+ unsigned_type_node, -+ const_char_ptr_type_node, -+ const_char_ptr_type_node, -+ NULL_TREE); -+ report_size_overflow_decl = build_fn_decl("report_size_overflow", fntype); -+ -+ DECL_ASSEMBLER_NAME(report_size_overflow_decl); -+ TREE_PUBLIC(report_size_overflow_decl) = 1; -+ DECL_EXTERNAL(report_size_overflow_decl) = 1; -+ DECL_ARTIFICIAL(report_size_overflow_decl) = 1; -+ TREE_THIS_VOLATILE(report_size_overflow_decl) = 1; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ int i; -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ bool enable = true; -+ -+ struct register_pass_info size_overflow_pass_info = { -+ .pass = &size_overflow_pass.pass, -+ .reference_pass_name = "ssa", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_AFTER -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ for (i = 0; i < argc; ++i) { -+ if (!strcmp(argv[i].key, "no-size-overflow")) { -+ enable = false; -+ continue; -+ } -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &size_overflow_plugin_info); -+ if (enable) { -+ register_callback("start_unit", PLUGIN_START_UNIT, &start_unit_callback, NULL); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &size_overflow_pass_info); -+ } -+ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); -+ -+ return 0; -+} ---- tools/gcc/stackleak_plugin.c 1970-01-01 00:00:00.000000000 +0000 -+++ tools/gcc/stackleak_plugin.c 2012-10-15 17:30:59.835924531 +0000 -@@ -0,0 +1,313 @@ -+/* -+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> -+ * Licensed under the GPL v2 -+ * -+ * Note: the choice of the license means that the compilation process is -+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, -+ * but for the kernel it doesn't matter since it doesn't link against -+ * any of the gcc libraries -+ * -+ * gcc plugin to help implement various PaX features -+ * -+ * - track lowest stack pointer -+ * -+ * TODO: -+ * - initialize all local variables -+ * -+ * BUGS: -+ * - none known -+ */ -+#include "gcc-plugin.h" -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "tree.h" -+#include "tree-pass.h" -+#include "flags.h" -+#include "intl.h" -+#include "toplev.h" -+#include "plugin.h" -+//#include "expr.h" where are you... -+#include "diagnostic.h" -+#include "plugin-version.h" -+#include "tm.h" -+#include "function.h" -+#include "basic-block.h" -+#include "gimple.h" -+#include "rtl.h" -+#include "emit-rtl.h" -+ -+extern void print_gimple_stmt(FILE *, gimple, int, int); -+ -+int plugin_is_GPL_compatible; -+ -+static int track_frame_size = -1; -+static const char track_function[] = "pax_track_stack"; -+static const char check_function[] = "pax_check_alloca"; -+static bool init_locals; -+ -+static struct plugin_info stackleak_plugin_info = { -+ .version = "201203140940", -+ .help = "track-lowest-sp=nn\ttrack sp in functions whose frame size is at least nn bytes\n" -+// "initialize-locals\t\tforcibly initialize all stack frames\n" -+}; -+ -+static bool gate_stackleak_track_stack(void); -+static unsigned int execute_stackleak_tree_instrument(void); -+static unsigned int execute_stackleak_final(void); -+ -+static struct gimple_opt_pass stackleak_tree_instrument_pass = { -+ .pass = { -+ .type = GIMPLE_PASS, -+ .name = "stackleak_tree_instrument", -+ .gate = gate_stackleak_track_stack, -+ .execute = execute_stackleak_tree_instrument, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = PROP_gimple_leh | PROP_cfg, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, //TODO_verify_ssa | TODO_verify_flow | TODO_verify_stmts, -+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_update_ssa -+ } -+}; -+ -+static struct rtl_opt_pass stackleak_final_rtl_opt_pass = { -+ .pass = { -+ .type = RTL_PASS, -+ .name = "stackleak_final", -+ .gate = gate_stackleak_track_stack, -+ .execute = execute_stackleak_final, -+ .sub = NULL, -+ .next = NULL, -+ .static_pass_number = 0, -+ .tv_id = TV_NONE, -+ .properties_required = 0, -+ .properties_provided = 0, -+ .properties_destroyed = 0, -+ .todo_flags_start = 0, -+ .todo_flags_finish = TODO_dump_func -+ } -+}; -+ -+static bool gate_stackleak_track_stack(void) -+{ -+ return track_frame_size >= 0; -+} -+ -+static void stackleak_check_alloca(gimple_stmt_iterator *gsi) -+{ -+ gimple check_alloca; -+ tree fntype, fndecl, alloca_size; -+ -+ fntype = build_function_type_list(void_type_node, long_unsigned_type_node, NULL_TREE); -+ fndecl = build_fn_decl(check_function, fntype); -+ DECL_ASSEMBLER_NAME(fndecl); // for LTO -+ -+ // insert call to void pax_check_alloca(unsigned long size) -+ alloca_size = gimple_call_arg(gsi_stmt(*gsi), 0); -+ check_alloca = gimple_build_call(fndecl, 1, alloca_size); -+ gsi_insert_before(gsi, check_alloca, GSI_SAME_STMT); -+} -+ -+static void stackleak_add_instrumentation(gimple_stmt_iterator *gsi) -+{ -+ gimple track_stack; -+ tree fntype, fndecl; -+ -+ fntype = build_function_type_list(void_type_node, NULL_TREE); -+ fndecl = build_fn_decl(track_function, fntype); -+ DECL_ASSEMBLER_NAME(fndecl); // for LTO -+ -+ // insert call to void pax_track_stack(void) -+ track_stack = gimple_build_call(fndecl, 0); -+ gsi_insert_after(gsi, track_stack, GSI_CONTINUE_LINKING); -+} -+ -+#if BUILDING_GCC_VERSION == 4005 -+static bool gimple_call_builtin_p(gimple stmt, enum built_in_function code) -+{ -+ tree fndecl; -+ -+ if (!is_gimple_call(stmt)) -+ return false; -+ fndecl = gimple_call_fndecl(stmt); -+ if (!fndecl) -+ return false; -+ if (DECL_BUILT_IN_CLASS(fndecl) != BUILT_IN_NORMAL) -+ return false; -+// print_node(stderr, "pax", fndecl, 4); -+ return DECL_FUNCTION_CODE(fndecl) == code; -+} -+#endif -+ -+static bool is_alloca(gimple stmt) -+{ -+ if (gimple_call_builtin_p(stmt, BUILT_IN_ALLOCA)) -+ return true; -+ -+#if BUILDING_GCC_VERSION >= 4007 -+ if (gimple_call_builtin_p(stmt, BUILT_IN_ALLOCA_WITH_ALIGN)) -+ return true; -+#endif -+ -+ return false; -+} -+ -+static unsigned int execute_stackleak_tree_instrument(void) -+{ -+ basic_block bb, entry_bb; -+ bool prologue_instrumented = false, is_leaf = true; -+ -+ entry_bb = ENTRY_BLOCK_PTR_FOR_FUNCTION(cfun)->next_bb; -+ -+ // 1. loop through BBs and GIMPLE statements -+ FOR_EACH_BB(bb) { -+ gimple_stmt_iterator gsi; -+ -+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { -+ gimple stmt; -+ -+ stmt = gsi_stmt(gsi); -+ -+ if (is_gimple_call(stmt)) -+ is_leaf = false; -+ -+ // gimple match: align 8 built-in BUILT_IN_NORMAL:BUILT_IN_ALLOCA attributes <tree_list 0xb7576450> -+ if (!is_alloca(stmt)) -+ continue; -+ -+ // 2. insert stack overflow check before each __builtin_alloca call -+ stackleak_check_alloca(&gsi); -+ -+ // 3. insert track call after each __builtin_alloca call -+ stackleak_add_instrumentation(&gsi); -+ if (bb == entry_bb) -+ prologue_instrumented = true; -+ } -+ } -+ -+ // special cases for some bad linux code: taking the address of static inline functions will materialize them -+ // but we mustn't instrument some of them as the resulting stack alignment required by the function call ABI -+ // will break other assumptions regarding the expected (but not otherwise enforced) register clobbering ABI. -+ // case in point: native_save_fl on amd64 when optimized for size clobbers rdx if it were instrumented here. -+ if (is_leaf && !TREE_PUBLIC(current_function_decl) && DECL_DECLARED_INLINE_P(current_function_decl)) -+ return 0; -+ if (is_leaf && !strncmp(IDENTIFIER_POINTER(DECL_NAME(current_function_decl)), "_paravirt_", 10)) -+ return 0; -+ -+ // 4. insert track call at the beginning -+ if (!prologue_instrumented) { -+ gimple_stmt_iterator gsi; -+ -+ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; -+ if (dom_info_available_p(CDI_DOMINATORS)) -+ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR); -+ gsi = gsi_start_bb(bb); -+ stackleak_add_instrumentation(&gsi); -+ } -+ -+ return 0; -+} -+ -+static unsigned int execute_stackleak_final(void) -+{ -+ rtx insn; -+ -+ if (cfun->calls_alloca) -+ return 0; -+ -+ // keep calls only if function frame is big enough -+ if (get_frame_size() >= track_frame_size) -+ return 0; -+ -+ // 1. find pax_track_stack calls -+ for (insn = get_insns(); insn; insn = NEXT_INSN(insn)) { -+ // rtl match: (call_insn 8 7 9 3 (call (mem (symbol_ref ("pax_track_stack") [flags 0x41] <function_decl 0xb7470e80 pax_track_stack>) [0 S1 A8]) (4)) -1 (nil) (nil)) -+ rtx body; -+ -+ if (!CALL_P(insn)) -+ continue; -+ body = PATTERN(insn); -+ if (GET_CODE(body) != CALL) -+ continue; -+ body = XEXP(body, 0); -+ if (GET_CODE(body) != MEM) -+ continue; -+ body = XEXP(body, 0); -+ if (GET_CODE(body) != SYMBOL_REF) -+ continue; -+ if (strcmp(XSTR(body, 0), track_function)) -+ continue; -+// warning(0, "track_frame_size: %d %ld %d", cfun->calls_alloca, get_frame_size(), track_frame_size); -+ // 2. delete call -+ insn = delete_insn_and_edges(insn); -+#if BUILDING_GCC_VERSION >= 4007 -+ if (GET_CODE(insn) == NOTE && NOTE_KIND(insn) == NOTE_INSN_CALL_ARG_LOCATION) -+ insn = delete_insn_and_edges(insn); -+#endif -+ } -+ -+// print_simple_rtl(stderr, get_insns()); -+// print_rtl(stderr, get_insns()); -+// warning(0, "track_frame_size: %d %ld %d", cfun->calls_alloca, get_frame_size(), track_frame_size); -+ -+ return 0; -+} -+ -+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) -+{ -+ const char * const plugin_name = plugin_info->base_name; -+ const int argc = plugin_info->argc; -+ const struct plugin_argument * const argv = plugin_info->argv; -+ int i; -+ struct register_pass_info stackleak_tree_instrument_pass_info = { -+ .pass = &stackleak_tree_instrument_pass.pass, -+// .reference_pass_name = "tree_profile", -+ .reference_pass_name = "optimized", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_BEFORE -+ }; -+ struct register_pass_info stackleak_final_pass_info = { -+ .pass = &stackleak_final_rtl_opt_pass.pass, -+ .reference_pass_name = "final", -+ .ref_pass_instance_number = 1, -+ .pos_op = PASS_POS_INSERT_BEFORE -+ }; -+ -+ if (!plugin_default_version_check(version, &gcc_version)) { -+ error(G_("incompatible gcc/plugin versions")); -+ return 1; -+ } -+ -+ register_callback(plugin_name, PLUGIN_INFO, NULL, &stackleak_plugin_info); -+ -+ for (i = 0; i < argc; ++i) { -+ if (!strcmp(argv[i].key, "track-lowest-sp")) { -+ if (!argv[i].value) { -+ error(G_("no value supplied for option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ continue; -+ } -+ track_frame_size = atoi(argv[i].value); -+ if (argv[i].value[0] < '0' || argv[i].value[0] > '9' || track_frame_size < 0) -+ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); -+ continue; -+ } -+ if (!strcmp(argv[i].key, "initialize-locals")) { -+ if (argv[i].value) { -+ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); -+ continue; -+ } -+ init_locals = true; -+ continue; -+ } -+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); -+ } -+ -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &stackleak_tree_instrument_pass_info); -+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &stackleak_final_pass_info); -+ -+ return 0; -+} diff --git a/net-wireless/compat-wireless/files/driver-debug.patch b/net-wireless/compat-wireless/files/driver-debug.patch deleted file mode 100644 index a50ed693..00000000 --- a/net-wireless/compat-wireless/files/driver-debug.patch +++ /dev/null @@ -1,120 +0,0 @@ -diff -Naur /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r1/work/compat-wireless-2.6.35-rc2/config.mk /usr/src/compat-wireless-2.6.35-rc2/config.mk ---- /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r1/work/compat-wireless-2.6.35-rc2/config.mk 2010-06-12 01:28:31.000000000 -0400 -+++ /usr/src/compat-wireless-2.6.35-rc2/config.mk 2010-06-12 01:35:32.000000000 -0400 -@@ -172,7 +172,7 @@ - ifneq ($(CONFIG_PCI),) - - CONFIG_ATH5K=m --# CONFIG_ATH5K_DEBUG=y -+CONFIG_ATH5K_DEBUG=y - CONFIG_ATH9K_HW=m - CONFIG_ATH9K=m - # Note: once ath9k_htc is added we'll have to move -@@ -183,7 +183,7 @@ - - - CONFIG_IWLWIFI=m --# CONFIG_IWLWIFI_DEBUG=y -+CONFIG_IWLWIFI_DEBUG=y - # CONFIG_IWLWIFI_DEBUGFS=y - # CONFIG_IWLWIFI_DEVICE_TRACING=y - CONFIG_IWLAGN=m -@@ -202,30 +202,30 @@ - CONFIG_B43_PHY_LP=y - CONFIG_B43_NPHY=y - # CONFIG_B43_FORCE_PIO=y --# CONFIG_B43_DEBUG=y -+CONFIG_B43_DEBUG=y - - CONFIG_B43LEGACY=m - CONFIG_B43LEGACY_HWRNG=y - CONFIG_B43LEGACY_PCI_AUTOSELECT=y - CONFIG_B43LEGACY_LEDS=y --# CONFIG_B43LEGACY_DEBUG=y -+CONFIG_B43LEGACY_DEBUG=y - CONFIG_B43LEGACY_DMA=y - CONFIG_B43LEGACY_PIO=y - - # The Intel ipws - CONFIG_LIBIPW=m --# CONFIG_LIBIPW_DEBUG=y -+CONFIG_LIBIPW_DEBUG=y - - - CONFIG_IPW2100=m - CONFIG_IPW2100_MONITOR=y --# CONFIG_IPW2100_DEBUG=y -+CONFIG_IPW2100_DEBUG=y - CONFIG_IPW2200=m - CONFIG_IPW2200_MONITOR=y - CONFIG_IPW2200_RADIOTAP=y - CONFIG_IPW2200_PROMISCUOUS=y - CONFIG_IPW2200_QOS=y --# CONFIG_IPW2200_DEBUG=y -+CONFIG_IPW2200_DEBUG=y - # The above enables use a second interface prefixed 'rtap'. - # Example usage: - # -@@ -242,7 +242,7 @@ - ifneq ($(CONFIG_SSB),) - # Sonics Silicon Backplane - CONFIG_SSB_SPROM=y --# CONFIG_SSB_DEBUG=y -+CONFIG_SSB_DEBUG=y - - CONFIG_SSB_BLOCKIO=y - CONFIG_SSB_PCIHOST=y -@@ -250,7 +250,7 @@ - ifneq ($(CONFIG_PCMCIA),) - CONFIG_SSB_PCMCIAHOST=y - endif --# CONFIG_SSB_DEBUG=y -+CONFIG_SSB_DEBUG=y - CONFIG_SSB_DRIVER_PCICORE=y - endif - -@@ -327,7 +327,7 @@ - # USB Drivers - ifneq ($(CONFIG_USB),) - CONFIG_ZD1211RW=m --# CONFIG_ZD1211RW_DEBUG=y -+CONFIG_ZD1211RW_DEBUG=y - - # Sorry, rndis_wlan uses cancel_work_sync which is new and can't be done in compat... - -@@ -433,7 +433,7 @@ - # iwmc3200wifi uses new netdev_ops api no supported by old kernel. - ifndef CONFIG_COMPAT_KERNEL_29 - CONFIG_IWM=m --# CONFIG_IWM_DEBUG=y -+CONFIG_IWM_DEBUG=y - endif - - endif # end of SDIO driver list -@@ -447,7 +447,7 @@ - CONFIG_RT2X00_LIB_FIRMWARE=y - CONFIG_RT2X00_LIB_CRYPTO=y - CONFIG_RT2X00_LIB_LEDS=y --# CONFIG_RT2X00_DEBUG=y -+CONFIG_RT2X00_DEBUG=y - # CONFIG_RT2X00_LIB_DEBUGFS - endif - -@@ -461,7 +461,7 @@ - - # Atheros - CONFIG_ATH_COMMON=m --# CONFIG_ATH_DEBUG=y -+CONFIG_ATH_DEBUG=y - - CONFIG_WL12XX=y - CONFIG_WL1251=m -@@ -476,7 +476,7 @@ - CONFIG_LIBERTAS_THINFIRM=m - CONFIG_LIBERTAS=m - CONFIG_LIBERTAS_MESH=y --# CONFIG_LIBERTAS_DEBUG=y -+CONFIG_LIBERTAS_DEBUG=y - endif - endif - diff --git a/net-wireless/compat-wireless/files/failed_ath5k-frequency-chaos-2.6.28.patch b/net-wireless/compat-wireless/files/failed_ath5k-frequency-chaos-2.6.28.patch deleted file mode 100644 index ebe0936e..00000000 --- a/net-wireless/compat-wireless/files/failed_ath5k-frequency-chaos-2.6.28.patch +++ /dev/null @@ -1,152 +0,0 @@ -diff -Naur linux-2.6.28/drivers/net/wireless/ath5k/base.c linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.c ---- linux-2.6.28/drivers/net/wireless/ath5k/base.c 2008-12-24 18:26:37.000000000 -0500 -+++ linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.c 2009-02-06 21:38:43.000000000 -0500 -@@ -272,7 +272,7 @@ - static void ath5k_detach(struct pci_dev *pdev, - struct ieee80211_hw *hw); - /* Channel/mode setup */ --static inline short ath5k_ieee2mhz(short chan); -+static inline short ath5k_ieee2mhz(int chan, unsigned int chfreq); - static unsigned int ath5k_copy_channels(struct ath5k_hw *ah, - struct ieee80211_channel *channels, - unsigned int mode, -@@ -848,12 +848,16 @@ - * Convert IEEE channel number to MHz frequency. - */ - static inline short --ath5k_ieee2mhz(short chan) -+ath5k_ieee2mhz(int chan, unsigned int chfreq) - { -- if (chan <= 14 || chan >= 27) -- return ieee80211chan2mhz(chan); -+ if (chfreq == CHANNEL_5GHZ) -+ return (chan + 1000) * 5; - else -- return 2212 + chan * 20; -+// XXX: This part needs to be fixed -+ if (chan <= 14 || chan >= 27) -+ return ieee80211chan2mhz(chan); -+ else -+ return 2212 + chan * 20; - } - - static unsigned int -@@ -862,22 +866,25 @@ - unsigned int mode, - unsigned int max) - { -- unsigned int i, count, size, chfreq, freq, ch; -+ unsigned int i, count, size, chfreq, freq; -+ int ch; - - if (!test_bit(mode, ah->ah_modes)) - return 0; - - switch (mode) { -+ /* I don't even like channel numbers */ - case AR5K_MODE_11A: - case AR5K_MODE_11A_TURBO: -- /* 1..220, but 2GHz frequencies are filtered by check_channel */ -- size = 220 ; -+ size = 241 ; // going over 6.0GHz may be dangerous so I am limiting it -+ ch = -40; // might be able to push this to -201 or so, needs more testing - chfreq = CHANNEL_5GHZ; - break; - case AR5K_MODE_11B: - case AR5K_MODE_11G: - case AR5K_MODE_11G_TURBO: -- size = 26; -+ size = 70; -+ ch = -43; - chfreq = CHANNEL_2GHZ; - break; - default: -@@ -885,9 +892,8 @@ - return 0; - } - -- for (i = 0, count = 0; i < size && max > 0; i++) { -- ch = i + 1 ; -- freq = ath5k_ieee2mhz(ch); -+ for (i = 0, count = 0; i < size && max > 0; i++,ch++) { -+ freq = ath5k_ieee2mhz(ch,chfreq); - - /* Check if channel is supported by the chipset */ - if (!ath5k_channel_ok(ah, freq, chfreq)) -diff -Naur linux-2.6.28/drivers/net/wireless/ath5k/base.h linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.h ---- linux-2.6.28/drivers/net/wireless/ath5k/base.h 2008-12-24 18:26:37.000000000 -0500 -+++ linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.h 2009-02-06 21:38:43.000000000 -0500 -@@ -93,11 +93,7 @@ - }; - - --#if CHAN_DEBUG --#define ATH_CHAN_MAX (26+26+26+200+200) --#else --#define ATH_CHAN_MAX (14+14+14+252+20) --#endif -+#define ATH_CHAN_MAX (70+70+70+240+240) // b+g+gT+a+aT XXX: This is probably excessive - - /* Software Carrier, keeps track of the driver state - * associated with an instance of a device */ -diff -Naur linux-2.6.28/drivers/net/wireless/ath5k/caps.c linux-2.6.28-chaos/drivers/net/wireless/ath5k/caps.c ---- linux-2.6.28/drivers/net/wireless/ath5k/caps.c 2008-12-24 18:26:37.000000000 -0500 -+++ linux-2.6.28-chaos/drivers/net/wireless/ath5k/caps.c 2009-02-06 21:38:43.000000000 -0500 -@@ -69,9 +69,9 @@ - - if (AR5K_EEPROM_HDR_11A(ee_header)) { - /* 4920 */ -- ah->ah_capabilities.cap_range.range_5ghz_min = 5005; -- ah->ah_capabilities.cap_range.range_5ghz_max = 6100; -- -+ ah->ah_capabilities.cap_range.range_5ghz_min = 4800; -+ ah->ah_capabilities.cap_range.range_5ghz_max = 6000; /* 6100 is what the code said but */ -+ /* it fried my Ubiquiti SRC */ - /* Set supported modes */ - __set_bit(AR5K_MODE_11A, - ah->ah_capabilities.cap_mode); -@@ -87,7 +87,7 @@ - if (AR5K_EEPROM_HDR_11B(ee_header) || - AR5K_EEPROM_HDR_11G(ee_header)) { - /* 2312 */ -- ah->ah_capabilities.cap_range.range_2ghz_min = 2412; -+ ah->ah_capabilities.cap_range.range_2ghz_min = 2192; /* this is the bottom of the registers */ - ah->ah_capabilities.cap_range.range_2ghz_max = 2732; - - if (AR5K_EEPROM_HDR_11B(ee_header)) -diff -Naur linux-2.6.28/net/mac80211/tx.c linux-2.6.28-chaos/net/mac80211/tx.c ---- linux-2.6.28/net/mac80211/tx.c 2008-12-24 18:26:37.000000000 -0500 -+++ linux-2.6.28-chaos/net/mac80211/tx.c 2009-02-06 21:38:53.000000000 -0500 -@@ -1378,10 +1378,32 @@ - struct net_device *dev) - { - struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); -+ struct ieee80211_channel *chan = local->hw.conf.channel; - struct ieee80211_radiotap_header *prthdr = - (struct ieee80211_radiotap_header *)skb->data; - u16 len_rthdr; - -+ /* -+ * Frame injection is not allowed if beaconing is not allowed -+ * or if we need radar detection. Beaconing is usually not allowed when -+ * the mode or operation (Adhoc, AP, Mesh) does not support DFS. -+ * Passive scan is also used in world regulatory domains where -+ * your country is not known and as such it should be treated as -+ * NO TX unless the channel is explicitly allowed in which case -+ * your current regulatory domain would not have the passive scan -+ * flag. -+ * -+ * Since AP mode uses monitor interfaces to inject/TX management -+ * frames we can make AP mode the exception to this rule once it -+ * supports radar detection as its implementation can deal with -+ * radar detection by itself. We can do that later by adding a -+ * monitor flag interfaces used for AP support. -+ */ -+ if ((chan->flags & (IEEE80211_CHAN_NO_IBSS | IEEE80211_CHAN_RADAR | -+ IEEE80211_CHAN_PASSIVE_SCAN))) -+ return TX_DROP; -+ /* This was intended for the kernel patch but it didn't work; goto fail; */ -+ - /* check for not even having the fixed radiotap header part */ - if (unlikely(skb->len < sizeof(struct ieee80211_radiotap_header))) - goto fail; /* too short to be possibly valid */ diff --git a/net-wireless/compat-wireless/files/failed_ieee80211_inject-2.6.22.patch b/net-wireless/compat-wireless/files/failed_ieee80211_inject-2.6.22.patch deleted file mode 100644 index f31a0f01..00000000 --- a/net-wireless/compat-wireless/files/failed_ieee80211_inject-2.6.22.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- linux-2.6.23_orig/net/ieee80211/ieee80211_tx.c 2007-10-09 22:31:38.000000000 +0200 -+++ linux-2.6.23/net/ieee80211/ieee80211_tx.c 2007-10-14 19:39:49.000000000 +0200 -@@ -293,6 +293,23 @@ - - ether_type = ntohs(((struct ethhdr *)skb->data)->h_proto); - -+ if(ieee->iw_mode == IW_MODE_MONITOR) -+ { -+ txb = ieee80211_alloc_txb(1, skb->len, -+ ieee->tx_headroom, GFP_ATOMIC); -+ if (unlikely(!txb)) { -+ printk(KERN_WARNING "%s: Could not allocate TXB\n", -+ ieee->dev->name); -+ goto failed; -+ } -+ -+ txb->encrypted = 0; -+ txb->payload_size = skb->len; -+ skb_copy_from_linear_data(skb, skb_put(txb->fragments[0],skb->len), skb->len); -+ -+ goto success; -+ } -+ - crypt = ieee->crypt[ieee->tx_keyidx]; - - encrypt = !(ether_type == ETH_P_PAE && ieee->ieee802_1x) && diff --git a/net-wireless/compat-wireless/files/failed_linux-wlanng-kernel-2.6.28.patch b/net-wireless/compat-wireless/files/failed_linux-wlanng-kernel-2.6.28.patch deleted file mode 100644 index 757973f8..00000000 --- a/net-wireless/compat-wireless/files/failed_linux-wlanng-kernel-2.6.28.patch +++ /dev/null @@ -1,299 +0,0 @@ -diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/hfa384x.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/hfa384x.c ---- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/hfa384x.c 2008-12-24 18:26:37.000000000 -0500 -+++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/hfa384x.c 2009-04-04 22:53:46.000000000 -0400 -@@ -1873,8 +1873,16 @@ - - DBFENTER; - -- cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -- HFA384x_CMD_AINFO_SET(enable); -+// cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -+// HFA384x_CMD_AINFO_SET(enable); -+ if (enable == HFA384x_MONITOR_ENABLE) { -+ // KoreK: get into test mode 0x0a -+ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -+ HFA384x_CMD_AINFO_SET(0x0a); -+ } else { -+ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -+ HFA384x_CMD_AINFO_SET(enable); -+ } - cmd.parm0 = 0; - cmd.parm1 = 0; - cmd.parm2 = 0; -@@ -3114,11 +3122,32 @@ - #endif - - /* if we're using host WEP, increase size by IV+ICV */ -- if (p80211_wep->data) { -- txdesc.data_len = host2hfa384x_16(skb->len+8); -- // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); -- } else { -- txdesc.data_len = host2hfa384x_16(skb->len); -+// if (p80211_wep->data) { -+// txdesc.data_len = host2hfa384x_16(skb->len+8); -+// // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); -+// } else { -+// txdesc.data_len = host2hfa384x_16(skb->len); -+// } -+ -+ if (skb->protocol != htons(ETH_P_80211_RAW)) { -+ /* if we're using host WEP, increase size by IV+ICV */ -+ if (p80211_wep->data) { -+ txdesc.data_len = host2hfa384x_16(skb->len+8); -+ // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); -+ } else { -+ txdesc.data_len = host2hfa384x_16(skb->len); -+ } -+ } else { -+ /* KoreK: raw injection (monitor mode): pull the rest of -+ the header and ssanity check on txdesc.data_len */ -+ memcpy(&(txdesc.data_len), skb->data, 16); -+ skb_pull(skb,16); -+ if (txdesc.data_len != host2hfa384x_16(skb->len)) { -+ printk(KERN_DEBUG "mismatch frame_len, drop frame\n"); -+ return 0; -+ } -+ -+ txdesc.tx_control |= HFA384x_TX_RETRYSTRAT_SET(1); - } - - txdesc.tx_control = host2hfa384x_16(txdesc.tx_control); -@@ -3142,7 +3171,8 @@ - spin_lock(&hw->cmdlock); - - /* Copy descriptor+payload to FID */ -- if (p80211_wep->data) { -+// if (p80211_wep->data) { -+ if (p80211_wep->data && (skb->protocol != htons(ETH_P_80211_RAW))) { - result = hfa384x_copy_to_bap4(hw, HFA384x_BAP_PROC, fid, 0, - &txdesc, sizeof(txdesc), - p80211_wep->iv, sizeof(p80211_wep->iv), -@@ -3588,6 +3618,17 @@ - { - case 0: - -+ /* KoreK: this testmode uses macport 0 */ -+ if ((wlandev->netdev->type == ARPHRD_IEEE80211) || -+ (wlandev->netdev->type == ARPHRD_IEEE80211_PRISM)) { -+ if ( ! HFA384x_RXSTATUS_ISFCSERR(rxdesc.status) ) { -+ hfa384x_int_rxmonitor( wlandev, rxfid, &rxdesc); -+ } else { -+ WLAN_LOG_DEBUG(3,"Received monitor frame: FCSerr set\n"); -+ } -+ goto done; -+ } -+ - fc = ieee2host16(rxdesc.frame_control); - - /* If exclude and we receive an unencrypted, drop it */ -diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/hfa384x_usb.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/hfa384x_usb.c ---- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/hfa384x_usb.c 2008-12-24 18:26:37.000000000 -0500 -+++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/hfa384x_usb.c 2009-04-04 23:13:53.000000000 -0400 -@@ -1430,8 +1430,17 @@ - - DBFENTER; - -- cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -- HFA384x_CMD_AINFO_SET(enable); -+// cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -+// HFA384x_CMD_AINFO_SET(enable); -+ if (enable == HFA384x_MONITOR_ENABLE) { -+ // KoreK: get into test mode 0x0a -+ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -+ HFA384x_CMD_AINFO_SET(0x0a); -+ } else { -+ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -+ HFA384x_CMD_AINFO_SET(enable); -+ } -+ - cmd.parm0 = 0; - cmd.parm1 = 0; - cmd.parm2 = 0; -@@ -3431,37 +3440,71 @@ - HFA384x_TX_MACPORT_SET(0) | HFA384x_TX_STRUCTYPE_SET(1) | - HFA384x_TX_TXEX_SET(0) | HFA384x_TX_TXOK_SET(0); - #endif -- hw->txbuff.txfrm.desc.tx_control = -- host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); -+// hw->txbuff.txfrm.desc.tx_control = -+// host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); - -- /* copy the header over to the txdesc */ -- memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, sizeof(p80211_hdr_t)); -- -- /* if we're using host WEP, increase size by IV+ICV */ -- if (p80211_wep->data) { -- hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8); -- // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); -- usbpktlen+=8; -- } else { -- hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len); -+// /* copy the header over to the txdesc */ -+// memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, sizeof(p80211_hdr_t)); -+ if (skb->protocol != htons(ETH_P_80211_RAW)) { -+ hw->txbuff.txfrm.desc.tx_control = -+ host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); -+ -+ /* copy the header over to the txdesc */ -+ memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, -+ sizeof(p80211_hdr_t)); -+ -+ /* if we're using host WEP, increase size by IV+ICV */ -+ if (p80211_wep->data) { -+ hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8); -+ // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); -+ usbpktlen+=8; -+ } else { -+ hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len); -+ } -+ } else { -+ /* KoreK: raw injection (monitor mode): pull the rest of -+ the header and ssanity check on txdesc.data_len */ -+ memcpy(&(hw->txbuff.txfrm.desc.data_len), skb->data, 16); -+ skb_pull(skb,16); -+ if (hw->txbuff.txfrm.desc.data_len != host2hfa384x_16(skb->len)) { -+ printk(KERN_DEBUG "mismatch frame_len, drop frame\n"); -+ return 0; -+ } -+// /* if we're using host WEP, increase size by IV+ICV */ -+// if (p80211_wep->data) { -+// hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8); -+// // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); -+// usbpktlen+=8; -+// } else { -+// hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len); -+ hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_RETRYSTRAT_SET(1); -+ hw->txbuff.txfrm.desc.tx_control = -+ host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); -+ -+ /* copy the header over to the txdesc */ -+ memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, -+ sizeof(p80211_hdr_t)); - } - - usbpktlen += skb->len; - - /* copy over the WEP IV if we are using host WEP */ - ptr = hw->txbuff.txfrm.data; -- if (p80211_wep->data) { -+// if (p80211_wep->data) { -+ if (p80211_wep->data && skb->protocol != htons(ETH_P_80211_RAW)) { - memcpy(ptr, p80211_wep->iv, sizeof(p80211_wep->iv)); - ptr+= sizeof(p80211_wep->iv); - memcpy(ptr, p80211_wep->data, skb->len); - } else { - memcpy(ptr, skb->data, skb->len); - } -+ - /* copy over the packet data */ - ptr+= skb->len; - - /* copy over the WEP ICV if we are using host WEP */ -- if (p80211_wep->data) { -+// if (p80211_wep->data) { -+ if (p80211_wep->data && skb->protocol != htons(ETH_P_80211_RAW)) { - memcpy(ptr, p80211_wep->icv, sizeof(p80211_wep->icv)); - } - -@@ -4223,6 +4266,17 @@ - switch( HFA384x_RXSTATUS_MACPORT_GET(usbin->rxfrm.desc.status) ) - { - case 0: -+ /* KoreK: this testmode uses macport 0 */ -+ if ((wlandev->netdev->type == ARPHRD_IEEE80211) || -+ (wlandev->netdev->type == ARPHRD_IEEE80211_PRISM)) { -+ if ( ! HFA384x_RXSTATUS_ISFCSERR(usbin->rxfrm.desc.status) ) { -+ hfa384x_int_rxmonitor(wlandev, &usbin->rxfrm); -+ } else { -+ WLAN_LOG_DEBUG(3,"Received monitor frame: FCSerr set\n"); -+ } -+ goto done; -+ } -+ - fc = ieee2host16(usbin->rxfrm.desc.frame_control); - - /* If exclude and we receive an unencrypted, drop it */ -diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/p80211netdev.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/p80211netdev.c ---- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/p80211netdev.c 2008-12-24 18:26:37.000000000 -0500 -+++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/p80211netdev.c 2009-04-04 22:42:15.000000000 -0400 -@@ -512,7 +512,7 @@ - * and return success . - * TODO: we need a saner way to handle this - */ -- if(skb->protocol != ETH_P_80211_RAW) { -+ if(skb->protocol != htons(ETH_P_80211_RAW)) { - p80211netdev_start_queue(wlandev); - WLAN_LOG_NOTICE( - "Tx attempt prior to association, frame dropped.\n"); -@@ -524,7 +524,7 @@ - } - - /* Check for raw transmits */ -- if(skb->protocol == ETH_P_80211_RAW) { -+ if(skb->protocol == htons(ETH_P_80211_RAW)) { - if (!capable(CAP_NET_ADMIN)) { - result = 1; - goto failed; -@@ -952,8 +952,9 @@ - dev->set_mac_address = p80211knetdev_set_mac_address; - #endif - #ifdef HAVE_TX_TIMEOUT -- dev->tx_timeout = &p80211knetdev_tx_timeout; -- dev->watchdog_timeo = (wlan_watchdog * HZ) / 1000; -+// korek: still not implemented (XXX: Why exactly do we remove this???) -+// dev->tx_timeout = &p80211knetdev_tx_timeout; -+// dev->watchdog_timeo = (wlan_watchdog * HZ) / 1000; - #endif - netif_carrier_off(dev); - } -diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/prism2mgmt.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/prism2mgmt.c ---- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/prism2mgmt.c 2008-12-24 18:26:37.000000000 -0500 -+++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/prism2mgmt.c 2009-04-04 23:18:35.000000000 -0400 -@@ -2860,9 +2860,12 @@ - } - - /* Now if we're already sniffing, we can skip the rest */ -- if (wlandev->netdev->type != ARPHRD_ETHER) { -+// if (wlandev->netdev->type != ARPHRD_ETHER) { -+ if ((wlandev->netdev->type != ARPHRD_IEEE80211) && -+ (wlandev->netdev->type != ARPHRD_IEEE80211_PRISM)) { - /* Set the port type to pIbss */ -- word = HFA384x_PORTTYPE_PSUEDOIBSS; -+// word = HFA384x_PORTTYPE_PSUEDOIBSS; -+ word = 5; // HFA384x_PORTTYPE_PSUEDOIBSS; - result = hfa384x_drvr_setconfig16(hw, - HFA384x_RID_CNFPORTTYPE, word); - if ( result ) { -@@ -2874,6 +2877,8 @@ - } - if ((msg->keepwepflags.status == P80211ENUM_msgitem_status_data_ok) && (msg->keepwepflags.data != P80211ENUM_truth_true)) { - /* Set the wepflags for no decryption */ -+ /* doesn't work - done from the CLI */ -+ /* Fix? KoreK */ - word = HFA384x_WEPFLAGS_DISABLE_TXCRYPT | - HFA384x_WEPFLAGS_DISABLE_RXCRYPT; - result = hfa384x_drvr_setconfig16(hw, HFA384x_RID_CNFWEPFLAGS, word); -@@ -2919,7 +2924,9 @@ - goto failed; - } - -- if (wlandev->netdev->type == ARPHRD_ETHER) { -+// if (wlandev->netdev->type == ARPHRD_ETHER) { -+ if ((wlandev->netdev->type != ARPHRD_IEEE80211) && -+ (wlandev->netdev->type != ARPHRD_IEEE80211_PRISM)) { - WLAN_LOG_INFO("monitor mode enabled\n"); - } - -diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/prism2sta.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/prism2sta.c ---- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/prism2sta.c 2008-12-24 18:26:37.000000000 -0500 -+++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/prism2sta.c 2009-04-04 23:20:58.000000000 -0400 -@@ -411,7 +411,9 @@ - DBFENTER; - - /* If necessary, set the 802.11 WEP bit */ -- if ((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED) { -+// if ((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED) { -+ if (((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED) -+ && (skb->protocol != htons(ETH_P_80211_RAW))) { - p80211_hdr->a3.fc |= host2ieee16(WLAN_SET_FC_ISWEP(1)); - } diff --git a/net-wireless/compat-wireless/files/failed_openembedded-orinoco-remove-all-which-are-in-hostap-HACK.patch b/net-wireless/compat-wireless/files/failed_openembedded-orinoco-remove-all-which-are-in-hostap-HACK.patch deleted file mode 100644 index d1b52f50..00000000 --- a/net-wireless/compat-wireless/files/failed_openembedded-orinoco-remove-all-which-are-in-hostap-HACK.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff -Naur linux-2.6.28-pentoo-r4/drivers/net/wireless/orinoco_cs.c linux-2.6.28-pentoo-r4-patched/drivers/net/wireless/orinoco_cs.c ---- linux-2.6.28-pentoo-r4/drivers/net/wireless/orinoco_cs.c 2008-12-24 18:26:37.000000000 -0500 -+++ linux-2.6.28-pentoo-r4-patched/drivers/net/wireless/orinoco_cs.c 2009-04-08 00:22:05.000000000 -0400 -@@ -418,33 +418,21 @@ - "Pavel Roskin <proski@gnu.org>, et al)"; - - static struct pcmcia_device_id orinoco_cs_ids[] = { -- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7100), /* SonicWALL Long Range Wireless Card */ -- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300), /* Sohoware NCP110, Philips 802.11b */ - PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0002), /* AnyPoint(TM) Wireless II PC Card */ -- PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0777), /* 3Com AirConnect PCI 777A */ -- PCMCIA_DEVICE_MANF_CARD(0x0126, 0x8000), /* PROXIM RangeLAN-DS/LAN PC CARD */ - PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002), /* Compaq WL100 11 Mbps Wireless Adapter */ - PCMCIA_DEVICE_MANF_CARD(0x0156, 0x0002), /* Lucent Orinoco and old Intersil */ - PCMCIA_DEVICE_MANF_CARD(0x016b, 0x0001), /* Ericsson WLAN Card C11 */ - PCMCIA_DEVICE_MANF_CARD(0x01eb, 0x080a), /* Nortel Networks eMobility 802.11 Wireless Adapter */ - PCMCIA_DEVICE_MANF_CARD(0x01ff, 0x0008), /* Intermec MobileLAN 11Mbps 802.11b WLAN Card */ -- PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */ - PCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002), /* AirWay 802.11 Adapter (PCMCIA) */ - PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0001), /* ARtem Onair */ - PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0305), /* Buffalo WLI-PCM-S11 */ -- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */ -- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */ -- PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002), /* Compaq HNW-100 11 Mbps Wireless Adapter */ - PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673), /* Linksys WCF12 Wireless CompactFlash Card */ -- PCMCIA_DEVICE_MANF_CARD(0x02aa, 0x0002), /* ASUS SpaceLink WL-100 */ - PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x0002), /* SpeedStream SS1021 Wireless Adapter */ - PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x3021), /* SpeedStream Wireless Adapter */ - PCMCIA_DEVICE_MANF_CARD(0x14ea, 0xb001), /* PLANEX RoadLannerWave GW-NS11H */ -- PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300), /* Airvast WN-100 */ - PCMCIA_DEVICE_MANF_CARD(0x9005, 0x0021), /* Adaptec Ultra Wireless ANW-8030 */ - PCMCIA_DEVICE_MANF_CARD(0xc001, 0x0008), /* CONTEC FLEXSCAN/FX-DDS110-PCC */ -- PCMCIA_DEVICE_MANF_CARD(0xc250, 0x0002), /* Conceptronic CON11Cpro, EMTAC A2424i */ -- PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002), /* Safeway 802.11b, ZCOMAX AirRunner/XI-300 */ - PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005), /* D-Link DCF660, Sandisk Connect SDWCFB-000 */ - PCMCIA_DEVICE_PROD_ID12(" ", "IEEE 802.11 Wireless LAN/PC Card", 0x3b6e20c8, 0xefccafe9), - PCMCIA_DEVICE_PROD_ID12("3Com", "3CRWE737A AirConnect Wireless LAN PC Card", 0x41240e5b, 0x56010af3), -@@ -453,31 +441,25 @@ - PCMCIA_DEVICE_PROD_ID123("AIRVAST", "IEEE 802.11b Wireless PCMCIA Card", "HFA3863", 0xea569531, 0x4bcb9645, 0x355cb092), - PCMCIA_DEVICE_PROD_ID12("Allied Telesyn", "AT-WCL452 Wireless PCMCIA Radio", 0x5cd01705, 0x4271660f), - PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11b_PC_CARD_25", 0x78fc06ee, 0xdb9aa842), -- PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11B_CF_CARD_25", 0x78fc06ee, 0x45a50c1e), - PCMCIA_DEVICE_PROD_ID12("Avaya Communication", "Avaya Wireless PC Card", 0xd8a43b78, 0x0d341169), - PCMCIA_DEVICE_PROD_ID12("BENQ", "AWL100 PCMCIA ADAPTER", 0x35dadc74, 0x01f7fedb), - PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-PCM-L11G", 0x2decece3, 0xf57ca4b3), -- PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-CF-S11G", 0x2decece3, 0x82067c18), - PCMCIA_DEVICE_PROD_ID12("Cabletron", "RoamAbout 802.11 DS", 0x32d445f5, 0xedeffd90), -- PCMCIA_DEVICE_PROD_ID12("Compaq", "WL200_11Mbps_Wireless_PCI_Card", 0x54f7c49c, 0x15a75e5b), - PCMCIA_DEVICE_PROD_ID123("corega", "WL PCCL-11", "ISL37300P", 0x0a21501a, 0x59868926, 0xc9049a39), - PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCC-11", 0x5261440f, 0xa6405584), - PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCCA-11", 0x5261440f, 0xdf6115f9), - PCMCIA_DEVICE_PROD_ID12("corega_K.K.", "Wireless_LAN_PCCB-11", 0x29e33311, 0xee7a27ae), - PCMCIA_DEVICE_PROD_ID12("D", "Link DRC-650 11Mbps WLAN Card", 0x71b18589, 0xf144e3ac), -- PCMCIA_DEVICE_PROD_ID12("D", "Link DWL-650 11Mbps WLAN Card", 0x71b18589, 0xb6f1b0ab), - PCMCIA_DEVICE_PROD_ID12("D-Link Corporation", "D-Link DWL-650H 11Mbps WLAN Adapter", 0xef544d24, 0xcd8ea916), - PCMCIA_DEVICE_PROD_ID12("Digital Data Communications", "WPC-0100", 0xfdd73470, 0xe0b6f146), - PCMCIA_DEVICE_PROD_ID12("ELSA", "AirLancer MC-11", 0x4507a33a, 0xef54f0e3), - PCMCIA_DEVICE_PROD_ID12("HyperLink", "Wireless PC Card 11Mbps", 0x56cc3f1a, 0x0bcf220c), - PCMCIA_DEVICE_PROD_ID123("Instant Wireless ", " Network PC CARD", "Version 01.02", 0x11d901af, 0x6e9bd926, 0x4b74baa0), - PCMCIA_DEVICE_PROD_ID12("Intel", "PRO/Wireless 2011 LAN PC Card", 0x816cc815, 0x07f58077), -- PCMCIA_DEVICE_PROD_ID12("INTERSIL", "HFA384x/IEEE", 0x74c5e40d, 0xdb472a18), - PCMCIA_DEVICE_PROD_ID12("INTERSIL", "I-GATE 11M PC Card / PC Card plus", 0x74c5e40d, 0x8304ff77), - PCMCIA_DEVICE_PROD_ID12("Intersil", "PRISM 2_5 PCMCIA ADAPTER", 0x4b801a17, 0x6345a0bf), - PCMCIA_DEVICE_PROD_ID123("Intersil", "PRISM Freedom PCMCIA Adapter", "ISL37100P", 0x4b801a17, 0xf222ec2d, 0x630d52b2), - PCMCIA_DEVICE_PROD_ID12("LeArtery", "SYNCBYAIR 11Mbps Wireless LAN PC Card", 0x7e3b326a, 0x49893e92), -- PCMCIA_DEVICE_PROD_ID12("Linksys", "Wireless CompactFlash Card", 0x0733cc81, 0x0c52f395), - PCMCIA_DEVICE_PROD_ID12("Lucent Technologies", "WaveLAN/IEEE", 0x23eb9949, 0xc562e72a), - PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11", 0x481e0094, 0x7360e410), - PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11G", 0x481e0094, 0xf57ca4b3), -@@ -495,10 +477,8 @@ - PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PCI CARD HARMONY 80211B", 0xc6536a5e, 0x9f494e26), - PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "11Mbps WLAN Card", 0x43d74cb4, 0x579bd91b), - PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2532W-B EliteConnect Wireless Adapter", 0xc4f8b18b, 0x196bd757), -- PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2632W", 0xc4f8b18b, 0x474a1f2a), - PCMCIA_DEVICE_PROD_ID12("Symbol Technologies", "LA4111 Spectrum24 Wireless LAN PC Card", 0x3f02b4d6, 0x3663cb0e), - PCMCIA_DEVICE_PROD_ID123("The Linksys Group, Inc.", "Instant Wireless Network PC Card", "ISL37300P", 0xa5f472c2, 0x590eb502, 0xc9049a39), -- PCMCIA_DEVICE_PROD_ID12("ZoomAir 11Mbps High", "Rate wireless Networking", 0x273fe3db, 0x32a1eaee), - PCMCIA_DEVICE_NULL, - }; - MODULE_DEVICE_TABLE(pcmcia, orinoco_cs_ids); diff --git a/net-wireless/compat-wireless/files/fix-typos-2.6.35_rc2.patch b/net-wireless/compat-wireless/files/fix-typos-2.6.35_rc2.patch deleted file mode 100644 index d3ac64d8..00000000 --- a/net-wireless/compat-wireless/files/fix-typos-2.6.35_rc2.patch +++ /dev/null @@ -1,24 +0,0 @@ -commit e96ac45542ab5f02d2b13981df3a9c34d990afbf -Author: Rick Farina <sidhayn@gmail.com> -Date: Mon Jun 14 00:40:03 2010 -0400 - - [PATCH]compat: trivial fix for typo in config.mk - - In config.mk we find "# CONFIG_RT2X00_LIB_DEBUGFS" which clearly - should have an "=y" at the end like ever other config line. - - Signed-off-by: Rick Farina <sidhayn@gmail.com> - -diff --git a/config.mk b/config.mk -index 0001a7d..adebbbf 100644 ---- a/config.mk -+++ b/config.mk -@@ -453,7 +453,7 @@ CONFIG_RT2X00_LIB_FIRMWARE=y - CONFIG_RT2X00_LIB_CRYPTO=y - CONFIG_RT2X00_LIB_LEDS=y - # CONFIG_RT2X00_DEBUG=y --# CONFIG_RT2X00_LIB_DEBUGFS -+# CONFIG_RT2X00_LIB_DEBUGFS=y - endif - - ifeq ($(NEED_RT2X00_FIRMWARE),y) diff --git a/net-wireless/compat-wireless/files/fix-typos-2.6.36_rc5.patch b/net-wireless/compat-wireless/files/fix-typos-2.6.36_rc5.patch deleted file mode 100644 index 79a91a88..00000000 --- a/net-wireless/compat-wireless/files/fix-typos-2.6.36_rc5.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur compat-wireless-2.6.36-rc5-2-s/config.mk compat-wireless-2.6.36-rc5-2-s-untypoed/config.mk ---- compat-wireless-2.6.36-rc5-2-s/config.mk 2010-09-27 19:54:28.000000000 -0400 -+++ compat-wireless-2.6.36-rc5-2-s-untypoed/config.mk 2010-10-02 22:17:31.000000000 -0400 -@@ -501,7 +501,7 @@ - CONFIG_RT2X00_LIB_LEDS=y - endif #CONFIG_COMPAT_KERNEL_25 - # CONFIG_RT2X00_DEBUG=y --# CONFIG_RT2X00_LIB_DEBUGFS -+# CONFIG_RT2X00_LIB_DEBUGFS=y - endif - - ifeq ($(NEED_RT2X00_FIRMWARE),y) diff --git a/net-wireless/compat-wireless/files/force-enable-new-ralink-2.6.38_rc3.patch b/net-wireless/compat-wireless/files/force-enable-new-ralink-2.6.38_rc3.patch deleted file mode 100644 index cb53ac58..00000000 --- a/net-wireless/compat-wireless/files/force-enable-new-ralink-2.6.38_rc3.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -Naur compat-wireless-2.6.38-rc3-2-orig/config.mk compat-wireless-2.6.38-rc3-2/config.mk ---- compat-wireless-2.6.38-rc3-2-orig/config.mk 2011-02-04 16:42:10.000000000 -0500 -+++ compat-wireless-2.6.38-rc3-2/config.mk 2011-02-04 19:25:58.000000000 -0500 -@@ -323,8 +323,8 @@ - CONFIG_RT2500PCI=m - ifdef CONFIG_CRC_CCITT - CONFIG_RT2800PCI=m --# CONFIG_RT2800PCI_RT33XX=y --# CONFIG_RT2800PCI_RT35XX=y -+CONFIG_RT2800PCI_RT33XX=y -+CONFIG_RT2800PCI_RT35XX=y - endif #CONFIG_CRC_CCITT - NEED_RT2X00=y - -@@ -452,8 +452,8 @@ - CONFIG_RT2500USB=m - ifdef CONFIG_CRC_CCITT - CONFIG_RT2800USB=m --# CONFIG_RT2800USB_RT33XX=y --# CONFIG_RT2800USB_RT35XX=y -+CONFIG_RT2800USB_RT33XX=y -+CONFIG_RT2800USB_RT35XX=y - CONFIG_RT2800USB_UNKNOWN=y - endif #CONFIG_CRC_CCITT - CONFIG_RT2X00_LIB_USB=m diff --git a/net-wireless/compat-wireless/files/force-enable-new-ralink-pci-2.6.36-rc5.patch b/net-wireless/compat-wireless/files/force-enable-new-ralink-pci-2.6.36-rc5.patch deleted file mode 100644 index 3cdbad97..00000000 --- a/net-wireless/compat-wireless/files/force-enable-new-ralink-pci-2.6.36-rc5.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Naur compat-wireless-2.6.36-rc5-2-s/config.mk compat-wireless-2.6.36-rc5-2-s-rt2800pci/config.mk ---- compat-wireless-2.6.36-rc5-2-s/config.mk 2010-09-27 19:54:28.000000000 -0400 -+++ compat-wireless-2.6.36-rc5-2-s-rt2800pci/config.mk 2010-10-02 22:20:59.000000000 -0400 -@@ -301,8 +301,8 @@ - ifneq ($(CONFIG_CRC_CCITT),) - CONFIG_RT2800PCI=m - CONFIG_RT2800PCI_PCI=y --# CONFIG_RT2800PCI_RT30XX=y --# CONFIG_RT2800PCI_RT35XX=y -+CONFIG_RT2800PCI_RT30XX=y -+CONFIG_RT2800PCI_RT35XX=y - # CONFIG_RT2800PCI_SOC=y - endif - NEED_RT2X00=y diff --git a/net-wireless/compat-wireless/files/force-enable-new-ralink-pci.patch b/net-wireless/compat-wireless/files/force-enable-new-ralink-pci.patch deleted file mode 100644 index f5dff74b..00000000 --- a/net-wireless/compat-wireless/files/force-enable-new-ralink-pci.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/config.mk b/config.mk -index 0001a7d..169a99c 100644 ---- a/config.mk -+++ b/config.mk -@@ -270,8 +270,8 @@ CONFIG_RT2500PCI=m - ifneq ($(CONFIG_CRC_CCITT),) - CONFIG_RT2800PCI=m - CONFIG_RT2800PCI_PCI=y --# CONFIG_RT2800PCI_RT30XX=y --# CONFIG_RT2800PCI_RT35XX=y -+CONFIG_RT2800PCI_RT30XX=y -+CONFIG_RT2800PCI_RT35XX=y - # CONFIG_RT2800PCI_SOC=y - endif - NEED_RT2X00=y - diff --git a/net-wireless/compat-wireless/files/force-enable-new-ralink.patch b/net-wireless/compat-wireless/files/force-enable-new-ralink.patch deleted file mode 100644 index 2269c0c5..00000000 --- a/net-wireless/compat-wireless/files/force-enable-new-ralink.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -Naur compat-wireless-2.6.35-rc1/config.mk compat-wireless-2.6.35-rc1-fixed/config.mk ---- compat-wireless-2.6.35-rc1/config.mk 2010-05-31 18:30:39.000000000 -0400 -+++ compat-wireless-2.6.35-rc1-fixed/config.mk 2010-06-05 23:48:50.000000000 -0400 -@@ -366,9 +366,9 @@ - CONFIG_RT2500USB=m - ifneq ($(CONFIG_CRC_CCITT),) - CONFIG_RT2800USB=m --# CONFIG_RT2800USB_RT30XX=y --# CONFIG_RT2800USB_RT35XX=y --# CONFIG_RT2800USB_UNKNOWN=y -+CONFIG_RT2800USB_RT30XX=y -+CONFIG_RT2800USB_RT35XX=y -+CONFIG_RT2800USB_UNKNOWN=y - endif - CONFIG_RT2X00_LIB_USB=m - NEED_RT2X00=y diff --git a/net-wireless/compat-wireless/files/ipw2200-inject.2.6.36.patch b/net-wireless/compat-wireless/files/ipw2200-inject.2.6.36.patch deleted file mode 100644 index 5b590c81..00000000 --- a/net-wireless/compat-wireless/files/ipw2200-inject.2.6.36.patch +++ /dev/null @@ -1,116 +0,0 @@ -diff -urN linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.c linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.c ---- linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.c 2010-10-21 04:30:22.000000000 +0800 -+++ linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.c 2010-12-08 22:22:41.937999976 +0800 -@@ -206,6 +206,7 @@ - static int ipw_queue_tx_hcmd(struct ipw_priv *priv, int hcmd, void *buf, - int len, int sync); - -+static int ipw_tx_skb(struct ipw_priv *priv, struct libipw_txb *txb, int pri); - static void ipw_tx_queue_free(struct ipw_priv *); - - static struct ipw_rx_queue *ipw_rx_queue_alloc(struct ipw_priv *); -@@ -1906,6 +1907,63 @@ - static DEVICE_ATTR(net_stats, S_IWUSR | S_IRUGO, - show_net_stats, store_net_stats); - -+/* SYSFS INJECT */ -+static ssize_t store_inject(struct device *d, -+ struct device_attribute *attr, -+ const char *buf, size_t count) -+{ -+ struct ipw_priv *priv = dev_get_drvdata(d); -+ struct libipw_device *ieee = priv->ieee; -+ struct libipw_txb *txb; -+ struct sk_buff *skb_frag; -+ unsigned char *newbuf; -+ unsigned long flags; -+ -+ // should test (ieee->is_queue_full) -+ -+ // Fw only accepts data, so avoid accidental fw errors. -+ if ( (buf[0]&0x0c) != '\x08') { -+ //printk("ipw2200: inject: discarding non-data frame (type=%02X)\n",(int)(unsigned char)buf[0]); -+ return count; -+ } -+ -+ if (count>1500) { -+ count=1500; -+ printk("ipw2200: inject: cutting down frame to 1500 bytes\n"); -+ } -+ -+ spin_lock_irqsave(&priv->lock, flags); -+ -+ // Create a txb with one skb -+ txb = kmalloc(sizeof(struct libipw_txb) + sizeof(u8 *), GFP_ATOMIC); -+ if (!txb) -+ goto nosepuede; -+ txb->nr_frags=1; -+ txb->frag_size = ieee->tx_headroom; -+ txb->fragments[0]=__dev_alloc_skb(count + ieee->tx_headroom, GFP_ATOMIC); -+ if (!txb->fragments[0]) { -+ kfree(txb); -+ goto nosepuede; -+ } -+ skb_reserve(txb->fragments[0], ieee->tx_headroom); -+ txb->encrypted=0; -+ txb->payload_size=count; -+ skb_frag = txb->fragments[0]; -+ newbuf=skb_put(skb_frag, count); -+ -+ // copy data into txb->skb and send it -+ memcpy(newbuf, buf, count); -+ -+ ipw_tx_skb(priv, txb, 0); -+ -+nosepuede: -+ spin_unlock_irqrestore(&priv->lock, flags); -+ return count; -+} -+ -+ -+static DEVICE_ATTR(inject, S_IWUSR, NULL, store_inject); -+ - static ssize_t show_channels(struct device *d, - struct device_attribute *attr, - char *buf) -@@ -10212,7 +10270,6 @@ - modify to send one tfd per fragment instead of using chunking. otherwise - we need to heavily modify the libipw_skb_to_txb. - */ -- - static int ipw_tx_skb(struct ipw_priv *priv, struct libipw_txb *txb, - int pri) - { -@@ -10542,6 +10599,8 @@ - mutex_lock(&priv->mutex); - priv->config |= CFG_CUSTOM_MAC; - memcpy(priv->mac_addr, addr->sa_data, ETH_ALEN); -+ if (rtap_iface) -+ memcpy(priv->prom_net_dev->dev_addr, addr->sa_data, ETH_ALEN); - printk(KERN_INFO "%s: Setting MAC to %pM\n", - priv->net_dev->name, priv->mac_addr); - queue_work(priv->workqueue, &priv->adapter_restart); -@@ -11599,6 +11658,7 @@ - #ifdef CONFIG_IPW2200_PROMISCUOUS - &dev_attr_rtap_iface.attr, - &dev_attr_rtap_filter.attr, -+ &dev_attr_inject.attr, - #endif - NULL - }; -diff -urN linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.h linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.h ---- linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.h 2010-10-21 04:30:22.000000000 +0800 -+++ linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.h 2010-12-08 22:20:01.561000000 +0800 -@@ -2014,4 +2014,12 @@ - - #define IPW_MAX_CONFIG_RETRIES 10 - -+/* -+ * Hhack to get code compiling on new kernels, the define below -+ * seem to be removed from the linux headers. -+ */ -+#ifndef MAC_ARG -+#define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5] -+#endif -+ - #endif /* __ipw2200_h__ */ diff --git a/net-wireless/compat-wireless/files/ipw2200-inject.3.4.6.patch b/net-wireless/compat-wireless/files/ipw2200-inject.3.4.6.patch deleted file mode 100644 index 941bbc50..00000000 --- a/net-wireless/compat-wireless/files/ipw2200-inject.3.4.6.patch +++ /dev/null @@ -1,120 +0,0 @@ -diff -urN linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.c linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.c ---- linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.c 2010-10-21 04:30:22.000000000 +0800 -+++ linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.c 2010-12-08 22:22:41.937999976 +0800 -@@ -216,6 +216,7 @@ - static int ipw_queue_tx_hcmd(struct ipw_priv *priv, int hcmd, void *buf, - int len, int sync); - -+static int ipw_tx_skb(struct ipw_priv *priv, struct libipw_txb *txb, int pri); - static void ipw_tx_queue_free(struct ipw_priv *); - - static struct ipw_rx_queue *ipw_rx_queue_alloc(struct ipw_priv *); -@@ -1911,6 +1912,63 @@ - static DEVICE_ATTR(net_stats, S_IWUSR | S_IRUGO, - show_net_stats, store_net_stats); - -+/* SYSFS INJECT */ -+static ssize_t store_inject(struct device *d, -+ struct device_attribute *attr, -+ const char *buf, size_t count) -+{ -+ struct ipw_priv *priv = dev_get_drvdata(d); -+ struct libipw_device *ieee = priv->ieee; -+ struct libipw_txb *txb; -+ struct sk_buff *skb_frag; -+ unsigned char *newbuf; -+ unsigned long flags; -+ -+ // should test (ieee->is_queue_full) -+ -+ // Fw only accepts data, so avoid accidental fw errors. -+ if ( (buf[0]&0x0c) != '\x08') { -+ //printk("ipw2200: inject: discarding non-data frame (type=%02X)\n",(int)(unsigned char)buf[0]); -+ return count; -+ } -+ -+ if (count>1500) { -+ count=1500; -+ printk("ipw2200: inject: cutting down frame to 1500 bytes\n"); -+ } -+ -+ spin_lock_irqsave(&priv->lock, flags); -+ -+ // Create a txb with one skb -+ txb = kmalloc(sizeof(struct libipw_txb) + sizeof(u8 *), GFP_ATOMIC); -+ if (!txb) -+ goto nosepuede; -+ txb->nr_frags=1; -+ txb->frag_size = ieee->tx_headroom; -+ txb->fragments[0]=__dev_alloc_skb(count + ieee->tx_headroom, GFP_ATOMIC); -+ if (!txb->fragments[0]) { -+ kfree(txb); -+ goto nosepuede; -+ } -+ skb_reserve(txb->fragments[0], ieee->tx_headroom); -+ txb->encrypted=0; -+ txb->payload_size=count; -+ skb_frag = txb->fragments[0]; -+ newbuf=skb_put(skb_frag, count); -+ -+ // copy data into txb->skb and send it -+ memcpy(newbuf, buf, count); -+ -+ ipw_tx_skb(priv, txb, 0); -+ -+nosepuede: -+ spin_unlock_irqrestore(&priv->lock, flags); -+ return count; -+} -+ -+ -+static DEVICE_ATTR(inject, S_IWUSR, NULL, store_inject); -+ - static ssize_t show_channels(struct device *d, - struct device_attribute *attr, - char *buf) -@@ -10214,7 +10272,6 @@ - modify to send one tfd per fragment instead of using chunking. otherwise - we need to heavily modify the libipw_skb_to_txb. - */ -- - static int ipw_tx_skb(struct ipw_priv *priv, struct libipw_txb *txb, - int pri) - { -@@ -10544,6 +10601,12 @@ - mutex_lock(&priv->mutex); - priv->config |= CFG_CUSTOM_MAC; - memcpy(priv->mac_addr, addr->sa_data, ETH_ALEN); -+ -+#ifdef CONFIG_IPW2200_PROMISCUOUS -+ if (rtap_iface) -+ memcpy(priv->prom_net_dev->dev_addr, addr->sa_data, ETH_ALEN); -+#endif -+ - printk(KERN_INFO "%s: Setting MAC to %pM\n", - priv->net_dev->name, priv->mac_addr); - schedule_work(&priv->adapter_restart); -@@ -11597,6 +11660,7 @@ - #ifdef CONFIG_IPW2200_PROMISCUOUS - &dev_attr_rtap_iface.attr, - &dev_attr_rtap_filter.attr, -+ &dev_attr_inject.attr, - #endif - NULL - }; -diff -urN linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.h linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.h ---- linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.h 2010-10-21 04:30:22.000000000 +0800 -+++ linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.h 2010-12-08 22:20:01.561000000 +0800 -@@ -2014,4 +2014,12 @@ - - #define IPW_MAX_CONFIG_RETRIES 10 - -+/* -+ * Hhack to get code compiling on new kernels, the define below -+ * seem to be removed from the linux headers. -+ */ -+#ifndef MAC_ARG -+#define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5] -+#endif -+ - #endif /* __ipw2200_h__ */ diff --git a/net-wireless/compat-wireless/files/iwlwifi-5000-exp-firmware.patch b/net-wireless/compat-wireless/files/iwlwifi-5000-exp-firmware.patch deleted file mode 100644 index 0b92e5ce..00000000 --- a/net-wireless/compat-wireless/files/iwlwifi-5000-exp-firmware.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Naur compat-wireless-2.6.37-4-sn-orig/config.mk compat-wireless-2.6.37-4-sn/config.mk ---- compat-wireless-2.6.37-4-sn-orig/config.mk 2011-01-12 20:03:11.000000000 -0500 -+++ compat-wireless-2.6.37-4-sn/config.mk 2011-01-13 11:53:46.000000000 -0500 -@@ -226,7 +226,8 @@ - - - CONFIG_COMPAT_IWLWIFI=m --# CONFIG_IWLWIFI_DEBUG=y -+CONFIG_IWLWIFI_DEBUG=y -+CONFIG_IWLWIFI_DEBUG_EXPERIMENTAL_UCODE=y - # CONFIG_IWLWIFI_DEBUGFS=y - # CONFIG_IWLWIFI_DEVICE_TRACING=y - CONFIG_IWLAGN=m diff --git a/net-wireless/compat-wireless/files/johill-negone-paul.patch b/net-wireless/compat-wireless/files/johill-negone-paul.patch deleted file mode 100644 index ad891e2a..00000000 --- a/net-wireless/compat-wireless/files/johill-negone-paul.patch +++ /dev/null @@ -1,75 +0,0 @@ -diff -ur compat-wireless-3.2-rc1-1/include/net/cfg80211.h compat-wireless-3.2-rc1-1-new/include/net/cfg80211.h ---- compat-wireless-3.2-rc1-1/include/net/cfg80211.h 2011-11-15 00:44:56.000000000 +0400 -+++ compat-wireless-3.2-rc1-1-new/include/net/cfg80211.h 2011-11-27 09:48:41.000000000 +0400 -@@ -1338,6 +1338,9 @@ - * doesn't verify much. Note, however, that the passed netdev may be - * %NULL as well if the user requested changing the channel for the - * device itself, or for a monitor interface. -+ * @get_channel: Get the current operating channel, should return %NULL if -+ * there's no single defined operating channel if for example the -+ * device implements channel hopping for multi-channel virtual interfaces. - * - * @scan: Request to do a scan. If returning zero, the scan request is given - * the driver, and will be valid until passed to cfg80211_scan_done(). -@@ -1617,6 +1620,8 @@ - u16 status_code, const u8 *buf, size_t len); - int (*tdls_oper)(struct wiphy *wiphy, struct net_device *dev, - u8 *peer, enum nl80211_tdls_operation oper); -+ -+ struct ieee80211_channel *(*get_channel)(struct wiphy *wiphy); - }; - - /* -diff -ur compat-wireless-3.2-rc1-1/net/mac80211/cfg.c compat-wireless-3.2-rc1-1-new/net/mac80211/cfg.c ---- compat-wireless-3.2-rc1-1/net/mac80211/cfg.c 2011-11-15 00:44:54.000000000 +0400 -+++ compat-wireless-3.2-rc1-1-new/net/mac80211/cfg.c 2011-11-27 09:49:48.000000000 +0400 -@@ -2488,6 +2488,14 @@ - return 0; - } - -+static struct ieee80211_channel * -+ieee80211_wiphy_get_channel(struct wiphy *wiphy) -+{ -+ struct ieee80211_local *local = wiphy_priv(wiphy); -+ -+ return local->oper_channel; -+} -+ - struct cfg80211_ops mac80211_config_ops = { - .add_virtual_intf = ieee80211_add_iface, - .del_virtual_intf = ieee80211_del_iface, -@@ -2553,4 +2561,5 @@ - .set_rekey_data = ieee80211_set_rekey_data, - .tdls_oper = ieee80211_tdls_oper, - .tdls_mgmt = ieee80211_tdls_mgmt, -+ .get_channel = ieee80211_wiphy_get_channel, - }; -diff -ur compat-wireless-3.2-rc1-1/net/wireless/wext-compat.c compat-wireless-3.2-rc1-1-new/net/wireless/wext-compat.c ---- compat-wireless-3.2-rc1-1/net/wireless/wext-compat.c 2011-11-15 00:44:54.000000000 +0400 -+++ compat-wireless-3.2-rc1-1-new/net/wireless/wext-compat.c 2011-11-27 09:47:10.000000000 +0400 -@@ -819,12 +819,24 @@ - struct iw_freq *freq, char *extra) - { - struct wireless_dev *wdev = dev->ieee80211_ptr; -+ struct cfg80211_registered_device *rdev = wiphy_to_dev(wdev->wiphy); -+ struct ieee80211_channel *chan; - - switch (wdev->iftype) { - case NL80211_IFTYPE_STATION: - return cfg80211_mgd_wext_giwfreq(dev, info, freq, extra); - case NL80211_IFTYPE_ADHOC: - return cfg80211_ibss_wext_giwfreq(dev, info, freq, extra); -+ case NL80211_IFTYPE_MONITOR: -+ if (!rdev->ops->get_channel) -+ return -EINVAL; -+ -+ chan = rdev->ops->get_channel(wdev->wiphy); -+ if (!chan) -+ return -EINVAL; -+ freq->m = chan->center_freq; -+ freq->e = 6; -+ return 0; - default: - if (!wdev->channel) - return -EINVAL; - diff --git a/net-wireless/compat-wireless/files/johill-negone.patch b/net-wireless/compat-wireless/files/johill-negone.patch deleted file mode 100644 index c6d1ae77..00000000 --- a/net-wireless/compat-wireless/files/johill-negone.patch +++ /dev/null @@ -1,84 +0,0 @@ -From: Johannes Berg <johannes.berg@intel.com> - -Just add API to get the channel & report it. Trivial really. - -Signed-off-by: Johannes Berg <johannes.berg@intel.com> ---- -So trivial it didn't even work ;-) - - include/net/cfg80211.h | 5 +++++ - net/mac80211/cfg.c | 9 +++++++++ - net/wireless/wext-compat.c | 12 ++++++++++++ - 3 files changed, 26 insertions(+) - ---- a/include/net/cfg80211.h 2011-11-09 10:13:05.000000000 +0100 -+++ b/include/net/cfg80211.h 2011-11-09 10:27:47.000000000 +0100 -@@ -1342,6 +1342,9 @@ struct cfg80211_gtk_rekey_data { - * doesn't verify much. Note, however, that the passed netdev may be - * %NULL as well if the user requested changing the channel for the - * device itself, or for a monitor interface. -+ * @get_channel: Get the current operating channel, should return %NULL if -+ * there's no single defined operating channel if for example the -+ * device implements channel hopping for multi-channel virtual interfaces. - * - * @scan: Request to do a scan. If returning zero, the scan request is given - * the driver, and will be valid until passed to cfg80211_scan_done(). -@@ -1627,6 +1630,8 @@ struct cfg80211_ops { - - int (*probe_client)(struct wiphy *wiphy, struct net_device *dev, - const u8 *peer, u64 *cookie); -+ -+ struct ieee80211_channel *(*get_channel)(struct wiphy *wiphy); - }; - - /* ---- a/net/wireless/wext-compat.c 2011-11-09 10:07:35.000000000 +0100 -+++ b/net/wireless/wext-compat.c 2011-11-09 10:13:18.000000000 +0100 -@@ -819,12 +819,24 @@ static int cfg80211_wext_giwfreq(struct - struct iw_freq *freq, char *extra) - { - struct wireless_dev *wdev = dev->ieee80211_ptr; -+ struct cfg80211_registered_device *rdev = wiphy_to_dev(wdev->wiphy); -+ struct ieee80211_channel *chan; - - switch (wdev->iftype) { - case NL80211_IFTYPE_STATION: - return cfg80211_mgd_wext_giwfreq(dev, info, freq, extra); - case NL80211_IFTYPE_ADHOC: - return cfg80211_ibss_wext_giwfreq(dev, info, freq, extra); -+ case NL80211_IFTYPE_MONITOR: -+ if (!rdev->ops->get_channel) -+ return -EINVAL; -+ -+ chan = rdev->ops->get_channel(wdev->wiphy); -+ if (!chan) -+ return -EINVAL; -+ freq->m = chan->center_freq; -+ freq->e = 6; -+ return 0; - default: - if (!wdev->channel) - return -EINVAL; ---- a/net/mac80211/cfg.c 2011-11-09 10:10:56.000000000 +0100 -+++ b/net/mac80211/cfg.c 2011-11-09 10:29:40.000000000 +0100 -@@ -2579,6 +2579,14 @@ static int ieee80211_probe_client(struct - return 0; - } - -+static struct ieee80211_channel * -+ieee80211_wiphy_get_channel(struct wiphy *wiphy) -+{ -+ struct ieee80211_local *local = wiphy_priv(wiphy); -+ -+ return local->oper_channel; -+} -+ - struct cfg80211_ops mac80211_config_ops = { - .add_virtual_intf = ieee80211_add_iface, - .del_virtual_intf = ieee80211_del_iface, -@@ -2645,4 +2653,5 @@ struct cfg80211_ops mac80211_config_ops - .tdls_oper = ieee80211_tdls_oper, - .tdls_mgmt = ieee80211_tdls_mgmt, - .probe_client = ieee80211_probe_client, -+ .get_channel = ieee80211_wiphy_get_channel, - }; diff --git a/net-wireless/compat-wireless/files/led-oops.patch b/net-wireless/compat-wireless/files/led-oops.patch deleted file mode 100644 index c5b9ae6e..00000000 --- a/net-wireless/compat-wireless/files/led-oops.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: wireless-testing/drivers/net/wireless/rtl818x/rtl8187_leds.c -=================================================================== ---- wireless-testing.orig/drivers/net/wireless/rtl818x/rtl8187_leds.c -+++ wireless-testing/drivers/net/wireless/rtl818x/rtl8187_leds.c -@@ -210,10 +210,10 @@ void rtl8187_leds_exit(struct ieee80211_ - - /* turn the LED off before exiting */ - ieee80211_queue_delayed_work(dev, &priv->led_off, 0); -- cancel_delayed_work_sync(&priv->led_off); -- cancel_delayed_work_sync(&priv->led_on); - rtl8187_unregister_led(&priv->led_rx); - rtl8187_unregister_led(&priv->led_tx); -+ cancel_delayed_work_sync(&priv->led_off); -+ cancel_delayed_work_sync(&priv->led_on); - } - #endif /* def CONFIG_RTL8187_LED */ - - - - - - diff --git a/net-wireless/compat-wireless/files/leds-disable-strict-3.6.6.patch b/net-wireless/compat-wireless/files/leds-disable-strict-3.6.6.patch deleted file mode 100644 index fbc8d159..00000000 --- a/net-wireless/compat-wireless/files/leds-disable-strict-3.6.6.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- drivers/net/wireless/rt2x00/rt2x00leds.c -+++ drivers/net/wireless/rt2x00/rt2x00leds.c -@@ -29,6 +29,7 @@ - #include "rt2x00.h" - #include "rt2x00lib.h" - -+#ifdef CONFIG_RT2X00_LIB_LEDS - void rt2x00leds_led_quality(struct rt2x00_dev *rt2x00dev, int rssi) - { - struct rt2x00_led *led = &rt2x00dev->led_qual; -@@ -244,3 +245,4 @@ - if (rt2x00dev->led_qual.flags & LED_REGISTERED) - rt2x00leds_resume_led(&rt2x00dev->led_qual); - } -+#endif /* CONFIG_RT2X00_LIB_LEDS */ ---- net/mac80211/led.c -+++ net/mac80211/led.c -@@ -12,6 +12,7 @@ - #include <linux/export.h> - #include "led.h" - -+#ifdef CONFIG_MAC80211_LEDS - void ieee80211_led_rx(struct ieee80211_local *local) - { - if (unlikely(!local->rx_led)) -@@ -307,3 +308,4 @@ - else - ieee80211_start_tpt_led_trig(local); - } -+#endif /* CONFIG_MAC80211_LEDS */ diff --git a/net-wireless/compat-wireless/files/leds-disable-strict.patch b/net-wireless/compat-wireless/files/leds-disable-strict.patch deleted file mode 100644 index cf4a8c08..00000000 --- a/net-wireless/compat-wireless/files/leds-disable-strict.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff -Naur /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r1/work/compat-wireless-2.6.35-rc2/config.mk /usr/src/compat-wireless-2.6.35-rc2/config.mk ---- /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r1/work/compat-wireless-2.6.35-rc2/config.mk 2010-06-11 15:32:27.000000000 -0400 -+++ /usr/src/compat-wireless-2.6.35-rc2/config.mk 2010-06-11 15:34:16.000000000 -0400 -@@ -130,7 +130,7 @@ - CONFIG_COMPAT_MAC80211_RC_DEFAULT=minstrel - CONFIG_MAC80211_RC_PID=y - CONFIG_MAC80211_RC_MINSTREL=y --CONFIG_MAC80211_LEDS=y -+CONFIG_MAC80211_LEDS=n - - # enable mesh networking too - CONFIG_MAC80211_MESH=y -@@ -198,7 +198,7 @@ - ifneq ($(CONFIG_PCMCIA),) - CONFIG_B43_PCMCIA=y - endif --CONFIG_B43_LEDS=y -+CONFIG_B43_LEDS=n - CONFIG_B43_PHY_LP=y - CONFIG_B43_NPHY=y - # CONFIG_B43_FORCE_PIO=y -@@ -207,7 +207,7 @@ - CONFIG_B43LEGACY=m - CONFIG_B43LEGACY_HWRNG=y - CONFIG_B43LEGACY_PCI_AUTOSELECT=y --CONFIG_B43LEGACY_LEDS=y -+CONFIG_B43LEGACY_LEDS=n - # CONFIG_B43LEGACY_DEBUG=y - CONFIG_B43LEGACY_DMA=y - CONFIG_B43LEGACY_PIO=y -@@ -351,13 +351,13 @@ - - CONFIG_P54_USB=m - CONFIG_RTL8187=m --CONFIG_RTL8187_LEDS=y -+CONFIG_RTL8187_LEDS=n - - CONFIG_AT76C50X_USB=m - - ifndef CONFIG_COMPAT_KERNEL_28 - CONFIG_AR9170_USB=m --CONFIG_AR9170_LEDS=y -+CONFIG_AR9170_LEDS=n - endif - - CONFIG_ATH9K_HTC=m -@@ -446,7 +446,7 @@ - CONFIG_RT2X00_LIB_HT=y - CONFIG_RT2X00_LIB_FIRMWARE=y - CONFIG_RT2X00_LIB_CRYPTO=y --CONFIG_RT2X00_LIB_LEDS=y -+CONFIG_RT2X00_LIB_LEDS=n - # CONFIG_RT2X00_DEBUG=y - # CONFIG_RT2X00_LIB_DEBUGFS - endif -@@ -457,7 +457,7 @@ - - # p54 - CONFIG_P54_COMMON=m --CONFIG_P54_LEDS=y -+CONFIG_P54_LEDS=n - - # Atheros - CONFIG_ATH_COMMON=m diff --git a/net-wireless/compat-wireless/files/leds-disable.patch b/net-wireless/compat-wireless/files/leds-disable.patch deleted file mode 100644 index 521246c0..00000000 --- a/net-wireless/compat-wireless/files/leds-disable.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -Naur compat-wireless-2.6.35-rc2/config.mk /usr/src/patch_create/config.mk ---- compat-wireless-2.6.35-rc2/config.mk 2010-06-11 13:42:35.000000000 -0400 -+++ /usr/src/patch_create/config.mk 2010-06-11 13:41:23.000000000 -0400 -@@ -198,7 +198,7 @@ - ifneq ($(CONFIG_PCMCIA),) - CONFIG_B43_PCMCIA=y - endif --CONFIG_B43_LEDS=y -+CONFIG_B43_LEDS=n - CONFIG_B43_PHY_LP=y - CONFIG_B43_NPHY=y - # CONFIG_B43_FORCE_PIO=y -@@ -207,7 +207,7 @@ - CONFIG_B43LEGACY=m - CONFIG_B43LEGACY_HWRNG=y - CONFIG_B43LEGACY_PCI_AUTOSELECT=y --CONFIG_B43LEGACY_LEDS=y -+CONFIG_B43LEGACY_LEDS=n - # CONFIG_B43LEGACY_DEBUG=y - CONFIG_B43LEGACY_DMA=y - CONFIG_B43LEGACY_PIO=y -@@ -351,13 +351,13 @@ - - CONFIG_P54_USB=m - CONFIG_RTL8187=m --CONFIG_RTL8187_LEDS=y -+CONFIG_RTL8187_LEDS=n - - CONFIG_AT76C50X_USB=m - - ifndef CONFIG_COMPAT_KERNEL_28 - CONFIG_AR9170_USB=m --CONFIG_AR9170_LEDS=y -+CONFIG_AR9170_LEDS=n - endif - - CONFIG_ATH9K_HTC=m -@@ -446,7 +446,7 @@ - CONFIG_RT2X00_LIB_HT=y - CONFIG_RT2X00_LIB_FIRMWARE=y - CONFIG_RT2X00_LIB_CRYPTO=y --CONFIG_RT2X00_LIB_LEDS=y -+CONFIG_RT2X00_LIB_LEDS=n - # CONFIG_RT2X00_DEBUG=y - # CONFIG_RT2X00_LIB_DEBUGFS - endif -@@ -457,7 +457,7 @@ - - # p54 - CONFIG_P54_COMMON=m --CONFIG_P54_LEDS=y -+CONFIG_P54_LEDS=n - - # Atheros - CONFIG_ATH_COMMON=m - diff --git a/net-wireless/compat-wireless/files/linville-aircrack-ng.patch b/net-wireless/compat-wireless/files/linville-aircrack-ng.patch deleted file mode 100644 index 935b437e..00000000 --- a/net-wireless/compat-wireless/files/linville-aircrack-ng.patch +++ /dev/null @@ -1,61 +0,0 @@ -This is the latest attempt to address the long-standing complaint from -the aircrack-ng folks about being unable to change the channel on -monitor interfaces. This version checks for the existance of other -"active" interfaces and refuses the channel change if they are present. - - https://bugzilla.redhat.com/show_bug.cgi?id=654344 - -Signed-off-by: John W. Linville <linville@tuxdriver.com> ---- - net/wireless/chan.c | 29 +++++++++++++++++++++++++++-- - 1 files changed, 27 insertions(+), 2 deletions(-) - -diff --git a/net/wireless/chan.c b/net/wireless/chan.c -index 17cd0c0..d4add34 100644 ---- a/net/wireless/chan.c -+++ b/net/wireless/chan.c -@@ -81,10 +81,32 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev, - enum nl80211_channel_type channel_type) - { - struct ieee80211_channel *chan; -- int result; -+ int result, active_intf_present = 0; -+ struct wireless_dev *mon_wdev = NULL; -+ -+ if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) { -+ mon_wdev = wdev; -+ -+ ASSERT_RDEV_LOCK(rdev); -+ -+ /* rdev->devlist_mtx locked by callers */ -+ list_for_each_entry(wdev, &rdev->netdev_list, list) { -+ if (wdev && wdev != mon_wdev && -+ (wdev->iftype == NL80211_IFTYPE_ADHOC || -+ wdev->iftype == NL80211_IFTYPE_AP || -+ wdev->iftype == NL80211_IFTYPE_AP_VLAN || -+ wdev->iftype == NL80211_IFTYPE_MESH_POINT || -+ wdev->iftype == NL80211_IFTYPE_P2P_GO)) { -+ active_intf_present = 1; -+ break; -+ } -+ } -+ -+ if (active_intf_present) -+ return -EINVAL; - -- if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) - wdev = NULL; -+ } - - if (wdev) { - ASSERT_WDEV_LOCK(wdev); -@@ -131,5 +153,8 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev, - if (wdev) - wdev->channel = chan; - -+ if (mon_wdev) -+ mon_wdev->channel = chan; -+ - return 0; - } - diff --git a/net-wireless/compat-wireless/files/mac80211.compat08082009.wl_frag+ack_v1.patch b/net-wireless/compat-wireless/files/mac80211.compat08082009.wl_frag+ack_v1.patch deleted file mode 100644 index 8b7add3d..00000000 --- a/net-wireless/compat-wireless/files/mac80211.compat08082009.wl_frag+ack_v1.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c -index 0855cac..221bed6 100644 ---- a/net/mac80211/tx.c -+++ b/net/mac80211/tx.c -@@ -677,11 +677,19 @@ int tid; - - /* - * Packet injection may want to control the sequence -- * number, if we have no matching interface then we -- * neither assign one ourselves nor ask the driver to. -+ * number, so if an injected packet is found, skip -+ * renumbering it. Also make the packet NO_ACK to avoid -+ * excessive retries (ACKing and retrying should be -+ * handled by the injecting application). -+ * FIXME This may break hostapd and some other injectors. -+ * This should be done using a radiotap flag. - */ -- if (unlikely(info->control.vif->type == NL80211_IFTYPE_MONITOR)) -+ if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) && -+ !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) { -+ if (!ieee80211_has_morefrags(hdr->frame_control)) -+ info->flags |= IEEE80211_TX_CTL_NO_ACK; - return TX_CONTINUE; -+ } - - if (unlikely(ieee80211_is_ctl(hdr->frame_control))) - return TX_CONTINUE; diff --git a/net-wireless/compat-wireless/files/make-make.patch b/net-wireless/compat-wireless/files/make-make.patch deleted file mode 100644 index 4ef02c83..00000000 --- a/net-wireless/compat-wireless/files/make-make.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur compat-wireless-3.0-rc4-1-orig/Makefile compat-wireless-3.0-rc4-1/Makefile ---- compat-wireless-3.0-rc4-1-orig/Makefile 2011-06-24 01:20:08.000000000 -0400 -+++ compat-wireless-3.0-rc4-1/Makefile 2011-06-24 01:20:34.000000000 -0400 -@@ -154,7 +154,7 @@ - @echo - - btclean: -- make -C /lib/modules/$(shell uname -r)/build M=$(PWD) BT=TRUE clean -+ $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) BT=TRUE clean - @rm -f $(CREL_PRE)* - - install: uninstall install-modules install-scripts diff --git a/net-wireless/compat-wireless/files/orinoco-remove-all-which-are-in-hostap-OFFICIAL.patch b/net-wireless/compat-wireless/files/orinoco-remove-all-which-are-in-hostap-OFFICIAL.patch deleted file mode 100644 index ee08ad52..00000000 --- a/net-wireless/compat-wireless/files/orinoco-remove-all-which-are-in-hostap-OFFICIAL.patch +++ /dev/null @@ -1,191 +0,0 @@ -The hostap driver provides better support for Prism chipset. - -Signed-off-by: Pavel Roskin <proski@gnu.org> ---- - drivers/net/wireless/orinoco/Kconfig | 13 ++++- - drivers/net/wireless/orinoco/hw.c | 7 +++ - drivers/net/wireless/orinoco/orinoco_cs.c | 79 +++++++++++++++-------------- - 3 files changed, 60 insertions(+), 39 deletions(-) - -diff --git a/drivers/net/wireless/orinoco/Kconfig b/drivers/net/wireless/orinoco/Kconfig -index e2a2c18..6116b54 100644 ---- a/drivers/net/wireless/orinoco/Kconfig -+++ b/drivers/net/wireless/orinoco/Kconfig -@@ -27,6 +27,17 @@ config HERMES - configure your card and that /etc/pcmcia/wireless.opts works : - <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html> - -+config HERMES_PRISM -+ bool "Support Prism 2/2.5 chipset" -+ depends on HERMES -+ ---help--- -+ -+ Say Y to enable support for Prism 2 and 2.5 chipsets. These -+ chipsets are better handled by the hostap driver. This driver -+ would not support WPA or firmware download for Prism chipset. -+ -+ If you are not sure, say N. -+ - config HERMES_CACHE_FW_ON_INIT - bool "Cache Hermes firmware on driver initialisation" - depends on HERMES -@@ -86,7 +97,7 @@ config NORTEL_HERMES - - config PCI_HERMES - tristate "Prism 2.5 PCI 802.11b adaptor support" -- depends on PCI && HERMES -+ depends on PCI && HERMES && HERMES_PRISM - help - Enable support for PCI and mini-PCI 802.11b wireless NICs based on - the Prism 2.5 chipset. These are true PCI cards, not the 802.11b -diff --git a/drivers/net/wireless/orinoco/hw.c b/drivers/net/wireless/orinoco/hw.c -index e636924..883b8f8 100644 ---- a/drivers/net/wireless/orinoco/hw.c -+++ b/drivers/net/wireless/orinoco/hw.c -@@ -262,6 +262,13 @@ int determine_fw_capabilities(struct orinoco_private *priv, - if (fw_name) - dev_info(dev, "Firmware determined as %s\n", fw_name); - -+#ifndef CONFIG_HERMES_PRISM -+ if (priv->firmware_type == FIRMWARE_TYPE_INTERSIL) { -+ dev_err(dev, "Support for Prism chipset is not enabled\n"); -+ return -ENODEV; -+ } -+#endif -+ - return 0; - } - -diff --git a/drivers/net/wireless/orinoco/orinoco_cs.c b/drivers/net/wireless/orinoco/orinoco_cs.c -index 1d4ada1..fdc9613 100644 ---- a/drivers/net/wireless/orinoco/orinoco_cs.c -+++ b/drivers/net/wireless/orinoco/orinoco_cs.c -@@ -374,87 +374,90 @@ static char version[] __initdata = DRIVER_NAME " " DRIVER_VERSION - "Pavel Roskin <proski@gnu.org>, et al)"; - - static struct pcmcia_device_id orinoco_cs_ids[] = { -- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7100), /* SonicWALL Long Range Wireless Card */ -- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300), /* Sohoware NCP110, Philips 802.11b */ -- PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0002), /* AnyPoint(TM) Wireless II PC Card */ - PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0777), /* 3Com AirConnect PCI 777A */ -- PCMCIA_DEVICE_MANF_CARD(0x0126, 0x8000), /* PROXIM RangeLAN-DS/LAN PC CARD */ -- PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002), /* Compaq WL100 11 Mbps Wireless Adapter */ - PCMCIA_DEVICE_MANF_CARD(0x0156, 0x0002), /* Lucent Orinoco and old Intersil */ - PCMCIA_DEVICE_MANF_CARD(0x016b, 0x0001), /* Ericsson WLAN Card C11 */ - PCMCIA_DEVICE_MANF_CARD(0x01eb, 0x080a), /* Nortel Networks eMobility 802.11 Wireless Adapter */ -- PCMCIA_DEVICE_MANF_CARD(0x01ff, 0x0008), /* Intermec MobileLAN 11Mbps 802.11b WLAN Card */ -- PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */ - PCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002), /* AirWay 802.11 Adapter (PCMCIA) */ - PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0001), /* ARtem Onair */ - PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0003), /* ARtem Onair Comcard 11 */ - PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0305), /* Buffalo WLI-PCM-S11 */ -- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */ -- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */ -- PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002), /* Compaq HNW-100 11 Mbps Wireless Adapter */ -- PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673), /* Linksys WCF12 Wireless CompactFlash Card */ - PCMCIA_DEVICE_MANF_CARD(0x02aa, 0x0002), /* ASUS SpaceLink WL-100 */ - PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x0002), /* SpeedStream SS1021 Wireless Adapter */ - PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x3021), /* SpeedStream Wireless Adapter */ - PCMCIA_DEVICE_MANF_CARD(0x14ea, 0xb001), /* PLANEX RoadLannerWave GW-NS11H */ -+ PCMCIA_DEVICE_PROD_ID12("3Com", "3CRWE737A AirConnect Wireless LAN PC Card", 0x41240e5b, 0x56010af3), -+ PCMCIA_DEVICE_PROD_ID12("Allied Telesyn", "AT-WCL452 Wireless PCMCIA Radio", 0x5cd01705, 0x4271660f), -+ PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11B_CF_CARD_25", 0x78fc06ee, 0x45a50c1e), -+ PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11b_PC_CARD_25", 0x78fc06ee, 0xdb9aa842), -+ PCMCIA_DEVICE_PROD_ID12("Avaya Communication", "Avaya Wireless PC Card", 0xd8a43b78, 0x0d341169), -+ PCMCIA_DEVICE_PROD_ID12("BENQ", "AWL100 PCMCIA ADAPTER", 0x35dadc74, 0x01f7fedb), -+ PCMCIA_DEVICE_PROD_ID12("Cabletron", "RoamAbout 802.11 DS", 0x32d445f5, 0xedeffd90), -+ PCMCIA_DEVICE_PROD_ID12("D-Link Corporation", "D-Link DWL-650H 11Mbps WLAN Adapter", 0xef544d24, 0xcd8ea916), -+ PCMCIA_DEVICE_PROD_ID12("ELSA", "AirLancer MC-11", 0x4507a33a, 0xef54f0e3), -+ PCMCIA_DEVICE_PROD_ID12("HyperLink", "Wireless PC Card 11Mbps", 0x56cc3f1a, 0x0bcf220c), -+ PCMCIA_DEVICE_PROD_ID12("Intel", "PRO/Wireless 2011 LAN PC Card", 0x816cc815, 0x07f58077), -+ PCMCIA_DEVICE_PROD_ID12("LeArtery", "SYNCBYAIR 11Mbps Wireless LAN PC Card", 0x7e3b326a, 0x49893e92), -+ PCMCIA_DEVICE_PROD_ID12("Lucent Technologies", "WaveLAN/IEEE", 0x23eb9949, 0xc562e72a), -+ PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11", 0x481e0094, 0x7360e410), -+ PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11G", 0x481e0094, 0xf57ca4b3), -+ PCMCIA_DEVICE_PROD_ID12("NCR", "WaveLAN/IEEE", 0x24358cd4, 0xc562e72a), -+ PCMCIA_DEVICE_PROD_ID12("Nortel Networks", "emobility 802.11 Wireless LAN PC Card", 0x2d617ea0, 0x88cd5767), -+ PCMCIA_DEVICE_PROD_ID12("OTC", "Wireless AirEZY 2411-PCC WLAN Card", 0x4ac44287, 0x235a6bed), -+ PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PC CARD HARMONY 80211B", 0xc6536a5e, 0x090c3cd9), -+ PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PCI CARD HARMONY 80211B", 0xc6536a5e, 0x9f494e26), -+ PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "11Mbps WLAN Card", 0x43d74cb4, 0x579bd91b), -+ PCMCIA_DEVICE_PROD_ID12("Symbol Technologies", "LA4111 Spectrum24 Wireless LAN PC Card", 0x3f02b4d6, 0x3663cb0e), -+#ifdef CONFIG_HERMES_PRISM -+ /* Only entries that certainly identify Prism chipset */ -+ PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7100), /* SonicWALL Long Range Wireless Card */ -+ PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300), /* Sohoware NCP110, Philips 802.11b */ -+ PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0002), /* AnyPoint(TM) Wireless II PC Card */ -+ PCMCIA_DEVICE_MANF_CARD(0x0126, 0x8000), /* PROXIM RangeLAN-DS/LAN PC CARD */ -+ PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002), /* Compaq WL100 11 Mbps Wireless Adapter */ -+ PCMCIA_DEVICE_MANF_CARD(0x01ff, 0x0008), /* Intermec MobileLAN 11Mbps 802.11b WLAN Card */ -+ PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */ -+ PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */ -+ PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */ -+ PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002), /* Compaq HNW-100 11 Mbps Wireless Adapter */ -+ PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673), /* Linksys WCF12 Wireless CompactFlash Card */ - PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300), /* Airvast WN-100 */ - PCMCIA_DEVICE_MANF_CARD(0x9005, 0x0021), /* Adaptec Ultra Wireless ANW-8030 */ - PCMCIA_DEVICE_MANF_CARD(0xc001, 0x0008), /* CONTEC FLEXSCAN/FX-DDS110-PCC */ - PCMCIA_DEVICE_MANF_CARD(0xc250, 0x0002), /* Conceptronic CON11Cpro, EMTAC A2424i */ - PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002), /* Safeway 802.11b, ZCOMAX AirRunner/XI-300 */ - PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005), /* D-Link DCF660, Sandisk Connect SDWCFB-000 */ -- PCMCIA_DEVICE_PROD_ID12(" ", "IEEE 802.11 Wireless LAN/PC Card", 0x3b6e20c8, 0xefccafe9), -- PCMCIA_DEVICE_PROD_ID12("3Com", "3CRWE737A AirConnect Wireless LAN PC Card", 0x41240e5b, 0x56010af3), -+ PCMCIA_DEVICE_PROD_ID123("Instant Wireless ", " Network PC CARD", "Version 01.02", 0x11d901af, 0x6e9bd926, 0x4b74baa0), - PCMCIA_DEVICE_PROD_ID12("ACTIONTEC", "PRISM Wireless LAN PC Card", 0x393089da, 0xa71e69d5), - PCMCIA_DEVICE_PROD_ID12("Addtron", "AWP-100 Wireless PCMCIA", 0xe6ec52ce, 0x08649af2), -- PCMCIA_DEVICE_PROD_ID12("Allied Telesyn", "AT-WCL452 Wireless PCMCIA Radio", 0x5cd01705, 0x4271660f), -- PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11b_PC_CARD_25", 0x78fc06ee, 0xdb9aa842), -- PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11B_CF_CARD_25", 0x78fc06ee, 0x45a50c1e), -- PCMCIA_DEVICE_PROD_ID12("Avaya Communication", "Avaya Wireless PC Card", 0xd8a43b78, 0x0d341169), -- PCMCIA_DEVICE_PROD_ID12("BENQ", "AWL100 PCMCIA ADAPTER", 0x35dadc74, 0x01f7fedb), -- PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-PCM-L11G", 0x2decece3, 0xf57ca4b3), - PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-CF-S11G", 0x2decece3, 0x82067c18), -- PCMCIA_DEVICE_PROD_ID12("Cabletron", "RoamAbout 802.11 DS", 0x32d445f5, 0xedeffd90), -+ PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-PCM-L11G", 0x2decece3, 0xf57ca4b3), - PCMCIA_DEVICE_PROD_ID12("Compaq", "WL200_11Mbps_Wireless_PCI_Card", 0x54f7c49c, 0x15a75e5b), - PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCC-11", 0x5261440f, 0xa6405584), - PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCCA-11", 0x5261440f, 0xdf6115f9), - PCMCIA_DEVICE_PROD_ID12("corega_K.K.", "Wireless_LAN_PCCB-11", 0x29e33311, 0xee7a27ae), -+ PCMCIA_DEVICE_PROD_ID12("Digital Data Communications", "WPC-0100", 0xfdd73470, 0xe0b6f146), - PCMCIA_DEVICE_PROD_ID12("D", "Link DRC-650 11Mbps WLAN Card", 0x71b18589, 0xf144e3ac), - PCMCIA_DEVICE_PROD_ID12("D", "Link DWL-650 11Mbps WLAN Card", 0x71b18589, 0xb6f1b0ab), -- PCMCIA_DEVICE_PROD_ID12("D-Link Corporation", "D-Link DWL-650H 11Mbps WLAN Adapter", 0xef544d24, 0xcd8ea916), -- PCMCIA_DEVICE_PROD_ID12("Digital Data Communications", "WPC-0100", 0xfdd73470, 0xe0b6f146), -- PCMCIA_DEVICE_PROD_ID12("ELSA", "AirLancer MC-11", 0x4507a33a, 0xef54f0e3), -- PCMCIA_DEVICE_PROD_ID12("HyperLink", "Wireless PC Card 11Mbps", 0x56cc3f1a, 0x0bcf220c), -- PCMCIA_DEVICE_PROD_ID123("Instant Wireless ", " Network PC CARD", "Version 01.02", 0x11d901af, 0x6e9bd926, 0x4b74baa0), -- PCMCIA_DEVICE_PROD_ID12("Intel", "PRO/Wireless 2011 LAN PC Card", 0x816cc815, 0x07f58077), -+ PCMCIA_DEVICE_PROD_ID12(" ", "IEEE 802.11 Wireless LAN/PC Card", 0x3b6e20c8, 0xefccafe9), - PCMCIA_DEVICE_PROD_ID12("INTERSIL", "HFA384x/IEEE", 0x74c5e40d, 0xdb472a18), - PCMCIA_DEVICE_PROD_ID12("INTERSIL", "I-GATE 11M PC Card / PC Card plus", 0x74c5e40d, 0x8304ff77), - PCMCIA_DEVICE_PROD_ID12("Intersil", "PRISM 2_5 PCMCIA ADAPTER", 0x4b801a17, 0x6345a0bf), -- PCMCIA_DEVICE_PROD_ID12("LeArtery", "SYNCBYAIR 11Mbps Wireless LAN PC Card", 0x7e3b326a, 0x49893e92), - PCMCIA_DEVICE_PROD_ID12("Linksys", "Wireless CompactFlash Card", 0x0733cc81, 0x0c52f395), -- PCMCIA_DEVICE_PROD_ID12("Lucent Technologies", "WaveLAN/IEEE", 0x23eb9949, 0xc562e72a), -- PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11", 0x481e0094, 0x7360e410), -- PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11G", 0x481e0094, 0xf57ca4b3), - PCMCIA_DEVICE_PROD_ID12("Microsoft", "Wireless Notebook Adapter MN-520", 0x5961bf85, 0x6eec8c01), -- PCMCIA_DEVICE_PROD_ID12("NCR", "WaveLAN/IEEE", 0x24358cd4, 0xc562e72a), -- PCMCIA_DEVICE_PROD_ID12("NETGEAR MA401 Wireless PC", "Card", 0xa37434e9, 0x9762e8f1), - PCMCIA_DEVICE_PROD_ID12("NETGEAR MA401RA Wireless PC", "Card", 0x0306467f, 0x9762e8f1), -- PCMCIA_DEVICE_PROD_ID12("Nortel Networks", "emobility 802.11 Wireless LAN PC Card", 0x2d617ea0, 0x88cd5767), -+ PCMCIA_DEVICE_PROD_ID12("NETGEAR MA401 Wireless PC", "Card", 0xa37434e9, 0x9762e8f1), - PCMCIA_DEVICE_PROD_ID12("OEM", "PRISM2 IEEE 802.11 PC-Card", 0xfea54c90, 0x48f2bdd6), -- PCMCIA_DEVICE_PROD_ID12("OTC", "Wireless AirEZY 2411-PCC WLAN Card", 0x4ac44287, 0x235a6bed), - PCMCIA_DEVICE_PROD_ID12("PLANEX", "GeoWave/GW-CF110", 0x209f40ab, 0xd9715264), - PCMCIA_DEVICE_PROD_ID12("PLANEX", "GeoWave/GW-NS110", 0x209f40ab, 0x46263178), -- PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PC CARD HARMONY 80211B", 0xc6536a5e, 0x090c3cd9), -- PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PCI CARD HARMONY 80211B", 0xc6536a5e, 0x9f494e26), -- PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "11Mbps WLAN Card", 0x43d74cb4, 0x579bd91b), - PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2532W-B EliteConnect Wireless Adapter", 0xc4f8b18b, 0x196bd757), - PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2632W", 0xc4f8b18b, 0x474a1f2a), -- PCMCIA_DEVICE_PROD_ID12("Symbol Technologies", "LA4111 Spectrum24 Wireless LAN PC Card", 0x3f02b4d6, 0x3663cb0e), - PCMCIA_DEVICE_PROD_ID12("ZoomAir 11Mbps High", "Rate wireless Networking", 0x273fe3db, 0x32a1eaee), - PCMCIA_DEVICE_PROD_ID3("HFA3863", 0x355cb092), - PCMCIA_DEVICE_PROD_ID3("ISL37100P", 0x630d52b2), - PCMCIA_DEVICE_PROD_ID3("ISL37101P-10", 0xdd97a26b), - PCMCIA_DEVICE_PROD_ID3("ISL37300P", 0xc9049a39), -+#endif - PCMCIA_DEVICE_NULL, - }; - MODULE_DEVICE_TABLE(pcmcia, orinoco_cs_ids); diff --git a/net-wireless/compat-wireless/files/reinette-test2.patch b/net-wireless/compat-wireless/files/reinette-test2.patch deleted file mode 100644 index fe9fee1e..00000000 --- a/net-wireless/compat-wireless/files/reinette-test2.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c -index 0f292a2..2815ee7 100644 ---- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c -+++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c -@@ -613,7 +613,8 @@ void iwlagn_rx_allocate(struct iwl_priv *priv, gfp_t priority) - } - spin_unlock_irqrestore(&rxq->lock, flags); - -- if (rxq->free_count > RX_LOW_WATERMARK) -+ if ((priority == GFP_ATOMIC) || -+ (rxq->free_count > RX_LOW_WATERMARK / 4)) - gfp_mask |= __GFP_NOWARN; - - if (priv->hw_params.rx_page_order > 0) -@@ -627,7 +628,7 @@ void iwlagn_rx_allocate(struct iwl_priv *priv, gfp_t priority) - "order: %d\n", - priv->hw_params.rx_page_order); - -- if ((rxq->free_count <= RX_LOW_WATERMARK) && -+ if ((rxq->free_count <= RX_LOW_WATERMARK / 4) && - net_ratelimit()) - IWL_CRIT(priv, "Failed to alloc_pages with %s. Only %u free buffers remaining.\n", - priority == GFP_ATOMIC ? "GFP_ATOMIC" : "GFP_KERNEL", -diff --git a/drivers/net/wireless/iwlwifi/iwl-fh.h b/drivers/net/wireless/iwlwifi/iwl-fh.h -index 113c366..431bc58 100644 ---- a/drivers/net/wireless/iwlwifi/iwl-fh.h -+++ b/drivers/net/wireless/iwlwifi/iwl-fh.h -@@ -426,7 +426,7 @@ - * RX related structures and functions - */ - #define RX_FREE_BUFFERS 64 --#define RX_LOW_WATERMARK 8 -+#define RX_LOW_WATERMARK 128 - - /* Size of one Rx buffer in host DRAM */ - #define IWL_RX_BUF_SIZE_3K (3 * 1000) /* 3945 only */ diff --git a/net-wireless/compat-wireless/files/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch b/net-wireless/compat-wireless/files/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch deleted file mode 100644 index 5bcef9eb..00000000 --- a/net-wireless/compat-wireless/files/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/wireless/rtl818x/rtl8187_dev.c -index 9212cea..08d04a3 100644 ---- a/drivers/net/wireless/rtl818x/rtl8187_dev.c -+++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c -@@ -258,7 +258,11 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb) - hdr->flags = cpu_to_le32(flags); - hdr->len = 0; - hdr->rts_duration = rts_dur; -- hdr->retry = cpu_to_le32((info->control.rates[0].count - 1) << 8); -+ if (!(info->flags & IEEE80211_TX_CTL_NO_ACK)) -+ hdr->retry = -+ cpu_to_le32((info->control.rates[0].count - 1) << 8); -+ else -+ hdr->retry = 0; - buf = hdr; - - ep = 2; -@@ -276,7 +280,11 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb) - memset(hdr, 0, sizeof(*hdr)); - hdr->flags = cpu_to_le32(flags); - hdr->rts_duration = rts_dur; -- hdr->retry = cpu_to_le32((info->control.rates[0].count - 1) << 8); -+ if (!(info->flags & IEEE80211_TX_CTL_NO_ACK)) -+ hdr->retry = -+ cpu_to_le32((info->control.rates[0].count - 1) << 8); -+ else -+ hdr->retry = 0; - hdr->tx_duration = - ieee80211_generic_frame_duration(dev, priv->vif, - skb->len, txrate); diff --git a/net-wireless/compat-wireless/files/super_secret_patch.diff b/net-wireless/compat-wireless/files/super_secret_patch.diff deleted file mode 100644 index bb9b58d5..00000000 --- a/net-wireless/compat-wireless/files/super_secret_patch.diff +++ /dev/null @@ -1,453 +0,0 @@ -From: Benoit Papillault <benoit.papillault@free.fr> -Date: Thu, 8 Apr 2010 21:53:39 +0000 (+0200) -Subject: ath5k & ath9k: Add the ability to disable physical & virtual carrier sense. -X-Git-Url: http://git.popipo.fr/?p=rt2x00.git;a=commitdiff_plain;h=6e617aef04e78aa09fdaf029ff2095bda8509606 - -ath5k & ath9k: Add the ability to disable physical & virtual carrier sense. - -This patch adds 2 debugfs file in ath5k and ath9k debugfs directory, called : -- physical_carrier_sense : when set to 1, physical carrier sense is disabled. -- virtual_carrier_sense : when set to 1, virtual carrier sense is disabled - -Carrier sense settings are restored after a hardware reset. ---- - -diff --git a/drivers/net/wireless/ath/ath5k/ath5k.h b/drivers/net/wireless/ath/ath5k/ath5k.h -index ac67f02..1f90dde 100644 ---- a/drivers/net/wireless/ath/ath5k/ath5k.h -+++ b/drivers/net/wireless/ath/ath5k/ath5k.h -@@ -1135,6 +1135,10 @@ struct ath5k_hw { - /* Software interrupt mask */ - u8 ah_swi_mask; - -+ /* Saved values of physical & virtual carrier sense */ -+ int saved_phy_cs; -+ int saved_virt_cs; -+ - /* - * Function pointers - */ -@@ -1310,6 +1314,11 @@ extern unsigned int ath5k_hw_get_def_antenna(struct ath5k_hw *ah); - /* TX power setup */ - extern int ath5k_hw_txpower(struct ath5k_hw *ah, struct ieee80211_channel *channel, u8 ee_mode, u8 txpower); - extern int ath5k_hw_set_txpower_limit(struct ath5k_hw *ah, u8 txpower); -+/* physical & virtual carrier sense get/set methods */ -+int ath5k_hw_get_phy_cs(struct ath5k_hw *ah); -+void ath5k_hw_set_phy_cs(struct ath5k_hw *ah, int val); -+int ath5k_hw_get_virt_cs(struct ath5k_hw *ah); -+void ath5k_hw_set_virt_cs(struct ath5k_hw *ah, int val); - - /* - * Functions used internaly -diff --git a/drivers/net/wireless/ath/ath5k/debug.c b/drivers/net/wireless/ath/ath5k/debug.c -index 747508c..246c62d 100644 ---- a/drivers/net/wireless/ath/ath5k/debug.c -+++ b/drivers/net/wireless/ath/ath5k/debug.c -@@ -363,6 +363,90 @@ static const struct file_operations fops_debug = { - .owner = THIS_MODULE, - }; - -+static ssize_t read_file_phy_cs(struct file *file, char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath5k_softc *sc = file->private_data; -+ struct ath5k_hw *ah = sc->ah; -+ char buf[32]; -+ unsigned int len; -+ int val; -+ -+ val = ath5k_hw_get_phy_cs(ah); -+ len = snprintf(buf, sizeof(buf), "%d\n", val); -+ return simple_read_from_buffer(user_buf, count, ppos, buf, len); -+} -+ -+static ssize_t write_file_phy_cs(struct file *file, const char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath5k_softc *sc = file->private_data; -+ struct ath5k_hw *ah = sc->ah; -+ unsigned long val; -+ char buf[32]; -+ ssize_t len; -+ -+ len = min(count, sizeof(buf) - 1); -+ if (copy_from_user(buf, user_buf, len)) -+ return -EINVAL; -+ -+ buf[len] = '\0'; -+ if (strict_strtoul(buf, 0, &val)) -+ return -EINVAL; -+ -+ ath5k_hw_set_phy_cs(ah, val); -+ return count; -+} -+ -+static const struct file_operations fops_phy_cs = { -+ .read = read_file_phy_cs, -+ .write = write_file_phy_cs, -+ .open = ath5k_debugfs_open, -+ .owner = THIS_MODULE -+}; -+ -+static ssize_t read_file_virt_cs(struct file *file, char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath5k_softc *sc = file->private_data; -+ struct ath5k_hw *ah = sc->ah; -+ char buf[32]; -+ unsigned int len; -+ int val; -+ -+ val = ath5k_hw_get_virt_cs(ah); -+ len = snprintf(buf, sizeof(buf), "%d\n",val); -+ return simple_read_from_buffer(user_buf, count, ppos, buf, len); -+} -+ -+static ssize_t write_file_virt_cs(struct file *file, const char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath5k_softc *sc = file->private_data; -+ struct ath5k_hw *ah = sc->ah; -+ unsigned long val; -+ char buf[32]; -+ ssize_t len; -+ -+ len = min(count, sizeof(buf) - 1); -+ if (copy_from_user(buf, user_buf, len)) -+ return -EINVAL; -+ -+ buf[len] = '\0'; -+ if (strict_strtoul(buf, 0, &val)) -+ return -EINVAL; -+ -+ ath5k_hw_set_virt_cs(ah, val); -+ -+ return count; -+} -+ -+static const struct file_operations fops_virt_cs = { -+ .read = read_file_virt_cs, -+ .write = write_file_virt_cs, -+ .open = ath5k_debugfs_open, -+ .owner = THIS_MODULE -+}; - - /* init */ - -@@ -393,6 +477,14 @@ ath5k_debug_init_device(struct ath5k_softc *sc) - - sc->debug.debugfs_reset = debugfs_create_file("reset", S_IWUSR, - sc->debug.debugfs_phydir, sc, &fops_reset); -+ -+ sc->debug.debugfs_phy_cs = debugfs_create_file("physical_carrier_sense", -+ S_IRUSR|S_IWUSR, -+ sc->debug.debugfs_phydir, sc, &fops_phy_cs); -+ -+ sc->debug.debugfs_virt_cs = debugfs_create_file("virtual_carrier_sense", -+ S_IRUSR|S_IWUSR, -+ sc->debug.debugfs_phydir, sc, &fops_virt_cs); - } - - void -@@ -404,6 +496,8 @@ ath5k_debug_finish(void) - void - ath5k_debug_finish_device(struct ath5k_softc *sc) - { -+ debugfs_remove(sc->debug.debugfs_virt_cs); -+ debugfs_remove(sc->debug.debugfs_phy_cs); - debugfs_remove(sc->debug.debugfs_debug); - debugfs_remove(sc->debug.debugfs_registers); - debugfs_remove(sc->debug.debugfs_beacon); -diff --git a/drivers/net/wireless/ath/ath5k/debug.h b/drivers/net/wireless/ath/ath5k/debug.h -index 66f69f0..070226c 100644 ---- a/drivers/net/wireless/ath/ath5k/debug.h -+++ b/drivers/net/wireless/ath/ath5k/debug.h -@@ -74,6 +74,8 @@ struct ath5k_dbg_info { - struct dentry *debugfs_registers; - struct dentry *debugfs_beacon; - struct dentry *debugfs_reset; -+ struct dentry *debugfs_phy_cs; -+ struct dentry *debugfs_virt_cs; - }; - - /** -diff --git a/drivers/net/wireless/ath/ath5k/phy.c b/drivers/net/wireless/ath/ath5k/phy.c -index eff3323..4604e8f 100644 ---- a/drivers/net/wireless/ath/ath5k/phy.c -+++ b/drivers/net/wireless/ath/ath5k/phy.c -@@ -3145,3 +3145,41 @@ int ath5k_hw_set_txpower_limit(struct ath5k_hw *ah, u8 txpower) - } - - #undef _ATH5K_PHY -+int ath5k_hw_get_phy_cs(struct ath5k_hw *ah) -+{ -+ u32 regval; -+ -+ regval = ath5k_hw_reg_read(ah, AR5K_DIAG_SW); -+ return !!(regval & AR5K_DIAG_SW_RX_CLEAR_HIGH); -+} -+ -+void ath5k_hw_set_phy_cs(struct ath5k_hw *ah, int val) -+{ -+ if (val) -+ AR5K_REG_ENABLE_BITS(ah, AR5K_DIAG_SW, -+ AR5K_DIAG_SW_RX_CLEAR_HIGH); -+ else -+ AR5K_REG_DISABLE_BITS(ah, AR5K_DIAG_SW, -+ AR5K_DIAG_SW_RX_CLEAR_HIGH); -+ ah->saved_phy_cs = val; -+} -+ -+int ath5k_hw_get_virt_cs(struct ath5k_hw *ah) -+{ -+ u32 regval; -+ -+ regval = ath5k_hw_reg_read(ah, AR5K_DIAG_SW); -+ return !!(regval & AR5K_DIAG_SW_IGNORE_CARR_SENSE); -+} -+ -+void ath5k_hw_set_virt_cs(struct ath5k_hw *ah, int val) -+{ -+ if (val) -+ AR5K_REG_ENABLE_BITS(ah, AR5K_DIAG_SW, -+ AR5K_DIAG_SW_IGNORE_CARR_SENSE); -+ else -+ AR5K_REG_DISABLE_BITS(ah, AR5K_DIAG_SW, -+ AR5K_DIAG_SW_IGNORE_CARR_SENSE); -+ ah->saved_virt_cs = val; -+} -+ -diff --git a/drivers/net/wireless/ath/ath5k/reset.c b/drivers/net/wireless/ath/ath5k/reset.c -index cbf28e3..7d337f3 100644 ---- a/drivers/net/wireless/ath/ath5k/reset.c -+++ b/drivers/net/wireless/ath/ath5k/reset.c -@@ -1386,6 +1386,9 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode, - */ - AR5K_REG_DISABLE_BITS(ah, AR5K_BEACON, AR5K_BEACON_ENABLE); - ath5k_hw_reset_tsf(ah); -+ -+ ath5k_hw_set_phy_cs(ah, ah->saved_phy_cs); -+ ath5k_hw_set_virt_cs(ah, ah->saved_virt_cs); - return 0; - } - -diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c -index 42d2a50..a65d9fc 100644 ---- a/drivers/net/wireless/ath/ath9k/debug.c -+++ b/drivers/net/wireless/ath/ath9k/debug.c -@@ -699,6 +699,75 @@ static const struct file_operations fops_recv = { - .owner = THIS_MODULE - }; - -+static ssize_t write_file_phy_cs(struct file *file, const char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath_softc *sc = file->private_data; -+ unsigned long val; -+ char buf[32]; -+ ssize_t len; -+ -+ len = min(count, sizeof(buf) - 1); -+ if (copy_from_user(buf, user_buf, len)) -+ return -EINVAL; -+ -+ buf[len] = '\0'; -+ if (strict_strtoul(buf, 0, &val)) -+ return -EINVAL; -+ -+ ath9k_hw_set_phy_cs(sc->sc_ah, val); -+ -+ return count; -+} -+ -+static const struct file_operations fops_phy_cs = { -+ .read = read_file_phy_cs, -+ .write = write_file_phy_cs, -+ .open = ath9k_debugfs_open, -+ .owner = THIS_MODULE -+}; -+ -+static ssize_t read_file_virt_cs(struct file *file, char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath_softc *sc = file->private_data; -+ char buf[32]; -+ unsigned int len; -+ int val; -+ -+ val = ath9k_hw_get_virt_cs(sc->sc_ah); -+ len = snprintf(buf, sizeof(buf), "%d\n", val); -+ return simple_read_from_buffer(user_buf, count, ppos, buf, len); -+} -+ -+static ssize_t write_file_virt_cs(struct file *file, const char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath_softc *sc = file->private_data; -+ unsigned long val; -+ char buf[32]; -+ ssize_t len; -+ -+ len = min(count, sizeof(buf) - 1); -+ if (copy_from_user(buf, user_buf, len)) -+ return -EINVAL; -+ -+ buf[len] = '\0'; -+ if (strict_strtoul(buf, 0, &val)) -+ return -EINVAL; -+ -+ ath9k_hw_set_virt_cs(sc->sc_ah, val); -+ -+ return count; -+} -+ -+static const struct file_operations fops_virt_cs = { -+ .read = read_file_virt_cs, -+ .write = write_file_virt_cs, -+ .open = ath9k_debugfs_open, -+ .owner = THIS_MODULE -+}; -+ - int ath9k_init_debug(struct ath_hw *ah) - { - struct ath_common *common = ath9k_hw_common(ah); -@@ -758,6 +827,20 @@ int ath9k_init_debug(struct ath_hw *ah) - if (!sc->debug.debugfs_recv) - goto err; - -+ sc->debug.debugfs_phy_cs = debugfs_create_file("physical_carrier_sense", -+ S_IRUSR|S_IWUSR, -+ sc->debug.debugfs_phy, -+ sc, &fops_phy_cs); -+ if (!sc->debug.debugfs_phy_cs) -+ goto err; -+ -+ sc->debug.debugfs_virt_cs = debugfs_create_file("virtual_carrier_sense", -+ S_IRUSR|S_IWUSR, -+ sc->debug.debugfs_phy, -+ sc, &fops_virt_cs); -+ if (!sc->debug.debugfs_virt_cs) -+ goto err; -+ - return 0; - err: - ath9k_exit_debug(ah); -@@ -769,6 +852,8 @@ void ath9k_exit_debug(struct ath_hw *ah) - struct ath_common *common = ath9k_hw_common(ah); - struct ath_softc *sc = (struct ath_softc *) common->priv; - -+ debugfs_remove(sc->debug.debugfs_virt_cs); -+ debugfs_remove(sc->debug.debugfs_phy_cs); - debugfs_remove(sc->debug.debugfs_recv); - debugfs_remove(sc->debug.debugfs_xmit); - debugfs_remove(sc->debug.debugfs_wiphy); -diff --git a/drivers/net/wireless/ath/ath9k/debug.h b/drivers/net/wireless/ath/ath9k/debug.h -index 86780e6..d86bbe5 100644 ---- a/drivers/net/wireless/ath/ath9k/debug.h -+++ b/drivers/net/wireless/ath/ath9k/debug.h -@@ -156,6 +156,8 @@ struct ath9k_debug { - struct dentry *debugfs_wiphy; - struct dentry *debugfs_xmit; - struct dentry *debugfs_recv; -+ struct dentry *debugfs_phy_cs; -+ struct dentry *debugfs_virt_cs; - struct ath_stats stats; - }; - -diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c -index 2e767cf..aef52aa 100644 ---- a/drivers/net/wireless/ath/ath9k/hw.c -+++ b/drivers/net/wireless/ath/ath9k/hw.c -@@ -954,6 +954,10 @@ int ath9k_hw_init(struct ath_hw *ah) - - common->state = ATH_HW_INITIALIZED; - -+ /* Initially, physical and virtual carrier sense are enabled */ -+ ah->saved_phy_cs = 0; -+ ah->saved_virt_cs = 0; -+ - return 0; - } - -@@ -1913,6 +1917,44 @@ static void ath9k_enable_rfkill(struct ath_hw *ah) - REG_SET_BIT(ah, AR_PHY_TEST, RFSILENT_BB); - } - -+int ath9k_hw_get_phy_cs(struct ath_hw *ah) -+{ -+ u32 regval; -+ -+ regval = REG_READ(ah, AR_DIAG_SW); -+ return !!(regval & AR_DIAG_FORCE_RX_CLEAR); -+} -+EXPORT_SYMBOL(ath9k_hw_get_phy_cs); -+ -+void ath9k_hw_set_phy_cs(struct ath_hw *ah, int val) -+{ -+ if (val) -+ REG_SET_BIT(ah, AR_DIAG_SW, AR_DIAG_FORCE_RX_CLEAR); -+ else -+ REG_CLR_BIT(ah, AR_DIAG_SW, AR_DIAG_FORCE_RX_CLEAR); -+ ah->saved_phy_cs = val; -+} -+EXPORT_SYMBOL(ath9k_hw_set_phy_cs); -+ -+int ath9k_hw_get_virt_cs(struct ath_hw *ah) -+{ -+ u32 regval; -+ -+ regval = REG_READ(ah, AR_DIAG_SW); -+ return !!(regval & AR_DIAG_IGNORE_VIRT_CS); -+} -+EXPORT_SYMBOL(ath9k_hw_get_virt_cs); -+ -+void ath9k_hw_set_virt_cs(struct ath_hw *ah, int val) -+{ -+ if (val) -+ REG_SET_BIT(ah, AR_DIAG_SW, AR_DIAG_IGNORE_VIRT_CS); -+ else -+ REG_CLR_BIT(ah, AR_DIAG_SW, AR_DIAG_IGNORE_VIRT_CS); -+ ah->saved_virt_cs = val; -+} -+EXPORT_SYMBOL(ath9k_hw_set_virt_cs); -+ - int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan, - bool bChannelChange) - { -@@ -2142,6 +2184,9 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan, - if (ah->btcoex_hw.enabled) - ath9k_hw_btcoex_enable(ah); - -+ ath9k_hw_set_phy_cs(ah, ah->saved_phy_cs); -+ ath9k_hw_set_virt_cs(ah, ah->saved_virt_cs); -+ - return 0; - } - EXPORT_SYMBOL(ath9k_hw_reset); -diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h -index dbbf7ca..2c1dac4 100644 ---- a/drivers/net/wireless/ath/ath9k/hw.h -+++ b/drivers/net/wireless/ath/ath9k/hw.h -@@ -602,6 +602,10 @@ struct ath_hw { - u32 intr_gen_timer_trigger; - u32 intr_gen_timer_thresh; - struct ath_gen_timer_table hw_gen_timers; -+ -+ /* Saved values of physical & virtual carrier sense */ -+ int saved_phy_cs; -+ int saved_virt_cs; - }; - - static inline struct ath_common *ath9k_hw_common(struct ath_hw *ah) -@@ -618,6 +622,10 @@ static inline struct ath_regulatory *ath9k_hw_regulatory(struct ath_hw *ah) - const char *ath9k_hw_probe(u16 vendorid, u16 devid); - void ath9k_hw_deinit(struct ath_hw *ah); - int ath9k_hw_init(struct ath_hw *ah); -+int ath9k_hw_get_phy_cs(struct ath_hw *ah); -+void ath9k_hw_set_phy_cs(struct ath_hw *ah, int val); -+int ath9k_hw_get_virt_cs(struct ath_hw *ah); -+void ath9k_hw_set_virt_cs(struct ath_hw *ah, int val); - int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan, - bool bChannelChange); - int ath9k_hw_fill_cap_info(struct ath_hw *ah); - diff --git a/net-wireless/compat-wireless/files/ubnt-wifi-station-ext2.patch b/net-wireless/compat-wireless/files/ubnt-wifi-station-ext2.patch deleted file mode 100644 index ba455c98..00000000 --- a/net-wireless/compat-wireless/files/ubnt-wifi-station-ext2.patch +++ /dev/null @@ -1,20 +0,0 @@ -commit 452d7dd816744efb5d0c22c2b038f2ffa5c7ec14 -Author: Sujith Manoharan <Sujith.Manoharan@atheros.com> -Date: Mon Dec 13 07:39:32 2010 +0530 - - ath9k_htc: Add Ubiquiti wifistation ext to supported devices - - Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com> - Signed-off-by: John W. Linville <linville@tuxdriver.com> - -diff -Naur compat-wireless-2.6.37-4-sn-orig/drivers/net/wireless/ath/ath9k/hif_usb.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/ath/ath9k/hif_usb.c ---- compat-wireless-2.6.37-4-sn-orig/drivers/net/wireless/ath/ath9k/hif_usb.c 2011-02-07 21:07:16.000000000 -0500 -+++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/ath/ath9k/hif_usb.c 2011-02-07 21:07:56.000000000 -0500 -@@ -42,6 +42,7 @@ - { USB_DEVICE(0x04CA, 0x4605) }, /* Liteon */ - { USB_DEVICE(0x083A, 0xA704) }, /* SMC Networks */ - { USB_DEVICE(0x040D, 0x3801) }, /* VIA */ -+ { USB_DEVICE(0x0cf3, 0xb003) }, /* Ubiquiti WifiStation Ext */ - { USB_DEVICE(0x1668, 0x1200) }, /* Verizon */ - { }, - }; diff --git a/net-wireless/compat-wireless/files/whynot-2.6.31.patch b/net-wireless/compat-wireless/files/whynot-2.6.31.patch deleted file mode 100644 index e04b6330..00000000 --- a/net-wireless/compat-wireless/files/whynot-2.6.31.patch +++ /dev/null @@ -1,129 +0,0 @@ -diff -Naur compat-wireless-2.6.31-rc4-orig/Makefile compat-wireless-2.6.31-rc4/Makefile ---- compat-wireless-2.6.31-rc4-orig/Makefile 2009-07-22 17:27:26.000000000 -0400 -+++ compat-wireless-2.6.31-rc4/Makefile 2009-07-30 16:35:59.000000000 -0400 -@@ -3,13 +3,9 @@ - ifneq ($(origin $(KLIB)), undefined) - KMODPATH_ARG:= "INSTALL_MOD_PATH=$(KLIB)" - else --export KLIB:= /lib/modules/$(shell uname -r) -+export KLIB:= $(DESTDIR)/lib/modules/$(KVER) - endif - export KLIB_BUILD ?= $(KLIB)/build --# Sometimes not available in the path --MODPROBE := /sbin/modprobe --MADWIFI=$(shell $(MODPROBE) -l ath_pci) --OLD_IWL=$(shell $(MODPROBE) -l iwl4965) - - ifneq ($(KERNELRELEASE),) - -@@ -62,34 +58,19 @@ - $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \ - modules_install - @# All the scripts we can use -- @mkdir -p /usr/lib/compat-wireless/ -- @install scripts/modlib.sh /usr/lib/compat-wireless/ -- @install scripts/madwifi-unload /usr/sbin/ -+ @mkdir -p $(DESTDIR)/usr/lib/compat-wireless/ -+ @install scripts/modlib.sh $(DESTDIR)/usr/lib/compat-wireless/ -+ @mkdir -p $(DESTDIR)/usr/sbin/ -+ @install scripts/madwifi-unload $(DESTDIR)/usr/sbin/ -+ - @# This is to allow switching between drivers without blacklisting -- @install scripts/athenable /usr/sbin/ -- @install scripts/b43enable /usr/sbin/ -- @install scripts/iwl-enable /usr/sbin/ -- @install scripts/athload /usr/sbin/ -- @install scripts/b43load /usr/sbin/ -- @install scripts/iwl-load /usr/sbin/ -- @if [ ! -z $(MADWIFI) ]; then \ -- echo ;\ -- echo -n "Note: madwifi detected, we're going to disable it. " ;\ -- echo "If you would like to enable it later you can run:" ;\ -- echo " sudo athenable madwifi" ;\ -- echo ;\ -- echo Running athenable ath5k...;\ -- /usr/sbin/athenable ath5k ;\ -- fi -- @if [ ! -z $(OLD_IWL) ]; then \ -- echo ;\ -- echo -n "Note: iwl4965 detected, we're going to disable it. " ;\ -- echo "If you would like to enable it later you can run:" ;\ -- echo " sudo iwl-load iwl4965" ;\ -- echo ;\ -- echo Running iwl-enable iwlagn...;\ -- /usr/sbin/iwl-enable iwlagn ;\ -- fi -+ @install scripts/athenable ${DESTDIR}/usr/sbin/ -+ @install scripts/b43enable ${DESTDIR}/usr/sbin/ -+ @install scripts/iwl-enable ${DESTDIR}/usr/sbin/ -+ @install scripts/athload ${DESTDIR}/usr/sbin/ -+ @install scripts/b43load ${DESTDIR}/usr/sbin/ -+ @install scripts/iwl-load ${DESTDIR}/usr/sbin/ -+ - @# If on distributions like Mandriva which like to - @# compress their modules this will find out and do - @# it for you. Reason is some old version of modutils -@@ -100,62 +81,7 @@ - @# the updates/ dir which is what we use so we add one for it - @# (or any other distribution that doens't have this). - @./scripts/check_depmod -- @/sbin/depmod -ae -- @echo -- @echo "Currently detected wireless subsystem modules:" -- @echo -- @$(MODPROBE) -l mac80211 -- @$(MODPROBE) -l cfg80211 -- @$(MODPROBE) -l lib80211 -- @$(MODPROBE) -l adm8211 -- @$(MODPROBE) -l ar9170usb -- @$(MODPROBE) -l at76c50x-usb -- @$(MODPROBE) -l ath -- @$(MODPROBE) -l ath5k -- @$(MODPROBE) -l ath9k -- @$(MODPROBE) -l b43 -- @$(MODPROBE) -l b43legacy -- @$(MODPROBE) -l b44 -- @$(MODPROBE) -l cdc_ether -- @$(MODPROBE) -l eeprom_93cx6 -- @$(MODPROBE) -l ipw2100 -- @$(MODPROBE) -l ipw2200 -- @$(MODPROBE) -l iwl3945 -- @$(MODPROBE) -l iwlagn -- @$(MODPROBE) -l iwlcore -- @$(MODPROBE) -l lib80211_crypt_ccmp -- @$(MODPROBE) -l lib80211_crypt_tkip -- @$(MODPROBE) -l lib80211_crypt_wep -- @$(MODPROBE) -l libertas -- @$(MODPROBE) -l libertas_cs -- @$(MODPROBE) -l libertas_sdio -- @$(MODPROBE) -l libertas_spi -- @$(MODPROBE) -l libertas_tf -- @$(MODPROBE) -l libertas_tf_usb -- @$(MODPROBE) -l libipw -- @$(MODPROBE) -l mac80211_hwsim -- @$(MODPROBE) -l mwl8k -- @$(MODPROBE) -l p54common -- @$(MODPROBE) -l p54pci -- @$(MODPROBE) -l p54spi -- @$(MODPROBE) -l p54usb -- @$(MODPROBE) -l rndis_host -- @$(MODPROBE) -l rndis_wlan -- @$(MODPROBE) -l rt2400pci -- @$(MODPROBE) -l rt2500pci -- @$(MODPROBE) -l rt2500usb -- @$(MODPROBE) -l rt2x00lib -- @$(MODPROBE) -l rt2x00pci -- @$(MODPROBE) -l rt2x00usb -- @$(MODPROBE) -l rt61pci -- @$(MODPROBE) -l rt73usb -- @$(MODPROBE) -l rtl8180 -- @$(MODPROBE) -l rtl8187 -- @$(MODPROBE) -l ssb -- @$(MODPROBE) -l usb8xxx -- @$(MODPROBE) -l usbnet -- @$(MODPROBE) -l zd1211rw -- @echo -+ - @echo Now run: - @echo - @echo make unload diff --git a/net-wireless/compat-wireless/files/whynot-2.6.32.patch b/net-wireless/compat-wireless/files/whynot-2.6.32.patch deleted file mode 100644 index 165e7201..00000000 --- a/net-wireless/compat-wireless/files/whynot-2.6.32.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -Naur compat-wireless-2.6.32-rc1/Makefile compat-wireless-2.6.32-rc1-fixed/Makefile ---- compat-wireless-2.6.32-rc1/Makefile 2009-10-02 19:40:50.000000000 -0400 -+++ compat-wireless-2.6.32-rc1-fixed/Makefile 2009-10-02 22:14:04.000000000 -0400 -@@ -3,13 +3,9 @@ - ifneq ($(origin KLIB), undefined) - KMODPATH_ARG:= "INSTALL_MOD_PATH=$(KLIB)" - else --export KLIB:= /lib/modules/$(shell uname -r) -+export KLIB:= $(DESTDIR)/lib/modules/$(KVER) - endif - export KLIB_BUILD ?= $(KLIB)/build --# Sometimes not available in the path --MODPROBE := /sbin/modprobe --MADWIFI=$(shell $(MODPROBE) -l ath_pci) --OLD_IWL=$(shell $(MODPROBE) -l iwl4965) - - DESTDIR?= - diff --git a/net-wireless/compat-wireless/files/whynot.patch b/net-wireless/compat-wireless/files/whynot.patch deleted file mode 100644 index e932cfdb..00000000 --- a/net-wireless/compat-wireless/files/whynot.patch +++ /dev/null @@ -1,122 +0,0 @@ -diff -Naur compat-wireless-2.6.30-rc6.orig/Makefile compat-wireless-2.6.30-rc6/Makefile ---- compat-wireless-2.6.30-rc6.orig/Makefile 2009-05-17 21:48:36.000000000 +0000 -+++ compat-wireless-2.6.30-rc6/Makefile 2009-05-27 12:21:51.000000000 +0000 -@@ -3,13 +3,10 @@ - ifneq ($(origin $(KLIB)), undefined) - KMODPATH_ARG:= "INSTALL_MOD_PATH=$(KLIB)" - else --export KLIB:= /lib/modules/$(shell uname -r) -+export KLIB:= $(DESTDIR)/lib/modules/$(KVER) - endif - export KLIB_BUILD ?= $(KLIB)/build - # Sometimes not available in the path --MODPROBE := /sbin/modprobe --MADWIFI=$(shell $(MODPROBE) -l ath_pci) --OLD_IWL=$(shell $(MODPROBE) -l iwl4965) - - ifneq ($(KERNELRELEASE),) - -@@ -59,92 +56,26 @@ - @md5sum $(COMPAT_CONFIG) > $(CONFIG_CHECK) - - install: uninstall modules -- $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \ -+ $(MAKE) -C /lib/modules/$(KVER)/build M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \ - modules_install - @# All the scripts we can use -- @mkdir -p /usr/lib/compat-wireless/ -- @install scripts/modlib.sh /usr/lib/compat-wireless/ -- @install scripts/madwifi-unload /usr/sbin/ -+ @mkdir -p $(DESTDIR)/usr/lib/compat-wireless/ -+ @install scripts/modlib.sh $(DESTDIR)/usr/lib/compat-wireless/ -+ @mkdir -p $(DESTDIR)/usr/sbin/ -+ @install scripts/madwifi-unload $(DESTDIR)/usr/sbin/ - @# This is to allow switching between drivers without blacklisting -- @install scripts/athenable /usr/sbin/ -- @install scripts/b43enable /usr/sbin/ -- @install scripts/iwl-enable /usr/sbin/ -- @install scripts/athload /usr/sbin/ -- @install scripts/b43load /usr/sbin/ -- @install scripts/iwl-load /usr/sbin/ -- @if [ ! -z $(MADWIFI) ]; then \ -- echo ;\ -- echo -n "Note: madwifi detected, we're going to disable it. " ;\ -- echo "If you would like to enable it later you can run:" ;\ -- echo " sudo athenable madwifi" ;\ -- echo ;\ -- echo Running athenable ath5k...;\ -- /usr/sbin/athenable ath5k ;\ -- fi -- @if [ ! -z $(OLD_IWL) ]; then \ -- echo ;\ -- echo -n "Note: iwl4965 detected, we're going to disable it. " ;\ -- echo "If you would like to enable it later you can run:" ;\ -- echo " sudo iwl-load iwl4965" ;\ -- echo ;\ -- echo Running iwl-enable iwlagn...;\ -- /usr/sbin/iwl-enable iwlagn ;\ -- fi -+ @install scripts/athenable $(DESTDIR)/usr/sbin/ -+ @install scripts/b43enable $(DESTDIR)/usr/sbin/ -+ @install scripts/iwl-enable $(DESTDIR)/usr/sbin/ -+ @install scripts/athload $(DESTDIR)/usr/sbin/ -+ @install scripts/b43load $(DESTDIR)/usr/sbin/ -+ @install scripts/iwl-load $(DESTDIR)/usr/sbin/ - @# If on distributions like Mandriva which like to - @# compress their modules this will find out and do - @# it for you. Reason is some old version of modutils - @# won't know mac80211.ko should be used instead of - @# mac80211.ko.gz - @./scripts/compress_modules -- @/sbin/depmod -ae -- @echo -- @echo "Currently detected wireless subsystem modules:" -- @echo -- @$(MODPROBE) -l mac80211 -- @$(MODPROBE) -l cfg80211 -- @$(MODPROBE) -l lib80211 -- @$(MODPROBE) -l adm8211 -- @$(MODPROBE) -l at76c50x-usb -- @$(MODPROBE) -l ath5k -- @$(MODPROBE) -l ath9k -- @$(MODPROBE) -l b43 -- @$(MODPROBE) -l b43legacy -- @$(MODPROBE) -l b44 -- @$(MODPROBE) -l ssb -- @$(MODPROBE) -l rc80211_simple -- @$(MODPROBE) -l iwlcore -- @$(MODPROBE) -l iwl3945 -- @$(MODPROBE) -l iwlagn -- @$(MODPROBE) -l ipw2100 -- @$(MODPROBE) -l ipw2200 -- @$(MODPROBE) -l libipw -- @$(MODPROBE) -l lib80211 -- @$(MODPROBE) -l lib80211_crypt -- @$(MODPROBE) -l libertas_cs -- @$(MODPROBE) -l libertas_tf -- @$(MODPROBE) -l libertas_tf_usb -- @$(MODPROBE) -l ub8xxx -- @$(MODPROBE) -l p54pci -- @$(MODPROBE) -l p54usb -- @$(MODPROBE) -l rt2400pci -- @$(MODPROBE) -l rt2500pci -- @$(MODPROBE) -l rt2500usb -- @$(MODPROBE) -l rt61pci -- @$(MODPROBE) -l rt73usb -- @$(MODPROBE) -l usbnet -- @$(MODPROBE) -l cdc_ether -- @$(MODPROBE) -l rndis_host -- @$(MODPROBE) -l rndis_wlan -- @$(MODPROBE) -l rtl8180 -- @$(MODPROBE) -l rtl8187 -- @$(MODPROBE) -l zd1211rw -- @echo -- @echo Now run: -- @echo -- @echo make unload -- @echo -- @echo And then load the wireless module you need. If unsure reboot. -- @echo - - uninstall: - @# New location, matches upstream diff --git a/net-wireless/compat-wireless/files/wl1251-inject-2.6.37.patch b/net-wireless/compat-wireless/files/wl1251-inject-2.6.37.patch deleted file mode 100644 index 14c32047..00000000 --- a/net-wireless/compat-wireless/files/wl1251-inject-2.6.37.patch +++ /dev/null @@ -1,1685 +0,0 @@ -diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/acx.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/acx.c ---- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/acx.c 2011-01-13 02:06:39.000000000 +0100 -+++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/acx.c 2011-08-23 17:07:28.000000000 +0200 -@@ -211,7 +211,7 @@ - return ret; - } - --int wl1251_acx_feature_cfg(struct wl1251 *wl) -+int wl1251_acx_feature_cfg(struct wl1251 *wl, u32 data_flow_options) - { - struct acx_feature_config *feature; - int ret; -@@ -224,8 +224,8 @@ - goto out; - } - -- /* DF_ENCRYPTION_DISABLE and DF_SNIFF_MODE_ENABLE are disabled */ -- feature->data_flow_options = 0; -+ /* DF_ENCRYPTION_DISABLE and DF_SNIFF_MODE_ENABLE can be set */ -+ feature->data_flow_options = data_flow_options; - feature->options = 0; - - ret = wl1251_cmd_configure(wl, ACX_FEATURE_CFG, -@@ -410,7 +410,8 @@ - return ret; - } - --int wl1251_acx_group_address_tbl(struct wl1251 *wl) -+int wl1251_acx_group_address_tbl(struct wl1251 *wl, bool enable, -+ void *mc_list, u32 mc_list_len) - { - struct acx_dot11_grp_addr_tbl *acx; - int ret; -@@ -424,9 +425,9 @@ - } - - /* MAC filtering */ -- acx->enabled = 0; -- acx->num_groups = 0; -- memset(acx->mac_table, 0, ADDRESS_GROUP_MAX_LEN); -+ acx->enabled = enable; -+ acx->num_groups = mc_list_len; -+ memcpy(acx->mac_table, mc_list, mc_list_len * ETH_ALEN); - - ret = wl1251_cmd_configure(wl, DOT11_GROUP_ADDRESS_TBL, - acx, sizeof(*acx)); -@@ -583,7 +584,7 @@ - return ret; - } - --int wl1251_acx_sg_enable(struct wl1251 *wl) -+int wl1251_acx_sg_enable(struct wl1251 *wl, u8 mode) - { - struct acx_bt_wlan_coex *pta; - int ret; -@@ -596,7 +597,7 @@ - goto out; - } - -- pta->enable = SG_ENABLE; -+ pta->enable = mode; - - ret = wl1251_cmd_configure(wl, ACX_SG_ENABLE, pta, sizeof(*pta)); - if (ret < 0) { -@@ -609,7 +610,7 @@ - return ret; - } - --int wl1251_acx_sg_cfg(struct wl1251 *wl) -+int wl1251_acx_sg_cfg(struct wl1251 *wl, u16 wake_up_beacon) - { - struct acx_bt_wlan_coex_param *param; - int ret; -@@ -634,7 +635,7 @@ - param->wlan_cycle_fast = PTA_CYCLE_TIME_FAST_DEF; - param->bt_anti_starvation_period = PTA_ANTI_STARVE_PERIOD_DEF; - param->next_bt_lp_packet = PTA_TIMEOUT_NEXT_BT_LP_PACKET_DEF; -- param->wake_up_beacon = PTA_TIME_BEFORE_BEACON_DEF; -+ param->wake_up_beacon = wake_up_beacon; - param->hp_dm_max_guard_time = PTA_HPDM_MAX_TIME_DEF; - param->next_wlan_packet = PTA_TIME_OUT_NEXT_WLAN_DEF; - param->antenna_type = PTA_ANTENNA_TYPE_DEF; -@@ -663,6 +664,41 @@ - return ret; - } - -+int wl1251_acx_sg_configure(struct wl1251 *wl, bool force) -+{ -+ int ret; -+ -+ if (wl->state == WL1251_STATE_OFF && !force) -+ return 0; -+ -+ switch (wl->bt_coex_mode) { -+ case WL1251_BT_COEX_OFF: -+ ret = wl1251_acx_sg_enable(wl, SG_DISABLE); -+ if (ret) -+ break; -+ ret = wl1251_acx_sg_cfg(wl, 0); -+ break; -+ case WL1251_BT_COEX_ENABLE: -+ ret = wl1251_acx_sg_enable(wl, SG_ENABLE); -+ if (ret) -+ break; -+ ret = wl1251_acx_sg_cfg(wl, PTA_TIME_BEFORE_BEACON_DEF); -+ break; -+ case WL1251_BT_COEX_MONOAUDIO: -+ ret = wl1251_acx_sg_enable(wl, SG_ENABLE); -+ if (ret) -+ break; -+ ret = wl1251_acx_sg_cfg(wl, PTA_TIME_BEFORE_BEACON_MONO_AUDIO); -+ break; -+ default: -+ wl1251_error("Invalid BT co-ex mode!"); -+ ret = -EOPNOTSUPP; -+ break; -+ } -+ -+ return ret; -+} -+ - int wl1251_acx_cca_threshold(struct wl1251 *wl) - { - struct acx_energy_detection *detection; -@@ -776,6 +812,31 @@ - return ret; - } - -+int wl1251_acx_low_rssi(struct wl1251 *wl, s8 threshold, u8 weight, -+ u8 depth, enum wl1251_acx_low_rssi_type type) -+{ -+ struct acx_low_rssi *rssi; -+ int ret; -+ -+ wl1251_debug(DEBUG_ACX, "acx low rssi"); -+ -+ rssi = kzalloc(sizeof(*rssi), GFP_KERNEL); -+ if (!rssi) -+ return -ENOMEM; -+ -+ rssi->threshold = threshold; -+ rssi->weight = weight; -+ rssi->depth = depth; -+ rssi->type = type; -+ -+ ret = wl1251_cmd_configure(wl, ACX_LOW_RSSI, rssi, sizeof(*rssi)); -+ if (ret < 0) -+ wl1251_warning("failed to set low rssi threshold: %d", ret); -+ -+ kfree(rssi); -+ return ret; -+} -+ - int wl1251_acx_set_preamble(struct wl1251 *wl, enum acx_preamble_type preamble) - { - struct acx_preamble *acx; -@@ -886,12 +947,18 @@ - } - - /* configure one default (one-size-fits-all) rate class */ -- acx->rate_class_cnt = 1; -+ acx->rate_class_cnt = 2; - acx->rate_class[0].enabled_rates = ACX_RATE_MASK_UNSPECIFIED; - acx->rate_class[0].short_retry_limit = ACX_RATE_RETRY_LIMIT; - acx->rate_class[0].long_retry_limit = ACX_RATE_RETRY_LIMIT; - acx->rate_class[0].aflags = 0; - -+ /* no-retry rate class */ -+ acx->rate_class[1].enabled_rates = ACX_RATE_MASK_UNSPECIFIED; -+ acx->rate_class[1].short_retry_limit = 0; -+ acx->rate_class[1].long_retry_limit = 0; -+ acx->rate_class[1].aflags = 0; -+ - ret = wl1251_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx)); - if (ret < 0) { - wl1251_warning("Setting of rate policies failed: %d", ret); -@@ -973,6 +1040,65 @@ - goto out; - } - -+out: -+ kfree(acx); -+ return ret; -+} -+ -+int wl1251_acx_bet_enable(struct wl1251 *wl, enum wl1251_acx_bet_mode mode, -+ u8 max_consecutive) -+{ -+ struct wl1251_acx_bet_enable *acx; -+ int ret; -+ -+ wl1251_debug(DEBUG_ACX, "acx bet enable"); -+ -+ acx = kzalloc(sizeof(*acx), GFP_KERNEL); -+ if (!acx) { -+ ret = -ENOMEM; -+ goto out; -+ } -+ -+ acx->enable = mode; -+ acx->max_consecutive = max_consecutive; -+ -+ ret = wl1251_cmd_configure(wl, ACX_BET_ENABLE, acx, sizeof(*acx)); -+ if (ret < 0) { -+ wl1251_warning("wl1251 acx bet enable failed: %d", ret); -+ goto out; -+ } -+ -+out: -+ kfree(acx); -+ return ret; -+} -+ -+int wl1251_acx_arp_ip_filter(struct wl1251 *wl, bool enable, __be32 address) -+{ -+ struct wl1251_acx_arp_filter *acx; -+ int ret; -+ -+ wl1251_debug(DEBUG_ACX, "acx arp ip filter, enable: %d", enable); -+ -+ acx = kzalloc(sizeof(*acx), GFP_KERNEL); -+ if (!acx) { -+ ret = -ENOMEM; -+ goto out; -+ } -+ -+ acx->version = ACX_IPV4_VERSION; -+ acx->enable = enable; -+ -+ if (enable == true) -+ memcpy(acx->address, &address, ACX_IPV4_ADDR_SIZE); -+ -+ ret = wl1251_cmd_configure(wl, ACX_ARP_IP_FILTER, -+ acx, sizeof(*acx)); -+ if (ret < 0) { -+ wl1251_warning("failed to set arp ip filter: %d", ret); -+ goto out; -+ } -+ - out: - kfree(acx); - return ret; -diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/acx.h compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/acx.h ---- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/acx.h 2011-01-13 02:06:39.000000000 +0100 -+++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/acx.h 2011-08-23 17:07:20.000000000 +0200 -@@ -350,8 +350,8 @@ - } __packed; - - --#define ADDRESS_GROUP_MAX (8) --#define ADDRESS_GROUP_MAX_LEN (ETH_ALEN * ADDRESS_GROUP_MAX) -+#define ACX_MC_ADDRESS_GROUP_MAX (8) -+#define ACX_MC_ADDRESS_GROUP_MAX_LEN (ETH_ALEN * ACX_MC_ADDRESS_GROUP_MAX) - - struct acx_dot11_grp_addr_tbl { - struct acx_header header; -@@ -359,7 +359,7 @@ - u8 enabled; - u8 num_groups; - u8 pad[2]; -- u8 mac_table[ADDRESS_GROUP_MAX_LEN]; -+ u8 mac_table[ACX_MC_ADDRESS_GROUP_MAX_LEN]; - } __packed; - - -@@ -399,6 +399,49 @@ - u8 pad[2]; - } __packed; - -+enum wl1251_acx_low_rssi_type { -+ /* -+ * The event is a "Level" indication which keeps triggering -+ * as long as the average RSSI is below the threshold. -+ */ -+ WL1251_ACX_LOW_RSSI_TYPE_LEVEL = 0, -+ -+ /* -+ * The event is an "Edge" indication which triggers -+ * only when the RSSI threshold is crossed from above. -+ */ -+ WL1251_ACX_LOW_RSSI_TYPE_EDGE = 1, -+}; -+ -+struct acx_low_rssi { -+ struct acx_header header; -+ -+ /* -+ * The threshold (in dBm) below (or above after low rssi -+ * indication) which the firmware generates an interrupt to the -+ * host. This parameter is signed. -+ */ -+ s8 threshold; -+ -+ /* -+ * The weight of the current RSSI sample, before adding the new -+ * sample, that is used to calculate the average RSSI. -+ */ -+ u8 weight; -+ -+ /* -+ * The number of Beacons/Probe response frames that will be -+ * received before issuing the Low or Regained RSSI event. -+ */ -+ u8 depth; -+ -+ /* -+ * Configures how the Low RSSI Event is triggered. Refer to -+ * enum wl1251_acx_low_rssi_type for more. -+ */ -+ u8 type; -+} __packed; -+ - struct acx_beacon_filter_option { - struct acx_header header; - -@@ -515,7 +558,8 @@ - #define PTA_ANTI_STARVE_PERIOD_DEF (500) - #define PTA_ANTI_STARVE_NUM_CYCLE_DEF (4) - #define PTA_ALLOW_PA_SD_DEF (1) --#define PTA_TIME_BEFORE_BEACON_DEF (6300) -+#define PTA_TIME_BEFORE_BEACON_DEF (500) -+#define PTA_TIME_BEFORE_BEACON_MONO_AUDIO (6300) - #define PTA_HPDM_MAX_TIME_DEF (1600) - #define PTA_TIME_OUT_NEXT_WLAN_DEF (2550) - #define PTA_AUTO_MODE_NO_CTS_DEF (0) -@@ -1164,6 +1208,45 @@ - u8 padding; - } __packed; - -+enum wl1251_acx_bet_mode { -+ WL1251_ACX_BET_DISABLE = 0, -+ WL1251_ACX_BET_ENABLE = 1, -+}; -+ -+struct wl1251_acx_bet_enable { -+ struct acx_header header; -+ -+ /* -+ * Specifies if beacon early termination procedure is enabled or -+ * disabled, see enum wl1251_acx_bet_mode. -+ */ -+ u8 enable; -+ -+ /* -+ * Specifies the maximum number of consecutive beacons that may be -+ * early terminated. After this number is reached at least one full -+ * beacon must be correctly received in FW before beacon ET -+ * resumes. Range 0 - 255. -+ */ -+ u8 max_consecutive; -+ -+ u8 padding[2]; -+} __attribute__ ((packed)); -+ -+#define ACX_IPV4_VERSION 4 -+#define ACX_IPV6_VERSION 6 -+#define ACX_IPV4_ADDR_SIZE 4 -+struct wl1251_acx_arp_filter { -+ struct acx_header header; -+ u8 version; /* The IP version: 4 - IPv4, 6 - IPv6.*/ -+ u8 enable; /* 1 - ARP filtering is enabled, 0 - disabled */ -+ u8 padding[2]; -+ u8 address[16]; /* The IP address used to filter ARP packets. -+ ARP packets that do not match this address are -+ dropped. When the IP Version is 4, the last 12 -+ bytes of the the address are ignored. */ -+} __attribute__((packed)); -+ - struct wl1251_acx_ac_cfg { - struct acx_header header; - -@@ -1372,7 +1455,7 @@ - int wl1251_acx_sleep_auth(struct wl1251 *wl, u8 sleep_auth); - int wl1251_acx_fw_version(struct wl1251 *wl, char *buf, size_t len); - int wl1251_acx_tx_power(struct wl1251 *wl, int power); --int wl1251_acx_feature_cfg(struct wl1251 *wl); -+int wl1251_acx_feature_cfg(struct wl1251 *wl, u32 data_flow_options); - int wl1251_acx_mem_map(struct wl1251 *wl, - struct acx_header *mem_map, size_t len); - int wl1251_acx_data_path_params(struct wl1251 *wl, -@@ -1381,18 +1464,22 @@ - int wl1251_acx_rx_config(struct wl1251 *wl, u32 config, u32 filter); - int wl1251_acx_pd_threshold(struct wl1251 *wl); - int wl1251_acx_slot(struct wl1251 *wl, enum acx_slot_type slot_time); --int wl1251_acx_group_address_tbl(struct wl1251 *wl); -+int wl1251_acx_group_address_tbl(struct wl1251 *wl, bool enable, -+ void *mc_list, u32 mc_list_len); - int wl1251_acx_service_period_timeout(struct wl1251 *wl); - int wl1251_acx_rts_threshold(struct wl1251 *wl, u16 rts_threshold); - int wl1251_acx_beacon_filter_opt(struct wl1251 *wl, bool enable_filter); - int wl1251_acx_beacon_filter_table(struct wl1251 *wl); - int wl1251_acx_conn_monit_params(struct wl1251 *wl); --int wl1251_acx_sg_enable(struct wl1251 *wl); --int wl1251_acx_sg_cfg(struct wl1251 *wl); -+int wl1251_acx_sg_enable(struct wl1251 *wl, u8 mode); -+int wl1251_acx_sg_cfg(struct wl1251 *wl, u16 wake_up_beacon); -+int wl1251_acx_sg_configure(struct wl1251 *wl, bool force); - int wl1251_acx_cca_threshold(struct wl1251 *wl); - int wl1251_acx_bcn_dtim_options(struct wl1251 *wl); - int wl1251_acx_aid(struct wl1251 *wl, u16 aid); - int wl1251_acx_event_mbox_mask(struct wl1251 *wl, u32 event_mask); -+int wl1251_acx_low_rssi(struct wl1251 *wl, s8 threshold, u8 weight, -+ u8 depth, enum wl1251_acx_low_rssi_type type); - int wl1251_acx_set_preamble(struct wl1251 *wl, enum acx_preamble_type preamble); - int wl1251_acx_cts_protect(struct wl1251 *wl, - enum acx_ctsprotect_type ctsprotect); -@@ -1401,6 +1488,9 @@ - int wl1251_acx_rate_policies(struct wl1251 *wl); - int wl1251_acx_mem_cfg(struct wl1251 *wl); - int wl1251_acx_wr_tbtt_and_dtim(struct wl1251 *wl, u16 tbtt, u8 dtim); -+int wl1251_acx_bet_enable(struct wl1251 *wl, enum wl1251_acx_bet_mode mode, -+ u8 max_consecutive); -+int wl1251_acx_arp_ip_filter(struct wl1251 *wl, bool enable, __be32 address); - int wl1251_acx_ac_cfg(struct wl1251 *wl, u8 ac, u8 cw_min, u16 cw_max, - u8 aifs, u16 txop); - int wl1251_acx_tid_cfg(struct wl1251 *wl, u8 queue, -diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/cmd.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/cmd.c ---- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/cmd.c 2011-01-13 02:06:39.000000000 +0100 -+++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/cmd.c 2011-08-23 17:30:45.000000000 +0200 -@@ -3,6 +3,7 @@ - #include <linux/module.h> - #include <linux/slab.h> - #include <linux/crc7.h> -+#include <linux/etherdevice.h> - - #include "wl1251.h" - #include "reg.h" -@@ -203,11 +204,11 @@ - return ret; - } - --int wl1251_cmd_data_path(struct wl1251 *wl, u8 channel, bool enable) -+int wl1251_cmd_data_path_rx(struct wl1251 *wl, u8 channel, bool enable) - { - struct cmd_enabledisable_path *cmd; - int ret; -- u16 cmd_rx, cmd_tx; -+ u16 cmd_rx; - - wl1251_debug(DEBUG_CMD, "cmd data path"); - -@@ -219,13 +220,10 @@ - - cmd->channel = channel; - -- if (enable) { -+ if (enable) - cmd_rx = CMD_ENABLE_RX; -- cmd_tx = CMD_ENABLE_TX; -- } else { -+ else - cmd_rx = CMD_DISABLE_RX; -- cmd_tx = CMD_DISABLE_TX; -- } - - ret = wl1251_cmd_send(wl, cmd_rx, cmd, sizeof(*cmd)); - if (ret < 0) { -@@ -237,6 +235,32 @@ - wl1251_debug(DEBUG_BOOT, "rx %s cmd channel %d", - enable ? "start" : "stop", channel); - -+out: -+ kfree(cmd); -+ return ret; -+} -+ -+int wl1251_cmd_data_path_tx(struct wl1251 *wl, u8 channel, bool enable) -+{ -+ struct cmd_enabledisable_path *cmd; -+ int ret; -+ u16 cmd_tx; -+ -+ wl1251_debug(DEBUG_CMD, "cmd data path"); -+ -+ cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); -+ if (!cmd) { -+ ret = -ENOMEM; -+ goto out; -+ } -+ -+ cmd->channel = channel; -+ -+ if (enable) -+ cmd_tx = CMD_ENABLE_TX; -+ else -+ cmd_tx = CMD_DISABLE_TX; -+ - ret = wl1251_cmd_send(wl, cmd_tx, cmd, sizeof(*cmd)); - if (ret < 0) { - wl1251_error("tx %s cmd for channel %d failed", -@@ -277,15 +301,6 @@ - join->rx_config_options = wl->rx_config; - join->rx_filter_options = wl->rx_filter; - -- /* -- * FIXME: disable temporarily all filters because after commit -- * 9cef8737 "mac80211: fix managed mode BSSID handling" broke -- * association. The filter logic needs to be implemented properly -- * and once that is done, this hack can be removed. -- */ -- join->rx_config_options = 0; -- join->rx_filter_options = WL1251_DEFAULT_RX_FILTER; -- - join->basic_rate_set = RATE_MASK_1MBPS | RATE_MASK_2MBPS | - RATE_MASK_5_5MBPS | RATE_MASK_11MBPS; - -@@ -419,7 +434,10 @@ - struct wl1251_cmd_scan *cmd; - int i, ret = 0; - -- wl1251_debug(DEBUG_CMD, "cmd scan"); -+ wl1251_debug(DEBUG_CMD, "cmd scan channels %d ssid(%d) '%s'", -+ n_channels, ssid_len, ssid); -+ -+ WARN_ON(n_channels > SCAN_MAX_NUM_OF_CHANNELS); - - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); - if (!cmd) -@@ -430,6 +448,11 @@ - CFG_RX_MGMT_EN | - CFG_RX_BCN_EN); - cmd->params.scan_options = 0; -+ /* Use high priority scan when not associated to prevent fw issue -+ * causing never-ending scans (sometimes 20+ minutes). -+ * Note: This bug may be caused by the fw's DTIM handling. */ -+ if (is_zero_ether_addr(wl->bssid)) -+ cmd->params.scan_options |= WL1251_SCAN_OPT_PRIORITY_HIGH; - cmd->params.num_channels = n_channels; - cmd->params.num_probe_requests = n_probes; - cmd->params.tx_rate = cpu_to_le16(1 << 1); /* 2 Mbps */ -diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/cmd.h compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/cmd.h ---- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/cmd.h 2011-01-13 02:06:39.000000000 +0100 -+++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/cmd.h 2011-08-23 17:07:12.000000000 +0200 -@@ -35,7 +35,8 @@ - int wl1251_cmd_configure(struct wl1251 *wl, u16 id, void *buf, size_t len); - int wl1251_cmd_vbm(struct wl1251 *wl, u8 identity, - void *bitmap, u16 bitmap_len, u8 bitmap_control); --int wl1251_cmd_data_path(struct wl1251 *wl, u8 channel, bool enable); -+int wl1251_cmd_data_path_rx(struct wl1251 *wl, u8 channel, bool enable); -+int wl1251_cmd_data_path_tx(struct wl1251 *wl, u8 channel, bool enable); - int wl1251_cmd_join(struct wl1251 *wl, u8 bss_type, u8 channel, - u16 beacon_interval, u8 dtim_interval); - int wl1251_cmd_ps_mode(struct wl1251 *wl, u8 ps_mode); -@@ -167,6 +168,11 @@ - #define CMDMBOX_HEADER_LEN 4 - #define CMDMBOX_INFO_ELEM_HEADER_LEN 4 - -+#define WL1251_SCAN_OPT_PASSIVE 1 -+#define WL1251_SCAN_OPT_5GHZ_BAND 2 -+#define WL1251_SCAN_OPT_TRIGGERD_SCAN 4 -+#define WL1251_SCAN_OPT_PRIORITY_HIGH 8 -+ - #define WL1251_SCAN_MIN_DURATION 30000 - #define WL1251_SCAN_MAX_DURATION 60000 - -diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/event.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/event.c ---- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/event.c 2011-01-13 02:06:39.000000000 +0100 -+++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/event.c 2011-08-23 17:07:05.000000000 +0200 -@@ -42,6 +42,43 @@ - return 0; - } - -+#define WL1251_PSM_ENTRY_RETRIES 3 -+static int wl1251_event_ps_report(struct wl1251 *wl, -+ struct event_mailbox *mbox) -+{ -+ int ret = 0; -+ -+ wl1251_debug(DEBUG_EVENT, "ps status: %x", mbox->ps_status); -+ -+ switch (mbox->ps_status) { -+ case EVENT_ENTER_POWER_SAVE_FAIL: -+ wl1251_debug(DEBUG_PSM, "PSM entry failed"); -+ -+ if (!wl->psm) { -+ /* remain in active mode */ -+ wl->psm_entry_retry = 0; -+ break; -+ } -+ -+ if (wl->psm_entry_retry < WL1251_PSM_ENTRY_RETRIES) { -+ wl->psm_entry_retry++; -+ ret = wl1251_ps_set_mode(wl, STATION_POWER_SAVE_MODE); -+ } else { -+ wl1251_error("Power save entry failed, giving up"); -+ wl->psm_entry_retry = 0; -+ } -+ break; -+ case EVENT_ENTER_POWER_SAVE_SUCCESS: -+ case EVENT_EXIT_POWER_SAVE_FAIL: -+ case EVENT_EXIT_POWER_SAVE_SUCCESS: -+ default: -+ wl->psm_entry_retry = 0; -+ break; -+ } -+ -+ return 0; -+} -+ - static void wl1251_event_mbox_dump(struct event_mailbox *mbox) - { - wl1251_debug(DEBUG_EVENT, "MBOX DUMP:"); -@@ -75,6 +112,13 @@ - } - } - -+ if (vector & PS_REPORT_EVENT_ID) { -+ wl1251_debug(DEBUG_EVENT, "PS_REPORT_EVENT"); -+ ret = wl1251_event_ps_report(wl, mbox); -+ if (ret < 0) -+ return ret; -+ } -+ - if (vector & SYNCHRONIZATION_TIMEOUT_EVENT_ID && wl->psm) { - wl1251_debug(DEBUG_EVENT, "SYNCHRONIZATION_TIMEOUT_EVENT"); - -@@ -90,6 +134,24 @@ - } - } - -+ if (wl->vif && wl->rssi_thold) { -+ if (vector & ROAMING_TRIGGER_LOW_RSSI_EVENT_ID) { -+ wl1251_debug(DEBUG_EVENT, -+ "ROAMING_TRIGGER_LOW_RSSI_EVENT"); -+ ieee80211_cqm_rssi_notify(wl->vif, -+ NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW, -+ GFP_KERNEL); -+ } -+ -+ if (vector & ROAMING_TRIGGER_REGAINED_RSSI_EVENT_ID) { -+ wl1251_debug(DEBUG_EVENT, -+ "ROAMING_TRIGGER_REGAINED_RSSI_EVENT"); -+ ieee80211_cqm_rssi_notify(wl->vif, -+ NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH, -+ GFP_KERNEL); -+ } -+ } -+ - return 0; - } - -diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/event.h compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/event.h ---- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/event.h 2011-01-13 02:06:39.000000000 +0100 -+++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/event.h 2011-08-23 17:07:01.000000000 +0200 -@@ -112,6 +112,13 @@ - u8 padding[19]; - } __packed; - -+enum { -+ EVENT_ENTER_POWER_SAVE_FAIL = 0, -+ EVENT_ENTER_POWER_SAVE_SUCCESS, -+ EVENT_EXIT_POWER_SAVE_FAIL, -+ EVENT_EXIT_POWER_SAVE_SUCCESS, -+}; -+ - int wl1251_event_unmask(struct wl1251 *wl); - void wl1251_event_mbox_config(struct wl1251 *wl); - int wl1251_event_handle(struct wl1251 *wl, u8 mbox); -diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/init.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/init.c ---- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/init.c 2011-01-13 02:06:39.000000000 +0100 -+++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/init.c 2011-08-23 17:07:20.000000000 +0200 -@@ -33,7 +33,7 @@ - { - int ret; - -- ret = wl1251_acx_feature_cfg(wl); -+ ret = wl1251_acx_feature_cfg(wl, 0); - if (ret < 0) { - wl1251_warning("couldn't set feature config"); - return ret; -@@ -127,7 +127,7 @@ - if (ret < 0) - return ret; - -- ret = wl1251_acx_group_address_tbl(wl); -+ ret = wl1251_acx_group_address_tbl(wl, true, NULL, 0); - if (ret < 0) - return ret; - -@@ -162,11 +162,7 @@ - { - int ret; - -- ret = wl1251_acx_sg_enable(wl); -- if (ret < 0) -- return ret; -- -- ret = wl1251_acx_sg_cfg(wl); -+ ret = wl1251_acx_sg_configure(wl, true); - if (ret < 0) - return ret; - -@@ -394,8 +390,13 @@ - if (ret < 0) - goto out_free_data_path; - -- /* Enable data path */ -- ret = wl1251_cmd_data_path(wl, wl->channel, 1); -+ /* Enable rx data path */ -+ ret = wl1251_cmd_data_path_rx(wl, wl->channel, 1); -+ if (ret < 0) -+ goto out_free_data_path; -+ -+ /* Enable tx data path */ -+ ret = wl1251_cmd_data_path_tx(wl, wl->channel, 1); - if (ret < 0) - goto out_free_data_path; - -diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/main.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/main.c ---- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/main.c 2011-01-13 02:06:41.000000000 +0100 -+++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/main.c 2011-08-23 17:07:29.000000000 +0200 -@@ -30,7 +30,9 @@ - #include <linux/crc32.h> - #include <linux/etherdevice.h> - #include <linux/vmalloc.h> -+#include <linux/platform_device.h> - #include <linux/slab.h> -+#include <linux/netdevice.h> - - #include "wl1251.h" - #include "wl12xx_80211.h" -@@ -348,33 +350,6 @@ - return ret; - } - --static void wl1251_filter_work(struct work_struct *work) --{ -- struct wl1251 *wl = -- container_of(work, struct wl1251, filter_work); -- int ret; -- -- mutex_lock(&wl->mutex); -- -- if (wl->state == WL1251_STATE_OFF) -- goto out; -- -- ret = wl1251_ps_elp_wakeup(wl); -- if (ret < 0) -- goto out; -- -- ret = wl1251_join(wl, wl->bss_type, wl->channel, wl->beacon_int, -- wl->dtim_period); -- if (ret < 0) -- goto out_sleep; -- --out_sleep: -- wl1251_ps_elp_sleep(wl); -- --out: -- mutex_unlock(&wl->mutex); --} -- - static int wl1251_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) - { - struct wl1251 *wl = hw->priv; -@@ -480,7 +455,6 @@ - - cancel_work_sync(&wl->irq_work); - cancel_work_sync(&wl->tx_work); -- cancel_work_sync(&wl->filter_work); - - mutex_lock(&wl->mutex); - -@@ -500,9 +474,13 @@ - wl->next_tx_complete = 0; - wl->elp = false; - wl->psm = 0; -+ wl->psm_entry_retry = 0; - wl->tx_queue_stopped = false; - wl->power_level = WL1251_DEFAULT_POWER_LEVEL; -+ wl->rssi_thold = 0; - wl->channel = WL1251_DEFAULT_CHANNEL; -+ wl->monitor_present = false; -+ wl->joined = false; - - wl1251_debugfs_reset(wl); - -@@ -559,6 +537,7 @@ - mutex_lock(&wl->mutex); - wl1251_debug(DEBUG_MAC80211, "mac80211 remove interface"); - wl->vif = NULL; -+ memset(wl->bssid, 0, ETH_ALEN); - mutex_unlock(&wl->mutex); - } - -@@ -591,8 +570,10 @@ - - channel = ieee80211_frequency_to_channel(conf->channel->center_freq); - -- wl1251_debug(DEBUG_MAC80211, "mac80211 config ch %d psm %s power %d", -+ wl1251_debug(DEBUG_MAC80211, -+ "mac80211 config ch %d monitor %s psm %s power %d", - channel, -+ conf->flags & IEEE80211_CONF_MONITOR ? "on" : "off", - conf->flags & IEEE80211_CONF_PS ? "on" : "off", - conf->power_level); - -@@ -602,16 +583,55 @@ - if (ret < 0) - goto out; - -+ if (changed & IEEE80211_CONF_CHANGE_MONITOR) { -+ u32 mode; -+ -+ if (conf->flags & IEEE80211_CONF_MONITOR) { -+ wl->monitor_present = true; -+ mode = DF_SNIFF_MODE_ENABLE | DF_ENCRYPTION_DISABLE; -+ } else { -+ wl->monitor_present = false; -+ mode = 0; -+ } -+ -+ ret = wl1251_acx_feature_cfg(wl, mode); -+ if (ret < 0) -+ goto out_sleep; -+ -+ if (wl->monitor_present) -+ wl->rx_config |= CFG_RX_ALL_GOOD; -+ else -+ wl->rx_config &= ~CFG_RX_ALL_GOOD; -+ -+ /* update filters immediately */ -+ ret = wl1251_acx_rx_config(wl, wl->rx_config, wl->rx_filter); -+ if (ret < 0) -+ goto out_sleep; -+ } -+ - if (channel != wl->channel) { - wl->channel = channel; - -- ret = wl1251_join(wl, wl->bss_type, wl->channel, -- wl->beacon_int, wl->dtim_period); -+ /* -+ * Use ENABLE_RX command for channel switching when no -+ * interface is present (monitor mode only). -+ * This leaves the tx path disabled in firmware, whereas -+ * the usual JOIN command seems to transmit some frames -+ * at firmware level. -+ */ -+ if (wl->vif == NULL) { -+ wl->joined = false; -+ ret = wl1251_cmd_data_path_rx(wl, wl->channel, 1); -+ } else { -+ ret = wl1251_join(wl, wl->bss_type, wl->channel, -+ wl->beacon_int, wl->dtim_period); -+ } - if (ret < 0) - goto out_sleep; - } - -- if (conf->flags & IEEE80211_CONF_PS && !wl->psm_requested) { -+ if (conf->flags & IEEE80211_CONF_PS && !wl->psm_requested && -+ !wl->monitor_present) { - wl1251_debug(DEBUG_PSM, "psm enabled"); - - wl->psm_requested = true; -@@ -627,8 +647,8 @@ - ret = wl1251_ps_set_mode(wl, STATION_POWER_SAVE_MODE); - if (ret < 0) - goto out_sleep; -- } else if (!(conf->flags & IEEE80211_CONF_PS) && -- wl->psm_requested) { -+ } else if ((!(conf->flags & IEEE80211_CONF_PS) || wl->monitor_present) -+ && wl->psm_requested) { - wl1251_debug(DEBUG_PSM, "psm disabled"); - - wl->psm_requested = false; -@@ -648,6 +668,16 @@ - wl->power_level = conf->power_level; - } - -+ /* -+ * Tell stack that connection is lost because hw encryption isn't -+ * supported in monitor mode. -+ * XXX This requires temporary enabling the hw connection monitor flag -+ */ -+ if ((changed & IEEE80211_CONF_CHANGE_MONITOR) && wl->vif) { -+ wl->hw->flags |= IEEE80211_HW_CONNECTION_MONITOR; -+ ieee80211_connection_loss(wl->vif); -+ } -+ - out_sleep: - wl1251_ps_elp_sleep(wl); - -@@ -657,6 +687,44 @@ - return ret; - } - -+struct wl1251_filter_params { -+ bool enabled; -+ int mc_list_length; -+ u8 mc_list[ACX_MC_ADDRESS_GROUP_MAX][ETH_ALEN]; -+}; -+ -+static u64 wl1251_op_prepare_multicast(struct ieee80211_hw *hw, -+ struct netdev_hw_addr_list *mc_list) -+{ -+ struct wl1251_filter_params *fp; -+ struct netdev_hw_addr *ha; -+ struct wl1251 *wl = hw->priv; -+ -+ if (unlikely(wl->state == WL1251_STATE_OFF)) -+ return 0; -+ -+ fp = kzalloc(sizeof(*fp), GFP_ATOMIC); -+ if (!fp) { -+ wl1251_error("Out of memory setting filters."); -+ return 0; -+ } -+ -+ /* update multicast filtering parameters */ -+ fp->mc_list_length = 0; -+ if (netdev_hw_addr_list_count(mc_list) > ACX_MC_ADDRESS_GROUP_MAX) { -+ fp->enabled = false; -+ } else { -+ fp->enabled = true; -+ netdev_hw_addr_list_for_each(ha, mc_list) { -+ memcpy(fp->mc_list[fp->mc_list_length], -+ ha->addr, ETH_ALEN); -+ fp->mc_list_length++; -+ } -+ } -+ -+ return (u64)(unsigned long)fp; -+} -+ - #define WL1251_SUPPORTED_FILTERS (FIF_PROMISC_IN_BSS | \ - FIF_ALLMULTI | \ - FIF_FCSFAIL | \ -@@ -666,27 +734,47 @@ - - static void wl1251_op_configure_filter(struct ieee80211_hw *hw, - unsigned int changed, -- unsigned int *total,u64 multicast) -+ unsigned int *total, u64 multicast) - { -+ struct wl1251_filter_params *fp = (void *)(unsigned long)multicast; - struct wl1251 *wl = hw->priv; -+ int ret; - - wl1251_debug(DEBUG_MAC80211, "mac80211 configure filter"); - - *total &= WL1251_SUPPORTED_FILTERS; - changed &= WL1251_SUPPORTED_FILTERS; - -+ mutex_lock(&wl->mutex); -+ -+ if (unlikely(wl->state == WL1251_STATE_OFF)) -+ goto out; -+ -+ ret = wl1251_ps_elp_wakeup(wl); -+ if (ret < 0) -+ goto out; -+ -+ if (*total & FIF_ALLMULTI || *total & FIF_PROMISC_IN_BSS) -+ ret = wl1251_acx_group_address_tbl(wl, false, NULL, 0); -+ else if (fp) -+ ret = wl1251_acx_group_address_tbl(wl, fp->enabled, -+ fp->mc_list, -+ fp->mc_list_length); -+ if (ret < 0) -+ goto out_sleep; -+ - if (changed == 0) - /* no filters which we support changed */ -- return; -- -- /* FIXME: wl->rx_config and wl->rx_filter are not protected */ -+ goto out_sleep; - - wl->rx_config = WL1251_DEFAULT_RX_CONFIG; - wl->rx_filter = WL1251_DEFAULT_RX_FILTER; - -- if (*total & FIF_PROMISC_IN_BSS) { -+ if (!is_zero_ether_addr(wl->bssid)) - wl->rx_config |= CFG_BSSID_FILTER_EN; -- wl->rx_config |= CFG_RX_ALL_GOOD; -+ if (*total & FIF_PROMISC_IN_BSS) { -+ wl->rx_config &= ~CFG_UNI_FILTER_EN; -+ wl->rx_config &= ~CFG_MC_FILTER_EN; - } - if (*total & FIF_ALLMULTI) - /* -@@ -702,15 +790,28 @@ - } - if (*total & FIF_CONTROL) - wl->rx_filter |= CFG_RX_CTL_EN; -- if (*total & FIF_OTHER_BSS) -- wl->rx_filter &= ~CFG_BSSID_FILTER_EN; -+ if (*total & FIF_OTHER_BSS) { -+ wl->rx_config &= ~CFG_BSSID_FILTER_EN; -+ wl->rx_config &= ~CFG_SSID_FILTER_EN; -+ } -+ if (wl->monitor_present) -+ wl->rx_config |= CFG_RX_ALL_GOOD; - -- /* -- * FIXME: workqueues need to be properly cancelled on stop(), for -- * now let's just disable changing the filter settings. They will -- * be updated any on config(). -- */ -- /* schedule_work(&wl->filter_work); */ -+ wl1251_debug(DEBUG_MAC80211, "mac80211 filter total 0x%02x" -+ " changed 0x%02x rx_config 0x%02x rx_filter 0x%02x", -+ *total, changed, wl->rx_config, wl->rx_filter); -+ -+ /* apply configured filters */ -+ ret = wl1251_acx_rx_config(wl, wl->rx_config, wl->rx_filter); -+ if (ret < 0) -+ goto out_sleep; -+ -+out_sleep: -+ wl1251_ps_elp_sleep(wl); -+ -+out: -+ mutex_unlock(&wl->mutex); -+ kfree(fp); - } - - /* HW encryption */ -@@ -790,12 +891,12 @@ - - mutex_lock(&wl->mutex); - -- ret = wl1251_ps_elp_wakeup(wl); -- if (ret < 0) -- goto out_unlock; -- - switch (cmd) { - case SET_KEY: -+ if (wl->monitor_present) { -+ ret = -EOPNOTSUPP; -+ goto out_unlock; -+ } - wl_cmd->key_action = KEY_ADD_OR_REPLACE; - break; - case DISABLE_KEY: -@@ -806,6 +907,10 @@ - break; - } - -+ ret = wl1251_ps_elp_wakeup(wl); -+ if (ret < 0) -+ goto out_unlock; -+ - ret = wl1251_set_key_type(wl, wl_cmd, cmd, key, addr); - if (ret < 0) { - wl1251_error("Set KEY type failed"); -@@ -906,6 +1011,7 @@ - ret = wl1251_cmd_scan(wl, ssid, ssid_len, req->channels, - req->n_channels, WL1251_SCAN_NUM_PROBES); - if (ret < 0) { -+ wl1251_debug(DEBUG_SCAN, "scan failed %d", ret); - wl->scanning = false; - goto out_sleep; - } -@@ -959,9 +1065,24 @@ - if (ret < 0) - goto out; - -+ if (changed & BSS_CHANGED_CQM) { -+ ret = wl1251_acx_low_rssi(wl, bss_conf->cqm_rssi_thold, -+ WL1251_DEFAULT_LOW_RSSI_WEIGHT, -+ WL1251_DEFAULT_LOW_RSSI_DEPTH, -+ WL1251_ACX_LOW_RSSI_TYPE_EDGE); -+ if (ret < 0) -+ goto out; -+ wl->rssi_thold = bss_conf->cqm_rssi_thold; -+ } -+ - if (changed & BSS_CHANGED_BSSID) { - memcpy(wl->bssid, bss_conf->bssid, ETH_ALEN); - -+ if (is_zero_ether_addr(wl->bssid)) -+ wl->rx_config &= ~CFG_BSSID_FILTER_EN; -+ else -+ wl->rx_config |= CFG_BSSID_FILTER_EN; -+ - skb = ieee80211_nullfunc_get(wl->hw, wl->vif); - if (!skb) - goto out_sleep; -@@ -985,6 +1106,9 @@ - } - - if (changed & BSS_CHANGED_ASSOC) { -+ /* XXX Disable temporary enabled hw connection monitor flag */ -+ wl->hw->flags &= ~IEEE80211_HW_CONNECTION_MONITOR; -+ - if (bss_conf->assoc) { - wl->beacon_int = bss_conf->beacon_int; - -@@ -1037,6 +1161,19 @@ - } - } - -+ if (changed & BSS_CHANGED_ARP_FILTER) { -+ __be32 addr = bss_conf->arp_addr_list[0]; -+ WARN_ON(wl->bss_type != BSS_TYPE_STA_BSS); -+ -+ if (bss_conf->arp_addr_cnt == 1 && bss_conf->arp_filter_enabled) -+ ret = wl1251_acx_arp_ip_filter(wl, true, addr); -+ else -+ ret = wl1251_acx_arp_ip_filter(wl, false, addr); -+ -+ if (ret < 0) -+ goto out_sleep; -+ } -+ - if (changed & BSS_CHANGED_BEACON) { - beacon = ieee80211_beacon_get(hw, vif); - ret = wl1251_cmd_template_set(wl, CMD_BEACON, beacon->data, -@@ -1203,6 +1340,7 @@ - .add_interface = wl1251_op_add_interface, - .remove_interface = wl1251_op_remove_interface, - .config = wl1251_op_config, -+ .prepare_multicast = wl1251_op_prepare_multicast, - .configure_filter = wl1251_op_configure_filter, - .tx = wl1251_op_tx, - .set_key = wl1251_op_set_key, -@@ -1213,6 +1351,94 @@ - .get_survey = wl1251_op_get_survey, - }; - -+static ssize_t wl1251_sysfs_show_bt_coex_mode(struct device *dev, -+ struct device_attribute *attr, -+ char *buf) -+{ -+ struct wl1251 *wl = dev_get_drvdata(dev); -+ ssize_t len; -+ -+ /* FIXME: what's the maximum length of buf? page size?*/ -+ len = 500; -+ -+ mutex_lock(&wl->mutex); -+ len = snprintf(buf, len, "%d\n\n%d - off\n%d - on\n%d - monoaudio\n", -+ wl->bt_coex_mode, -+ WL1251_BT_COEX_OFF, -+ WL1251_BT_COEX_ENABLE, -+ WL1251_BT_COEX_MONOAUDIO); -+ mutex_unlock(&wl->mutex); -+ -+ return len; -+ -+} -+ -+static ssize_t wl1251_sysfs_store_bt_coex_mode(struct device *dev, -+ struct device_attribute *attr, -+ const char *buf, size_t count) -+{ -+ struct wl1251 *wl = dev_get_drvdata(dev); -+ unsigned long res; -+ int ret; -+ -+ ret = strict_strtoul(buf, 10, &res); -+ -+ if (ret < 0) { -+ wl1251_warning("incorrect value written to bt_coex_mode"); -+ return count; -+ } -+ -+ mutex_lock(&wl->mutex); -+ -+ if (res == wl->bt_coex_mode) -+ goto out; -+ -+ switch (res) { -+ case WL1251_BT_COEX_OFF: -+ case WL1251_BT_COEX_ENABLE: -+ case WL1251_BT_COEX_MONOAUDIO: -+ wl->bt_coex_mode = res; -+ break; -+ default: -+ wl1251_warning("incorrect value written to bt_coex_mode"); -+ goto out; -+ } -+ -+ if (wl->state == WL1251_STATE_OFF) -+ goto out; -+ -+ ret = wl1251_ps_elp_wakeup(wl); -+ if (ret < 0) -+ goto out; -+ -+ wl1251_acx_sg_configure(wl, false); -+ wl1251_ps_elp_sleep(wl); -+ -+out: -+ mutex_unlock(&wl->mutex); -+ return count; -+} -+ -+static DEVICE_ATTR(bt_coex_mode, S_IRUGO | S_IWUSR, -+ wl1251_sysfs_show_bt_coex_mode, -+ wl1251_sysfs_store_bt_coex_mode); -+ -+static void wl1251_device_release(struct device *dev) -+{ -+ -+} -+ -+static struct platform_device wl1251_device = { -+ /* FIXME: use wl12xx name to not break the user space */ -+ .name = "wl12xx", -+ .id = -1, -+ -+ /* device model insists to have a release function */ -+ .dev = { -+ .release = wl1251_device_release, -+ }, -+}; -+ - static int wl1251_read_eeprom_byte(struct wl1251 *wl, off_t offset, u8 *data) - { - unsigned long timeout; -@@ -1310,9 +1536,11 @@ - wl->hw->flags = IEEE80211_HW_SIGNAL_DBM | - IEEE80211_HW_SUPPORTS_PS | - IEEE80211_HW_BEACON_FILTER | -- IEEE80211_HW_SUPPORTS_UAPSD; -+ IEEE80211_HW_SUPPORTS_UAPSD | -+ IEEE80211_HW_SUPPORTS_CQM_RSSI; - -- wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION); -+ wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | -+ BIT(NL80211_IFTYPE_ADHOC); - wl->hw->wiphy->max_scan_ssids = 1; - wl->hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &wl1251_band_2ghz; - -@@ -1325,6 +1553,22 @@ - if (ret) - goto out; - -+ /* Register platform device */ -+ ret = platform_device_register(&wl1251_device); -+ if (ret) { -+ wl1251_error("couldn't register platform device"); -+ goto out; -+ } -+ dev_set_drvdata(&wl1251_device.dev, wl); -+ -+ -+ /* Create sysfs file to control bt coex state */ -+ ret = device_create_file(&wl1251_device.dev, &dev_attr_bt_coex_mode); -+ if (ret < 0) { -+ wl1251_error("failed to create sysfs file bt_coex_mode"); -+ goto out; -+ } -+ - wl1251_debugfs_init(wl); - wl1251_notice("initialized"); - -@@ -1357,10 +1601,12 @@ - - skb_queue_head_init(&wl->tx_queue); - -- INIT_WORK(&wl->filter_work, wl1251_filter_work); - INIT_DELAYED_WORK(&wl->elp_work, wl1251_elp_work); - wl->channel = WL1251_DEFAULT_CHANNEL; -+ wl->monitor_present = false; -+ wl->joined = false; - wl->scanning = false; -+ wl->bss_type = MAX_BSS_TYPE; - wl->default_key = 0; - wl->listen_int = 1; - wl->rx_counter = 0; -@@ -1372,11 +1618,14 @@ - wl->elp = false; - wl->psm = 0; - wl->psm_requested = false; -+ wl->psm_entry_retry = 0; - wl->tx_queue_stopped = false; - wl->power_level = WL1251_DEFAULT_POWER_LEVEL; -+ wl->rssi_thold = 0; - wl->beacon_int = WL1251_DEFAULT_BEACON_INT; - wl->dtim_period = WL1251_DEFAULT_DTIM_PERIOD; - wl->vif = NULL; -+ wl->bt_coex_mode = WL1251_BT_COEX_OFF; - - for (i = 0; i < FW_TX_CMPLT_BLOCK_SIZE; i++) - wl->tx_frames[i] = NULL; -@@ -1416,6 +1665,8 @@ - - wl1251_debugfs_exit(wl); - -+ platform_device_unregister(&wl1251_device); -+ - kfree(wl->target_mem_map); - kfree(wl->data_path); - vfree(wl->fw); -diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/ps.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/ps.c ---- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/ps.c 2011-01-13 02:06:39.000000000 +0100 -+++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/ps.c 2011-08-23 17:07:03.000000000 +0200 -@@ -153,6 +153,11 @@ - if (ret < 0) - return ret; - -+ ret = wl1251_acx_bet_enable(wl, WL1251_ACX_BET_ENABLE, -+ WL1251_DEFAULT_BET_CONSECUTIVE); -+ if (ret < 0) -+ return ret; -+ - ret = wl1251_cmd_ps_mode(wl, STATION_POWER_SAVE_MODE); - if (ret < 0) - return ret; -@@ -170,6 +175,12 @@ - if (ret < 0) - return ret; - -+ /* disable BET */ -+ ret = wl1251_acx_bet_enable(wl, WL1251_ACX_BET_DISABLE, -+ WL1251_DEFAULT_BET_CONSECUTIVE); -+ if (ret < 0) -+ return ret; -+ - /* disable beacon filtering */ - ret = wl1251_acx_beacon_filter_opt(wl, false); - if (ret < 0) -diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/rx.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/rx.c ---- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/rx.c 2011-01-13 02:06:39.000000000 +0100 -+++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/rx.c 2011-08-23 17:07:16.000000000 +0200 -@@ -82,7 +82,7 @@ - - status->flag |= RX_FLAG_TSFT; - -- if (desc->flags & RX_DESC_ENCRYPTION_MASK) { -+ if (!wl->monitor_present && (desc->flags & RX_DESC_ENCRYPTION_MASK)) { - status->flag |= RX_FLAG_IV_STRIPPED | RX_FLAG_MMIC_STRIPPED; - - if (likely(!(desc->flags & RX_DESC_DECRYPT_FAIL))) -@@ -95,8 +95,54 @@ - if (unlikely(!(desc->flags & RX_DESC_VALID_FCS))) - status->flag |= RX_FLAG_FAILED_FCS_CRC; - -+ switch (desc->rate) { -+ /* skip 1 and 12 Mbps because they have same value 0x0a */ -+ case RATE_2MBPS: -+ status->rate_idx = 1; -+ break; -+ case RATE_5_5MBPS: -+ status->rate_idx = 2; -+ break; -+ case RATE_11MBPS: -+ status->rate_idx = 3; -+ break; -+ case RATE_6MBPS: -+ status->rate_idx = 4; -+ break; -+ case RATE_9MBPS: -+ status->rate_idx = 5; -+ break; -+ case RATE_18MBPS: -+ status->rate_idx = 7; -+ break; -+ case RATE_24MBPS: -+ status->rate_idx = 8; -+ break; -+ case RATE_36MBPS: -+ status->rate_idx = 9; -+ break; -+ case RATE_48MBPS: -+ status->rate_idx = 10; -+ break; -+ case RATE_54MBPS: -+ status->rate_idx = 11; -+ break; -+ } -+ -+ /* for 1 and 12 Mbps we have to check the modulation */ -+ if (desc->rate == RATE_1MBPS) { -+ if (!(desc->mod_pre & OFDM_RATE_BIT)) { -+ /* CCK -> RATE_1MBPS */ -+ status->rate_idx = 0; -+ } else { -+ /* OFDM -> RATE_12MBPS */ -+ status->rate_idx = 6; -+ } -+ } - -- /* FIXME: set status->rate_idx */ -+ if (desc->mod_pre & SHORT_PREAMBLE_BIT) { -+ status->flag |= RX_FLAG_SHORTPRE; -+ } - } - - static void wl1251_rx_body(struct wl1251 *wl, -diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/tx.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/tx.c ---- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/tx.c 2011-01-13 02:06:39.000000000 +0100 -+++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/tx.c 2011-08-23 17:07:28.000000000 +0200 -@@ -28,6 +28,7 @@ - #include "tx.h" - #include "ps.h" - #include "io.h" -+#include "event.h" - - static bool wl1251_tx_double_buffer_busy(struct wl1251 *wl, u32 data_out_count) - { -@@ -89,8 +90,12 @@ - /* 802.11 packets */ - tx_hdr->control.packet_type = 0; - -- if (control->flags & IEEE80211_TX_CTL_NO_ACK) -+ /* Also disable retry and ACK policy for injected packets */ -+ if ((control->flags & IEEE80211_TX_CTL_NO_ACK) || -+ (control->flags & IEEE80211_TX_CTL_INJECTED)) { -+ tx_hdr->control.rate_policy = 1; - tx_hdr->control.ack_policy = 1; -+ } - - tx_hdr->control.tx_complete = 1; - -@@ -213,16 +218,30 @@ - wl1251_debug(DEBUG_TX, "skb offset %d", offset); - - /* check whether the current skb can be used */ -- if (!skb_cloned(skb) && (skb_tailroom(skb) >= offset)) { -- unsigned char *src = skb->data; -+ if (skb_cloned(skb) || (skb_tailroom(skb) < offset)) { -+ struct sk_buff *newskb = skb_copy_expand(skb, 0, 3, -+ GFP_KERNEL); -+ -+ if (unlikely(newskb == NULL)) { -+ wl1251_error("Can't allocate skb!"); -+ return -EINVAL; -+ } -+ -+ tx_hdr = (struct tx_double_buffer_desc *) newskb->data; -+ -+ dev_kfree_skb_any(skb); -+ wl->tx_frames[tx_hdr->id] = skb = newskb; -+ -+ offset = (4 - (long)skb->data) & 0x03; -+ wl1251_debug(DEBUG_TX, "new skb offset %d", offset); -+ } - -- /* align the buffer on a 4-byte boundary */ -+ /* align the buffer on a 4-byte boundary */ -+ if (offset) { -+ unsigned char *src = skb->data; - skb_reserve(skb, offset); - memmove(skb->data, src, skb->len); - tx_hdr = (struct tx_double_buffer_desc *) skb->data; -- } else { -- wl1251_info("No handler, fixme!"); -- return -EINVAL; - } - } - -@@ -273,6 +292,9 @@ - info = IEEE80211_SKB_CB(skb); - - if (info->control.hw_key) { -+ if (unlikely(wl->monitor_present)) -+ return -1; -+ - idx = info->control.hw_key->hw_key_idx; - if (unlikely(wl->default_key != idx)) { - ret = wl1251_acx_default_key(wl, idx); -@@ -281,6 +303,22 @@ - } - } - -+ /* Enable tx path in monitor mode for packet injection */ -+ if ((wl->vif == NULL) && !wl->joined) { -+ ret = wl1251_cmd_join(wl, BSS_TYPE_STA_BSS, wl->channel, -+ wl->beacon_int, wl->dtim_period); -+ if (ret < 0) -+ wl1251_warning("join failed"); -+ else { -+ ret = wl1251_event_wait(wl, JOIN_EVENT_COMPLETE_ID, -+ 100); -+ if (ret < 0) -+ wl1251_warning("join timeout"); -+ else -+ wl->joined = true; -+ } -+ } -+ - ret = wl1251_tx_path_status(wl); - if (ret < 0) - return ret; -@@ -368,7 +406,7 @@ - { - struct ieee80211_tx_info *info; - struct sk_buff *skb; -- int hdrlen, ret; -+ int hdrlen; - u8 *frame; - - skb = wl->tx_frames[result->id]; -@@ -380,6 +418,7 @@ - info = IEEE80211_SKB_CB(skb); - - if (!(info->flags & IEEE80211_TX_CTL_NO_ACK) && -+ !(info->flags & IEEE80211_TX_CTL_INJECTED) && - (result->status == TX_SUCCESS)) - info->flags |= IEEE80211_TX_STAT_ACK; - -@@ -407,40 +446,12 @@ - ieee80211_tx_status(wl->hw, skb); - - wl->tx_frames[result->id] = NULL; -- -- if (wl->tx_queue_stopped) { -- wl1251_debug(DEBUG_TX, "cb: queue was stopped"); -- -- skb = skb_dequeue(&wl->tx_queue); -- -- /* The skb can be NULL because tx_work might have been -- scheduled before the queue was stopped making the -- queue empty */ -- -- if (skb) { -- ret = wl1251_tx_frame(wl, skb); -- if (ret == -EBUSY) { -- /* firmware buffer is still full */ -- wl1251_debug(DEBUG_TX, "cb: fw buffer " -- "still full"); -- skb_queue_head(&wl->tx_queue, skb); -- return; -- } else if (ret < 0) { -- dev_kfree_skb(skb); -- return; -- } -- } -- -- wl1251_debug(DEBUG_TX, "cb: waking queues"); -- ieee80211_wake_queues(wl->hw); -- wl->tx_queue_stopped = false; -- } - } - - /* Called upon reception of a TX complete interrupt */ - void wl1251_tx_complete(struct wl1251 *wl) - { -- int i, result_index, num_complete = 0; -+ int i, result_index, num_complete = 0, queue_len; - struct tx_result result[FW_TX_CMPLT_BLOCK_SIZE], *result_ptr; - unsigned long flags; - -@@ -471,18 +482,22 @@ - } - } - -- if (wl->tx_queue_stopped -- && -- skb_queue_len(&wl->tx_queue) <= WL1251_TX_QUEUE_LOW_WATERMARK){ -+ queue_len = skb_queue_len(&wl->tx_queue); - -- /* firmware buffer has space, restart queues */ -+ if ((num_complete > 0) && (queue_len > 0)) { -+ /* firmware buffer has space, reschedule tx_work */ -+ wl1251_debug(DEBUG_TX, "tx_complete: reschedule tx_work"); -+ ieee80211_queue_work(wl->hw, &wl->tx_work); -+ } -+ -+ if (wl->tx_queue_stopped && -+ queue_len <= WL1251_TX_QUEUE_LOW_WATERMARK) { -+ /* tx_queue has space, restart queues */ - wl1251_debug(DEBUG_TX, "tx_complete: waking queues"); - spin_lock_irqsave(&wl->wl_lock, flags); - ieee80211_wake_queues(wl->hw); - wl->tx_queue_stopped = false; - spin_unlock_irqrestore(&wl->wl_lock, flags); -- ieee80211_queue_work(wl->hw, &wl->tx_work); -- - } - - /* Every completed frame needs to be acknowledged */ -diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/wl1251.h compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/wl1251.h ---- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/wl1251.h 2011-01-13 02:06:39.000000000 +0100 -+++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/wl1251.h 2011-08-23 17:07:26.000000000 +0200 -@@ -92,13 +92,12 @@ - true); \ - } while (0) - --#define WL1251_DEFAULT_RX_CONFIG (CFG_UNI_FILTER_EN | \ -- CFG_BSSID_FILTER_EN) -+#define WL1251_DEFAULT_RX_CONFIG (CFG_UNI_FILTER_EN | \ -+ CFG_MC_FILTER_EN) - - #define WL1251_DEFAULT_RX_FILTER (CFG_RX_PRSP_EN | \ - CFG_RX_MGMT_EN | \ - CFG_RX_DATA_EN | \ -- CFG_RX_CTL_EN | \ - CFG_RX_BCN_EN | \ - CFG_RX_AUTH_EN | \ - CFG_RX_ASSOC_EN) -@@ -251,6 +250,12 @@ - struct dentry *excessive_retries; - }; - -+enum wl1251_bt_coex_mode { -+ WL1251_BT_COEX_OFF, -+ WL1251_BT_COEX_ENABLE, -+ WL1251_BT_COEX_MONOAUDIO -+}; -+ - struct wl1251_if_operations { - void (*read)(struct wl1251 *wl, int addr, void *buf, size_t len); - void (*write)(struct wl1251 *wl, int addr, void *buf, size_t len); -@@ -296,6 +301,8 @@ - u8 bss_type; - u8 listen_int; - int channel; -+ bool monitor_present; -+ bool joined; - - void *target_mem_map; - struct acx_data_path_params_resp *data_path; -@@ -308,7 +315,6 @@ - bool tx_queue_stopped; - - struct work_struct tx_work; -- struct work_struct filter_work; - - /* Pending TX frames */ - struct sk_buff *tx_frames[16]; -@@ -363,12 +369,17 @@ - /* PSM mode requested */ - bool psm_requested; - -+ /* retry counter for PSM entries */ -+ u8 psm_entry_retry; -+ - u16 beacon_int; - u8 dtim_period; - - /* in dBm */ - int power_level; - -+ int rssi_thold; -+ - struct wl1251_stats stats; - struct wl1251_debugfs debugfs; - -@@ -379,6 +390,8 @@ - - struct ieee80211_vif *vif; - -+ enum wl1251_bt_coex_mode bt_coex_mode; -+ - u32 chip_id; - char fw_ver[21]; - -@@ -409,6 +422,8 @@ - - #define WL1251_DEFAULT_CHANNEL 0 - -+#define WL1251_DEFAULT_BET_CONSECUTIVE 10 -+ - #define CHIP_ID_1251_PG10 (0x7010101) - #define CHIP_ID_1251_PG11 (0x7020101) - #define CHIP_ID_1251_PG12 (0x7030101) -@@ -430,4 +445,7 @@ - #define WL1251_PART_WORK_REG_START REGISTERS_BASE - #define WL1251_PART_WORK_REG_SIZE REGISTERS_WORK_SIZE - -+#define WL1251_DEFAULT_LOW_RSSI_WEIGHT 10 -+#define WL1251_DEFAULT_LOW_RSSI_DEPTH 10 -+ - #endif -diff -Naur compat-wireless-2.6.37-4-sn.orig//net/wireless/chan.c compat-wireless-2.6.37-4-sn/net/wireless/chan.c ---- compat-wireless-2.6.37-4-sn.orig//net/wireless/chan.c 2011-01-13 02:06:38.000000000 +0100 -+++ compat-wireless-2.6.37-4-sn/net/wireless/chan.c 2011-08-23 17:07:37.000000000 +0200 -@@ -83,9 +83,6 @@ - struct ieee80211_channel *chan; - int result; - -- if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) -- wdev = NULL; -- - if (wdev) { - ASSERT_WDEV_LOCK(wdev); - -@@ -123,7 +120,9 @@ - } - - result = rdev->ops->set_channel(&rdev->wiphy, -- wdev ? wdev->netdev : NULL, -+ wdev && wdev->iftype != -+ NL80211_IFTYPE_MONITOR ? -+ wdev->netdev : NULL, - chan, channel_type); - if (result) - return result; diff --git a/net-wireless/compat-wireless/metadata.xml b/net-wireless/compat-wireless/metadata.xml deleted file mode 100644 index 6e27c023..00000000 --- a/net-wireless/compat-wireless/metadata.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> -<use> -<flag name="injection">Add patches for better wifi injection support</flag> -</use> -</pkgmetadata> diff --git a/net-wireless/dedected/Manifest b/net-wireless/dedected/Manifest deleted file mode 100644 index c0a8a93b..00000000 --- a/net-wireless/dedected/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -AUX 99-dect.rules 199 RMD160 dc51d555bcadcd23aca50b5c572f349b22feba01 SHA1 33b80792030a8f8d56b251f5e6da3597099dc285 SHA256 e9830bd99bc043aea3a73c36bab444c9f608ce655c407361a732a2c12c3f1748 -AUX load-dect.sh 141 RMD160 ea6bc9921ce9dca7a68ea7731bb2f63d728163d9 SHA1 00aaabb1ea6a3ef09f442c54e4b9460f248a99b1 SHA256 51778dff87622940cd13e391888a64558cf7a66673f7585b6d7084fe3b4367c1 -EBUILD dedected-9999.ebuild 1401 RMD160 2c4682f065b901ab2e03da3cd271a1715c72264f SHA1 f4e5281528e9b35ca80dd2c1f114c56f9bfe195f SHA256 a73b4666c2a1bfe38f93fa537facf13b8505c710481bea2363d90b57a3bf7439 diff --git a/net-wireless/dedected/dedected-9999.ebuild b/net-wireless/dedected/dedected-9999.ebuild deleted file mode 100644 index 506171a8..00000000 --- a/net-wireless/dedected/dedected-9999.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -inherit toolchain-funcs linux-info linux-mod eutils subversion - -DESCRIPTION="DECT Sniffer" -HOMEPAGE="https://dedected.org" -SRC_URI="" -ESVN_REPO_URI="https://dedected.org/svn/trunk/com-on-air_cs-linux/" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" -IUSE="" - -DEPEND="" -RDEPEND="" - -BUILD_TARGETS="default" -BUILD_TARGET_ARCH="${ARCH}" -MODULE_NAMES="com_on_air_cs(misc:${S})" - -pkg_config() { - linux-mod_pkg_setup - BUILD_PARAMS="KDIR=${KV_DIR}" -} - -pkg_preinst() { - enewgroup dect -} -src_compile() { -# KDIR="${KV_DIR}" emake || die "emake failed" - linux-mod_src_compile - KDIR="${KV_DIR}" emake -C tools || die "emake tools failed" - KDIR="${KV_DIR}" emake -C tools/dectshark || die "emake dectshark failed" - -} - -src_install () { -# emake DESTDIR="${D}" install || die "emake install failed" - linux-mod_src_install - #we could add a group and when we add udev rules we may drop this stuff in bin instead - dosbin tools/coa_syncsniff tools/dect_cli tools/dump_dip tools/dump_eeprom - dosbin tools/pcap2cchan tools/pcapstein tools/dectshark/dectshark - insinto /etc/udev/rules.d/ - doins "${FILESDIR}"/99-dect.rules - exeinto /lib/udev/ - doexe "${FILESDIR}"/load-dect.sh -} - -pkg_postinst() { - linux-mod_pkg_postinst - elog "If you want to sniff dect as a user add yourself to the dect group" -} diff --git a/net-wireless/dedected/files/99-dect.rules b/net-wireless/dedected/files/99-dect.rules deleted file mode 100644 index 8c6dd2e7..00000000 --- a/net-wireless/dedected/files/99-dect.rules +++ /dev/null @@ -1,2 +0,0 @@ -ACTION=="add", SUBSYSTEM=="pcmcia", ATTRS{prod_id1}=="DECTDataDevice", RUN+="/lib/udev/load-dect.sh" -ACTION=="add", SUBSYSTEM=="pcmcia", ATTRS{prod_id1}=="DOSCH-AMAND", RUN+="/lib/udev/load-dect.sh" diff --git a/net-wireless/dedected/files/load-dect.sh b/net-wireless/dedected/files/load-dect.sh deleted file mode 100644 index d62f0bce..00000000 --- a/net-wireless/dedected/files/load-dect.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -/lib/udev/load-modules.sh com_on_air_cs - -if [ ! -c /dev/coa ]; then - mknod /dev/coa --mode 660 c 3564 0 - chgrp dect /dev/coa -fi diff --git a/net-wireless/desknfc/Manifest b/net-wireless/desknfc/Manifest deleted file mode 100644 index 39b91569..00000000 --- a/net-wireless/desknfc/Manifest +++ /dev/null @@ -1 +0,0 @@ -EBUILD desknfc-9999.ebuild 456 RMD160 871abd34f1d95dd934e81eeeee002379b0538a0c SHA1 1e61a032b1a8692718189975c1a882a0de49d54b SHA256 5b95ac2ba621c9836f3deb06dc825d095f5ff96baf1bceb20fa5b551871f208a diff --git a/net-wireless/desknfc/desknfc-9999.ebuild b/net-wireless/desknfc/desknfc-9999.ebuild deleted file mode 100644 index 86be81c4..00000000 --- a/net-wireless/desknfc/desknfc-9999.ebuild +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=4 - -inherit kde4-base subversion - -DESCRIPTION="a KDE4 plasmoid which offer NFC content access" -HOMEPAGE="https://code.google.com/p/nfc-tools/wiki/desknfc" -SRC_URI="" -ESVN_REPO_URI="http://nfc-tools.googlecode.com/svn/trunk/desknfc" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -DEPEND="dev-libs/libndef" -RDEPEND="${DEPEND}" diff --git a/net-wireless/gqrx/Manifest b/net-wireless/gqrx/Manifest deleted file mode 100644 index ca7fec6c..00000000 --- a/net-wireless/gqrx/Manifest +++ /dev/null @@ -1 +0,0 @@ -EBUILD gqrx-9999.ebuild 590 SHA256 2dc8f26457f745d771c9603018eecfd3934ee687131f43898e91a9afa788549b SHA512 0d14d3b2fc318cd852f98bb7b54d7ef156af38b3c455f76f7c2b08e0b99cd294b6e3b103495f14e4fbd0e03d19e88b267ad70ba13585dc1b2952a93192dd871c WHIRLPOOL 1606dc6eacc9b821bfb7ca0c294572d4392bf8224b161fed6170b0cc702f57f002ddfba72e57bc4d892159f51790f5167761b96e8b52394e18ec6a615a24f001 diff --git a/net-wireless/gqrx/gqrx-9999.ebuild b/net-wireless/gqrx/gqrx-9999.ebuild deleted file mode 100644 index 2a62bc57..00000000 --- a/net-wireless/gqrx/gqrx-9999.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -inherit qt4-r2 git-2 - -DESCRIPTION="Software defined radio receiver powered by GNU Radio and Qt" -HOMEPAGE="http://www.oz9aec.net/index.php/gnu-radio/gqrx-sdr" -EGIT_REPO_URI="https://github.com/csete/gqrx.git" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="" -IUSE="uhd rtl fcd" - -DEPEND="net-wireless/gnuradio[fcd?] - rtl? ( net-wireless/rtl-sdr ) - uhd? ( net-wireless/uhd ) - net-wireless/gr-osmosdr - media-sound/pulseaudio" -RDEPEND="${DEPEND}" - -src_install() { - dobin gqrx -} diff --git a/net-wireless/gr-air-modes/Manifest b/net-wireless/gr-air-modes/Manifest deleted file mode 100644 index 6b165436..00000000 --- a/net-wireless/gr-air-modes/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -AUX modes.py 164 SHA256 799f59a532004b1e69f69dc75a5f63689daae4b450c98b3c1a35bb95bac7aa15 SHA512 dc7837c115846d80e84b464cafc462dc0563567440761a18f4ca801ecfe604a5d4808a3e98e3f5d482dd275c8de5b363aa44d11244090db1e0557ee41fb933b8 WHIRLPOOL 6c144c3906a2a90053cb900f8822c4c478c9cb82259a0ddb87545195f6c6455e88f64f1f70233dc04bb03195f62355400226095710c818f89a9ce0d72e7b2dcb -AUX rtl_modes.py 45 SHA256 9a0c8154aa3311601bb22885f5b0e4206de0173e99e03f198dae133532f085f3 SHA512 bf3fb60e1885b85adf5a6cd9306e2a874d7b38666484649b70202b959086e9c8b95bdd6cbaa3605000ebb2693c7630e5bb88b3e8d7aa4cd5ff97261c5060cb34 WHIRLPOOL c25c7dbc3f5bcd1929587c9961c81ad9efc899683930f1ab6137a13cc3475ea74463f0028ca4451be263fecd1b7760126f45a8275730cf46ebedff8e389052df -EBUILD gr-air-modes-9999.ebuild 1028 SHA256 be60042343786cfff7aa0c19db025ec8bec81a54c6297cfa713dae1173bed10e SHA512 a0da90740c91f8c5599e87b8de7a560bf1b0bde9ff8455ade28e349c9f84eac0720ff07eacc366fe8b0eb807c3235fbf9c7be3e8e9b39b13141d7574915946cf WHIRLPOOL ce65a0127bb6f8c1c67b1eae8c45831e99bf9cd50a091aebaebfa09ead0edf0846f29d6ed1f53f8a4812f77f868dd9c6271a5f9b7074a4e07bb1b833e4e3ce01 diff --git a/net-wireless/gr-air-modes/files/modes.py b/net-wireless/gr-air-modes/files/modes.py deleted file mode 100644 index 511acbef..00000000 --- a/net-wireless/gr-air-modes/files/modes.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -echo "Please call modes_rx or modes_gui instead of $0 directly" -if [ "$0" == "rtl_modes.py" ] -then - echo "for rtl devices remember to use the -d flag" -fi diff --git a/net-wireless/gr-air-modes/files/rtl_modes.py b/net-wireless/gr-air-modes/files/rtl_modes.py deleted file mode 100644 index 60836aef..00000000 --- a/net-wireless/gr-air-modes/files/rtl_modes.py +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -python /usr/bin/uhd_modes.py -d $@ diff --git a/net-wireless/gr-air-modes/gr-air-modes-9999.ebuild b/net-wireless/gr-air-modes/gr-air-modes-9999.ebuild deleted file mode 100644 index cdba5710..00000000 --- a/net-wireless/gr-air-modes/gr-air-modes-9999.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=4 -inherit python cmake-utils git-2 - -DESCRIPTION="This module implements a complete Mode S and ADS-B receiver for Gnuradio" -HOMEPAGE="https://www.cgran.org/wiki/gr-air-modes" - -EGIT_REPO_URI="https://github.com/bistromath/gr-air-modes.git" -#EGIT_BRANCH="master" -#EGIT_BRANCH="qtapp" - -KEYWORDS="" - -LICENSE="GPL-3" -SLOT="0" -IUSE="rtl fgfs +gui uhd" -DEPEND=">=net-wireless/gnuradio-3.6.1 - net-wireless/gr-osmosdr - fgfs? ( sci-libs/scipy - games-simulation/flightgear ) - rtl? ( net-wireless/rtl-sdr ) - uhd? ( >=net-wireless/uhd-3.4.0 ) - gui? ( dev-python/pyqwt )" -RDEPEND="${DEPEND}" - -pkg_setup() { - python_set_active_version 2 - python_pkg_setup -} - -src_compile() { - cmake-utils_src_compile -j1 -} - -src_install() { - cmake-utils_src_install - python_convert_shebangs 2 "${ED}"usr/bin/* - use rtl && newbin "${FILESDIR}"/modes.py rtl_modes.py - use uhd && newbin "${FILESDIR}"/modes.py uhd_modes.py -} diff --git a/net-wireless/grimwepa/Manifest b/net-wireless/grimwepa/Manifest deleted file mode 100644 index 11ce8f0c..00000000 --- a/net-wireless/grimwepa/Manifest +++ /dev/null @@ -1,5 +0,0 @@ -AUX grimwepa.conf 159 RMD160 ec221c1b69ddc2b1a1e5f44e55d5dbeb3e26992b SHA1 972c69fa37082244785226b7686472f68f4360c2 SHA256 ba77016d42d034bc6ebce02999df87d5e2372e79acb0698e885841c0b4eacdbe -AUX grimwepa.desktop 214 RMD160 8cbf25d885835fd0528408786788bbbce1badd77 SHA1 0855de52f0f7773104091dd2297722db837a485f SHA256 c0ea5b062d2ed5afadc5d3912ad401578ed33d37a6f9150ae1dfaf3db84e7943 -AUX grimwepa.sh 50 RMD160 883af2f0cc99cf75d40835ffe1da353a8f78777d SHA1 083f8af4321b5390c64942623746a613f40deef3 SHA256 b442447d20dcc1aa7367b3555375caa330da287fe8764638f73b56bc64007a95 -DIST grimwepa1.10a5.jar 325850 RMD160 12f854075bfcc2544d28d8d99546f1148e8c449d SHA1 8bc01a65d05336cb09a7f4dfdc8237f34b58203b SHA256 7f00b11e1d790404afe229019722b0847a7d0c9d7013a3cdd1cb45212734abe1 -EBUILD grimwepa-1.10_p5-r100.ebuild 955 RMD160 939b803cac126669340a8a31a6fec1fd6dca515d SHA1 c1e592fab3ab36c383083520ecae5d931a62184d SHA256 013c18f37c3a60b45ba408ec4505cc53d21e037676fd72a9d9eb20c3771fb756 diff --git a/net-wireless/grimwepa/files/grimwepa.conf b/net-wireless/grimwepa/files/grimwepa.conf deleted file mode 100644 index 48037414..00000000 --- a/net-wireless/grimwepa/files/grimwepa.conf +++ /dev/null @@ -1,12 +0,0 @@ -iface select one: -channel 6 -allchan false -targettimeout 3 -wpatimeout 10 -wpaword [default wordlist] -wepattack 0 -xterm false -irate 600 -color 2 -wpamethod 0 -shown diff --git a/net-wireless/grimwepa/files/grimwepa.desktop b/net-wireless/grimwepa/files/grimwepa.desktop deleted file mode 100644 index d609a1d2..00000000 --- a/net-wireless/grimwepa/files/grimwepa.desktop +++ /dev/null @@ -1,14 +0,0 @@ -[Desktop Entry] -Comment= -Exec=grimwepa -GenericName= -Icon=cache -Name=GrimWepa -Path= -StartupNotify=true -Terminal=0 -TerminalOptions= -Type=Application -X-KDE-SubstituteUID=false -X-KDE-Username= -Categories=Java;Utility; diff --git a/net-wireless/grimwepa/files/grimwepa.sh b/net-wireless/grimwepa/files/grimwepa.sh deleted file mode 100644 index 1e5f06e0..00000000 --- a/net-wireless/grimwepa/files/grimwepa.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -exec java -jar /usr/lib/grimwepa.jar & diff --git a/net-wireless/grimwepa/grimwepa-1.10_p5-r100.ebuild b/net-wireless/grimwepa/grimwepa-1.10_p5-r100.ebuild deleted file mode 100644 index 14a95d29..00000000 --- a/net-wireless/grimwepa/grimwepa-1.10_p5-r100.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-proxy/webscarab/webscarab-20070504.ebuild,v 1.1 2007/06/17 16:14:46 mrness Exp $ - -EAPI="2" - -inherit eutils - -DESCRIPTION="A password cracker for both WEP and WPA-encrypted access points" -HOMEPAGE="http://code.google.com/p/grimwepa/" -SRC_URI="http://grimwepa.googlecode.com/files/grimwepa1.10a5.jar" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="+wep +extra" - -# pyrit, gpu attack, FIXME use flag - -DEPEND=">=virtual/jre-1.5 - net-wireless/wpa_supplicant - wep? ( net-analyzer/macchanger ) - extra? ( app-crypt/crunch - net-analyzer/wireshark - net-analyzer/hydra - app-crypt/pyrit )" -RDEPEND="${DEPEND}" - -src_install() { - newbin "${FILESDIR}/${PN}.sh" "${PN}" - insinto /usr/lib - newins "${DISTDIR}/${A}" "${PN}.jar" - insinto /etc - doins "${FILESDIR}"/grimwepa.conf - domenu "${FILESDIR}"/grimwepa.desktop -} diff --git a/net-wireless/haraldscan/Manifest b/net-wireless/haraldscan/Manifest deleted file mode 100644 index c211229a..00000000 --- a/net-wireless/haraldscan/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -AUX haraldscan-maclist-path.patch 334 SHA256 70b53227f075425fec36314095d21962e3dd0e01cfb3525e3d093fa6c04547cd SHA512 2fce2b26c536f3849313d1d0243ab31cd01e4a787ffeb1c870c86db57203ae71143e23b9e4edcd2079d34853c09e5e603b88a41f670b0e05a6c7bdd3d9739d9f WHIRLPOOL ddb989a3cff3addbeb9cab6ea580eafab8e22ad4051275edcb1162c952bc503044321f75d38d5d000ba2a8603117a89927a2296c76c0654ddf28ef090163fde0 -DIST MACLIST 10369 SHA256 335582afd0e87d97cc5856ffb8bc296b169955d367309f8d40ec8db96e27c7b6 SHA512 aa73ec9945ea0af033a40d496c834c694ac6c9359db2b1fa01a7475f7602d1b96ecf6aca4978e656a46b727c0991146157c3fe4e32a4e1cb0a5715017e3d1a57 WHIRLPOOL 684a209fee50f713bb3529292dc4a6a934c6305ab506351f30c74b91b092bbda8446a958a9ec33e943d7329b52b09452ac9d0864ddaaa40317fd993b1a22ca63 -DIST haraldscan-src-0.41.tar.gz 44183 SHA256 86e4620d92725b480cd956f91746457484c746062ffc22ea57e5cc58fd10b53e SHA512 ed823c78b5664c7b515c4964c7570453f9c5595c4f61c3daf4fb8c7c8a154ab8352226b70a9dbc2a1a03563fcae6a0d93d08ecd79ee730fcf19b087b31ef7d31 WHIRLPOOL 1a99b13498104e30fb2b4883a5b8b3e3ca19ae605ed8963651b6921f3a5c89785ff0233efb5ea8b36f6e055ccd812087310099fc2c89937bbe97cc18d2e9fc07 -EBUILD haraldscan-0.41.ebuild 1209 SHA256 56411020a7aeae6351c5c0345e8898b365d97893dd0c6afb2c43911ee5b640e4 SHA512 61a4dcb7342fb079d1c16573416b61878b4fe24d372e0f8bc50a61bf556bbfb1f4c333fe9d05955347b7bcd27c4d9c32f53d028d199df35fd5d7cc64970d10cd WHIRLPOOL 80758ceddb96c826f638d8136252a02c119d38b4740b4c6046411726b61e02b0442ce814f826a88dc4724417ed2dbdde58ad49393ba9c141d6da774ff5675e63 diff --git a/net-wireless/haraldscan/files/haraldscan-maclist-path.patch b/net-wireless/haraldscan/files/haraldscan-maclist-path.patch deleted file mode 100644 index 3ef80ee0..00000000 --- a/net-wireless/haraldscan/files/haraldscan-maclist-path.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/haraldmodules/haraldupdate.py 2010-01-15 15:01:44.939988340 +0100 -+++ b/haraldmodules/haraldupdate.py 2010-01-15 15:01:58.978014426 +0100 -@@ -35,7 +35,7 @@ - llines = 0 - - -- flocal = open('MACLIST', 'rb') -+ flocal = open('/usr/share/haraldscan/MACLIST', 'rb') - - for line in flocal: - llines+=1 diff --git a/net-wireless/haraldscan/haraldscan-0.41.ebuild b/net-wireless/haraldscan/haraldscan-0.41.ebuild deleted file mode 100644 index e4579fb8..00000000 --- a/net-wireless/haraldscan/haraldscan-0.41.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="4" - -PYTHON_DEPEND="2" - -inherit python eutils - -DESCRIPTION="A Bluetooth discovery scanner" -HOMEPAGE="http://code.google.com/p/haraldscan/" -SRC_URI="http://haraldscan.googlecode.com/files/${PN}-src-${PV}.tar.gz - http://haraldscan.googlecode.com/svn/trunk/MACLIST" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="$RDEPEND" -RDEPEND="dev-python/pybluez" - -#S="${WORKDIR}"/${PN}-${PV} - -pkg_setup() { - python_set_active_version 2 - python_pkg_setup -} - -src_unpack() { - mkdir "${S}" - cd "${S}" - unpack ${A} - cd "${S}" -} -src_prepare() { - epatch "${FILESDIR}"/haraldscan-maclist-path.patch -} -src_install() { - insinto $(python_get_sitedir)/haraldmodules - doins haraldmodules/*.py - dobin haraldscan.py - insinto /usr/share/haraldscan -# doins MACLIST - cp "${DISTDIR}"/MACLIST "${D}"/usr/share/${PN}/ - dodoc doc/README -} - -pkg_postinst() { - python_mod_optimize haraldmodules -# einfo "Updating MAC database..." -# haraldscan.py -u >/dev/null 2>&1 || true - elog "Run 'haraldscan.py -u' to create macinfo.db in a current directory" -} - -pkg_postrm() { - python_mod_cleanup haraldmodules -} diff --git a/net-wireless/horst/Manifest b/net-wireless/horst/Manifest deleted file mode 100644 index aaf44c9d..00000000 --- a/net-wireless/horst/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST horst-3.0.tar.gz 63179 RMD160 9fb84a68baef5a09a5bb6f7a433ddc967fb3ae90 SHA1 b7bf94f819285c3d0e79d0fba921ab8221cc6e47 SHA256 7d8de85ff8715f3bea7ccecc0382e2d3c48bccce4be6dee5f1d0d15447776cc8 -EBUILD horst-3.0.ebuild 553 RMD160 4d677bd11488714f238cc405e5bcb4909285ab78 SHA1 46c27db06a6bec346b7103b9764d634714b6ec70 SHA256 b7e358ace47d2c4f7685240b9843ad211af3b70cfdd6dffdfbb191c8bcfc07f6 diff --git a/net-wireless/horst/horst-3.0.ebuild b/net-wireless/horst/horst-3.0.ebuild deleted file mode 100644 index 6a990ab6..00000000 --- a/net-wireless/horst/horst-3.0.ebuild +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=4 - -DESCRIPTION="Small 802.11 wireless LAN analyzer" -HOMEPAGE="http://br1.einfach.org/tech/horst/" -SRC_URI="http://br1.einfach.org/horst_dl/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="+pcap" - -DEPEND="sys-libs/ncurses - pcap? ( net-libs/libpcap )" -RDEPEND="${DEPEND}" - -src_compile() { - if use pcap; then - emake PCAP=1 - else - emake - fi -} - -src_install() { - dosbin horst - dodoc ChangeLog README TODO -} diff --git a/net-wireless/hostapd/ChangeLog b/net-wireless/hostapd/ChangeLog deleted file mode 100644 index f0e55f20..00000000 --- a/net-wireless/hostapd/ChangeLog +++ /dev/null @@ -1,579 +0,0 @@ -# ChangeLog for net-wireless/hostapd -# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/ChangeLog,v 1.110 2011/04/21 13:53:15 tomka Exp $ - - 21 Apr 2011; Thomas Kahle <tomka@gentoo.org> hostapd-0.7.3.ebuild: - x86 stable per bug 360997 - - 29 Mar 2011; Christoph Mende <angelos@gentoo.org> hostapd-0.7.3.ebuild: - Stable on amd64 wrt bug #360997 - -*hostapd-0.7.3 (08 Sep 2010) - - 08 Sep 2010; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -hostapd-0.6.8.ebuild, -hostapd-0.6.10.ebuild, -hostapd-0.7.2.ebuild, - +hostapd-0.7.3.ebuild: - Bumping to 0.7.3 and removing old versions. - This version is the first in the 0.7 stable series from upstream. - -*hostapd-0.7.2 (23 May 2010) - - 23 May 2010; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -hostapd-0.7.1.ebuild, +hostapd-0.7.2.ebuild: - Bumping to 0.7.2, fixing bug #319923 - -*hostapd-0.7.1 (24 Jan 2010) - - 24 Jan 2010; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -hostapd-0.7.0.ebuild, -files/hostapd-0.7.0-fix_linking.patch, - +hostapd-0.7.1.ebuild: - Bumping to 0.7.1 , fixing bugs #301540 and #301542 - -*hostapd-0.7.0 (16 Jan 2010) - - 16 Jan 2010; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - +hostapd-0.7.0.ebuild, +files/hostapd-0.7.0-fix_linking.patch, - metadata.xml: - Bumping to 0.7.0 - -*hostapd-0.6.10 (14 Jan 2010) - - 14 Jan 2010; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - hostapd-0.6.8.ebuild, -files/hostapd-0.6.8-conf.d, - -files/hostapd-0.6.8-init.d, hostapd-0.6.9.ebuild, - -files/hostapd-0.6.9-conf.d, -files/hostapd-0.6.9-init.d, - +hostapd-0.6.10.ebuild, +files/hostapd-conf.d, +files/hostapd-init.d: - Bumping to 0.6.10 and removing redundant init.d and conf.d files - - 11 Sep 2009; Diego E. Pettenò <flameeyes@gentoo.org> - hostapd-0.6.8.ebuild, hostapd-0.6.9.ebuild: - Fix RDEPEND assignment that nilled the runtime dependencies. - - 24 May 2009; Markus Meier <maekke@gentoo.org> hostapd-0.6.9.ebuild: - amd64/x86 stable, bug #270148 - - 21 May 2009; Brent Baude <ranger@gentoo.org> hostapd-0.6.9.ebuild: - stable ppc, bug 270148 - - 17 May 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - files/hostapd-0.6.8-init.d, files/hostapd-0.6.9-init.d: - Fixing init script, so it is POSIX compliant, fixing bug #269063 - - 16 Apr 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - hostapd-0.6.9.ebuild: - Porting ebuild to EAPI 2 - - 05 Apr 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -files/hostapd-0.5.10-conf.d, -files/hostapd-0.5.10-init.d, - -hostapd-0.5.10.ebuild: - Removing 0.5.10, since it has been superseeded by 0.6.8 - - 04 Apr 2009; Markus Meier <maekke@gentoo.org> hostapd-0.6.8.ebuild: - amd64/x86 stable, bug #263673 - - 24 Mar 2009; Joseph Jezak <josejx@gentoo.org> hostapd-0.6.8.ebuild: - Marked ppc stable for bug #263673. - -*hostapd-0.6.9 (25 Mar 2009) - - 25 Mar 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -files/hostapd-0.6.7-conf.d, -files/hostapd-0.6.7-init.d, - +files/hostapd-0.6.9-conf.d, +files/hostapd-0.6.9-init.d, - -hostapd-0.6.7.ebuild, +hostapd-0.6.9.ebuild: - Bumping to 0.6.9 and removing 0.6.7 - - 27 Feb 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - hostapd-0.6.7.ebuild, hostapd-0.6.8.ebuild: - Added info regarding madwifi and wme_enabled - - 27 Feb 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - hostapd-0.6.7.ebuild, hostapd-0.6.8.ebuild: - Adding support for 802.11n and removing stable flags from 0.6.7, since it - is still from the development branch. - - 25 Feb 2009; Markus Meier <maekke@gentoo.org> hostapd-0.6.7.ebuild: - amd64/x86 stable, bug #259285 - -*hostapd-0.6.8 (16 Feb 2009) - - 16 Feb 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - +files/hostapd-0.6.8-conf.d, +files/hostapd-0.6.8-init.d, - +hostapd-0.6.8.ebuild: - Bumping to 0.6.8 - -*hostapd-0.6.7 (06 Jan 2009) - - 06 Jan 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -files/hostapd-0.6.6-conf.d, -files/hostapd-0.6.6-init.d, - +files/hostapd-0.6.7-conf.d, +files/hostapd-0.6.7-init.d, metadata.xml, - -hostapd-0.6.6.ebuild, +hostapd-0.6.7.ebuild: - Bumping to 0.6.7 and adding WPS support to the ebuild - - 29 Dec 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - hostapd-0.6.6.ebuild: - Fixing typo in version check reported by Jackie - -*hostapd-0.6.6 (14 Dec 2008) - - 14 Dec 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -files/hostapd-0.6.5-conf.d, -files/hostapd-0.6.5-init.d, - +files/hostapd-0.6.6-conf.d, +files/hostapd-0.6.6-init.d, - -hostapd-0.6.5.ebuild, +hostapd-0.6.6.ebuild: - Bumping to 0.6.6 - -*hostapd-0.6.5 (14 Dec 2008) - - 14 Dec 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -files/hostapd-0.6.4-conf.d, -files/hostapd-0.6.4-init.d, - +files/hostapd-0.6.5-conf.d, +files/hostapd-0.6.5-init.d, - -hostapd-0.6.4.ebuild, +hostapd-0.6.5.ebuild: - Bumping to 0.6.5 and removing broken nl80211 check - - 23 Aug 2008; Doug Goldstein <cardoe@gentoo.org> metadata.xml: - add GLEP 56 USE flag desc from use.local.desc - - 20 Aug 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -files/hostapd-0.4.9-conf.d, -files/hostapd-0.4.9-init.d, - -hostapd-0.4.9.ebuild: - Removing 0.4.9, since it has been out of development for a long time, and - 0.5.10 finally is stable - - 20 Aug 2008; Markus Meier <maekke@gentoo.org> hostapd-0.5.10.ebuild: - amd64/x86 stable, bug #234503 - - 12 Aug 2008; Brent Baude <ranger@gentoo.org> hostapd-0.5.10.ebuild: - stable ppc, bug 234503 - -*hostapd-0.6.4 (11 Aug 2008) - - 11 Aug 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -files/hostapd-0.6.3-conf.d, -files/004-nl80211-rename-STAT-to-INFO.patch, - -files/hostapd-0.6.3-init.d, +files/hostapd-0.6.4-conf.d, - +files/hostapd-0.6.4-init.d, metadata.xml, -hostapd-0.6.3-r1.ebuild, - +hostapd-0.6.4.ebuild: - Bumping to version 0.6.4 and adding use flag info to metadata.xml - - 11 Jul 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - hostapd-0.6.3-r1.ebuild: - Added note about kernel missing patch with download link - -*hostapd-0.6.3-r1 (05 Jun 2008) - - 05 Jun 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - +files/004-nl80211-rename-STAT-to-INFO.patch, -hostapd-0.6.3.ebuild, - +hostapd-0.6.3-r1.ebuild: - Bumping to 0.6.3-r1, finally adding support for nl80211. - - 03 Jun 2008; Michael Sterrett <mr_bones_@gentoo.org> hostapd-0.4.9.ebuild, - hostapd-0.5.10.ebuild, hostapd-0.6.3.ebuild: - remove reference to old, removed net-wireless/madwifi-ng - -*hostapd-0.5.10 (15 May 2008) - - 15 May 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -files/hostapd-0.5.8-conf.d, -files/hostapd-0.5.8-init.d, - +files/hostapd-0.5.10-conf.d, +files/hostapd-0.5.10-init.d, - -hostapd-0.5.8.ebuild, +hostapd-0.5.10.ebuild: - Bumping to version 0.5.10 - -*hostapd-0.6.3 (11 Mar 2008) - - 11 Mar 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -files/hostapd-0.6.1-conf.d, -files/hostapd-0.6.1-init.d, - +files/hostapd-0.6.3-conf.d, +files/hostapd-0.6.3-init.d, - -hostapd-0.6.1.ebuild, +hostapd-0.6.3.ebuild: - Bumping to version 0.6.3 - -*hostapd-0.6.1 (10 Dec 2007) - - 10 Dec 2007; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -files/hostapd-0.6.0-conf.d, -files/hostapd-0.6.0-init.d, - +files/hostapd-0.6.1-conf.d, +files/hostapd-0.6.1-init.d, - -hostapd-0.6.0.ebuild, +hostapd-0.6.1.ebuild: - Bumping to version 0.6.1 - - 10 Sep 2007; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - hostapd-0.6.0.ebuild: - Removed support for mac80211 since it is broken for now - - 19 Jun 2007; Stefan Schweizer <genstef@gentoo.org> hostapd-0.4.9.ebuild, - hostapd-0.5.8.ebuild, hostapd-0.6.0.ebuild: - New madwifi-ng-tools depends thanks to Gordon Malm - <bugs-gentoo-org-01@bumpin.org> in bug 179348 - -*hostapd-0.5.8 (06 Jun 2007) - - 06 Jun 2007; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -files/hostapd-0.5.7-conf.d, -files/hostapd-0.5.7-init.d, - +files/hostapd-0.5.8-conf.d, +files/hostapd-0.5.8-init.d, - -hostapd-0.5.7.ebuild, +hostapd-0.5.8.ebuild: - Bumping to version 0.5.8 and removing 0.5.7 - -*hostapd-0.6.0 (06 Jun 2007) - - 06 Jun 2007; Bjarke Istrup Pedersen <gurligebis@gentoo.org> - -files/hostapd-0.4.7-conf.d, -files/hostapd-0.4.7-init.d, - -files/hostapd-0.4.8-conf.d, -files/hostapd-0.4.8-init.d, - -files/hostapd-0.5.2-conf.d, -files/hostapd-0.5.2-init.d, - -files/hostapd-0.5.2-ssl.patch, -files/hostapd-0.5.3-conf.d, - -files/hostapd-0.5.3-init.d, -files/hostapd-0.5.3-os_get_random.patch, - -files/hostapd-0.5.4-conf.d, -files/hostapd-0.5.4-init.d, - +files/hostapd-0.6.0-conf.d, +files/hostapd-0.6.0-init.d, metadata.xml, - +hostapd-0.6.0.ebuild: - Bumping to version 0.6.0, removed stalled files and added myself as maintainer - - 11 Mar 2007; Petteri Räty <betelgeuse@gentoo.org> metadata.xml: - Fix metadata.xml white space. - - 11 Mar 2007; Petteri Räty <betelgeuse@gentoo.org> hostapd-0.4.9.ebuild, - hostapd-0.5.7.ebuild: - Fix ROOT usage wrt bug #168039. - -*hostapd-0.5.7 (10 Feb 2007) - - 10 Feb 2007; Christian Heim <phreak@gentoo.org> - +files/hostapd-0.5.7-conf.d, +files/hostapd-0.5.7-init.d, - +hostapd-0.5.7.ebuild: - Version bump, thanks to Conrad Kostecki <ConiKost at gmx.de> in #150769. - - 10 Sep 2006; Bryan Østergaard <kloeri@gentoo.org> metadata.xml: - Remove brix from metadata.xml. - - 03 Sep 2006; Michael Hanselmann <hansmi@gentoo.org> hostapd-0.4.9.ebuild: - Stable on ppc. - - 26 Jun 2006; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.4.9.ebuild: - Stable on x86. - -*hostapd-0.5.4 (21 Jun 2006) - - 21 Jun 2006; Henrik Brix Andersen <brix@gentoo.org> - +files/hostapd-0.5.4-conf.d, +files/hostapd-0.5.4-init.d, - +hostapd-0.5.4.ebuild: - New developer snapshot. - -*hostapd-0.4.9 (27 May 2006) - - 27 May 2006; Henrik Brix Andersen <brix@gentoo.org> - +files/hostapd-0.4.9-conf.d, +files/hostapd-0.4.9-init.d, - +hostapd-0.4.9.ebuild: - Version bump. - -*hostapd-0.5.3 (29 Apr 2006) - - 29 Apr 2006; Henrik Brix Andersen <brix@gentoo.org> - +files/hostapd-0.5.3-conf.d, +files/hostapd-0.5.3-init.d, - +files/hostapd-0.5.3-os_get_random.patch, +hostapd-0.5.3.ebuild: - New development snapshot. - - 14 Apr 2006; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.4.8.ebuild, - hostapd-0.5.2.ebuild: - Updated madwifi dependencies. - - 26 Mar 2006; Henrik Brix Andersen <brix@gentoo.org> - -files/hostapd-0.5.0-conf.d, -files/hostapd-0.5.0-init.d, - -files/hostapd-0.5.1-conf.d, -files/hostapd-0.5.1-init.d, - +files/hostapd-0.5.2-ssl.patch, -hostapd-0.4.7-r1.ebuild, - -hostapd-0.5.0.ebuild, -hostapd-0.5.0-r1.ebuild, -hostapd-0.5.1.ebuild, - hostapd-0.5.2.ebuild: - Fix compilation with USE=-ssl, thanks to langthang in bug #127598. Pruned - old ebuilds. - -*hostapd-0.5.2 (20 Mar 2006) - - 20 Mar 2006; Henrik Brix Andersen <brix@gentoo.org> - +files/hostapd-0.5.2-conf.d, +files/hostapd-0.5.2-init.d, - +hostapd-0.5.2.ebuild: - New development snapshot. - - 15 Mar 2006; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.4.8.ebuild: - Stable on x86. - - 27 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.4.8.ebuild, - hostapd-0.5.0.ebuild, hostapd-0.5.0-r1.ebuild, hostapd-0.5.1.ebuild: - Fix madwifi compilation with ROOT != "/". - - 19 Feb 2006; Michael Hanselmann <hansmi@gentoo.org> - hostapd-0.4.7-r2.ebuild: - Stable on ppc. - - 16 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.5.0.ebuild, - hostapd-0.5.0-r1.ebuild, hostapd-0.5.1.ebuild: - Fix building with USE=-ssl. Thanks to langthang in bug #122987. - -*hostapd-0.4.8 (14 Feb 2006) - - 14 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> - +files/hostapd-0.4.8-conf.d, +files/hostapd-0.4.8-init.d, - +hostapd-0.4.8.ebuild: - New stable release from upstream. Backported madwifi support from 0.5.x - ebuilds. - - 13 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> - hostapd-0.4.7-r2.ebuild: - Stable on x86. - - 03 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> - -files/hostapd-0.3.9-conf.d, -files/hostapd-0.3.9-init.d, - -files/hostapd-0.4.5-conf.d, -files/hostapd-0.4.5-init.d, - -files/hostapd-0.4.5-prism54.patch, -files/hostapd-0.4.6-conf.d, - -files/hostapd-0.4.6-init.d, -files/hostapd.init.d, -hostapd-0.4.5.ebuild, - -hostapd-0.4.6.ebuild, -hostapd-0.4.7.ebuild: - Pruned old ebuilds. - -*hostapd-0.5.1 (30 Jan 2006) - - 30 Jan 2006; Henrik Brix Andersen <brix@gentoo.org> - +files/hostapd-0.5.1-conf.d, +files/hostapd-0.5.1-init.d, - +hostapd-0.5.1.ebuild: - New development snapshot. - -*hostapd-0.5.0-r1 (09 Jan 2006) -*hostapd-0.4.7-r2 (09 Jan 2006) - - 09 Jan 2006; Henrik Brix Andersen <brix@gentoo.org> - files/hostapd-0.4.7-init.d, files/hostapd-0.5.0-init.d, - +hostapd-0.4.7-r2.ebuild, +hostapd-0.5.0-r1.ebuild: - Fix init scripts to work with baselayout-1.12.0_rcX. - - 02 Jan 2006; Michael Hanselmann <hansmi@gentoo.org> - hostapd-0.4.7-r1.ebuild: - Stable on ppc. - - 30 Dec 2005; Henrik Brix Andersen <brix@gentoo.org> - hostapd-0.4.7-r1.ebuild: - Stable on x86. - -*hostapd-0.4.7-r1 (30 Dec 2005) - - 30 Dec 2005; Henrik Brix Andersen <brix@gentoo.org> - +hostapd-0.4.7-r1.ebuild: - Added version without madwifi support in preparation for marking it stable - on x86. - - 24 Dec 2005; Michael Hanselmann <hansmi@gentoo.org> - hostapd-0.3.9-r1.ebuild: - Stable on ppc. - -*hostapd-0.5.0 (20 Dec 2005) - - 20 Dec 2005; Henrik Brix Andersen <brix@gentoo.org> - +files/hostapd-0.5.0-conf.d, +files/hostapd-0.5.0-init.d, - +hostapd-0.5.0.ebuild: - New development snapshot. - -*hostapd-0.4.7 (21 Nov 2005) - - 21 Nov 2005; Henrik Brix Andersen <brix@gentoo.org> - +files/hostapd-0.4.7-conf.d, +files/hostapd-0.4.7-init.d, - +hostapd-0.4.7.ebuild: - First release of new stable branch. - -*hostapd-0.4.6 (29 Oct 2005) - - 29 Oct 2005; Henrik Brix Andersen <brix@gentoo.org> - +files/hostapd-0.4.6-conf.d, +files/hostapd-0.4.6-init.d, - +hostapd-0.4.6.ebuild: - New development release. - - 22 Oct 2005; Henrik Brix Andersen <brix@gentoo.org> - -files/hostapd-0.4.3-conf.d, -files/hostapd-0.4.3-init.d, - -files/hostapd-0.4.4-conf.d, -files/hostapd-0.4.4-init.d, - -hostapd-0.4.3.ebuild, -hostapd-0.4.4.ebuild, -hostapd-0.4.4-r1.ebuild: - Pruned old versions. - -*hostapd-0.4.5 (17 Oct 2005) - - 17 Oct 2005; Henrik Brix Andersen <brix@gentoo.org> - +files/hostapd-0.4.5-conf.d, +files/hostapd-0.4.5-init.d, - +files/hostapd-0.4.5-prism54.patch, +hostapd-0.4.5.ebuild: - New development snapshot, bug #108319. - - 17 Sep 2005; Simon Stelling <blubb@gentoo.org> hostapd-0.4.4-r1.ebuild: - added ~amd64 keyword - -*hostapd-0.4.4-r1 (22 Aug 2005) - - 22 Aug 2005; Henrik Brix Andersen <brix@gentoo.org> - files/hostapd-0.4.4-init.d, +hostapd-0.4.4-r1.ebuild: - Install more example configuration files, use SIGHUP for reloading - configuration in init script. - -*hostapd-0.4.4 (22 Aug 2005) - - 22 Aug 2005; Henrik Brix Andersen <brix@gentoo.org> - +files/hostapd-0.4.4-conf.d, +files/hostapd-0.4.4-init.d, - +hostapd-0.4.4.ebuild: - New development snapshot. Compile against headers installed by - net-wireless/madwifi-driver instead of local snapshot. - - 16 Aug 2005; Henrik Brix Andersen <brix@gentoo.org> ChangeLog: - Stable on x86. - - 13 Jul 2005; <brix@gentoo.org> -files/hostapd-0.4.0-conf.d, - -files/hostapd-0.4.0-init.d, -files/hostapd-0.4.1-conf.d, - -files/hostapd-0.4.1-init.d, -files/hostapd-0.4.2-conf.d, - -files/hostapd-0.4.2-init.d, -hostapd-0.2.5.ebuild, -hostapd-0.2.6.ebuild, - -hostapd-0.3.9.ebuild, -hostapd-0.4.0-r1.ebuild, -hostapd-0.4.1.ebuild, - -hostapd-0.4.2.ebuild: - Pruned old ebuilds. - - 08 Jul 2005; <brix@gentoo.org> hostapd-0.3.9.ebuild, - hostapd-0.3.9-r1.ebuild, hostapd-0.4.0-r1.ebuild, hostapd-0.4.1.ebuild, - hostapd-0.4.2.ebuild, hostapd-0.4.3.ebuild: - Fixed DEPEND/RDEPEND issue. - -*hostapd-0.4.3 (27 Jun 2005) - - 27 Jun 2005; <brix@gentoo.org> +files/hostapd-0.4.3-conf.d, - +files/hostapd-0.4.3-init.d, +hostapd-0.4.3.ebuild: - New development snapshot. - - 27 Jun 2005; David Holm <dholm@gentoo.org> hostapd-0.3.7.ebuild: - Stable on ppc. - -*hostapd-0.3.9-r1 (13 Jun 2005) - - 13 Jun 2005; <brix@gentoo.org> +files/hostapd-0.3.9-conf.d, - +files/hostapd-0.3.9-init.d, +hostapd-0.3.9-r1.ebuild: - Backported 0.4.x ebuild fixes to 0.3.9. - -*hostapd-0.4.2 (13 Jun 2005) - - 13 Jun 2005; <brix@gentoo.org> +files/hostapd-0.4.2-conf.d, - +files/hostapd-0.4.2-init.d, +hostapd-0.4.2.ebuild: - New development release. - -*hostapd-0.3.9 (11 Jun 2005) - - 11 Jun 2005; <brix@gentoo.org> +hostapd-0.3.9.ebuild: - New stable release. - -*hostapd-0.4.1 (23 May 2005) - - 23 May 2005; <brix@gentoo.org> +files/hostapd-0.4.1-conf.d, - +files/hostapd-0.4.1-init.d, +hostapd-0.4.1.ebuild: - New development release. - - 11 May 2005; <brix@gentoo.org> -hostapd-0.4.0.ebuild: - Removed old ebuild - -*hostapd-0.4.0-r1 (29 Apr 2005) - - 29 Apr 2005; <brix@gentoo.org> +files/hostapd-0.4.0-conf.d, - +files/hostapd-0.4.0-init.d, +hostapd-0.4.0-r1.ebuild: - Install hostapd_cli and man pages, restructured init script. - -*hostapd-0.4.0 (27 Apr 2005) - - 27 Apr 2005; <brix@gentoo.org> +hostapd-0.4.0.ebuild: - New development snapshot. - - 16 Apr 2005; <brix@gentoo.org> hostapd-0.3.7.ebuild: - Stable on x86. - - 13 Feb 2005; Henrik Brix Andersen <brix@gentoo.org> -hostapd-0.3.5.ebuild, - -hostapd-0.3.7_pre.ebuild: - Pruned old versions. - -*hostapd-0.3.7 (13 Feb 2005) - - 13 Feb 2005; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.3.7.ebuild: - New stable version from upstream. - -*hostapd-0.3.7_pre (07 Feb 2005) - - 07 Feb 2005; Henrik Brix Andersen <brix@gentoo.org> - +hostapd-0.3.7_pre.ebuild: - Added pre-release of 0.3.7 which is supposed to go stable soon, please test. - - 25 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> -hostapd-0.2.4.ebuild, - -hostapd-0.3.0.ebuild, -hostapd-0.3.1.ebuild, -hostapd-0.3.2.ebuild, - -hostapd-0.3.3.ebuild, -hostapd-0.3.4.ebuild: - Pruned old versions. - -*hostapd-0.3.5 (24 Jan 2005) - - 24 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.3.5.ebuild: - New development snapshot. - - 18 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.2.4.ebuild, - hostapd-0.2.5.ebuild, hostapd-0.2.6.ebuild, hostapd-0.3.0.ebuild, - hostapd-0.3.1.ebuild, hostapd-0.3.2.ebuild, hostapd-0.3.3.ebuild, - hostapd-0.3.4.ebuild: - Removed hostap-driver dependency, fixes bug #78094. - - 14 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.2.6.ebuild: - Stable on x86. - -*hostapd-0.3.4 (10 Jan 2005) - - 10 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.3.4.ebuild: - New development version, bumped included madwifi-driver. - -*hostapd-0.3.3 (03 Jan 2005) - - 03 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.3.3.ebuild: - New development snapshot. - -*hostapd-0.2.6 (26 Dec 2004) - - 26 Dec 2004; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.2.6.ebuild: - Version bump. - -*hostapd-0.3.2 (20 Dec 2004) - - 20 Dec 2004; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.3.2.ebuild: - Added new development snapshot. - -*hostapd-0.3.1 (13 Dec 2004) - - 13 Dec 2004; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.3.1.ebuild: - Version bump (development snapshot) - -*hostapd-0.3.0 (12 Dec 2004) - - 12 Dec 2004; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.3.0.ebuild: - Version bump. Please note that version 0.3.0 is a development snapshot. - - 12 Dec 2004; Daniel Black <dragonheart@gentoo.org> hostapd-0.2.5.ebuild: - ppc stable as per bug #74117. Changed DEPEND on kernel modules to a RDEPEND. - - 10 Dec 2004; Henrik Brix Andersen <brix@gentoo.org> -hostapd-0.1.0.ebuild, - -hostapd-0.1.3.ebuild: - Pruned ancient versions. - - 27 Nov 2004; Wolfram Schlich <wschlich@gentoo.org> hostapd-0.2.5.ebuild: - mark stable on x86 - - 01 Nov 2004; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.1.0.ebuild, - hostapd-0.1.3.ebuild, hostapd-0.2.4.ebuild, hostapd-0.2.5.ebuild: - Use tc-getCC() from toolchain-funcs.eclass, fixes bug #69282. - -*hostapd-0.2.5 (25 Oct 2004) - - 25 Oct 2004; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.2.5.ebuild: - Version bump. Cleaned up ebuild. - -*hostapd-0.2.4 (14 Sep 2004) - - 14 Sep 2004; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.2.4.ebuild: - Bump. Ebuild by latexer@gentoo.org. - -*hostapd-0.1.3 (09 Feb 2004) - - 09 Feb 2004; Wolfram Schlich <wschlich@gentoo.org> hostapd-0.1.3.ebuild: - Version bump - - 16 Dec 2003; Wolfram Schlich <wschlich@gentoo.org> hostapd-0.1.0.ebuild: - mark stable on x86 - - 11 Nov 2003; Peter Johanson <latexer@gentoo.org> metadata.xml: - Added to the new "mobile" herd. - -*hostapd-0.1.0 (21 Oct 2003) - - 21 Oct 2003; Wolfram Schlich <wschlich@gentoo.org> hostapd-0.1.0.ebuild, - metadata.xml: - Initial import - diff --git a/net-wireless/hostapd/Manifest b/net-wireless/hostapd/Manifest deleted file mode 100644 index b2423470..00000000 --- a/net-wireless/hostapd/Manifest +++ /dev/null @@ -1,14 +0,0 @@ -AUX cui-20120417.patch 13221 SHA256 b853484cd5d3e89e4eb96be3edf0bedef01922e74cd87578c6a2faf647f3180a SHA512 242f70701a59206ff980ff602e7d94f9a2afca7f4fbc2861086eb412863b3e7e73f76ea972a5ed24f7baf1810757add2a9839647fd605b94a1e6edbbeddc1452 WHIRLPOOL 02859bd43030a2df7fd12fc0952071b34e26ae718dfb568f2cefa52d0d69555033ed318784b2ffa9781a05b04913187d038ea24e30f74613907334dd7f5b77d8 -AUX cui-20120717.patch 12726 SHA256 ce24f99b5d45b78af750339ac8c05595b0faed7cecd99fa8e8072e65386d8e05 SHA512 23315310f21d15863aa5f01c907d23662023853732e45ae59d454cceda9dc3ab866df45712d6538978e8cb0c053955345b0714bf998961840d87553df985311b WHIRLPOOL 158d41102872aecc2ccb0cde2826cb76041f36f360a2a0f38a78ea87f8a540c5f3b688724f86199649ae5fa32e97ff8d8a92be67398e19d51f9ba363b540f511 -AUX hostapd-0.7.3-karma.patch 17778 SHA256 28b8963c836e0208d8f621c6345e27d66ad2a8df33eec99d2505fc7980019ee8 SHA512 c4a1231ae6ed613d3218bfb30c6a95f5cbcfc67371996522131cb4effb29c6fadf3b324ef2a308dab2046fa234ad86e9b0048a2f356f2a2b6413f5d22248830f WHIRLPOOL 5272fc3e1f4d9513562604c2f324aebbc38d8ff83e4bcca5cc79ab27c35475f7ffeabe780fd7fc73cf163cbe9536e8ca44b3b3996080926dcc11a97072cd7061 -AUX hostapd-1.0-karma-0.2.patch 39202 SHA256 ce40eb1f2a205ef9ec5d0ff87c9df85a86cb21cbe016a324a9bfddb728b57685 SHA512 94e8ea5a57859063c0b8c33709dcef72392c6b8e27c5003ed9217e9756ae39936348daf480fcf829f32ce56783fb817772425ba832f6adab7561a949ea3f6421 WHIRLPOOL c1827bc5ab346ff5249d2751090b953767a6e8696b60c03aefe578c4d5bf9e990426acecbca2f7d67d1e151262ce3ea994704789b7522e365b3a1678dbb41c79 -AUX hostapd-1.0-karma.patch 15724 SHA256 9f4d853c2974607aed7accb5785df224e3abdce4baf4dee787ca45421c85ec87 SHA512 694e8e03db5e3577359b0cc5c530ef528dd2bbeb64351060113fe67ee4446495999330edc5f38c3206c8525c5f401e35ca8a3c0f372f5c8e3205172680cf7fd9 WHIRLPOOL 36f6a45310a642fb2b1c2225d560ac85b1c08074c08108682fbb638ad27f8d01858ba48a2b64ffaa01832a52185afe5c39b521635b8767abdfaefb6c84a0a903 -AUX hostapd-1.0-libnl_path_fix.patch 892 SHA256 7ec9489fed14b7f3916d0aab63e34886bcf39d07c257101df53e16ef4db2b95d SHA512 10b1db56ec2bb8a2ab04dcd50b5a0442efdd4814ef6a4effc50d0157d61fc993ebb6f2f6775566fc0341668ad314dd2d4ec4e91177d59d76c59b8ceb2bf4c2f4 WHIRLPOOL ae16d72eb649d7267191a2542c204da92493279f3d09dc9de4349ca4a8db9d7e5f46d3d824e4b22900ad257e1bdcf86b26fb46eee63cbb8af48bd739b0d27ea0 -AUX hostapd-1.0-tls_length_fix.patch 1859 SHA256 bbca0422a0babbf9d7fad2b758ecddaae45624db1b2db6d7663292548e25906a SHA512 e354e9352605003101cba296735232d11ac685f1db8718e5d59b55de1b86b55144e4871afe85cae4374f52af1b42df3ebd4747e109c86e0750ef9eb5345453d7 WHIRLPOOL 6a9379b09ffb73d13ea813952e2b39b5ab90ec98a27ed211ff2904d52e346c9e6273fe99e8ae6509773597afa352d9e77f3081103c5e5c55c86e12f8176a5419 -AUX hostapd-conf.d 245 SHA256 916f4b14095ee4ec8a510391c883e9f01868e18d79a3d5cbeb13a104a793d45d SHA512 f07a6cd209eca351b8545017c5f025282c3fdea838ca3df49e362571ded43973281ce4ff83984b1299db15ea9b5c21a42cbda91432220af9146bf034e2265c30 WHIRLPOOL 0ab1dbd8e04df9e7b8ae875dfdfdcdd770e4fcb62197bb81e47588a9ecf0b8bb715adbde34f2be82d630fdd536e9f888f463dd12cab0c06220c345b0093a3dd5 -AUX hostapd-init.d 1022 SHA256 a220058841e66a11603df8e968ccc68945f01e1d11c1ae498922d0e01f6fa804 SHA512 0d9d3c69c7b4c50ab08a7633b3b0b2f770647045ba967de628c34bf37644dcae6ef8288cab0fd0508b8ee8eafa8f48bda0d378c5aadbbbc5cde9f5441f7c97a1 WHIRLPOOL e86f507cff5712ff2590f39c58989a379b81feb40cedcd424188e055ac38f772a7bb9c1089efabd6ff104078257aa2a20a82790e17b085c03264d35b6f4e274d -DIST hostapd-1.0.tar.gz 1327943 SHA256 002e9dcb7e46cf82b5900a2fcf92b30fc8cdfd32a72d7fd4488588f1c013dfcc SHA512 2f189ef3d52099ee249a96820b257f331e0cb601e89dc01c583ec697d5e9a68f6b80c2913bbb4b37f18dc4a218f34ed9deb0357d55509de9d0f58dd60df33a8b WHIRLPOOL 79f0fd8b7f256d69771f8b022e74ee9908a6a613c875392cf151bdada86c077bbf8e88213547efa64c240daf9fb5e5f9bffe2fa5f7f98d5ca27d5d7058f5995a -EBUILD hostapd-1.0-r4.ebuild 5519 SHA256 c911846537d95e6ce101988af1157ec772d03ce34da0ec6aa657580e4b497852 SHA512 7e01750d68513e33c0ee8848dd6ee851a32cfb500aa0cfae802b7aabaf86b32c2992b229f1f94f345ecc8dc0b4f220483f4b05f9f87b89b6fca8d37b6af0543b WHIRLPOOL 5dffe8e9070db5c2d71b4df1cedf52a7bf3f57308f76b4a13d2c11f6083c0e611c42c389ba9a75e4d15dba93534d18054a4b662b7223cf278de45e3362ca00cd -EBUILD hostapd-1.0-r5.ebuild 5523 SHA256 61d713f72dae5f93b4cdaf9328edc29bb589ac67221b7ca220e544ae44abebac SHA512 ec9d9a96dcc3ea31529c827fbbe0095fb2e14125c1c35820a588352ecd44c7cef4ce6e590773294501f4d79e7d5ca0ebd2dc3cdf29e221bfc10bab19231d26f8 WHIRLPOOL ba48f2800633aaeb903cacca4830254b80a79079bc89333555dca325654ba94dc74af0e8c83e99f1d0b19c41cdd902a7b209c32dc6c618ed012460c0a037080b -MISC ChangeLog 20312 SHA256 4a1673cde56f1b7ea1dfd20f0ac702ad3e7e916b84cfdf4f5aa0448d01b13659 SHA512 1c03ba7921beb21500e160aa5abfb867967777f0c4a36e220524bde419a30663a03d38b757c97405a88e1a5a2baf91e27b8022514ae99bdd1b4768ad520ec15e WHIRLPOOL 3c0df927502c29770fcac11fad0a5c655ff05674fc7444fef1e4a68cdbb55b1690efd3b89d3240a978f045d33029be036961a44095173660cfe4d20c3a05918b -MISC metadata.xml 752 SHA256 78c8bab11c00f4988d677b1f4bf5a66c3221c0f9a3c46cfaf333a8857f250662 SHA512 c9e8749a721896e4b91ee76b9008e8a3e0d58496d804a6ce103fa501ccd0322b18b28f69432babc506a4c97a22c993da11c34946d6b44517b3cbb45f80bf6bde WHIRLPOOL c8cc369fa5d5725617c4143053bef31f34fdc40b9a7c36a082765d5e9afcd12f5b45d567e7ea3e2431dfbbf3378daf05b73aead94978e650e012652e1928d7aa diff --git a/net-wireless/hostapd/files/cui-20120417.patch b/net-wireless/hostapd/files/cui-20120417.patch deleted file mode 100644 index 702f55c4..00000000 --- a/net-wireless/hostapd/files/cui-20120417.patch +++ /dev/null @@ -1,451 +0,0 @@ -diff -rupN hostapd-0.7.3/src/ap/accounting.c src/ap/accounting.c ---- hostapd-0.7.3/src/ap/accounting.c 2010-09-07 08:43:39.000000000 -0700 -+++ src/ap/accounting.c 2011-09-06 21:01:36.000000000 -0700 -@@ -24,6 +24,7 @@ - #include "ap_config.h" - #include "sta_info.h" - #include "accounting.h" -+/*#include "eapol_auth/eapol_auth_sm_i.h"*/ - - - /* Default interval in seconds for polling TX/RX octets from the driver if -@@ -43,7 +44,10 @@ static struct radius_msg * accounting_ms - char buf[128]; - u8 *val; - size_t len; -+ u8 *cui; /*Define CUI Attribute*/ -+ size_t cui_len; /*Define CUI Attribute length*/ - int i; -+ struct eapol_state_machine *sm = sta->eapol_sm; - - msg = radius_msg_new(RADIUS_CODE_ACCOUNTING_REQUEST, - radius_client_get_id(hapd->radius)); -@@ -82,7 +86,9 @@ static struct radius_msg * accounting_ms - - if (sta) { - val = ieee802_1x_get_identity(sta->eapol_sm, &len); -+ printf("GOT ID\n"); - if (!val) { -+ - os_snprintf(buf, sizeof(buf), RADIUS_ADDR_FORMAT, - MAC2STR(sta->addr)); - val = (u8 *) buf; -@@ -94,6 +100,30 @@ static struct radius_msg * accounting_ms - printf("Could not add User-Name\n"); - goto fail; - } -+ -+ -+ /*Check if the CUI attribute is set, if so returns the TRUE or FALSE accordingly**************/ -+ if (getSetCui(sta->eapol_sm)){ -+ cui=get_CUI (sta->eapol_sm, &cui_len); -+ printf("GOT CUI\n"); -+ -+ if (!cui) { -+ -+ os_snprintf(buf, sizeof(buf), RADIUS_ADDR_FORMAT, -+ MAC2STR(sta->addr)); -+ cui = (u8 *) buf; -+ cui_len = os_strlen(buf); -+ } -+ if (!radius_msg_add_attr(msg, RADIUS_ATTR_CHARGEABLE_USER_IDENTITY, cui, -+ cui_len)) { /*Add CUI attribute to the Accounting Request Message*/ -+ printf("Could not add CUI\n"); -+ goto fail; -+ } -+ /********************/ -+ } -+ /*else { */ -+ /* printf ("PROBLEM IN IF\n");*/ -+ /*}*/ - } - - if (hapd->conf->own_ip_addr.af == AF_INET && -diff -rupN hostapd-0.7.3/src/ap/accounting.h src/ap/accounting.h ---- hostapd-0.7.3/src/ap/accounting.h 2010-09-07 08:43:39.000000000 -0700 -+++ src/ap/accounting.h 2011-07-25 19:26:06.000000000 -0700 -@@ -22,6 +22,7 @@ static inline void accounting_sta_start( - { - } - -+ - static inline void accounting_sta_stop(struct hostapd_data *hapd, - struct sta_info *sta) - { -diff -rupN hostapd-0.7.3/src/ap/ieee802_1x.c src/ap/ieee802_1x.c ---- hostapd-0.7.3/src/ap/ieee802_1x.c 2010-09-07 08:43:39.000000000 -0700 -+++ src/ap/ieee802_1x.c 2011-09-06 20:59:54.000000000 -0700 -@@ -899,6 +899,7 @@ void ieee802_1x_new_station(struct hosta - * re-authentication without having to wait for the - * Supplicant to send EAPOL-Start. - */ -+ printf("REAUTHENTICATION-EAPOL"); - sta->eapol_sm->reAuthenticate = TRUE; - } - eapol_auth_step(sta->eapol_sm); -@@ -1138,6 +1139,68 @@ static void ieee802_1x_update_sta_identi - sm->identity_len = len; - } - -+/* This method is used to Set the CUI attribute Value**************************************/ -+static void set_cui(struct hostapd_data *hapd, -+ struct sta_info *sta, -+ struct radius_msg *msg) -+ -+{ -+ u8 *buf,*cui_identity; -+ size_t len; -+ struct eapol_state_machine *sm = sta->eapol_sm; -+ -+ if (sm == NULL) -+ return; -+ -+ if (radius_msg_get_attr_ptr(msg, RADIUS_ATTR_CHARGEABLE_USER_IDENTITY, &buf, &len, -+ NULL) < 0) -+ return; -+ cui_identity = os_malloc(len + 1); -+ if (cui_identity == NULL) -+ return; -+ os_memcpy(cui_identity, buf, len); -+ cui_identity[len] = '\0'; -+ -+ sm->cui = cui_identity; -+ sm->cui_len = len; -+ printf(" SET CUI %s",(char *) cui_identity); -+ -+ -+} -+ -+ -+/* **************************************/ -+ -+/*check CUI attribute is available in Access Accept */ -+static void check_cuiAttr (struct radius_msg *msg,struct sta_info *sta, struct hostapd_data *hapd) -+{ -+ -+ struct eapol_state_machine *sm = sta->eapol_sm; /*Define a pointer to eapol_state_machine*/ -+ -+ -+ size_t i; -+ -+ for (i = 0;i<msg->attr_used;i++) -+ { struct radius_attr_hdr *attr = radius_get_attr_hdr(msg, i); -+ if (attr->type == RADIUS_ATTR_CHARGEABLE_USER_IDENTITY) /*check CUI attribute is availabe in Access-Accept packet*/ -+ { -+ printf("CUI Attribute is Available"); -+ sm->cuiAvailable = TRUE; -+ set_cui(hapd, sta, msg); -+ break; -+ -+ } -+ else { -+ sm->cuiAvailable = FALSE; -+ printf ("CUI is not available in this packet"); -+ -+ } -+ -+ -+ } -+ -+} -+ - - struct sta_id_search { - u8 identifier; -@@ -1298,6 +1361,8 @@ ieee802_1x_receive_auth(struct radius_ms - shared_secret_len); - ieee802_1x_store_radius_class(hapd, sta, msg); - ieee802_1x_update_sta_identity(hapd, sta, msg); -+ /*set_cui(hapd, sta, msg);*/ -+ check_cuiAttr (msg,sta,hapd); - if (sm->eap_if->eapKeyAvailable && - wpa_auth_pmksa_add(sta->wpa_sm, sm->eapol_key_crypt, - session_timeout_set ? -@@ -1777,6 +1842,27 @@ u8 * ieee802_1x_get_identity(struct eapo - } - - -+ -+u8 * get_CUI(struct eapol_state_machine *sm, size_t *len) /* return CUI Attribute Value ******************************/ -+{ -+ if (sm == NULL || sm->identity == NULL) -+ return NULL; -+ -+ *len = sm->cui_len; -+ return sm->cui; -+} -+ -+Boolean getSetCui (struct eapol_state_machine *sm) /*Check if the CUI value is set or not, and returns TRUE or FALSE accordingly*/ -+ -+{ if (sm->cuiAvailable) -+ return TRUE; -+else -+ return FALSE; -+ } -+ -+/*****************************/ -+ -+ - u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t *len, - int idx) - { -diff -rupN hostapd-0.7.3/src/ap/ieee802_1x.h src/ap/ieee802_1x.h ---- hostapd-0.7.3/src/ap/ieee802_1x.h 2010-09-07 08:43:39.000000000 -0700 -+++ src/ap/ieee802_1x.h 2011-07-25 19:43:10.000000000 -0700 -@@ -69,6 +69,13 @@ void ieee802_1x_deinit(struct hostapd_da - int ieee802_1x_tx_status(struct hostapd_data *hapd, struct sta_info *sta, - const u8 *buf, size_t len, int ack); - u8 * ieee802_1x_get_identity(struct eapol_state_machine *sm, size_t *len); -+ -+/** definig CUI get function */ -+u8 * get_CUI(struct eapol_state_machine *sm, size_t *len); -+Boolean getSetCui (struct eapol_state_machine *sm); -+ -+/*********************/ -+ - u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t *len, - int idx); - const u8 * ieee802_1x_get_key(struct eapol_state_machine *sm, size_t *len); -diff -rupN hostapd-0.7.3/src/ap/pmksa_cache_auth.c src/ap/pmksa_cache_auth.c ---- hostapd-0.7.3/src/ap/pmksa_cache_auth.c 2010-09-07 08:43:39.000000000 -0700 -+++ src/ap/pmksa_cache_auth.c 2011-09-06 22:42:00.000000000 -0700 -@@ -142,6 +142,20 @@ static void pmksa_cache_from_eapol_data( - } - } - -+/*set to cui in to cache*/ -+ -+ if (eapol ->cui) { -+ -+ entry ->cui = os_malloc(eapol->cui_len); /*Allocate memory for CUI attribute*/ -+ if (entry->cui) { -+ entry->cui_len = eapol->cui_len; -+ os_memcpy(entry->cui, eapol->cui, -+ eapol->cui_len); -+ } -+ } -+ -+/*set to cui in to cache*/ -+ - #ifndef CONFIG_NO_RADIUS - radius_copy_class(&entry->radius_class, &eapol->radius_class); - #endif /* CONFIG_NO_RADIUS */ -@@ -169,6 +183,25 @@ void pmksa_cache_to_eapol_data(struct rs - eapol->identity, eapol->identity_len); - } - -+/*Added to get CUI from the cache*/ -+ -+ -+ if (entry->cui) { -+ os_free(eapol->cui); -+ -+ eapol->cui = os_malloc(entry->cui_len); -+ eapol->cuiAvailable=TRUE; -+ if (eapol->cui) { -+ eapol->cui_len = entry->cui_len; -+ os_memcpy(eapol->cui, entry->cui, -+ entry->cui_len); /*copy the CUI attribute value to EAPOL data structure*/ -+ } -+ wpa_hexdump_ascii(MSG_DEBUG, "CUIfrom PMKSA", -+ eapol->cui, eapol->cui_len); -+ } -+ -+ /*Added to get CUI from the cache*/ -+ - #ifndef CONFIG_NO_RADIUS - radius_free_class(&eapol->radius_class); - radius_copy_class(&eapol->radius_class, &entry->radius_class); -@@ -180,6 +213,7 @@ void pmksa_cache_to_eapol_data(struct rs - - eapol->eap_type_authsrv = entry->eap_type_authsrv; - ((struct sta_info *) eapol->sta)->vlan_id = entry->vlan_id; -+ printf ("GETTING CACHE ENTRY\n"); - } - - -diff -rupN hostapd-0.7.3/src/ap/pmksa_cache_auth.h src/ap/pmksa_cache_auth.h ---- hostapd-0.7.3/src/ap/pmksa_cache_auth.h 2010-09-07 08:43:39.000000000 -0700 -+++ src/ap/pmksa_cache_auth.h 2011-08-07 19:19:44.000000000 -0700 -@@ -31,6 +31,8 @@ struct rsn_pmksa_cache_entry { - - u8 *identity; - size_t identity_len; -+ u8 *cui; /* cui by me*/ -+ size_t cui_len; /*Size of the cached cui by me*/ - struct radius_class_data radius_class; - u8 eap_type_authsrv; - int vlan_id; -diff -rupN hostapd-0.7.3/src/common/ieee802_11_common.c src/common/ieee802_11_common.c ---- hostapd-0.7.3/src/common/ieee802_11_common.c 2010-09-07 08:43:39.000000000 -0700 -+++ src/common/ieee802_11_common.c 2011-07-25 17:56:38.000000000 -0700 -@@ -31,8 +31,8 @@ static int ieee802_11_parse_vendor_speci - if (elen < 4) { - if (show_errors) { - wpa_printf(MSG_MSGDUMP, "short vendor specific " -- "information element ignored (len=%lu)", -- (unsigned long) elen); -+ "information element ignored (len=%lu)", -+ (unsigned long) elen); - } - return -1; - } -diff -rupN hostapd-0.7.3/src/eapol_auth/eapol_auth_sm_i.h src/eapol_auth/eapol_auth_sm_i.h ---- hostapd-0.7.3/src/eapol_auth/eapol_auth_sm_i.h 2010-09-07 08:43:39.000000000 -0700 -+++ src/eapol_auth/eapol_auth_sm_i.h 2011-09-06 20:43:46.000000000 -0700 -@@ -75,6 +75,7 @@ struct eapol_state_machine { - /* variables */ - Boolean eapolLogoff; - Boolean eapolStart; -+ Boolean cuiAvailable; /*to check CUI is available in AcessAccept*/ - PortTypes portMode; - unsigned int reAuthCount; - /* constants */ -@@ -159,6 +160,8 @@ struct eapol_state_machine { - u8 last_eap_id; /* last used EAP Identifier */ - u8 *identity; - size_t identity_len; -+ u8 *cui; /*Define CUI Attribute*/ -+ size_t cui_len; /*Define CUI attribute length*/ - u8 eap_type_authsrv; /* EAP type of the last EAP packet from - * Authentication server */ - u8 eap_type_supp; /* EAP type of the last EAP packet from Supplicant */ -diff -rupN hostapd-0.7.3/src/radius/radius.c src/radius/radius.c ---- hostapd-0.7.3/src/radius/radius.c 2010-09-07 08:43:39.000000000 -0700 -+++ src/radius/radius.c 2011-07-25 18:41:30.000000000 -0700 -@@ -24,16 +24,16 @@ - /** - * struct radius_msg - RADIUS message structure for new and parsed messages - */ --struct radius_msg { -+//struct radius_msg { - /** - * buf - Allocated buffer for RADIUS message - */ -- struct wpabuf *buf; -+ //struct wpabuf *buf; - - /** - * hdr - Pointer to the RADIUS header in buf - */ -- struct radius_hdr *hdr; -+ //struct radius_hdr *hdr; - - /** - * attr_pos - Array of indexes to attributes -@@ -41,18 +41,18 @@ struct radius_msg { - * The values are number of bytes from buf to the beginning of - * struct radius_attr_hdr. - */ -- size_t *attr_pos; -+ //size_t *attr_pos; - - /** - * attr_size - Total size of the attribute pointer array - */ -- size_t attr_size; -+ //size_t attr_size; - - /** - * attr_used - Total number of attributes in the array - */ -- size_t attr_used; --}; -+ //size_t attr_used; -+//}; - - - struct radius_hdr * radius_msg_get_hdr(struct radius_msg *msg) -@@ -66,7 +66,7 @@ struct wpabuf * radius_msg_get_buf(struc - return msg->buf; - } - -- -+/* - static struct radius_attr_hdr * - radius_get_attr_hdr(struct radius_msg *msg, int idx) - { -@@ -74,7 +74,7 @@ radius_get_attr_hdr(struct radius_msg *m - (wpabuf_mhead_u8(msg->buf) + msg->attr_pos[idx]); - } - -- -+*/ - static void radius_msg_set_hdr(struct radius_msg *msg, u8 code, u8 identifier) - { - msg->hdr->code = code; -diff -rupN hostapd-0.7.3/src/radius/radius.h src/radius/radius.h ---- hostapd-0.7.3/src/radius/radius.h 2010-09-07 08:43:39.000000000 -0700 -+++ src/radius/radius.h 2011-07-25 18:44:42.000000000 -0700 -@@ -21,6 +21,45 @@ - #pragma pack(push, 1) - #endif /* _MSC_VER */ - -+/************************/ -+struct radius_msg { -+ /** -+ * buf - Allocated buffer for RADIUS message -+ */ -+ struct wpabuf *buf; -+ -+ /** -+ * hdr - Pointer to the RADIUS header in buf -+ */ -+ struct radius_hdr *hdr; -+ -+ /** -+ * attr_pos - Array of indexes to attributes -+ * -+ * The values are number of bytes from buf to the beginning of -+ * struct radius_attr_hdr. -+ */ -+ size_t *attr_pos; -+ -+ /** -+ * attr_size - Total size of the attribute pointer array -+ */ -+ size_t attr_size; -+ -+ /** -+ * attr_used - Total number of attributes in the array -+ */ -+ size_t attr_used; -+}; -+ -+ -+ -+ -+/***********************/ -+ -+ -+ -+ - struct radius_hdr { - u8 code; - u8 identifier; -@@ -201,6 +240,10 @@ void radius_msg_finish_acct(struct radiu - size_t secret_len); - struct radius_attr_hdr * radius_msg_add_attr(struct radius_msg *msg, u8 type, - const u8 *data, size_t data_len); -+ -+/****************************/ -+ -+/*****************************/ - struct radius_msg * radius_msg_parse(const u8 *data, size_t len); - int radius_msg_add_eap(struct radius_msg *msg, const u8 *data, - size_t data_len); -@@ -238,7 +281,13 @@ static inline int radius_msg_add_attr_in - u32 val = htonl(value); - return radius_msg_add_attr(msg, type, (u8 *) &val, 4) != NULL; - } -- -+/**********************/ -+static struct radius_attr_hdr * radius_get_attr_hdr(struct radius_msg *msg, int idx) -+{ -+ return (struct radius_attr_hdr *) -+ (wpabuf_mhead_u8(msg->buf) + msg->attr_pos[idx]); -+} -+/**************************/ - static inline int radius_msg_get_attr_int32(struct radius_msg *msg, u8 type, - u32 *value) - { diff --git a/net-wireless/hostapd/files/cui-20120717.patch b/net-wireless/hostapd/files/cui-20120717.patch deleted file mode 100644 index e6e5e8dc..00000000 --- a/net-wireless/hostapd/files/cui-20120717.patch +++ /dev/null @@ -1,451 +0,0 @@ -diff -urN hostapd-1.0.orig//src/ap/accounting.c hostapd-1.0/src/ap/accounting.c ---- hostapd-1.0.orig//src/ap/accounting.c 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/ap/accounting.c 2012-07-17 18:40:21.000000000 +0800 -@@ -25,6 +25,7 @@ - #include "sta_info.h" - #include "ap_drv_ops.h" - #include "accounting.h" -+/*#include "eapol_auth/eapol_auth_sm_i.h"*/ - - - /* Default interval in seconds for polling TX/RX octets from the driver if -@@ -44,7 +45,10 @@ - char buf[128]; - u8 *val; - size_t len; -+ u8 *cui; /*Define CUI Attribute*/ -+ size_t cui_len; /*Define CUI Attribute length*/ - int i; -+ struct eapol_state_machine *sm = sta->eapol_sm; - - msg = radius_msg_new(RADIUS_CODE_ACCOUNTING_REQUEST, - radius_client_get_id(hapd->radius)); -@@ -83,7 +87,9 @@ - - if (sta) { - val = ieee802_1x_get_identity(sta->eapol_sm, &len); -+ printf("GOT ID\n"); - if (!val) { -+ - os_snprintf(buf, sizeof(buf), RADIUS_ADDR_FORMAT, - MAC2STR(sta->addr)); - val = (u8 *) buf; -@@ -95,6 +101,30 @@ - printf("Could not add User-Name\n"); - goto fail; - } -+ -+ -+ /*Check if the CUI attribute is set, if so returns the TRUE or FALSE accordingly**************/ -+ if (getSetCui(sta->eapol_sm)){ -+ cui=get_CUI (sta->eapol_sm, &cui_len); -+ printf("GOT CUI\n"); -+ -+ if (!cui) { -+ -+ os_snprintf(buf, sizeof(buf), RADIUS_ADDR_FORMAT, -+ MAC2STR(sta->addr)); -+ cui = (u8 *) buf; -+ cui_len = os_strlen(buf); -+ } -+ if (!radius_msg_add_attr(msg, RADIUS_ATTR_CHARGEABLE_USER_IDENTITY, cui, -+ cui_len)) { /*Add CUI attribute to the Accounting Request Message*/ -+ printf("Could not add CUI\n"); -+ goto fail; -+ } -+ /********************/ -+ } -+ /*else { */ -+ /* printf ("PROBLEM IN IF\n");*/ -+ /*}*/ - } - - if (hapd->conf->own_ip_addr.af == AF_INET && -diff -urN hostapd-1.0.orig//src/ap/accounting.h hostapd-1.0/src/ap/accounting.h ---- hostapd-1.0.orig//src/ap/accounting.h 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/ap/accounting.h 2012-07-17 18:40:21.000000000 +0800 -@@ -22,6 +22,7 @@ - { - } - -+ - static inline void accounting_sta_stop(struct hostapd_data *hapd, - struct sta_info *sta) - { -diff -urN hostapd-1.0.orig//src/ap/ieee802_1x.c hostapd-1.0/src/ap/ieee802_1x.c ---- hostapd-1.0.orig//src/ap/ieee802_1x.c 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/ap/ieee802_1x.c 2012-07-17 18:40:21.000000000 +0800 -@@ -966,6 +966,7 @@ - * re-authentication without having to wait for the - * Supplicant to send EAPOL-Start. - */ -+ printf("REAUTHENTICATION-EAPOL"); - sta->eapol_sm->reAuthenticate = TRUE; - } - eapol_auth_step(sta->eapol_sm); -@@ -1205,6 +1206,68 @@ - sm->identity_len = len; - } - -+/* This method is used to Set the CUI attribute Value**************************************/ -+static void set_cui(struct hostapd_data *hapd, -+ struct sta_info *sta, -+ struct radius_msg *msg) -+ -+{ -+ u8 *buf,*cui_identity; -+ size_t len; -+ struct eapol_state_machine *sm = sta->eapol_sm; -+ -+ if (sm == NULL) -+ return; -+ -+ if (radius_msg_get_attr_ptr(msg, RADIUS_ATTR_CHARGEABLE_USER_IDENTITY, &buf, &len, -+ NULL) < 0) -+ return; -+ cui_identity = os_malloc(len + 1); -+ if (cui_identity == NULL) -+ return; -+ os_memcpy(cui_identity, buf, len); -+ cui_identity[len] = '\0'; -+ -+ sm->cui = cui_identity; -+ sm->cui_len = len; -+ printf(" SET CUI %s",(char *) cui_identity); -+ -+ -+} -+ -+ -+/* **************************************/ -+ -+/*check CUI attribute is available in Access Accept */ -+static void check_cuiAttr (struct radius_msg *msg,struct sta_info *sta, struct hostapd_data *hapd) -+{ -+ -+ struct eapol_state_machine *sm = sta->eapol_sm; /*Define a pointer to eapol_state_machine*/ -+ -+ -+ size_t i; -+ -+ for (i = 0;i<msg->attr_used;i++) -+ { struct radius_attr_hdr *attr = radius_get_attr_hdr(msg, i); -+ if (attr->type == RADIUS_ATTR_CHARGEABLE_USER_IDENTITY) /*check CUI attribute is availabe in Access-Accept packet*/ -+ { -+ printf("CUI Attribute is Available"); -+ sm->cuiAvailable = TRUE; -+ set_cui(hapd, sta, msg); -+ break; -+ -+ } -+ else { -+ sm->cuiAvailable = FALSE; -+ printf ("CUI is not available in this packet"); -+ -+ } -+ -+ -+ } -+ -+} -+ - - struct sta_id_search { - u8 identifier; -@@ -1365,6 +1428,8 @@ - shared_secret_len); - ieee802_1x_store_radius_class(hapd, sta, msg); - ieee802_1x_update_sta_identity(hapd, sta, msg); -+ /*set_cui(hapd, sta, msg);*/ -+ check_cuiAttr (msg,sta,hapd); - if (sm->eap_if->eapKeyAvailable && - wpa_auth_pmksa_add(sta->wpa_sm, sm->eapol_key_crypt, - session_timeout_set ? -@@ -1859,6 +1924,27 @@ - } - - -+ -+u8 * get_CUI(struct eapol_state_machine *sm, size_t *len) /* return CUI Attribute Value ******************************/ -+{ -+ if (sm == NULL || sm->identity == NULL) -+ return NULL; -+ -+ *len = sm->cui_len; -+ return sm->cui; -+} -+ -+Boolean getSetCui (struct eapol_state_machine *sm) /*Check if the CUI value is set or not, and returns TRUE or FALSE accordingly*/ -+ -+{ if (sm->cuiAvailable) -+ return TRUE; -+else -+ return FALSE; -+ } -+ -+/*****************************/ -+ -+ - u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t *len, - int idx) - { -diff -urN hostapd-1.0.orig//src/ap/ieee802_1x.h hostapd-1.0/src/ap/ieee802_1x.h ---- hostapd-1.0.orig//src/ap/ieee802_1x.h 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/ap/ieee802_1x.h 2012-07-17 18:40:21.000000000 +0800 -@@ -69,6 +69,13 @@ - int ieee802_1x_tx_status(struct hostapd_data *hapd, struct sta_info *sta, - const u8 *buf, size_t len, int ack); - u8 * ieee802_1x_get_identity(struct eapol_state_machine *sm, size_t *len); -+ -+/** definig CUI get function */ -+u8 * get_CUI(struct eapol_state_machine *sm, size_t *len); -+Boolean getSetCui (struct eapol_state_machine *sm); -+ -+/*********************/ -+ - u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t *len, - int idx); - const u8 * ieee802_1x_get_key(struct eapol_state_machine *sm, size_t *len); -diff -urN hostapd-1.0.orig//src/ap/pmksa_cache_auth.c hostapd-1.0/src/ap/pmksa_cache_auth.c ---- hostapd-1.0.orig//src/ap/pmksa_cache_auth.c 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/ap/pmksa_cache_auth.c 2012-07-17 18:40:21.000000000 +0800 -@@ -142,6 +142,20 @@ - } - } - -+/*set to cui in to cache*/ -+ -+ if (eapol ->cui) { -+ -+ entry ->cui = os_malloc(eapol->cui_len); /*Allocate memory for CUI attribute*/ -+ if (entry->cui) { -+ entry->cui_len = eapol->cui_len; -+ os_memcpy(entry->cui, eapol->cui, -+ eapol->cui_len); -+ } -+ } -+ -+/*set to cui in to cache*/ -+ - #ifndef CONFIG_NO_RADIUS - radius_copy_class(&entry->radius_class, &eapol->radius_class); - #endif /* CONFIG_NO_RADIUS */ -@@ -169,6 +183,25 @@ - eapol->identity, eapol->identity_len); - } - -+/*Added to get CUI from the cache*/ -+ -+ -+ if (entry->cui) { -+ os_free(eapol->cui); -+ -+ eapol->cui = os_malloc(entry->cui_len); -+ eapol->cuiAvailable=TRUE; -+ if (eapol->cui) { -+ eapol->cui_len = entry->cui_len; -+ os_memcpy(eapol->cui, entry->cui, -+ entry->cui_len); /*copy the CUI attribute value to EAPOL data structure*/ -+ } -+ wpa_hexdump_ascii(MSG_DEBUG, "CUIfrom PMKSA", -+ eapol->cui, eapol->cui_len); -+ } -+ -+ /*Added to get CUI from the cache*/ -+ - #ifndef CONFIG_NO_RADIUS - radius_free_class(&eapol->radius_class); - radius_copy_class(&eapol->radius_class, &entry->radius_class); -@@ -180,6 +213,7 @@ - - eapol->eap_type_authsrv = entry->eap_type_authsrv; - ((struct sta_info *) eapol->sta)->vlan_id = entry->vlan_id; -+ printf ("GETTING CACHE ENTRY\n"); - } - - -diff -urN hostapd-1.0.orig//src/ap/pmksa_cache_auth.h hostapd-1.0/src/ap/pmksa_cache_auth.h ---- hostapd-1.0.orig//src/ap/pmksa_cache_auth.h 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/ap/pmksa_cache_auth.h 2012-07-17 18:40:21.000000000 +0800 -@@ -31,6 +31,8 @@ - - u8 *identity; - size_t identity_len; -+ u8 *cui; /* cui by me*/ -+ size_t cui_len; /*Size of the cached cui by me*/ - struct radius_class_data radius_class; - u8 eap_type_authsrv; - int vlan_id; -diff -urN hostapd-1.0.orig//src/common/ieee802_11_common.c hostapd-1.0/src/common/ieee802_11_common.c ---- hostapd-1.0.orig//src/common/ieee802_11_common.c 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/common/ieee802_11_common.c 2012-07-17 18:40:21.000000000 +0800 -@@ -31,8 +31,8 @@ - if (elen < 4) { - if (show_errors) { - wpa_printf(MSG_MSGDUMP, "short vendor specific " -- "information element ignored (len=%lu)", -- (unsigned long) elen); -+ "information element ignored (len=%lu)", -+ (unsigned long) elen); - } - return -1; - } -diff -urN hostapd-1.0.orig//src/eapol_auth/eapol_auth_sm_i.h hostapd-1.0/src/eapol_auth/eapol_auth_sm_i.h ---- hostapd-1.0.orig//src/eapol_auth/eapol_auth_sm_i.h 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/eapol_auth/eapol_auth_sm_i.h 2012-07-17 18:40:21.000000000 +0800 -@@ -75,6 +75,7 @@ - /* variables */ - Boolean eapolLogoff; - Boolean eapolStart; -+ Boolean cuiAvailable; /*to check CUI is available in AcessAccept*/ - PortTypes portMode; - unsigned int reAuthCount; - /* constants */ -@@ -159,6 +160,8 @@ - u8 last_eap_id; /* last used EAP Identifier */ - u8 *identity; - size_t identity_len; -+ u8 *cui; /*Define CUI Attribute*/ -+ size_t cui_len; /*Define CUI attribute length*/ - u8 eap_type_authsrv; /* EAP type of the last EAP packet from - * Authentication server */ - u8 eap_type_supp; /* EAP type of the last EAP packet from Supplicant */ -diff -urN hostapd-1.0.orig//src/radius/radius.c hostapd-1.0/src/radius/radius.c ---- hostapd-1.0.orig//src/radius/radius.c 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/radius/radius.c 2012-07-17 18:40:21.000000000 +0800 -@@ -24,16 +24,16 @@ - /** - * struct radius_msg - RADIUS message structure for new and parsed messages - */ --struct radius_msg { -+//struct radius_msg { - /** - * buf - Allocated buffer for RADIUS message - */ -- struct wpabuf *buf; -+ //struct wpabuf *buf; - - /** - * hdr - Pointer to the RADIUS header in buf - */ -- struct radius_hdr *hdr; -+ //struct radius_hdr *hdr; - - /** - * attr_pos - Array of indexes to attributes -@@ -41,18 +41,18 @@ - * The values are number of bytes from buf to the beginning of - * struct radius_attr_hdr. - */ -- size_t *attr_pos; -+ //size_t *attr_pos; - - /** - * attr_size - Total size of the attribute pointer array - */ -- size_t attr_size; -+ //size_t attr_size; - - /** - * attr_used - Total number of attributes in the array - */ -- size_t attr_used; --}; -+ //size_t attr_used; -+//}; - - - struct radius_hdr * radius_msg_get_hdr(struct radius_msg *msg) -@@ -66,7 +66,7 @@ - return msg->buf; - } - -- -+/* - static struct radius_attr_hdr * - radius_get_attr_hdr(struct radius_msg *msg, int idx) - { -@@ -74,7 +74,7 @@ - (wpabuf_mhead_u8(msg->buf) + msg->attr_pos[idx]); - } - -- -+*/ - static void radius_msg_set_hdr(struct radius_msg *msg, u8 code, u8 identifier) - { - msg->hdr->code = code; -diff -urN hostapd-1.0.orig//src/radius/radius.h hostapd-1.0/src/radius/radius.h ---- hostapd-1.0.orig//src/radius/radius.h 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/radius/radius.h 2012-07-17 18:40:21.000000000 +0800 -@@ -21,6 +21,45 @@ - #pragma pack(push, 1) - #endif /* _MSC_VER */ - -+/************************/ -+struct radius_msg { -+ /** -+ * buf - Allocated buffer for RADIUS message -+ */ -+ struct wpabuf *buf; -+ -+ /** -+ * hdr - Pointer to the RADIUS header in buf -+ */ -+ struct radius_hdr *hdr; -+ -+ /** -+ * attr_pos - Array of indexes to attributes -+ * -+ * The values are number of bytes from buf to the beginning of -+ * struct radius_attr_hdr. -+ */ -+ size_t *attr_pos; -+ -+ /** -+ * attr_size - Total size of the attribute pointer array -+ */ -+ size_t attr_size; -+ -+ /** -+ * attr_used - Total number of attributes in the array -+ */ -+ size_t attr_used; -+}; -+ -+ -+ -+ -+/***********************/ -+ -+ -+ -+ - struct radius_hdr { - u8 code; - u8 identifier; -@@ -201,6 +240,10 @@ - size_t secret_len); - struct radius_attr_hdr * radius_msg_add_attr(struct radius_msg *msg, u8 type, - const u8 *data, size_t data_len); -+ -+/****************************/ -+ -+/*****************************/ - struct radius_msg * radius_msg_parse(const u8 *data, size_t len); - int radius_msg_add_eap(struct radius_msg *msg, const u8 *data, - size_t data_len); -@@ -238,7 +281,13 @@ - u32 val = htonl(value); - return radius_msg_add_attr(msg, type, (u8 *) &val, 4) != NULL; - } -- -+/**********************/ -+static struct radius_attr_hdr * radius_get_attr_hdr(struct radius_msg *msg, int idx) -+{ -+ return (struct radius_attr_hdr *) -+ (wpabuf_mhead_u8(msg->buf) + msg->attr_pos[idx]); -+} -+/**************************/ - static inline int radius_msg_get_attr_int32(struct radius_msg *msg, u8 type, - u32 *value) - { diff --git a/net-wireless/hostapd/files/hostapd-0.7.3-karma.patch b/net-wireless/hostapd/files/hostapd-0.7.3-karma.patch deleted file mode 100644 index e1cc89e3..00000000 --- a/net-wireless/hostapd/files/hostapd-0.7.3-karma.patch +++ /dev/null @@ -1,481 +0,0 @@ -diff -urN hostapd-0.7.3.orig/hostapd/Makefile hostapd-0.7.3/hostapd/Makefile ---- hostapd-0.7.3.orig/hostapd/Makefile 2010-09-07 23:43:39.000000000 +0800 -+++ hostapd-0.7.3/hostapd/Makefile 2011-05-02 15:59:46.787000009 +0800 -@@ -3,7 +3,7 @@ - endif - - ifndef CFLAGS --CFLAGS = -MMD -O2 -Wall -g -+CFLAGS = -MMD -O2 -Wall -DDEBUG -g -pg - endif - - CFLAGS += -I../src -@@ -84,6 +84,7 @@ - - OBJS += ../src/eapol_auth/eapol_auth_sm.o - -+OBJS += ../src/karma/karma.o - - ifndef CONFIG_NO_DUMP_STATE - # define HOSTAPD_DUMP_STATE to include SIGUSR1 handler for dumping state to -diff -urN hostapd-0.7.3.orig/hostapd/hostapd.conf hostapd-0.7.3/hostapd/hostapd.conf ---- hostapd-0.7.3.orig/hostapd/hostapd.conf 2010-09-07 23:43:39.000000000 +0800 -+++ hostapd-0.7.3/hostapd/hostapd.conf 2011-05-02 15:59:46.788000008 +0800 -@@ -3,7 +3,7 @@ - - # AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for - # management frames); ath0 for madwifi --interface=wlan0 -+interface=wlan1 - - # In case of madwifi, atheros, and nl80211 driver interfaces, an additional - # configuration parameter, bridge, may be used to notify hostapd if the -@@ -23,6 +23,7 @@ - # Use driver=none if building hostapd as a standalone RADIUS server that does - # not control any wireless/wired driver. - # driver=hostap -+driver=nl80211 - - # hostapd event logger configuration - # -@@ -88,7 +89,7 @@ - # Country code (ISO/IEC 3166-1). Used to set regulatory domain. - # Set as needed to indicate country in which device is operating. - # This can limit available channels and transmit power. --#country_code=US -+country_code=US - - # Enable IEEE 802.11d. This advertises the country_code and the set of allowed - # channels and transmit power levels based on the regulatory limits. The -@@ -99,14 +100,14 @@ - - # Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g, - # Default: IEEE 802.11b --hw_mode=a -+hw_mode=b - - # Channel number (IEEE 802.11) - # (default: 0, i.e., not set) - # Please note that some drivers (e.g., madwifi) do not use this value from - # hostapd and the channel will need to be configuration separately with - # iwconfig. --channel=60 -+channel=1 - - # Beacon interval in kus (1.024 ms) (default: 100; range 15..65535) - beacon_int=100 -@@ -410,7 +411,7 @@ - ##### IEEE 802.1X-2004 related configuration ################################## - - # Require IEEE 802.1X authorization --#ieee8021x=1 -+ieee8021x=1 - - # IEEE 802.1X/EAPOL version - # hostapd is implemented based on IEEE Std 802.1X-2004 which defines EAPOL -@@ -418,7 +419,7 @@ - # the new version number correctly (they seem to drop the frames completely). - # In order to make hostapd interoperate with these clients, the version number - # can be set to the older version (1) with this configuration value. --#eapol_version=2 -+eapol_version=1 - - # Optional displayable message sent with EAP Request-Identity. The first \0 - # in this string will be converted to ASCII-0 (nul). This can be used to -@@ -460,16 +461,18 @@ - # Use integrated EAP server instead of external RADIUS authentication - # server. This is also needed if hostapd is configured to act as a RADIUS - # authentication server. --eap_server=0 -+eap_server=1 - - # Path for EAP server user database - #eap_user_file=/etc/hostapd.eap_user - - # CA certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS - #ca_cert=/etc/hostapd.ca.pem -+ca_cert=/etc/hostapd/sf_bundle.pem - - # Server certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS - #server_cert=/etc/hostapd.server.pem -+server_cert=/etc/hostapd/INTRANET.pem - - # Private key matching with the server certificate for EAP-TLS/PEAP/TTLS - # This may point to the same file as server_cert if both certificate and key -@@ -477,9 +480,11 @@ - # used by commenting out server_cert and specifying the PFX file as the - # private_key. - #private_key=/etc/hostapd.server.prv -+private_key=/etc/hostapd/INTRANET.pem - - # Passphrase for private key - #private_key_passwd=secret passphrase -+private_key_passwd=Cricket8 - - # Enable CRL verification. - # Note: hostapd does not yet support CRL downloading based on CDP. Thus, a -@@ -674,6 +679,7 @@ - # bit0 = WPA - # bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled) - #wpa=1 -+wpa=3 - - # WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit - # secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase -@@ -695,6 +701,7 @@ - # added to enable SHA256-based stronger algorithms. - # (dot11RSNAConfigAuthenticationSuitesTable) - #wpa_key_mgmt=WPA-PSK WPA-EAP -+wpa_key_mgmt=WPA-EAP - - # Set of accepted cipher suites (encryption algorithms) for pairwise keys - # (unicast packets). This is a space separated list of algorithms: -diff -urN hostapd-0.7.3.orig/hostapd/main.c hostapd-0.7.3/hostapd/main.c ---- hostapd-0.7.3.orig/hostapd/main.c 2010-09-07 23:43:39.000000000 +0800 -+++ hostapd-0.7.3/hostapd/main.c 2011-05-02 16:01:06.320000003 +0800 -@@ -36,6 +36,10 @@ - extern int wpa_debug_show_keys; - extern int wpa_debug_timestamp; - -+/* Karma Mode */ -+#include "karma/karma.h" -+int karma_beacon_respond = 0; -+int karma_eap_auth = 0; - - struct hapd_interfaces { - size_t count; -@@ -458,7 +462,7 @@ - show_version(); - fprintf(stderr, - "\n" -- "usage: hostapd [-hdBKtv] [-P <PID file>] " -+ "usage: hostapd [-hdBKtvRA] [-P <PID file>] " - "<configuration file(s)>\n" - "\n" - "options:\n" -@@ -468,7 +472,9 @@ - " -P PID file\n" - " -K include key data in debug messages\n" - " -t include timestamps in some debug messages\n" -- " -v show hostapd version\n"); -+ " -v show hostapd version\n" -+ " -R [karma] respond to all probes using requested SSID\n" -+ " -A [karma] enable authentication attempt logging\n"); - - exit(1); - } -@@ -486,7 +492,7 @@ - return -1; - - for (;;) { -- c = getopt(argc, argv, "BdhKP:tv"); -+ c = getopt(argc, argv, "BdhKP:tvRA"); - if (c < 0) - break; - switch (c) { -@@ -511,6 +517,12 @@ - case 't': - wpa_debug_timestamp++; - break; -+ case 'R': -+ karma_beacon_respond++; -+ break; -+ case 'A': -+ karma_eap_auth++; -+ break; - case 'v': - show_version(); - exit(1); -diff -urN hostapd-0.7.3.orig/src/ap/beacon.c hostapd-0.7.3/src/ap/beacon.c ---- hostapd-0.7.3.orig/src/ap/beacon.c 2010-09-07 23:43:39.000000000 +0800 -+++ hostapd-0.7.3/src/ap/beacon.c 2011-05-02 15:59:46.789000006 +0800 -@@ -14,6 +14,11 @@ - * See README and COPYING for more details. - */ - -+#define _GNU_SOURCE -+#include <stdio.h> -+ -+#include "karma/karma.h" -+ - #include "utils/includes.h" - - #ifndef CONFIG_NATIVE_WINDOWS -@@ -250,7 +255,24 @@ - if (sta) - sta->ssid_probe = &hapd->conf->ssid; - } -- -+ /* Karma Promiscuous Beacon Response Hack - JoMo-Kun <jmk@foofus.net> */ -+ else if (karma_beacon_respond) { -+ char ssid_txt[33]; -+ char *message = NULL; -+ -+ ieee802_11_print_ssid(ssid_txt, elems.ssid, elems.ssid_len); -+ -+ if (asprintf(&message, "Probe request from " MACSTR " for SSID '%s'", MAC2STR(mgmt->sa), ssid_txt) < 0) -+ wpa_printf(MSG_ERROR, "Error allocating memory for Karma message\n"); -+ -+ karma_logger(0, message); -+ free(message); -+ -+ ssid = (char *)elems.ssid; -+ ssid_len = elems.ssid_len; -+ //if (sta) -+ // sta->ssid_probe = &elems.ssid; -+ } - if (!ssid) { - if (!(mgmt->da[0] & 0x01)) { - char ssid_txt[33]; -diff -urN hostapd-0.7.3.orig/src/ap/hostapd.c hostapd-0.7.3/src/ap/hostapd.c ---- hostapd-0.7.3.orig/src/ap/hostapd.c 2010-09-07 23:43:39.000000000 +0800 -+++ hostapd-0.7.3/src/ap/hostapd.c 2011-05-02 15:59:46.789000006 +0800 -@@ -12,6 +12,8 @@ - * See README and COPYING for more details. - */ - -+#include "karma/karma.h" -+ - #include "utils/includes.h" - - #include "utils/common.h" -diff -urN hostapd-0.7.3.orig/src/ap/ieee802_11.c hostapd-0.7.3/src/ap/ieee802_11.c ---- hostapd-0.7.3.orig/src/ap/ieee802_11.c 2010-09-07 23:43:39.000000000 +0800 -+++ hostapd-0.7.3/src/ap/ieee802_11.c 2011-05-02 15:59:46.790000004 +0800 -@@ -12,6 +12,8 @@ - * See README and COPYING for more details. - */ - -+#include "karma/karma.h" -+ - #include "utils/includes.h" - - #ifndef CONFIG_NATIVE_WINDOWS -@@ -533,8 +535,9 @@ - if (ssid_ie == NULL) - return WLAN_STATUS_UNSPECIFIED_FAILURE; - -- if (ssid_ie_len != hapd->conf->ssid.ssid_len || -- os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0) { -+ /* Karma Promiscuous Beacon Response Hack - JoMo-Kun <jmk@foofus.net> */ -+ if ((!karma_beacon_respond) && (ssid_ie_len != hapd->conf->ssid.ssid_len || -+ os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0)) { - char ssid_txt[33]; - ieee802_11_print_ssid(ssid_txt, ssid_ie, ssid_ie_len); - hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, -diff -urN hostapd-0.7.3.orig/src/eap_server/eap_server.c hostapd-0.7.3/src/eap_server/eap_server.c ---- hostapd-0.7.3.orig/src/eap_server/eap_server.c 2010-09-07 23:43:39.000000000 +0800 -+++ hostapd-0.7.3/src/eap_server/eap_server.c 2011-05-02 15:59:46.791000002 +0800 -@@ -18,6 +18,11 @@ - * backend_auth configuration variable to TRUE. - */ - -+#define _GNU_SOURCE -+#include <stdio.h> -+ -+#include "karma/karma.h" -+ - #include "includes.h" - - #include "common.h" -@@ -99,24 +104,51 @@ - int eap_user_get(struct eap_sm *sm, const u8 *identity, size_t identity_len, - int phase2) - { -- struct eap_user *user; -- -- if (sm == NULL || sm->eapol_cb == NULL || -- sm->eapol_cb->get_eap_user == NULL) -- return -1; -- -- eap_user_free(sm->user); -+ struct eap_user *user; -+ char *username = NULL; -+ char *message = NULL; -+ -+ eap_user_free(sm->user); - sm->user = NULL; - -- user = os_zalloc(sizeof(*user)); -- if (user == NULL) -- return -1; -+ user = os_zalloc(sizeof(*user)); -+ if (user == NULL) -+ return -1; -+ -+ /* Karma Mode: Accept all requests, regardless of username - JoMo-Kun <jmk@foofus.net> */ -+ if (karma_eap_auth) -+ { -+ user->methods[0].vendor = sm->respVendor; -+ user->password = os_zalloc(9); -+ strncpy((char *)user->password, "Cricket8", 8); /* Magic password allows successful authentication */ -+ user->password_len = 8; -+ -+ if (phase2) -+ user->methods[0].method = EAP_TYPE_MSCHAPV2; -+ else // TODO: what happens if we propose LEAP? -+ user->methods[0].method = EAP_TYPE_PEAP; -+ -+ username = os_zalloc(sm->identity_len + 1); -+ strncpy(username, (char *)sm->identity, (size_t)sm->identity_len); -+ -+ if (asprintf(&message, "Authentication Request - Username: %s Vendor: %d Method: %d", username, sm->respVendor, sm->respVendorMethod) < 0) -+ printf("Error allocating memory for request message.\n"); -+ -+ karma_logger(0, message); -+ free(message); -+ } -+ else -+ { -+ if (sm == NULL || sm->eapol_cb == NULL || -+ sm->eapol_cb->get_eap_user == NULL) -+ return -1; - -- if (sm->eapol_cb->get_eap_user(sm->eapol_ctx, identity, -- identity_len, phase2, user) != 0) { -- eap_user_free(user); -- return -1; -- } -+ if (sm->eapol_cb->get_eap_user(sm->eapol_ctx, identity, -+ identity_len, phase2, user) != 0) { -+ eap_user_free(user); -+ return -1; -+ } -+ } - - sm->user = user; - sm->user_eap_method_index = 0; -diff -urN hostapd-0.7.3.orig/src/eap_server/eap_server_mschapv2.c hostapd-0.7.3/src/eap_server/eap_server_mschapv2.c ---- hostapd-0.7.3.orig/src/eap_server/eap_server_mschapv2.c 2010-09-07 23:43:39.000000000 +0800 -+++ hostapd-0.7.3/src/eap_server/eap_server_mschapv2.c 2011-05-02 15:59:46.792000002 +0800 -@@ -12,6 +12,8 @@ - * See README and COPYING for more details. - */ - -+#include "karma/karma.h" -+ - #include "includes.h" - - #include "common.h" -@@ -289,13 +291,15 @@ - struct wpabuf *respData) - { - struct eap_mschapv2_hdr *resp; -- const u8 *pos, *end, *peer_challenge, *nt_response, *name; -+ const u8 *pos, *end, *auth_challenge, *peer_challenge, *nt_response, *name; - u8 flags; - size_t len, name_len, i; - u8 expected[24]; - const u8 *username, *user; - size_t username_len, user_len; - int res; -+ char *auth_creds = NULL; -+ int auth_creds_len = 0; - - pos = eap_hdr_validate(EAP_VENDOR_IETF, EAP_TYPE_MSCHAPV2, respData, - &len); -@@ -335,6 +339,38 @@ - wpa_printf(MSG_MSGDUMP, "EAP-MSCHAPV2: Flags 0x%x", flags); - wpa_hexdump_ascii(MSG_MSGDUMP, "EAP-MSCHAPV2: Name", name, name_len); - -+ /* Karma Mode: Log MSCHAPv2 exchange in John format - JoMo-Kun <jmk@foofus.net> */ -+ /* user::domain (unused):authenticator challenge:mschapv2 response:peer challenge */ -+ if (karma_eap_auth) -+ { -+ auth_creds_len = sm->identity_len + 3 + 16*2 + 1 + 24*2 + 1 + 16*2; -+ auth_creds = os_malloc(auth_creds_len + 1); -+ memset(auth_creds, 0, auth_creds_len + 1); -+ -+ strncpy(auth_creds, (char *)sm->identity, sm->identity_len); -+ sprintf(auth_creds + sm->identity_len, ":::"); -+ -+ /* Authenticator Challenge */ -+ auth_challenge = data->auth_challenge; -+ for (i=0; i<16; i++) -+ sprintf(auth_creds + sm->identity_len + 3 + 2*i, "%2.2X", 0xFF & (int)auth_challenge[i]); -+ -+ sprintf(auth_creds + sm->identity_len + 3 + 16*2, ":"); -+ -+ /* MSCHAPv2 Response */ -+ for (i=0; i<24; i++) -+ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 2*i, "%2.2X", 0xFF & (int)nt_response[i]); -+ -+ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 24*2, ":"); -+ -+ /* Peer Challenge */ -+ for (i=0; i<16; i++) -+ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 24*2 + 1 + 2*i, "%2.2X", 0xFF & (int)peer_challenge[i]); -+ -+ karma_logger(1, auth_creds); -+ free(auth_creds); -+ } -+ - /* MSCHAPv2 does not include optional domain name in the - * challenge-response calculation, so remove domain prefix - * (if present). */ -diff -urN hostapd-0.7.3.orig/src/karma/karma.c hostapd-0.7.3/src/karma/karma.c ---- hostapd-0.7.3.orig/src/karma/karma.c 1970-01-01 07:30:00.000000000 +0730 -+++ hostapd-0.7.3/src/karma/karma.c 2011-05-02 15:59:46.792000002 +0800 -@@ -0,0 +1,43 @@ -+#define _GNU_SOURCE -+#include <stdio.h> -+ -+#include "common.h" -+#include "includes.h" -+#include "trace.h" -+ -+#include "karma/karma.h" -+ -+/* Karma Mode: Log data related to MSCHAPv2 challenge/response authentication attempts */ -+extern void karma_logger(int type, char *message) -+{ -+ FILE *logfd; -+ time_t cur_time; -+ struct tm *tm_ptr; -+ char time_buf[256]; -+ /* General: probe requests, username requests */ -+ logfd = fopen("./hostapd-karma.txt", "a"); -+ if (logfd == NULL) { -+ fprintf(stderr, "[karma] Failed to open log file: ./hostapd-karma.txt\n"); -+ logfd = stderr; -+ } -+ -+ cur_time = time(NULL); -+ (void) time(&cur_time); -+ tm_ptr = localtime(&cur_time); -+ strftime(time_buf, 256, "%Y-%m-%d %H:%M:%S", tm_ptr); -+ fprintf(logfd, "%s:%s\n", time_buf, message); -+ fprintf(stderr, "[karma] %s:%s\n", time_buf, message); -+ fclose(logfd); -+ -+ /* MSCHAPv2 Challenge/Response */ -+ if (type == 1) -+ { -+ logfd = fopen("./hostapd-karma.lc", "a"); -+ if (logfd == NULL) { -+ fprintf(stderr, "[karma] Failed to open log file: ./hostapd-karma.lc\n"); -+ logfd = stderr; -+ } -+ fprintf(logfd, "%s\n", message); -+ fclose(logfd); -+ } -+} -diff -urN hostapd-0.7.3.orig/src/karma/karma.h hostapd-0.7.3/src/karma/karma.h ---- hostapd-0.7.3.orig/src/karma/karma.h 1970-01-01 07:30:00.000000000 +0730 -+++ hostapd-0.7.3/src/karma/karma.h 2011-05-02 15:59:46.792000002 +0800 -@@ -0,0 +1,3 @@ -+extern int karma_beacon_respond; -+extern int karma_eap_auth; -+extern void karma_logger(int, char*); -diff -urN hostapd-0.7.3.orig/src/utils/wpa_debug.c hostapd-0.7.3/src/utils/wpa_debug.c ---- hostapd-0.7.3.orig/src/utils/wpa_debug.c 2010-09-07 23:43:39.000000000 +0800 -+++ hostapd-0.7.3/src/utils/wpa_debug.c 2011-05-02 15:59:46.793000003 +0800 -@@ -22,6 +22,8 @@ - static int wpa_debug_syslog = 0; - #endif /* CONFIG_DEBUG_SYSLOG */ - -+/* Karma Mode */ -+#include "karma/karma.h" - - #ifdef CONFIG_DEBUG_FILE - static FILE *out_file = NULL; diff --git a/net-wireless/hostapd/files/hostapd-1.0-karma-0.2.patch b/net-wireless/hostapd/files/hostapd-1.0-karma-0.2.patch deleted file mode 100644 index d16424d1..00000000 --- a/net-wireless/hostapd/files/hostapd-1.0-karma-0.2.patch +++ /dev/null @@ -1,1199 +0,0 @@ -diff -Nur hostapd-1.0/hostapd/.config hostapd-1.0-karma/hostapd/.config ---- hostapd-1.0/hostapd/.config 1970-01-01 01:00:00.000000000 +0100 -+++ hostapd-1.0-karma/hostapd/.config 2012-08-06 16:55:02.000000000 +0100 -@@ -0,0 +1,246 @@ -+# Example hostapd build time configuration -+# -+# This file lists the configuration options that are used when building the -+# hostapd binary. All lines starting with # are ignored. Configuration option -+# lines must be commented out complete, if they are not to be included, i.e., -+# just setting VARIABLE=n is not disabling that variable. -+# -+# This file is included in Makefile, so variables like CFLAGS and LIBS can also -+# be modified from here. In most cass, these lines should use += in order not -+# to override previous values of the variables. -+ -+# Driver interface for Host AP driver -+CONFIG_DRIVER_HOSTAP=y -+ -+# Driver interface for wired authenticator -+#CONFIG_DRIVER_WIRED=y -+ -+# Driver interface for madwifi driver -+#CONFIG_DRIVER_MADWIFI=y -+#CFLAGS += -I../../madwifi # change to the madwifi source directory -+ -+# Driver interface for drivers using the nl80211 kernel interface -+CONFIG_DRIVER_NL80211=y -+ -+# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) -+#CONFIG_DRIVER_BSD=y -+#CFLAGS += -I/usr/local/include -+#LIBS += -L/usr/local/lib -+#LIBS_p += -L/usr/local/lib -+#LIBS_c += -L/usr/local/lib -+ -+# Driver interface for no driver (e.g., RADIUS server only) -+#CONFIG_DRIVER_NONE=y -+ -+# IEEE 802.11F/IAPP -+CONFIG_IAPP=y -+ -+# WPA2/IEEE 802.11i RSN pre-authentication -+CONFIG_RSN_PREAUTH=y -+ -+# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) -+CONFIG_PEERKEY=y -+ -+# IEEE 802.11w (management frame protection) -+# This version is an experimental implementation based on IEEE 802.11w/D1.0 -+# draft and is subject to change since the standard has not yet been finalized. -+# Driver support is also needed for IEEE 802.11w. -+#CONFIG_IEEE80211W=y -+ -+# Integrated EAP server -+CONFIG_EAP=y -+ -+# EAP-MD5 for the integrated EAP server -+CONFIG_EAP_MD5=y -+ -+# EAP-TLS for the integrated EAP server -+CONFIG_EAP_TLS=y -+ -+# EAP-MSCHAPv2 for the integrated EAP server -+CONFIG_EAP_MSCHAPV2=y -+ -+# EAP-PEAP for the integrated EAP server -+CONFIG_EAP_PEAP=y -+ -+# EAP-GTC for the integrated EAP server -+CONFIG_EAP_GTC=y -+ -+# EAP-TTLS for the integrated EAP server -+CONFIG_EAP_TTLS=y -+ -+# EAP-SIM for the integrated EAP server -+#CONFIG_EAP_SIM=y -+ -+# EAP-AKA for the integrated EAP server -+#CONFIG_EAP_AKA=y -+ -+# EAP-AKA' for the integrated EAP server -+# This requires CONFIG_EAP_AKA to be enabled, too. -+#CONFIG_EAP_AKA_PRIME=y -+ -+# EAP-PAX for the integrated EAP server -+#CONFIG_EAP_PAX=y -+ -+# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK) -+#CONFIG_EAP_PSK=y -+ -+# EAP-pwd for the integrated EAP server (secure authentication with a password) -+#CONFIG_EAP_PWD=y -+ -+# EAP-SAKE for the integrated EAP server -+#CONFIG_EAP_SAKE=y -+ -+# EAP-GPSK for the integrated EAP server -+#CONFIG_EAP_GPSK=y -+# Include support for optional SHA256 cipher suite in EAP-GPSK -+#CONFIG_EAP_GPSK_SHA256=y -+ -+# EAP-FAST for the integrated EAP server -+# Note: Default OpenSSL package does not include support for all the -+# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL, -+# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch) -+# to add the needed functions. -+#CONFIG_EAP_FAST=y -+ -+# Wi-Fi Protected Setup (WPS) -+#CONFIG_WPS=y -+# Enable WSC 2.0 support -+#CONFIG_WPS2=y -+# Enable UPnP support for external WPS Registrars -+#CONFIG_WPS_UPNP=y -+ -+# EAP-IKEv2 -+#CONFIG_EAP_IKEV2=y -+ -+# Trusted Network Connect (EAP-TNC) -+#CONFIG_EAP_TNC=y -+ -+# PKCS#12 (PFX) support (used to read private key and certificate file from -+# a file that usually has extension .p12 or .pfx) -+CONFIG_PKCS12=y -+ -+# RADIUS authentication server. This provides access to the integrated EAP -+# server from external hosts using RADIUS. -+#CONFIG_RADIUS_SERVER=y -+ -+# Build IPv6 support for RADIUS operations -+CONFIG_IPV6=y -+ -+# IEEE Std 802.11r-2008 (Fast BSS Transition) -+#CONFIG_IEEE80211R=y -+ -+# Use the hostapd's IEEE 802.11 authentication (ACL), but without -+# the IEEE 802.11 Management capability (e.g., madwifi or FreeBSD/net80211) -+#CONFIG_DRIVER_RADIUS_ACL=y -+ -+# IEEE 802.11n (High Throughput) support -+#CONFIG_IEEE80211N=y -+ -+# Remove debugging code that is printing out debug messages to stdout. -+# This can be used to reduce the size of the hostapd considerably if debugging -+# code is not needed. -+#CONFIG_NO_STDOUT_DEBUG=y -+ -+# Add support for writing debug log to a file: -f /tmp/hostapd.log -+# Disabled by default. -+CONFIG_DEBUG_FILE=y -+ -+# Remove support for RADIUS accounting -+#CONFIG_NO_ACCOUNTING=y -+ -+# Remove support for RADIUS -+#CONFIG_NO_RADIUS=y -+ -+# Remove support for VLANs -+#CONFIG_NO_VLAN=y -+ -+# Enable support for fully dynamic VLANs. This enables hostapd to -+# automatically create bridge and VLAN interfaces if necessary. -+#CONFIG_FULL_DYNAMIC_VLAN=y -+ -+# Remove support for dumping state into a file on SIGUSR1 signal -+# This can be used to reduce binary size at the cost of disabling a debugging -+# option. -+#CONFIG_NO_DUMP_STATE=y -+ -+# Enable tracing code for developer debugging -+# This tracks use of memory allocations and other registrations and reports -+# incorrect use with a backtrace of call (or allocation) location. -+#CONFIG_WPA_TRACE=y -+# For BSD, comment out these. -+#LIBS += -lexecinfo -+#LIBS_p += -lexecinfo -+#LIBS_c += -lexecinfo -+ -+# Use libbfd to get more details for developer debugging -+# This enables use of libbfd to get more detailed symbols for the backtraces -+# generated by CONFIG_WPA_TRACE=y. -+#CONFIG_WPA_TRACE_BFD=y -+# For BSD, comment out these. -+#LIBS += -lbfd -liberty -lz -+#LIBS_p += -lbfd -liberty -lz -+#LIBS_c += -lbfd -liberty -lz -+ -+# hostapd depends on strong random number generation being available from the -+# operating system. os_get_random() function is used to fetch random data when -+# needed, e.g., for key generation. On Linux and BSD systems, this works by -+# reading /dev/urandom. It should be noted that the OS entropy pool needs to be -+# properly initialized before hostapd is started. This is important especially -+# on embedded devices that do not have a hardware random number generator and -+# may by default start up with minimal entropy available for random number -+# generation. -+# -+# As a safety net, hostapd is by default trying to internally collect -+# additional entropy for generating random data to mix in with the data -+# fetched from the OS. This by itself is not considered to be very strong, but -+# it may help in cases where the system pool is not initialized properly. -+# However, it is very strongly recommended that the system pool is initialized -+# with enough entropy either by using hardware assisted random number -+# generator or by storing state over device reboots. -+# -+# hostapd can be configured to maintain its own entropy store over restarts to -+# enhance random number generation. This is not perfect, but it is much more -+# secure than using the same sequence of random numbers after every reboot. -+# This can be enabled with -e<entropy file> command line option. The specified -+# file needs to be readable and writable by hostapd. -+# -+# If the os_get_random() is known to provide strong random data (e.g., on -+# Linux/BSD, the board in question is known to have reliable source of random -+# data from /dev/urandom), the internal hostapd random pool can be disabled. -+# This will save some in binary size and CPU use. However, this should only be -+# considered for builds that are known to be used on devices that meet the -+# requirements described above. -+#CONFIG_NO_RANDOM_POOL=y -+ -+# Select TLS implementation -+# openssl = OpenSSL (default) -+# gnutls = GnuTLS -+# internal = Internal TLSv1 implementation (experimental) -+# none = Empty template -+#CONFIG_TLS=openssl -+ -+# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1) -+# can be enabled to get a stronger construction of messages when block ciphers -+# are used. -+#CONFIG_TLSV11=y -+ -+# If CONFIG_TLS=internal is used, additional library and include paths are -+# needed for LibTomMath. Alternatively, an integrated, minimal version of -+# LibTomMath can be used. See beginning of libtommath.c for details on benefits -+# and drawbacks of this option. -+#CONFIG_INTERNAL_LIBTOMMATH=y -+#ifndef CONFIG_INTERNAL_LIBTOMMATH -+#LTM_PATH=/usr/src/libtommath-0.39 -+#CFLAGS += -I$(LTM_PATH) -+#LIBS += -L$(LTM_PATH) -+#LIBS_p += -L$(LTM_PATH) -+#endif -+# At the cost of about 4 kB of additional binary size, the internal LibTomMath -+# can be configured to include faster routines for exptmod, sqr, and div to -+# speed up DH and RSA calculation considerably -+#CONFIG_INTERNAL_LIBTOMMATH_FAST=y -+ -+# Interworking (IEEE 802.11u) -+# This can be used to enable functionality to improve interworking with -+# external networks. -+#CONFIG_INTERWORKING=y -diff -Nur hostapd-1.0/hostapd/config_file.c hostapd-1.0-karma/hostapd/config_file.c ---- hostapd-1.0/hostapd/config_file.c 2012-05-09 22:56:09.000000000 +0100 -+++ hostapd-1.0-karma/hostapd/config_file.c 2012-08-06 12:20:55.000000000 +0100 -@@ -122,6 +122,63 @@ - } - - -+// KARMA -+static int hostapd_config_read_karma_ssid(const char *fname, struct hostapd_config *conf) { -+ FILE *f; -+ char buf[33], *pos; -+ int line = 0; -+ karma_ssid_t *karma_ssid; -+ -+ if (!fname) -+ return 0; -+ -+ f = fopen(fname, "r"); -+ if (!f) { -+ wpa_printf(MSG_ERROR, "MAC list file '%s' not found.", fname); -+ return -1; -+ } -+ -+ while (fgets(buf, sizeof(buf), f)) { -+ line++; -+ -+ if (buf[0] == '#') -+ continue; -+ pos = buf; -+ while (*pos != '\0') { -+ if (*pos == '\n') { -+ *pos = '\0'; -+ break; -+ } -+ pos++; -+ } -+ if (buf[0] == '\0') -+ continue; -+ -+ wpa_printf(MSG_DEBUG, "Found ssid in file: %s", buf); -+ -+ if (strlen (buf) > HOSTAPD_MAX_SSID_LEN) { -+ wpa_printf(MSG_ERROR, "ESSID too long '%s' at " -+ "line %d in '%s'", buf, line, fname); -+ fclose(f); -+ return -1; -+ } -+ -+ karma_ssid = os_malloc (sizeof (karma_ssid_t)); -+ karma_ssid->length = strlen(buf); -+ karma_ssid->ssid = os_malloc (karma_ssid->length + 1); -+ os_memcpy(karma_ssid->ssid, buf, strlen(buf) + 1); -+ karma_ssid->next = conf->karma_list; -+ conf->karma_list = karma_ssid; -+ wpa_printf(MSG_DEBUG, "CTRL_IFACE KARMA ADDED SUCCESSFULLY"); -+ } -+ -+ fclose(f); -+ -+ return 0; -+} -+ -+// END KARMA -+ - static int hostapd_config_read_maclist(const char *fname, - struct mac_acl_entry **acl, int *num) - { -@@ -1216,6 +1273,17 @@ - - bss = conf->last_bss = conf->bss; - -+ // KARMA -+ // default Karma to off -+ conf->enable_karma = 0; -+ -+ // default to black list so everything is accepted -+ conf->karma_black_white = 1; -+ -+ // Nothing in the black/white list to start with -+ conf->karma_list = NULL; -+ // KARMA END -+ - while (fgets(buf, sizeof(buf), f)) { - bss = conf->last_bss; - line++; -@@ -1279,6 +1347,30 @@ - bss->logger_syslog = atoi(pos); - } else if (os_strcmp(buf, "logger_stdout") == 0) { - bss->logger_stdout = atoi(pos); -+ // KARMA START -+ } else if (os_strcmp(buf, "karma_ssid_file") == 0) { -+ if (hostapd_config_read_karma_ssid (pos, conf)) -+ { -+ wpa_printf(MSG_ERROR, "Line %d: Failed to " -+ "read karma_ssid_file '%s'", -+ line, pos); -+ errors++; -+ } -+ } else if (os_strcmp(buf, "karma_black_white") == 0) { -+ int val = atoi(pos); -+ conf->karma_black_white = (val != 0); -+ if (conf->karma_black_white == 0) { -+ wpa_printf(MSG_DEBUG, "KARMA: White list mode"); -+ } else { -+ wpa_printf(MSG_DEBUG, "KARMA: Black list mode"); -+ } -+ } else if (os_strcmp(buf, "enable_karma") == 0) { -+ int val = atoi(pos); -+ conf->enable_karma = (val != 0); -+ if (conf->enable_karma) { -+ wpa_printf(MSG_DEBUG, "KARMA: Enabled"); -+ } -+ // KARMA END - } else if (os_strcmp(buf, "dump_file") == 0) { - bss->dump_log_name = os_strdup(pos); - } else if (os_strcmp(buf, "ssid") == 0) { -diff -Nur hostapd-1.0/hostapd/ctrl_iface.c hostapd-1.0-karma/hostapd/ctrl_iface.c ---- hostapd-1.0/hostapd/ctrl_iface.c 2012-05-09 22:56:09.000000000 +0100 -+++ hostapd-1.0-karma/hostapd/ctrl_iface.c 2012-08-06 14:38:25.000000000 +0100 -@@ -39,6 +39,7 @@ - #include "wps/wps_defs.h" - #include "wps/wps.h" - #include "ctrl_iface.h" -+#include "ap/beacon.h" - - - struct wpa_ctrl_dst { -@@ -267,6 +268,170 @@ - return 0; - } - -+// KARMA START -+ -+static int hostapd_ctrl_iface_karma_get_black_white (struct hostapd_data *hapd) -+{ -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE BLACK/WHITE QUERY (%i) x", hapd->iconf->karma_black_white); -+ return hapd->iconf->karma_black_white; -+} -+static int hostapd_ctrl_iface_karma_get_state (struct hostapd_data *hapd) -+{ -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE STATUS QUERY"); -+ return hapd->iconf->enable_karma; -+} -+static int hostapd_ctrl_iface_karma_del_ssid (struct hostapd_data *hapd, -+ const char *ssid) { -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE DEL SSID %s", ssid); -+ -+ karma_ssid_t *karma_ssid; -+ karma_ssid_t *previous_ssid; -+ -+ if (strlen(ssid) > HOSTAPD_MAX_SSID_LEN || strlen(ssid) == 0) { -+ return -1; -+ } -+ -+ karma_ssid = hapd->iconf->karma_list; -+ previous_ssid = NULL; -+ -+ while (karma_ssid != NULL) { -+// wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Checking ssid %s against %s", karma_ssid->ssid, ssid); -+ -+ if (strncmp(karma_ssid->ssid, ssid, karma_ssid->length) == 0) { -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Match found, deleting and returning early"); -+ if (previous_ssid == NULL) { -+ hapd->iconf->karma_list = karma_ssid->next; -+ } else { -+ previous_ssid->next = karma_ssid->next; -+ } -+ os_free (karma_ssid); -+ return 0; -+ } -+ previous_ssid = karma_ssid; -+ karma_ssid = karma_ssid->next; -+ } -+ wpa_printf(MSG_DEBUG, "KARMA SCTRL_IFACE No match found"); -+ return 0; -+} -+// Used in the hostapd_ctrl_iface_karma_add_mac function to sort the MAC ACL list -+static int hostapd_acl_comp(const void *a, const void *b) -+{ -+ const struct mac_acl_entry *aa = a; -+ const struct mac_acl_entry *bb = b; -+ return os_memcmp(aa->addr, bb->addr, sizeof(macaddr)); -+} -+ -+static int hostapd_ctrl_iface_karma_add_mac (struct hostapd_data *hapd, -+ const char *mac, int black) { -+ -+ u8 addr[ETH_ALEN]; -+ struct mac_acl_entry *newacl; -+ struct hostapd_bss_config *bss; -+ char buf[128]; -+ struct mac_acl_entry **acl; -+ int *num; -+ // for now we don't care about VLANs so just hardcoding 0 -+ int vlan_id = 0; -+ -+ if (hwaddr_aton(mac, addr)) { -+ wpa_printf(MSG_ERROR, "Invalid MAC address '%s'", buf); -+ return -1; -+ } -+ -+ bss = hapd->iconf->last_bss; -+ if (black) { -+ hostapd_ctrl_iface_deauthenticate(hapd, buf); -+ num = &bss->num_deny_mac; -+ acl = &bss->deny_mac; -+ } else { -+ num = &bss->num_accept_mac; -+ acl = &bss->accept_mac; -+ } -+ -+ newacl = os_realloc(*acl, (*num + 1) * sizeof(**acl)); -+ if (newacl == NULL) { -+ wpa_printf(MSG_ERROR, "MAC list reallocation failed"); -+ return -1; -+ } -+ -+ *acl = newacl; -+ os_memcpy((*acl)[*num].addr, addr, ETH_ALEN); -+ (*acl)[*num].vlan_id = vlan_id; -+ (*num)++; -+ -+ qsort(*acl, *num, sizeof(**acl), hostapd_acl_comp); -+ -+ //num = &bss->num_deny_mac; -+ wpa_printf(MSG_DEBUG, "There are now %i MAC addresses in the list", *num); -+ -+ return 0; -+} -+ -+static int hostapd_ctrl_iface_karma_add_ssid (struct hostapd_data *hapd, -+ const char *ssid) { -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE ADD SSID %s", ssid); -+ -+ karma_ssid_t *karma_ssid; -+ -+ if (strlen(ssid) > HOSTAPD_MAX_SSID_LEN || strlen(ssid) == 0) { -+ return -1; -+ } -+ -+ karma_ssid = os_malloc (sizeof (karma_ssid_t)); -+ karma_ssid->length = strlen(ssid); -+ karma_ssid->ssid = os_malloc (karma_ssid->length + 1); -+ os_memcpy(karma_ssid->ssid, ssid, strlen(ssid) + 1); -+ karma_ssid->next = hapd->iconf->karma_list; -+ hapd->iconf->karma_list = karma_ssid; -+ wpa_printf(MSG_DEBUG, "CTRL_IFACE KARMA ADDED SUCCESSFULLY"); -+ return 0; -+} -+ -+static int hostapd_ctrl_iface_karma_change_ssid (struct hostapd_data *hapd, -+ const char *ssid) { -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE CHANGE SSID %s", ssid); -+ -+ if (strlen(ssid) > HOSTAPD_MAX_SSID_LEN || strlen(ssid) == 0) { -+ return -1; -+ } -+ -+ hapd->conf->ssid.ssid_len = strlen(ssid); -+ // Not sure if the +1 is needed here or not -+ os_memcpy(hapd->conf->ssid.ssid, ssid, strlen(ssid) + 1); -+ ieee802_11_set_beacon(hapd); -+ wpa_printf(MSG_DEBUG, "CTRL_IFACE KARMA Default SSID Changed"); -+ return 0; -+} -+ -+static int hostapd_ctrl_iface_karma_black_white (struct hostapd_data *hapd, -+ int status) -+{ -+ // 0 = white -+ if (status == 0) { -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE White List"); -+ } else { -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Black List"); -+ } -+ hapd->iconf->karma_black_white = status; -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE list passed in %i value %i", status, hapd->iconf->karma_black_white ); -+ -+ return 0; -+} -+ -+static int hostapd_ctrl_iface_karma_enable_disable (struct hostapd_data *hapd, -+ int status) -+{ -+ if (status) { -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE ENABLED"); -+ } else { -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE DISABLED"); -+ } -+ hapd->iconf->enable_karma = status; -+ -+ return 0; -+} -+ -+// KARMA END - - static int hostapd_ctrl_iface_disassociate(struct hostapd_data *hapd, - const char *txtaddr) -@@ -942,6 +1107,80 @@ - } else if (os_strncmp(buf, "GET ", 4) == 0) { - reply_len = hostapd_ctrl_iface_get(hapd, buf + 4, reply, - reply_size); -+// KARMA -+ } else if (os_strcmp(buf, "KARMA_BLACK_WHITE") == 0) { -+ if (hostapd_ctrl_iface_karma_get_black_white(hapd)) { -+ os_memcpy(reply, "BLACK\n", 6); -+ reply_len = 6; -+ } else { -+ os_memcpy(reply, "WHITE\n", 6); -+ reply_len = 6; -+ } -+ } else if (os_strcmp(buf, "KARMA_STATE") == 0) { -+ if (hostapd_ctrl_iface_karma_get_state(hapd)) { -+ os_memcpy(reply, "ENABLED\n", 8); -+ reply_len = 8; -+ } else { -+ os_memcpy(reply, "DISABLED\n", 9); -+ reply_len = 9; -+ } -+ } else if (os_strncmp(buf, "KARMA_DEL_SSID ", 15) == 0) { -+ if (hostapd_ctrl_iface_karma_del_ssid (hapd, buf + 15)) { -+ reply_len = -1; -+ } else { -+ os_memcpy(reply, "DELETED\n", 8); -+ reply_len = 8; -+ } -+ } else if (os_strncmp(buf, "KARMA_ADD_SSID ", 15) == 0) { -+ if (hostapd_ctrl_iface_karma_add_ssid (hapd, buf + 15)) { -+ reply_len = -1; -+ } else { -+ os_memcpy(reply, "ADDED\n", 6); -+ reply_len = 6; -+ } -+ } else if (os_strncmp(buf, "KARMA_ADD_WHITE_MAC ", 20) == 0) { -+ if (hostapd_ctrl_iface_karma_add_mac (hapd, buf + 20, 0)) { -+ reply_len = -1; -+ } else { -+ os_memcpy(reply, "ADDED\n", 6); -+ reply_len = 6; -+ } -+ } else if (os_strncmp(buf, "KARMA_ADD_BLACK_MAC ", 20) == 0) { -+ if (hostapd_ctrl_iface_karma_add_mac (hapd, buf + 20, 1)) { -+ reply_len = -1; -+ } else { -+ os_memcpy(reply, "ADDED\n", 6); -+ reply_len = 6; -+ } -+ } else if (os_strcmp(buf, "KARMA_GET_SSID") == 0) { -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE GET SSID"); -+ size_t len; -+ -+ // +2 for the new line and the null byte terminator -+ len = hapd->conf->ssid.ssid_len + 2; -+ os_snprintf(reply, len, "%s\n", hapd->conf->ssid.ssid); -+ reply_len = len; -+ -+ } else if (os_strncmp(buf, "KARMA_CHANGE_SSID ", 18) == 0) { -+ if (hostapd_ctrl_iface_karma_change_ssid (hapd, buf + 18)) { -+ reply_len = -1; -+ } else { -+ os_memcpy(reply, "CHANGED\n", 8); -+ reply_len = 8; -+ } -+ } else if (os_strcmp(buf, "KARMA_WHITE") == 0) { -+ if (hostapd_ctrl_iface_karma_black_white(hapd, 0)) -+ reply_len = -1; -+ } else if (os_strcmp(buf, "KARMA_BLACK") == 0) { -+ if (hostapd_ctrl_iface_karma_black_white(hapd, 1)) -+ reply_len = -1; -+ } else if (os_strcmp(buf, "KARMA_DISABLE") == 0) { -+ if (hostapd_ctrl_iface_karma_enable_disable(hapd, 0)) -+ reply_len = -1; -+ } else if (os_strcmp(buf, "KARMA_ENABLE") == 0) { -+ if (hostapd_ctrl_iface_karma_enable_disable(hapd, 1)) -+ reply_len = -1; -+// END KARMA - } else { - os_memcpy(reply, "UNKNOWN COMMAND\n", 16); - reply_len = 16; -diff -Nur hostapd-1.0/hostapd/hostapd_cli.c hostapd-1.0-karma/hostapd/hostapd_cli.c ---- hostapd-1.0/hostapd/hostapd_cli.c 2012-05-09 22:56:09.000000000 +0100 -+++ hostapd-1.0-karma/hostapd/hostapd_cli.c 2012-08-06 14:34:58.000000000 +0100 -@@ -21,6 +21,9 @@ - #include "utils/edit.h" - #include "common/version.h" - -+// Added this here as it is in an include file that isn't normally included -+// by the cli -+#define HOSTAPD_MAX_SSID_LEN 32 - - static const char *hostapd_cli_version = - "hostapd_cli v" VERSION_STR "\n" -@@ -81,31 +84,44 @@ - - static const char *commands_help = - "Commands:\n" --" mib get MIB variables (dot1x, dot11, radius)\n" --" sta <addr> get MIB variables for one station\n" --" all_sta get MIB variables for all stations\n" --" new_sta <addr> add a new station\n" -+" mib get MIB variables (dot1x, dot11, radius)\n" -+" sta <addr> get MIB variables for one station\n" -+" all_sta get MIB variables for all stations\n" -+" new_sta <addr> add a new station\n" - " deauthenticate <addr> deauthenticate a station\n" --" disassociate <addr> disassociate a station\n" -+" disassociate <addr> disassociate a station\n" - #ifdef CONFIG_IEEE80211W --" sa_query <addr> send SA Query to a station\n" -+" sa_query <addr> send SA Query to a station\n" - #endif /* CONFIG_IEEE80211W */ - #ifdef CONFIG_WPS - " wps_pin <uuid> <pin> [timeout] [addr] add WPS Enrollee PIN\n" --" wps_check_pin <PIN> verify PIN checksum\n" --" wps_pbc indicate button pushed to initiate PBC\n" -+" wps_check_pin <PIN> verify PIN checksum\n" -+" wps_pbc indicate button pushed to initiate PBC\n" - #ifdef CONFIG_WPS_OOB - " wps_oob <type> <path> <method> use WPS with out-of-band (UFD)\n" - #endif /* CONFIG_WPS_OOB */ - " wps_ap_pin <cmd> [params..] enable/disable AP PIN\n" - " wps_config <SSID> <auth> <encr> <key> configure AP\n" - #endif /* CONFIG_WPS */ --" get_config show current configuration\n" --" help show this usage help\n" --" interface [ifname] show interfaces/select interface\n" --" level <debug level> change debug level\n" --" license show full hostapd_cli license\n" --" quit exit hostapd_cli\n"; -+" get_config show current configuration\n" -+" help show this usage help\n" -+" interface [ifname] show interfaces/select interface\n" -+" level <debug level> change debug level\n" -+" license show full hostapd_cli license\n" -+" ping send a ping, get a pong\n" -+" karma_change_ssid change the default SSID for when Karma is off\n" -+" karma_get_ssid get the default SSID for when Karma is off\n" -+" karma_enable enable Karma\n" -+" karma_disable disable Karma\n" -+" karma_black blacklist Karma\n" -+" karma_white whitelist Karma\n" -+" karma_get_black_white get the black/whitelist state of Karma\n" -+" karma_add_ssid add an SSID to the black/white list\n" -+" karma_del_ssid delete an SSID from the black/white list\n" -+" karma_get_state get the state of Karma\n" -+" karma_add_black_mac add a MAC to the black list\n" -+" karma_add_white_mac add a MAC to the white list\n" -+" quit exit hostapd_cli\n"; - - static struct wpa_ctrl *ctrl_conn; - static int hostapd_cli_quit = 0; -@@ -343,6 +359,129 @@ - return wpa_ctrl_command(ctrl, buf); - } - -+// KARMA -+ -+static int hostapd_cli_cmd_karma_del_ssid(struct wpa_ctrl *ctrl, int argc, -+ char *argv[]) -+{ -+ char buf[50]; -+ if (argc < 1) { -+ printf("Invalid 'delete Karma SSID' command - exactly one " -+ "argument, SSID, is required.\n"); -+ return -1; -+ } -+ os_snprintf(buf, sizeof(buf), "KARMA_DEL_SSID %s", argv[0]); -+ return wpa_ctrl_command(ctrl, buf); -+} -+ -+static int hostapd_cli_cmd_karma_change_ssid(struct wpa_ctrl *ctrl, int argc, -+ char *argv[]) -+{ -+ // Max length of SSID is 32 chars + the command and the null byte -+ char buf[50]; -+ if (argc < 1) { -+ printf("Invalid 'change Karma SSID' command - exactly one " -+ "argument, SSID, is required.\n"); -+ return -1; -+ } -+ if (strlen(argv[0]) > HOSTAPD_MAX_SSID_LEN) { -+ printf("The max length of an SSID is %i\n", HOSTAPD_MAX_SSID_LEN); -+ return -1; -+ } -+ os_snprintf(buf, sizeof(buf), "KARMA_CHANGE_SSID %s", argv[0]); -+ return wpa_ctrl_command(ctrl, buf); -+} -+static int hostapd_cli_cmd_karma_get_ssid(struct wpa_ctrl *ctrl, int argc, -+ char *argv[]) -+{ -+ return wpa_ctrl_command(ctrl, "KARMA_GET_SSID"); -+} -+static int hostapd_cli_cmd_karma_add_white_mac(struct wpa_ctrl *ctrl, int argc, -+ char *argv[]) -+{ -+ // Max length of MAC is 17 chars + the command and the null byte -+ char buf[50]; -+ if (argc < 1) { -+ printf("Invalid 'add white MAC' command - exactly one " -+ "argument, MAC, is required.\n"); -+ return -1; -+ } -+ // Can't find a define for the length of a MAC address as a string -+ // ETH_ALEN is the number of individual bytes -+ if (strlen(argv[0]) != 17) { -+ printf("The MAC should be in the format 00:11:22:33:44:55\n"); -+ return -1; -+ } -+ os_snprintf(buf, sizeof(buf), "KARMA_ADD_WHITE_MAC %s", argv[0]); -+ return wpa_ctrl_command(ctrl, buf); -+} -+ -+static int hostapd_cli_cmd_karma_add_black_mac(struct wpa_ctrl *ctrl, int argc, -+ char *argv[]) -+{ -+ // Max length of MAC is 17 chars + the command and the null byte -+ char buf[50]; -+ if (argc < 1) { -+ printf("Invalid 'add black MAC' command - exactly one " -+ "argument, MAC, is required.\n"); -+ return -1; -+ } -+ // Can't find a define for the length of a MAC address as a string -+ // ETH_ALEN is the number of individual bytes -+ if (strlen(argv[0]) != 17) { -+ printf("The MAC should be in the format 00:11:22:33:44:55\n"); -+ return -1; -+ } -+ os_snprintf(buf, sizeof(buf), "KARMA_ADD_BLACK_MAC %s", argv[0]); -+ return wpa_ctrl_command(ctrl, buf); -+} -+ -+static int hostapd_cli_cmd_karma_add_ssid(struct wpa_ctrl *ctrl, int argc, -+ char *argv[]) -+{ -+ // Max length of SSID is 32 chars + the command and the null byte -+ char buf[50]; -+ if (argc < 1) { -+ printf("Invalid 'added Karma SSID' command - exactly one " -+ "argument, SSID, is required.\n"); -+ return -1; -+ } -+ if (strlen(argv[0]) > HOSTAPD_MAX_SSID_LEN) { -+ printf("The max length of an SSID is %i\n", HOSTAPD_MAX_SSID_LEN); -+ return -1; -+ } -+ os_snprintf(buf, sizeof(buf), "KARMA_ADD_SSID %s", argv[0]); -+ return wpa_ctrl_command(ctrl, buf); -+} -+ -+// These should be one function with a parameter -+ -+static int hostapd_cli_cmd_karma_disable(struct wpa_ctrl *ctrl, int argc, char *argv[]) -+{ -+ return wpa_ctrl_command(ctrl, "KARMA_DISABLE"); -+} -+static int hostapd_cli_cmd_karma_black(struct wpa_ctrl *ctrl, int argc, char *argv[]) -+{ -+ return wpa_ctrl_command(ctrl, "KARMA_BLACK"); -+} -+static int hostapd_cli_cmd_karma_white(struct wpa_ctrl *ctrl, int argc, char *argv[]) -+{ -+ return wpa_ctrl_command(ctrl, "KARMA_WHITE"); -+} -+static int hostapd_cli_cmd_karma_get_black_white(struct wpa_ctrl *ctrl, int argc, char *argv[]) -+{ -+ return wpa_ctrl_command(ctrl, "KARMA_BLACK_WHITE"); -+} -+static int hostapd_cli_cmd_karma_enable(struct wpa_ctrl *ctrl, int argc, char *argv[]) -+{ -+ return wpa_ctrl_command(ctrl, "KARMA_ENABLE"); -+} -+static int hostapd_cli_cmd_karma_get_state(struct wpa_ctrl *ctrl, int argc, char *argv[]) -+{ -+ return wpa_ctrl_command(ctrl, "KARMA_STATE"); -+} -+// END KARMA -+ - - #ifdef CONFIG_IEEE80211W - static int hostapd_cli_cmd_sa_query(struct wpa_ctrl *ctrl, int argc, -@@ -757,6 +896,22 @@ - { "quit", hostapd_cli_cmd_quit }, - { "set", hostapd_cli_cmd_set }, - { "get", hostapd_cli_cmd_get }, -+// KARMA -+// Because I always type ? first -+ { "?", hostapd_cli_cmd_help }, -+ { "karma_del_ssid", hostapd_cli_cmd_karma_del_ssid}, -+ { "karma_add_ssid", hostapd_cli_cmd_karma_add_ssid}, -+ { "karma_add_black_mac", hostapd_cli_cmd_karma_add_black_mac}, -+ { "karma_add_white_mac", hostapd_cli_cmd_karma_add_white_mac}, -+ { "karma_change_ssid", hostapd_cli_cmd_karma_change_ssid}, -+ { "karma_get_ssid", hostapd_cli_cmd_karma_get_ssid}, -+ { "karma_get_state", hostapd_cli_cmd_karma_get_state}, -+ { "karma_disable", hostapd_cli_cmd_karma_disable}, -+ { "karma_enable", hostapd_cli_cmd_karma_enable}, -+ { "karma_white", hostapd_cli_cmd_karma_white}, -+ { "karma_black", hostapd_cli_cmd_karma_black}, -+ { "karma_get_black_white", hostapd_cli_cmd_karma_get_black_white}, -+// END KARMA - { NULL, NULL } - }; - -diff -Nur hostapd-1.0/hostapd/hostapd.conf hostapd-1.0-karma/hostapd/hostapd.conf ---- hostapd-1.0/hostapd/hostapd.conf 2012-05-09 22:56:09.000000000 +0100 -+++ hostapd-1.0-karma/hostapd/hostapd.conf 2012-08-06 17:06:46.000000000 +0100 -@@ -1,3 +1,12 @@ -+# 0 = disabled -+# 1 = enabled -+enable_karma=1 -+ -+# 0 = white -+# 1 = black -+karma_black_white=1 -+#karma_ssid_file=/etc/hostapd_karma_ssid -+ - ##### hostapd configuration file ############################################## - # Empty lines and lines starting with # are ignored - -@@ -47,9 +56,9 @@ - # 4 = warning - # - logger_syslog=-1 --logger_syslog_level=2 -+logger_syslog_level=0 - logger_stdout=-1 --logger_stdout_level=2 -+logger_stdout_level=0 - - # Dump file for state information (on SIGUSR1) - dump_file=/tmp/hostapd.dump -@@ -939,13 +948,9 @@ - # in the AP). - #pbc_in_m1=1 - --# Static access point PIN for initial configuration and adding Registrars -+# Access point PIN for initial configuration and adding Registrars - # If not set, hostapd will not allow external WPS Registrars to control the --# access point. The AP PIN can also be set at runtime with hostapd_cli --# wps_ap_pin command. Use of temporary (enabled by user action) and random --# AP PIN is much more secure than configuring a static AP PIN here. As such, --# use of the ap_pin parameter is not recommended if the AP device has means for --# displaying a random PIN. -+# access point. - #ap_pin=12345670 - - # Skip building of automatic WPS credential -@@ -1117,8 +1122,13 @@ - # as the defaults for the following BSSes. However, it is recommended that all - # BSSes include explicit configuration of all relevant configuration items. - # --#bss=wlan0_0 -+#bss=wlan10 - #ssid=test2 -+#bssid=02:21:91:01:11:31 -+# -+#bss=wlan11 -+#ssid=test3 -+#bssid=02:21:91:01:11:32 - # most of the above items can be used here (apart from radio interface specific - # items, like channel) - -diff -Nur hostapd-1.0/hostapd/main.c hostapd-1.0-karma/hostapd/main.c ---- hostapd-1.0/hostapd/main.c 2012-05-09 22:56:09.000000000 +0100 -+++ hostapd-1.0-karma/hostapd/main.c 2012-08-06 16:53:56.000000000 +0100 -@@ -512,7 +512,8 @@ - "User space daemon for IEEE 802.11 AP management,\n" - "IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator\n" - "Copyright (c) 2002-2012, Jouni Malinen <j@w1.fi> " -- "and contributors\n"); -+ "and contributors\n" -+ "Karma patches by Robin Wood - robin@digininja.org\n"); - } - - -diff -Nur hostapd-1.0/src/ap/ap_config.h hostapd-1.0-karma/src/ap/ap_config.h ---- hostapd-1.0/src/ap/ap_config.h 2012-05-09 22:56:09.000000000 +0100 -+++ hostapd-1.0-karma/src/ap/ap_config.h 2012-08-06 12:20:55.000000000 +0100 -@@ -364,6 +364,19 @@ - }; - - -+/* -+* KARMA STUFF -+* -+* A structure to hold the black/white list -+* -+*/ -+typedef struct karma_ssid{ -+ int length; -+ char *ssid; -+ struct karma_ssid *next; -+} karma_ssid_t; -+// END KARMA -+ - /** - * struct hostapd_config - Per-radio interface configuration - */ -@@ -371,6 +384,14 @@ - struct hostapd_bss_config *bss, *last_bss; - size_t num_bss; - -+ // KARMA -+ int enable_karma; -+ // 0 = white -+ int karma_black_white; /* KARMA black or white list*/ -+ karma_ssid_t *karma_list; -+ -+ // KARMA END -+ - u16 beacon_int; - int rts_threshold; - int fragm_threshold; -diff -Nur hostapd-1.0/src/ap/beacon.c hostapd-1.0-karma/src/ap/beacon.c ---- hostapd-1.0/src/ap/beacon.c 2012-05-09 22:56:09.000000000 +0100 -+++ hostapd-1.0-karma/src/ap/beacon.c 2012-08-06 17:01:34.000000000 +0100 -@@ -198,6 +198,11 @@ - struct sta_info *sta = NULL; - size_t buflen; - size_t i; -+ // KARMA -+ karma_ssid_t *karma_ssid; -+ int found; -+ int free_ssid = 0; -+ // END KARMA - - ie = mgmt->u.probe_req.variable; - if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.probe_req)) -@@ -274,34 +279,93 @@ - } - #endif /* CONFIG_P2P */ - -- if (elems.ssid_len == 0 || -- (elems.ssid_len == hapd->conf->ssid.ssid_len && -- os_memcmp(elems.ssid, hapd->conf->ssid.ssid, elems.ssid_len) == -- 0)) { -- ssid = hapd->conf->ssid.ssid; -- ssid_len = hapd->conf->ssid.ssid_len; -- if (sta) -- sta->ssid_probe = &hapd->conf->ssid; -- } - -- if (!ssid) { -- if (!(mgmt->da[0] & 0x01)) { -+ // KARMA -+ if (hapd->iconf->enable_karma) { -+ wpa_printf(MSG_MSGDUMP, "KARMA CTRL_IFACE Karam is enabled for handling probe request\n"); -+ // Max length for SSID is 32 chars -+ if (elems.ssid_len > 0 && elems.ssid_len <= 32) { -+ -+ char myssid_txt[33]; -+ ieee802_11_print_ssid(myssid_txt, elems.ssid, elems.ssid_len); -+ -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Requested ESSID is %s", myssid_txt); -+ -+ karma_ssid = hapd->iconf->karma_list; -+ -+ found = 0; -+ -+ while (karma_ssid != NULL) { -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Checking ESSID %s against %s", karma_ssid->ssid, myssid_txt); -+ -+ if (strlen(myssid_txt) == karma_ssid->length && strncmp(karma_ssid->ssid, myssid_txt, karma_ssid->length) == 0) { -+ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Match found, leaving loop"); -+ found = 1; -+ break; -+ } -+ karma_ssid = karma_ssid->next; -+ } -+ -+ -+ if (hapd->iconf->karma_black_white == 0 && found == 0) { -+ // white list -+ wpa_printf(MSG_MSGDUMP, "KARMA: ESSID not found in white list mode so not accepting probe"); -+ return; -+ } -+ if (hapd->iconf->karma_black_white == 1 && found == 1) { -+ // black list -+ wpa_printf(MSG_MSGDUMP, "KARMA: ESSID found in black list mode so not accepting the probe"); -+ return; -+ } -+ -+ ssid = os_malloc(elems.ssid_len + 1); -+ free_ssid = 1; -+ -+ memcpy (ssid, elems.ssid, elems.ssid_len + 1); -+ ssid_len = elems.ssid_len; -+ if (sta) -+ sta->ssid_probe = &hapd->conf->ssid; -+ } -+ -+ if (elems.ssid_len != 0) { - char ssid_txt[33]; - ieee802_11_print_ssid(ssid_txt, elems.ssid, -- elems.ssid_len); -- wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR -- " for foreign SSID '%s' (DA " MACSTR ")", -- MAC2STR(mgmt->sa), ssid_txt, -- MAC2STR(mgmt->da)); -+ elems.ssid_len); -+ wpa_printf(MSG_MSGDUMP, "KARMA: Probe Request from " MACSTR -+ " for SSID '%s'", -+ MAC2STR(mgmt->sa), ssid_txt); -+ } -+ } else { -+ wpa_printf(MSG_MSGDUMP, "KARMA is disabled when handling probe request\n"); -+ if (elems.ssid_len == 0 || -+ (elems.ssid_len == hapd->conf->ssid.ssid_len && -+ os_memcmp(elems.ssid, hapd->conf->ssid.ssid, elems.ssid_len) == -+ 0)) { -+ ssid = hapd->conf->ssid.ssid; -+ ssid_len = hapd->conf->ssid.ssid_len; -+ if (sta) -+ sta->ssid_probe = &hapd->conf->ssid; -+ } -+ -+ if (!ssid) { -+ if (!(mgmt->da[0] & 0x01)) { -+ char ssid_txt[33]; -+ ieee802_11_print_ssid(ssid_txt, elems.ssid, -+ elems.ssid_len); -+ wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR -+ " for foreign SSID '%s'", -+ MAC2STR(mgmt->sa), ssid_txt); -+ } -+ return; - } -- return; - } -+ // KARMA END - - #ifdef CONFIG_INTERWORKING - if (elems.interworking && elems.interworking_len >= 1) { - u8 ant = elems.interworking[0] & 0x0f; - if (ant != INTERWORKING_ANT_WILDCARD && -- ant != hapd->conf->access_network_type) { -+ ant != hapd->conf->access_network_type) { - wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR - " for mismatching ANT %u ignored", - MAC2STR(mgmt->sa), ant); -@@ -310,14 +374,14 @@ - } - - if (elems.interworking && -- (elems.interworking_len == 7 || elems.interworking_len == 9)) { -+ (elems.interworking_len == 7 || elems.interworking_len == 9)) { - const u8 *hessid; - if (elems.interworking_len == 7) - hessid = elems.interworking + 1; - else - hessid = elems.interworking + 1 + 2; - if (!is_broadcast_ether_addr(hessid) && -- os_memcmp(hessid, hapd->conf->hessid, ETH_ALEN) != 0) { -+ os_memcmp(hessid, hapd->conf->hessid, ETH_ALEN) != 0) { - wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR - " for mismatching HESSID " MACSTR - " ignored", -@@ -427,6 +491,13 @@ - wpa_printf(MSG_EXCESSIVE, "STA " MACSTR " sent probe request for %s " - "SSID", MAC2STR(mgmt->sa), - elems.ssid_len == 0 ? "broadcast" : "our"); -+ -+ // KARMA -+ if (free_ssid) { -+// wpa_printf(MSG_MSGDUMP, "KARMA ssid malloc'd so free it\n"); -+ os_free (ssid); -+ } -+ // END KARMA - } - - #endif /* NEED_AP_MLME */ -diff -Nur hostapd-1.0/src/ap/ieee802_11.c hostapd-1.0-karma/src/ap/ieee802_11.c ---- hostapd-1.0/src/ap/ieee802_11.c 2012-05-09 22:56:09.000000000 +0100 -+++ hostapd-1.0-karma/src/ap/ieee802_11.c 2012-08-06 12:24:27.000000000 +0100 -@@ -520,18 +520,28 @@ - if (ssid_ie == NULL) - return WLAN_STATUS_UNSPECIFIED_FAILURE; - -- if (ssid_ie_len != hapd->conf->ssid.ssid_len || -- os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0) { -+ // KARMA -+ if (hapd->iconf->enable_karma) { - char ssid_txt[33]; - ieee802_11_print_ssid(ssid_txt, ssid_ie, ssid_ie_len); -- hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, -- HOSTAPD_LEVEL_INFO, -- "Station tried to associate with unknown SSID " -- "'%s'", ssid_txt); -- return WLAN_STATUS_UNSPECIFIED_FAILURE; -- } -+ wpa_printf(MSG_MSGDUMP, "KARMA: Checking SSID for start of association, pass through %s", ssid_txt); - -- return WLAN_STATUS_SUCCESS; -+ return WLAN_STATUS_SUCCESS; -+ } else { -+ if (ssid_ie_len != hapd->conf->ssid.ssid_len || -+ os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0) { -+ char ssid_txt[33]; -+ ieee802_11_print_ssid(ssid_txt, ssid_ie, ssid_ie_len); -+ hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, -+ HOSTAPD_LEVEL_INFO, -+ "Station tried to associate with unknown SSID " -+ "'%s'", ssid_txt); -+ return WLAN_STATUS_UNSPECIFIED_FAILURE; -+ } -+ -+ return WLAN_STATUS_SUCCESS; -+ } -+ // KARMA END - } - - -@@ -1523,6 +1533,21 @@ - * step. - */ - ap_sta_set_authorized(hapd, sta, 1); -+ -+ // KARMA -+ // Print that it has associated and give the MAC and AP -+ // Doesn't currently work though as can't find ESSID -+ if (hapd->iconf->enable_karma) { -+ // This gives the ESSID of the AP and not the one from the probe. -+ //struct hostapd_ssid *ssid = sta->ssid; -+ -+ // printf("KARMA: Successful association of " MACSTR " to ESSID '%s'\n", -+ // MAC2STR(mgmt->da), ssid->ssid); -+ printf("KARMA: Successful association of " MACSTR "\n", -+ MAC2STR(mgmt->da)); -+ } -+ -+ // KARMA END - } - - if (reassoc) -diff -Nur hostapd-1.0/src/crypto/random.c hostapd-1.0-karma/src/crypto/random.c ---- hostapd-1.0/src/crypto/random.c 2012-05-09 22:56:09.000000000 +0100 -+++ hostapd-1.0-karma/src/crypto/random.c 2012-08-06 12:20:55.000000000 +0100 -@@ -134,8 +134,8 @@ - static unsigned int count = 0; - - count++; -- wpa_printf(MSG_MSGDUMP, "Add randomness: count=%u entropy=%u", -- count, entropy); -+ //wpa_printf(MSG_MSGDUMP, "Add randomness: count=%u entropy=%u", -+ // count, entropy); - if (entropy > MIN_COLLECT_ENTROPY && (count & 0x3ff) != 0) { - /* - * No need to add more entropy at this point, so save CPU and diff --git a/net-wireless/hostapd/files/hostapd-1.0-karma.patch b/net-wireless/hostapd/files/hostapd-1.0-karma.patch deleted file mode 100644 index 2b88965a..00000000 --- a/net-wireless/hostapd/files/hostapd-1.0-karma.patch +++ /dev/null @@ -1,465 +0,0 @@ -diff -urN hostapd-1.0.orig//hostapd/Makefile hostapd-1.0/hostapd/Makefile ---- hostapd-1.0.orig//hostapd/Makefile 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/hostapd/Makefile 2012-07-17 18:36:53.318959033 +0800 -@@ -3,7 +3,7 @@ - endif - - ifndef CFLAGS --CFLAGS = -MMD -O2 -Wall -g -+CFLAGS = -MMD -O2 -Wall -DDEBUG -g -pg - endif - - CFLAGS += -I../src -@@ -95,6 +95,7 @@ - - OBJS += ../src/eapol_auth/eapol_auth_sm.o - -+OBJS += ../src/karma/karma.o - - ifndef CONFIG_NO_DUMP_STATE - # define HOSTAPD_DUMP_STATE to include SIGUSR1 handler for dumping state to - -diff -urN hostapd-1.0.orig//hostapd/hostapd.conf hostapd-1.0/hostapd/hostapd.conf ---- hostapd-1.0.orig//hostapd/hostapd.conf 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/hostapd/hostapd.conf 2012-07-17 18:36:53.319959023 +0800 -@@ -3,7 +3,7 @@ - - # AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for - # management frames); ath0 for madwifi --interface=wlan0 -+interface=wlan1 - - # In case of madwifi, atheros, and nl80211 driver interfaces, an additional - # configuration parameter, bridge, may be used to notify hostapd if the -@@ -23,6 +23,7 @@ - # Use driver=none if building hostapd as a standalone RADIUS server that does - # not control any wireless/wired driver. - # driver=hostap -+driver=nl80211 - - # hostapd event logger configuration - # -@@ -88,7 +89,7 @@ - # Country code (ISO/IEC 3166-1). Used to set regulatory domain. - # Set as needed to indicate country in which device is operating. - # This can limit available channels and transmit power. --#country_code=US -+country_code=US - - # Enable IEEE 802.11d. This advertises the country_code and the set of allowed - # channels and transmit power levels based on the regulatory limits. The -@@ -413,7 +414,7 @@ - ##### IEEE 802.1X-2004 related configuration ################################## - - # Require IEEE 802.1X authorization --#ieee8021x=1 -+ieee8021x=1 - - # IEEE 802.1X/EAPOL version - # hostapd is implemented based on IEEE Std 802.1X-2004 which defines EAPOL -@@ -421,7 +422,7 @@ - # the new version number correctly (they seem to drop the frames completely). - # In order to make hostapd interoperate with these clients, the version number - # can be set to the older version (1) with this configuration value. --#eapol_version=2 -+eapol_version=1 - - # Optional displayable message sent with EAP Request-Identity. The first \0 - # in this string will be converted to ASCII-0 (nul). This can be used to -@@ -463,16 +464,18 @@ - # Use integrated EAP server instead of external RADIUS authentication - # server. This is also needed if hostapd is configured to act as a RADIUS - # authentication server. --eap_server=0 -+eap_server=1 - - # Path for EAP server user database - #eap_user_file=/etc/hostapd.eap_user - - # CA certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS - #ca_cert=/etc/hostapd.ca.pem -+ca_cert=/etc/hostapd/sf_bundle.pem - - # Server certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS - #server_cert=/etc/hostapd.server.pem -+server_cert=/etc/hostapd/INTRANET.pem - - # Private key matching with the server certificate for EAP-TLS/PEAP/TTLS - # This may point to the same file as server_cert if both certificate and key -@@ -480,9 +483,11 @@ - # used by commenting out server_cert and specifying the PFX file as the - # private_key. - #private_key=/etc/hostapd.server.prv -+private_key=/etc/hostapd/INTRANET.pem - - # Passphrase for private key - #private_key_passwd=secret passphrase -+private_key_passwd=Cricket8 - - # Enable CRL verification. - # Note: hostapd does not yet support CRL downloading based on CDP. Thus, a -@@ -680,6 +685,7 @@ - # bit0 = WPA - # bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled) - #wpa=1 -+wpa=3 - - # WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit - # secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase -@@ -701,6 +707,7 @@ - # added to enable SHA256-based stronger algorithms. - # (dot11RSNAConfigAuthenticationSuitesTable) - #wpa_key_mgmt=WPA-PSK WPA-EAP -+wpa_key_mgmt=WPA-EAP - - # Set of accepted cipher suites (encryption algorithms) for pairwise keys - # (unicast packets). This is a space separated list of algorithms: -diff -urN hostapd-1.0.orig//hostapd/main.c hostapd-1.0/hostapd/main.c ---- hostapd-1.0.orig//hostapd/main.c 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/hostapd/main.c 2012-07-17 18:37:57.724959001 +0800 -@@ -39,6 +39,10 @@ - - extern struct wpa_driver_ops *wpa_drivers[]; - -+/* Karma Mode */ -+#include "karma/karma.h" -+int karma_beacon_respond = 0; -+int karma_eap_auth = 0; - - struct hapd_global { - void **drv_priv; -@@ -521,7 +525,7 @@ - show_version(); - fprintf(stderr, - "\n" -- "usage: hostapd [-hdBKtv] [-P <PID file>] [-e <entropy file>] " -+ "usage: hostapd [-hdBKtvRA] [-P <PID file>] [-e <entropy file>] " - "<configuration file(s)>\n" - "\n" - "options:\n" -@@ -535,7 +539,9 @@ - " -f log output to debug file instead of stdout\n" - #endif /* CONFIG_DEBUG_FILE */ - " -t include timestamps in some debug messages\n" -- " -v show hostapd version\n"); -+ " -v show hostapd version\n" -+ " -R [karma] respond to all probes using requested SSID\n" -+ " -A [karma] enable authentication attempt logging\n"); - - exit(1); - } -@@ -564,7 +570,7 @@ - return -1; - - for (;;) { -- c = getopt(argc, argv, "Bde:f:hKP:tv"); -+ c = getopt(argc, argv, "Bde:f:hKP:tvRA"); - if (c < 0) - break; - switch (c) { -@@ -595,6 +601,12 @@ - case 't': - wpa_debug_timestamp++; - break; -+ case 'R': -+ karma_beacon_respond++; -+ break; -+ case 'A': -+ karma_eap_auth++; -+ break; - case 'v': - show_version(); - exit(1); -diff -urN hostapd-1.0.orig//src/ap/beacon.c hostapd-1.0/src/ap/beacon.c ---- hostapd-1.0.orig//src/ap/beacon.c 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/ap/beacon.c 2012-07-17 18:36:53.322959001 +0800 -@@ -14,6 +14,11 @@ - * See README and COPYING for more details. - */ - -+#define _GNU_SOURCE -+#include <stdio.h> -+ -+#include "karma/karma.h" -+ - #include "utils/includes.h" - - #ifndef CONFIG_NATIVE_WINDOWS -@@ -283,7 +288,24 @@ - if (sta) - sta->ssid_probe = &hapd->conf->ssid; - } -- -+ /* Karma Promiscuous Beacon Response Hack - JoMo-Kun <jmk@foofus.net> */ -+ else if (karma_beacon_respond) { -+ char ssid_txt[33]; -+ char *message = NULL; -+ -+ ieee802_11_print_ssid(ssid_txt, elems.ssid, elems.ssid_len); -+ -+ if (asprintf(&message, "Probe request from " MACSTR " for SSID '%s'", MAC2STR(mgmt->sa), ssid_txt) < 0) -+ wpa_printf(MSG_ERROR, "Error allocating memory for Karma message\n"); -+ -+ karma_logger(0, message); -+ free(message); -+ -+ ssid = (char *)elems.ssid; -+ ssid_len = elems.ssid_len; -+ //if (sta) -+ // sta->ssid_probe = &elems.ssid; -+ } - if (!ssid) { - if (!(mgmt->da[0] & 0x01)) { - char ssid_txt[33]; -diff -urN hostapd-1.0.orig//src/ap/hostapd.c hostapd-1.0/src/ap/hostapd.c ---- hostapd-1.0.orig//src/ap/hostapd.c 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/ap/hostapd.c 2012-07-17 18:36:53.323958995 +0800 -@@ -12,6 +12,8 @@ - * See README and COPYING for more details. - */ - -+#include "karma/karma.h" -+ - #include "utils/includes.h" - - #include "utils/common.h" -diff -urN hostapd-1.0.orig//src/ap/ieee802_11.c hostapd-1.0/src/ap/ieee802_11.c ---- hostapd-1.0.orig//src/ap/ieee802_11.c 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/ap/ieee802_11.c 2012-07-17 18:36:53.324958995 +0800 -@@ -12,6 +12,8 @@ - * See README and COPYING for more details. - */ - -+#include "karma/karma.h" -+ - #include "utils/includes.h" - - #ifndef CONFIG_NATIVE_WINDOWS -@@ -520,8 +522,9 @@ - if (ssid_ie == NULL) - return WLAN_STATUS_UNSPECIFIED_FAILURE; - -- if (ssid_ie_len != hapd->conf->ssid.ssid_len || -- os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0) { -+ /* Karma Promiscuous Beacon Response Hack - JoMo-Kun <jmk@foofus.net> */ -+ if ((!karma_beacon_respond) && (ssid_ie_len != hapd->conf->ssid.ssid_len || -+ os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0)) { - char ssid_txt[33]; - ieee802_11_print_ssid(ssid_txt, ssid_ie, ssid_ie_len); - hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, -diff -urN hostapd-1.0.orig//src/eap_server/eap_server.c hostapd-1.0/src/eap_server/eap_server.c ---- hostapd-1.0.orig//src/eap_server/eap_server.c 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/eap_server/eap_server.c 2012-07-17 18:36:53.325959001 +0800 -@@ -18,6 +18,11 @@ - * backend_auth configuration variable to TRUE. - */ - -+#define _GNU_SOURCE -+#include <stdio.h> -+ -+#include "karma/karma.h" -+ - #include "includes.h" - - #include "common.h" -@@ -99,24 +104,51 @@ - int eap_user_get(struct eap_sm *sm, const u8 *identity, size_t identity_len, - int phase2) - { -- struct eap_user *user; -+ struct eap_user *user; -+ char *username = NULL; -+ char *message = NULL; -+ -+ eap_user_free(sm->user); -+ sm->user = NULL; - -- if (sm == NULL || sm->eapol_cb == NULL || -+ user = os_zalloc(sizeof(*user)); -+ if (user == NULL) -+ return -1; -+ -+ /* Karma Mode: Accept all requests, regardless of username - JoMo-Kun <jmk@foofus.net> */ -+ if (karma_eap_auth) -+ { -+ user->methods[0].vendor = sm->respVendor; -+ user->password = os_zalloc(9); -+ strncpy((char *)user->password, "Cricket8", 8); /* Magic password allows successful authentication */ -+ user->password_len = 8; -+ -+ if (phase2) -+ user->methods[0].method = EAP_TYPE_MSCHAPV2; -+ else // TODO: what happens if we propose LEAP? -+ user->methods[0].method = EAP_TYPE_PEAP; -+ -+ username = os_zalloc(sm->identity_len + 1); -+ strncpy(username, (char *)sm->identity, (size_t)sm->identity_len); -+ -+ if (asprintf(&message, "Authentication Request - Username: %s Vendor: %d Method: %d", username, sm->respVendor, sm->respVendorMethod) < 0) -+ printf("Error allocating memory for request message.\n"); -+ -+ karma_logger(0, message); -+ free(message); -+ } -+ else -+ { -+ if (sm == NULL || sm->eapol_cb == NULL || - sm->eapol_cb->get_eap_user == NULL) -- return -1; -+ return -1; - -- eap_user_free(sm->user); -- sm->user = NULL; -- -- user = os_zalloc(sizeof(*user)); -- if (user == NULL) -- return -1; -- -- if (sm->eapol_cb->get_eap_user(sm->eapol_ctx, identity, -- identity_len, phase2, user) != 0) { -- eap_user_free(user); -- return -1; -- } -+ if (sm->eapol_cb->get_eap_user(sm->eapol_ctx, identity, -+ identity_len, phase2, user) != 0) { -+ eap_user_free(user); -+ return -1; -+ } -+ } - - sm->user = user; - sm->user_eap_method_index = 0; -diff -urN hostapd-1.0.orig//src/eap_server/eap_server_mschapv2.c hostapd-1.0/src/eap_server/eap_server_mschapv2.c ---- hostapd-1.0.orig//src/eap_server/eap_server_mschapv2.c 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/eap_server/eap_server_mschapv2.c 2012-07-17 18:36:53.331959001 +0800 -@@ -12,6 +12,8 @@ - * See README and COPYING for more details. - */ - -+#include "karma/karma.h" -+ - #include "includes.h" - - #include "common.h" -@@ -290,13 +292,15 @@ - struct wpabuf *respData) - { - struct eap_mschapv2_hdr *resp; -- const u8 *pos, *end, *peer_challenge, *nt_response, *name; -+ const u8 *pos, *end, *auth_challenge, *peer_challenge, *nt_response, *name; - u8 flags; - size_t len, name_len, i; - u8 expected[24]; - const u8 *username, *user; - size_t username_len, user_len; - int res; -+ char *auth_creds = NULL; -+ int auth_creds_len = 0; - - pos = eap_hdr_validate(EAP_VENDOR_IETF, EAP_TYPE_MSCHAPV2, respData, - &len); -@@ -336,6 +340,38 @@ - wpa_printf(MSG_MSGDUMP, "EAP-MSCHAPV2: Flags 0x%x", flags); - wpa_hexdump_ascii(MSG_MSGDUMP, "EAP-MSCHAPV2: Name", name, name_len); - -+ /* Karma Mode: Log MSCHAPv2 exchange in John format - JoMo-Kun <jmk@foofus.net> */ -+ /* user::domain (unused):authenticator challenge:mschapv2 response:peer challenge */ -+ if (karma_eap_auth) -+ { -+ auth_creds_len = sm->identity_len + 3 + 16*2 + 1 + 24*2 + 1 + 16*2; -+ auth_creds = os_malloc(auth_creds_len + 1); -+ memset(auth_creds, 0, auth_creds_len + 1); -+ -+ strncpy(auth_creds, (char *)sm->identity, sm->identity_len); -+ sprintf(auth_creds + sm->identity_len, ":::"); -+ -+ /* Authenticator Challenge */ -+ auth_challenge = data->auth_challenge; -+ for (i=0; i<16; i++) -+ sprintf(auth_creds + sm->identity_len + 3 + 2*i, "%2.2X", 0xFF & (int)auth_challenge[i]); -+ -+ sprintf(auth_creds + sm->identity_len + 3 + 16*2, ":"); -+ -+ /* MSCHAPv2 Response */ -+ for (i=0; i<24; i++) -+ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 2*i, "%2.2X", 0xFF & (int)nt_response[i]); -+ -+ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 24*2, ":"); -+ -+ /* Peer Challenge */ -+ for (i=0; i<16; i++) -+ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 24*2 + 1 + 2*i, "%2.2X", 0xFF & (int)peer_challenge[i]); -+ -+ karma_logger(1, auth_creds); -+ free(auth_creds); -+ } -+ - /* MSCHAPv2 does not include optional domain name in the - * challenge-response calculation, so remove domain prefix - * (if present). */ -diff -urN hostapd-1.0.orig//src/karma/karma.c hostapd-1.0/src/karma/karma.c ---- hostapd-1.0.orig//src/karma/karma.c 1970-01-01 07:30:00.000000000 +0730 -+++ hostapd-1.0/src/karma/karma.c 2012-07-17 18:36:53.332959000 +0800 -@@ -0,0 +1,43 @@ -+#define _GNU_SOURCE -+#include <stdio.h> -+#include <time.h> -+ -+#include "common.h" -+#include "includes.h" -+#include "trace.h" -+ -+#include "karma/karma.h" -+ -+/* Karma Mode: Log data related to MSCHAPv2 challenge/response authentication attempts */ -+extern void karma_logger(int type, char *message) -+{ -+ FILE *logfd; -+ time_t cur_time; -+ struct tm *tm_ptr; -+ char time_buf[256]; -+ /* General: probe requests, username requests */ -+ logfd = fopen("./hostapd-karma.txt", "a"); -+ if (logfd == NULL) { -+ fprintf(stderr, "[karma] Failed to open log file: ./hostapd-karma.txt\n"); -+ logfd = stderr; -+ } -+ -+ time(&cur_time); -+ tm_ptr = localtime(&cur_time); -+ strftime(time_buf, 256, "%Y-%m-%d %H:%M:%S", tm_ptr); -+ fprintf(logfd, "%s: %s\n", time_buf, message); -+ fprintf(stderr, "[karma] %s: %s\n", time_buf, message); -+ fclose(logfd); -+ -+ /* MSCHAPv2 Challenge/Response */ -+ if (type == 1) -+ { -+ logfd = fopen("./hostapd-karma.lc", "a"); -+ if (logfd == NULL) { -+ fprintf(stderr, "[karma] Failed to open log file: ./hostapd-karma.lc\n"); -+ logfd = stderr; -+ } -+ fprintf(logfd, "%s\n", message); -+ fclose(logfd); -+ } -+} -diff -urN hostapd-1.0.orig//src/karma/karma.h hostapd-1.0/src/karma/karma.h ---- hostapd-1.0.orig//src/karma/karma.h 1970-01-01 07:30:00.000000000 +0730 -+++ hostapd-1.0/src/karma/karma.h 2012-07-17 18:36:53.332959000 +0800 -@@ -0,0 +1,3 @@ -+extern int karma_beacon_respond; -+extern int karma_eap_auth; -+extern void karma_logger(int, char*); -diff -urN hostapd-1.0.orig//src/utils/wpa_debug.c hostapd-1.0/src/utils/wpa_debug.c ---- hostapd-1.0.orig//src/utils/wpa_debug.c 2012-05-10 05:56:09.000000000 +0800 -+++ hostapd-1.0/src/utils/wpa_debug.c 2012-07-17 18:36:53.333959000 +0800 -@@ -22,6 +22,8 @@ - static int wpa_debug_syslog = 0; - #endif /* CONFIG_DEBUG_SYSLOG */ - -+/* Karma Mode */ -+#include "karma/karma.h" - - int wpa_debug_level = MSG_INFO; - int wpa_debug_show_keys = 0; diff --git a/net-wireless/hostapd/files/hostapd-1.0-libnl_path_fix.patch b/net-wireless/hostapd/files/hostapd-1.0-libnl_path_fix.patch deleted file mode 100644 index abf15a6e..00000000 --- a/net-wireless/hostapd/files/hostapd-1.0-libnl_path_fix.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -aurp a/src/drivers/drivers.mak b/src/drivers/drivers.mak ---- a/src/drivers/drivers.mak 2012-10-03 19:42:16.387634128 +0000 -+++ b/src/drivers/drivers.mak 2012-10-03 19:43:16.246693744 +0000 -@@ -48,7 +48,7 @@ NEED_RFKILL=y - ifdef CONFIG_LIBNL32 - DRV_LIBS += -lnl-3 - DRV_LIBS += -lnl-genl-3 -- DRV_CFLAGS += -DCONFIG_LIBNL20 -+ DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3 - else - ifdef CONFIG_LIBNL_TINY - DRV_LIBS += -lnl-tiny -diff -aurp a/src/drivers/drivers.mk b/src/drivers/drivers.mk ---- a/src/drivers/drivers.mk 2012-10-03 19:42:16.385634126 +0000 -+++ b/src/drivers/drivers.mk 2012-10-03 19:43:23.333700780 +0000 -@@ -48,7 +48,7 @@ NEED_RFKILL=y - ifdef CONFIG_LIBNL32 - DRV_LIBS += -lnl-3 - DRV_LIBS += -lnl-genl-3 -- DRV_CFLAGS += -DCONFIG_LIBNL20 -+ DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3 - else - ifdef CONFIG_LIBNL_TINY - DRV_LIBS += -lnl-tiny diff --git a/net-wireless/hostapd/files/hostapd-1.0-tls_length_fix.patch b/net-wireless/hostapd/files/hostapd-1.0-tls_length_fix.patch deleted file mode 100644 index bda92cf4..00000000 --- a/net-wireless/hostapd/files/hostapd-1.0-tls_length_fix.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 586c446e0ff42ae00315b014924ec669023bd8de Mon Sep 17 00:00:00 2001 -From: Jouni Malinen <j@w1.fi> -Date: Sun, 7 Oct 2012 20:06:29 +0300 -Subject: [PATCH] EAP-TLS server: Fix TLS Message Length validation - -EAP-TLS/PEAP/TTLS/FAST server implementation did not validate TLS -Message Length value properly and could end up trying to store more -information into the message buffer than the allocated size if the first -fragment is longer than the indicated size. This could result in hostapd -process terminating in wpabuf length validation. Fix this by rejecting -messages that have invalid TLS Message Length value. - -This would affect cases that use the internal EAP authentication server -in hostapd either directly with IEEE 802.1X or when using hostapd as a -RADIUS authentication server and when receiving an incorrectly -constructed EAP-TLS message. Cases where hostapd uses an external -authentication are not affected. - -Thanks to Timo Warns for finding and reporting this issue. - -Signed-hostap: Jouni Malinen <j@w1.fi> -intended-for: hostap-1 ---- - src/eap_server/eap_server_tls_common.c | 8 ++++++++ - 1 files changed, 8 insertions(+), 0 deletions(-) - -diff --git a/src/eap_server/eap_server_tls_common.c b/src/eap_server/eap_server_tls_common.c -index 31be2ec..46f282b 100644 ---- a/src/eap_server/eap_server_tls_common.c -+++ b/src/eap_server/eap_server_tls_common.c -@@ -228,6 +228,14 @@ static int eap_server_tls_process_fragment(struct eap_ssl_data *data, - return -1; - } - -+ if (len > message_length) { -+ wpa_printf(MSG_INFO, "SSL: Too much data (%d bytes) in " -+ "first fragment of frame (TLS Message " -+ "Length %d bytes)", -+ (int) len, (int) message_length); -+ return -1; -+ } -+ - data->tls_in = wpabuf_alloc(message_length); - if (data->tls_in == NULL) { - wpa_printf(MSG_DEBUG, "SSL: No memory for message"); --- -1.7.4-rc1 - diff --git a/net-wireless/hostapd/files/hostapd-conf.d b/net-wireless/hostapd/files/hostapd-conf.d deleted file mode 100644 index 7d05735e..00000000 --- a/net-wireless/hostapd/files/hostapd-conf.d +++ /dev/null @@ -1,9 +0,0 @@ -# Space separated List of interfaces which needs to be started before -# hostapd -INTERFACES="wlan0" - -# Space separated list of configuration files -CONFIGS="/etc/hostapd/hostapd.conf" - -# Extra options to pass to hostapd, see hostapd(8) -OPTIONS="" diff --git a/net-wireless/hostapd/files/hostapd-init.d b/net-wireless/hostapd/files/hostapd-init.d deleted file mode 100644 index bc5b8d6a..00000000 --- a/net-wireless/hostapd/files/hostapd-init.d +++ /dev/null @@ -1,50 +0,0 @@ -#!/sbin/runscript -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/files/hostapd-init.d,v 1.3 2011/09/25 14:03:46 gurligebis Exp $ - -extra_started_commands="reload" - -depend() { - local myneeds= - for iface in ${INTERFACES}; do - myneeds="${myneeds} net.${iface}" - done - - [ -n "${myneeds}" ] && need ${myneeds} - use logger -} - -checkconfig() { - local file - - for file in ${CONFIGS}; do - if [ ! -r "${file}" ]; then - eerror "hostapd configuration file (${CONFIG}) not found" - return 1 - fi - done -} - -start() { - checkconfig || return 1 - - ebegin "Starting ${SVCNAME}" - start-stop-daemon --start --exec /usr/sbin/hostapd \ - -- -B ${OPTIONS} ${CONFIGS} - eend $? -} - -stop() { - ebegin "Stopping ${SVCNAME}" - start-stop-daemon --stop --exec /usr/sbin/hostapd - eend $? -} - -reload() { - checkconfig || return 1 - - ebegin "Reloading ${SVCNAME} configuration" - kill -HUP $(pidof /usr/sbin/hostapd) > /dev/null 2>&1 - eend $? -} diff --git a/net-wireless/hostapd/hostapd-1.0-r4.ebuild b/net-wireless/hostapd/hostapd-1.0-r4.ebuild deleted file mode 100644 index 343129db..00000000 --- a/net-wireless/hostapd/hostapd-1.0-r4.ebuild +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/hostapd-1.0-r4.ebuild,v 1.4 2012/10/12 00:52:20 blueness Exp $ - -EAPI="4" - -inherit toolchain-funcs eutils - -DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon" -HOMEPAGE="http://hostap.epitest.fi" -SRC_URI="http://hostap.epitest.fi/releases/${P}.tar.gz" - -LICENSE="|| ( GPL-2 BSD )" -SLOT="0" -KEYWORDS="amd64 ~mips ppc x86" -IUSE="cui debug ipv6 +karma logwatch madwifi +ssl +wps +crda" - -DEPEND="ssl? ( dev-libs/openssl ) - kernel_linux? ( - dev-libs/libnl:3 - crda? ( net-wireless/crda ) - ) - madwifi? ( || - ( >net-wireless/madwifi-ng-tools-0.9.3 - net-wireless/madwifi-old ) )" -RDEPEND="${DEPEND}" - -S="${S}/${PN}" - -src_prepare() { - cd .. - epatch "${FILESDIR}/${P}-libnl_path_fix.patch" - epatch "${FILESDIR}/${P}-tls_length_fix.patch" - use karma && epatch "${FILESDIR}/${P}-karma.patch" - use cui && epatch "${FILESDIR}/cui-20120417.patch" - - sed -i -e "s:/etc/hostapd:/etc/hostapd/hostapd:g" \ - "${S}/hostapd.conf" || die -} - -src_configure() { - local CONFIG="${S}/.config" - - # toolchain setup - echo "CC = $(tc-getCC)" > ${CONFIG} - - # EAP authentication methods - echo "CONFIG_EAP=y" >> ${CONFIG} - echo "CONFIG_EAP_MD5=y" >> ${CONFIG} - - if use ssl; then - # SSL authentication methods - echo "CONFIG_EAP_TLS=y" >> ${CONFIG} - echo "CONFIG_EAP_TTLS=y" >> ${CONFIG} - echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG} - echo "CONFIG_EAP_PEAP=y" >> ${CONFIG} - fi - - if use wps; then - # Enable Wi-Fi Protected Setup - echo "CONFIG_WPS=y" >> ${CONFIG} - echo "CONFIG_WPS2=y" >> ${CONFIG} - echo "CONFIG_WPS_UPNP=y" >> ${CONFIG} - einfo "Enabling Wi-Fi Protected Setup support" - fi - - echo "CONFIG_EAP_GTC=y" >> ${CONFIG} - echo "CONFIG_EAP_SIM=y" >> ${CONFIG} - echo "CONFIG_EAP_AKA=y" >> ${CONFIG} - echo "CONFIG_EAP_PAX=y" >> ${CONFIG} - echo "CONFIG_EAP_PSK=y" >> ${CONFIG} - echo "CONFIG_EAP_SAKE=y" >> ${CONFIG} - echo "CONFIG_EAP_GPSK=y" >> ${CONFIG} - echo "CONFIG_EAP_GPSK_SHA256=y" >> ${CONFIG} - - einfo "Enabling drivers: " - - # drivers - echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG} - einfo " HostAP driver enabled" - echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG} - einfo " Wired driver enabled" - echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG} - einfo " Prism54 driver enabled" - echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG} - einfo " None driver enabled" - - if use madwifi; then - # Add include path for madwifi-driver headers - einfo " Madwifi driver enabled" - echo "CFLAGS += -I/usr/include/madwifi" >> ${CONFIG} - echo "CONFIG_DRIVER_MADWIFI=y" >> ${CONFIG} - else - einfo " Madwifi driver disabled" - fi - - einfo " nl80211 driver enabled" - echo "CONFIG_DRIVER_NL80211=y" >> ${CONFIG} - echo "CFLAGS += -I/usr/include/netlink" >> ${CONFIG} - echo "LIBS += -L/usr/lib" >> ${CONFIG} - - # misc - echo "CONFIG_PKCS12=y" >> ${CONFIG} - echo "CONFIG_RADIUS_SERVER=y" >> ${CONFIG} - echo "CONFIG_IAPP=y" >> ${CONFIG} - echo "CONFIG_IEEE80211R=y" >> ${CONFIG} - echo "CONFIG_IEEE80211W=y" >> ${CONFIG} - echo "CONFIG_IEEE80211N=y" >> ${CONFIG} - echo "CONFIG_PEERKEY=y" >> ${CONFIG} - echo "CONFIG_RSN_PREAUTH=y" >> ${CONFIG} - echo "CONFIG_INTERWORKING=y" >> ${CONFIG} - - if use ipv6; then - # IPv6 support - echo "CONFIG_IPV6=y" >> ${CONFIG} - fi - - if ! use debug; then - echo "CONFIG_NO_STDOUT_DEBUG=y" >> ${CONFIG} - fi - - # If we are using libnl 2.0 and above, enable support for it - # Removed for now, since the 3.2 version is broken, and we don't - # support it. - if has_version ">=dev-libs/libnl-3.2"; then - echo "CONFIG_LIBNL32=y" >> .config - fi - - # TODO: Add support for BSD drivers - - default_src_configure -} - -src_compile() { - emake V=1 - - if use ssl; then - emake V=1 nt_password_hash - emake V=1 hlr_auc_gw - fi -} - -src_install() { - insinto /etc/${PN} - doins ${PN}.{conf,accept,deny,eap_user,radius_clients,sim_db,wpa_psk} - - fperms -R 600 /etc/${PN} - - dosbin ${PN} - dobin ${PN}_cli - - use ssl && dobin nt_password_hash hlr_auc_gw - - newinitd "${FILESDIR}"/${PN}-init.d ${PN} - newconfd "${FILESDIR}"/${PN}-conf.d ${PN} - - doman ${PN}{.8,_cli.1} - - dodoc ChangeLog README - use wps && dodoc README-WPS - - docinto examples - dodoc wired.conf - - if use logwatch; then - insinto /etc/log.d/conf/services/ - doins logwatch/${PN}.conf - - exeinto /etc/log.d/scripts/services/ - doexe logwatch/${PN} - fi -} - -pkg_postinst() { - einfo - einfo "In order to use ${PN} you need to set up your wireless card" - einfo "for master mode in /etc/conf.d/net and then start" - einfo "/etc/init.d/${PN}." - einfo - einfo "Example configuration:" - einfo - einfo "config_wlan0=( \"192.168.1.1/24\" )" - einfo "channel_wlan0=\"6\"" - einfo "essid_wlan0=\"test\"" - einfo "mode_wlan0=\"master\"" - einfo - if use madwifi; then - einfo "This package compiles against the headers installed by" - einfo "madwifi-old, madwifi-ng or madwifi-ng-tools." - einfo "You should remerge ${PN} after upgrading these packages." - einfo - einfo "Since you are using the madwifi-ng driver, you should disable or" - einfo "comment out wme_enabled from ${PN}.conf, since it will" - einfo "cause problems otherwise (see bug #260377" - fi - #if [ -e "${KV_DIR}"/net/mac80211 ]; then - # einfo "This package now compiles against the headers installed by" - # einfo "the kernel source for the mac80211 driver. You should " - # einfo "re-emerge ${PN} after upgrading your kernel source." - #fi - - if use wps; then - einfo "You have enabled Wi-Fi Protected Setup support, please" - einfo "read the README-WPS file in /usr/share/doc/${P}" - einfo "for info on how to use WPS" - fi -} diff --git a/net-wireless/hostapd/hostapd-1.0-r5.ebuild b/net-wireless/hostapd/hostapd-1.0-r5.ebuild deleted file mode 100644 index 1747ddc9..00000000 --- a/net-wireless/hostapd/hostapd-1.0-r5.ebuild +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/hostapd-1.0-r4.ebuild,v 1.4 2012/10/12 00:52:20 blueness Exp $ - -EAPI="4" - -inherit toolchain-funcs eutils - -DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon" -HOMEPAGE="http://hostap.epitest.fi" -SRC_URI="http://hostap.epitest.fi/releases/${P}.tar.gz" - -LICENSE="|| ( GPL-2 BSD )" -SLOT="0" -KEYWORDS="amd64 ~mips ppc x86" -IUSE="cui debug ipv6 +karma logwatch madwifi +ssl +wps +crda" - -DEPEND="ssl? ( dev-libs/openssl ) - kernel_linux? ( - dev-libs/libnl:3 - crda? ( net-wireless/crda ) - ) - madwifi? ( || - ( >net-wireless/madwifi-ng-tools-0.9.3 - net-wireless/madwifi-old ) )" -RDEPEND="${DEPEND}" - -S="${S}/${PN}" - -src_prepare() { - cd .. - epatch "${FILESDIR}/${P}-libnl_path_fix.patch" - epatch "${FILESDIR}/${P}-tls_length_fix.patch" - use karma && epatch "${FILESDIR}/${P}-karma-0.2.patch" - use cui && epatch "${FILESDIR}/cui-20120417.patch" - - sed -i -e "s:/etc/hostapd:/etc/hostapd/hostapd:g" \ - "${S}/hostapd.conf" || die -} - -src_configure() { - local CONFIG="${S}/.config" - - # toolchain setup - echo "CC = $(tc-getCC)" > ${CONFIG} - - # EAP authentication methods - echo "CONFIG_EAP=y" >> ${CONFIG} - echo "CONFIG_EAP_MD5=y" >> ${CONFIG} - - if use ssl; then - # SSL authentication methods - echo "CONFIG_EAP_TLS=y" >> ${CONFIG} - echo "CONFIG_EAP_TTLS=y" >> ${CONFIG} - echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG} - echo "CONFIG_EAP_PEAP=y" >> ${CONFIG} - fi - - if use wps; then - # Enable Wi-Fi Protected Setup - echo "CONFIG_WPS=y" >> ${CONFIG} - echo "CONFIG_WPS2=y" >> ${CONFIG} - echo "CONFIG_WPS_UPNP=y" >> ${CONFIG} - einfo "Enabling Wi-Fi Protected Setup support" - fi - - echo "CONFIG_EAP_GTC=y" >> ${CONFIG} - echo "CONFIG_EAP_SIM=y" >> ${CONFIG} - echo "CONFIG_EAP_AKA=y" >> ${CONFIG} - echo "CONFIG_EAP_PAX=y" >> ${CONFIG} - echo "CONFIG_EAP_PSK=y" >> ${CONFIG} - echo "CONFIG_EAP_SAKE=y" >> ${CONFIG} - echo "CONFIG_EAP_GPSK=y" >> ${CONFIG} - echo "CONFIG_EAP_GPSK_SHA256=y" >> ${CONFIG} - - einfo "Enabling drivers: " - - # drivers - echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG} - einfo " HostAP driver enabled" - echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG} - einfo " Wired driver enabled" - echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG} - einfo " Prism54 driver enabled" - echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG} - einfo " None driver enabled" - - if use madwifi; then - # Add include path for madwifi-driver headers - einfo " Madwifi driver enabled" - echo "CFLAGS += -I/usr/include/madwifi" >> ${CONFIG} - echo "CONFIG_DRIVER_MADWIFI=y" >> ${CONFIG} - else - einfo " Madwifi driver disabled" - fi - - einfo " nl80211 driver enabled" - echo "CONFIG_DRIVER_NL80211=y" >> ${CONFIG} - echo "CFLAGS += -I/usr/include/netlink" >> ${CONFIG} - echo "LIBS += -L/usr/lib" >> ${CONFIG} - - # misc - echo "CONFIG_PKCS12=y" >> ${CONFIG} - echo "CONFIG_RADIUS_SERVER=y" >> ${CONFIG} - echo "CONFIG_IAPP=y" >> ${CONFIG} - echo "CONFIG_IEEE80211R=y" >> ${CONFIG} - echo "CONFIG_IEEE80211W=y" >> ${CONFIG} - echo "CONFIG_IEEE80211N=y" >> ${CONFIG} - echo "CONFIG_PEERKEY=y" >> ${CONFIG} - echo "CONFIG_RSN_PREAUTH=y" >> ${CONFIG} - echo "CONFIG_INTERWORKING=y" >> ${CONFIG} - - if use ipv6; then - # IPv6 support - echo "CONFIG_IPV6=y" >> ${CONFIG} - fi - - if ! use debug; then - echo "CONFIG_NO_STDOUT_DEBUG=y" >> ${CONFIG} - fi - - # If we are using libnl 2.0 and above, enable support for it - # Removed for now, since the 3.2 version is broken, and we don't - # support it. - if has_version ">=dev-libs/libnl-3.2"; then - echo "CONFIG_LIBNL32=y" >> .config - fi - - # TODO: Add support for BSD drivers - - default_src_configure -} - -src_compile() { - emake V=1 - - if use ssl; then - emake V=1 nt_password_hash - emake V=1 hlr_auc_gw - fi -} - -src_install() { - insinto /etc/${PN} - doins ${PN}.{conf,accept,deny,eap_user,radius_clients,sim_db,wpa_psk} - - fperms -R 600 /etc/${PN} - - dosbin ${PN} - dobin ${PN}_cli - - use ssl && dobin nt_password_hash hlr_auc_gw - - newinitd "${FILESDIR}"/${PN}-init.d ${PN} - newconfd "${FILESDIR}"/${PN}-conf.d ${PN} - - doman ${PN}{.8,_cli.1} - - dodoc ChangeLog README - use wps && dodoc README-WPS - - docinto examples - dodoc wired.conf - - if use logwatch; then - insinto /etc/log.d/conf/services/ - doins logwatch/${PN}.conf - - exeinto /etc/log.d/scripts/services/ - doexe logwatch/${PN} - fi -} - -pkg_postinst() { - einfo - einfo "In order to use ${PN} you need to set up your wireless card" - einfo "for master mode in /etc/conf.d/net and then start" - einfo "/etc/init.d/${PN}." - einfo - einfo "Example configuration:" - einfo - einfo "config_wlan0=( \"192.168.1.1/24\" )" - einfo "channel_wlan0=\"6\"" - einfo "essid_wlan0=\"test\"" - einfo "mode_wlan0=\"master\"" - einfo - if use madwifi; then - einfo "This package compiles against the headers installed by" - einfo "madwifi-old, madwifi-ng or madwifi-ng-tools." - einfo "You should remerge ${PN} after upgrading these packages." - einfo - einfo "Since you are using the madwifi-ng driver, you should disable or" - einfo "comment out wme_enabled from ${PN}.conf, since it will" - einfo "cause problems otherwise (see bug #260377" - fi - #if [ -e "${KV_DIR}"/net/mac80211 ]; then - # einfo "This package now compiles against the headers installed by" - # einfo "the kernel source for the mac80211 driver. You should " - # einfo "re-emerge ${PN} after upgrading your kernel source." - #fi - - if use wps; then - einfo "You have enabled Wi-Fi Protected Setup support, please" - einfo "read the README-WPS file in /usr/share/doc/${P}" - einfo "for info on how to use WPS" - fi -} diff --git a/net-wireless/hostapd/metadata.xml b/net-wireless/hostapd/metadata.xml deleted file mode 100644 index f20867c4..00000000 --- a/net-wireless/hostapd/metadata.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <herd>mobile</herd> - <maintainer> - <email>gurligebis@gentoo.org</email> - <name>Bjarke Istrup Pedersen</name> - </maintainer> - <longdescription> - User space daemon for the hostap-driver. - Extended IEEE 802.11 management, IEEE 802.1X Authenticator, - RADIUS Authentication client, RADIUS Accounting client - </longdescription> - <use> - <flag name='debug'>Enables debugging</flag> - <flag name='logwatch'>Install support files for - <pkg>sys-app/logwatch</pkg></flag> - <flag name='madwifi'>Add support for madwifi (Atheros chipset)</flag> - <flag name='wps'>Add support for Wi-Fi Protected Setup</flag> - </use> -</pkgmetadata> diff --git a/net-wireless/intel-wimax-binary-supplicant/Manifest b/net-wireless/intel-wimax-binary-supplicant/Manifest deleted file mode 100644 index 0ed504fa..00000000 --- a/net-wireless/intel-wimax-binary-supplicant/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -AUX 50-intel-wimax-binary-supplicant 45 RMD160 46711ead5a6004251de62705d5891a359c33814d SHA1 f719e882b255318e56c9a2bcdeed5933b2ad65b0 SHA256 91bd4adab801e226d3ebe736eec25b6da116580705cb6ef47c65fd7c2645d31e -AUX install-to-usr-lib.patch 497 RMD160 b4ed0cbfaaf7820d4e97def5c2dda6b319c3497b SHA1 62c83eedfb166dac0ef814d14f8246abf0ee4222 SHA256 20631e0db3838f80011ee07f55243bee51fce64f02956a396578bcf14d891241 -DIST Intel-WiMAX-Binary-Supplicant-1.4.0.tar.bz2 237353 RMD160 086b294a299c45a4a239170fa13fd04bea343a01 SHA1 458edd676589d6015aed1135e8f9852dc91d9aca SHA256 e5eb91f8d07a6687c9a68126035caf4c73ea326fc4b48ab7fbbd8357d981f1ac -EBUILD intel-wimax-binary-supplicant-1.4.0.ebuild 812 RMD160 3c580edd56cae5cc3f3d6040c45044cafbe80510 SHA1 6660c0809bd04fa9e8ddf948c7a93d483b14252f SHA256 5e9c9d5e97c90a9d28ce3c3ba0eb20deff11b32cf3d2b4628b1620559afa15b0 diff --git a/net-wireless/intel-wimax-binary-supplicant/files/50-intel-wimax-binary-supplicant b/net-wireless/intel-wimax-binary-supplicant/files/50-intel-wimax-binary-supplicant deleted file mode 100644 index a4466bdb..00000000 --- a/net-wireless/intel-wimax-binary-supplicant/files/50-intel-wimax-binary-supplicant +++ /dev/null @@ -1 +0,0 @@ -LD_LIBRARY_MASK=libwpa_wimax_supplicant.so.0 diff --git a/net-wireless/intel-wimax-binary-supplicant/files/install-to-usr-lib.patch b/net-wireless/intel-wimax-binary-supplicant/files/install-to-usr-lib.patch deleted file mode 100644 index d9bb5cb1..00000000 --- a/net-wireless/intel-wimax-binary-supplicant/files/install-to-usr-lib.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur Intel-WiMAX-Binary-Supplicant-1.4.0/install_supplicant.sh Intel-WiMAX-Binary-Supplicant-1.4.0-nonlocal/install_supplicant.sh ---- Intel-WiMAX-Binary-Supplicant-1.4.0/install_supplicant.sh 2009-01-28 19:03:57.000000000 -0500 -+++ Intel-WiMAX-Binary-Supplicant-1.4.0-nonlocal/install_supplicant.sh 2009-08-20 14:05:02.000000000 -0400 -@@ -39,7 +39,7 @@ - target= - - DESTDIR=${DESTDIR:-} --lib_dir=$DESTDIR/usr/local/lib/$project_name -+lib_dir=$DESTDIR/usr/lib/$project_name - - create_dir() - { diff --git a/net-wireless/intel-wimax-binary-supplicant/intel-wimax-binary-supplicant-1.4.0.ebuild b/net-wireless/intel-wimax-binary-supplicant/intel-wimax-binary-supplicant-1.4.0.ebuild deleted file mode 100644 index 50661cfc..00000000 --- a/net-wireless/intel-wimax-binary-supplicant/intel-wimax-binary-supplicant-1.4.0.ebuild +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=2 - -inherit eutils - -MY_P=Intel-WiMAX-Binary-Supplicant-${PV} -DESCRIPTION="Authentication information for WiMax Networks" -HOMEPAGE="http://www.linuxwimax.org/" -SRC_URI="http://www.linuxwimax.org/Download?action=AttachFile&do=get&target=${MY_P}.tar.bz2 -> ${MY_P}.tar.bz2" -LICENSE="IFDBL" -SLOT="0" -KEYWORDS="~x86" -IUSE="" - -S="${WORKDIR}/${MY_P}" - -src_prepare() { - epatch "${FILESDIR}"/install-to-usr-lib.patch -} - -src_install() { - DESTDIR=${D} ./install_supplicant.sh install || dir "install_supplicant.sh failed" - dodoc README || die "Failed to find README" - insinto /etc/revdep-rebuild - doins "${FILESDIR}"/50-intel-wimax-binary-supplicant || die "failed to install revdep-rebuild fix" -} diff --git a/net-wireless/intel-wimax-network-service/Manifest b/net-wireless/intel-wimax-network-service/Manifest deleted file mode 100644 index 6728e60a..00000000 --- a/net-wireless/intel-wimax-network-service/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -AUX wimax 433 RMD160 7c9291b4189588547c854cc36477d7c413ca6ad4 SHA1 c5d9a10d018a8144ccf441409c9db54117489dc9 SHA256 1dfa24bb9d83ad711a9331b917fc7a37ac4d439d13bb82b90d0b8dff0ebf343c -DIST WiMAX-Network-Service-1.4.0.tar.bz2 1360859 RMD160 518678f32275e1c890c7a1f4266732a2ec9dedda SHA1 4b6e174ba7b604474ab0ced72d78c9ebfa66749d SHA256 a421b2f6e7912280cbddc6818892b4bffa4da0ff5347a9d26ddbcb81e99963ec -EBUILD intel-wimax-network-service-1.4.0-r1.ebuild 1101 RMD160 8d588a0c4005c9fca6017ea8bc1d98d7bec2b226 SHA1 f946c9bb15cc044e2dbc11bedf45e5850948a7d5 SHA256 3568032f277f7025215d29c4f80634106af2e3c18000b0dd335e37dad0e74681 -EBUILD intel-wimax-network-service-1.4.0.ebuild 952 RMD160 01c8a7b9ca6cb8ca36263707312cc80b97fd22fd SHA1 6247a11815facc5fbd6a8ff1ea06079316ed8da6 SHA256 ba9dec9d63b0d6123dd989e71b3535845b59b233da0632b1d2bef7939a322e3e diff --git a/net-wireless/intel-wimax-network-service/files/wimax b/net-wireless/intel-wimax-network-service/files/wimax deleted file mode 100755 index 201c43a5..00000000 --- a/net-wireless/intel-wimax-network-service/files/wimax +++ /dev/null @@ -1,21 +0,0 @@ -#!/sbin/runscript - -description="WiMAX Network Service" - -depend() { - need localmount - after bootmisc -} - -start() { - ebegin "Starting WiMAX Network Service" - [ -e /var/run/wimaxd.pid ] && rm -f /var/run/wimaxd.pid - start-stop-daemon --start --quiet --pidfile /var/run/wimax.pid --exec /usr/bin/wimaxd - eend $? -} - -stop() { - ebegin "Stoping WiMAX Network Service" - start-stop-daemon --stop --quiet --pidfile /var/run/wimax.pid - eend $? -} diff --git a/net-wireless/intel-wimax-network-service/intel-wimax-network-service-1.4.0-r1.ebuild b/net-wireless/intel-wimax-network-service/intel-wimax-network-service-1.4.0-r1.ebuild deleted file mode 100644 index faf768f4..00000000 --- a/net-wireless/intel-wimax-network-service/intel-wimax-network-service-1.4.0-r1.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=2 - -inherit linux-info multilib - -MY_P="WiMAX-Network-Service-${PV}" -DESCRIPTION="Intel WiMAX daemon used to interface to the hardware" -HOMEPAGE="http://www.linuxwimax.org/" -SRC_URI="http://www.linuxwimax.org/Download?action=AttachFile&do=get&target=${MY_P}.tar.bz2 -> ${MY_P}.tar.bz2" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND=">=dev-libs/libnl-1.1 - >=sys-kernel/linux-headers-2.6.30-r1" - #is this the first headers version with /usr/include/linux/wimax.h? - #is it close enough for me to not care anymore? -RDEPEND="${DEPEND} - net-wireless/intel-wimax-tools - net-wireless/intel-wimax-binary-supplicant" - -S="${WORKDIR}/${MY_P}" - -src_configure() { - econf --prefix=/usr --localstatedir=/var --with-libwimaxll=/usr/$(get_libdir) --with-i2400m=/usr || die "econf failed" -} - -src_install() { - emake DESTDIR="${D}" install || die "Install failed" - doinitd "${FILESDIR}"/wimax || die "failed to place the init daemon" - dodoc README || die "Failed to find README" -} diff --git a/net-wireless/intel-wimax-network-service/intel-wimax-network-service-1.4.0.ebuild b/net-wireless/intel-wimax-network-service/intel-wimax-network-service-1.4.0.ebuild deleted file mode 100644 index 7836e944..00000000 --- a/net-wireless/intel-wimax-network-service/intel-wimax-network-service-1.4.0.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=2 - -inherit linux-info multilib - -MY_P="WiMAX-Network-Service-${PV}" -DESCRIPTION="Intel WiMAX daemon used to interface to the hardware" -HOMEPAGE="http://www.linuxwimax.org/" -SRC_URI="http://www.linuxwimax.org/Download?action=AttachFile&do=get&target=${MY_P}.tar.bz2 -> ${MY_P}.tar.bz2" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND=">=dev-libs/libnl-1.1" -RDEPEND="${DEPEND} - net-wireless/intel-wimax-tools - net-wireless/intel-wimax-binary-supplicant" - -S="${WORKDIR}/${MY_P}" - -src_configure() { - econf --prefix=/usr --localstatedir=/var --with-libwimaxll=/usr/$(get_libdir) --with-i2400m="${KV_DIR}" || die "econf failed" -} - -src_install() { - emake DESTDIR="${D}" install || die "Install failed" - doinitd "${FILESDIR}"/wimax || die "failed to place the init daemon" - dodoc README || die "Failed to find README" -} diff --git a/net-wireless/intel-wimax-tools/Manifest b/net-wireless/intel-wimax-tools/Manifest deleted file mode 100644 index 9debc18d..00000000 --- a/net-wireless/intel-wimax-tools/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -DIST wimax-tools-1.4.2.1.tar.bz2 285523 RMD160 108977a0cdb28144875180500c0efa2146111ff2 SHA1 0e42bd233bd758dab67840e4406d56b5aec5ad7b SHA256 499a0879b51a9f021367365795746aa6a8c9c7009ad400f4fe850094883623e3 -DIST wimax-tools-1.4.2.tar.bz2 283674 RMD160 7dfd59f090dccb32f3f9ffb5546cfe4e72d108de SHA1 834221ef3739e3803c2c25de2ebf701f28cee897 SHA256 b1ffe56ad8ac4897011caf143b2ef33a9692fac71f1b03a6d83d459b19649330 -EBUILD intel-wimax-tools-1.4.2.1.ebuild 648 RMD160 9e4d5485f847bcdd03d5799827fc9271ad611f70 SHA1 17a9e7e052aab700f670f1df6d9cff185f2f1cff SHA256 1f567dd0a2d6d055a90e58fd3762609866d38e901e88b85f869ed46d19d242c4 -EBUILD intel-wimax-tools-1.4.2.ebuild 648 RMD160 9e4d5485f847bcdd03d5799827fc9271ad611f70 SHA1 17a9e7e052aab700f670f1df6d9cff185f2f1cff SHA256 1f567dd0a2d6d055a90e58fd3762609866d38e901e88b85f869ed46d19d242c4 diff --git a/net-wireless/intel-wimax-tools/intel-wimax-tools-1.4.2.1.ebuild b/net-wireless/intel-wimax-tools/intel-wimax-tools-1.4.2.1.ebuild deleted file mode 100644 index b19fe5bd..00000000 --- a/net-wireless/intel-wimax-tools/intel-wimax-tools-1.4.2.1.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=2 - -inherit linux-info - -MY_P="wimax-tools-${PV}" -DESCRIPTION="Tools to use Intel's WiMax cards" -HOMEPAGE="http://www.linuxwimax.org" -SRC_URI="http://kernel.org/pub/linux/kernel/people/inaky/${MY_P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND=">=sys-kernel/linux-headers-2.6.29" -RDEPEND="" - -S="${WORKDIR}/${MY_P}" - -src_configure() { - econf -} - -src_compile() { - emake -j1 || die "Compile failed" -} - -src_install() { - einstall || die "Install failed" - dodoc README || die "Failed to find README" -} diff --git a/net-wireless/intel-wimax-tools/intel-wimax-tools-1.4.2.ebuild b/net-wireless/intel-wimax-tools/intel-wimax-tools-1.4.2.ebuild deleted file mode 100644 index b19fe5bd..00000000 --- a/net-wireless/intel-wimax-tools/intel-wimax-tools-1.4.2.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=2 - -inherit linux-info - -MY_P="wimax-tools-${PV}" -DESCRIPTION="Tools to use Intel's WiMax cards" -HOMEPAGE="http://www.linuxwimax.org" -SRC_URI="http://kernel.org/pub/linux/kernel/people/inaky/${MY_P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND=">=sys-kernel/linux-headers-2.6.29" -RDEPEND="" - -S="${WORKDIR}/${MY_P}" - -src_configure() { - econf -} - -src_compile() { - emake -j1 || die "Compile failed" -} - -src_install() { - einstall || die "Install failed" - dodoc README || die "Failed to find README" -} diff --git a/net-wireless/ipw2200/ChangeLog b/net-wireless/ipw2200/ChangeLog deleted file mode 100644 index 5c4dc899..00000000 --- a/net-wireless/ipw2200/ChangeLog +++ /dev/null @@ -1,396 +0,0 @@ -# ChangeLog for net-wireless/ipw2200 -# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw2200/ChangeLog,v 1.70 2006/09/13 12:33:35 phreak Exp $ - -*ipw2200-1.2.0 (13 Sep 2006) - - 13 Sep 2006; Christian Heim <phreak@gentoo.org> - +files/ipw2200-1.2.0-modverdir.patch, +ipw2200-1.2.0.ebuild: - Version bump. Fixes #147319 (thanks David Li for reporting). - -*ipw2200-1.1.3 (13 Jul 2006) - - 13 Jul 2006; Christian Heim <phreak@gentoo.org> - +files/ipw2200-1.1.3-modverdir.patch, metadata.xml, +ipw2200-1.1.3.ebuild: - Version bump; Taking temporary maintainership - - 30 Apr 2006; Henrik Brix Andersen <brix@gentoo.org> - -files/ipw2200-1.0.8-broadcast.patch, - -files/ipw2200-1.0.8-slabcorrupt.patch, -files/ipw2200-1.0.8-txbusy.patch, - -files/ipw2200-1.0.9-qos.patch, -files/ipw2200-1.0.11-debug.patch, - -files/ipw2200-1.1.1-diversity.patch, - -files/ipw2200-1.1.1-fw_endian.patch, -ipw2200-1.0.8-r1.ebuild, - -ipw2200-1.0.9.ebuild, -ipw2200-1.0.10.ebuild, -ipw2200-1.0.11.ebuild, - -ipw2200-1.0.11-r1.ebuild, -ipw2200-1.0.12.ebuild, -ipw2200-1.0.13.ebuild, - -ipw2200-1.1.0.ebuild, -ipw2200-1.1.1.ebuild, -ipw2200-1.1.1-r1.ebuild, - -ipw2200-1.1.2.ebuild: - Pruned old ebuilds. - - 22 Apr 2006; Henrik Brix Andersen <brix@gentoo.org> - ipw2200-1.1.2-r1.ebuild: - Stable on x86. - -*ipw2200-1.1.2-r1 (11 Apr 2006) - - 11 Apr 2006; Henrik Brix Andersen <brix@gentoo.org> - +files/ipw2200-1.1.2-cflags.patch, +files/ipw2200-1.1.2-scan_fix.patch, - +ipw2200-1.1.2-r1.ebuild: - Add a couple of patches from upstream. - - 02 Apr 2006; Henrik Brix Andersen <brix@gentoo.org> - files/digest-ipw2200-1.1.2, Manifest: - Updated digest to match changed distribution file, thanks to StijnT. - - 26 Mar 2006; Henrik Brix Andersen <brix@gentoo.org> ipw2200-1.1.0.ebuild: - Stable on x86. - - 25 Mar 2006; Henrik Brix Andersen <brix@gentoo.org> - -files/ipw2200-1.1.1-rtap_iface.patch, ipw2200-1.1.1-r1.ebuild: - Move large patch to mirrors, thanks to Halcy0n in bug #123634. - -*ipw2200-1.1.1-r1 (24 Mar 2006) - - 24 Mar 2006; Henrik Brix Andersen <brix@gentoo.org> - +files/ipw2200-1.1.1-diversity.patch, - +files/ipw2200-1.1.1-fw_endian.patch, - +files/ipw2200-1.1.1-rtap_iface.patch, +ipw2200-1.1.1-r1.ebuild: - Added various updates from upstream. - -*ipw2200-1.1.1 (08 Mar 2006) - - 08 Mar 2006; Henrik Brix Andersen <brix@gentoo.org> +ipw2200-1.1.1.ebuild: - Version bump. - -*ipw2200-1.1.0 (24 Feb 2006) - - 24 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> +ipw2200-1.1.0.ebuild: - Version bump. - - 23 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> - -files/ipw2200-1.0.1-is_multicast_ether_addr.patch, - -files/ipw2200-1.0.1-suspend2.patch, - -files/ipw2200-1.0.3-is_multicast_ether_addr.patch, - -files/ipw2200-1.0.3-suspend2.patch, - -files/ipw2200-1.0.4-is_multicast_ether_addr.patch, - -files/ipw2200-1.0.6-a_txpow.patch, -files/ipw2200-1.0.6-broadcast.patch, - -files/ipw2200-1.0.6-channel_change_fw_err.patch, - -files/ipw2200-1.0.6-dup-without-retry.patch, - -files/ipw2200-1.0.6-hwcrypt-wpa-fix4.patch, - -files/ipw2200-1.0.6-ibss-wep.patch, -files/ipw2200-1.0.6-init_scan.patch, - -files/ipw2200-1.0.6-irq_override.patch, - -files/ipw2200-1.0.6-monitor_wep_fix.patch, - -files/ipw2200-1.0.6-open_frag.patch, - -files/ipw2200-1.0.6-pci_link-fix.patch, - -files/ipw2200-1.0.6-reset-mode-fix.patch, - -files/ipw2200-1.0.6-suspend2.patch, -files/ipw2200-1.0.7-broadcast.patch, - -files/ipw2200-1.0.7-wireless_ext-capa.patch, -ipw2200-1.0.1.ebuild, - -ipw2200-1.0.3.ebuild, -ipw2200-1.0.4.ebuild, -ipw2200-1.0.5.ebuild, - -ipw2200-1.0.6.ebuild, -ipw2200-1.0.6-r1.ebuild, -ipw2200-1.0.6-r2.ebuild, - -ipw2200-1.0.6-r3.ebuild, -ipw2200-1.0.7.ebuild, -ipw2200-1.0.7-r1.ebuild, - -ipw2200-1.0.8.ebuild: - Pruned old ebuilds. - - 22 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> ipw2200-1.0.10.ebuild: - Stable on x86. - -*ipw2200-1.0.13 (22 Feb 2006) - - 22 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> - +ipw2200-1.0.13.ebuild: - Version bump. - -*ipw2200-1.0.12 (17 Feb 2006) - - 17 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> - +ipw2200-1.0.12.ebuild: - Version bump. - -*ipw2200-1.0.11-r1 (15 Feb 2006) - - 15 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> - +files/ipw2200-1.0.11-debug.patch, +ipw2200-1.0.11-r1.ebuild: - Fix debug support. - -*ipw2200-1.0.11 (15 Feb 2006) - - 15 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> - +ipw2200-1.0.11.ebuild: - Version bump. - -*ipw2200-1.0.10 (09 Jan 2006) - - 09 Jan 2006; Henrik Brix Andersen <brix@gentoo.org> - +ipw2200-1.0.10.ebuild: - Version bump. - -*ipw2200-1.0.9 (06 Jan 2006) - - 06 Jan 2006; Henrik Brix Andersen <brix@gentoo.org> - +files/ipw2200-1.0.9-qos.patch, +ipw2200-1.0.9.ebuild: - Version bump. - - 17 Nov 2005; Henrik Brix Andersen <brix@gentoo.org> - ipw2200-1.0.8-r1.ebuild: - Stable on x86. - -*ipw2200-1.0.8-r1 (17 Nov 2005) - - 17 Nov 2005; Henrik Brix Andersen <brix@gentoo.org> - +files/ipw2200-1.0.8-broadcast.patch, - +files/ipw2200-1.0.8-slabcorrupt.patch, +files/ipw2200-1.0.8-txbusy.patch, - +ipw2200-1.0.8-r1.ebuild: - Added a few upstream patches. - -*ipw2200-1.0.8 (21 Oct 2005) - - 21 Oct 2005; Henrik Brix Andersen <brix@gentoo.org> +ipw2200-1.0.8.ebuild: - Version bump. - -*ipw2200-1.0.7-r1 (20 Oct 2005) - - 20 Oct 2005; Henrik Brix Andersen <brix@gentoo.org> - +files/ipw2200-1.0.7-broadcast.patch, - +files/ipw2200-1.0.7-wireless_ext-capa.patch, +ipw2200-1.0.7-r1.ebuild: - Patch from upstream to fix broadcast issues and compile problems with older - wireless extensions. - -*ipw2200-1.0.7 (18 Oct 2005) - - 18 Oct 2005; Henrik Brix Andersen <brix@gentoo.org> +ipw2200-1.0.7.ebuild: - Version bump. - - 15 Oct 2005; Henrik Brix Andersen <brix@gentoo.org> - ipw2200-1.0.6-r3.ebuild: - Stable on x86, bug #108613. - - 08 Sep 2005; Henrik Brix Andersen <brix@gentoo.org> - ipw2200-1.0.6-r3.ebuild: - Updated to depend on >=net-wireless/ieee80211-1.0.3-r2, bug #105235. - -*ipw2200-1.0.6-r3 (06 Sep 2005) - - 06 Sep 2005; Henrik Brix Andersen <brix@gentoo.org> - +files/ipw2200-1.0.6-a_txpow.patch, files/ipw2200-1.0.6-broadcast.patch, - +files/ipw2200-1.0.6-channel_change_fw_err.patch, - +files/ipw2200-1.0.6-dup-without-retry.patch, - +files/ipw2200-1.0.6-ibss-wep.patch, +files/ipw2200-1.0.6-init_scan.patch, - +files/ipw2200-1.0.6-irq_override.patch, - +files/ipw2200-1.0.6-monitor_wep_fix.patch, - +files/ipw2200-1.0.6-open_frag.patch, - +files/ipw2200-1.0.6-pci_link-fix.patch, - +files/ipw2200-1.0.6-reset-mode-fix.patch, +ipw2200-1.0.6-r3.ebuild: - Apply bugfixes from upstream, bail out if no ieee80211 kernel module is found. - -*ipw2200-1.0.6-r2 (02 Sep 2005) - - 02 Sep 2005; Henrik Brix Andersen <brix@gentoo.org> - +files/ipw2200-1.0.6-broadcast.patch, +ipw2200-1.0.6-r2.ebuild: - Fix DHCP issues with some Access Points. - -*ipw2200-1.0.6-r1 (29 Aug 2005) - - 29 Aug 2005; Henrik Brix Andersen <brix@gentoo.org> - +files/ipw2200-1.0.6-hwcrypt-wpa-fix4.patch, - +files/ipw2200-1.0.6-suspend2.patch, +ipw2200-1.0.6-r1.ebuild: - Add fix for WPA when using hwcrypto. Allow compiling against - sys-kernel/suspend2-sources-2.6.13. - - 16 Aug 2005; Henrik Brix Andersen <brix@gentoo.org> ipw2200-1.0.6.ebuild: - Stable on x86. - - 09 Aug 2005; Henrik Brix Andersen <brix@gentoo.org> ipw2200-1.0.6.ebuild: - Added ~amd64 keyword, bug #98823. - -*ipw2200-1.0.6 (14 Jul 2005) - - 14 Jul 2005; <brix@gentoo.org> +ipw2200-1.0.6.ebuild: - Version bump. - -*ipw2200-1.0.5 (12 Jul 2005) - - 12 Jul 2005; <brix@gentoo.org> +ipw2200-1.0.5.ebuild: - Version bump. - - 11 Jul 2005; <brix@gentoo.org> ipw2200-1.0.1.ebuild, ipw2200-1.0.3.ebuild, - ipw2200-1.0.4.ebuild: - Block upcoming net-wireless/ieee80211 package. - - 24 Jun 2005; <brix@gentoo.org> - +files/ipw2200-1.0.1-is_multicast_ether_addr.patch, - +files/ipw2200-1.0.1-suspend2.patch, +ipw2200-1.0.1.ebuild: - Resurrected for the 2005.1 livecd. - - 20 Jun 2005; <brix@gentoo.org> - +files/ipw2200-1.0.3-is_multicast_ether_addr.patch, ipw2200-1.0.3.ebuild: - Backported patch to 1.0.3, bug #96495. - - 18 Jun 2005; <brix@gentoo.org> - +files/ipw2200-1.0.4-is_multicast_ether_addr.patch, ipw2200-1.0.4.ebuild: - Apply patch for allow compiling against linux-2.6.12. - -*ipw2200-1.0.4 (18 May 2005) - - 18 May 2005; <brix@gentoo.org> +ipw2200-1.0.4.ebuild: - Version bump. This release includes monitor mode and hardware-based crypto - support. - - 15 May 2005; <brix@gentoo.org> -ipw2200-1.0.1.ebuild, - -ipw2200-1.0.2.ebuild, -ipw2200-1.0.2-r1.ebuild: - Pruned old ebuilds. - - 05 May 2005; <brix@gentoo.org> +files/ipw2200-1.0.3-suspend2.patch, - ipw2200-1.0.3.ebuild: - Allow compiling against Software Suspend 2.1.8.7 patched kernel, - restructured ebuild. - - 04 May 2005; <brix@gentoo.org> ipw2200-1.0.3.ebuild: - Stable on x86. - - 28 Apr 2005; <brix@gentoo.org> ipw2200-1.0.2-r1.ebuild: - Stable on x86. - -*ipw2200-1.0.3 (08 Apr 2005) - - 08 Apr 2005; <brix@gentoo.org> +ipw2200-1.0.3.ebuild: - Version bump. - -*ipw2200-1.0.2-r1 (05 Apr 2005) - - 05 Apr 2005; <brix@gentoo.org> +ipw2200-1.0.2-r1.ebuild: - Fix problem with wrong tarball propagated on sf.net - -*ipw2200-1.0.2 (25 Mar 2005) - - 25 Mar 2005; <brix@gentoo.org> ipw2200-1.0.1.ebuild, +ipw2200-1.0.2.ebuild: - Version bump and fix for bug #84508. - - 12 Mar 2005; Henrik Brix Andersen <brix@gentoo.org> -ipw2200-1.0.0.ebuild: - Pruned old version. - - 02 Mar 2005; Henrik Brix Andersen <brix@gentoo.org> ipw2200-1.0.1.ebuild: - Stable on x86. - - 25 Feb 2005; Simon Stelling <blubb@gentoo.org> ipw2200-1.0.1.ebuild: - added ~amd64 - - 10 Feb 2005; Henrik Brix Andersen <brix@gentoo.org> -ipw2200-0.11.ebuild, - -ipw2200-0.12.ebuild, -ipw2200-0.13.ebuild, -ipw2200-0.15.ebuild, - -ipw2200-0.16.ebuild, -ipw2200-0.17.ebuild, -ipw2200-0.18.ebuild, - -ipw2200-0.19.ebuild, -ipw2200-0.21.ebuild: - Pruned old versions. - -*ipw2200-1.0.1 (08 Feb 2005) - - 08 Feb 2005; Henrik Brix Andersen <brix@gentoo.org> +ipw2200-1.0.1.ebuild: - Version bump. This version includes preliminary WPA support. - - 01 Feb 2005; Henrik Brix Andersen <brix@gentoo.org> metadata.xml: - Transferred ownership to brix@gentoo.org. - - 01 Feb 2005; Jeremy Maitin-Shepard <jbms@gentoo.org> ipw2200-1.0.0.ebuild: - Replaced the ebuild with the correct version of the v 0.21 ebuild. - -*ipw2200-1.0.0 (01 Feb 2005) - - 01 Feb 2005; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-1.0.0.ebuild: - Version bump. - -*ipw2200-0.21 (18 Jan 2005) - - 18 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> +ipw2200-0.21.ebuild: - Version bump, ported to use linux-mod.eclass, split firmware from ebuild, - re-enabled debug, disabled yet-to-be-completed WPA and promiscuous support. - - 18 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> ipw2200-0.11.ebuild, - ipw2200-0.12.ebuild, ipw2200-0.13.ebuild, ipw2200-0.15.ebuild, - ipw2200-0.16.ebuild, ipw2200-0.17.ebuild, ipw2200-0.18.ebuild, - ipw2200-0.19.ebuild: - Block net-wireless/ipw2200-firmware in preparation for splitting firmware from - driver ebuild. - -*ipw2200-0.19 (22 Dec 2004) - - 22 Dec 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.19.ebuild: - Version bump. - -*ipw2200-0.18 (14 Dec 2004) - - 14 Dec 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.18.ebuild: - Version bump. Resolves bug #73801. - -*ipw2200-0.16 (11 Dec 2004) - - 11 Dec 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.16.ebuild, - +ipw2200-0.17.ebuild: - Version bump. Resolves bug #73801. - -*ipw2200-0.15 (25 Nov 2004) - - 25 Nov 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.15.ebuild, - -ipw2200-0.3.ebuild, -ipw2200-0.4-r1.ebuild, -ipw2200-0.4.ebuild, - -ipw2200-0.5.ebuild, -ipw2200-0.6.ebuild, -ipw2200-0.7.ebuild, - -ipw2200-0.8.ebuild: - Version bump. Resolves Bug #72473. - -*ipw2200-0.13 (11 Nov 2004) - - 11 Nov 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.13.ebuild: - Version bump. - -*ipw2200-0.12 (16 Oct 2004) - - 16 Oct 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.12.ebuild: - Version bump. Firmware is now installed to /lib/firmware, with a symlink to - /usr/lib/hotplug/firmware, rather than the reverse. Resolves bug #67641. - -*ipw2200-0.11 (01 Oct 2004) - - 01 Oct 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.11.ebuild: - Version bump. Creates symlinks to the firmware in the new firmware location. - Resolves bug #65784 and bug #65059. - -*ipw2200-0.8 (19 Sep 2004) - - 19 Sep 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.8.ebuild: - Version bump. - -*ipw2200-0.7 (04 Sep 2004) - - 04 Sep 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.7.ebuild: - Version bump. - -*ipw2200-0.6 (02 Sep 2004) - - 02 Sep 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.6.ebuild: - Version bump. Resolves bug #62653. - -*ipw2200-0.5 (02 Sep 2004) - - 02 Sep 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.5.ebuild: - Version bump. Resolves bug #62445. - -*ipw2200-0.4-r1 (17 Aug 2004) - - 17 Aug 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> ipw2200-0.3.ebuild, - +ipw2200-0.4-r1.ebuild, ipw2200-0.4.ebuild: - A block on net-wireless/ipw2100 was added to all versions, at the - request of latexer, because the ieee80211 module is built by both - packages. - WPA support is now built, starting with 0.4-r1. - - 16 Aug 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> ipw2200-0.4.ebuild: - Added a check for ARC4 cryptographic support in the kernel. - -*ipw2200-0.4 (16 Aug 2004) - - 16 Aug 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.4.ebuild: - Version bump. Resolves Bug #60614. - -*ipw2200-0.3 (14 Aug 2004) - - 14 Aug 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.3.ebuild: - Initial ebuild, based on the ebuild for the 2100 driver, for the first - version of this driver that actually supports transmitting and - receiving data. WEP, G-band and Ad-hoc mode are currently not - supported by the driver. Resolves Bug #60288. - diff --git a/net-wireless/ipw2200/Manifest b/net-wireless/ipw2200/Manifest deleted file mode 100644 index 85198a7f..00000000 --- a/net-wireless/ipw2200/Manifest +++ /dev/null @@ -1,5 +0,0 @@ -AUX ipw2200-1.2.0-inject.patch 2896 RMD160 dcdbe9440eaa7c5f8df13f1b1b50cd6fa8e2f823 SHA1 541e533ab8cee5127c812a376c6ec337c320f041 SHA256 c7df435dec979d6febb2e52faafe2ba9e7c3338f982f3d63109209fed58d8cc2 -AUX ipw2200-1.2.0-modverdir.patch 528 RMD160 1b704ed1ae7773ff403ea01184d39918af3a7ed0 SHA1 ae4aec08a23189a8906d37f832ef404ed6210838 SHA256 9ae31bf0d63b9c31cf74be1eeb0178da0bdedc90ab9a743397e917b7a32e8e7c -DIST ipw2200-1.2.0.tgz 139374 RMD160 5b2e6836a552b82b0320f84b088addec21863b21 SHA1 d2b327357afc94a94701d260936b037abf4212e8 SHA256 69c7089e5ec40c2f89f841e02703e6db4c96e045131f06bafa6d5ec4a969f074 -EBUILD ipw2200-1.2.0.ebuild 2408 RMD160 93965ae3d4e390cb39fb56dad2f621bd584c56bb SHA1 4d85d1c2ef98817e5d30c58d5a09abc62a08a39e SHA256 56c3aec2b275c3d638fbb937e307fc11160e1da5381d96ad0d2b96f1a97024f3 -MISC ChangeLog 13729 RMD160 f6e6431eead73866f1e7bf8eb7c8d186d7708a3c SHA1 459f158a974254132003227ec5de51bbfeda7a09 SHA256 180654c43d98a27a15b79bcdbaca60ccdf15b3db708a200f1f6ed1700277b94c diff --git a/net-wireless/ipw2200/files/digest-ipw2200-1.2.0 b/net-wireless/ipw2200/files/digest-ipw2200-1.2.0 deleted file mode 100644 index 7e92a718..00000000 --- a/net-wireless/ipw2200/files/digest-ipw2200-1.2.0 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 cfd26b4526186d61a4feeaee217493b9 ipw2200-1.2.0.tgz 139374 -RMD160 5b2e6836a552b82b0320f84b088addec21863b21 ipw2200-1.2.0.tgz 139374 -SHA256 69c7089e5ec40c2f89f841e02703e6db4c96e045131f06bafa6d5ec4a969f074 ipw2200-1.2.0.tgz 139374 diff --git a/net-wireless/ipw2200/files/ipw2200-1.2.0-inject.patch b/net-wireless/ipw2200/files/ipw2200-1.2.0-inject.patch deleted file mode 100644 index 2ce56d84..00000000 --- a/net-wireless/ipw2200/files/ipw2200-1.2.0-inject.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff -ur ipw2200-1.1.4/ipw2200.c ipw2200-1.1.4-inject/ipw2200.c ---- ipw2200-1.1.4/ipw2200.c 2006-08-21 04:38:32.000000000 +0200 -+++ ipw2200-1.1.4-inject/ipw2200.c 2006-08-23 14:20:31.000000000 +0200 -@@ -1945,6 +1945,66 @@ - static DEVICE_ATTR(net_stats, S_IWUSR | S_IRUGO, - show_net_stats, store_net_stats); - -+static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb, int pri); -+ -+/* SYSFS INJECT */ -+static ssize_t store_inject(struct device *d, -+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12) -+ struct device_attribute *attr, -+#endif -+ const char *buf, size_t count) -+{ -+ struct ipw_priv *priv = (struct ipw_priv *)d->driver_data; -+ struct ieee80211_device *ieee = priv->ieee; -+ struct ieee80211_txb * txb; -+ struct sk_buff *skb_frag; -+ unsigned char * newbuf; -+ unsigned long flags; -+ -+ // should test (ieee->is_queue_full) -+ -+ // Fw only accepts data, so avoid accidental fw errors. -+ if ( (buf[0]&0x0c) != '\x08') { -+ //printk("ipw2200: inject: discarding non-data frame (type=%02X)\n",(int)(unsigned char)buf[0]); -+ return count; -+ } -+ -+ if (count>1500) { -+ count=1500; -+ printk("ipw2200: inject: cutting down frame to 1500 bytes\n"); -+ } -+ -+ spin_lock_irqsave(&priv->lock, flags); -+ -+ // Create a txb with one skb -+ txb = kmalloc(sizeof(struct ieee80211_txb) + sizeof(u8 *), GFP_ATOMIC); -+ if (!txb) -+ goto nosepuede; -+ txb->nr_frags=1; -+ txb->frag_size = ieee->tx_headroom; -+ txb->fragments[0]=__dev_alloc_skb(count + ieee->tx_headroom, GFP_ATOMIC); -+ if (!txb->fragments[0]) { -+ kfree(txb); -+ goto nosepuede; -+ } -+ skb_reserve(txb->fragments[0], ieee->tx_headroom); -+ txb->encrypted=0; -+ txb->payload_size=count; -+ skb_frag = txb->fragments[0]; -+ newbuf=skb_put(skb_frag, count); -+ -+ // copy data into txb->skb and send it -+ memcpy(newbuf, buf, count); -+ -+ ipw_tx_skb(priv, txb, 0); -+ -+nosepuede: -+ spin_unlock_irqrestore(&priv->lock, flags); -+ return count; -+} -+ -+static DEVICE_ATTR(inject, S_IWUSR, NULL, store_inject); -+ - static void notify_wx_assoc_event(struct ipw_priv *priv) - { - union iwreq_data wrqu; -@@ -11478,6 +11538,7 @@ - #ifdef CONFIG_IPW2200_PROMISCUOUS - &dev_attr_rtap_iface.attr, - &dev_attr_rtap_filter.attr, -+ &dev_attr_inject.attr, - #endif - NULL - }; -diff -ur ipw2200-1.1.4/Makefile ipw2200-1.1.4-inject/Makefile ---- ipw2200-1.1.4/Makefile 2006-08-21 04:38:29.000000000 +0200 -+++ ipw2200-1.1.4-inject/Makefile 2006-08-23 14:22:06.000000000 +0200 -@@ -30,14 +30,14 @@ - # simply uncomment: - # - # NOTE: To use RADIOTAP you must also enable MONITOR above. --#CONFIG_IPW2200_RADIOTAP=y -+CONFIG_IPW2200_RADIOTAP=y - - # The above monitor mode provides standard monitor mode. The following - # will create a new interface (named rtap%d) which will be sent all - # 802.11 frames received on the interface - # - # NOTE: To use PROMISCUOUS you must also enable MONITOR above. --#CONFIG_IPW2200_PROMISCUOUS=y -+CONFIG_IPW2200_PROMISCUOUS=y - - endif - diff --git a/net-wireless/ipw2200/files/ipw2200-1.2.0-modverdir.patch b/net-wireless/ipw2200/files/ipw2200-1.2.0-modverdir.patch deleted file mode 100644 index 12d70206..00000000 --- a/net-wireless/ipw2200/files/ipw2200-1.2.0-modverdir.patch +++ /dev/null @@ -1,20 +0,0 @@ -Index: ipw2200-1.2.0/Makefile -=================================================================== ---- ipw2200-1.2.0.orig/Makefile -+++ ipw2200-1.2.0/Makefile -@@ -153,14 +153,8 @@ clean: - distclean: clean - rm -f tags TAGS - --TMP=$(PWD)/tmp --MODVERDIR=$(TMP)/.tmp_versions -- - modules: -- mkdir -p $(MODVERDIR) -- -cp $(IEEE80211_MODVERDIR)/*.mod $(MODVERDIR) -- -cp $(IEEE80211_MODVERDIR)/../Modules.symvers $(PWD) -- $(MAKE) -C $(KSRC) M=$(PWD) MODVERDIR=$(MODVERDIR) modules -+ $(MAKE) -C $(KSRC) M=$(PWD) modules - - - patch_kernel: diff --git a/net-wireless/ipw2200/ipw2200-1.2.0.ebuild b/net-wireless/ipw2200/ipw2200-1.2.0.ebuild deleted file mode 100644 index 697fdf34..00000000 --- a/net-wireless/ipw2200/ipw2200-1.2.0.ebuild +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -inherit eutils linux-mod - -# The following works with both pre-releases and releases -MY_P=${P/_/-} -S=${WORKDIR}/${MY_P} - -IEEE80211_VERSION="1.2.15" -FW_VERSION="3.0" - -DESCRIPTION="Driver for the Intel 2200BG/2915ABG miniPCI/PCI adapters patched with modified inject patches" -HOMEPAGE="http://ipw2200.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -IUSE="debug inject" -DEPEND=">=net-wireless/ieee80211-${IEEE80211_VERSION} - sys-apps/sed" -RDEPEND=">=net-wireless/ieee80211-${IEEE80211_VERSION} - >=net-wireless/ipw2200-firmware-${FW_VERSION} - net-wireless/wireless-tools" - -BUILD_TARGETS="all" -MODULE_NAMES="ipw2200(net/wireless:)" -MODULESD_IPW2200_DOCS="README.ipw2200" - -CONFIG_CHECK="NET_RADIO FW_LOADER !IPW2200" -ERROR_NET_RADIO="${P} requires support for Wireless LAN drivers (non-hamradio) & Wireless Extensions (CONFIG_NET_RADIO)." -ERROR_FW_LOADER="${P} requires Hotplug firmware loading support (CONFIG_FW_LOADER)." -ERROR_IPW2200="${P} requires the in-kernel version of the IPW2200 driver to be disabled (CONFIG_IPW2200)" - -pkg_setup() { - linux-mod_pkg_setup - - if kernel_is 2 4; then - die "${P} does not support building against kernel 2.4.x" - fi - - if [[ ! -f ${ROOT}/lib/modules/${KV_FULL}/net/ieee80211/ieee80211.${KV_OBJ} ]]; then - eerror - eerror "Looks like you forgot to remerge net-wireless/ieee80211 after" - eerror "upgrading your kernel." - eerror - eerror "Hint: use sys-kernel/module-rebuild for keeping track of which" - eerror "modules needs to be remerged after a kernel upgrade." - eerror - die "${ROOT}/lib/modules/${KV_FULL}/net/ieee80211/ieee80211.${KV_OBJ} not found" - fi - - BUILD_PARAMS="KSRC=${KV_DIR} KSRC_OUTPUT=${KV_OUT_DIR} IEEE80211_INC=/usr/include" -} - -src_unpack() { - local debug="n" radiotap="n" - - unpack ${A} - - cd "${S}" - epatch "${FILESDIR}/${P}-modverdir.patch" - if use inject; then - epatch "${FILESDIR}/${P}-inject.patch" - fi - - use debug && debug="y" - sed -i -e "s:^\(CONFIG_IPW2200_DEBUG\)=.*:\1=${debug}:" "${S}"/Makefile -} - -src_compile() { - linux-mod_src_compile - - einfo - einfo "You may safely ignore any warnings from above compilation about" - einfo "undefined references to the ieee80211 subsystem." - einfo -} - -src_install() { - linux-mod_src_install - - dodoc CHANGES ISSUES -} diff --git a/net-wireless/kismet-dect/Manifest b/net-wireless/kismet-dect/Manifest deleted file mode 100644 index 097c73ee..00000000 --- a/net-wireless/kismet-dect/Manifest +++ /dev/null @@ -1 +0,0 @@ -EBUILD kismet-dect-9999.ebuild 1023 RMD160 08284b20b2229acd0d4670810b480b2ef76f3fb0 SHA1 a3054263647c97de3e74ed4f4f60cef6c6cc9e4b SHA256 b17d575ccd3a6dcaac2953d0695f0c06035ce0894ef3c05d6f0a32840cd5e833 diff --git a/net-wireless/kismet-dect/kismet-dect-9999.ebuild b/net-wireless/kismet-dect/kismet-dect-9999.ebuild deleted file mode 100644 index 865ba18d..00000000 --- a/net-wireless/kismet-dect/kismet-dect-9999.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" - -inherit subversion - -DESCRIPTION="DECT plugin for kismet" -HOMEPAGE="https://dedected.org/" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="" - -DEPEND="" -RDEPEND=">=net-wireless/kismet-2009.11.1-r1 - net-wireless/dedected" - -ESVN_REPO_URI="https://dedected.org/svn/trunk/kismet-dect" - -src_prepare() { - # build with custom CFLAGS - sed -i -e "s/-g/${CFLAGS}/g" server_module/Makefile - sed -i -e "s/-fPIC/${CFLAGS} -fPIC/g" client_module/Makefile -} - -src_compile() { - make KIS_SRC_DIR="/usr/include/kismet/" -C client_module || die "failed to compile client module" - make KIS_SRC_DIR="/usr/include/kismet/" -C server_module || die "failed to compile server module" -} - -src_install() { - make KIS_DEST_DIR="${D}/usr/" -C client_module install || die "failed to install client module" - make KIS_DEST_DIR="${D}/usr/" -C server_module install || die "failed to install server module" -} diff --git a/net-wireless/libertas-firmware/Manifest b/net-wireless/libertas-firmware/Manifest deleted file mode 100644 index 7d0b7315..00000000 --- a/net-wireless/libertas-firmware/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST libertas-firmware-5.220.10.p5-1.tar.gz 81809 SHA256 85a655d8de7741845d90b10eb95e6692f7962dcc39b36d2169b75b80e65f6262 diff --git a/net-wireless/libertas-firmware/libertas-firmware-5.220.10.ebuild b/net-wireless/libertas-firmware/libertas-firmware-5.220.10.ebuild deleted file mode 100644 index a0da7dd3..00000000 --- a/net-wireless/libertas-firmware/libertas-firmware-5.220.10.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2004-2010 Sabayon -# Distributed under the terms of the GNU General Public License v2 - -RESTRICT="nomirror" - -DESCRIPTION="Firmware for Libertas Wireless Chipsets a/b/g" -HOMEPAGE="http://wiki.laptop.org/go/Libertas" -SRC_URI="mirror://kogaion/net-wireless/${PN}/${PN}-${PV}.p5-1.tar.gz" - -LICENSE="as-is" -SLOT="0" -KEYWORDS="amd64 ppc x86 ppc64" - -IUSE="" -RDEPEND="|| ( >=sys-fs/udev-096 >=sys-apps/hotplug-20040923 )" - -S=${WORKDIR} - -src_unpack() { - unpack ${A} -} - -src_install() { - cd ${S}/lib/firmware/ - insinto /lib/firmware/ - doins ./* -} diff --git a/net-wireless/libfreefare/Manifest b/net-wireless/libfreefare/Manifest deleted file mode 100644 index 1f4151c1..00000000 --- a/net-wireless/libfreefare/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST libfreefare-0.3.2.tar.gz 442844 RMD160 1a46647d4edd87be7ca19e53a48bd74077b8c211 SHA1 72131695e60399bdd6bd15900aca3231315ca13b SHA256 aaa3017cba50fa857a12468a9d58b705db18527ad8ffc7f6a06590e147f614d6 -EBUILD libfreefare-0.3.2.ebuild 458 RMD160 5eee2fc0ddd8b383a31d0dc6027f640c5618395e SHA1 4559d9b695fdfd2d7852c2dbde7cce6f2d566bea SHA256 4f804b4c57a722ed2cd73f578858e2544adf99b711315ea7398482b7667c1936 diff --git a/net-wireless/libfreefare/libfreefare-0.3.2.ebuild b/net-wireless/libfreefare/libfreefare-0.3.2.ebuild deleted file mode 100644 index e38f5db2..00000000 --- a/net-wireless/libfreefare/libfreefare-0.3.2.ebuild +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=3 - -DESCRIPTION="a library for high level manipulation of MIFARE tags" -HOMEPAGE="https://code.google.com/p/nfc-tools/" -SRC_URI="https://nfc-tools.googlecode.com/files/${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -DEPEND="dev-lib/libnfc" -RDEPEND="${DEPEND}" - -src_install() { - DESTDIR="${D}" emake install || die -} diff --git a/net-wireless/linssid/Manifest b/net-wireless/linssid/Manifest deleted file mode 100644 index 71f18269..00000000 --- a/net-wireless/linssid/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST linssid_2.1.orig.tar.gz 235899 SHA256 dd333937898503adc27a0d1d99785cdc8da311abfde5153363dc680141735bfd SHA512 256d2d7eb58011ce09e64da675cc4824cbe2f1ee445357dcff27431d1957bee2c86e04051a1b8b4902fd839f7ccf65971dc7be489aae4fb9798a1844ce449e83 WHIRLPOOL 58d564e4d469ff12a650320bc178b0c673d6b133a442ed25dbb4b4c09571f6b4b2dbc2c5435d541fc9defe51919a6e3f26b7177e6c8fa96c0a07393741e37fdb -DIST linssid_2.7.orig.tar.gz 678725 SHA256 f491956427d4f061752fda9aeb4a935de8887ab26fc2393a458d59c9682ea38d SHA512 33e69b0491bee74453cb71befb3a314da7766f12d2c1a21e947cf1d068b2941162eb72ab53989d9e5e5e2c8f2dd051576d0bfb775835d648eb9b1fc8b046a0cb WHIRLPOOL 04f2154cac5484a93a2c883286d8de4503a7b736b6182b669cc1cbab0b7a7c629c760847d0b3d700674a465fe4d59208c8cf0528dd8b94cb0a3a486a5ace518a diff --git a/net-wireless/linssid/linssid-2.1.ebuild b/net-wireless/linssid/linssid-2.1.ebuild deleted file mode 100644 index 30a09b5d..00000000 --- a/net-wireless/linssid/linssid-2.1.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -inherit qt4-r2 - -DESCRIPTION="Graphical wireless scanning for Linux " -HOMEPAGE="http://sourceforge.net/projects/linssid/" -SRC_URI="http://downloads.sourceforge.net/${PN}/${PN}_${PV}.orig.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND=" - dev-libs/boost - dev-qt/qtgui:4 - net-wireless/wireless-tools - >=x11-libs/qwt-6 - " -RDEPEND="${DEPEND}" - -src_prepare() { - # fix hard-coded gcc version - sed -i 's/gcc-4\.6/gcc/' linssid.pro - sed -i 's/g++-4\.6/g++/' linssid.pro - - # get and use QWT version - QWT_VERSION="$(best_version x11-libs/qwt | cut -d "-" -f3 | cut -d "." -f1)" - sed -i "s/\/usr\/include\/qwt/\/usr\/include\/qwt${QWT_VERSION}/g" linssid.pro || die - sed -i "s/\/usr\/lib\/libqwt.so/-lqwt${QWT_VERSION}/g" linssid.pro || die - - sed -i 's/\/usr\/lib\/libboost_regex-mt\.a/-lboost_regex/' linssid.pro || die - - # use uniform include style for qwt - sed -i "s/#include <qwt\//#include </" *.h || die - - # fix QA warnings - sed -i "s/Version=.*//" linssid.desktop || die - sed -i "s/Categories=.*/Categories=Network;/" linssid.desktop || die -} - -pkg_postinst() { - elog "This package parses the output of "iw" and needs root privileges" - elog "to do so. You can either start it as root or set up sudo" - elog "rights (recommended)." -} diff --git a/net-wireless/linssid/linssid-2.7.ebuild b/net-wireless/linssid/linssid-2.7.ebuild deleted file mode 100644 index 30a09b5d..00000000 --- a/net-wireless/linssid/linssid-2.7.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -inherit qt4-r2 - -DESCRIPTION="Graphical wireless scanning for Linux " -HOMEPAGE="http://sourceforge.net/projects/linssid/" -SRC_URI="http://downloads.sourceforge.net/${PN}/${PN}_${PV}.orig.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND=" - dev-libs/boost - dev-qt/qtgui:4 - net-wireless/wireless-tools - >=x11-libs/qwt-6 - " -RDEPEND="${DEPEND}" - -src_prepare() { - # fix hard-coded gcc version - sed -i 's/gcc-4\.6/gcc/' linssid.pro - sed -i 's/g++-4\.6/g++/' linssid.pro - - # get and use QWT version - QWT_VERSION="$(best_version x11-libs/qwt | cut -d "-" -f3 | cut -d "." -f1)" - sed -i "s/\/usr\/include\/qwt/\/usr\/include\/qwt${QWT_VERSION}/g" linssid.pro || die - sed -i "s/\/usr\/lib\/libqwt.so/-lqwt${QWT_VERSION}/g" linssid.pro || die - - sed -i 's/\/usr\/lib\/libboost_regex-mt\.a/-lboost_regex/' linssid.pro || die - - # use uniform include style for qwt - sed -i "s/#include <qwt\//#include </" *.h || die - - # fix QA warnings - sed -i "s/Version=.*//" linssid.desktop || die - sed -i "s/Categories=.*/Categories=Network;/" linssid.desktop || die -} - -pkg_postinst() { - elog "This package parses the output of "iw" and needs root privileges" - elog "to do so. You can either start it as root or set up sudo" - elog "rights (recommended)." -} diff --git a/net-wireless/linux-wlan-ng-modules/Manifest b/net-wireless/linux-wlan-ng-modules/Manifest deleted file mode 100644 index d9e108a1..00000000 --- a/net-wireless/linux-wlan-ng-modules/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -AUX linux-wlan-0.2.3.packet.injection.patch 12854 RMD160 80605f429332acaa974ffe6c77f068709a8aeb75 SHA1 f56a4656a59aee3bf48611958ef0d1ff4d02705a SHA256 75b3b928b5d1ecea8e818f431f780235bcd1cefe592d00dd19b717c0631cb87c -DIST linux-wlan-ng-0.2.5.tar.bz2 457056 RMD160 3bd08380d9bd131ad960a8b3c9dd87972254357a SHA1 6f95e8e63b3271e3d6b88ec0eb267027b8c6d436 SHA256 882f5fe8c3e3a2538f59e96d002866aea1ce3ad33396da0cea7721455f4a42be -EBUILD linux-wlan-ng-modules-0.2.5.ebuild 2344 RMD160 3fd869b8293fa4742436d5c97c2480fe5c34b695 SHA1 cabcf854319046e4a84367053e346c901cf2edbb SHA256 9674c1ad2274fcfee8e935e1870b9f5fa5871125cded304efd42464c90b85854 diff --git a/net-wireless/linux-wlan-ng-modules/files/digest-linux-wlan-ng-modules-0.2.5 b/net-wireless/linux-wlan-ng-modules/files/digest-linux-wlan-ng-modules-0.2.5 deleted file mode 100644 index f91173cb..00000000 --- a/net-wireless/linux-wlan-ng-modules/files/digest-linux-wlan-ng-modules-0.2.5 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 b4f6eb438533f73cd456e5ee7a3f722a linux-wlan-ng-0.2.5.tar.bz2 457056 -RMD160 3bd08380d9bd131ad960a8b3c9dd87972254357a linux-wlan-ng-0.2.5.tar.bz2 457056 -SHA256 882f5fe8c3e3a2538f59e96d002866aea1ce3ad33396da0cea7721455f4a42be linux-wlan-ng-0.2.5.tar.bz2 457056 diff --git a/net-wireless/linux-wlan-ng-modules/files/linux-wlan-0.2.3.packet.injection.patch b/net-wireless/linux-wlan-ng-modules/files/linux-wlan-0.2.3.packet.injection.patch deleted file mode 100644 index abd0ef72..00000000 --- a/net-wireless/linux-wlan-ng-modules/files/linux-wlan-0.2.3.packet.injection.patch +++ /dev/null @@ -1,303 +0,0 @@ -diff -ur linux-wlan-ng-0.2.3/src/p80211/p80211netdev.c linux-wlan-ng-0.2.3-patched/src/p80211/p80211netdev.c ---- linux-wlan-ng-0.2.3/src/p80211/p80211netdev.c 2005-10-31 14:54:59.000000000 -0500 -+++ linux-wlan-ng-0.2.3-patched/src/p80211/p80211netdev.c 2006-03-16 16:33:03.000000000 -0500 -@@ -511,7 +511,7 @@ - * and return success . - * TODO: we need a saner way to handle this - */ -- if(skb->protocol != ETH_P_80211_RAW) { -+ if(skb->protocol != htons(ETH_P_80211_RAW)) { - p80211netdev_start_queue(wlandev); - WLAN_LOG_NOTICE( - "Tx attempt prior to association, frame dropped.\n"); -@@ -523,7 +523,7 @@ - } - - /* Check for raw transmits */ -- if(skb->protocol == ETH_P_80211_RAW) { -+ if(skb->protocol == htons(ETH_P_80211_RAW)) { - if (!capable(CAP_NET_ADMIN)) { - result = 1; - goto failed; -@@ -950,8 +950,9 @@ - dev->set_mac_address = p80211knetdev_set_mac_address; - #endif - #ifdef HAVE_TX_TIMEOUT -- dev->tx_timeout = &p80211knetdev_tx_timeout; -- dev->watchdog_timeo = (wlan_watchdog * HZ) / 1000; -+// korek: still not implemented -+// dev->tx_timeout = &p80211knetdev_tx_timeout; -+// dev->watchdog_timeo = (wlan_watchdog * HZ) / 1000; - #endif - netif_carrier_off(dev); - } -diff -ur linux-wlan-ng-0.2.3/src/prism2/driver/hfa384x.c linux-wlan-ng-0.2.3-patched/src/prism2/driver/hfa384x.c ---- linux-wlan-ng-0.2.3/src/prism2/driver/hfa384x.c 2005-07-20 11:07:16.000000000 -0400 -+++ linux-wlan-ng-0.2.3-patched/src/prism2/driver/hfa384x.c 2006-03-17 11:03:09.000000000 -0500 -@@ -1871,8 +1871,16 @@ - - DBFENTER; - -- cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -- HFA384x_CMD_AINFO_SET(enable); -+// cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -+// HFA384x_CMD_AINFO_SET(enable); -+ if (enable == HFA384x_MONITOR_ENABLE) { -+ // KoreK: get into test mode 0x0a -+ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -+ HFA384x_CMD_AINFO_SET(0x0a); -+ } else { -+ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -+ HFA384x_CMD_AINFO_SET(enable); -+ } - cmd.parm0 = 0; - cmd.parm1 = 0; - cmd.parm2 = 0; -@@ -3112,12 +3120,34 @@ - #endif - - /* if we're using host WEP, increase size by IV+ICV */ -- if (p80211_wep->data) { -- txdesc.data_len = host2hfa384x_16(skb->len+8); -- // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); -- } else { -- txdesc.data_len = host2hfa384x_16(skb->len); -- } -+// if (p80211_wep->data) { -+// txdesc.data_len = host2hfa384x_16(skb->len+8); -+// // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); -+// } else { -+// txdesc.data_len = host2hfa384x_16(skb->len); -+// } -+ -+ if (skb->protocol != htons(ETH_P_80211_RAW)) { -+ /* if we're using host WEP, increase size by IV+ICV */ -+ if (p80211_wep->data) { -+ txdesc.data_len = host2hfa384x_16(skb->len+8); -+ // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); -+ } else { -+ txdesc.data_len = host2hfa384x_16(skb->len); -+ } -+ } else { -+ /* KoreK: raw injection (monitor mode): pull the rest of -+ the header and ssanity check on txdesc.data_len */ -+ memcpy(&(txdesc.data_len), skb->data, 16); -+ skb_pull(skb,16); -+ if (txdesc.data_len != host2hfa384x_16(skb->len)) { -+ printk(KERN_DEBUG "mismatch frame_len, drop frame\n"); -+ return 0; -+ } -+ -+ txdesc.tx_control |= HFA384x_TX_RETRYSTRAT_SET(1); -+ } -+ - - txdesc.tx_control = host2hfa384x_16(txdesc.tx_control); - /* copy the header over to the txdesc */ -@@ -3140,7 +3170,9 @@ - spin_lock(&hw->cmdlock); - - /* Copy descriptor+payload to FID */ -- if (p80211_wep->data) { -+ -+// if (p80211_wep->data) { -+ if (p80211_wep->data && (skb->protocol != htons(ETH_P_80211_RAW))) { - result = hfa384x_copy_to_bap4(hw, HFA384x_BAP_PROC, fid, 0, - &txdesc, sizeof(txdesc), - p80211_wep->iv, sizeof(p80211_wep->iv), -@@ -3586,6 +3618,17 @@ - { - case 0: - -+ /* KoreK: this testmode uses macport 0 */ -+ if ((wlandev->netdev->type == ARPHRD_IEEE80211) || -+ (wlandev->netdev->type == ARPHRD_IEEE80211_PRISM)) { -+ if ( ! HFA384x_RXSTATUS_ISFCSERR(rxdesc.status) ) { -+ hfa384x_int_rxmonitor( wlandev, rxfid, &rxdesc); -+ } else { -+ WLAN_LOG_DEBUG(3,"Received monitor frame: FCSerr set\n"); -+ } -+ goto done; -+ } -+ - fc = ieee2host16(rxdesc.frame_control); - - /* If exclude and we receive an unencrypted, drop it */ -diff -ur linux-wlan-ng-0.2.3/src/prism2/driver/hfa384x_usb.c linux-wlan-ng-0.2.3-patched/src/prism2/driver/hfa384x_usb.c ---- linux-wlan-ng-0.2.3/src/prism2/driver/hfa384x_usb.c 2005-10-31 14:52:36.000000000 -0500 -+++ linux-wlan-ng-0.2.3-patched/src/prism2/driver/hfa384x_usb.c 2006-03-18 15:38:19.000000000 -0500 -@@ -1398,8 +1398,16 @@ - - DBFENTER; - -- cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -- HFA384x_CMD_AINFO_SET(enable); -+// cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -+// HFA384x_CMD_AINFO_SET(enable); -+ if (enable == HFA384x_MONITOR_ENABLE) { -+ // KoreK: get into test mode 0x0a -+ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -+ HFA384x_CMD_AINFO_SET(0x0a); -+ } else { -+ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | -+ HFA384x_CMD_AINFO_SET(enable); -+ } - cmd.parm0 = 0; - cmd.parm1 = 0; - cmd.parm2 = 0; -@@ -3412,37 +3420,71 @@ - HFA384x_TX_MACPORT_SET(0) | HFA384x_TX_STRUCTYPE_SET(1) | - HFA384x_TX_TXEX_SET(0) | HFA384x_TX_TXOK_SET(0); - #endif -- hw->txbuff.txfrm.desc.tx_control = -- host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); -- -- /* copy the header over to the txdesc */ -- memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, sizeof(p80211_hdr_t)); -+// hw->txbuff.txfrm.desc.tx_control = -+// host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); - -- /* if we're using host WEP, increase size by IV+ICV */ -- if (p80211_wep->data) { -- hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8); -- // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); -- usbpktlen+=8; -- } else { -- hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len); -+// /* copy the header over to the txdesc */ -+// memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, sizeof(p80211_hdr_t)); -+ if (skb->protocol != htons(ETH_P_80211_RAW)) { -+ hw->txbuff.txfrm.desc.tx_control = -+ host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); -+ -+ /* copy the header over to the txdesc */ -+ memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, -+ sizeof(p80211_hdr_t)); -+ -+ /* if we're using host WEP, increase size by IV+ICV */ -+ if (p80211_wep->data) { -+ hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8); -+ // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); -+ usbpktlen+=8; -+ } else { -+ hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len); -+ } -+ } else { -+ /* KoreK: raw injection (monitor mode): pull the rest of -+ the header and ssanity check on txdesc.data_len */ -+ memcpy(&(hw->txbuff.txfrm.desc.data_len), skb->data, 16); -+ skb_pull(skb,16); -+ if (hw->txbuff.txfrm.desc.data_len != host2hfa384x_16(skb->len)) { -+ printk(KERN_DEBUG "mismatch frame_len, drop frame\n"); -+ return 0; -+ } -+// /* if we're using host WEP, increase size by IV+ICV */ -+// if (p80211_wep->data) { -+// hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8); -+// // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); -+// usbpktlen+=8; -+// } else { -+// hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len); -+ hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_RETRYSTRAT_SET(1); -+ hw->txbuff.txfrm.desc.tx_control = -+ host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); -+ -+ /* copy the header over to the txdesc */ -+ memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, -+ sizeof(p80211_hdr_t)); - } - - usbpktlen += skb->len; - - /* copy over the WEP IV if we are using host WEP */ - ptr = hw->txbuff.txfrm.data; -- if (p80211_wep->data) { -+// if (p80211_wep->data) { -+ if (p80211_wep->data && skb->protocol != htons(ETH_P_80211_RAW)) { - memcpy(ptr, p80211_wep->iv, sizeof(p80211_wep->iv)); - ptr+= sizeof(p80211_wep->iv); - memcpy(ptr, p80211_wep->data, skb->len); - } else { - memcpy(ptr, skb->data, skb->len); - } -+ - /* copy over the packet data */ - ptr+= skb->len; - - /* copy over the WEP ICV if we are using host WEP */ -- if (p80211_wep->data) { -+// if (p80211_wep->data) { -+ if (p80211_wep->data && skb->protocol != htons(ETH_P_80211_RAW)) { - memcpy(ptr, p80211_wep->icv, sizeof(p80211_wep->icv)); - } - -@@ -4203,6 +4245,17 @@ - switch( HFA384x_RXSTATUS_MACPORT_GET(usbin->rxfrm.desc.status) ) - { - case 0: -+ /* KoreK: this testmode uses macport 0 */ -+ if ((wlandev->netdev->type == ARPHRD_IEEE80211) || -+ (wlandev->netdev->type == ARPHRD_IEEE80211_PRISM)) { -+ if ( ! HFA384x_RXSTATUS_ISFCSERR(usbin->rxfrm.desc.status) ) { -+ hfa384x_int_rxmonitor(wlandev, &usbin->rxfrm); -+ } else { -+ WLAN_LOG_DEBUG(3,"Received monitor frame: FCSerr set\n"); -+ } -+ goto done; -+ } -+ - fc = ieee2host16(usbin->rxfrm.desc.frame_control); - - /* If exclude and we receive an unencrypted, drop it */ -diff -ur linux-wlan-ng-0.2.3/src/prism2/driver/prism2mgmt.c linux-wlan-ng-0.2.3-patched/src/prism2/driver/prism2mgmt.c ---- linux-wlan-ng-0.2.3/src/prism2/driver/prism2mgmt.c 2005-06-22 10:16:55.000000000 -0400 -+++ linux-wlan-ng-0.2.3-patched/src/prism2/driver/prism2mgmt.c 2006-03-18 15:21:03.000000000 -0500 -@@ -2860,9 +2860,12 @@ - } - - /* Now if we're already sniffing, we can skip the rest */ -- if (wlandev->netdev->type != ARPHRD_ETHER) { -+// if (wlandev->netdev->type != ARPHRD_ETHER) { -+ if ((wlandev->netdev->type != ARPHRD_IEEE80211) && -+ (wlandev->netdev->type != ARPHRD_IEEE80211_PRISM)) { - /* Set the port type to pIbss */ -- word = HFA384x_PORTTYPE_PSUEDOIBSS; -+// word = HFA384x_PORTTYPE_PSUEDOIBSS; -+ word = 5; // HFA384x_PORTTYPE_PSUEDOIBSS; - result = hfa384x_drvr_setconfig16(hw, - HFA384x_RID_CNFPORTTYPE, word); - if ( result ) { -@@ -2874,6 +2877,8 @@ - } - if ((msg->keepwepflags.status == P80211ENUM_msgitem_status_data_ok) && (msg->keepwepflags.data != P80211ENUM_truth_true)) { - /* Set the wepflags for no decryption */ -+ /* doesn't work - done from the CLI */ -+ /* Fix? KoreK */ - word = HFA384x_WEPFLAGS_DISABLE_TXCRYPT | - HFA384x_WEPFLAGS_DISABLE_RXCRYPT; - result = hfa384x_drvr_setconfig16(hw, HFA384x_RID_CNFWEPFLAGS, word); -@@ -2919,7 +2924,9 @@ - goto failed; - } - -- if (wlandev->netdev->type == ARPHRD_ETHER) { -+// if (wlandev->netdev->type == ARPHRD_ETHER) { -+ if ((wlandev->netdev->type != ARPHRD_IEEE80211) && -+ (wlandev->netdev->type != ARPHRD_IEEE80211_PRISM)) { - WLAN_LOG_INFO("monitor mode enabled\n"); - } - -diff -ur linux-wlan-ng-0.2.3/src/prism2/driver/prism2sta.c linux-wlan-ng-0.2.3-patched/src/prism2/driver/prism2sta.c ---- linux-wlan-ng-0.2.3/src/prism2/driver/prism2sta.c 2005-10-07 17:32:44.000000000 -0400 -+++ linux-wlan-ng-0.2.3-patched/src/prism2/driver/prism2sta.c 2006-03-18 15:15:00.000000000 -0500 -@@ -410,7 +410,9 @@ - DBFENTER; - - /* If necessary, set the 802.11 WEP bit */ -- if ((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED) { -+// if ((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED) { -+ if (((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED) -+ && (skb->protocol != htons(ETH_P_80211_RAW))) { - p80211_hdr->a3.fc |= host2ieee16(WLAN_SET_FC_ISWEP(1)); - } - diff --git a/net-wireless/linux-wlan-ng-modules/linux-wlan-ng-modules-0.2.5.ebuild b/net-wireless/linux-wlan-ng-modules/linux-wlan-ng-modules-0.2.5.ebuild deleted file mode 100644 index 3193b846..00000000 --- a/net-wireless/linux-wlan-ng-modules/linux-wlan-ng-modules-0.2.5.ebuild +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/linux-wlan-ng-modules/linux-wlan-ng-modules-0.2.5.ebuild,v 1.1 2006/10/08 19:09:23 betelgeuse Exp $ - -EAPI="2" - -inherit eutils linux-mod - -MY_PN=${PN/-modules/} -MY_P=${MY_PN}-${PV} - -DESCRIPTION="Kernel modules for Prism2/2.5/3 based 802.11b USB wireless LAN products" -HOMEPAGE="http://linux-wlan.org" -SRC_URI="ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/${MY_P}.tar.bz2" - -LICENSE="|| ( GPL-2 MPL-1.1 )" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" - -IUSE="debug" - -BUILD_TARGETS="default" -BUILD_PARAMS="WLAN_SRC=${S}/src" - -DEPEND="!<net-wireless/linux-wlan-ng-0.2.2" -RDEPEND="" - -S=${WORKDIR}/${MY_P} - -pkg_setup() { - # We have to put this to the global scope inside the function or it will be - # reset between functions because the ebuild is sourced many times. - - MODULE_NAMES="p80211(net/wireless:"${S}"/src/p80211)" - MODULE_NAMES="${MODULE_NAMES} prism2_usb(net/wireless:"${S}"/src/prism2/driver)" - - linux-mod_pkg_setup -} - -config_by_usevar() { - local config=${3} - [[ -z ${config} ]] && config="${S}"/default.config - - if use ${2}; then - echo "${1}=y" >> ${config} - else - echo "${1}=n" >> ${config} - fi -} - -src_prepare() { - local config="${S}"/default.config - - epatch "${FILESDIR}"/linux-wlan-0.2.3.packet.injection.patch - cp config.in ${config} - - echo "TARGET_ROOT_ON_HOST=${D}" >> ${config} - echo "LINUX_SRC=${KERNEL_DIR}" >> ${config} - echo "FIRMWARE_DIR=/lib/firmware/" >> ${config} - echo "PRISM2_PCI=n" >> ${config} - echo "PRISM2_PLX=n" >> ${config} - echo "PRISM2_PCMCIA=n" >> ${config} - echo "PRISM2_USB=y" >> ${config} - - config_by_usevar WLAN_DEBUG debug - - sed -i -e "s:dep modules:modules:" "${S}"/src/p80211/Makefile -} - -src_compile() { - set_arch_to_kernel - emake default_config || die "emake default_config failed" - set_arch_to_portage - - cd "${S}"/src/mkmeta - emake || die "emake mkmeta failed" - - linux-mod_src_compile -} - -pkg_postinst() { - linux-mod_pkg_postinst - - einfo "Support for pci, plx and pcmcia drivers has been removed in" - einfo "revision. For pci, plx and pcmcia drivers try for example" - einfo "the hostap-driver or orinoco drivers. They both work with the" - einfo "standard wireless tools." - einfo "" - einfo "If they do not work, please report this to betelgeuse@gentoo.org." -} diff --git a/net-wireless/lorcon-old/Manifest b/net-wireless/lorcon-old/Manifest deleted file mode 100644 index ed53f9c5..00000000 --- a/net-wireless/lorcon-old/Manifest +++ /dev/null @@ -1 +0,0 @@ -EBUILD lorcon-old-9999.ebuild 640 RMD160 5e77ecbe4a9b3e5dfbbc83e61d657385829cb3fc SHA1 04d6155143ad90ce059a7f292e1cbe5e0a7914f8 SHA256 21263b645c14b57b5b9550938e3d24e198ea1d9b309df361a11c6aba7e19ac30 diff --git a/net-wireless/lorcon-old/lorcon-old-9999.ebuild b/net-wireless/lorcon-old/lorcon-old-9999.ebuild deleted file mode 100644 index e78aea91..00000000 --- a/net-wireless/lorcon-old/lorcon-old-9999.ebuild +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -inherit toolchain-funcs eutils subversion - -DESCRIPTION="A generic library for injecting 802.11 frames" -HOMEPAGE="http://802.11ninja.net/lorcon" -SRC_URI="" -ESVN_REPO_URI="http://802.11ninja.net/svn/lorcon/branch/lorcon-old" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="$RDEPEND" -RDEPEND="dev-libs/libnl - net-libs/libpcap" - -src_install() { - DESTDIR="${D}" emake install - # rename manpage to avoid conflict with lorcon - mv "${D}"/usr/share/man/man3/lorcon.3 "${D}"/usr/share/man/man3/lorcon-old.3 -} diff --git a/net-wireless/lorcon/Manifest b/net-wireless/lorcon/Manifest deleted file mode 100644 index 54df9fb1..00000000 --- a/net-wireless/lorcon/Manifest +++ /dev/null @@ -1 +0,0 @@ -EBUILD lorcon-9999.ebuild 2010 SHA256 1824bd6e24b3cce2be41fd74f7bcbe2f502d8867926686ceab135f0319a96772 SHA512 6d7cb9a0eb91d5e7c09ba45a536b5131c37c2d635d8c7be470a755166ff8215672aaf4000bd3967855679dcb2e1e35999405f2fc452c4db29e177d140dce4d06 WHIRLPOOL 28f62b1b61725282168334339109b0ad330f8c8e6f6571b691eab9eb88be4b960e59e00a9cb8e2a3b194da9247fd881ea01817f3a4689c0a3fbf6adf546234d4 diff --git a/net-wireless/lorcon/lorcon-9999.ebuild b/net-wireless/lorcon/lorcon-9999.ebuild deleted file mode 100644 index 49a5eb9f..00000000 --- a/net-wireless/lorcon/lorcon-9999.ebuild +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -PYTHON_DEPEND="python? 2" -SUPPORT_PYTHON_ABIS="1" -RESTRICT_PYTHON_ABIS="3.*" - -USE_RUBY="ruby18 ruby19" -RUBY_OPTIONAL=yes - -inherit git-2 distutils ruby-ng - -DESCRIPTION="A generic library for injecting 802.11 frames" -HOMEPAGE="http://802.11ninja.net/lorcon" -EGIT_REPO_URI="https://code.google.com/p/lorcon/" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" -IUSE="python ruby" - -DEPEND="ruby? ( $(ruby_implementations_depend) )" -RDEPEND="${DEPEND} - dev-libs/libnl" - -S="${WORKDIR}"/all - -pkg_setup() { - if use python; then - python_pkg_setup; - DISTUTILS_SETUP_FILES=("${S}/pylorcon2|setup.py") - fi - use ruby && ruby-ng_pkg_setup -} - -src_unpack() { - git-2_src_unpack - use ruby && ruby-ng_src_unpack -} - -src_prepare() { - use python && distutils_src_prepare - sed -i 's#<lorcon2/lorcon.h>#"../lorcon.h"#' pylorcon2/PyLorcon2.c - sed -i 's#find_library("orcon2", "lorcon_list_drivers", "lorcon2/lorcon.h") and ##' ruby-lorcon/extconf.rb - sed -i "s#-I/usr/include/lorcon2#-I${WORKDIR}/all#" ruby-lorcon/extconf.rb - sed -i 's#<lorcon2/lorcon.h>#"../lorcon.h"#' ruby-lorcon/Lorcon2.h - use ruby && ruby-ng_src_prepare -} - -src_configure() { - default_src_configure - use ruby && ruby-ng_src_configure -} - -src_compile() { - default_src_compile - if use python; then - LDFLAGS+=" -L${S}/.libs/" - distutils_src_compile - fi - use ruby && ruby-ng_src_compile -} - -src_install() { - emake DESTDIR="${ED}" install - use python && distutils_src_install - use ruby && ruby-ng_src_install -} - -src_test() { - : -} - -pkg_postinst() { - use python && distutils_pkg_postinst -} -pkg_postrm() { - use python && distutils_pkg_postrm -} - -each_ruby_configure() { - ${RUBY} -C "ruby-lorcon" extconf.rb - sed -i "s#-L\.#-L. -L${WORKDIR}/all/.libs -lorcon2 #g" ruby-lorcon/Makefile -} - -each_ruby_compile() { - emake -C ruby-lorcon -} - -each_ruby_install() { - DESTDIR="${ED}" emake -C ruby-lorcon install -} diff --git a/net-wireless/mdk/Manifest b/net-wireless/mdk/Manifest deleted file mode 100644 index f8495f39..00000000 --- a/net-wireless/mdk/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -AUX fix_wids_mdk3_v5.patch 520 RMD160 cd1e9020b06782fa0c98adf274c7b99ed3cbff5c SHA1 3564b5a6e73bff3e705a461890d61a87dfdbc002 SHA256 c0168ab3b50b18c973c954a831bfd6d8373c3f70570247a15d52da6914fe490d -DIST mdk3-v6.tar.bz2 213279 RMD160 22857e15a86fee1a0419916fcd12d14aeb14ebb1 SHA1 2832d176c02d9c3eb3bcb3b35acfdc94793161dd SHA256 4dac4d0ad54c4dbbf8857f527c573af6495a91d2e503774274b39c3ca8ed11dd -EBUILD mdk-3.6.ebuild 742 RMD160 5a76e89de581d5f9ad364d31b593644d54cf1b32 SHA1 2b3e1fe413cea2b5bfb5c0fc154a44864458b7ad SHA256 e6e900b2f1db64f024befc8411907a317e831448abb42fbd39b29b6a27eea91d diff --git a/net-wireless/mdk/files/fix_wids_mdk3_v5.patch b/net-wireless/mdk/files/fix_wids_mdk3_v5.patch deleted file mode 100644 index 6013a59b..00000000 --- a/net-wireless/mdk/files/fix_wids_mdk3_v5.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -ur mdk3-v5-orig/mdk3.c mdk3-v5/mdk3.c ---- mdk3-v5-orig/mdk3.c 2008-11-10 21:45:02.000000000 +0100 -+++ mdk3-v5/mdk3.c 2009-01-10 01:47:03.546875000 +0100 -@@ -1092,10 +1092,13 @@ - { - struct clistwidsclient *first = c; - -- do { -- if (!(memcmp(c->mac, mac, mac_len))) return c; -- c = c->next; -- } while (c != first); -+ if (c != NULL) -+ { -+ do { -+ if (c->mac != NULL && !(memcmp(c->mac, mac, mac_len))) return c; -+ c = c->next; -+ } while (c != NULL && c != first); -+ } - - return NULL; - } diff --git a/net-wireless/mdk/mdk-3.6.ebuild b/net-wireless/mdk/mdk-3.6.ebuild deleted file mode 100644 index 7b578cfe..00000000 --- a/net-wireless/mdk/mdk-3.6.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" - -inherit eutils - -MY_P=${PN}${PV/./-v} - -DESCRIPTION="Bruteforce hidden SSID" -HOMEPAGE="http://homepages.tu-darmstadt.de/~p_larbig/wlan/" -SRC_URI="http://homepages.tu-darmstadt.de/~p_larbig/wlan/${MY_P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="" -RDEPEND="" - -S=${WORKDIR}/${MY_P} - -src_prepare() { - epatch "${FILESDIR}"/fix_wids_mdk3_v5.patch - sed -ie "s|CFLAGS.*=.*|CFLAGS = $CFLAGS|" Makefile || die -} - -src_compile() { - make -j1 || die "make failed" -} - -src_install() { - dosbin mdk3 || die "dobin failed" - dodoc AUTHORS CHANGELOG TODO docs/* useful_files/* || die "dodoc failed" -} diff --git a/net-wireless/mfoc/Manifest b/net-wireless/mfoc/Manifest deleted file mode 100644 index 8b38b00f..00000000 --- a/net-wireless/mfoc/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -AUX mfoc-libnfc-1.5.1.patch 8908 RMD160 8d94b6c35fc786263afa6edff01adec42a7a094e SHA1 a85959cfe99fc5c82ec0f3ec2b4d091f444cb430 SHA256 dd6334ffa5939f11260d6bc7f5b4960162260348812ff4cc65478e51302be436 -DIST mfoc-0.10.2.tar.gz 112864 RMD160 a74ccdc22f4ead364872bac0beee0564c53f2be2 SHA1 cce1662300eeab303d375f746dd52e515e2f0e99 SHA256 fc38b990bf37b6416949d0a7c6481bdd8a67698cbb4dcae00c0576fd10845cb0 -EBUILD mfoc-0.10.2.ebuild 550 RMD160 8261f1420540deb08b1fa471bd785cda0d8d4dd8 SHA1 2a4d69343b95a759d5b683a43c48029088204e67 SHA256 81af43a5574b1c0cceba3d2b7dc8cf7af59ffb396c1f51d8723c12b56bf22fe9 diff --git a/net-wireless/mfoc/files/mfoc-libnfc-1.5.1.patch b/net-wireless/mfoc/files/mfoc-libnfc-1.5.1.patch deleted file mode 100644 index c19a554a..00000000 --- a/net-wireless/mfoc/files/mfoc-libnfc-1.5.1.patch +++ /dev/null @@ -1,217 +0,0 @@ -diff -Nru mfoc-0.10.2/src//mfoc.c mfoc/src//mfoc.c ---- mfoc-0.10.2/src//mfoc.c 2011-05-18 11:18:29.000000000 +0200 -+++ mfoc/src//mfoc.c 2012-02-11 02:02:27.028185737 +0100 -@@ -70,11 +70,11 @@ - bool skip = false; - - // Next default key specified as option (-k) -- byte_t * defKey = NULL; -+ byte_t * defKeys = NULL, *p; -+ size_t defKeys_len = 0; - - // Array with default Mifare Classic keys - byte_t defaultKeys[][6] = { -- {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, // User defined key slot - {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, // Default key (first key used by program if no user defined key) - {0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5}, // NFCForum MAD key - {0xd3, 0xf7, 0xd3, 0xf7, 0xd3, 0xf7}, // NFCForum content key -@@ -128,16 +128,17 @@ - // fprintf(stdout, "Tolerance number: %d\n", probes); - break; - case 'k': -- // Add this key to the default keys list -- if ((defKey = calloc(6, sizeof(byte_t))) == NULL) { -- ERR ("Cannot allocate memory for defKey"); -+ // Add this key to the default keys -+ p = realloc(defKeys, defKeys_len + 6); -+ if (!p) { -+ ERR ("Cannot allocate memory for defKeys"); - exit (EXIT_FAILURE); -- } else { -- bzero(defKey, 6); -- num_to_bytes(strtoll(optarg, NULL, 16), 6, defKey); -- memcpy(defaultKeys[0], defKey, 6); - } -- fprintf(stdout, "The custom key 0x%012llx has been added to the default keys\n", bytes_to_num(defKey, 6)); -+ defKeys = p; -+ memset(defKeys+defKeys_len, 0, 6); -+ num_to_bytes(strtoll(optarg, NULL, 16), 6, defKeys+defKeys_len); -+ fprintf(stdout, "The custom key 0x%012llx has been added to the default keys\n", bytes_to_num(defKeys+defKeys_len, 6)); -+ defKeys_len = defKeys_len + 6; - - break; - case 'O': -@@ -252,9 +253,16 @@ - memcpy(mp.mpa.abtUid, t.nt.nti.nai.abtUid, sizeof(mp.mpa.abtUid)); - // Iterate over all keys (n = number of keys) - n = sizeof(defaultKeys)/sizeof(defaultKeys[0]); -- for (key = 0; key < n; key++) { -- if (key == 0 && defKey == NULL) ++key; // Custom key not provided, try another key -- memcpy(mp.mpa.abtKey, defaultKeys[key], sizeof(mp.mpa.abtKey)); -+ size_t defKey_bytes_todo = defKeys_len; -+ key = 0; -+ while (key < n) { -+ if (defKey_bytes_todo > 0) { -+ memcpy(mp.mpa.abtKey, defKeys + defKeys_len - defKey_bytes_todo, sizeof(mp.mpa.abtKey)); -+ defKey_bytes_todo -= sizeof(mp.mpa.abtKey); -+ } else { -+ memcpy(mp.mpa.abtKey, defaultKeys[key], sizeof(mp.mpa.abtKey)); -+ key++; -+ } - fprintf(stdout, "[Key: %012llx] -> ", bytes_to_num(mp.mpa.abtKey, 6)); - fprintf(stdout, "["); - i = 0; // Sector counter -@@ -511,22 +519,24 @@ - } - - void usage(FILE * stream, int errno) { -- fprintf(stream, "mfoc %s\n\n", PACKAGE_VERSION); -- fprintf(stream, "usage: mfoc [-h] [-P probnum] [-T tolerance] [-k custom_key] [-O output]\n\n"); -- fprintf(stream, "example: mfoc -O card_dump\n"); -- fprintf(stream, "example: mfoc -k ffffeeeedddd -O card_dump\n"); -- fprintf(stream, "example: mfoc -P 50 -O card_dump\n"); -- fprintf(stream, "\n"); -- fprintf(stream, " h : print this help\n"); --// fprintf(stream, " B : instead of 'A' dump 'B' keys\n"); -- fprintf(stream, " k : use a specified key instead of looking for defaults ones\n"); --// fprintf(stream, " D : number of distance probes, default is 20\n"); --// fprintf(stream, " S : number of sets with keystreams, default is 5\n"); -- fprintf(stream, " P : number of probes for a key recovery for one sector, default is 20\n"); -- fprintf(stream, " T : range for a possible distance tolerance, default is 20 (40 in both direction)\n"); --// fprintf(stream, " s : specify the list of sectors to crack, for example -s 0,1,3,5\n"); -- fprintf(stream, " O : dump file where the revealed keys should be stored\n"); -+ fprintf(stream, "Usage: mfoc [-h] [-k key]... [-P probnum] [-T tolerance] [-O output]\n"); -+ fprintf(stream, "\n"); -+ fprintf(stream, " h print this help and exit\n"); -+// fprintf(stream, " B instead of 'A' dump 'B' keys\n"); -+ fprintf(stream, " k try the specified key in addition to the default keys\n"); -+// fprintf(stream, " D number of distance probes, default is 20\n"); -+// fprintf(stream, " S number of sets with keystreams, default is 5\n"); -+ fprintf(stream, " P number of probes per sector, instead of default of 20\n"); -+ fprintf(stream, " T nonce tolerance half-range, instead of default of 20\n (i.e., 40 for the total range, in both directions)\n"); -+// fprintf(stream, " s specify the list of sectors to crack, for example -s 0,1,3,5\n"); -+ fprintf(stream, " O file in which the card contents will be written (REQUIRED)\n"); -+ fprintf(stream, "\n"); -+ fprintf(stream, "Example: mfoc -O mycard.mfd\n"); -+ fprintf(stream, "Example: mfoc -k ffffeeeedddd -O mycard.mfd\n"); -+ fprintf(stream, "Example: mfoc -P 50 -T 30 -O mycard.mfd\n"); - fprintf(stream, "\n"); -+ fprintf(stream, "This is mfoc version %s.\n", PACKAGE_VERSION); -+ fprintf(stream, "For more information, run: 'man mfoc'.\n"); - exit(errno); - } - -@@ -534,7 +544,7 @@ - // Connect to the first NFC device - r->pdi = nfc_connect(NULL); - if (!r->pdi) { -- ERR ("Unable to connect to NFC device\n"); -+ printf ("No NFC device found.\n"); - exit (EXIT_FAILURE); - } - } -@@ -671,7 +681,7 @@ - exit (EXIT_FAILURE); - } - -- if (!nfc_initiator_transceive_bytes(r.pdi, Auth, 4, Rx, &RxLen)) { -+ if (!nfc_initiator_transceive_bytes(r.pdi, Auth, 4, Rx, &RxLen, NULL)) { - fprintf(stdout, "Error while requesting plain tag-nonce\n"); - exit(EXIT_FAILURE); - } -diff -Nru mfoc-0.10.2/src//mifare.c mfoc/src//mifare.c ---- mfoc-0.10.2/src//mifare.c 2011-04-04 12:38:30.000000000 +0200 -+++ mfoc/src//mifare.c 2012-02-11 02:02:27.028185737 +0100 -@@ -100,7 +100,7 @@ - return false; - } - // Fire the mifare command -- if (!nfc_initiator_transceive_bytes (pnd, abtCmd, 2 + szParamLen, abtRx, &szRx)) { -+ if (!nfc_initiator_transceive_bytes (pnd, abtCmd, 2 + szParamLen, abtRx, &szRx, NULL)) { - if (pnd->iLastError == EINVRXFRAM) { - // "Invalid received frame" AKA EINVRXFRAM, usual means we are - // authenticated on a sector but the requested MIFARE cmd (read, write) -diff -Nru mfoc-0.10.2/src//nfc-utils.c mfoc/src//nfc-utils.c ---- mfoc-0.10.2/src//nfc-utils.c 2011-04-04 12:01:33.000000000 +0200 -+++ mfoc/src//nfc-utils.c 2012-02-11 02:02:27.028185737 +0100 -@@ -608,6 +608,51 @@ - } - - void -+print_nfc_iso14443bi_info (const nfc_iso14443bi_info_t nii, bool verbose) -+{ -+ printf (" DIV: "); -+ print_hex (nii.abtDIV, 4); -+ if (verbose) { -+ int version = (nii.btVerLog & 0x1e)>>1; -+ printf (" Software Version: "); -+ if (version == 15) { -+ printf ("Undefined\n"); -+ } else { -+ printf ("%i\n", version); -+ } -+ -+ if ((nii.btVerLog & 0x80) && (nii.btConfig & 0x80)){ -+ printf (" Wait Enable: yes"); -+ } -+ } -+ if ((nii.btVerLog & 0x80) && (nii.btConfig & 0x40)) { -+ printf (" ATS: "); -+ print_hex (nii.abtAtr, nii.szAtrLen); -+ } -+} -+ -+void -+print_nfc_iso14443b2sr_info (const nfc_iso14443b2sr_info_t nsi, bool verbose) -+{ -+ (void) verbose; -+ printf (" UID: "); -+ print_hex (nsi.abtUID, 8); -+} -+ -+void -+print_nfc_iso14443b2ct_info (const nfc_iso14443b2ct_info_t nci, bool verbose) -+{ -+ (void) verbose; -+ uint32_t uid; -+ uid = (nci.abtUID[3] << 24) + (nci.abtUID[2] << 16) + (nci.abtUID[1] << 8) + nci.abtUID[0]; -+ printf (" UID: "); -+ print_hex (nci.abtUID, sizeof(nci.abtUID)); -+ printf (" UID (decimal): %010u\n", uid); -+ printf (" Product Code: %02X\n", nci.btProdCode); -+ printf (" Fab Code: %02X\n", nci.btFabCode); -+} -+ -+void - print_nfc_dep_info (const nfc_dep_info_t ndi, bool verbose) - { - (void) verbose; -@@ -651,8 +696,7 @@ - strcpy (pndd->pcDriver, strtok (buffer, ":")); - - // Port. -- pndd->pcPort = (char *) malloc (256); -- strcpy (pndd->pcPort, strtok (NULL, ":")); -+ strcpy (pndd->acPort, strtok (NULL, ":")); - - // Speed. - sscanf (strtok (NULL, ":"), "%u", &pndd->uiSpeed); -@@ -712,6 +756,18 @@ - printf ("ISO/IEC 14443-4B (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr)); - print_nfc_iso14443b_info (nt.nti.nbi, verbose); - break; -+ case NMT_ISO14443BI: -+ printf ("ISO/IEC 14443-4B' (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr)); -+ print_nfc_iso14443bi_info (nt.nti.nii, verbose); -+ break; -+ case NMT_ISO14443B2SR: -+ printf ("ISO/IEC 14443-2B ST SRx (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr)); -+ print_nfc_iso14443b2sr_info (nt.nti.nsi, verbose); -+ break; -+ case NMT_ISO14443B2CT: -+ printf ("ISO/IEC 14443-2B ASK CTx (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr)); -+ print_nfc_iso14443b2ct_info (nt.nti.nci, verbose); -+ break; - case NMT_DEP: - printf ("D.E.P. (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr)); - print_nfc_dep_info (nt.nti.ndi, verbose); diff --git a/net-wireless/mfoc/mfoc-0.10.2.ebuild b/net-wireless/mfoc/mfoc-0.10.2.ebuild deleted file mode 100644 index e5cfe04e..00000000 --- a/net-wireless/mfoc/mfoc-0.10.2.ebuild +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=3 - -inherit eutils autotools - -DESCRIPTION="Mifare Classic Offline Cracker" -HOMEPAGE="https://code.google.com/p/nfc-tools/wiki/mfoc" -SRC_URI="https://nfc-tools.googlecode.com/files/mfoc-0.10.2.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -DEPEND="" -RDEPEND="${DEPEND}" - -src_prepare() { - epatch "${FILESDIR}"/${PN}-libnfc-1.5.1.patch || die - eautoreconf -} - -src_install() { - DESTDIR="${D}" emake install || die -} diff --git a/net-wireless/nfcd/Manifest b/net-wireless/nfcd/Manifest deleted file mode 100644 index 96f6d3f7..00000000 --- a/net-wireless/nfcd/Manifest +++ /dev/null @@ -1 +0,0 @@ -EBUILD nfcd-9999.ebuild 594 RMD160 a6943b9f5f2292e86ee46819b96a5e0a846b3274 SHA1 8243c5dd876cb14a64215f25480f5c390556b5ea SHA256 9fb7ad7c8d90883cb857a161b9b2dd0a29ba1abcd38bd350e278e5ac15dca781 diff --git a/net-wireless/nfcd/nfcd-9999.ebuild b/net-wireless/nfcd/nfcd-9999.ebuild deleted file mode 100644 index 38a25e14..00000000 --- a/net-wireless/nfcd/nfcd-9999.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=3 - -inherit cmake-utils subversion -DESCRIPTION="a daemon which access NFC Devices and Targets" -HOMEPAGE="https://code.google.com/p/nfc-tools/wiki/nfcd" -SRC_URI="" -ESVN_REPO_URI="http://nfc-tools.googlecode.com/svn/trunk/nfcd" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -DEPEND="dev-libs/libndev - net-wireless/libfreefare - dev-libs/libnfc" -RDEPEND="${DEPEND}" - -src_install() { - cmake-utils_src_install - insinto /etc/dbus-1/system.d/ - doins nfcd.conf || die -} diff --git a/net-wireless/op25/Manifest b/net-wireless/op25/Manifest deleted file mode 100644 index 1208f361..00000000 --- a/net-wireless/op25/Manifest +++ /dev/null @@ -1 +0,0 @@ -EBUILD op25-9999.ebuild 1347 SHA256 02e2e0543124bb358efe493ef8a8502aeac9bcddb8eb92125aa8f951528b9f85 SHA512 46e7fabf56aee6a899e54a30954085eabcdc82c00fdd9f03eaace704138bb2e2acef29ddf8dedbfe2d9eb4db261d785f0516235b019356d80c3a97b7d92ff14b WHIRLPOOL 2622e6c2ee06a96fe402952202d3124bb2d712d1ee67f707db713ba90632f64fcc7ea7ead80448a2613caceeb4ad27db4d344b948371105de61b8c2efd5d21db diff --git a/net-wireless/op25/op25-9999.ebuild b/net-wireless/op25/op25-9999.ebuild deleted file mode 100644 index 716f0d91..00000000 --- a/net-wireless/op25/op25-9999.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=4 - -PYTHON_DEPEND="2" - -inherit subversion autotools python - -DESCRIPTION="software-defined analyzer for APCO P25 signals" -HOMEPAGE="http://op25.osmocom.org/wiki" -ESVN_REPO_URI="http://op25.osmocom.org/svn/trunk" - -LICENSE="GPL" -SLOT="0" -KEYWORDS="-*" -IUSE="" - -DEPEND="net-wireless/gnuradio - sci-libs/itpp - dev-libs/boost - net-libs/libpcap" -RDEPEND="${DEPEND}" - -pkg_setup() { - python_set_active_version 2 - python_pkg_setup -} - -src_prepare() { - cd "${S}"/blocks - #eautoreconf - ./bootstrap - - cd "${S}"/imbe_vocoder - #eautoreconf - ./bootstrap - - cd "${S}"/repeater - #eautoreconf - ./bootstrap -} - -src_configure() { - cd "${S}"/blocks - econf - - cd "${S}"/imbe_vocoder - econf - - cd "${S}"/repeater - econf -} -src_compile() { - cd "${S}"/blocks - sed -i 's#-I$(GNURADIO_CORE_INCLUDEDIR)/swig#-I$(GNURADIO_CORE_INCLUDEDIR)/swig -I$(includedir)/gruel/swig#' Makefile.common - emake - - cd "${S}"/imbe_vocoder - emake - - cd "${S}"/repeater - sed -i 's#-I$(GNURADIO_CORE_INCLUDEDIR)/swig#-I$(GNURADIO_CORE_INCLUDEDIR)/swig -I$(includedir)/gruel/swig#' Makefile.common - emake -} -src_install() { - cd "${S}"/blocks - emake DESTDIR="${ED}" install - - cd "${S}"/imbe_vocoder - emake DESTDIR="${ED}" install - - cd "${S}"/repeater - emake DESTDIR="${ED}" install -} diff --git a/net-wireless/prism54/ChangeLog b/net-wireless/prism54/ChangeLog deleted file mode 100644 index 737b8ac1..00000000 --- a/net-wireless/prism54/ChangeLog +++ /dev/null @@ -1,49 +0,0 @@ -# ChangeLog for net-wireless/prism54 -# Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /root/portage/net-wireless/prism54/ChangeLog,v 1.1.1.1 2006/03/22 23:30:35 grimmlin Exp $ - -*prism54-20050724 - - 22 mar 2006; Michael Zanetta <grimmlin@pentoo.ch> - prism54-20050724.ebuild: Added injection patch, - removed version check - files/prism54-svn-20050724.patch: Added injection patch - - 04 Jul 2005; Stefan Schweizer <genstef@gentoo.org> - prism54-20050125.ebuild: - sys-apps/pcmcia-cs -> virtual/pcmcia(linux-mod.eclass) - -*prism54-20050125 (25 Jan 2005) - - 25 Jan 2005; Stefan Schweizer <genstef@gentoo.org> - -prism54-20040208.ebuild, +prism54-20050125.ebuild: - Version bump thanks to Scott Paul Robertson <spr5@email.byu.edu> and Josh - Nichols <nichoj@rpi.edu> in bug 71632 - - 03 Jan 2005; Stefan Schweizer <genstef@gentoo.org> - prism54-20040208.ebuild: - Adding block to avoid file collision with prism54-firmware - - 02 Jan 2005; Daniel Drake <dsd@gentoo.org> prism54-20040208.ebuild: - Change virtual/kernel to virtual/linux-sources - - 07 Jun 2004; Aron Griffis <agriffis@gentoo.org> prism54-20040208.ebuild: - Fix typo and check - - 24 Feb 2004; Peter Johanson <latexer@gentoo.org> prism54-20040208.ebuild: - Fixed the location of the firmware file. bug #41956 - - 09 Feb 2004; Peter Johanson <latexer@gentoo.org> prism54-20040208.ebuild: - Change installation location to where prism54 people put it. - - 08 Feb 2004; Peter Johanson <latexer@gentoo.org> prism54-20040208.ebuild: - Added wireless-tools RDEPEND and info about module versioning. - -*prism54-20040208 (08 Feb 2004) - - 08 Feb 2004; Peter Johanson <latexer@gentoo.org> metadata.xml, - prism54-20040208.ebuild: - Initial commit. Thanks to all in bug #40574 for the help. For now, not - mirroring the firmware image until we know if we can. As usual, disable - sandbox to emerge with 2.6 kernels until bug #32737 is resolved. - diff --git a/net-wireless/prism54/Manifest b/net-wireless/prism54/Manifest deleted file mode 100644 index 8b8a4139..00000000 --- a/net-wireless/prism54/Manifest +++ /dev/null @@ -1,5 +0,0 @@ -AUX prism54-svn-20050724.patch 459 RMD160 b17c8f93fbe41a36f447414a58d91ee5c95bcc4d SHA1 4cc5a436f228940ab7fd453d0dd56e1f19a9f756 SHA256 fab08b80be596aee2b7a63790733f12a2355e3a05c57baa2e9017d897547f3fc -DIST prism54-svn-20050724.tgz 92567 RMD160 fb6296fa508deb432997b3f0a92e5e069682bc52 SHA1 b1f8d369f8fd0ecadcac8e8c9c2632cd8f59b834 SHA256 bf988fe0d5fb400aa66478f5277e0e4438ac74ebe0724cdf9aaf45d4a8d6c9e0 -EBUILD prism54-20050724.ebuild 1511 RMD160 02c0a48a9d20b0d395f04169e071593be8fe7ffb SHA1 b9fe2d51af46002aada318a00d606592b4ca1bd5 SHA256 965e3256012d1aba92812f457d1b7ff93987d422d7270cce33f5898c93d97704 -MISC ChangeLog 1920 RMD160 422d421f8f15a530d293ea42eda014d54624c84d SHA1 71ed2c2896de4404acceb76d243030f09496cf0a SHA256 b787085201ad9f55f17321aa20d5dc977514a6f8016c9685af657c395bf5d4d3 -MISC metadata.xml 417 RMD160 9bcd8b5bc8b9ac5ace586a62a0c00b8df0d4d574 SHA1 4bccfbc845c5560cc937c0421a30a22a77f17f53 SHA256 3b334668cd4186209045d3ca8ebac10e0de886c6eff6af4a722f6f27104dc983 diff --git a/net-wireless/prism54/files/digest-prism54-20050724 b/net-wireless/prism54/files/digest-prism54-20050724 deleted file mode 100644 index 9fb0179f..00000000 --- a/net-wireless/prism54/files/digest-prism54-20050724 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 898440160410baa17d0bdf51439a1ee6 prism54-svn-20050724.tgz 92567 -RMD160 fb6296fa508deb432997b3f0a92e5e069682bc52 prism54-svn-20050724.tgz 92567 -SHA256 bf988fe0d5fb400aa66478f5277e0e4438ac74ebe0724cdf9aaf45d4a8d6c9e0 prism54-svn-20050724.tgz 92567 diff --git a/net-wireless/prism54/files/prism54-svn-20050724.patch b/net-wireless/prism54/files/prism54-svn-20050724.patch deleted file mode 100755 index aa15cb4a..00000000 --- a/net-wireless/prism54/files/prism54-svn-20050724.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -ur ../prism54-svn-20050724/ksrc/islpci_dev.c ./ksrc/islpci_dev.c ---- ../prism54-svn-20050724/ksrc/islpci_dev.c 2005-03-08 16:32:34.000000000 +0100 -+++ ./ksrc/islpci_dev.c 2005-07-26 18:56:40.000000000 +0200 -@@ -758,9 +758,6 @@ - pci_unmap_single(priv->pdev, buf->pci_addr, - MGMT_FRAME_SIZE, PCI_DMA_FROMDEVICE); - buf->pci_addr = 0; -- if (buf->skb) -- dev_kfree_skb(buf->skb); -- buf->skb = NULL; - } - - /* clean up data rx buffers */ diff --git a/net-wireless/prism54/metadata.xml b/net-wireless/prism54/metadata.xml deleted file mode 100644 index fb5c54c1..00000000 --- a/net-wireless/prism54/metadata.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> -<herd>mobile</herd> -<maintainer> - <email>latexer@gentoo.org</email> - <name>Peter Johanson</name> - <description>I don't own any cards with this chipset yet. Feel free to send me one if you want this package more actively maintained by yours truly.</description> -</maintainer> -</pkgmetadata> diff --git a/net-wireless/prism54/prism54-20050724.ebuild b/net-wireless/prism54/prism54-20050724.ebuild deleted file mode 100644 index 7db6c339..00000000 --- a/net-wireless/prism54/prism54-20050724.ebuild +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /root/portage/net-wireless/prism54/prism54-20050724.ebuild,v 1.1.1.1 2006/03/22 23:30:35 grimmlin Exp $ - -EAPI="2" - -inherit linux-mod - -MY_P=${P/prism54-/prism54-svn-} -S=${WORKDIR}/${MY_P} -DESCRIPTION="Driver for Intersil Prism GT / Prism Duette wireless chipsets with injection patch" -HOMEPAGE="http://prism54.org/" -SRC_URI="http://www.pentoo.ch/distfiles/${MY_P}.tgz" -LICENSE="GPL-2" -KEYWORDS="~x86" -IUSE="pcmcia" -RDEPEND="net-wireless/prism54-firmware - net-wireless/wireless-tools" - -MODULE_NAMES="prism54(net:${S}/ksrc)" -BUILD_PARAMS="KVER=${KV_FULL} KDIR=${KV_DIR}" -BUILD_TARGETS="modules" - -CONFIG_CHECK="!PRISM54 NET_RADIO FW_LOADER" -PRISM54_ERROR="You need prism54-firmware for the in-kernel driver or deselect -the in-kernel driver to use the (probably older) driver from this ebuild." -NET_RADIO_ERROR='You should enable "Wireless LAN drivers (non-hamradio) & -Wireless Extensions"[CONFIG_NET_RADIO] in your kernel config' -FW_LOADER_ERROR="Make sure you have CONFIG_FW_LOADER enabled in your kernel." - -use pcmcia && CONFIG_CHECK="${CONFIG_CHECK} PCMCIA CARDBUS" -PCMCIA_ERROR=CARDBUS_ERROR="General setup ---> - PCMCIA/CardBus support ---> - PCMCIA/CardBus support (m or y) - [*] CardBus support (Important!)" - -pkg_setup() { - linux-mod_pkg_setup -} - -src_prepare() { - epatch "${FILESDIR}"/prism54-svn-20050724.patch -} - -src_install() { - linux-mod_src_install - dodoc README ksrc/ChangeLog -} diff --git a/net-wireless/ralink-firmware/Manifest b/net-wireless/ralink-firmware/Manifest deleted file mode 100644 index 73f4fdff..00000000 --- a/net-wireless/ralink-firmware/Manifest +++ /dev/null @@ -1,5 +0,0 @@ -DIST RT2860_Firmware_V11.zip 3891 RMD160 39db94a4856ffc5c71cdeedf8c53b98424eb3894 SHA1 88fa25ab729c7e3b5486d8ee6bb5dc9fc10335be SHA256 c178de118a1b71ef1578650b5ad12c969d3b5fd2bb7bb18fec7382e8dd9d7c6a -DIST RT2870_Firmware_V8.zip 2641 RMD160 dbb898bd4294904e9680f5f011240c336be4e9b1 SHA1 f5996f92373b69e3523da3dbc5565279ad960d44 SHA256 b2c70b20c880170110cb09af154e680961f83d45f6d1c2118c28806bcbd703b4 -DIST RT61_Firmware_V1.2.zip 13937 RMD160 6a6c5e85d7d56c0a6aac5ad528baae356bda269d SHA1 8a50899160d1ef1cd9770e4f0426930fb2b42a1b SHA256 481f113c505ed186049287bd8e9ad8fcb8dbbb32f3bb718f04e4dc148b63c8e4 -DIST RT71W_Firmware_V1.8.zip 2679 RMD160 ffc588f9cd49b3f49b3d4087d097ea4f26ee075d SHA1 51541bec5cf2fe6ff46e46a0bb157b774d2ff050 SHA256 e2d3ac1aaf4815e0c9531bc3fb7f56f30604cd52351332f1f8d6a28bb9a953bf -EBUILD ralink-firmware-20090213.ebuild 1012 RMD160 a68eb8d713cdd18361f17e9d9653cd9364f70e6e SHA1 a1031ffa23e06a55c4bbf769327f55b5d80c8f0c SHA256 9ba23c98944f084d0c0742a2ebc693b5a95539214bf55fd694522d5979bef388 diff --git a/net-wireless/ralink-firmware/ralink-firmware-20090213.ebuild b/net-wireless/ralink-firmware/ralink-firmware-20090213.ebuild deleted file mode 100644 index 2bcb85f8..00000000 --- a/net-wireless/ralink-firmware/ralink-firmware-20090213.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -DESCRIPTION="All publicly released Ralink Firmware files from their website" -HOMEPAGE="http://www.ralinktech.com/ralink/Home/Support/Linux.html" -SRC_URI="http://www.ralinktech.com.tw/data/RT61_Firmware_V1.2.zip - http://www.ralinktech.com.tw/data/RT71W_Firmware_V1.8.zip - http://www.ralinktech.com.tw/data/drivers/RT2870_Firmware_V8.zip - http://www.ralinktech.com.tw/data/drivers/RT2860_Firmware_V11.zip" - -LICENSE="Ralink" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="|| ( >=sys-fs/udev-096 >=sys-apps/hotplug-20040923 ) - app-arch/unzip" - -src_compile() { - einfo "nothing to compile" -} - -src_install() { - S="${WORKDIR}" - insinto /lib/firmware - doins "${S}"/RT2860_Firmware_V11/*.bin - doins "${S}"/RT61_Firmware_V1.2/*.bin - doins "${S}"/RT2870_Firmware_V8/*.bin - doins "${S}"/RT71W_Firmware_V1.8/*.bin - dodoc "${S}"/RT2860_Firmware_V11/LICENSE.ralink-firmware.txt || die "dodoc failed" -} diff --git a/net-wireless/reaver/ChangeLog b/net-wireless/reaver/ChangeLog deleted file mode 100644 index ba0bca66..00000000 --- a/net-wireless/reaver/ChangeLog +++ /dev/null @@ -1,10 +0,0 @@ -# ChangeLog for net-wireless/reaver -# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/reaver/ChangeLog,v 1.1 2012/05/15 19:39:11 maksbotan Exp $ - -*reaver-1.4 (15 May 2012) - - 15 May 2012; Maxim Koltsov <maksbotan@gentoo.org> +metadata.xml, - +reaver-1.4.ebuild: - Add net-wireless/reaver, thanks to Oleg Kravchenko - diff --git a/net-wireless/reaver/Manifest b/net-wireless/reaver/Manifest deleted file mode 100644 index 67732757..00000000 --- a/net-wireless/reaver/Manifest +++ /dev/null @@ -1,12 +0,0 @@ -AUX 0001-wpscrack-big-endian-fixes.patch 21117 SHA256 dd44a966424a5c207db5658374ce68232a7a3cacdcce90772f7c610c441c7d26 SHA512 e6de886ba2f63cee8fd9324c512e5060164fe5eef35633b105ccb5aea11bbf1f3d43ca5b84a81b6312085d03be098945d231655dab4beb5719f45abfdb128f17 WHIRLPOOL adf26ab9c6ee24c44556e77d82fe42d869d44ac42f36becc4f6e95af0de680fa23de6caf81c612af0d723f20a585ea242d1fb1fba97efee952350d465b06001b -AUX 0002-Use-the-current-directory-for-storing-and-loading-se.patch 1672 SHA256 8decc8453936f10df1ec5af8ce5322c527853ed7fde3fccf2996d92f64ecc691 SHA512 3fa5ba7e0b3784bfe4d28efa63dd9ef64d496c33d6538d38fc867c669ac978d1a4512334a1103eb9bf0f898e12b839dbe287bddad6238f54979b17ba0ffd095e WHIRLPOOL a944fecee470fc57fe2211a335d08ead2a7976839b7da2159b49929e93c1d2027ca64b0ad8ed49bb4ceeed67ed1407f7a1d626316ca536d1972aeb4e540e22a6 -AUX 0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch 1604 SHA256 02ecd27516806917d2970d67f408139f50644bb3bdfed94300ea4703e295b468 SHA512 8960223cf5f84a7b999b2b79d195d2b5e690dd66338f97549a931df9b4156823190b03f37702317fb3af6aac91712b46866dba955b0ee60f6dd4a3630f1b7fd5 WHIRLPOOL 8f4335d3786e893ceedf6a6949903b6fecd29566746ccb4fd95e57236195ea23fa68548e769d1e1cbd3ac2e8cfca2167b99242d7a3a086460f47676ce9191df4 -AUX 0004-wash-probe-request.patch 687 SHA256 66b27d18353ba85612dfd4806a730ca004027a86b80de5bc8a0c869800e429a9 SHA512 cdf1bf370b2915dd87afe93aa8df4db0ad9124eb076ce1398a384afe1b5e66c9499c891857b21ec7897d0d52a1fea0ad635163d796eca981db7956d8bb7c7c6e WHIRLPOOL ae381d3598721151beed7eef46678e0208baf64905bb1200eda547be7d500ea7d6a9cd27033385982cea0b117bca167848f6c5fd93808000ec792f95b10a04e8 -AUX 0005-soreau-show-status-r2.patch 2378 SHA256 ff0b84b2c31fe69a990a2a3b2a161fd83d6b05d9fafc27cbe61d76e2862c5f82 SHA512 558c1c393276bb5c65ef8a32e9b0cdbd1cf55c08a11ddcfdd73f90a901a709f2306d89f2eeab509f97478f9807401784fcb1bad0159c97b1f64f85701cfbab6a WHIRLPOOL c6b180ed58ae5bfbfa62ffbfef2ba812c0d8ee54a52520c98411a0aad4fac6ad2ea9f9a76663e6781af00f324573c52b4381157cc9867ca1a1db505b66821523 -AUX 0005-soreau-show-status.patch 2378 SHA256 0c7ef676d989139b599da93de20586bc78a8f18208696ff3b76144791720fbe7 SHA512 9211353efe8c47defe924b2afce2f3412089ce810bbe48e8dbf47b7a648972d09ef74b9d1ca2de907975bb28b5aace70d86c1656b326e65d0298f023a5bb0936 WHIRLPOOL cda5ddcc3a976b2d9519ffe4ecc2c870caebd4a5daa62f6ce130e84338e843eb01efb36dce0c63ebb1197f4daecd99921cca9473809a94e5006be73f2f6acb7f -DIST reaver-1.4.tar.gz 766603 SHA256 add3050a4a05fe0ab6bfb291ee2de8e9b8a85f1e64ced93ee27a75744954b22d SHA512 59f2d6f8aa6228988ce5d1c102d9a48b2a23e582ff3d9afe39d7c9717b7e4be059362fdd21a3e5f5d59948df1a7616acdaa6df20f139e9c5aa9bd673f764dfbc WHIRLPOOL 5b8a91fe97bf08d6dc544b41dd04baedb9488d574e9a0695d8babeb34a9fa5acc81cfc86899c600b12b445cb83887dfbb18517f2ebbd5d34ab27e8c9ce428e38 -EBUILD reaver-1.4-r1.ebuild 840 SHA256 81c5f8f881ed104f4aa3e3e9128db188735e1679eb1e311a34c160281886efbf SHA512 4beab059d5ac2de4bd45e7382f9e67c1387fd984c8dba6efe0789528123b665b29d6f3874ad2dd4a4c4366a1c4d0fc3f06a09da158ed91aef5ea56390c4b1a2d WHIRLPOOL cb8016ade89e0f0b4b72be9507552305a5496c650555e34b016628f1841bcb26d9474be955871875cb9c535b07825b46f8501b65060258b6fb625576164e239c -EBUILD reaver-1.4-r2.ebuild 933 SHA256 33130d270a2862b91f3893d9a91bf4bf7cea4368357c7fc38205330b69a0a57a SHA512 2653ed7172b1f4fd068ed75c9adaa0a6d3161e014c5a65fdc35f598683b0e97bdddeca7635dde1f0b0b03f7c431b07a09d1770132c0c5199cd0a37c6bc9f5879 WHIRLPOOL 82bb0adf3f85ba886e389bcb2708d1a942cb22a8c0ff7529d0044c6ebd87c6b1b5eaea89a79571120d4a0f0ba469732009f0cc0f37d41fb8c7971bb630fe2681 -EBUILD reaver-1.4-r3.ebuild 954 SHA256 2ba94abd0d367d5faa1283490b4e92b857e2389c26b5f5d980c39d26064a233e SHA512 d2124d31311aad3779f3ceba76ef649c72c63d5f57051d1db31ea57b4eaa8330c04bd605ae07bb8c9beca72f90386d19e0d576fc8093342bb3e59b7f6f9d8d31 WHIRLPOOL 9a9af4a366fc6f7d6e78da4e26975467461327838fc207ea6234a9b5a22cfd9cbcb365352b3985501150cd1e1ce80dc9a3fa8e77a01cedd5ce953370b58c59c7 -MISC ChangeLog 384 SHA256 75ed384fee5277726aba559464ada1975a27228860de9856bb8ea5b1d2f0e610 SHA512 46e5da5e6b98546f0f4ef77af00fb48ef0a293bc6935648e63a571caae6d605b20eaf3ea9c5763fa4848a7a6343fb047820e46925cf56bcb1063c35d304672bb WHIRLPOOL 3e0eb8f278eb5c0e78618a1da83767dc9448aab6aedd7064b5fecc4bb75fc0ad657750e74f0adc1953cb634d0f18b45b2c9f865f9fcb99a7536d12d5dfb371ce -MISC metadata.xml 249 SHA256 47ff8178840f738d37ca36d24fd9ec2823cd324e7510fc69a25621824f69e302 SHA512 fbca9bfde0fceeb77572d70902f1c76e4e132f7c0717a9cf4d4d1da37fafa08fd6d2df521a00fc6a9595f21141a6c8a21366afbadb950eb54f8480b498a41e65 WHIRLPOOL e0254e45cbd140b5ff3592720a06479367f3d769ef7ad3d7a0766f2db22706edebbf974b5926cef6add2b55e6bad0f698b9ec316c7a9fa53cdbee12bd7e13121 diff --git a/net-wireless/reaver/files/0001-wpscrack-big-endian-fixes.patch b/net-wireless/reaver/files/0001-wpscrack-big-endian-fixes.patch deleted file mode 100644 index da76c2e3..00000000 --- a/net-wireless/reaver/files/0001-wpscrack-big-endian-fixes.patch +++ /dev/null @@ -1,565 +0,0 @@ -From 4e7af9f022996cb0a03b30f6af265b757807dfa2 Mon Sep 17 00:00:00 2001 -From: Paul Fertser <fercerpav@gmail.com> -Date: Wed, 27 Jun 2012 17:44:55 +0400 -Subject: [PATCH 1/3] wpscrack: big-endian fixes - -This should fix access to the radiotap, 802.11, LLC/SNAP and WFA -headers' fields. Run-time tested on an ar71xx BE system. - -Signed-off-by: Paul Fertser <fercerpav@gmail.com> ---- - src/80211.c | 65 +++++++++++++++++++------------ - src/builder.c | 23 +++++------ - src/defs.h | 116 +++++++++++++++++++++++++++++++++++++++----------------- - src/exchange.c | 23 ++++++----- - src/wpsmon.c | 13 ++++-- - 5 files changed, 151 insertions(+), 89 deletions(-) - -diff --git a/src/80211.c b/src/80211.c -index c2aff59..19f1e92 100644 ---- a/src/80211.c -+++ b/src/80211.c -@@ -90,17 +90,19 @@ void read_ap_beacon() - if(header.len >= MIN_BEACON_SIZE) - { - rt_header = (struct radio_tap_header *) radio_header(packet, header.len); -- frame_header = (struct dot11_frame_header *) (packet + rt_header->len); -- -+ size_t rt_header_len = __le16_to_cpu(rt_header->len); -+ frame_header = (struct dot11_frame_header *) (packet + rt_header_len); -+ - if(is_target(frame_header)) - { -- if(frame_header->fc.type == MANAGEMENT_FRAME && frame_header->fc.sub_type == SUBTYPE_BEACON) -+ if((frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == -+ __cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_BEACON)) - { -- beacon = (struct beacon_management_frame *) (packet + rt_header->len + sizeof(struct dot11_frame_header)); -+ beacon = (struct beacon_management_frame *) (packet + rt_header_len + sizeof(struct dot11_frame_header)); - set_ap_capability(beacon->capability); - - /* Obtain the SSID and channel number from the beacon packet */ -- tag_offset = rt_header->len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame); -+ tag_offset = rt_header_len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame); - channel = parse_beacon_tags(packet, header.len); - - /* If no channel was manually specified, switch to the AP's current channel */ -@@ -135,29 +137,31 @@ int8_t signal_strength(const u_char *packet, size_t len) - { - header = (struct radio_tap_header *) packet; - -- if((header->flags & SSI_FLAG) == SSI_FLAG) -+ uint32_t flags = __le32_to_cpu(header->flags); -+ -+ if((flags & SSI_FLAG) == SSI_FLAG) - { -- if((header->flags & TSFT_FLAG) == TSFT_FLAG) -+ if((flags & TSFT_FLAG) == TSFT_FLAG) - { - offset += TSFT_SIZE; - } - -- if((header->flags & FLAGS_FLAG) == FLAGS_FLAG) -+ if((flags & FLAGS_FLAG) == FLAGS_FLAG) - { - offset += FLAGS_SIZE; - } - -- if((header->flags & RATE_FLAG) == RATE_FLAG) -+ if((flags & RATE_FLAG) == RATE_FLAG) - { - offset += RATE_SIZE; - } - -- if((header->flags & CHANNEL_FLAG) == CHANNEL_FLAG) -+ if((flags & CHANNEL_FLAG) == CHANNEL_FLAG) - { - offset += CHANNEL_SIZE; - } - -- if((header->flags & FHSS_FLAG) == FHSS_FLAG) -+ if((flags & FHSS_FLAG) == FHSS_FLAG) - { - offset += FHSS_FLAG; - } -@@ -196,11 +200,13 @@ int is_wps_locked() - if(header.len >= MIN_BEACON_SIZE) - { - rt_header = (struct radio_tap_header *) radio_header(packet, header.len); -- frame_header = (struct dot11_frame_header *) (packet + rt_header->len); -+ size_t rt_header_len = __le16_to_cpu(rt_header->len); -+ frame_header = (struct dot11_frame_header *) (packet + rt_header_len); - - if(memcmp(frame_header->addr3, get_bssid(), MAC_ADDR_LEN) == 0) - { -- if(frame_header->fc.type == MANAGEMENT_FRAME && frame_header->fc.sub_type == SUBTYPE_BEACON) -+ if((frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == -+ __cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_BEACON)) - { - if(parse_wps_parameters(packet, header.len, &wps)) - { -@@ -411,24 +417,30 @@ int associate_recv_loop() - if(header.len >= MIN_AUTH_SIZE) - { - rt_header = (struct radio_tap_header *) radio_header(packet, header.len); -- dot11_frame = (struct dot11_frame_header *) (packet + rt_header->len); -+ size_t rt_header_len = __le16_to_cpu(rt_header->len); -+ dot11_frame = (struct dot11_frame_header *) (packet + rt_header_len); - - if((memcmp(dot11_frame->addr3, get_bssid(), MAC_ADDR_LEN) == 0) && - (memcmp(dot11_frame->addr1, get_mac(), MAC_ADDR_LEN) == 0)) - { -- if(dot11_frame->fc.type == MANAGEMENT_FRAME) -+ if((dot11_frame->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE)) == -+ __cpu_to_le16(IEEE80211_FTYPE_MGMT)) - { -- auth_frame = (struct authentication_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header->len); -- assoc_frame = (struct association_response_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header->len); -+ auth_frame = (struct authentication_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header_len); -+ assoc_frame = (struct association_response_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header_len); - - /* Did we get an authentication packet with a successful status? */ -- if((dot11_frame->fc.sub_type == SUBTYPE_AUTHENTICATION) && (auth_frame->status == AUTHENTICATION_SUCCESS)) -+ if((dot11_frame->fc & __cpu_to_le16(IEEE80211_FCTL_STYPE)) == -+ __cpu_to_le16(IEEE80211_STYPE_AUTH) -+ && (auth_frame->status == __cpu_to_le16(AUTHENTICATION_SUCCESS))) - { - ret_val = AUTH_OK; - break; - } - /* Did we get an association packet with a successful status? */ -- else if((dot11_frame->fc.sub_type == SUBTYPE_ASSOCIATION) && (assoc_frame->status == ASSOCIATION_SUCCESS)) -+ else if((dot11_frame->fc & __cpu_to_le16(IEEE80211_FCTL_STYPE)) == -+ __cpu_to_le16(IEEE80211_STYPE_ASSOC_RESP) -+ && (assoc_frame->status == __cpu_to_le16(ASSOCIATION_SUCCESS))) - { - ret_val = ASSOCIATE_OK; - break; -@@ -455,13 +467,14 @@ enum encryption_type supported_encryption(const u_char *packet, size_t len) - if(len > MIN_BEACON_SIZE) - { - rt_header = (struct radio_tap_header *) radio_header(packet, len); -- beacon = (struct beacon_management_frame *) (packet + rt_header->len + sizeof(struct dot11_frame_header)); -- offset = tag_offset = rt_header->len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame); -+ size_t rt_header_len = __le16_to_cpu(rt_header->len); -+ beacon = (struct beacon_management_frame *) (packet + rt_header_len + sizeof(struct dot11_frame_header)); -+ offset = tag_offset = rt_header_len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame); - - tag_len = len - tag_offset; - tag_data = (const u_char *) (packet + tag_offset); - -- if((beacon->capability & CAPABILITY_WEP) == CAPABILITY_WEP) -+ if((__le16_to_cpu(beacon->capability) & CAPABILITY_WEP) == CAPABILITY_WEP) - { - enc = WEP; - -@@ -509,7 +522,7 @@ int parse_beacon_tags(const u_char *packet, size_t len) - struct radio_tap_header *rt_header = NULL; - - rt_header = (struct radio_tap_header *) radio_header(packet, len); -- tag_offset = rt_header->len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame); -+ tag_offset = __le16_to_cpu(rt_header->len) + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame); - - if(tag_offset < len) - { -@@ -548,7 +561,7 @@ int parse_beacon_tags(const u_char *packet, size_t len) - { - if(ie_len == 1) - { -- memcpy((int *) &channel, channel_data, ie_len); -+ channel = *(uint8_t*)channel_data; - } - free(channel_data); - } -@@ -603,13 +616,13 @@ int check_fcs(const u_char *packet, size_t len) - if(len > 4) - { - /* Get the packet's reported FCS (last 4 bytes of the packet) */ -- memcpy((uint32_t *) &fcs, (packet + (len-4)), 4); -+ fcs = __le32_to_cpu(*(uint32_t*)(packet + (len-4))); - - /* FCS is not calculated over the radio tap header */ - if(has_rt_header()) - { - rt_header = (struct radio_tap_header *) packet; -- offset += rt_header->len; -+ offset += __le16_to_cpu(rt_header->len); - } - - if(len > offset) -diff --git a/src/builder.c b/src/builder.c -index 37f2de7..6bf89e7 100644 ---- a/src/builder.c -+++ b/src/builder.c -@@ -44,9 +44,8 @@ const void *build_radio_tap_header(size_t *len) - memset((void *) buf, 0, sizeof(struct radio_tap_header)); - rt_header = (struct radio_tap_header *) buf; - -- rt_header->len = sizeof(struct radio_tap_header); -- -- *len = rt_header->len; -+ *len = sizeof(struct radio_tap_header); -+ rt_header->len = __cpu_to_le16(*len); - } - - return buf; -@@ -67,9 +66,9 @@ const void *build_dot11_frame_header(uint16_t fc, size_t *len) - - frag_seq += SEQ_MASK; - -- header->duration = DEFAULT_DURATION; -- memcpy((void *) &header->fc, (void *) &fc, sizeof(struct frame_control)); -- header->frag_seq = frag_seq; -+ header->duration = __cpu_to_le16(DEFAULT_DURATION); -+ header->fc = __cpu_to_le16(fc); -+ header->frag_seq = __cpu_to_le16(frag_seq); - - memcpy((void *) header->addr1, get_bssid(), MAC_ADDR_LEN); - memcpy((void *) header->addr2, get_mac(), MAC_ADDR_LEN); -@@ -91,8 +90,8 @@ const void *build_authentication_management_frame(size_t *len) - memset((void *) buf, 0, *len); - frame = (struct authentication_management_frame *) buf; - -- frame->algorithm = OPEN_SYSTEM; -- frame->sequence = 1; -+ frame->algorithm = __cpu_to_le16(OPEN_SYSTEM); -+ frame->sequence = __cpu_to_le16(1); - frame->status = 0; - } - -@@ -111,8 +110,8 @@ const void *build_association_management_frame(size_t *len) - memset((void *) buf, 0, *len); - frame = (struct association_request_management_frame *) buf; - -- frame->capability = get_ap_capability(); -- frame->listen_interval = LISTEN_INTERVAL; -+ frame->capability = __cpu_to_le16(get_ap_capability()); -+ frame->listen_interval = __cpu_to_le16(LISTEN_INTERVAL); - } - - return buf; -@@ -133,7 +132,7 @@ const void *build_llc_header(size_t *len) - header->dsap = LLC_SNAP; - header->ssap = LLC_SNAP; - header->control_field = UNNUMBERED_FRAME; -- header->type = DOT1X_AUTHENTICATION; -+ header->type = __cpu_to_be16(DOT1X_AUTHENTICATION); - - } - -@@ -279,7 +278,7 @@ const void *build_wfa_header(uint8_t op_code, size_t *len) - header = (struct wfa_expanded_header *) buf; - - memcpy(header->id, WFA_VENDOR_ID, sizeof(header->id)); -- header->type = SIMPLE_CONFIG; -+ header->type = __cpu_to_be32(SIMPLE_CONFIG); - header->opcode = op_code; - } - -diff --git a/src/defs.h b/src/defs.h -index b2f45ea..0c628e7 100644 ---- a/src/defs.h -+++ b/src/defs.h -@@ -41,6 +41,7 @@ - #include <string.h> - #include <time.h> - #include <pcap.h> -+#include <asm/byteorder.h> - - #include "wps.h" - -@@ -65,10 +66,10 @@ - #define MANAGEMENT_FRAME 0x00 - #define SUBTYPE_BEACON 0x08 - --#define DOT1X_AUTHENTICATION 0x8E88 -+#define DOT1X_AUTHENTICATION 0x888E - #define DOT1X_EAP_PACKET 0x00 - --#define SIMPLE_CONFIG 0x01000000 -+#define SIMPLE_CONFIG 0x00000001 - - #define P1_SIZE 10000 - #define P2_SIZE 1000 -@@ -282,66 +283,111 @@ enum wfa_elements - WEP_TRANSMIT_KEY = 0x10064 - }; - -+#define IEEE80211_FCTL_VERS 0x0003 -+#define IEEE80211_FCTL_FTYPE 0x000c -+#define IEEE80211_FCTL_STYPE 0x00f0 -+#define IEEE80211_FCTL_TODS 0x0100 -+#define IEEE80211_FCTL_FROMDS 0x0200 -+#define IEEE80211_FCTL_MOREFRAGS 0x0400 -+#define IEEE80211_FCTL_RETRY 0x0800 -+#define IEEE80211_FCTL_PM 0x1000 -+#define IEEE80211_FCTL_MOREDATA 0x2000 -+#define IEEE80211_FCTL_PROTECTED 0x4000 -+#define IEEE80211_FCTL_ORDER 0x8000 -+ -+#define IEEE80211_SCTL_FRAG 0x000F -+#define IEEE80211_SCTL_SEQ 0xFFF0 -+ -+#define IEEE80211_FTYPE_MGMT 0x0000 -+#define IEEE80211_FTYPE_CTL 0x0004 -+#define IEEE80211_FTYPE_DATA 0x0008 -+ -+/* management */ -+#define IEEE80211_STYPE_ASSOC_REQ 0x0000 -+#define IEEE80211_STYPE_ASSOC_RESP 0x0010 -+#define IEEE80211_STYPE_REASSOC_REQ 0x0020 -+#define IEEE80211_STYPE_REASSOC_RESP 0x0030 -+#define IEEE80211_STYPE_PROBE_REQ 0x0040 -+#define IEEE80211_STYPE_PROBE_RESP 0x0050 -+#define IEEE80211_STYPE_BEACON 0x0080 -+#define IEEE80211_STYPE_ATIM 0x0090 -+#define IEEE80211_STYPE_DISASSOC 0x00A0 -+#define IEEE80211_STYPE_AUTH 0x00B0 -+#define IEEE80211_STYPE_DEAUTH 0x00C0 -+#define IEEE80211_STYPE_ACTION 0x00D0 -+ -+/* control */ -+#define IEEE80211_STYPE_BACK_REQ 0x0080 -+#define IEEE80211_STYPE_BACK 0x0090 -+#define IEEE80211_STYPE_PSPOLL 0x00A0 -+#define IEEE80211_STYPE_RTS 0x00B0 -+#define IEEE80211_STYPE_CTS 0x00C0 -+#define IEEE80211_STYPE_ACK 0x00D0 -+#define IEEE80211_STYPE_CFEND 0x00E0 -+#define IEEE80211_STYPE_CFENDACK 0x00F0 -+ -+/* data */ -+#define IEEE80211_STYPE_DATA 0x0000 -+#define IEEE80211_STYPE_DATA_CFACK 0x0010 -+#define IEEE80211_STYPE_DATA_CFPOLL 0x0020 -+#define IEEE80211_STYPE_DATA_CFACKPOLL 0x0030 -+#define IEEE80211_STYPE_NULLFUNC 0x0040 -+#define IEEE80211_STYPE_CFACK 0x0050 -+#define IEEE80211_STYPE_CFPOLL 0x0060 -+#define IEEE80211_STYPE_CFACKPOLL 0x0070 -+#define IEEE80211_STYPE_QOS_DATA 0x0080 -+#define IEEE80211_STYPE_QOS_DATA_CFACK 0x0090 -+#define IEEE80211_STYPE_QOS_DATA_CFPOLL 0x00A0 -+#define IEEE80211_STYPE_QOS_DATA_CFACKPOLL 0x00B0 -+#define IEEE80211_STYPE_QOS_NULLFUNC 0x00C0 -+#define IEEE80211_STYPE_QOS_CFACK 0x00D0 -+#define IEEE80211_STYPE_QOS_CFPOLL 0x00E0 -+#define IEEE80211_STYPE_QOS_CFACKPOLL 0x00F0 -+ - #pragma pack(1) - struct radio_tap_header - { - uint8_t revision; - uint8_t pad; -- uint16_t len; -- uint32_t flags; --}; -- --struct frame_control --{ -- unsigned version : 2; -- unsigned type : 2; -- unsigned sub_type : 4; -- -- unsigned to_ds : 1; -- unsigned from_ds : 1; -- unsigned more_frag : 1; -- unsigned retry : 1; -- unsigned pwr_mgt : 1; -- unsigned more_data : 1; -- unsigned protected_frame : 1; -- unsigned order : 1; -+ __le16 len; -+ __le32 flags; - }; - - struct dot11_frame_header - { -- struct frame_control fc; -- uint16_t duration; -+ __le16 fc; -+ __le16 duration; - unsigned char addr1[MAC_ADDR_LEN]; - unsigned char addr2[MAC_ADDR_LEN]; - unsigned char addr3[MAC_ADDR_LEN]; -- uint16_t frag_seq; -+ __le16 frag_seq; - }; - - struct authentication_management_frame - { -- uint16_t algorithm; -- uint16_t sequence; -- uint16_t status; -+ __le16 algorithm; -+ __le16 sequence; -+ __le16 status; - }; - - struct association_request_management_frame - { -- uint16_t capability; -- uint16_t listen_interval; -+ __le16 capability; -+ __le16 listen_interval; - }; - - struct association_response_management_frame - { -- uint16_t capability; -- uint16_t status; -- uint16_t id; -+ __le16 capability; -+ __le16 status; -+ __le16 id; - }; - - struct beacon_management_frame - { - unsigned char timestamp[TIMESTAMP_LEN]; -- uint16_t beacon_interval; -- uint16_t capability; -+ __le16 beacon_interval; -+ __le16 capability; - }; - - struct llc_header -@@ -350,7 +396,7 @@ struct llc_header - uint8_t ssap; - uint8_t control_field; - unsigned char org_code[3]; -- uint16_t type; -+ __be16 type; - }; - - struct dot1X_header -@@ -371,7 +417,7 @@ struct eap_header - struct wfa_expanded_header - { - unsigned char id[3]; -- uint32_t type; -+ __be32 type; - uint8_t opcode; - uint8_t flags; - }; -diff --git a/src/exchange.c b/src/exchange.c -index 23c87e9..4f9a82b 100644 ---- a/src/exchange.c -+++ b/src/exchange.c -@@ -306,26 +306,27 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header) - - /* Cast the radio tap and 802.11 frame headers and parse out the Frame Control field */ - rt_header = (struct radio_tap_header *) packet; -- frame_header = (struct dot11_frame_header *) (packet+rt_header->len); -+ size_t rt_header_len = __le16_to_cpu(rt_header->len); -+ frame_header = (struct dot11_frame_header *) (packet+rt_header_len); - - /* Does the BSSID/source address match our target BSSID? */ - if(memcmp(frame_header->addr3, get_bssid(), MAC_ADDR_LEN) == 0) - { - /* Is this a data packet sent to our MAC address? */ -- if(frame_header->fc.type == DATA_FRAME && -- frame_header->fc.sub_type == SUBTYPE_DATA && -- (memcmp(frame_header->addr1, get_mac(), MAC_ADDR_LEN) == 0)) -+ if (((frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == -+ __cpu_to_le16(IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA)) && -+ (memcmp(frame_header->addr1, get_mac(), MAC_ADDR_LEN) == 0)) - { - llc = (struct llc_header *) (packet + -- rt_header->len + -+ rt_header_len + - sizeof(struct dot11_frame_header) - ); - - /* All packets in our exchanges will be 802.1x */ -- if(llc->type == DOT1X_AUTHENTICATION) -+ if(llc->type == __cpu_to_be16(DOT1X_AUTHENTICATION)) - { - dot1x = (struct dot1X_header *) (packet + -- rt_header->len + -+ rt_header_len + - sizeof(struct dot11_frame_header) + - sizeof(struct llc_header) - ); -@@ -334,7 +335,7 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header) - if(dot1x->type == DOT1X_EAP_PACKET && (header->len >= EAP_PACKET_SIZE)) - { - eap = (struct eap_header *) (packet + -- rt_header->len + -+ rt_header_len + - sizeof(struct dot11_frame_header) + - sizeof(struct llc_header) + - sizeof(struct dot1X_header) -@@ -366,7 +367,7 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header) - else if((eap->type == EAP_EXPANDED) && (header->len > WFA_PACKET_SIZE)) - { - wfa = (struct wfa_expanded_header *) (packet + -- rt_header->len + -+ rt_header_len + - sizeof(struct dot11_frame_header) + - sizeof(struct llc_header) + - sizeof(struct dot1X_header) + -@@ -374,14 +375,14 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header) - ); - - /* Verify that this is a WPS message */ -- if(wfa->type == SIMPLE_CONFIG) -+ if(wfa->type == __cpu_to_be32(SIMPLE_CONFIG)) - { - wps_msg_len = (size_t) ntohs(eap->len) - - sizeof(struct eap_header) - - sizeof(struct wfa_expanded_header); - - wps_msg = (const void *) (packet + -- rt_header->len + -+ rt_header_len + - sizeof(struct dot11_frame_header) + - sizeof(struct llc_header) + - sizeof(struct dot1X_header) + -diff --git a/src/wpsmon.c b/src/wpsmon.c -index d976924..22a394f 100644 ---- a/src/wpsmon.c -+++ b/src/wpsmon.c -@@ -295,7 +295,8 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char * - } - - rt_header = (struct radio_tap_header *) radio_header(packet, header->len); -- frame_header = (struct dot11_frame_header *) (packet + rt_header->len); -+ size_t rt_header_len = __le16_to_cpu(rt_header->len); -+ frame_header = (struct dot11_frame_header *) (packet + rt_header_len); - - /* If a specific BSSID was specified, only parse packets from that BSSID */ - if(!is_target(frame_header)) -@@ -323,15 +324,17 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char * - channel_changed = 1; - } - -- if(frame_header->fc.sub_type == PROBE_RESPONSE || -- frame_header->fc.sub_type == SUBTYPE_BEACON) -+ unsigned fsub_type = frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_STYPE); -+ -+ if(fsub_type == __cpu_to_le16(IEEE80211_STYPE_PROBE_RESP) || -+ fsub_type == __cpu_to_le16(IEEE80211_STYPE_BEACON)) - { - wps_parsed = parse_wps_parameters(packet, header->len, wps); - } - - if(!is_done(bssid) && (get_channel() == channel || source == PCAP_FILE)) - { -- if(frame_header->fc.sub_type == SUBTYPE_BEACON && -+ if(fsub_type == __cpu_to_le16(IEEE80211_STYPE_BEACON) && - mode == SCAN && - !passive && - should_probe(bssid)) -@@ -369,7 +372,7 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char * - * If there was no WPS information, then the AP does not support WPS and we should ignore it from here on. - * If this was a probe response, then we've gotten all WPS info we can get from this AP and should ignore it from here on. - */ -- if(!wps_parsed || frame_header->fc.sub_type == PROBE_RESPONSE) -+ if(!wps_parsed || fsub_type == __cpu_to_le16(IEEE80211_STYPE_PROBE_RESP)) - { - mark_ap_complete(bssid); - } --- -1.7.7 - diff --git a/net-wireless/reaver/files/0002-Use-the-current-directory-for-storing-and-loading-se.patch b/net-wireless/reaver/files/0002-Use-the-current-directory-for-storing-and-loading-se.patch deleted file mode 100644 index dd1bb427..00000000 --- a/net-wireless/reaver/files/0002-Use-the-current-directory-for-storing-and-loading-se.patch +++ /dev/null @@ -1,53 +0,0 @@ -From cd444949f3176790101b8bdc9656831a03d8c01d Mon Sep 17 00:00:00 2001 -From: Paul Fertser <fercerpav@gmail.com> -Date: Tue, 10 Jul 2012 11:13:29 +0400 -Subject: [PATCH 2/3] Use the current directory for storing and loading - sessions - -This allows the user to always explicitely choose (by changing the -current directory before launching the program) where the session -files should go. Useful e.g. to avoid hogging the precious space on -embedded devices, just cd /tmp before starting the app. - -Signed-off-by: Paul Fertser <fercerpav@gmail.com> ---- - src/session.c | 16 +++------------- - 1 files changed, 3 insertions(+), 13 deletions(-) - -diff --git a/src/session.c b/src/session.c -index d3af0c3..308f213 100644 ---- a/src/session.c -+++ b/src/session.c -@@ -62,7 +62,7 @@ int restore_session() - memset(file, 0, FILENAME_MAX); - - bssid = mac2str(get_bssid(), '\0'); -- snprintf(file, FILENAME_MAX, "%s/%s.%s", CONF_DIR, bssid, CONF_EXT); -+ snprintf(file, FILENAME_MAX, "%s.%s", bssid, CONF_EXT); - free(bssid); - } - -@@ -199,18 +199,8 @@ int save_session() - } - else - { -- /* -- * If the configuration directory exists, save the session file there; else, save it to the -- * current working directory. -- */ -- if(configuration_directory_exists()) -- { -- snprintf((char *) &file_name, FILENAME_MAX, "%s/%s.%s", CONF_DIR, bssid, CONF_EXT); -- } -- else -- { -- snprintf((char *) &file_name, FILENAME_MAX, "%s.%s", bssid, CONF_EXT); -- } -+ /* save session to the current directory */ -+ snprintf((char *) &file_name, FILENAME_MAX, "%s.%s", bssid, CONF_EXT); - } - - /* Don't bother saving anything if nothing has been done */ --- -1.7.7 - diff --git a/net-wireless/reaver/files/0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch b/net-wireless/reaver/files/0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch deleted file mode 100644 index 64b290b5..00000000 --- a/net-wireless/reaver/files/0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 638bb8d70d6c7e5dc99975e0bf57d8ce0455e2cc Mon Sep 17 00:00:00 2001 -From: Paul Fertser <fercerpav@gmail.com> -Date: Tue, 10 Jul 2012 11:25:00 +0400 -Subject: [PATCH 3/3] wash/wpsmon: use less useless spaces in output to fit - narrow terminals - -Signed-off-by: Paul Fertser <fercerpav@gmail.com> ---- - src/wpsmon.c | 6 +++--- - 1 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/wpsmon.c b/src/wpsmon.c -index 22a394f..e0948b3 100644 ---- a/src/wpsmon.c -+++ b/src/wpsmon.c -@@ -262,8 +262,8 @@ void monitor(char *bssid, int passive, int source, int channel, int mode) - - if(!header_printed) - { -- cprintf(INFO, "BSSID Channel RSSI WPS Version WPS Locked ESSID\n"); -- cprintf(INFO, "---------------------------------------------------------------------------------------------------------------\n"); -+ cprintf(INFO, "BSSID Channel RSSI WPS Version WPS Locked ESSID\n"); -+ cprintf(INFO, "--------------------------------------------------------------------------------------\n"); - header_printed = 1; - } - -@@ -360,7 +360,7 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char * - break; - } - -- cprintf(INFO, "%17s %2d %.2d %d.%d %s %s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid); -+ cprintf(INFO, "%17s %2d %.2d %d.%d %s %s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid); - } - - if(probe_sent) --- -1.7.7 - diff --git a/net-wireless/reaver/files/0004-wash-probe-request.patch b/net-wireless/reaver/files/0004-wash-probe-request.patch deleted file mode 100644 index 6cb5a678..00000000 --- a/net-wireless/reaver/files/0004-wash-probe-request.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff -urN reaver-1.4/src/wpsmon.c reaver-wps-read-only/src/wpsmon.c ---- reaver-1.4/src/wpsmon.c 2012-01-18 17:02:39.000000000 +0800 -+++ reaver-wps-read-only/src/wpsmon.c 2012-10-10 06:45:52.271329168 +0800 -@@ -132,6 +132,11 @@ - usage(argv[0]); - goto end; - } -+ else if(get_iface()) -+ { -+ /* Get the MAC address of the specified interface */ -+ read_iface_mac(); -+ } - - if(get_iface() && source == PCAP_FILE) - { -@@ -300,6 +305,7 @@ - - set_ssid(NULL); - bssid = (char *) mac2str(frame_header->addr3, ':'); -+ set_bssid((unsigned char *) frame_header->addr3); - - if(bssid) - { -@@ -383,6 +389,7 @@ - - end: - if(wps) free(wps); -+ set_bssid((unsigned char *) NULL_MAC); - - return; - } diff --git a/net-wireless/reaver/files/0005-soreau-show-status-r2.patch b/net-wireless/reaver/files/0005-soreau-show-status-r2.patch deleted file mode 100644 index e55b6929..00000000 --- a/net-wireless/reaver/files/0005-soreau-show-status-r2.patch +++ /dev/null @@ -1,97 +0,0 @@ -Index: cracker.c -=================================================================== ---- cracker.c (revision 113) -+++ cracker.c (working copy) -@@ -285,18 +285,65 @@ - } - } - -+char *get_max_time_remaining(int average, int attempts_remaining) -+{ -+ char *max_time, hours[8], minutes[3], seconds[3]; -+ int max_hours = 0, max_minutes = 0, max_seconds = 0; -+ -+ max_time = malloc(16); -+ -+ if(!max_time) -+ exit(-1); -+ -+ if(average) -+ { -+ max_seconds = attempts_remaining * average; -+ if(max_seconds > 60) -+ { -+ max_minutes = max_seconds / 60; -+ max_seconds -= max_minutes * 60; -+ } -+ if(max_minutes > 60) -+ { -+ max_hours = max_minutes / 60; -+ max_minutes -= max_hours * 60; -+ } -+ -+ if(max_seconds < 0 || max_minutes < 0 || max_hours < 0) -+ { -+ free(max_time); -+ return NULL; -+ } -+ -+ sprintf(hours, "%d", max_hours); -+ sprintf(minutes, "%s%d", max_minutes > 9 ? "" : "0", max_minutes); -+ sprintf(seconds, "%s%d", max_seconds > 9 ? "" : "0", max_seconds); -+ -+ sprintf(max_time, "%s:%s:%s", hours, minutes, seconds); -+ } -+ else -+ { -+ free(max_time); -+ return NULL; -+ } -+ -+ return max_time; -+} -+ - /* Displays the status and rate of cracking */ - void display_status(float pin_count, time_t start_time) - { - float percentage = 0; - int attempts = 0, average = 0; -+ int attempts_remaining = 0; - time_t now = 0, diff = 0; - struct tm *tm_p = NULL; -- char time_s[256] = { 0 }; -+ char time_s[256] = { 0 }, *max_time; - - if(get_key_status() == KEY1_WIP) - { - attempts = get_p1_index() + get_p2_index(); -+ attempts_remaining = 11000 - attempts; - } - /* - * If we've found the first half of the key, then the entire key1 keyspace -@@ -305,10 +352,12 @@ - else if(get_key_status() == KEY2_WIP) - { - attempts = P1_SIZE + get_p2_index(); -+ attempts_remaining = 11000 - attempts; - } - else if(get_key_status() == KEY_DONE) - { - attempts = P1_SIZE + P2_SIZE; -+ attempts_remaining = 0; - } - - percentage = (float) (((float) attempts / (P1_SIZE + P2_SIZE)) * 100); -@@ -335,7 +384,12 @@ - average = 0; - } - -+ max_time = get_max_time_remaining(average, attempts_remaining); -+ - cprintf(INFO, "[+] %.2f%% complete @ %s (%d seconds/pin)\n", percentage, time_s, average); -+ cprintf(INFO, "[+] Max time remaining at this rate: %s (%d pins left to try)\n", max_time ? max_time : "(undetermined)", attempts_remaining); - -+ free(max_time); -+ - return; - } diff --git a/net-wireless/reaver/files/0005-soreau-show-status.patch b/net-wireless/reaver/files/0005-soreau-show-status.patch deleted file mode 100644 index e6f2799d..00000000 --- a/net-wireless/reaver/files/0005-soreau-show-status.patch +++ /dev/null @@ -1,97 +0,0 @@ -Index: cracker.c -=================================================================== ---- cracker.c (revision 113) -+++ cracker.c (working copy) -@@ -285,18 +285,65 @@ - } - } - -+char *get_max_time_remaining(int average, int attempts_remaining) -+{ -+ char *max_time, hours[12], minutes[2], seconds[2]; -+ int max_hours = 0, max_minutes = 0, max_seconds = 0; -+ -+ max_time = malloc(16); -+ -+ if(!max_time) -+ exit(-1); -+ -+ if(average) -+ { -+ max_seconds = attempts_remaining * average; -+ if(max_seconds > 60) -+ { -+ max_minutes = max_seconds / 60; -+ max_seconds -= max_minutes * 60; -+ } -+ if(max_minutes > 60) -+ { -+ max_hours = max_minutes / 60; -+ max_minutes -= max_hours * 60; -+ } -+ -+ if(max_seconds < 0 || max_minutes < 0 || max_hours < 0) -+ { -+ free(max_time); -+ return NULL; -+ } -+ -+ sprintf(hours, "%d", max_hours); -+ sprintf(minutes, "%s%d", max_minutes > 9 ? "" : "0", max_minutes); -+ sprintf(seconds, "%s%d", max_seconds > 9 ? "" : "0", max_seconds); -+ -+ sprintf(max_time, "%s:%s:%s", hours, minutes, seconds); -+ } -+ else -+ { -+ free(max_time); -+ return NULL; -+ } -+ -+ return max_time; -+} -+ - /* Displays the status and rate of cracking */ - void display_status(float pin_count, time_t start_time) - { - float percentage = 0; - int attempts = 0, average = 0; -+ int attempts_remaining = 0; - time_t now = 0, diff = 0; - struct tm *tm_p = NULL; -- char time_s[256] = { 0 }; -+ char time_s[256] = { 0 }, *max_time; - - if(get_key_status() == KEY1_WIP) - { - attempts = get_p1_index() + get_p2_index(); -+ attempts_remaining = 11000 - attempts; - } - /* - * If we've found the first half of the key, then the entire key1 keyspace -@@ -305,10 +352,12 @@ - else if(get_key_status() == KEY2_WIP) - { - attempts = P1_SIZE + get_p2_index(); -+ attempts_remaining = 11000 - attempts; - } - else if(get_key_status() == KEY_DONE) - { - attempts = P1_SIZE + P2_SIZE; -+ attempts_remaining = 0; - } - - percentage = (float) (((float) attempts / (P1_SIZE + P2_SIZE)) * 100); -@@ -335,7 +384,12 @@ - average = 0; - } - -+ max_time = get_max_time_remaining(average, attempts_remaining); -+ - cprintf(INFO, "[+] %.2f%% complete @ %s (%d seconds/pin)\n", percentage, time_s, average); -+ cprintf(INFO, "[+] Max time remaining at this rate: %s (%d pins left to try)\n", max_time ? max_time : "(undetermined)", attempts_remaining); - -+ free(max_time); -+ - return; - }
\ No newline at end of file diff --git a/net-wireless/reaver/metadata.xml b/net-wireless/reaver/metadata.xml deleted file mode 100644 index a42c02e9..00000000 --- a/net-wireless/reaver/metadata.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<pkgmetadata> -<maintainer> - <email>oleg@kaa.org.ua</email> - <name>Oleg Kravchenko</name> -</maintainer> -<maintainer> - <email>maksbotan@gentoo.org</email> - <name>Maxim Koltsov</name> -</maintainer> -</pkgmetadata> diff --git a/net-wireless/reaver/reaver-1.4-r1.ebuild b/net-wireless/reaver/reaver-1.4-r1.ebuild deleted file mode 100644 index dd0eb34f..00000000 --- a/net-wireless/reaver/reaver-1.4-r1.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/reaver/reaver-1.4.ebuild,v 1.1 2012/05/15 19:39:11 maksbotan Exp $ - -EAPI=4 - -AUTOTOOLS_IN_SOURCE_BUILD="1" - -inherit autotools-utils eutils - -DESCRIPTION="Brute force attack against Wifi Protected Setup" -HOMEPAGE="http://code.google.com/p/reaver-wps/" -SRC_URI="http://reaver-wps.googlecode.com/files/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="net-libs/libpcap - dev-db/sqlite:3" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/${P}/src" - -src_prepare() { - epatch "${FILESDIR}"/000[1-4]*.patch -} - -src_install() { - dobin wash reaver - - insinto "/etc/reaver" - doins reaver.db - - doman ../docs/reaver.1.gz - dodoc ../docs/README ../docs/README.REAVER ../docs/README.WASH -} diff --git a/net-wireless/reaver/reaver-1.4-r2.ebuild b/net-wireless/reaver/reaver-1.4-r2.ebuild deleted file mode 100644 index 71fa4ad9..00000000 --- a/net-wireless/reaver/reaver-1.4-r2.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/reaver/reaver-1.4.ebuild,v 1.1 2012/05/15 19:39:11 maksbotan Exp $ - -EAPI=4 - -AUTOTOOLS_IN_SOURCE_BUILD="1" - -inherit autotools-utils eutils - -DESCRIPTION="Brute force attack against Wifi Protected Setup" -HOMEPAGE="http://code.google.com/p/reaver-wps/" -SRC_URI="http://reaver-wps.googlecode.com/files/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="net-libs/libpcap - dev-db/sqlite:3" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/${P}/src" - -src_prepare() { - epatch "${FILESDIR}"/000[1-4]*.patch - #http://code.google.com/p/reaver-wps/issues/detail?id=420 - epatch "${FILESDIR}"/0005*.patch -} - -src_install() { - dobin wash reaver - - insinto "/etc/reaver" - doins reaver.db - - doman ../docs/reaver.1.gz - dodoc ../docs/README ../docs/README.REAVER ../docs/README.WASH -} diff --git a/net-wireless/reaver/reaver-1.4-r3.ebuild b/net-wireless/reaver/reaver-1.4-r3.ebuild deleted file mode 100644 index c7fcf49a..00000000 --- a/net-wireless/reaver/reaver-1.4-r3.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/reaver/reaver-1.4.ebuild,v 1.1 2012/05/15 19:39:11 maksbotan Exp $ - -EAPI=4 - -AUTOTOOLS_IN_SOURCE_BUILD="1" - -inherit autotools-utils eutils - -DESCRIPTION="Brute force attack against Wifi Protected Setup" -HOMEPAGE="http://code.google.com/p/reaver-wps/" -SRC_URI="http://reaver-wps.googlecode.com/files/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="net-libs/libpcap - dev-db/sqlite:3" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/${P}/src" - -src_prepare() { - epatch "${FILESDIR}"/000[1-4]*.patch - #http://code.google.com/p/reaver-wps/issues/detail?id=420 - epatch "${FILESDIR}"/0005-soreau-show-status-r2.patch -} - -src_install() { - dobin wash reaver - - insinto "/etc/reaver" - doins reaver.db - - doman ../docs/reaver.1.gz - dodoc ../docs/README ../docs/README.REAVER ../docs/README.WASH -} diff --git a/net-wireless/rfidtool/Manifest b/net-wireless/rfidtool/Manifest deleted file mode 100644 index e784b407..00000000 --- a/net-wireless/rfidtool/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST rfidtool-v0.01.tar.bz2 10125 RMD160 39ab91605c3438b276a8999a7a7ef3dbae5e5544 SHA1 c60185355c6f42972aff86662c4be55a91b97dd6 SHA256 e7e61aa434634121323d0a02435c09b37e0bddab9dd517d4fdfeb1fcb018e5f7 -EBUILD rfidtool-0.01.ebuild 568 RMD160 b17c684f7ad5a1687ab2e83d5f6f965a41a1ba1c SHA1 7c16e0d424fefbce4152215e949ca0ed1636ed34 SHA256 33788a745b376144f24dc039e2061205d6a0ded725a6b6b2efadc97a5230c474 diff --git a/net-wireless/rfidtool/rfidtool-0.01.ebuild b/net-wireless/rfidtool/rfidtool-0.01.ebuild deleted file mode 100644 index ce66d2fe..00000000 --- a/net-wireless/rfidtool/rfidtool-0.01.ebuild +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -DESCRIPTION="command line rfid interface" -HOMEPAGE="http://www.bindshell.net/tools/rfidtool" -SRC_URI="http://www.bindshell.net/tools/rfidtool/$PN-v$PV.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="" -RDEPEND="" - -S="${WORKDIR}"/$PN-v$PV - -src_compile() { - gcc $CFLAGS main.c rfid.c -o rfidtool || die "compile failed" -} - -src_install() { - dobin rfidtool || die "install failed" - dodoc README || die "doc install failed" -} diff --git a/net-wireless/sdrsharp/ChangeLog b/net-wireless/sdrsharp/ChangeLog deleted file mode 100644 index d3fa3b78..00000000 --- a/net-wireless/sdrsharp/ChangeLog +++ /dev/null @@ -1,12 +0,0 @@ -# ChangeLog for net-wireless/sdrsharp -# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/sdrsharp/ChangeLog,v 1.2 2012/09/10 06:11:56 zerochaos Exp $ - - 10 Sep 2012; Rick Farina <zerochaos@gentoo.org> sdrsharp-9999.ebuild: - fixed incorrect license thanks to chithanh for noticing - -*sdrsharp-9999 (10 Sep 2012) - - 10 Sep 2012; Rick Farina <zerochaos@gentoo.org> +files/sdrsharp, - +metadata.xml, +sdrsharp-9999.ebuild: - initial import of sdrsharp diff --git a/net-wireless/sdrsharp/Manifest b/net-wireless/sdrsharp/Manifest deleted file mode 100644 index 368ad8ae..00000000 --- a/net-wireless/sdrsharp/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -AUX sdrsharp 52 SHA256 db62034968b056410d8b90b3e77325cf869529d09535c549b403586905a4fee4 SHA512 ba371fb47ee0fc5f5dc912879631b0623ed0c6f3386e903da1e23320030e882ad677b098bd6ab640cdca19db474035fe65afd094e9a37725c66bc74c3478ca28 WHIRLPOOL b2d7c4251fa7324100982b7c6d35806ca536bc22d42129e6848dffd2529d0175b19cd24900b9b167f97ba9802b30c2a98592936ed8a76eb9f494b01c57ad8497 -EBUILD sdrsharp-9999.ebuild 1098 SHA256 779310b2e2af7b6ff80be2373ee118fb20ed2c3e3936b1913e99ed03771f52af SHA512 75f79986595fbf8acd3890fda4574d7c47be96bbb92c764c4d0d934ffbec7f856f0103f16278b3917c236a9f721acea95dcb0af661f6ddfc07fb5cbc6d0dd0d8 WHIRLPOOL c62076760e12da2cce1947372903e34b03b5c9b0edadb9528b7afad38b63cd026879132b615e148c23fe853a532a915eb9b95ca39f28cdedede78c65cfd8c4c2 -MISC ChangeLog 515 SHA256 16b73205e3d9a15415930ae273ac7dfea35c13d8e23613f966b13b0bcce03cdb SHA512 88264237fc38f7ec34ffdbc3e0c22c0f691463bd8f56561fc6d03d9ad9c21efb83b1c43a3902dda602bb3034b826410e5eccd8e2c3f7fd99778afb022219a2a0 WHIRLPOOL 9b7ad2565a3206929d879b20eb663bd063c9c68e1d5df143ae8ecf2a724e8e4a5b473480b6521bc999f3ea3b5d610806bc652aca85a3b161f0d66d65c928cbaf -MISC metadata.xml 296 SHA256 5f05908fd92afd7e7bbbc1eca7a7251a783f381fd6fffbde25dd8514d27a0fc2 SHA512 b35a8935028bb79974ce95950ccff8126cd6cae56babbf9f4e78057addc7fd46e88c360427a3f1034d4789b2758de7382eaeb721b676b9f2d07bdeadbeae01cc WHIRLPOOL cce56133bbed06d2abf31898d7cd4b334bc4343ba64fa1e5cf96e7fe9c0303fe3ca5381b9d731086af49f8ea978462ffd73b7459982302eb6fde8edcb89648cf diff --git a/net-wireless/sdrsharp/files/sdrsharp b/net-wireless/sdrsharp/files/sdrsharp deleted file mode 100644 index c7956895..00000000 --- a/net-wireless/sdrsharp/files/sdrsharp +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -mono /usr/GETLIBDIR/sdrsharp/SDRSharp.exe diff --git a/net-wireless/sdrsharp/metadata.xml b/net-wireless/sdrsharp/metadata.xml deleted file mode 100644 index 50b2373a..00000000 --- a/net-wireless/sdrsharp/metadata.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> -<herd>radio</herd> -<maintainer> - <email>zerochaos@gentoo.org</email> - <name>Rick Farina</name> -</maintainer> -<longdescription lang="en"> -</longdescription> -</pkgmetadata> - diff --git a/net-wireless/sdrsharp/sdrsharp-9999.ebuild b/net-wireless/sdrsharp/sdrsharp-9999.ebuild deleted file mode 100644 index daceb459..00000000 --- a/net-wireless/sdrsharp/sdrsharp-9999.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/sdrsharp/sdrsharp-9999.ebuild,v 1.2 2012/09/10 06:11:56 zerochaos Exp $ - -EAPI=4 - -inherit subversion - -DESCRIPTION="simple, intuitive, small and fast DSP application for SDR" -HOMEPAGE="http://sdrsharp.com/" -ESVN_REPO_URI="https://subversion.assembla.com/svn/sdrsharp/trunk" - -LICENSE="MIT MS-RSL" -SLOT="0" -KEYWORDS="" -IUSE="" - -#The MS-RSL license forbid modification and redistribution -RESTRICT="mirror bindist" - -DEPEND="dev-lang/mono - media-libs/portaudio - net-wireless/rtl-sdr" -RDEPEND="${DEPEND}" - -src_compile() { - xbuild /t:Rebuild /p:Configuration=Release SDRSharp.sln -} - -src_install() { - cd "${S}"/Release - - #remove windows only stuff - sed -i -e "/FUNcube/d" SDRSharp.exe.config - sed -i -e "/SoftRock/d" SDRSharp.exe.config - rm -f SDRSharp.FUNcube.dll SDRSharp.SoftRock.dll - - #install - insinto /usr/$(get_libdir)/${PN} - doins SDRSharp.exe* *.dll - dobin "${FILESDIR}"/sdrsharp - sed -i "s#GETLIBDIR#$(get_libdir)#" "${ED}"/usr/bin/sdrsharp -} diff --git a/net-wireless/ska/Manifest b/net-wireless/ska/Manifest deleted file mode 100644 index e2de8563..00000000 --- a/net-wireless/ska/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST ska-0.2.tar.bz2 13201 RMD160 d4c0122e3d09a79cea322a2c321806a008ef3992 SHA1 94a0a1069b5179e9b3017e54d8ae2b157c1bb9bb SHA256 c4c908b50c1138e9a87f8fae855fe3ce6e726467dd7f36a1c9467da997140165 -EBUILD ska-0.2.ebuild 478 RMD160 92ae16f5b32db603631462fb078d07be44b49e86 SHA1 4b48fdf5ee1ae21b9b06c185c7a51494e9b0e50c SHA256 449d1fafee1e4af0040ba1bb9a0a986a226e4704d2779a6135ba59f39f5879e7 diff --git a/net-wireless/ska/files/digest-ska-0.2 b/net-wireless/ska/files/digest-ska-0.2 deleted file mode 100644 index 41941f52..00000000 --- a/net-wireless/ska/files/digest-ska-0.2 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 6e1a6708dca383b28b7de5052e4a8dc9 ska-0.2.tar.bz2 13201 -RMD160 d4c0122e3d09a79cea322a2c321806a008ef3992 ska-0.2.tar.bz2 13201 -SHA256 c4c908b50c1138e9a87f8fae855fe3ce6e726467dd7f36a1c9467da997140165 ska-0.2.tar.bz2 13201 diff --git a/net-wireless/ska/ska-0.2.ebuild b/net-wireless/ska/ska-0.2.ebuild deleted file mode 100644 index bd1bc36f..00000000 --- a/net-wireless/ska/ska-0.2.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -DESCRIPTION="Fake Shared Key Authentication" -HOMEPAGE="http://homepages.tu-darmstadt.de/~p_larbig/wlan/" -SRC_URI="http://homepages.tu-darmstadt.de/~p_larbig/wlan/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~x86 ~amd64" -IUSE="" - -DEPEND="" - -src_compile() { - gcc $CFLAGS -o ska ska.c -} - -src_install() { - dobin ska || die "install failed" - dodoc README -} diff --git a/net-wireless/virtualradar-bin/Manifest b/net-wireless/virtualradar-bin/Manifest deleted file mode 100644 index 1889881b..00000000 --- a/net-wireless/virtualradar-bin/Manifest +++ /dev/null @@ -1,5 +0,0 @@ -AUX virtualradar 54 SHA256 5fd9d4dccd410ac4091ea48ab0cd7b2ae34627d8b96b25748cf1579ef1d49755 SHA512 57c5064cd8e58659a942523f76796ffa5ae38d88ea7aea97d0858a2cc0fabe6504a77fc342ee5e5a20f1265136934ab9634dbaa39f6048ce50e722d37dd26382 WHIRLPOOL bbb940f264ffaf91045421dce1e32d6f0bbc717c178ee92efb20d056472f75b66bcd08292458bf4ec0db48364116f4e39f259e7c1d382dac9b931e6a24872a6d -DIST VirtualRadar.tar.gz 1110710 SHA256 5f8d10d2e80b4a87a66dc60efc722ac42b80569be8db3aab4101b047e60d4ecc SHA512 27a35cd9ab3573f7113c6e0dad50de6c8845a275b994b83e0591b67a319e80e66100aff1847c0b388d4910a2f82d50945bf8af37122766b8fc3e727dcaa03963 WHIRLPOOL 2af9ca1119ef62fbb1f0e6813b767533b749b0157266eb4fb3391ac58acd335727853f43875f3e1dd58a31b376d695481dd5c9e848da1465563f4d1dd148e3cf -DIST virtualradar-bin-1.0.5.tar.gz 1110710 SHA256 5f8d10d2e80b4a87a66dc60efc722ac42b80569be8db3aab4101b047e60d4ecc SHA512 27a35cd9ab3573f7113c6e0dad50de6c8845a275b994b83e0591b67a319e80e66100aff1847c0b388d4910a2f82d50945bf8af37122766b8fc3e727dcaa03963 WHIRLPOOL 2af9ca1119ef62fbb1f0e6813b767533b749b0157266eb4fb3391ac58acd335727853f43875f3e1dd58a31b376d695481dd5c9e848da1465563f4d1dd148e3cf -EBUILD virtualradar-bin-1.0.5.ebuild 584 SHA256 465f66d43284fe1e8440f70f54233cf47605bd5bf07eab22ba4be783b0cc2833 SHA512 e2c43aaaa6b9499ef0f91f2b092e7be7d3c7988856b5320462d8188d1d682c67bc1e64c07ed8dc12eeed53d98219f9d49e40a198e1594a57134b126c3efff59b WHIRLPOOL 02b1b0149341dde91a755921aca61aaa4494f3e2da693fb8cd89ec3ce7bdbbaedeeb87ad932aa999de46b7ef3b021dc3c71ce8ff5df8cf7763f4da0b403d31b0 -EBUILD virtualradar-bin-9999.ebuild 507 SHA256 bf28e88b46e5706d147a50660d3ea55024880ec9389a40553d75ce56376c622f SHA512 4e2f49b920c1f9c3acbf221a43bd7db2c68ea77de79c409da243d836d7cef04354444bf7ef290402de409b05a5459d341949bb7bcd3b6220860843f890846056 WHIRLPOOL 238fa244e3631acf20080e9afda5c2ff193aaa7ae11c86b2f00b2f550cc0b48821d1b7c3930040fda84635d126ec0bd791278621b26a310a337728b1aaaa6983 diff --git a/net-wireless/virtualradar-bin/files/virtualradar b/net-wireless/virtualradar-bin/files/virtualradar deleted file mode 100644 index 9cb36031..00000000 --- a/net-wireless/virtualradar-bin/files/virtualradar +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -mono /opt/virtualradar-bin/VirtualRadar.exe diff --git a/net-wireless/virtualradar-bin/virtualradar-bin-1.0.5.ebuild b/net-wireless/virtualradar-bin/virtualradar-bin-1.0.5.ebuild deleted file mode 100644 index 514a011b..00000000 --- a/net-wireless/virtualradar-bin/virtualradar-bin-1.0.5.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=4 - -DESCRIPTION="Open-source .NET application for ads-b mapping" -HOMEPAGE="http://www.virtualradarserver.co.uk/Default.aspx" -#SRC_URI="http://www.virtualradarserver.co.uk/Files/VirtualRadar.tar.gz" -SRC_URI="http://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.gz" - -LICENSE="" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="" -RDEPEND="${DEPEND} - dev-lang/mono" - -S="${WORKDIR}" - -src_install() { - insinto /opt/${PN} - doins * - dobin "${FILESDIR}"/virtualradar -} diff --git a/net-wireless/virtualradar-bin/virtualradar-bin-9999.ebuild b/net-wireless/virtualradar-bin/virtualradar-bin-9999.ebuild deleted file mode 100644 index 1871bf93..00000000 --- a/net-wireless/virtualradar-bin/virtualradar-bin-9999.ebuild +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=4 - -DESCRIPTION="Open-source .NET application for ads-b mapping" -HOMEPAGE="http://www.virtualradarserver.co.uk/Default.aspx" -SRC_URI="http://www.virtualradarserver.co.uk/Files/VirtualRadar.tar.gz" - -LICENSE="" -SLOT="0" -KEYWORDS="" -IUSE="" - -DEPEND="" -RDEPEND="${DEPEND} - dev-lang/mono" - -S="${WORKDIR}" - -src_install() { - insinto /opt/${PN} - doins * - dobin "${FILESDIR}"/virtualradar -} diff --git a/net-wireless/wifitap/Manifest b/net-wireless/wifitap/Manifest deleted file mode 100644 index 746a2a48..00000000 --- a/net-wireless/wifitap/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST wifitap-0.4.0.tgz 110612 RMD160 808e709050a92cf88f73ca7c79700e9f8bf776fb SHA1 54d605c021192fb4b1b34f0b37b95b7c8fe4df71 SHA256 5029b4b80e66844e6109ee9840e70a90e453bd4e5169d9e903eaef599d15162e -EBUILD wifitap-0.4.0-r4.ebuild 976 RMD160 65bb71232ad5c817601118e23646fd1e49dc3343 SHA1 2ecc24568b9ce7288fa4bf8b017aa3356859a594 SHA256 cce9376a34979a384c889a04a540951871cbb338175251286f5a678ca7efeb01 diff --git a/net-wireless/wifitap/wifitap-0.4.0-r4.ebuild b/net-wireless/wifitap/wifitap-0.4.0-r4.ebuild deleted file mode 100644 index 9894af10..00000000 --- a/net-wireless/wifitap/wifitap-0.4.0-r4.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /root/portage/net-wireless/wifitap/wifitap-0.3.7.ebuild,v 1.1.1.1 2006/03/29 19:41:59 grimmlin Exp $ - -inherit python - -DESCRIPTION="A wireless tool to do direct connection to client without passing through an AP" -HOMEPAGE="http://sid.rstack.org/index.php/Wifitap_EN" -SRC_URI="http://sid.rstack.org/code/${PN}/${P}.tgz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="<net-analyzer/scapy-2.0 - dev-python/gnuplot-py - dev-python/pyx" - -S=${WORKDIR}/${PN} - -src_install() { - exeinto /usr/bin - newexe wifitap.py wifitap - newexe wifidns.py wifidns - newexe wifiping.py wifiping - - # also install scapy as a importable python module - insinto /usr/$(get_libdir)/python$(python_get_version)/site-packages - rm scapy.py - doins *.py - - dodoc AUTHORS README Changelog BUGS TODO -} - -pkg_postinst() { - python_mod_optimize -} - -pkg_postrm() { - python_mod_cleanup -} |