Merge Mainline

This commit is contained in:
CN_SZTL 2020-08-20 04:23:58 +08:00
commit 0817390727
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
32 changed files with 154 additions and 123 deletions

View File

@ -7,11 +7,10 @@ ifdef CONFIG_TESTING_KERNEL
endif
LINUX_VERSION-4.14 = .193
LINUX_VERSION-4.19 = .139
LINUX_VERSION-4.19 = .140
LINUX_VERSION-5.4 = .58
LINUX_KERNEL_HASH-4.14.193 = 0b0fb41d4430e1a42738b341cbfd2f41951aa5cd02acabbd53f076119c8b9f03
LINUX_KERNEL_HASH-4.19.139 = 9c4ebf21fe949f80fbcfbbd6e7fe181040d325e89475e230ab53ef01f9d55605
LINUX_KERNEL_HASH-4.19.140 = ca0ff9a7bf005bef10af477b8e7bdd6e466b20c388d862426fd8842511f18ea8
LINUX_KERNEL_HASH-5.4.58 = 702fe2af119375387b314481b603d8ce71e71b4e5bae4cb70a980e0951b21647
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))

View File

@ -62,7 +62,8 @@ o = s:option(Value, "name", translate("Group Name"))
o.rmempty = false
o = s:option(Value, "test_url", translate("Test URL"))
o.default = "http://www.gstatic.com/generate_204"
o:value("http://www.gstatic.com/generate_204")
o:value("https://cp.cloudflare.com/generate_204")
o.rmempty = false
o:depends("type", "url-test")
o:depends("type", "fallback")

View File

@ -89,7 +89,8 @@ o:value("true", translate("Enable"))
o.default=true
o = s:option(Value, "health_check_url", translate("Health Check URL"))
o.default = "http://www.gstatic.com/generate_204"
o:value("http://www.gstatic.com/generate_204")
o:value("https://cp.cloudflare.com/generate_204")
o.rmempty = false
o = s:option(Value, "health_check_interval", translate("Health Check Interval(s)"))

View File

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/sh
. /lib/functions.sh
CFG_FILE=$(uci get openclash.config.config_path 2>/dev/null)
@ -11,8 +11,7 @@ get_nextlen()
return
fi
for i in $@
do
for i in $@; do
if [ -z "$group_len" ]; then
break
fi

View File

@ -235,7 +235,7 @@ do
echo "正在读取【$CONFIG_NAME】-【$provider_name】代理集配置..." >$START_LOG
#代理集存在时获取代理集编号
provider_nums=$(grep -Fw "$provider_name" "$match_provider" |awk -F '.' '{print $1}')
provider_nums=$(grep -Fw "$provider_name" "$match_provider" 2>/dev/null|awk -F '.' '{print $1}')
if [ "$servers_update" -eq 1 ] && [ ! -z "$provider_nums" ]; then
sed -i "/^${provider_nums}\./c\#match#" "$match_provider" 2>/dev/null
uci_set="uci -q set openclash.@proxy-provider["$provider_nums"]."
@ -321,7 +321,7 @@ done
if [ "$servers_if_update" = "1" ]; then
echo "删除【$CONFIG_NAME】订阅中已不存在的代理集..." >$START_LOG
sed -i '/#match#/d' "$match_provider" 2>/dev/null
cat $match_provider |awk -F '.' '{print $1}' |sort -rn |while read line
cat $match_provider 2>/dev/null|awk -F '.' '{print $1}' |sort -rn |while read line
do
if [ -z "$line" ]; then
continue
@ -504,7 +504,7 @@ do
fi
#节点存在时获取节点编号
server_num=$(grep -Fw "$server_name" "$match_servers" |awk -F '.' '{print $1}')
server_num=$(grep -Fw "$server_name" "$match_servers" 2>/dev/null|awk -F '.' '{print $1}')
if [ "$servers_update" -eq 1 ] && [ ! -z "$server_num" ]; then
sed -i "/^${server_num}\./c\#match#" "$match_servers" 2>/dev/null
fi

