summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ARM: dts: imx28-tx28: add trickle-charge config for DS1339Lothar Waßmann2017-10-231-0/+2
| | | | | | | | As the DS1339 driver now supports enabling the trickle charge feature via DTB, add the appropriate properties to utilize this feature. Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx28-tx28: remove the regulators busLothar Waßmann2017-10-141-70/+57
| | | | | | | | | | | It is not recommended to place the regulator nodes inside 'simple-bus', so adjust them accordingly. The motivation for rearranging this is to make it easier to add new regulator nodes in the future. Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx28-tx28: Relicense the TX28 dts file under GPLv2/X11Lothar Waßmann2017-10-141-6/+36
| | | | | | | | | | | | The current GPL only licensing on the dts file makes it very impractical for other software components licensed under another license. In order to make it easier for them to reuse our device trees, relicense our dts files first under a GPL/X11 dual-license. Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx51: Fix inconsistent display port namesMarco Franchi2017-10-134-13/+13
| | | | | | | | | | | | | Contrary to later i.MX SoCs, the parallel display interface pad groups on i.MX51 are called DISP1 and DISP2 in the Reference Manual, not DISP0 and DISP1. Fix this inconsistence by changing the DISP names in the i.mx51 dts. Signed-off-by: Marco Franchi <marco.franchi@nxp.com> Acked-by: Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx: Fix incorrect display nodes notationMarco Franchi2017-10-1330-31/+31
| | | | | | | | | | | | | | The following build warnings are seen with W=1: Warning (unit_address_vs_reg): Node /display@di0 has a unit name, but no reg property Warning (unit_address_vs_reg): Node /display@di1 has a unit name, but no reg property Fix all these warnings by changing 'display@diX' to 'dispX'. Signed-off-by: Marco Franchi <marco.franchi@nxp.com> Acked-by: Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx25-pdk: Add touchscreen supportFabio Estevam2017-10-131-0/+8
| | | | | | | Add support for the built-in touchscreen controller present on MX25. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx6qdl: Remove leading zeroes from unit addressesMarco Franchi2017-10-134-106/+106
| | | | | | | | | | | | | | | | | | The following build warnings are seen with W=1: Warning (simple_bus_reg): Node /soc/sram@00900000 simple-bus unit address format error, expected "900000" Warning (simple_bus_reg): Node /soc/aips-bus@02000000 simple-bus unit address format error, expected "2000000" Warning (simple_bus_reg): Node /soc/aips-bus@02000000/pxp@020f0000 simple-bus unit address format error, expected "20f0000" (...) Remove the leading zeroes from unit addresses to fix the warnings. Signed-off-by: Marco Franchi <marco.franchi@nxp.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx6ul: Remove leading zeroes from unit addressesMarco Franchi2017-10-131-71/+71
| | | | | | | | | | | | | | | | | The following build warnings are seen with W=1: Warning (unit_address_format): Node /interrupt-controller@00a01000 unit name should not have leading 0s Warning (simple_bus_reg): Node /soc/sram@00900000 simple-bus unit address format error, expected "900000" Warning (simple_bus_reg): Node /soc/dma-apbh@01804000 simple-bus unit address format error, expected "1804000" (...) Remove the leading zeroes from unit addresses to fix the warnings. Signed-off-by: Marco Franchi <marco.franchi@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx6q-utilite-pro: add HDMI CEC pinctrlChristopher Spinrath2017-10-131-0/+8
| | | | | | | | | On the Utilite Pro the CEC line is wired up to the HDMI connector. Add the required pinctrl setting. Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx6qdl-sabresd: Add CEC supportFabio Estevam2017-10-131-0/+8
| | | | | | | HDMI_TX_CEC_LINE pin is used for CEC, so pass it in the device tree. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx6qdl-sabresd: Use the 'vpcie-supply' propertyFabio Estevam2017-10-131-1/+1
| | | | | | | | | | | Since commit c26ebe98a103 ("PCI: imx6: Add regulator support"), it is possible to pass the 'vpcie-supply' property to describe the PCIE supply. This way we can remove the 'regulator-always-on' property from the regulator and have a better device tree description. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx6qdl-icore-rqs: Add CAN nodesJagan Teki2017-10-131-0/+28
| | | | | | | | | | Add support for can1 and can2 nodes on Engicam i.CoreM6 RQS QDL module boards. Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx6dl-icore: Add touchscreen nodeJagan Teki2017-10-131-0/+9
| | | | | | | | | | max11801 touchscreen on Engicam iCoreM6 DualLite/Solo module is connected via i2c1, so add max11801: touchscreen@48 on i2c1. Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx6qdl-icore-rqs: Switch to use simple-audio-cardJagan Teki2017-10-132-14/+50
| | | | | | | | | | | | This patch replace fsl,imx-audio-sgtl5000 and use simple-audio-card for Engicam i.CoreM6 RQS QDL platform boards. This patch also fix, pinctrl_adumux. Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx6qdl-icore-rqs: Move Sound nodes to dtsiJagan Teki2017-10-132-24/+22
| | | | | | | | | | | | | | | imx6q, imx6dl icore-rqs modules share common sound nodes, so move the sound nodes from imx6q-icore-rqs into dtsi so-that both can share the common node details. And also replace codec: sgtl5000@0a => sgtl5000: codec@a on imx6q-icore-rqs.dts to [label:] node-name[@unit-address] according to devicetree specification from ePAPER v1.1 Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx6qdl-icore: Add Sound card supportJagan Teki2017-10-131-0/+97
| | | | | | | | | | | Linux Sound card now uses generic simple-audio-card, so add the same along with related audmux and codec(via u2c3) for i.CoreM6 QDL module boards. Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: Add initial Pistachio i.mx6q board support.YuanCheng Cheng2017-09-222-0/+694
| | | | | | | | | | | | | | | | | | | | | | | | Working items: - 800MHz CPU - 2GB of RAM (DDR3) - 4GB of eMMC storage - 1T1R WiFi 2.4 GHz - Power management support - 1x 10/100/1000 Mbps Ethernet WAN port - 2x USB 2.0 Host - PCIe - HDMI/VGA/LVDS display - 1x UART for RS232/422/485 - 2x UART for RS232 - 1x UART for serial console - 1x CAN bus Specification: http://nutsboard.org/pistachio Signed-off-by: YuanCheng Cheng <onlywig@gmail.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx6sx: add vining-2000 board supportChristoph Fritz2017-09-222-0/+573
| | | | | | | | Add initial imx6sx-softing-vining-2000 board support. Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx6: RDU2: disallow RMI4 device sleepLucas Stach2017-09-221-1/+1
| | | | | | | | | This is causing issues with some specific controller configurations, as the platform isn't power limited it's better to keep it disabled. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Tested-by: Chris Healy <cphealy@gmail.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx6: RDU2: disable over-current detection on USB H1Lucas Stach2017-09-221-0/+1
| | | | | | | Just like the OTG port, USB H1 has no over-current detection wired up. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx53: Add GE Healthcare PPDFabien Lahoudere2017-09-202-0/+1043
| | | | | | | | | | PPD is a product from GE Healthcare to monitor vital biometric signals. Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.co.uk> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> Signed-off-by: Martyn Welch <martyn.welch@collabora.co.uk> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* dt-bindings: misc: achc: Add device tree binding for GE ACHCMartyn Welch2017-09-201-0/+26
| | | | | | | | | Add Device Tree binding document for GE Healthcare USB Management Controller (ACHC). Signed-off-by: Martyn Welch <martyn.welch@collabora.co.uk> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* ARM: dts: imx7d-pico: Add Wifi supportVanessa Maegima2017-09-201-0/+39
| | | | | | | | | | imx7d-pico has an ap6212 wifi chip connected to usdhc2 port. Add support for the usdhc2 port and to the WL_REG_ON regulator so Wifi can be functional on this board. Signed-off-by: Vanessa Maegima <vanessa.maegima@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
* Linux 4.14-rc1v4.14-rc1Linus Torvalds2017-09-171-2/+2
|
* Merge tag 'upstream-4.14-rc1' of git://git.infradead.org/linux-ubifsLinus Torvalds2017-09-164-16/+16
|\ | | | | | | | | | | | | | | | | | | | | | | Pull UBI updates from Richard Weinberger: "Minor improvements" * tag 'upstream-4.14-rc1' of git://git.infradead.org/linux-ubifs: UBI: Fix two typos in comments ubi: fastmap: fix spelling mistake: "invalidiate" -> "invalidate" ubi: pr_err() strings should end with newlines ubi: pr_err() strings should end with newlines ubi: pr_err() strings should end with newlines
| * UBI: Fix two typos in commentsUwe Kleine-König2017-09-131-2/+2
| | | | | | | | | | Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Richard Weinberger <richard@nod.at>
| * ubi: fastmap: fix spelling mistake: "invalidiate" -> "invalidate"Colin Ian King2017-09-131-1/+1
| | | | | | | | | | | | | | | | Trivial fix to spelling mistake in ubi_err error message Signed-off-by: Colin Ian King <colin.king@canonical.com> Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by: Richard Weinberger <richard@nod.at>
| * ubi: pr_err() strings should end with newlinesBen Dooks2017-09-131-3/+3
| | | | | | | | | | | | | | | | In build.c, the following pr_err calls should be terminated with a new-line to avoid other messages being concatenated onto the end. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-by: Richard Weinberger <richard@nod.at>
| * ubi: pr_err() strings should end with newlinesBen Dooks2017-09-131-4/+4
| | | | | | | | | | | | | | | | | | In ubi_attach_mtd_dev() the pr_err() calls should have their messgaes terminated with a new-line to avoid other messages being concatenated onto the end. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-by: Richard Weinberger <richard@nod.at>
| * ubi: pr_err() strings should end with newlinesBen Dooks2017-09-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | The ubi_init() function has a few error paths that use the pr_err() to output errors. These should have new lines on them as pr_err() does not automatically do this. This fixes issues where if multiple mtd fail to bind to ubi the console output starts wrapping around. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-by: Richard Weinberger <richard@nod.at>
* | Merge branch 'for-linus-4.14-rc1' of ↵Linus Torvalds2017-09-1614-27/+41
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml Pull UML updates from Richard Weinberger: - minor improvements - fixes for Debian's new gcc defaults (pie enabled by default) - fixes for XSTATE/XSAVE to make UML work again on modern systems * 'for-linus-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: um: return negative in tuntap_open_tramp() um: remove a stray tab um: Use relative modversions with LD_SCRIPT_DYN um: link vmlinux with -no-pie um: Fix CONFIG_GCOV for modules. Fix minor typos and grammar in UML start_up help um: defconfig: Cleanup from old Kconfig options um: Fix FP register size for XSTATE/XSAVE
| * | um: return negative in tuntap_open_tramp()Dan Carpenter2017-09-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The intention is to return negative error codes. "pid" is already negative but we accidentally negate it again back to positive. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Richard Weinberger <richard@nod.at>
| * | um: remove a stray tabDan Carpenter2017-09-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Static checkers would urge us to add curly braces to this code, but actually the code works correctly. It just isn't indented right. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Richard Weinberger <richard@nod.at>
| * | um: Use relative modversions with LD_SCRIPT_DYNThomas Meyer2017-09-131-0/+1
| | | | | | | | | | | | | | | | | | | | | When building a dynamic kernel image use relative symbols with MODVERSIONS. Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Richard Weinberger <richard@nod.at>
| * | um: link vmlinux with -no-pieThomas Meyer2017-09-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Debian's gcc defaults to pie. The global Makefile already defines the -fno-pie option. Link UML dynamic kernel image also with -no-pie to fix the build. Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Richard Weinberger <richard@nod.at>
| * | um: Fix CONFIG_GCOV for modules.Thomas Meyer2017-09-131-0/+7
| | | | | | | | | | | | | | | | | | | | | Explicitly export symbols so modpost doesn't complain. Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Richard Weinberger <richard@nod.at>
| * | Fix minor typos and grammar in UML start_up helpJames Pack2017-09-131-3/+3
| | | | | | | | | | | | | | | Signed-off-by: James Pack <jpack61108@gmail.com> Signed-off-by: Richard Weinberger <richard@nod.at>
| * | um: defconfig: Cleanup from old Kconfig optionsKrzysztof Kozlowski2017-09-132-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | Remove old, dead Kconfig option INET_LRO. It is gone since commit 7bbf3cae65b6 ("ipv4: Remove inet_lro library"). Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Richard Weinberger <richard@nod.at>
| * | um: Fix FP register size for XSTATE/XSAVEThomas Meyer2017-09-136-19/+27
| |/ | | | | | | | | | | | | | | Hard code max size. Taken from https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=gdb/common/x86-xstate.h Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Richard Weinberger <richard@nod.at>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds2017-09-1648-234/+467
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull networking fixes from David Miller: 1) Fix hotplug deadlock in hv_netvsc, from Stephen Hemminger. 2) Fix double-free in rmnet driver, from Dan Carpenter. 3) INET connection socket layer can double put request sockets, fix from Eric Dumazet. 4) Don't match collect metadata-mode tunnels if the device is down, from Haishuang Yan. 5) Do not perform TSO6/GSO on ipv6 packets with extensions headers in be2net driver, from Suresh Reddy. 6) Fix scaling error in gen_estimator, from Eric Dumazet. 7) Fix 64-bit statistics deadlock in systemport driver, from Florian Fainelli. 8) Fix use-after-free in sctp_sock_dump, from Xin Long. 9) Reject invalid BPF_END instructions in verifier, from Edward Cree. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (43 commits) mlxsw: spectrum_router: Only handle IPv4 and IPv6 events Documentation: link in networking docs tcp: fix data delivery rate bpf/verifier: reject BPF_ALU64|BPF_END sctp: do not mark sk dumped when inet_sctp_diag_fill returns err sctp: fix an use-after-free issue in sctp_sock_dump netvsc: increase default receive buffer size tcp: update skb->skb_mstamp more carefully net: ipv4: fix l3slave check for index returned in IP_PKTINFO net: smsc911x: Quieten netif during suspend net: systemport: Fix 64-bit stats deadlock net: vrf: avoid gcc-4.6 warning qed: remove unnecessary call to memset tg3: clean up redundant initialization of tnapi tls: make tls_sw_free_resources static sctp: potential read out of bounds in sctp_ulpevent_type_enabled() MAINTAINERS: review Renesas DT bindings as well net_sched: gen_estimator: fix scaling error in bytes/packets samples nfp: wait for the NSP resource to appear on boot nfp: wait for board state before talking to the NSP ...
| * | mlxsw: spectrum_router: Only handle IPv4 and IPv6 eventsIdo Schimmel2017-09-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver doesn't support events from address families other than IPv4 and IPv6, so ignore them. Otherwise, we risk queueing a work item before it's initialized. This can happen in case a VRF is configured when MROUTE_MULTIPLE_TABLES is enabled, as the VRF driver will try to add an l3mdev rule for the IPMR family. Fixes: 65e65ec137f4 ("mlxsw: spectrum_router: Don't ignore IPv6 notifications") Signed-off-by: Ido Schimmel <idosch@mellanox.com> Reported-by: Andreas Rammhold <andreas@rammhold.de> Reported-by: Florian Klink <flokli@flokli.de> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | Documentation: link in networking docsPavel Machek2017-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fix link in filter.txt. Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | tcp: fix data delivery rateEric Dumazet2017-09-161-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now skb->mstamp_skb is updated later, we also need to call tcp_rate_skb_sent() after the update is done. Fixes: 8c72c65b426b ("tcp: update skb->skb_mstamp more carefully") Signed-off-by: Eric Dumazet <edumazet@google.com> Acked-by: Soheil Hassas Yeganeh <soheil@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bpf/verifier: reject BPF_ALU64|BPF_ENDEdward Cree2017-09-162-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Neither ___bpf_prog_run nor the JITs accept it. Also adds a new test case. Fixes: 17a5267067f3 ("bpf: verifier (add verifier core)") Signed-off-by: Edward Cree <ecree@solarflare.com> Acked-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | sctp: do not mark sk dumped when inet_sctp_diag_fill returns errXin Long2017-09-151-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sctp_diag would not actually dump out sk/asoc if inet_sctp_diag_fill returns err, in which case it shouldn't mark sk dumped by setting cb->args[3] as 1 in sctp_sock_dump(). Otherwise, it could cause some asocs to have no parent's sk dumped in 'ss --sctp'. So this patch is to not set cb->args[3] when inet_sctp_diag_fill() returns err in sctp_sock_dump(). Fixes: 8f840e47f190 ("sctp: add the sctp_diag.c file") Signed-off-by: Xin Long <lucien.xin@gmail.com> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> Acked-by: Neil Horman <nhorman@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | sctp: fix an use-after-free issue in sctp_sock_dumpXin Long2017-09-153-39/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 86fdb3448cc1 ("sctp: ensure ep is not destroyed before doing the dump") tried to fix an use-after-free issue by checking !sctp_sk(sk)->ep with holding sock and sock lock. But Paolo noticed that endpoint could be destroyed in sctp_rcv without sock lock protection. It means the use-after-free issue still could be triggered when sctp_rcv put and destroy ep after sctp_sock_dump checks !ep, although it's pretty hard to reproduce. I could reproduce it by mdelay in sctp_rcv while msleep in sctp_close and sctp_sock_dump long time. This patch is to add another param cb_done to sctp_for_each_transport and dump ep->assocs with holding tsp after jumping out of transport's traversal in it to avoid this issue. It can also improve sctp diag dump to make it run faster, as no need to save sk into cb->args[5] and keep calling sctp_for_each_transport any more. This patch is also to use int * instead of int for the pos argument in sctp_for_each_transport, which could make postion increment only in sctp_for_each_transport and no need to keep changing cb->args[2] in sctp_sock_filter and sctp_sock_dump any more. Fixes: 86fdb3448cc1 ("sctp: ensure ep is not destroyed before doing the dump") Reported-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Xin Long <lucien.xin@gmail.com> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> Acked-by: Neil Horman <nhorman@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | netvsc: increase default receive buffer sizeStephen Hemminger2017-09-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default receive buffer size was reduced by recent change to a value which was appropriate for 10G and Windows Server 2016. But the value is too small for full performance with 40G on Azure. Increase the default back to maximum supported by host. Fixes: 8b5327975ae1 ("netvsc: allow controlling send/recv buffer size") Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | tcp: update skb->skb_mstamp more carefullyEric Dumazet2017-09-151-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | liujian reported a problem in TCP_USER_TIMEOUT processing with a patch in tcp_probe_timer() : https://www.spinics.net/lists/netdev/msg454496.html After investigations, the root cause of the problem is that we update skb->skb_mstamp of skbs in write queue, even if the attempt to send a clone or copy of it failed. One reason being a routing problem. This patch prevents this, solving liujian issue. It also removes a potential RTT miscalculation, since __tcp_retransmit_skb() is not OR-ing TCP_SKB_CB(skb)->sacked with TCPCB_EVER_RETRANS if a failure happens, but skb->skb_mstamp has been changed. A future ACK would then lead to a very small RTT sample and min_rtt would then be lowered to this too small value. Tested: # cat user_timeout.pkt --local_ip=192.168.102.64 0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 +0 bind(3, ..., ...) = 0 +0 listen(3, 1) = 0 +0 `ifconfig tun0 192.168.102.64/16; ip ro add 192.0.2.1 dev tun0` +0 < S 0:0(0) win 0 <mss 1460> +0 > S. 0:0(0) ack 1 <mss 1460> +.1 < . 1:1(0) ack 1 win 65530 +0 accept(3, ..., ...) = 4 +0 setsockopt(4, SOL_TCP, TCP_USER_TIMEOUT, [3000], 4) = 0 +0 write(4, ..., 24) = 24 +0 > P. 1:25(24) ack 1 win 29200 +.1 < . 1:1(0) ack 25 win 65530 //change the ipaddress +1 `ifconfig tun0 192.168.0.10/16` +1 write(4, ..., 24) = 24 +1 write(4, ..., 24) = 24 +1 write(4, ..., 24) = 24 +1 write(4, ..., 24) = 24 +0 `ifconfig tun0 192.168.102.64/16` +0 < . 1:2(1) ack 25 win 65530 +0 `ifconfig tun0 192.168.0.10/16` +3 write(4, ..., 24) = -1 # ./packetdrill user_timeout.pkt Signed-off-by: Eric Dumazet <edumazet@googl.com> Reported-by: liujian <liujian56@huawei.com> Acked-by: Neal Cardwell <ncardwell@google.com> Acked-by: Yuchung Cheng <ycheng@google.com> Acked-by: Soheil Hassas Yeganeh <soheil@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: ipv4: fix l3slave check for index returned in IP_PKTINFODavid Ahern2017-09-151-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rt_iif is only set to the actual egress device for the output path. The recent change to consider the l3slave flag when returning IP_PKTINFO works for local traffic (the correct device index is returned), but it broke the more typical use case of packets received from a remote host always returning the VRF index rather than the original ingress device. Update the fixup to consider l3slave and rt_iif actually getting set. Fixes: 1dfa76390bf05 ("net: ipv4: add check for l3slave for index returned in IP_PKTINFO") Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: smsc911x: Quieten netif during suspendGeert Uytterhoeven2017-09-151-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the network interface is kept running during suspend, the net core may call net_device_ops.ndo_start_xmit() while the Ethernet device is still suspended, which may lead to a system crash. E.g. on sh73a0/kzm9g and r8a73a4/ape6evm, the external Ethernet chip is driven by a PM controlled clock. If the Ethernet registers are accessed while the clock is not running, the system will crash with an imprecise external abort. As this is a race condition with a small time window, it is not so easy to trigger at will. Using pm_test may increase your chances: # echo 0 > /sys/module/printk/parameters/console_suspend # echo platform > /sys/power/pm_test # echo mem > /sys/power/state To fix this, make sure the network interface is quietened during suspend. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>