Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e19062e authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge 4.19.287 into android-4.19-stable



Changes in 4.19.287
	power: supply: ab8500: Fix external_power_changed race
	power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule()
	ARM: dts: vexpress: add missing cache properties
	power: supply: Ratelimit no data debug output
	regulator: Fix error checking for debugfs_create_dir
	irqchip/meson-gpio: Mark OF related data as maybe unused
	power: supply: Fix logic checking if system is running from battery
	parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu()
	MIPS: Alchemy: fix dbdma2
	mips: Move initrd_start check after initrd address sanitisation.
	xen/blkfront: Only check REQ_FUA for writes
	ocfs2: fix use-after-free when unmounting read-only filesystem
	ocfs2: check new file size on fallocate call
	nios2: dts: Fix tse_mac "max-frame-size" property
	nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key()
	nilfs2: fix possible out-of-bounds segment allocation in resize ioctl
	kexec: support purgatories with .text.hot sections
	powerpc/purgatory: remove PGO flags
	nouveau: fix client work fence deletion race
	RDMA/uverbs: Restrict usage of privileged QKEYs
	net: usb: qmi_wwan: add support for Compal RXM-G1
	Remove DECnet support from kernel
	USB: serial: option: add Quectel EM061KGL series
	usb: dwc3: gadget: Reset num TRBs before giving back the request
	usb: gadget: f_ncm: Add OS descriptor support
	usb: gadget: f_ncm: Fix NTP-32 support
	netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM
	ping6: Fix send to link-local addresses with VRF.
	RDMA/rxe: Remove the unused variable obj
	RDMA/rxe: Removed unused name from rxe_task struct
	RDMA/rxe: Fix the use-before-initialization error of resp_pkts
	IB/uverbs: Fix to consider event queue closing also upon non-blocking mode
	IB/isert: Fix dead lock in ib_isert
	IB/isert: Fix possible list corruption in CMA handler
	IB/isert: Fix incorrect release of isert connection
	sctp: fix an error code in sctp_sf_eat_auth()
	igb: fix nvm.ops.read() error handling
	drm/nouveau/dp: check for NULL nv_connector->native_mode
	drm/nouveau/kms: Don't change EDID when it hasn't actually changed
	drm/nouveau: add nv_encoder pointer check for NULL
	net: lapbether: only support ethernet devices
	net: tipc: resize nlattr array to correct size
	selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET
	neighbour: Remove unused inline function neigh_key_eq16()
	net: Remove unused inline function dst_hold_and_use()
	neighbour: delete neigh_lookup_nodev as not used
	drm/nouveau/kms: Fix NULL pointer dereference in nouveau_connector_detect_depth
	powerpc: Fix defconfig choice logic when cross compiling
	mmc: block: ensure error propagation for non-blk
	Linux 4.19.287

Change-Id: Ib4119b05e8fe06820cd2d6f3aa66a7e7e8cc5100
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents 5ac3d09d 10c99496
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -819,10 +819,6 @@

	debugpat	[X86] Enable PAT debugging

	decnet.addr=	[HW,NET]
			Format: <area>[,<node>]
			See also Documentation/networking/decnet.txt.

	default_hugepagesz=
			[same as hugepagesz=] The size of the default
			HugeTLB page size. This is the size represented by
+0 −1
Original line number Diff line number Diff line
@@ -290,7 +290,6 @@ Code Seq#(hex) Include File Comments
0x89	00-06	arch/x86/include/asm/sockios.h
0x89	0B-DF	linux/sockios.h
0x89	E0-EF	linux/sockios.h		SIOCPROTOPRIVATE range
0x89	E0-EF	linux/dn.h		PROTOPRIVATE range
0x89	F0-FF	linux/sockios.h		SIOCDEVPRIVATE range
0x8B	all	linux/wireless.h
0x8C	00-3F				WiNRADiO driver
+0 −232
Original line number Diff line number Diff line
                    Linux DECnet Networking Layer Information
                   ===========================================

1) Other documentation....

   o Project Home Pages
       http://www.chygwyn.com/                      	    - Kernel info
       http://linux-decnet.sourceforge.net/                - Userland tools
       http://www.sourceforge.net/projects/linux-decnet/   - Status page

2) Configuring the kernel