View File

@ -18,7 +18,7 @@ UCI_ADD_LIST="uci add_list openclash.config.new_servers_group"
UCI_SET="uci set openclash.config."
MIX_PROXY=$(uci get openclash.config.mix_proxies 2>/dev/null)
servers_name="/tmp/servers_name.list"
proxy_provider_name="/tmp/match_servers_name.list"
proxy_provider_name="/tmp/provider_name.list"
if [ ! -z "$UPDATE_CONFIG_FILE" ]; then
CONFIG_FILE="$UPDATE_CONFIG_FILE"
@ -50,25 +50,6 @@ yml_proxy_provider_set()
config_get "health_check_url" "$section" "health_check_url" ""
config_get "health_check_interval" "$section" "health_check_interval" ""
if [ ! -z "$if_game_proxy" ] && [ "$if_game_proxy" != "$name" ] && [ "$if_game_proxy_type" = "proxy-provider" ]; then
return
fi
if [ "$MIX_PROXY" != "1" ] && [ ! -z "$config" ] && [ "$config" != "$CONFIG_NAME" ] && [ "$config" != "all" ]; then
return
fi
if [ "$config" = "$CONFIG_NAME" ] || [ "$config" = "all" ]; then
if [ -n "$(grep -w "path: $path" "$PROXY_PROVIDER_FILE" 2>/dev/null)" ]; then
return
elif [ "$(grep -Fw "$name" "$proxy_provider_name" |wc -l 2>/dev/null)" -ge 2 ] && [ -z "$(grep -w "path: $path" "$PROXY_PROVIDER_FILE" 2>/dev/null)" ]; then
sed -i "1,/${name}/{//d}" "$proxy_provider_name" 2>/dev/null
return
elif [ "$(grep -Fw "$name" "$proxy_provider_name" |wc -l 2>/dev/null)" -eq 1 ] && [ -z "$(grep -w "path: $path" "$PROXY_PROVIDER_FILE" 2>/dev/null)" ]; then
return
fi
fi
if [ "$enabled" = "0" ]; then
return
fi
@ -91,6 +72,23 @@ yml_proxy_provider_set()
return
fi
if [ ! -z "$if_game_proxy" ] && [ "$if_game_proxy" != "$name" ] && [ "$if_game_proxy_type" = "proxy-provider" ]; then
return
fi
if [ "$MIX_PROXY" != "1" ] && [ ! -z "$config" ] && [ "$config" != "$CONFIG_NAME" ] && [ "$config" != "all" ]; then
return
fi
if [ "$config" = "$CONFIG_NAME" ] || [ "$config" = "all" ]; then
if [ -n "$(grep -w "path: $path" "$PROXY_PROVIDER_FILE" 2>/dev/null)" ]; then
return
elif [ "$(grep -Fw "$name" "$proxy_provider_name" |wc -l 2>/dev/null)" -ge 2 ] && [ -z "$(grep -w "path: $path" "$PROXY_PROVIDER_FILE" 2>/dev/null)" ]; then
sed -i "1,/${name}/{//d}" "$proxy_provider_name" 2>/dev/null
return
fi
fi
echo "正在写入【$type】-【$name】代理集到配置文件【$CONFIG_NAME】..." >$START_LOG
echo "$name" >> /tmp/Proxy_Provider
@ -174,31 +172,6 @@ yml_servers_set()
config_get "http_path" "$section" "http_path" ""
config_get "keep_alive" "$section" "keep_alive" ""
config_get "servername" "$section" "servername" ""
if [ ! -z "$if_game_proxy" ] && [ "$if_game_proxy" != "$name" ] && [ "$if_game_proxy_type" = "proxy" ]; then
return
fi
if [ "$MIX_PROXY" != "1" ] && [ ! -z "$config" ] && [ "$config" != "$CONFIG_NAME" ] && [ "$config" != "all" ]; then
return
fi
if [ "$config" = "$CONFIG_NAME" ] || [ "$config" = "all" ]; then
if [ "$(grep -Fw "$name" "$servers_name" |wc -l 2>/dev/null)" -ge 2 ] && [ -n "$(grep -w "name: \"$name\"" "$SERVER_FILE" 2>/dev/null)" ]; then
return
fi
fi
if [ "$config" = "$CONFIG_NAME" ] || [ "$config" = "all" ]; then
if [ -n "$(grep -w "name: \"$name\"" "$SERVER_FILE" 2>/dev/null)" ]; then
return
elif [ "$(grep -Fw "$name" "$servers_name" |wc -l 2>/dev/null)" -ge 2 ] && [ -z "$(grep -w "name: \"$name\"" "$SERVER_FILE" 2>/dev/null)" ]; then
sed -i "1,/${name}/{//d}" "$servers_name" 2>/dev/null
return
elif [ "$(grep -Fw "$name" "$servers_name" |wc -l 2>/dev/null)" -ge 1 ] && [ -z "$(grep -w "name: \"$name\"" "$SERVER_FILE" 2>/dev/null)" ]; then
return
fi
fi
if [ "$enabled" = "0" ]; then
return
@ -226,6 +199,29 @@ yml_servers_set()
fi
fi
if [ ! -z "$if_game_proxy" ] && [ "$if_game_proxy" != "$name" ] && [ "$if_game_proxy_type" = "proxy" ]; then
return
fi
if [ "$MIX_PROXY" != "1" ] && [ ! -z "$config" ] && [ "$config" != "$CONFIG_NAME" ] && [ "$config" != "all" ]; then
return
fi
if [ "$config" = "$CONFIG_NAME" ] || [ "$config" = "all" ]; then
if [ "$(grep -Fw "$name" "$servers_name" |wc -l 2>/dev/null)" -ge 2 ] && [ -n "$(grep -w "name: \"$name\"" "$SERVER_FILE" 2>/dev/null)" ]; then
return
fi
fi
if [ "$config" = "$CONFIG_NAME" ] || [ "$config" = "all" ]; then
if [ -n "$(grep -w "name: \"$name\"" "$SERVER_FILE" 2>/dev/null)" ]; then
return
elif [ "$(grep -Fw "$name" "$servers_name" |wc -l 2>/dev/null)" -ge 2 ] && [ -z "$(grep -w "name: \"$name\"" "$SERVER_FILE" 2>/dev/null)" ]; then
sed -i "1,/${name}/{//d}" "$servers_name" 2>/dev/null
return
fi
fi
echo "正在写入【$type】-【$name】节点到配置文件【$CONFIG_NAME】..." >$START_LOG
if [ "$obfs" != "none" ] && [ -n "$obfs" ]; then
@ -579,8 +575,8 @@ sed -i "s/^ \{0,\}/ - /" /tmp/Proxy_Provider 2>/dev/null #添加参数
if [ "$(grep "-" /tmp/Proxy_Provider 2>/dev/null |wc -l)" -eq 0 ]; then
rm -rf $PROXY_PROVIDER_FILE
rm -rf /tmp/Proxy_Provider
rm -rf $proxy_provider_name
fi
rm -rf $proxy_provider_name
#proxy
rule_sources=$(uci get openclash.config.rule_sources 2>/dev/null)
@ -594,8 +590,8 @@ if [ -s "/tmp/Proxy_Server" ]; then
else
rm -rf $SERVER_FILE
rm -rf /tmp/Proxy_Server
rm -rf $servers_name
fi
rm -rf $servers_name
#一键创建配置文件
if [ "$rule_sources" = "ConnersHua" ] && [ "$servers_if_update" != "1" ] && [ -z "$if_game_proxy" ]; then
@ -618,7 +614,7 @@ EOF
fi
cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null
cat >> "$SERVER_FILE" <<-EOF
url: http://www.gstatic.com/generate_204
url: https://cp.cloudflare.com/generate_204
interval: "600"
- name: Proxy
type: select
@ -706,7 +702,7 @@ EOF
fi
cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null
cat >> "$SERVER_FILE" <<-EOF
url: http://www.gstatic.com/generate_204
url: https://cp.cloudflare.com/generate_204
interval: "600"
- name: Proxy
type: select
@ -940,7 +936,7 @@ EOF
fi
cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null
cat >> "$SERVER_FILE" <<-EOF
url: http://www.gstatic.com/generate_204
url: https://cp.cloudflare.com/generate_204
interval: "600"
- name: Proxy
type: select

