Stijn Segers [Wed, 24 May 2017 20:39:28 +0000 (22:39 +0200)]
kernel: update kernel 4.4 to 4.4.69
Bump the 17.01 tree kernel to 4.4.69. Trunk 4.4 and 17.01 4.4 have diverged, talked this
through with jow, he was okay with a clean diff against 17.01 and not a backported trunk
patch.
The following patches were applied upstream:
* 062-[1-6]-MIPS-* series
* 042-0004-mtd-bcm47xxpart-fix-parsing-first-block
Reintroduced lantiq/patches-4.4/0050-MIPS-Lantiq-Fix-cascaded-IRQ-setup, as
it was incorrectly included upstream thus dropped from LEDE, but subsequently
reverted upstream. Thanks to Kevin Darbyshire-Bryant for pointing me to it.
Compile-tested on: ar71xx, ramips/mt7621, x86/64.
Run-tested on: ar71xx, ramips/mt7621, x86/64.
Signed-off-by: Stijn Segers <francesco.borromini@inventati.org>
Hauke Mehrtens [Sun, 2 Apr 2017 15:40:43 +0000 (17:40 +0200)]
binutils: fix build with host gcc < 4.9
binutils 2.27 checks if the target compiler supports -Wstack-
usage=262144, and also uses this setting for the host compiler. If the
host compiler is gcc < 4.9 binutils build will fail. This backports 2
commits which are fixing this problem for binutils 2.28.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Thu, 13 Apr 2017 16:07:05 +0000 (18:07 +0200)]
util-linux: fix build with uclibc
Fix build of scriptreplay with uClibc.
Some parts of the libm detection were backported to 2.29.2, but some
parts were missing, which are added here. This patch is needed when
libm is a separate library, this is not needed for LEDE master, because
libm is there integrated in the libc for uClibc and musl.
Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
Kevin Darbyshire-Bryant [Sat, 20 May 2017 11:54:11 +0000 (12:54 +0100)]
dropbear: bump to 2017.75
- Security: Fix double-free in server TCP listener cleanup A double-free
in the server could be triggered by an authenticated user if dropbear is
running with -a (Allow connections to forwarded ports from any host)
This could potentially allow arbitrary code execution as root by an
authenticated user. Affects versions 2013.56 to 2016.74. Thanks to Mark
Shepard for reporting the crash.
CVE-2017-9078 https://secure.ucc.asn.au/hg/dropbear/rev/
c8114a48837c
- Security: Fix information disclosure with ~/.ssh/authorized_keys
symlink. Dropbear parsed authorized_keys as root, even if it were a
symlink. The fix is to switch to user permissions when opening
authorized_keys
A user could symlink their ~/.ssh/authorized_keys to a root-owned file
they couldn't normally read. If they managed to get that file to contain
valid authorized_keys with command= options it might be possible to read
other contents of that file.
This information disclosure is to an already authenticated user.
Thanks to Jann Horn of Google Project Zero for reporting this.
CVE-2017-9079 https://secure.ucc.asn.au/hg/dropbear/rev/
0d889b068123
Refresh patches, rework 100-pubkey_path.patch to work with new
authorized_keys validation.
Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Stijn Tintel [Wed, 24 May 2017 12:44:03 +0000 (14:44 +0200)]
samba: fix CVE-2017-7494
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit
3f0d3d12da77d8833a725f99f6fa08640678a1ae)
Rafał Miłecki [Mon, 22 May 2017 10:04:01 +0000 (12:04 +0200)]
umdns: update to the version 2017-05-22
This includes following changes:
0e8b948 Support specifying instance name in JSON file
49fdb9f Support PTR queries for a specific service
26ce7dc Allow filtering with instance name in service_reply
920c62a Store instance name in the struct service
ff09d9a Rename service_name function to the service_instance_name
64f78f1 Rename mdns_hostname variable to the umdns_host_label
Previous package update pulled commit
70c66fbbcde86 ("Fix sending
replies to PTR questions") which introduced a regression which this
update fixes.
Fixes: 474c31a20d834 ("umdns: update to the version 2017-03-21")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Sun, 21 May 2017 15:41:41 +0000 (17:41 +0200)]
bcm53xx: add support for TP-LINK Archer C5 V2
This model also contains few partitions non-discoverable partitions we
need to "protect". Othen than that it uses non-deprecated serial entry
in DTS that doesn't work with LEDE so we need to workaround it as well.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Sat, 11 Mar 2017 11:05:33 +0000 (12:05 +0100)]
firmware-utils: tplink-safeloader: add support for Archer C5 V2
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Tue, 9 May 2017 08:18:15 +0000 (10:18 +0200)]
fstools: backport regression fix for volume_identify
This fixes regression when volume_identify didn't identify volume on
subsequent calls.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Jo-Philipp Wich [Sun, 14 May 2017 18:45:06 +0000 (20:45 +0200)]
imagebuilder: fix bundling of DTS sources
Refer to LINUX_KARCH instead of ARCH when bundling DTS files in the image
builder tarball.
While we're at it, also dereference symbolic links when copying as some
kernel architectures contain symbolic links in their DTS directories.
This fixes aarch64 imagebuilders such as brcm2708/bcm2710 ones in particular
as the kernel refers to "aarch64" as "arm64" internally.
Ref: https://forum.lede-project.org/t/lede-image-builder-problem/3680
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Michal Sojka [Tue, 2 May 2017 14:57:18 +0000 (16:57 +0200)]
image.mk: Generate cpiogz with root-owned files
Some files (e.g. /etc/dropbear) need to be owned by root. Add cpio
option to ensure that.
Other image types (at least targz and squashfs) already have this.
Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
Steffen Weinreich [Tue, 25 Apr 2017 14:44:39 +0000 (16:44 +0200)]
ramips: add om-watchdog to rut5xx DEVICE_PACKAGES
Add om-watchdog as default package for rut5xx.
Signed-off-by: Steffen Weinreich <steve@weinreich.org>
Steffen Weinreich [Tue, 25 Apr 2017 14:44:39 +0000 (16:44 +0200)]
om-watchdog: add support for Teltonika RUT5xx (ramips)
Add rut5xx GPIO PIN selection to om-package startup script.
Testet on a RUT500 device, the timeout value of the hardware watchdog
is about 280 sec.
Signed-off-by: Steffen Weinreich <steve@weinreich.org>
[split into two commits, bump PKG_RELEASE]
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Piotr Dymacz [Thu, 11 May 2017 22:10:11 +0000 (00:10 +0200)]
om-watchdog: cosmetic code style fixes
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Piotr Dymacz [Thu, 11 May 2017 21:53:41 +0000 (23:53 +0200)]
om-watchdog: cleanup Makefile
Drop redundant Build/Prepare, empty lines and duplicated Build/Compile.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Felix Fietkau [Fri, 12 May 2017 11:28:56 +0000 (13:28 +0200)]
ar71xx: enable nand-utils in the mikrotik subtarget to ensure it makes it to initramfs
Without it, sysupgrade from initramfs to nand fails
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Jo-Philipp Wich [Fri, 12 May 2017 09:48:58 +0000 (11:48 +0200)]
openvpn: update to v2.4.2
Update to version 2.4.2 in order to address two potential Denial-of-Service
vectors in OpenVPN.
CVE-2017-7478 - Don't assert out on receiving too-large control packets
CVE-2017-7479 - Drop packets instead of assert out if packet id rolls over
Ref: https://community.openvpn.net/openvpn/wiki/ChangesInOpenvpn24#OpenVPN2.4.2
Ref: https://community.openvpn.net/openvpn/wiki/QuarkslabAndCryptographyEngineerAudits
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Felix Fietkau [Mon, 3 Apr 2017 07:00:32 +0000 (09:00 +0200)]
openvpn: add myself as maintainer
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Daniel Engberg [Mon, 27 Mar 2017 12:51:44 +0000 (14:51 +0200)]
OpenVPN: Update to 2.4.1
Update OpenVPN to 2.4.1
Remove 200-small_build_enable_occ.patch as it's included upstream.
Refresh patches
Add mirror and switch to HTTPS
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
Martin Schiller [Thu, 16 Mar 2017 10:25:53 +0000 (11:25 +0100)]
openvpn: add extra respawn parameters
This change protects the openvpn instances to be marked as "in a crash
loop" and thereby the connection retries will run infinitely.
When the remote site of an openvpn connection goes down for some time
(network failure etc.) the openvpn instance in an openwrt/lede device
should not stop retrying to establish the connection.
With the current limit of 5 retries, there is a user interaction
required, which isn't really what you want when the device should
simply do everything to keep the vpn connection up.
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Yousong Zhou [Sun, 26 Feb 2017 07:22:04 +0000 (15:22 +0800)]
openvpn: move list of params and bools to a separate file
So that future patches for addition/removal of them can be more
readable
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Jo-Philipp Wich [Wed, 10 May 2017 22:50:48 +0000 (00:50 +0200)]
ramips: fixup-mac-address: add missing include
Add missing include of ramips.sh in order to import the missing
ramips_board_name() procedure.
Fixes FS#774.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Hans Dedecker [Wed, 26 Apr 2017 20:37:27 +0000 (22:37 +0200)]
dnsmasq: support dhcp_option config as a list
Configuring dhcp_option as an option does not allow the usage of white
spaces in the option value; fix this by supporting dhcp_option as a list
config while still supporting the option config to maintain backwards
compatibility
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Rafał Miłecki [Thu, 20 Apr 2017 20:15:09 +0000 (22:15 +0200)]
bcm53xx: backport DT patches for serial, thermal and MDIO
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Henryk Heisig [Fri, 5 May 2017 15:07:28 +0000 (17:07 +0200)]
ramips: add factory firmware for Tp-Link C20i/C50
TP-Link firmware doesn't accept sysupgrade.bin with metadata.
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
Marcin Jurkowski [Fri, 21 Apr 2017 00:36:18 +0000 (02:36 +0200)]
brcm63xx: fix invalid Asmax AR 1004g DTS reference
Build profile for Asmax AR 1004g refers to an invalid DTS "rg100a". The
correct DTS for this device is "ar1004g".
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Mathias Kresin [Sun, 26 Mar 2017 08:53:35 +0000 (10:53 +0200)]
lantiq: fix avm fritz box mac addresses
It has been shown that the Fritz boxes have the correct mac address set
in the wireless calibration data/eeeprom. Use this mac address as base
for the ethernet and xdsl interface increment/decrement the address to
match the values stored in the tffs.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Paul Spooren [Wed, 3 May 2017 22:47:34 +0000 (00:47 +0200)]
ramips: enable ramdisk for mt7621
Fixes #758
Signed-off-by: Paul Spooren <paul@spooren.de>
Jo-Philipp Wich [Wed, 3 May 2017 11:59:55 +0000 (13:59 +0200)]
ipq806x: fix EA8500 switch configuration
Do not assign the CPU port twice, this confuses LuCI and possible other
programs relying on topology information in board.json.
Ref: https://github.com/openwrt/luci/issues/1086
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 3 May 2017 11:32:33 +0000 (13:32 +0200)]
base-files: implement ucidef_set_hostname(), ucidef_set_ntpserver()
Commit
2036ae4 (base-files: support hostname and ntp servers through board.d)
was supposed to implement these procedures but lacked the required changes
to uci-defaults.sh.
Add the missing procedures now to fix config generation on targets relying
on hostname or NTP server presetting.
Fixes FS#754.
Reported-by: Cristian Morales Vega <cristian@samknows.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Tomislav Požega [Fri, 14 Apr 2017 18:59:47 +0000 (20:59 +0200)]
mac80211: rt2800: fix mt7620 E2 channel registers
update RF register 47 and 54 values according to vendor driver
Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[daniel@makrotopia.org: moved changes into a separate patch]
Tomislav Požega [Sun, 16 Apr 2017 12:14:42 +0000 (14:14 +0200)]
mac80211: rt2800: fix mt7620 vco calibration registers
Use register values from init LNA function instead of the ones from
restore LNA function. Apply register values based on rx path
configuration.
Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[daniel@makrotopia.org: moved changes into a separate patch]
Daniel Golle [Mon, 17 Apr 2017 19:38:32 +0000 (21:38 +0200)]
mac80211: rt2x00: fix MT7620 LNA gain and VCO-after-ALC
This should fix issues with bad RX as well as AP not coming up and/or
scanning failing.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Thu, 30 Mar 2017 16:08:49 +0000 (18:08 +0200)]
mac80211: rt2x00: import upstream changes and rebase our patches
Some of our local patches have been accepted upstream. And there are
some more relevant changes (mostly for rt2800usb). Import them and
rebase our remaining local patches on top.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Sat, 11 Mar 2017 13:10:16 +0000 (14:10 +0100)]
rt2x00: mt7620: make fixes requested upstream
Introduce RT6352 instead of matching against RF7620.
Clean up channel setting rfvals.
Port bandwidth filter calibration.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Mon, 13 Feb 2017 05:25:35 +0000 (06:25 +0100)]
rt2x00: mt7620: yet another beauty session
So here is another round of improvements for MT7620 WiFi.
This commit fixes a few significant issues related to TX_PWR_CFG_x and
TX_ALC and also makes the code more readable by adding register
descriptions for things added for MT7620 and use the usual bit-field
access macros and the now defined macros instead of plain bit-ops and
magic numbers.
Properly describe EEPROM_TARGET_POWER at word 0x68 (== byte 0xD0) and
thereby fix internal TXALC which would otherwise just read
out-of-bounds of the EEPROM map.
Split-out tx-power/ALC related stuff into an additional function.
Fix VCO calibration, it was carried out properly in the channel
switching but incomplete in the actual VCO calibration function.
Also there is no need to trigger VCO calibration in channel switching,
the VCO calibration function is already being called at this point.
Remove it from channel switching function to avoid redundant code.
The TX power calibration differs significantly from all other
Mediatek/Ralink chips: They finally allow 0.5dB steps stored as 8-bit
values for (almost) each bitrate -- and promptly ran out of space and
for some reason didn't want to change the EEPROM layout. The hence
opted for a scheme of sharing values for some adjecent bitrates and
a highly over-complicated (or obfuscated?) way to populate the
TX_PWR_CFG_x registers with the values stored in the EEPROM.
The code here now looks much less complicated than what you see in the
vendor's driver, however, it does the exact same thing:
bGpwrdeltaMinus is a constant and always TRUE, hence half of the
code was dead. Gpwrdelta is always 0 (rather than using the value read
from the EEPROM). What remains is some very grotesque effort to avoid
0x20, probably some hardware bug related to some misunderstanding of
what a singed 8-bit value is (imagine: if it was a signed 6-bit value
then someone could believe that 0x20 == 0x0). And then they didn't
clean it up once they later on anandonned that whole story of having a
constant offset for 40 MHz channels and just set the offset to be
constant 0 -- there is no effort for avoiding 0x20 for the 20 MHz
values stored in the EEPROM, hence that's probably just a forbidden
value in the EEPROM specs and won't appear anyway...
Anyway, the whole thing felt like solving some college math test
where in the end everything cancels out and the result equals 0 ;)
To make sure that channel bandwidth power compensation really doesn't
need to be taken care of, output a warning when the corresponding
value stored in the EEPROM is non-zero.
Also there is no apparent reason to refrain from initializing RFCSR
register 13, it doesn't fail what-so-ever.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Jonas Gorski [Wed, 12 Apr 2017 10:44:12 +0000 (12:44 +0200)]
mac80211: add rt2x00 debug symbols to PKG_CONFIG_DEPENDS
Chaning these symbols require a recompilation of the modules, so make the
system aware of it.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Felix Fietkau [Wed, 22 Mar 2017 19:46:14 +0000 (20:46 +0100)]
ath9k: fix power limits on init
The tx power applied by set_txpower is limited by the CTL (conformance
test limit) entries in the EEPROM. These can change based on the user
configured regulatory domain.
Depending on the EEPROM data this can cause the tx power to become too
limited, if the original regdomain CTLs impose lowr limits than the CTLs
of the user configured regdomain.
To fix this issue, set the initial channel limits without any CTL
restrictions and only apply the CTL at run time when setting the channel
and the real tx power.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Wed, 22 Mar 2017 19:24:32 +0000 (20:24 +0100)]
ath: do not apply broken power limits with ATH_USER_REGD
If a device uses the default EEPROM code, typically only the main CTLs
are valid, and they do not apply properly when switching to a different
regulatory domain. If the regdomain deviates from the EEPROM one, force
the world roaming regdomain to ensure that power limits are sane
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Hans Dedecker [Fri, 28 Apr 2017 19:45:10 +0000 (21:45 +0200)]
odhcpd: update to version 2017-04-28 (FS#595)
9268ca6 ndp: don't trigger IPv6 ping when neighbor entry is invalid
2b3355f ndp: fix adding proxy neighbor entries
7dff5b4 ndp: fix wrong interface name in syslog message
a54afb5 dhcpv6-ia: Fix segfault when writing DHCPv4 leases in state file
c0e9dbf ubus: don't segfault when there're no leases
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Hans Dedecker [Mon, 24 Apr 2017 16:39:59 +0000 (18:39 +0200)]
odhcpd: update to version 2017-04-21
570069d ubus: rework dumping IPv6 and IPv4 leases
4e579c4 dhcpv6-ia: simplify logic to write statefile and dhcpv6 logging
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Sergey Ryazanov [Thu, 20 Apr 2017 02:10:45 +0000 (05:10 +0300)]
build: fix symlinked .config handling
When running "make menuconfig" with symlinked .config (e.g. to
env/.config) it renames symlink to .config.old, creates new .config file
and writes updated configuration here.
This breaks the desired workflow when changes in the configuration could
be checked using "scripts/env diff" and commited with
"scripts/env save". Since the env/.config file is not updated.
Fix this issue by exporting KCONFIG_OVERWRITECONFIG=1, which forces
mconf to overwrite the .config content, instead of renaming it and
creating a new file. This variable is set only if .config is a symlink,
otherwise the variable is not exported and the old behaviour is
preserved.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Thibaut VARENE [Sun, 12 Feb 2017 16:11:08 +0000 (17:11 +0100)]
ramips: WN3000RPv3: do not setup switch
The WN3000RPv3 is a repeater with a single ethernet port. Setting up the
switch, even to disable it, is unnecessary and possibly confusing.
Configure LAN as eth0 instead.
Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
Daniel Gonzalez Cabanelas [Sat, 3 Dec 2016 14:51:05 +0000 (15:51 +0100)]
brcm63xx: Add Observa VH4032N support
Add support for the Observa Telecom VH4032N router.
This is another BCM6368 router, 128 MB RAM, 32MB flash and 3 USB
host ports.
The wifi chip is an onboard Broadcom BCM43222.
Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
[jonas.gorski: use gpio-hog instead of abusing ephy-reset]
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Koen Vandeputte [Mon, 6 Feb 2017 11:11:39 +0000 (12:11 +0100)]
cns3xxx: use proper macro's for ID handling
Compiled & tested on cns3xxx
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Kristian Evensen [Sat, 4 Feb 2017 20:28:52 +0000 (21:28 +0100)]
ramips: add support for Sanlinking D240
The Sanlinking Technologies D240
(http://www.sanlinking.com/en/29-dual-4g-wifi-router.html) is basically the same
device as the ZBT WE826, so adding support for it in LEDE is straight forward.
The differences is that the D240 has two mini-PCIe slots (instead of one), blue
LEDs and supports PoE.
Specification:
* CPU: MT7620A
* 1x 10/100Mbps POE (802.3af/802.3at) Ethernet, 4x 10/100Mbps.
* 16 MB Flash.
* 128 MB RAM.
* 1x USB 2.0 port.
* 2x mini-PCIe slots.
* 2x SIM slots.
* 1x 2.4Ghz WIFI.
* 1x button.
Wifi, USB, switch and both mini-PCIe slots are working. I have not been able to
test the SD card reader.
The device comes pre-installed with an older version of OpenWRT, including Luci.
In order to install LEDE, you need to follow the existing procedure for updating
OpenWRT/LEDE using Luci. I.e., you need to access the UI and update the firmware
using the sysupgrade-image. Remember to select that you do not want to keep
existing settings. The default router address is 192.168.10.1 and
username/password admin/root (at least on my devices).
If you brick the device, the procedure for recovery is the same as for the
WE826. Please see the wiki page for that device for instructions.
Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
Piotr Dymacz [Fri, 27 Jan 2017 14:50:35 +0000 (15:50 +0100)]
ar71xx: select ATH79_NVRAM only by boards actually use it
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Mathias Kresin [Thu, 2 Feb 2017 21:35:59 +0000 (22:35 +0100)]
ramips: fix Sercomm NA930 compatible string
The Sercomm NA930 is not a mt7620a evaluation board and shouldn't use
the eval board compatible string.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Mathias Kresin [Thu, 2 Feb 2017 21:34:53 +0000 (22:34 +0100)]
ramips: remove Planex CS-QR10 sound device tree node
The comptible string is neither added by any LEDE patch nor exists in
in the kernel. Drop the sound node which was obviously added
accidentally with
9195d8da ("ramips: DTS rework").
Signed-off-by: Mathias Kresin <dev@kresin.me>
Mathias Kresin [Thu, 2 Feb 2017 21:11:23 +0000 (22:11 +0100)]
ramips: cleanup SPI flash device tree properties usage
Use only the jedec,spi-nor compatible string. Everything else either
never worked or is only support to keep compatibility.
Remove the linux,modalias property. It is obsolete since kernel 4.4.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Felix Fietkau [Wed, 1 Feb 2017 12:53:57 +0000 (13:53 +0100)]
ramips: remove DT pcie nodes for GL-MT300A/N
These devices don't have a secondary wifi chip
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Florian Fainelli [Sun, 1 Jan 2017 00:13:34 +0000 (16:13 -0800)]
rpcd: Explicitly link with lcrypt
Fixes build issues with some toolchains that don't add lcrypt in the default
search paths:
CMakeFiles/rpcd.dir/session.c.o: In function `rpc_login_test_password':
build_dir/target-mipsel-linux-gnu/rpcd-2016-12-03-
0577cfc1/session.c:823: undefined reference to `crypt'
collect2: error: ld returned 1 exit status
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Vitaly Chekryzhev [Fri, 20 Jan 2017 13:03:15 +0000 (18:03 +0500)]
ramips: ZyXEL Keenetic Omni/Omni2: export gpio usb power
Export gpio usb to allow power management of USB port.
Signed-off-by: Vitaly Chekryzhev <13hakta@gmail.com>
Vitaly Chekryzhev [Fri, 20 Jan 2017 12:57:11 +0000 (17:57 +0500)]
ramips: ZyXEL Keenetic Viva: align factory images
ZyXEL web-flasher requires squashfs to be aligned to 64kb.
Signed-off-by: Vitaly Chekryzhev <13hakta@gmail.com>
Vitaly Chekryzhev [Tue, 3 Jan 2017 18:18:55 +0000 (23:18 +0500)]
ramips: ZyXEL Keenetic Viva: export gpio usb power
Export gpio usb to allow power management of USB port.
Signed-off-by: Vitaly Chekryzhev <13hakta@gmail.com>
Yo Abe [Thu, 26 Jan 2017 13:28:09 +0000 (22:28 +0900)]
ramips: add ip17xx support to WLI-TX4-AG300N
ramips/rt288x WLI-TX4-AG300N was missing support for its 100Mbit switch which
should be included by default.
Signed-off-by: Yo Abe <abe.geel@gmail.com>
[Jo-Philipp Wich: picked from OpenWrt PR#359, rewrap commit msg, fix Sob]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Joseph C. Lehner [Wed, 25 Jan 2017 16:57:56 +0000 (17:57 +0100)]
ramips: fix EX2700 wireless mac
On some EX2700 devices, the MAC address from the eeprom data differs
from the actual MAC address. Fix that, and cleanup the DTS file
while we're at it.
Signed-off-by: Joseph C. Lehner <joseph.c.lehner@gmail.com>
Vitaly Chekryzhev [Thu, 5 Jan 2017 11:25:59 +0000 (16:25 +0500)]
ramips: ZyXEL Keenetic series update wan mac
Signed-off-by: Vitaly Chekryzhev <13hakta@gmail.com>
Vitaly Chekryzhev [Thu, 5 Jan 2017 11:23:07 +0000 (16:23 +0500)]
ramips: ZyXEL Keenetic Omni align factory images
ZyXEL web-flasher requires squashfs to be aligned to 64kb.
Signed-off-by: Vitaly Chekryzhev <13hakta@gmail.com>
Vitaly Chekryzhev [Sun, 1 Jan 2017 21:46:33 +0000 (02:46 +0500)]
ramips: correct keenetic-series switch index
Fix switch name typo
Signed-off-by: Vitaly Chekryzhev <13hakta@gmail.com>
Thibaut VARENE [Wed, 18 Jan 2017 10:34:56 +0000 (11:34 +0100)]
ramips: add support for Netgear WN3000RPv3
This patch adds support for the Netgear WN3000RPv3
http://www.netgear.com/support/product/wn3000rpv3.aspx
Specifications:
- SoC: MediaTek MT7620A (580MHz, ramips)
- RAM: 32MB DDR
- Storage: 8MB NOR SPI flash
- Wireless: builtin MT7620A, 2x2:2 with u.FL connectors
- Ethernet: 1x100M
- Serial: JP1 header, 57600-8N1
- Stock firmware based on OpenWRT Kamikaze
Like the EX2700, the bootloader expects a secondary image signature,
see https://forum.openwrt.org/viewtopic.php?pid=312577#p312577
This is why the same fakeroot image is used for the WN3000
Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
BangLang Huang [Wed, 18 Jan 2017 09:45:48 +0000 (17:45 +0800)]
ramips: fix mac address of miwifi-mini
For the miwifi-mini, the offset of ethernet mac should be 0x28
which you can easyily dump from 'Factory' partition.
Signed-off-by: BangLang Huang <banglang.huang@foxmail.com>
Jo-Philipp Wich [Tue, 14 Feb 2017 17:35:57 +0000 (18:35 +0100)]
feeds: add option to force feed update despite modified files
Implement a new flag "-f" for the feeds update command which causes the
script to fall back to a more agressive git update strategy in case there
are locally modified files in the feeds directory.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Furong Xu [Tue, 14 Feb 2017 09:25:08 +0000 (17:25 +0800)]
ramips: Clean duplicated status property for Omega2 WMAC in dtsi
At the tail of dtsi, wmac is enabled twice, clean the first one
Signed-off-by: Furong Xu <xfr@outlook.com>
Giuseppe Lippolis [Mon, 13 Feb 2017 10:36:41 +0000 (11:36 +0100)]
ramips: fixed sms led polarity into dwr-512 DT
Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
Thibaut VARENE [Sun, 12 Feb 2017 16:11:08 +0000 (17:11 +0100)]
ramips: WN3000RPv3: do not setup switch
The WN3000RPv3 is a repeater with a single ethernet port. Setting up the
switch, even to disable it, is unnecessary and possibly confusing.
Configure LAN as eth0 instead.
Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
Jo-Philipp Wich [Thu, 27 Apr 2017 13:38:48 +0000 (15:38 +0200)]
busybox: revert accidential version bump
Due to an oversight during patch conflict resolution, the PKG_VERSION got
accidentially bumped instead of the PKG_RELEASE field.
Revert the bad version change as there exists no upstream 1.25.2 version.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 25 Apr 2017 12:21:08 +0000 (14:21 +0200)]
busybox: nslookup_lede: mimic output format of old Busybox applet
When invoking "nslookup_lede" with a domain argument and without explicit
query type, issue both A and AAAA queries and display the resulting IP
addresses in a numbered list style, similar to how the old BusyBox nslookup
used to output the records.
This is required for compatibility with certain scripts.
Ref: https://forum.lede-project.org/t/nslookup-ipv6-in-lede-17-01-1
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 25 Apr 2017 12:03:11 +0000 (14:03 +0200)]
busybox: nslookup_lede: fix compatibility with v1.25
The ":*" optstring syntax was only recently introduced with BusyBox v1.26,
older versions need a corresponding hint in the "opt_complementary" variable
to denote flag values that should be stored as llist entries.
Add the required opt_complementary entry to fix random SIGBUS, SIGILL or
SIGSEGV related crashes on BusyBox 1.25.x when attempting to use the "-q"
flag of the "nslookup_lede" applet.
Ref: https://forum.lede-project.org/t/nslookup-ipv6-in-lede-17-01-1
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 27 Apr 2017 13:26:48 +0000 (15:26 +0200)]
x86: enable 4G high memory support for generic (32bit) subtarget
This is required to fully support a number of 32bit x86 systems equipped
with more than one GB ram, e.g. certain Atom CPU machines.
Ref: https://forum.lede-project.org/t/17-01-1-x86-doesnt-detect-all-of-the-ram/3295
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Yousong Zhou [Wed, 11 Jan 2017 11:57:24 +0000 (19:57 +0800)]
generic: keep module aliases inside .modinfo
It seems module aliases are actually essential info. E.g. other modules
may call xt_request_find_match(NFPROTO_IPV{4,6}, "hashlimit", 1) and the
kernel will request user mode modprobe helper for ipt_hashlimit and
ip6t_hashlimit respectively which are aliases of xt_hashlimit.ko
Compile-tested for armvirt, there is nearly no size impact.
Before
-rw-r--r-- 1 yousong yousong 304 Jan 10 17:37 config.seed
-rw-r--r-- 1 yousong yousong 1634 Jan 11 11:07 lede-armvirt-default.manifest
-rw-r--r-- 1 yousong yousong
1533647 Jan 11 11:07 lede-armvirt-default-rootfs.tar.gz
-rw-r--r-- 1 yousong yousong
1802711 Jan 11 11:07 lede-armvirt-root.ext4.gz
-rw-r--r-- 1 yousong yousong
1544597 Jan 11 11:07 lede-armvirt-rootfs.cpio.gz
-rw-r--r-- 1 yousong yousong
1174984 Jan 11 11:07 lede-armvirt-root.squashfs.gz
-rwxr-xr-x 1 yousong yousong
1654712 Jan 11 11:07 lede-armvirt-zImage
-rwxr-xr-x 1 yousong yousong
2738296 Jan 11 11:07 lede-armvirt-zImage-initramfs
drwxr-xr-x 2 yousong yousong 4096 Jan 10 17:35 packages
-rw-r--r-- 1 yousong yousong 739 Jan 10 17:37 sha256sums
After
-rw-r--r-- 1 yousong yousong 304 Jan 10 17:37 config.seed
-rw-r--r-- 1 yousong yousong 1634 Jan 11 11:10 lede-armvirt-default.manifest
-rw-r--r-- 1 yousong yousong
1533646 Jan 11 11:10 lede-armvirt-default-rootfs.tar.gz
-rw-r--r-- 1 yousong yousong
1802711 Jan 11 11:10 lede-armvirt-root.ext4.gz
-rw-r--r-- 1 yousong yousong
1544593 Jan 11 11:10 lede-armvirt-rootfs.cpio.gz
-rw-r--r-- 1 yousong yousong
1174984 Jan 11 11:10 lede-armvirt-root.squashfs.gz
-rwxr-xr-x 1 yousong yousong
1654736 Jan 11 11:10 lede-armvirt-zImage
-rwxr-xr-x 1 yousong yousong
2738144 Jan 11 11:10 lede-armvirt-zImage-initramfs
drwxr-xr-x 2 yousong yousong 4096 Jan 10 17:35 packages
-rw-r--r-- 1 yousong yousong 739 Jan 10 17:37 sha256sums
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Yousong Zhou [Tue, 25 Apr 2017 12:26:38 +0000 (20:26 +0800)]
ubox: bump to version 2017-03-10
Fixes FS#684 with commit
21a4bd0
Changes since current version. All changes except the ones prefixed
with asterisks are for bugfixes. Module aliases awareness is expected
by the kernel to be a basic facility and is required for properly
initializing wireguard.
16f7e16 syslog: remove unnecessary sizeof struct between messages
21a4bd0 kmodloader: modprobe: return 0 for loaded modules
3dc78a4 kmodloader: don't store aliases info in struct module
c553354 cmake: fix typo
8973576 kmodloader: fix not being able to find some modules
fce9382 cmake: Check for getrandom system call
ac2d43e kmodloader: support '-q' quiet option
*
f8d3d16 ubox: Add an option for more accurate timestamps in log
14839f0 kmodloader: make insert_module() idempotent
*
6e3c6dc kmodloader: add module alias awareness
9371411 kmodloader: fix out-of-bound access when parsing .modinfo
a62c946 kmodloader: modprobe: skip possible command line arguments
*
46a4b5f kmodloader: log to kmsg when loading directories of modules
eacc426 kmodloader: remove redundant glob wildcard char
8488bb5 ubox: Initialize conditionally uninitialized variabled
db070f1 ubox: Fix some memory leaks
acc48b5 kmodloader: Fix typo in error message
Size comparison on x86_64 host
function old new delta
main 2190 2344 +154
scan_module_folder 665 793 +128
alloc_module_node - 113 +113
.rodata 946 1036 +90
alloc_module 202 245 +43
free_modules 77 119 +42
load_modprobe 209 237 +28
scan_loaded_modules 241 265 +24
avl_modcmp 45 67 +22
insert_module 204 224 +20
find_module 13 30 +17
static.optind@@GLIBC_2 - 4 +4
static.load_moddeps 118 117 -1
scan_module_folders 55 54 -1
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 10/2 up/down: 685/-2) Total: 683 bytes
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Álvaro Fernández Rojas [Sun, 23 Apr 2017 11:55:03 +0000 (13:55 +0200)]
kernel: use skb_cow_head() to deal with cloned skbs
We need to ensure there is enough headroom to push extra header,
but we also need to check if we are allowed to change headers.
skb_cow_head() is the proper helper to deal with this.
Fixes Ethernet<->WiFi bridge for Raspberry Pi and probably other devices.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Matthias Schiffer [Sat, 22 Apr 2017 16:56:25 +0000 (18:56 +0200)]
ar71xx: fix minor syntax error in /lib/upgrade/platform.sh
Fix a '==' that should be a '=' in a test condition. Busybox fortunately
doesn't care.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Matthias Schiffer [Sat, 22 Apr 2017 16:54:07 +0000 (18:54 +0200)]
ramips: update DEVICE_PACKAGES for Ubiquiti EdgeRouter X
Fixes removal of unneeded kernel modules with per-device rootfs.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Florian Fainelli [Wed, 1 Mar 2017 18:48:32 +0000 (10:48 -0800)]
openssl: Use mkhash for STAMP_CONFIGURED
The current way of creating a STAMP_CONFIGURED filename for OpenSSL can
lead to an extremely long filename that makes touch unable to create it,
and fail the build.
Use mkhash to produce a hash against OPENSSL_OPTIONS which creates a
shortert stamp file,
Fixes #572
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Jo-Philipp Wich [Fri, 21 Apr 2017 11:18:16 +0000 (13:18 +0200)]
busybox: fix build of nslookup_lede applet without IPv6 (#728)
Protect any IPv6 related with appropriate guards to fix compilation with
disabled IPv6 support in Busybox.
Fixes #728.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Florian Fainelli [Wed, 12 Apr 2017 16:02:30 +0000 (09:02 -0700)]
busybox: Move libresolv detection to LEDE Makefile
Since the LEDE nslookup applet is already specific to LEDE, move the
libresolv detection into the busybox Makefile that LEDE uses.
This fixes builds with external toolchains that don't automatically
search for headers and/or libraries without being told so.
Fixes: de5b8e5d2fe1 ("busybox: add musl compatible nslookup replacement")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Rafał Miłecki [Sat, 18 Mar 2017 17:31:36 +0000 (18:31 +0100)]
bcm53xx: backport BCM5301X patches
This fixes GIC interrupts (required before switching to 4.9), adds few
new entires & introduces DTS for Archer C5.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Sun, 12 Mar 2017 15:24:13 +0000 (16:24 +0100)]
bcm53xx: parepare for building more Linksys images
We still can't enable them by default without proper TRX support.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Sat, 11 Mar 2017 11:33:53 +0000 (12:33 +0100)]
bcm53xx: prepare for building Archer C5 V2 image
Don't enable it yet as kernel needs to be updated first.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Vittorio Gambaletta [Sun, 26 Mar 2017 07:55:44 +0000 (09:55 +0200)]
ar71xx: add TP-LINK TL-WR841N/ND v12 image
This router has the same hardware as TP-LINK TL-WR841N/ND v11 (same FCC
ID, same TFTP image name...).
If the stock firmware web interface doesn't accept LEDE factory image,
it can be flashed via the U-Boot TFTP recovery mode, by long-pressing
the reset button after power on.
The TFTP image name is wr841nv11_tp_recovery.bin (yes, v11, not v12).
Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
Daniel Engberg [Wed, 15 Mar 2017 16:14:55 +0000 (17:14 +0100)]
utils/f2fs-tools: Update to 1.8.0
Update f2fs-tools to 1.8.0
Refresh patches
Remove selinux patch, use configure argument instead.
Switch to xz tarball
Adjust url to avoid redirects
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
Jo-Philipp Wich [Tue, 14 Mar 2017 21:38:59 +0000 (22:38 +0100)]
busybox: add musl compatible nslookup replacement
Add an alternative nslookup applet implementation which is compatible with
musl libc wrt. name server selection and which supports a number of additional
features such as query type selection.
Fixes #155, #217
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sat, 15 Apr 2017 15:00:49 +0000 (17:00 +0200)]
kernel: update kernel 4.4 to 4.4.61
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Hans Dedecker [Sat, 1 Apr 2017 11:56:44 +0000 (13:56 +0200)]
odhcpd: update to version 2017-03-29 (FS#635)
3d9f406 rework IPv6 dns address selection (FS#635)
bc6c3ac ndp: keep an exact copy of IPv6 interface addresses
6eb1e01 ndp: code cleanup
eea7d03 rework IPv6 address dump logic
24d21c7 ndp: add syslog debug tracing
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Florian Fainelli [Sat, 4 Mar 2017 21:22:50 +0000 (13:22 -0800)]
odhcpd: update to version 2017-02-28
Brings in the following change:
9eac2a896341 dhcpv6-ia: Check lockf return value
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Hans Dedecker [Thu, 23 Feb 2017 20:56:15 +0000 (21:56 +0100)]
odhcpd: update to version 2017-02-21
1b630f8 router: don't announce prefixes with valid lifetime equal to 0
ba0cac0 router: fix arithmetic exception fault
3495f17 router: allow RA prefix lifetime being set to leasetime value (FS#397)
e437ce9 treewide: simplify dhcp leasetime checking
942fb33 router: support ra_mininterval and ra_lifetime uci parameters (FS#397)
f913337 router.h: fix alignment style
4dc7edb Revert "odhcpd.h: fix alignment style"
62ea54f odhcpd.h: fix alignment style
a898ee5 config: make loglevel configurable via uci (FS#481)
51c756c odhcpd: display correct default log level in usage text
68ee0b5 treewide: define and use macro IN6_IS_ADDR_ULA
fa57225 ndp: deregister netlink event socket for non recoverable errors
ac70d28 odhcpd: fix white space errors
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Mathias Kresin [Sun, 9 Apr 2017 07:14:52 +0000 (09:14 +0200)]
ramips: add RP-N53 pcie wireless eeprom
Fix the PCIe 5GHz wireless by using the on flash eeprom/caldata.
Disable the 2.4GHz band as this band has no antennas attached but is
enabled in the eeprom/caldata.
Fixes: FS#691
Signed-off-by: Mathias Kresin <dev@kresin.me>
Mathias Kresin [Sun, 9 Apr 2017 07:12:55 +0000 (09:12 +0200)]
ramips: fix WHR-600D eeprom dt property
Fix the PCIe 5GHz wireless by using the ralink mtd-eeprom property as
this board have a RT5592 and uses the rt2x00 driver. The mediathek
device tree bindings do not work here.
Fixes: FS#691
Fixes: d8dd207ea6f2 ("ramips: use the ralink,mtd-eeprom device tree property")
Signed-off-by: Mathias Kresin <dev@kresin.me>
Felix Fietkau [Wed, 22 Mar 2017 12:22:57 +0000 (13:22 +0100)]
util-linux: re-enable parallel builds
The original build error in 'more' seems to be gone
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Wed, 22 Mar 2017 12:49:05 +0000 (13:49 +0100)]
util-linux: unconditionally enable ncursesw support
The build dependency is unconditional, and some components might fail if
ncurses is not available
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Daniel Engberg [Mon, 20 Mar 2017 08:51:26 +0000 (09:51 +0100)]
utils/util-linux: Update to 2.29.2
Update util-linux to 2.29.2
Remote 0001-fix-uClibc-ng-scanf-check.patch as it's been merged upstream.
Refresh patches
Change ncurses to ncursesw to fix compilation and avoid confusion
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [remove faulty dependency changes]
Jo-Philipp Wich [Thu, 19 Jan 2017 01:41:02 +0000 (02:41 +0100)]
build: fix triggering opkg/host compilation
Commit
131db36 "build: remove separate /install step for host builds" dropped
the package/*/host/install targets in favor to performing the install steps
within the compile target instead.
Adjust package/Makefile accordingly in order to prevent a missing
staging_dir/host/bin/opkg when staging package archives into the rootfs.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Felix Fietkau [Mon, 20 Feb 2017 11:32:45 +0000 (12:32 +0100)]
libubox: fix host build on macOS
Use the defaults instead of a custom non-portable Host/Install section
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Jo-Philipp Wich [Fri, 17 Feb 2017 09:49:14 +0000 (10:49 +0100)]
libubox: add host build
Our opkg fork requires libubox to build, so add a host build for it.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 16 Feb 2017 16:36:47 +0000 (17:36 +0100)]
opkg: switch to LEDE fork (#120, #551, #571)
Cherry-pick the following commits from master to bump opkg in LEDE 17.01:
b65dc04712 opkg: switch to own fork to improve memory usage
55ffc38004 opkg: re-enable usign support
19720a6f03 opkg: fix handling conffiles in status lists
9e4555f58d opkg: fix stray printf() (#551)
ebf846b005 opkg: mark as essential (FS#571)
aedd5d5cb0 opkg: fix several package installation bugs
48ae44d033 opkg: gracefully handle missing $PATH, fix build warnings
1449b52f02 opkg: backport upstream fixes, code cleanups
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Felix Fietkau [Wed, 5 Apr 2017 21:38:42 +0000 (23:38 +0200)]
mt76: ensure that the metapackage gets built as .ipk
Fixes errors during the image builder run
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Mon, 13 Mar 2017 09:49:58 +0000 (10:49 +0100)]
image.mk: force kernel rebuild on every run
DTS dependencies are not processed correctly so makes it safer against
poentially stale builds
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Jing Qiu [Tue, 14 Mar 2017 07:32:08 +0000 (15:32 +0800)]
kernel: Fix the incorrect i_nlink count after jffs2's RENAME_EXCHANGE operations.
The problem is caused by the incorrect handling of the parent inode's
i_nlink count for the dentry to be RENAME_EXCHANGED. There are 3 cases
to consider. Assume we want to RENAME_EXCHANGE struct dentry *a and
struct dentry *b, and inode_a is pointed to by dentry_a, inode_b is
pointed to by dentry_b:
1. If inode_a is a directory, but inode_b isn't, then we must decrease
the i_nlink count of old_dir_i, and increase the i_nlink of new_dir_i.
2. If inode_a isn't a directory, but inode_b is a directory, then we
must increase the i_nlink of old_dir_i, and decrease the i_nlink count
of new_dir_i.
3. If the types of inode_a and inode_b are the same, we don't change the
i_nlink for either old_dir_i or new_dir_i.
Signed-off-by: Jing Qiu <aqiu0720@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>