Be sure to turn on the following options:

    CONFIG_DECNET (obviously)
    CONFIG_PROC_FS (to see what's going on)
    CONFIG_SYSCTL (for easy configuration)

if you want to try out router support (not properly debugged yet)
you'll need the following options as well...

    CONFIG_DECNET_ROUTER (to be able to add/delete routes)
    CONFIG_NETFILTER (will be required for the DECnet routing daemon)

    CONFIG_DECNET_ROUTE_FWMARK is optional

Don't turn on SIOCGIFCONF support for DECnet unless you are really sure
that you need it, in general you won't and it can cause ifconfig to
malfunction.

Run time configuration has changed slightly from the 2.4 system. If you
want to configure an endnode, then the simplified procedure is as follows:

 o Set the MAC address on your ethernet card before starting _any_ other
   network protocols.

As soon as your network card is brought into the UP state, DECnet should
start working. If you need something more complicated or are unsure how
to set the MAC address, see the next section. Also all configurations which
worked with 2.4 will work under 2.5 with no change.

3) Command line options

You can set a DECnet address on the kernel command line for compatibility
with the 2.4 configuration procedure, but in general it's not needed any more.
If you do st a DECnet address on the command line, it has only one purpose
which is that its added to the addresses on the loopback device.

With 2.4 kernels, DECnet would only recognise addresses as local if they
were added to the loopback device. In 2.5, any local interface address
can be used to loop back to the local machine. Of course this does not
prevent you adding further addresses to the loopback device if you
want to.

N.B. Since the address list of an interface determines the addresses for
which "hello" messages are sent, if you don't set an address on the loopback
interface then you won't see any entries in /proc/net/neigh for the local
host until such time as you start a connection. This doesn't affect the
operation of the local communications in any other way though.

The kernel command line takes options looking like the following:

    decnet.addr=1,2

the two numbers are the node address 1,2 = 1.2 For 2.2.xx kernels
and early 2.3.xx kernels, you must use a comma when specifying the
DECnet address like this. For more recent 2.3.xx kernels, you may
use almost any character except space, although a `.` would be the most
obvious choice :-)

There used to be a third number specifying the node type. This option
has gone away in favour of a per interface node type. This is now set
using /proc/sys/net/decnet/conf/<dev>/forwarding. This file can be
set with a single digit, 0=EndNode, 1=L1 Router and  2=L2 Router.

There are also equivalent options for modules. The node address can
also be set through the /proc/sys/net/decnet/ files, as can other system
parameters.

Currently the only supported devices are ethernet and ip_gre. The
ethernet address of your ethernet card has to be set according to the DECnet
address of the node in order for it to be autoconfigured (and then appear in
/proc/net/decnet_dev). There is a utility available at the above
FTP sites called dn2ethaddr which can compute the correct ethernet
address to use. The address can be set by ifconfig either before or
at the time the device is brought up. If you are using RedHat you can
add the line:

    MACADDR=AA:00:04:00:03:04

or something similar, to /etc/sysconfig/network-scripts/ifcfg-eth0 or
wherever your network card's configuration lives. Setting the MAC address
of your ethernet card to an address starting with "hi-ord" will cause a
DECnet address which matches to be added to the interface (which you can
verify with iproute2).

The default device for routing can be set through the /proc filesystem
by setting /proc/sys/net/decnet/default_device to the
device you want DECnet to route packets out of when no specific route
is available. Usually this will be eth0, for example:

    echo -n "eth0" >/proc/sys/net/decnet/default_device

If you don't set the default device, then it will default to the first
ethernet card which has been autoconfigured as described above. You can
confirm that by looking in the default_device file of course.

There is a list of what the other files under /proc/sys/net/decnet/ do
on the kernel patch web site (shown above).

4) Run time kernel configuration

This is either done through the sysctl/proc interface (see the kernel web
pages for details on what the various options do) or through the iproute2
package in the same way as IPv4/6 configuration is performed.

Documentation for iproute2 is included with the package, although there is
as yet no specific section on DECnet, most of the features apply to both
IP and DECnet, albeit with DECnet addresses instead of IP addresses and
a reduced functionality.

If you want to configure a DECnet router you'll need the iproute2 package
since its the _only_ way to add and delete routes currently. Eventually
there will be a routing daemon to send and receive routing messages for
each interface and update the kernel routing tables accordingly. The
routing daemon will use netfilter to listen to routing packets, and
rtnetlink to update the kernels routing tables. 

The DECnet raw socket layer has been removed since it was there purely
for use by the routing daemon which will now use netfilter (a much cleaner
and more generic solution) instead.

5) How can I tell if its working ?