View File

@ -3189,6 +3189,9 @@ input[name="nslookup"] {
outline: 0;
box-shadow: none;
}
select {
background-color: #1e1e1e !important;
}
#cbi-dropbear h2,
#cbi-dropbear .cbi-map-descr,
#cbi-dropbear .cbi-map-descr abbr,

View File

@ -4067,6 +4067,10 @@ input[name="nslookup"] {
box-shadow: none;
}
select {
background-color: #1e1e1e !important;
}
#cbi-dropbear h2,
#cbi-dropbear .cbi-map-descr,
#cbi-dropbear .cbi-map-descr abbr,

View File

@ -7,8 +7,8 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall
PKG_VERSION:=3.9
PKG_RELEASE:=38
PKG_DATE:=20200817
PKG_RELEASE:=39
PKG_DATE:=20200819
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)

View File

@ -18,23 +18,26 @@ function index()
if nixio.fs.access("/etc/config/passwall_show") then
entry({"admin", "services", appname}, alias("admin", "services", appname, "settings"), _("Pass Wall"), 1).dependent = true
end
entry({"admin", "services", appname, "settings"}, cbi("passwall/global"), _("Basic Settings"), 1).dependent = true
entry({"admin", "services", appname, "node_list"}, cbi("passwall/node_list"), _("Node List"), 2).dependent = true
entry({"admin", "services", appname, "auto_switch"}, cbi("passwall/auto_switch"), _("Auto Switch"), 3).leaf = true
entry({"admin", "services", appname, "other"}, cbi("passwall/other", {autoapply = true}), _("Other Settings"), 92).leaf = true
--[[ Client ]]
entry({"admin", "services", appname, "settings"}, cbi(appname .. "/client/global"), _("Basic Settings"), 1).dependent = true
entry({"admin", "services", appname, "node_list"}, cbi(appname .. "/client/node_list"), _("Node List"), 2).dependent = true
entry({"admin", "services", appname, "auto_switch"}, cbi(appname .. "/client/auto_switch"), _("Auto Switch"), 3).leaf = true
entry({"admin", "services", appname, "other"}, cbi(appname .. "/client/other", {autoapply = true}), _("Other Settings"), 92).leaf = true
if nixio.fs.access("/usr/sbin/haproxy") then
entry({"admin", "services", appname, "haproxy"}, cbi("passwall/haproxy"), _("Load Balancing"), 93).leaf = true
entry({"admin", "services", appname, "haproxy"}, cbi(appname .. "/client/haproxy"), _("Load Balancing"), 93).leaf = true
end
entry({"admin", "services", appname, "node_subscribe"}, cbi("passwall/node_subscribe"), _("Node Subscribe"), 94).dependent = true
entry({"admin", "services", appname, "app_update"}, cbi("passwall/app_update"), _("App Update"), 95).leaf = true
entry({"admin", "services", appname, "rule"}, cbi("passwall/rule"), _("Rule Manage"), 96).leaf = true
entry({"admin", "services", appname, "rule_list"}, cbi("passwall/rule_list"), _("Rule List Manage"), 97).leaf = true
entry({"admin", "services", appname, "node_config"}, cbi("passwall/node_config")).leaf = true
entry({"admin", "services", appname, "shunt_rules"}, cbi("passwall/shunt_rules")).leaf = true
entry({"admin", "services", appname, "acl"}, cbi("passwall/acl"), _("Access control"), 98).leaf = true
entry({"admin", "services", appname, "server"}, cbi("passwall/server/index"), _("Server-Side"), 99).leaf = true
entry({"admin", "services", appname, "log"}, form("passwall/log"), _("Watch Logs"), 999).leaf = true
entry({"admin", "services", appname, "server_user"}, cbi("passwall/server/user")).leaf = true
entry({"admin", "services", appname, "node_subscribe"}, cbi(appname .. "/client/node_subscribe"), _("Node Subscribe"), 94).dependent = true
entry({"admin", "services", appname, "app_update"}, cbi(appname .. "/client/app_update"), _("App Update"), 95).leaf = true
entry({"admin", "services", appname, "rule"}, cbi(appname .. "/client/rule"), _("Rule Manage"), 96).leaf = true
entry({"admin", "services", appname, "rule_list"}, cbi(appname .. "/client/rule_list"), _("Rule List Manage"), 97).leaf = true
entry({"admin", "services", appname, "node_config"}, cbi(appname .. "/client/node_config")).leaf = true
entry({"admin", "services", appname, "shunt_rules"}, cbi(appname .. "/client/shunt_rules")).leaf = true
entry({"admin", "services", appname, "acl"}, cbi(appname .. "/client/acl"), _("Access control"), 98).leaf = true
entry({"admin", "services", appname, "log"}, form(appname .. "/client/log"), _("Watch Logs"), 999).leaf = true
--[[ Server ]]
entry({"admin", "services", appname, "server"}, cbi(appname .. "/server/index"), _("Server-Side"), 99).leaf = true
entry({"admin", "services", appname, "server_user"}, cbi(appname .. "/server/user")).leaf = true
--[[ API ]]
entry({"admin", "services", appname, "server_user_status"}, call("server_user_status")).leaf = true
@ -56,8 +59,6 @@ function index()
entry({"admin", "services", appname, "clear_all_nodes"}, call("clear_all_nodes")).leaf = true
entry({"admin", "services", appname, "delete_select_nodes"}, call("delete_select_nodes")).leaf = true
entry({"admin", "services", appname, "update_rules"}, call("update_rules")).leaf = true
entry({"admin", "services", appname, "luci_check"}, call("luci_check")).leaf = true
entry({"admin", "services", appname, "luci_update"}, call("luci_update")).leaf = true
entry({"admin", "services", appname, "kcptun_check"}, call("kcptun_check")).leaf = true
entry({"admin", "services", appname, "kcptun_update"}, call("kcptun_update")).leaf = true
entry({"admin", "services", appname, "brook_check"}, call("brook_check")).leaf = true
@ -169,7 +170,7 @@ function connect_status()
local e = {}
e.use_time = ""
local url = luci.http.formvalue("url")
local result = luci.sys.exec('curl --connect-timeout 5 -o /dev/null -I -skL -w "%{http_code}:%{time_starttransfer}" ' .. url)
local result = luci.sys.exec('curl --connect-timeout 3 -o /dev/null -I -skL -w "%{http_code}:%{time_starttransfer}" ' .. url)
local code = tonumber(luci.sys.exec("echo -n '" .. result .. "' | awk -F ':' '{print $1}'") or "0")
if code ~= 0 then
local use_time = luci.sys.exec("echo -n '" .. result .. "' | awk -F ':' '{print $2}'")

