Merge tag 'docs-5.0' of git://git.lwn.net/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 29 Dec 2018 19:21:49 +0000 (11:21 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 29 Dec 2018 19:21:49 +0000 (11:21 -0800)
Pull documentation update from Jonathan Corbet:
 "A fairly normal cycle for documentation stuff. We have a new document
  on perf security, more Italian translations, more improvements to the
  memory-management docs, improvements to the pathname lookup
  documentation, and the usual array of smaller fixes.

  As is often the case, there are a few reaches outside of
  Documentation/ to adjust kerneldoc comments"

* tag 'docs-5.0' of git://git.lwn.net/linux: (38 commits)
  docs: improve pathname-lookup document structure
  configfs: fix wrong name of struct in documentation
  docs/mm-api: link slab_common.c to "The Slab Cache" section
  slab: make kmem_cache_create{_usercopy} description proper kernel-doc
  doc:process: add links where missing
  docs/core-api: make mm-api.rst more structured
  x86, boot: documentation whitespace fixup
  Documentation: devres: note checking needs when converting
  doc:it: add some process/* translations
  doc:it: fixes in process/1.Intro
  Documentation: convert path-lookup from markdown to resturctured text
  Documentation/admin-guide: update admin-guide index.rst
  Documentation/admin-guide: introduce perf-security.rst file
  scripts/kernel-doc: Fix struct and struct field attribute processing
  Documentation: dev-tools: Fix typos in index.rst
  Correct gen_init_cpio tool's documentation
  Document /proc/pid PID reuse behavior
  Documentation: update path-lookup.md for parallel lookups
  Documentation: Use "while" instead of "whilst"
  dmaengine: Add mailing list address to the documentation
  ...

1  2 
Documentation/admin-guide/kernel-parameters.txt
Documentation/admin-guide/security-bugs.rst
Documentation/driver-model/devres.txt
Documentation/filesystems/proc.txt
Documentation/gpu/drm-uapi.rst
Documentation/media/uapi/v4l/extended-controls.rst
Documentation/networking/device_drivers/dec/de4x5.txt
Documentation/networking/rxrpc.txt
Documentation/x86/boot.txt
include/linux/slab.h
mm/slab_common.c

index 30187d49dc2c7d38869c4073e60093d315c3fc4e,410602752dc40530c9628cc6ee51f71420ccdf2d..dcd6c93c7aacb04f14120bf0c972d2be26fb1c25
@@@ -32,19 -32,18 +32,19 @@@ Disclosure and embargoed informatio
  The security list is not a disclosure channel.  For that, see Coordination
  below.
  
 -Once a robust fix has been developed, our preference is to release the
 -fix in a timely fashion, treating it no differently than any of the other
 -thousands of changes and fixes the Linux kernel project releases every
 -month.
 -
 -However, at the request of the reporter, we will postpone releasing the
 -fix for up to 5 business days after the date of the report or after the
 -embargo has lifted; whichever comes first.  The only exception to that
 -rule is if the bug is publicly known, in which case the preference is to
 -release the fix as soon as it's available.
 +Once a robust fix has been developed, the release process starts.  Fixes
 +for publicly known bugs are released immediately.
 +
 +Although our preference is to release fixes for publicly undisclosed bugs
 +as soon as they become available, this may be postponed at the request of
 +the reporter or an affected party for up to 7 calendar days from the start
 +of the release process, with an exceptional extension to 14 calendar days
 +if it is agreed that the criticality of the bug requires more time.  The
 +only valid reason for deferring the publication of a fix is to accommodate
 +the logistics of QA and large scale rollouts which require release
 +coordination.
  
- Whilst embargoed information may be shared with trusted individuals in
+ While embargoed information may be shared with trusted individuals in
  order to develop a fix, such information will not be published alongside
  the fix or on any other disclosure channel without the permission of the
  reporter.  This includes but is not limited to the original bug report
Simple merge
Simple merge
index 4b4bf2c5eac5d8f54e0bfb5992837099740008a9,f2f079e91b4cf526ff87cc5a53b357af9aa51852..a752aa561ea4d256341274aafdeaf2ebc45c872f
@@@ -194,12 -194,9 +194,12 @@@ EPERM/EACCES
          Returned for an operation that is valid, but needs more privileges.
          E.g. root-only or much more common, DRM master-only operations return
          this when when called by unpriviledged clients. There's no clear
-         difference between EACCESS and EPERM.
+         difference between EACCES and EPERM.
  
  ENODEV:
 +        The device is not (yet) present or fully initialized.
 +
 +EOPNOTSUPP:
          Feature (like PRIME, modesetting, GEM) is not supported by the driver.
  
  ENXIO:
index c8e4ca9b2c3e69f212a99dae80d9f964f0ab3ff3,0000000000000000000000000000000000000000..452aac58341df4e0dbcde3d255027babc8965f15
mode 100644,000000..100644
--- /dev/null
@@@ -1,178 -1,0 +1,178 @@@
-     pause whilst the   driver figures out   where its media went).  My tests
 +    Originally,   this  driver  was    written  for the  Digital   Equipment
 +    Corporation series of EtherWORKS Ethernet cards:
 +
 +        DE425 TP/COAX EISA
 +      DE434 TP PCI
 +      DE435 TP/COAX/AUI PCI
 +      DE450 TP/COAX/AUI PCI
 +      DE500 10/100 PCI Fasternet
 +
 +    but it  will  now attempt  to  support all  cards which   conform to the
 +    Digital Semiconductor   SROM   Specification.    The  driver   currently
 +    recognises the following chips:
 +
 +        DC21040  (no SROM) 
 +      DC21041[A]  
 +      DC21140[A] 
 +      DC21142 
 +      DC21143 
 +
 +    So far the driver is known to work with the following cards:
 +
 +        KINGSTON
 +      Linksys
 +      ZNYX342
 +      SMC8432
 +      SMC9332 (w/new SROM)
 +      ZNYX31[45]
 +      ZNYX346 10/100 4 port (can act as a 10/100 bridge!) 
 +
 +    The driver has been tested on a relatively busy network using the DE425,
 +    DE434, DE435 and DE500 cards and benchmarked with 'ttcp': it transferred
 +    16M of data to a DECstation 5000/200 as follows:
 +
 +                TCP           UDP
 +             TX     RX     TX     RX
 +    DE425   1030k  997k   1170k  1128k
 +    DE434   1063k  995k   1170k  1125k
 +    DE435   1063k  995k   1170k  1125k
 +    DE500   1063k  998k   1170k  1125k  in 10Mb/s mode
 +
 +    All  values are typical (in   kBytes/sec) from a  sample  of 4 for  each
 +    measurement. Their error is +/-20k on a quiet (private) network and also
 +    depend on what load the CPU has.
 +
 +    =========================================================================
 +
 +    The ability to load this  driver as a loadable  module has been included
 +    and used extensively  during the driver development  (to save those long
 +    reboot sequences).  Loadable module support  under PCI and EISA has been
 +    achieved by letting the driver autoprobe as if it were compiled into the
 +    kernel. Do make sure  you're not sharing  interrupts with anything  that
 +    cannot accommodate  interrupt  sharing!
 +
 +    To utilise this ability, you have to do 8 things:
 +
 +    0) have a copy of the loadable modules code installed on your system.
 +    1) copy de4x5.c from the  /linux/drivers/net directory to your favourite
 +    temporary directory.
 +    2) for fixed  autoprobes (not  recommended),  edit the source code  near
 +    line 5594 to reflect the I/O address  you're using, or assign these when
 +    loading by:
 +
 +                   insmod de4x5 io=0xghh           where g = bus number
 +                                                      hh = device number   
 +
 +       NB: autoprobing for modules is now supported by default. You may just
 +           use:
 +
 +                   insmod de4x5
 +
 +           to load all available boards. For a specific board, still use
 +         the 'io=?' above.
 +    3) compile  de4x5.c, but include -DMODULE in  the command line to ensure
 +    that the correct bits are compiled (see end of source code).
 +    4) if you are wanting to add a new  card, goto 5. Otherwise, recompile a
 +    kernel with the de4x5 configuration turned off and reboot.
 +    5) insmod de4x5 [io=0xghh]
 +    6) run the net startup bits for your new eth?? interface(s) manually 
 +    (usually /etc/rc.inet[12] at boot time). 
 +    7) enjoy!
 +
 +    To unload a module, turn off the associated interface(s) 
 +    'ifconfig eth?? down' then 'rmmod de4x5'.
 +
 +    Automedia detection is included so that in  principle you can disconnect
 +    from, e.g.  TP, reconnect  to BNC  and  things will still work  (after a
++    pause while the   driver figures out   where its media went).  My tests
 +    using ping showed that it appears to work....
 +
 +    By  default,  the driver will  now   autodetect any  DECchip based card.
 +    Should you have a need to restrict the driver to DIGITAL only cards, you
 +    can compile with a  DEC_ONLY define, or if  loading as a module, use the
 +    'dec_only=1'  parameter. 
 +
 +    I've changed the timing routines to  use the kernel timer and scheduling
 +    functions  so that the  hangs  and other assorted problems that occurred
 +    while autosensing the  media  should be gone.  A  bonus  for the DC21040
 +    auto  media sense algorithm is  that it can now  use one that is more in
 +    line with the  rest (the DC21040  chip doesn't  have a hardware  timer).
 +    The downside is the 1 'jiffies' (10ms) resolution.
 +
 +    IEEE 802.3u MII interface code has  been added in anticipation that some
 +    products may use it in the future.
 +
 +    The SMC9332 card  has a non-compliant SROM  which needs fixing -  I have
 +    patched this  driver to detect it  because the SROM format used complies
 +    to a previous DEC-STD format.
 +
 +    I have removed the buffer copies needed for receive on Intels.  I cannot
 +    remove them for   Alphas since  the  Tulip hardware   only does longword
 +    aligned  DMA transfers  and  the  Alphas get   alignment traps with  non
 +    longword aligned data copies (which makes them really slow). No comment.
 +
 +    I  have added SROM decoding  routines to make this  driver work with any
 +    card that  supports the Digital  Semiconductor SROM spec. This will help
 +    all  cards running the dc2114x  series chips in particular.  Cards using
 +    the dc2104x  chips should run correctly with  the basic  driver.  I'm in
 +    debt to <mjacob@feral.com> for the  testing and feedback that helped get
 +    this feature working.  So far we have  tested KINGSTON, SMC8432, SMC9332
 +    (with the latest SROM complying  with the SROM spec  V3: their first was
 +    broken), ZNYX342  and  LinkSys. ZNYX314 (dual  21041  MAC) and  ZNYX 315
 +    (quad 21041 MAC)  cards also  appear  to work despite their  incorrectly
 +    wired IRQs.
 +
 +    I have added a temporary fix for interrupt problems when some SCSI cards
 +    share the same interrupt as the DECchip based  cards. The problem occurs
 +    because  the SCSI card wants to  grab the interrupt  as a fast interrupt
 +    (runs the   service routine with interrupts turned   off) vs.  this card
 +    which really needs to run the service routine with interrupts turned on.
 +    This driver will  now   add the interrupt service   routine  as  a  fast
 +    interrupt if it   is bounced from the   slow interrupt.  THIS IS NOT   A
 +    RECOMMENDED WAY TO RUN THE DRIVER  and has been done  for a limited time
 +    until  people   sort  out their  compatibility    issues and the  kernel
 +    interrupt  service code  is  fixed.   YOU  SHOULD SEPARATE OUT  THE FAST
 +    INTERRUPT CARDS FROM THE SLOW INTERRUPT CARDS to ensure that they do not
 +    run on the same interrupt. PCMCIA/CardBus is another can of worms...
 +
 +    Finally, I think  I have really  fixed  the module  loading problem with
 +    more than one DECchip based  card.  As a  side effect, I don't mess with
 +    the  device structure any  more which means that  if more than 1 card in
 +    2.0.x is    installed (4  in   2.1.x),  the  user   will have   to  edit
 +    linux/drivers/net/Space.c  to make room for  them. Hence, module loading
 +    is  the preferred way to use   this driver, since  it  doesn't have this
 +    limitation.
 +
 +    Where SROM media  detection is used and  full duplex is specified in the
 +    SROM,  the feature is  ignored unless  lp->params.fdx  is set at compile
 +    time  OR during  a   module load  (insmod  de4x5   args='eth??:fdx' [see
 +    below]).  This is because there  is no way  to automatically detect full
 +    duplex   links  except through   autonegotiation.    When I  include the
 +    autonegotiation feature in  the SROM autoconf  code, this detection will
 +    occur automatically for that case.
 +
 +    Command line  arguments are  now allowed, similar to  passing  arguments
 +    through LILO. This will allow a per adapter board set  up of full duplex
 +    and media. The only lexical constraints are:  the board name (dev->name)
 +    appears in  the list before its parameters.  The list of parameters ends
 +    either at the end of the parameter list or with another board name.  The
 +    following parameters are allowed:
 +
 +            fdx        for full duplex
 +          autosense  to set the media/speed; with the following 
 +                     sub-parameters:
 +                     TP, TP_NW, BNC, AUI, BNC_AUI, 100Mb, 10Mb, AUTO
 +
 +    Case sensitivity is important  for  the sub-parameters. They *must*   be
 +    upper case. Examples:
 +
 +        insmod de4x5 args='eth1:fdx autosense=BNC eth0:autosense=100Mb'.
 +
 +    For a compiled in driver, in linux/drivers/net/CONFIG, place e.g.
 +      DE4X5_OPTS = -DDE4X5_PARM='"eth0:fdx autosense=AUI eth2:autosense=TP"' 
 +
 +    Yes,  I know full duplex  isn't permissible on BNC  or AUI; they're just
 +    examples. By default, full duplex is turned  off and AUTO is the default
 +    autosense setting. In  reality, I expect only the  full duplex option to
 +    be used. Note the use of single quotes in the two examples above and the
 +    lack of commas to separate items.
index 89f1302d593a5c0404ed8a434ba580e8440a9139,aab3c393c10df152bc7c417cafa4b94c9294c0ec..c9d052e0cf5136774c1f9a77de8f5bae7d7ad423
@@@ -1056,23 -1056,18 +1056,23 @@@ The kernel interface functions are as f
  
        u32 rxrpc_kernel_check_life(struct socket *sock,
                                    struct rxrpc_call *call);
 +      void rxrpc_kernel_probe_life(struct socket *sock,
 +                                   struct rxrpc_call *call);
  
 -     This returns a number that is updated when ACKs are received from the peer
 -     (notably including PING RESPONSE ACKs which we can elicit by sending PING
 -     ACKs to see if the call still exists on the server).  The caller should
 -     compare the numbers of two calls to see if the call is still alive after
 -     waiting for a suitable interval.
 +     The first function returns a number that is updated when ACKs are received
 +     from the peer (notably including PING RESPONSE ACKs which we can elicit by
 +     sending PING ACKs to see if the call still exists on the server).  The
 +     caller should compare the numbers of two calls to see if the call is still
 +     alive after waiting for a suitable interval.
  
       This allows the caller to work out if the server is still contactable and
-      if the call is still alive on the server whilst waiting for the server to
+      if the call is still alive on the server while waiting for the server to
       process a client operation.
  
 -     This function may transmit a PING ACK.
 +     The second function causes a ping ACK to be transmitted to try to provoke
 +     the peer into responding, which would then cause the value returned by the
 +     first function to change.  Note that this must be called in TASK_RUNNING
 +     state.
  
   (*) Get reply timestamp.
  
index 5e9b826b5f62fd1cf8dfcae07fc5bde66594428b,7973249cce455baa09942a815af538c409e8fa42..f4c2a97bfdbd0d1ed058013b7dbce161d5fb6d9a
@@@ -58,9 -58,21 +58,9 @@@ Protocol 2.11:       (Kernel 3.6) Added a fie
                protocol entry point.
  
  Protocol 2.12:        (Kernel 3.8) Added the xloadflags field and extension fields
-               to struct boot_params for loading bzImage and ramdisk
+               to struct boot_params for loading bzImage and ramdisk
                above 4G in 64bit.
  
 -Protocol 2.13:        (Kernel 3.14) Support 32- and 64-bit flags being set in
 -              xloadflags to support booting a 64-bit kernel from 32-bit
 -              EFI
 -
 -Protocol 2.14:        (Kernel 4.20) Added acpi_rsdp_addr holding the physical
 -              address of the ACPI RSDP table.
 -              The bootloader updates version with:
 -              0x8000 | min(kernel-version, bootloader-version)
 -              kernel-version being the protocol version supported by
 -              the kernel and bootloader-version the protocol version
 -              supported by the bootloader.
 -
  **** MEMORY LAYOUT
  
  The traditional memory map for the kernel loader, used for Image or
Simple merge
Simple merge