I have cron script that uses ipset for policy routing. All works fine but router reboots every 1~2 days. Help appreciated
Sat Feb 15 12:00:00 2020 cron.info crond[1212]: USER root pid 9019 cmd /etc/anti-rkn/update-rkn-ip.sh
Sat Feb 15 12:00:03 2020 kern.alert kernel: [215985.710616] CPU 3 Unable to handle kernel paging request at virtual address 07406000, epc == 8010ef74, ra == 8010ee58
Sat Feb 15 12:00:03 2020 kern.warn kernel: [215985.721315] Oops[#1]:
Sat Feb 15 12:00:03 2020 kern.warn kernel: [215985.723668] CPU: 3 PID: 9028 Comm: ipset Not tainted 4.14.162 #0
Sat Feb 15 12:00:03 2020 kern.warn kernel: [215985.729733] task: 8fcf2ca0 task.stack: 8dc22000
Sat Feb 15 12:00:03 2020 kern.warn kernel: [215985.734325] $ 0 : 00000000 00000001 00000000 81243690
Sat Feb 15 12:00:03 2020 kern.warn kernel: [215985.739624] $ 4 : 8054a1e8 00000001 00000001 07406000
Sat Feb 15 12:00:03 2020 kern.warn kernel: [215985.744920] $ 8 : 000d3937 000d3936 00000000 00000001
Sat Feb 15 12:00:03 2020 kern.warn kernel: [215985.750217] $12 : 000d3923 8df80280 8df80280 00000000
Sat Feb 15 12:00:03 2020 kern.warn kernel: [215985.755514] $16 : 8fc02e00 01088020 8df80000 8d5e3880
Sat Feb 15 12:00:03 2020 kern.warn kernel: [215985.760814] $20 : 00000008 8dcb8e98 00000038 00000000
Sat Feb 15 12:00:03 2020 kern.warn kernel: [215985.766112] $24 : 00000000 77e75860
Sat Feb 15 12:00:03 2020 kern.warn kernel: [215985.771410] $28 : 8dc22000 8dc23a28 8e125800 8010ee58
Sat Feb 15 12:00:03 2020 kern.warn kernel: [215985.776710] Hi : 00000000
Sat Feb 15 12:00:03 2020 kern.warn kernel: [215985.779660] Lo : 0000000a
Sat Feb 15 12:00:03 2020 kern.warn kernel: [215985.782611] epc : 8010ef74 0x8010ef74
packet_write_wait: Connection to 192.168.1.1 port 22: Broken pipe
The script
start=`date +%s`
# create temporary sets
ipset create _tmp1 hash:net
ipset create _tmp2 hash:net
# load new content to ipset
curl -s https://antifilter.download/list/subnet.lst | awk '{print "add _tmp1 "$1;} END {print FNR > "/tmp/rkn_nets"}' | ipset -! restore
curl -s https://antifilter.download/list/ipsum.lst| awk '{print "add _tmp2 "$1;} END {print FNR > "/tmp/rkn_ipsum"}' | ipset -! restore
# swap content
ipset swap vpn_subnets _tmp1
ipset swap vpn_ipsum _tmp2
# delete temporary sets
ipset destroy _tmp1
ipset destroy _tmp2
end=`date +%s`
OpenWrt 19.07.0 r10860-a3ffeb413b / LuCI openwrt-19.07 branch git-20.006.26738-35aa527