View File

@ -0,0 +1,43 @@
local d = require "luci.dispatcher"
local appname = "passwall"
m = Map(appname, "V2ray" .. translate("Shunt") .. translate("Rule"))
m.redirect = d.build_url("admin", "services", appname)
s = m:section(NamedSection, arg[1], "shunt_rules", "")
s.addremove = false
s.dynamic = false
remarks = s:option(Value, "remarks", translate("Remarks"))
remarks.default = arg[1]
remarks.rmempty = false
domain_list = s:option(TextValue, "domain_list", translate("Domain"))
domain_list.rows = 15
domain_list.wrap = "off"
domain_list.validate = function(self, value)
local hosts= {}
string.gsub(value, '[^' .. "\r\n" .. ']+', function(w) table.insert(hosts, w) end)
for index, host in ipairs(hosts) do
if not datatypes.hostname(host) then
return nil, host .. " " .. translate("Not valid domain name, please re-enter!")
end
end
return value
end
ip_list = s:option(TextValue, "ip_list", "IP")
ip_list.rows = 15
ip_list.wrap = "off"
ip_list.validate = function(self, value)
local ipmasks= {}
string.gsub(value, '[^' .. "\r\n" .. ']+', function(w) table.insert(ipmasks, w) end)
for index, ipmask in ipairs(ipmasks) do
if not datatypes.ipmask4(ipmask) then
return nil, ipmask .. " " .. translate("Not valid IP format, please re-enter!")
end
end
return value
end
return m