Here is a quick guide of what to look for in order to know if your DECnet
kernel subsystem is working.

   - Is the node address set (see /proc/sys/net/decnet/node_address)
   - Is the node of the correct type 
                             (see /proc/sys/net/decnet/conf/<dev>/forwarding)
   - Is the Ethernet MAC address of each Ethernet card set to match
     the DECnet address. If in doubt use the dn2ethaddr utility available
     at the ftp archive.
   - If the previous two steps are satisfied, and the Ethernet card is up,
     you should find that it is listed in /proc/net/decnet_dev and also
     that it appears as a directory in /proc/sys/net/decnet/conf/. The
     loopback device (lo) should also appear and is required to communicate
     within a node.
   - If you have any DECnet routers on your network, they should appear
     in /proc/net/decnet_neigh, otherwise this file will only contain the
     entry for the node itself (if it doesn't check to see if lo is up).
   - If you want to send to any node which is not listed in the
     /proc/net/decnet_neigh file, you'll need to set the default device
     to point to an Ethernet card with connection to a router. This is
     again done with the /proc/sys/net/decnet/default_device file.
   - Try starting a simple server and client, like the dnping/dnmirror
     over the loopback interface. With luck they should communicate.
     For this step and those after, you'll need the DECnet library
     which can be obtained from the above ftp sites as well as the
     actual utilities themselves.
   - If this seems to work, then try talking to a node on your local
     network, and see if you can obtain the same results.
   - At this point you are on your own... :-)

6) How to send a bug report

If you've found a bug and want to report it, then there are several things
you can do to help me work out exactly what it is that is wrong. Useful
information (_most_ of which _is_ _essential_) includes:

 - What kernel version are you running ?
 - What version of the patch are you running ?
 - How far though the above set of tests can you get ?
 - What is in the /proc/decnet* files and /proc/sys/net/decnet/* files ?
 - Which services are you running ?
 - Which client caused the problem ?
 - How much data was being transferred ?
 - Was the network congested ?
 - How can the problem be reproduced ?
 - Can you use tcpdump to get a trace ? (N.B. Most (all?) versions of 
   tcpdump don't understand how to dump DECnet properly, so including
   the hex listing of the packet contents is _essential_, usually the -x flag.
   You may also need to increase the length grabbed with the -s flag. The
   -e flag also provides very useful information (ethernet MAC addresses))

7) MAC FAQ

A quick FAQ on ethernet MAC addresses to explain how Linux and DECnet
interact and how to get the best performance from your hardware. 

Ethernet cards are designed to normally only pass received network frames 
to a host computer when they are addressed to it, or to the broadcast address.

Linux has an interface which allows the setting of extra addresses for
an ethernet card to listen to. If the ethernet card supports it, the
filtering operation will be done in hardware, if not the extra unwanted packets
received will be discarded by the host computer. In the latter case,
significant processor time and bus bandwidth can be used up on a busy
network (see the NAPI documentation for a longer explanation of these
effects).

DECnet makes use of this interface to allow running DECnet on an ethernet 
card which has already been configured using TCP/IP (presumably using the 
built in MAC address of the card, as usual) and/or to allow multiple DECnet
addresses on each physical interface. If you do this, be aware that if your
ethernet card doesn't support perfect hashing in its MAC address filter
then your computer will be doing more work than required. Some cards
will simply set themselves into promiscuous mode in order to receive
packets from the DECnet specified addresses. So if you have one of these
cards its better to set the MAC address of the card as described above
to gain the best efficiency. Better still is to use a card which supports
NAPI as well.


8) Mailing list

If you are keen to get involved in development, or want to ask questions
about configuration, or even just report bugs, then there is a mailing
list that you can join, details are at:

http://sourceforge.net/mail/?group_id=4993

9) Legal Info

The Linux DECnet project team have placed their code under the GPL. The
software is provided "as is" and without warranty express or implied.
DECnet is a trademark of Compaq. This software is not a product of
Compaq. We acknowledge the help of people at Compaq in providing extra
documentation above and beyond what was previously publicly available.

Steve Whitehouse <SteveW@ACM.org>
+0 −1
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ Table : Subdirectories in /proc/sys/net
 ethernet  Ethernet protocol   rose       X.25 PLP layer
 ipv4      IP version 4        x25        X.25 protocol
 ipx       IPX                 token-ring IBM token ring
 bridge    Bridging            decnet     DEC net
 ipv6      IP version 6        tipc       TIPC
..............................................................................

+0 −7
Original line number Diff line number Diff line
@@ -4153,13 +4153,6 @@ F: include/uapi/linux/dccp.h
F:	include/linux/tfrc.h
F:	net/dccp/

DECnet NETWORK LAYER
W:	http://linux-decnet.sourceforge.net
L:	linux-decnet-user@lists.sourceforge.net
S:	Orphan
F:	Documentation/networking/decnet.txt
F:	net/decnet/

DECSTATION PLATFORM SUPPORT
M:	"Maciej W. Rozycki" <macro@linux-mips.org>
L:	linux-mips@linux-mips.org
Loading