View File

@ -1,21 +0,0 @@
local d = require "luci.dispatcher"
local appname = "passwall"
m = Map(appname, "V2ray" .. translate("Shunt") .. translate("Rule"))
m.redirect = d.build_url("admin", "services", appname)
s = m:section(NamedSection, arg[1], "shunt_rules", "")
s.addremove = false
s.dynamic = false
remarks = s:option(Value, "remarks", translate("Remarks"))
remarks.default = arg[1]
remarks.rmempty = false
domain_list = s:option(TextValue, "domain_list", translate("Domain"))
domain_list.rows = 15
ip_list = s:option(TextValue, "ip_list", "IP")
ip_list.rows = 15
return m

View File

@ -171,7 +171,7 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
</div>
</div>
</div>
<div class="pure-u-1-4 check" onclick="check_connect('google', 'www.google.com/generate_204')">
<div class="pure-u-1-4 check" onclick="check_connect('google', 'https://www.google.com/generate_204')">
<div class="block pure-g">
<div class="pure-u-8-24">
<div class="img-con">

View File

@ -29,6 +29,7 @@ blinkbox.com
brightcove.com
caddyserver.com
cbs.com
cloudflare-dns.com
cloudfront.net
conviva.com
crackle.com
@ -37,6 +38,8 @@ crwdcntrl.net
cwtv.com
disney.com
disneyjunior.com
dns.google
dns.quad9.net
easylist-downloads.adblockplus.org
edgecastcdn.net
edgekey.net
@ -57,6 +60,9 @@ githubassets.com
githubusercontent.com
gnews.org
go.com
google.com
google.com.hk
google.com.tw
googleapis.com
googletagmanager.com
googleusercontent.com
@ -100,6 +106,7 @@ nflximg.net
nflxso.net
nflxvideo.net
omtrdc.net
one.one.one.one
open.live.bbc.co.uk
openwrt.proxy.ustclug.org
openx.net
@ -117,6 +124,7 @@ sling.com
southpark.cc.com
spike.com
srip.net
stripe.com
theplatform.com
ttvnw.net
turner.com
@ -132,7 +140,4 @@ xboxlive.com
youtu.be
youtube.com
ytimg.com
dns.google
cloudflare-dns.com
one.one.one.one
dns.quad9.net
zerotier.com

View File

@ -16,12 +16,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=smartdns
PKG_VERSION:=8.2020.09
PKG_VERSION:=8.2020.16
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/pymumu/smartdns.git
PKG_SOURCE_VERSION:=a9829f6155cfe75dc981066a2239954ef7b40d78
PKG_SOURCE_VERSION:=69ba3f8789b65681ab0a8d396e216e0efb186ec2
PKG_MAINTAINER:=Nick Peng <pymumu@gmail.com>
PKG_LICENSE:=GPL-3.0-or-later

View File

@ -22,7 +22,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
@@ -728,6 +728,7 @@ static int spidev_probe(struct spi_devic
@@ -733,6 +733,7 @@ static int spidev_probe(struct spi_devic
* compatible string, it is a Linux implementation thing
* rather than a description of the hardware.
*/

View File

@ -30,7 +30,7 @@ Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
--- a/Documentation/ABI/testing/sysfs-bus-iio
+++ b/Documentation/ABI/testing/sysfs-bus-iio
@@ -1684,4 +1684,19 @@ KernelVersion: 4.18
@@ -1685,4 +1685,19 @@ KernelVersion: 4.18
Contact: linux-iio@vger.kernel.org
Description:
Raw (unscaled) phase difference reading from channel Y

View File

@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* Align . to a 8 byte boundary equals to maximum function alignment. */
#define ALIGN_FUNCTION() . = ALIGN(8)
@@ -373,14 +383,14 @@
@@ -374,14 +384,14 @@
/* Kernel symbol table: Normal symbols */ \
__ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) { \
__start___ksymtab = .; \
@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
__stop___ksymtab_gpl = .; \
} \
\
@@ -442,7 +452,7 @@
@@ -443,7 +453,7 @@
\
/* Kernel symbol table: strings */ \
__ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \
@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} \
\
/* __*init sections */ \
@@ -844,6 +854,8 @@
@@ -845,6 +855,8 @@
EXIT_TEXT \
EXIT_DATA \
EXIT_CALL \

View File

@ -8,7 +8,7 @@ Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
@@ -672,6 +672,7 @@ static const struct of_device_id spidev_
@@ -677,6 +677,7 @@ static const struct of_device_id spidev_
{ .compatible = "lineartechnology,ltc2488" },
{ .compatible = "ge,achc" },
{ .compatible = "semtech,sx1301" },

View File

@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#define PACKET_FANOUT_LB 1
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1796,6 +1796,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1798,6 +1798,7 @@ static int packet_rcv_spkt(struct sk_buf
{
struct sock *sk;
struct sockaddr_pkt *spkt;
@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/*
* When we registered the protocol we saved the socket in the data
@@ -1803,6 +1804,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1805,6 +1806,7 @@ static int packet_rcv_spkt(struct sk_buf
*/
sk = pt->af_packet_priv;
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/*
* Yank back the headers [hope the device set this
@@ -1815,7 +1817,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1817,7 +1819,7 @@ static int packet_rcv_spkt(struct sk_buf
* so that this procedure is noop.
*/
@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
goto out;
if (!net_eq(dev_net(dev), sock_net(sk)))
@@ -2043,12 +2045,12 @@ static int packet_rcv(struct sk_buff *sk
@@ -2045,12 +2047,12 @@ static int packet_rcv(struct sk_buff *sk
unsigned int snaplen, res;
bool is_drop_n_account = false;
@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
@@ -2175,12 +2177,12 @@ static int tpacket_rcv(struct sk_buff *s
@@ -2177,12 +2179,12 @@ static int tpacket_rcv(struct sk_buff *s
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
@@ -3277,6 +3279,7 @@ static int packet_create(struct net *net
@@ -3282,6 +3284,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock);
po->rollover = NULL;
po->prot_hook.func = packet_rcv;
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
@@ -3897,6 +3900,16 @@ packet_setsockopt(struct socket *sock, i
@@ -3902,6 +3905,16 @@ packet_setsockopt(struct socket *sock, i
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
return 0;
}
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
default:
return -ENOPROTOOPT;
}
@@ -3949,6 +3962,13 @@ static int packet_getsockopt(struct sock
@@ -3954,6 +3967,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;