All of lore.kernel.org
 help / color / mirror / Atom feed
* Linux 3.10.108 (EOL)
@ 2017-11-04 23:06 Willy Tarreau
       [not found] ` <CALpmF+EbmuxvNWiBccGgtw=xDEW1=2hvxfVNp_r4dfiSF2o1UQ@mail.gmail.com>
  0 siblings, 1 reply; 13+ messages in thread
From: Willy Tarreau @ 2017-11-04 23:06 UTC (permalink / raw)
  To: w, linux-kernel, stable

Linux 3.10.108 was just released.

It is the last one in this branch and changes the status of the 3.10
branch to end of life. Thus for once I'm *not* suggesting to upgrade
to this one, except if it's just to finish your migration to a newer
branch (such as 4.4). For those interested, given that I'm still
occasionally seeing some outdated 3.10 in the wild, I've written a
small article here on how this kernel was maintained and used :

  http://wtarreau.blogspot.fr/2017/11/look-back-to-end-of-life-lts-kernel-310.html

The patch and changelog will appear soon at the following locations:
  https://www.kernel.org/pub/linux/kernel/v3.x/
  https://www.kernel.org/pub/linux/kernel/v3.x/patch-3.10.108.xz
  https://www.kernel.org/pub/linux/kernel/v3.x/patch-3.10.108.gz
  https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.108

The updated 3.10.y git tree can be found at:
   git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-3.10.y
  http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-3.10.y

The tree can be browsed on the git web interface:
  http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/?h=linux-3.10.y


Thanks to everyone involved,
Willy

---------
 Makefile                                           |  4 +-
 arch/mips/include/asm/branch.h                     |  5 +-
 arch/mips/kernel/branch.c                          |  8 ++-
 arch/mips/kernel/syscall.c                         |  2 +-
 arch/mips/math-emu/cp1emu.c                        | 38 +++++++++++++
 arch/powerpc/include/asm/atomic.h                  |  4 +-
 arch/powerpc/include/asm/reg.h                     |  2 +-
 arch/powerpc/kernel/kprobes.c                      | 11 ++++
 arch/powerpc/lib/sstep.c                           | 13 +++++
 arch/x86/include/asm/io.h                          |  4 +-
 arch/x86/kernel/apic/apic.c                        |  2 +
 arch/x86/kernel/kvm.c                              |  2 +-
 arch/x86/kvm/vmx.c                                 |  2 +-
 arch/x86/kvm/x86.c                                 |  2 +
 arch/x86/mm/numa_32.c                              |  1 +
 crypto/algif_skcipher.c                            |  4 +-
 drivers/acpi/apei/ghes.c                           |  1 +
 drivers/ata/libata-scsi.c                          |  6 +-
 drivers/base/power/domain.c                        |  4 +-
 drivers/cpufreq/cpufreq_conservative.c             |  4 +-
 drivers/cpufreq/s3c2416-cpufreq.c                  |  1 -
 drivers/crypto/caam/caamhash.c                     |  2 +-
 drivers/crypto/caam/key_gen.c                      |  2 +-
 drivers/crypto/talitos.c                           |  7 ++-
 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c               |  2 +
 drivers/infiniband/hw/qib/qib_iba7322.c            |  2 +-
 drivers/infiniband/ulp/ipoib/ipoib_vlan.c          |  4 +-
 drivers/iommu/amd_iommu.c                          |  1 +
 drivers/md/bitmap.c                                |  5 ++
 drivers/md/md.c                                    |  2 +-
 drivers/md/raid10.c                                | 19 ++++++-
 drivers/media/platform/davinci/vpfe_capture.c      | 22 +-------
 drivers/media/rc/imon.c                            |  2 +-
 drivers/media/usb/pvrusb2/pvrusb2-eeprom.c         | 13 ++---
 drivers/mfd/omap-usb-tll.c                         |  2 +-
 drivers/misc/c2port/c2port-duramar2150.c           |  4 +-
 drivers/net/can/usb/esd_usb2.c                     |  2 +-
 drivers/net/ethernet/korina.c                      |  8 +--
 drivers/net/ethernet/mellanox/mlx4/icm.c           |  7 ++-
 drivers/net/ethernet/mellanox/mlx4/main.c          |  2 -
 drivers/net/ethernet/qlogic/qlge/qlge_dbg.c        |  2 +-
 drivers/net/ethernet/xilinx/xilinx_emaclite.c      | 10 +++-
 drivers/net/phy/marvell.c                          |  2 -
 drivers/net/team/team.c                            |  8 ++-
 .../net/wireless/brcm80211/brcmfmac/wl_cfg80211.c  |  5 ++
 drivers/s390/scsi/zfcp_dbf.c                       | 21 +++++--
 drivers/s390/scsi/zfcp_dbf.h                       |  6 +-
 drivers/s390/scsi/zfcp_fc.h                        |  6 +-
 drivers/s390/scsi/zfcp_fsf.c                       |  3 +-
 drivers/s390/scsi/zfcp_scsi.c                      |  8 ++-
 drivers/scsi/device_handler/scsi_dh_emc.c          |  2 +-
 drivers/scsi/qla2xxx/qla_attr.c                    |  8 +--
 drivers/scsi/qla2xxx/qla_os.c                      |  8 +--
 drivers/staging/comedi/comedi_fops.c               |  7 ++-
 drivers/staging/iio/resolver/ad2s1210.c            |  2 +-
 drivers/target/target_core_fabric_configfs.c       |  5 ++
 drivers/target/target_core_tpg.c                   |  3 +
 drivers/tty/serial/efm32-uart.c                    | 11 +++-
 drivers/tty/serial/ifx6x60.c                       |  2 +-
 drivers/tty/vt/vt.c                                |  6 +-
 drivers/usb/chipidea/debug.c                       |  3 +-
 drivers/usb/gadget/composite.c                     |  5 ++
 drivers/usb/host/r8a66597-hcd.c                    |  6 +-
 drivers/usb/renesas_usbhs/common.c                 |  4 +-
 drivers/usb/renesas_usbhs/fifo.c                   | 50 +++++++++++++++--
 drivers/usb/renesas_usbhs/pipe.c                   | 13 +++++
 drivers/usb/renesas_usbhs/pipe.h                   |  4 ++
 drivers/usb/serial/console.c                       |  1 +
 fs/btrfs/ioctl.c                                   |  4 ++
 fs/direct-io.c                                     |  4 +-
 fs/exec.c                                          | 28 ++++++++--
 fs/ext4/file.c                                     | 57 +++++++------------
 fs/ext4/inode.c                                    |  7 +--
 fs/ext4/resize.c                                   |  3 +-
 fs/ext4/xattr.c                                    | 19 +++++--
 fs/fscache/object-list.c                           |  7 +++
 fs/fuse/file.c                                     |  2 +-
 fs/udf/inode.c                                     |  4 +-
 include/linux/key.h                                |  2 +
 include/linux/workqueue.h                          |  4 +-
 include/net/ipv6.h                                 |  1 +
 include/net/iw_handler.h                           |  3 +-
 include/net/sctp/sctp.h                            |  4 ++
 include/net/sctp/ulpevent.h                        |  6 +-
 include/net/tcp.h                                  | 10 ++++
 include/target/target_core_base.h                  |  1 +
 kernel/extable.c                                   |  2 +-
 kernel/trace/trace.c                               | 12 +++-
 kernel/workqueue.c                                 | 23 ++++++--
 lib/cmdline.c                                      |  6 +-
 lib/digsig.c                                       |  6 ++
 mm/mmap.c                                          |  2 +-
 mm/page_alloc.c                                    |  4 +-
 net/8021q/vlan.c                                   |  3 +-
 net/bluetooth/bnep/core.c                          |  4 ++
 net/bluetooth/cmtp/core.c                          |  3 +
 net/core/dev.c                                     | 21 ++++---
 net/core/sock.c                                    |  2 +
 net/ipv4/af_inet.c                                 |  2 +-
 net/ipv4/fib_frontend.c                            |  9 +--
 net/ipv4/ip_output.c                               |  7 ++-
 net/ipv4/netfilter/nf_nat_snmp_basic.c             |  1 +
 net/ipv4/tcp.c                                     |  6 ++
 net/ipv4/tcp_cong.c                                |  1 +
 net/ipv4/tcp_input.c                               | 36 ++++++------
 net/ipv4/tcp_output.c                              | 26 ++-------
 net/ipv4/udp.c                                     |  2 +-
 net/ipv6/addrconf.c                                |  3 +-
 net/ipv6/ip6_fib.c                                 | 25 +++++++--
 net/ipv6/ip6_gre.c                                 |  4 +-
 net/ipv6/ip6_output.c                              |  7 ++-
 net/ipv6/raw.c                                     |  2 +-
 net/key/af_key.c                                   | 17 ++++--
 net/netfilter/ipvs/ip_vs_core.c                    | 19 +++++--
 net/netfilter/nf_conntrack_ecache.c                |  2 +
 net/netfilter/nf_conntrack_extend.c                | 13 ++++-
 net/netfilter/nf_conntrack_netlink.c               |  1 +
 net/netfilter/nf_nat_core.c                        |  2 +
 net/netfilter/nfnetlink_cttimeout.c                |  1 +
 net/netfilter/xt_TCPMSS.c                          |  6 +-
 net/packet/af_packet.c                             | 15 +++--
 net/rxrpc/ar-key.c                                 | 64 ++++++++++++----------
 net/sctp/ipv6.c                                    |  2 +
 net/wireless/nl80211.c                             | 10 +++-
 net/xfrm/xfrm_policy.c                             |  6 ++
 security/keys/encrypted-keys/encrypted.c           |  9 ++-
 security/keys/internal.h                           |  2 +-
 security/keys/key.c                                | 12 ++++
 security/keys/keyctl.c                             |  4 +-
 security/keys/keyring.c                            | 23 +++++---
 security/keys/process_keys.c                       |  8 ++-
 sound/core/control.c                               |  2 +-
 sound/core/seq/seq_clientmgr.c                     |  6 +-
 sound/core/seq/seq_ports.c                         |  7 ++-
 tools/perf/ui/browser.c                            |  2 +-
 135 files changed, 724 insertions(+), 333 deletions(-)

Summary of changes from 3.10.107 to 3.10.108
==============================================
Adam Borowski (1):
      vt: fix unchecked __put_user() in tioclinux ioctls

Al Viro (3):
      Bluetooth: bnep: bnep_add_connection() should verify that it's dealing with l2cap socket
      Bluetooth: cmtp: cmtp_add_connection() should verify that it's dealing with l2cap socket
      leak in O_DIRECT readv past the EOF

Alexander Potapenko (3):
      sctp: don't dereference ptr before leaving _sctp_walk_{params, errors}()
      sctp: fully initialize the IPv6 address in sctp_v6_to_addr()
      net/packet: check length in getsockopt() called with PACKET_HDRLEN

Andreas Gruenbacher (1):
      direct-io: Prevent NULL pointer access in submit_page_section

Andrew Gabbasov (1):
      usb: gadget: composite: Fix use-after-free in usb_composite_overwrite_options

Anssi Hannula (1):
      net: xilinx_emaclite: fix receive buffer overflow

Anton Blanchard (1):
      powerpc: Fix emulation of mfocrf in emulate_step()

Arend van Spriel (1):
      brcmfmac: fix possible buffer overflow in brcmf_cfg80211_mgmt_tx()

Arnd Bergmann (7):
      wext: handle NULL extra data in iwe_stream_add_point better
      x86/io: Add "memory" clobber to insb/insw/insl/outsb/outsw/outsl
      pvrusb2: reduce stack usage pvr2_eeprom_analyze()
      ir-core: fix gcc-7 warning on bool arithmetic
      staging:iio:resolver:ad2s1210 fix negative IIO_ANGL_VEL read
      qlge: avoid memcpy buffer overflow
      IB/qib: fix false-postive maybe-uninitialized warning

Baohong Liu (1):
      tracing: Apply trace_clock changes to instance max buffer

Benjamin Block (1):
      scsi: zfcp: add handling for FCP_RESID_OVER to the fcp ingress path

Bo Yan (1):
      tracing: Erase irqsoff trace with empty write

Cheah Kok Cheong (1):
      Staging: comedi: comedi_fops: Avoid orphaned proc entry

Chris Brandt (2):
      usb: r8a66597-hcd: select a different endpoint on timeout
      usb: r8a66597-hcd: decrease timeout

Christoph Paasch (1):
      net: Set sk_prot_creator when cloning sockets to the right proto

Christophe JAILLET (1):
      serial: efm32: Fix parity management in 'efm32_uart_console_get_options()'

Dan Carpenter (10):
      libata: array underflow in ata_find_dev()
      sctp: potential read out of bounds in sctp_ulpevent_type_enabled()
      drm/vmwgfx: Handle vmalloc() failure in vmw_local_fifo_reserve()
      drivers/misc/c2port/c2port-duramar2150.c: checking for NULL instead of IS_ERR()
      xfrm: NULL dereference on allocation failure
      xfrm: Oops on error in pfkey_msg2xfrm_state()
      cpufreq: s3c2416: double free on driver init error path
      KEYS: Fix an error code in request_master_key()
      scsi: qla2xxx: Fix an integer overflow in sysfs code
      scsi: scsi_dh_emc: return success in clariion_std_inquiry()

Darrick J. Wong (1):
      ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets

David Howells (2):
      rxrpc: Fix several cases where a padded len isn't checked in ticket decode
      KEYS: don't let add_key() update an uninstantiated key

Eric Biggers (5):
      KEYS: fix dereferencing NULL payload with nonzero length
      FS-Cache: fix dereference of NULL user_key_payload
      KEYS: prevent creating a different user's keyrings
      KEYS: encrypted: fix dereference of NULL user_key_payload
      lib/digsig: fix dereference of NULL user_key_payload

Eric Dumazet (6):
      net: reduce skb_warn_bad_offload() noise
      net: skb_needs_check() accepts CHECKSUM_NONE for tx
      net: prevent sign extension in dev_get_stats()
      netfilter: xt_TCPMSS: add more sanity tests on tcph->doff
      net: ping: do not abuse udp_poll()
      ipv6: fix typo in fib6_net_exit()

Feras Daoud (1):
      IB/ipoib: rtnl_unlock can not come after free_netdev

Florian Fainelli (1):
      net: korina: Fix NAPI versus resources freeing

Gao Feng (1):
      net: 8021q: Fix one possible panic caused by BUG_ON in free_netdev

Haozhong Zhang (1):
      KVM: nVMX: fix guest CR4 loading when emulating L2 to L1 exit

Helge Deller (1):
      mm: fix overflow check in expand_upwards()

Horia Geantă (1):
      crypto: caam - fix signals handling

Ian Abbott (1):
      staging: comedi: fix clean-up of comedi_class in comedi_init()

Ilya Matveychikov (1):
      lib/cmdline.c: fix get_options() overflow while parsing ranges

James Hogan (1):
      MIPS: Fix mips_atomic_set() retry condition

James Morse (1):
      ACPI / APEI: Add missing synchronize_rcu() on NOTIFY_SCI removal

Jan Kara (4):
      ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize
      ext4: fix SEEK_HOLE
      ext4: avoid deadlock when expanding inode size
      udf: Fix deadlock between writeback and udf_setsize()

Jason Yan (1):
      md: fix super_offset endianness in super_1_rdev_size_change

Jerry Lee (1):
      ext4: fix overflow caused by missing cast in ext4_resize_fs()

Jin Yao (1):
      perf annotate: Fix broken arrow at row 0 connecting jmp instruction to its target

Joerg Roedel (1):
      iommu/amd: Finish TLB flush in amd_iommu_unmap()

Johan Hovold (2):
      serial: ifx6x60: fix use-after-free on module unload
      USB: serial: console: fix use-after-free after failed setup

Johannes Thumshirn (1):
      scsi: qla2xxx: don't disable a not previously enabled PCI device

Josh Poimboeuf (1):
      mm/page_alloc: Remove kernel address exposure in free_reserved_area()

Julian Anastasov (1):
      ipvs: SNAT packet replies only for NATed connections

Kazuya Mizuguchi (1):
      usb: renesas_usbhs: Fix DMAC sequence for receiving zero-length packet

Kees Cook (1):
      fs/exec.c: account for argv/envp pointers

Konstantin Khlebnikov (1):
      ext4: keep existing extra fields when inode expands

Krzysztof Kozlowski (1):
      PM / Domains: Fix unsafe iteration over modified list of device links

Laura Abbott (1):
      x86/mm/32: Set the '__vmalloc_start_set' flag in initmem_init()

Leon Romanovsky (1):
      net/mlx4: Remove BUG_ON from ICM allocation routine

Liping Zhang (2):
      netfilter: invoke synchronize_rcu after set the _hook_ to NULL
      netfilter: nf_ct_ext: fix possible panic after nf_ct_extend_unregister

Maciej W. Rozycki (4):
      MIPS: Send SIGILL for BPOSGE32 in `__compute_return_epc_for_insn'
      MIPS: Actually decode JALX in `__compute_return_epc_for_insn'
      MIPS: Fix unaligned PC interpretation in `compute_return_epc'
      MIPS: math-emu: Prevent wrong ISA mode instruction emulation

Mahesh Bandewar (1):
      ipv4: initialize fib_trie prior to register_netdev_notifier call.

Majd Dibbiny (1):
      net/mlx4_core: Fix VF overwrite of module param which disables DMFS on new probed PFs

Marcin Nowakowski (1):
      kernel/extable.c: mark core_kernel_text notrace

Martin Hicks (1):
      crypto: talitos - Extend max key length for SHA384/512-HMAC and AEAD

Mateusz Jurczyk (1):
      fuse: initialize the flock flag in fuse_file on allocation

Michael Ellerman (1):
      powerpc/64: Fix atomic64_inc_not_zero() to return an int

Michael Thalmeier (1):
      usb: chipidea: debug: check before accessing ci_role

Naveen N. Rao (1):
      powerpc/kprobes: Pause function_graph tracing during jprobes handling

Neal Cardwell (4):
      tcp: introduce tcp_rto_delta_us() helper for xmit timer fix
      tcp: enable xmit timer fix by having TLP use time when RTO should fire
      tcp: fix xmit timer to only be reset if data ACKed/SACKed
      tcp: when rearming RTO, if RTO time is in past then fire RTO ASAP

NeilBrown (1):
      md/bitmap: disable bitmap_resize for file-backed bitmaps.

Nicholas Bellinger (1):
      target: Avoid mappedlun symlink creation during lun shutdown

Oliver O'Halloran (1):
      powerpc/asm: Mark cr0 as clobbered in mftb()

Pan Bian (1):
      team: fix memory leaks

Paolo Bonzini (1):
      kvm: async_pf: fix rcu_irq_enter() with irqs enabled

Prabhakar Lad (1):
      media: platform: davinci: return -EINVAL for VPFE_CMD_S_CCDC_RAW_PARAMS ioctl

Radim Krčmář (1):
      KVM: x86: zero base3 of unusable segments

Russell King (1):
      net: phy: fix marvell phy status reading

Sabrina Dubroca (2):
      ipv6: fix memory leak with multiple tables during netns destruction
      ip6_gre: fix endianness errors in ip6gre_err

Shaohua Li (1):
      md/raid10: submit bio directly to replacement disk

Srinivas Dasari (2):
      cfg80211: Validate frequencies nested in NL80211_ATTR_SCAN_FREQUENCIES
      cfg80211: Check if PMKID attribute is of expected size

Stefan Mätje (1):
      can: esd_usb2: Fix can_dlc value for received RTR, frames

Steffen Maier (4):
      scsi: zfcp: fix queuecommand for scsi_eh commands when DIX enabled
      scsi: zfcp: fix missing trace records for early returns in TMF eh handlers
      scsi: zfcp: fix payload with full FCP_RSP IU in SCSI trace records
      scsi: zfcp: trace HBA FSF response by default on dismiss or timedout late response

Stephan Mueller (1):
      crypto: AF_ALG - remove SGL terminator indicator when chaining

Takashi Iwai (2):
      ALSA: seq: Fix use-after-free at creating a port
      ALSA: core: Fix unexpected error at replacing user TLV

Tejun Heo (2):
      workqueue: restore WQ_UNBOUND/max_active==1 to be ordered
      workqueue: implicit ordered attribute should be overridable

Tomasz Wilczyński (1):
      cpufreq: conservative: Allow down_threshold to take values from 1 to 10

Tony Lindgren (1):
      mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode

Vladis Dronov (2):
      xfrm: policy: check policy direction value
      nl80211: check for the required netlink attributes presence

WANG Cong (2):
      tcp: reset sk_rx_dst in tcp_disconnect()
      ipv6: avoid unregistering inet6_dev for loopback

Wei Wang (1):
      tcp: initialize rcv_mss to TCP_MIN_MSS instead of 0

Willem de Bruijn (2):
      udp: consistently apply ufo or fragmentation
      packet: fix tp_reserve race in packet_set_ring

Willy Tarreau (2):
      x86/apic: fix build breakage caused by incomplete backport to 3.10
      Linux 3.10.108

Xin Long (1):
      sctp: fix the check for _sctp_walk_params and _sctp_walk_errors

Yoshihiro Shimoda (5):
      usb: renesas_usbhs: fix the behavior of some usbhs_pkt_handle
      usb: renesas_usbhs: fix the sequence in xfer_work()
      usb: renesas_usbhs: fix usbhsc_resume() for !USBHSF_RUNTIME_PWCTRL
      usb: renesas_usbhs: fix the BCLR setting condition for non-DCP pipe
      usb: renesas_usbhs: fix usbhsf_fifo_clear() for RX direction

Yuchung Cheng (2):
      tcp: disallow cwnd undo when switching congestion control
      tcp: avoid setting cwnd to invalid ssthresh after cwnd reduction states

satoru takeuchi (1):
      btrfs: prevent to set invalid default subvolid

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Linux 3.10.108 (EOL)
       [not found] ` <CALpmF+EbmuxvNWiBccGgtw=xDEW1=2hvxfVNp_r4dfiSF2o1UQ@mail.gmail.com>
@ 2017-11-05  7:05   ` Willy Tarreau
  2017-11-05  7:46   ` Willy Tarreau
  1 sibling, 0 replies; 13+ messages in thread
From: Willy Tarreau @ 2017-11-05  7:05 UTC (permalink / raw)
  To: Harsh Shandilya; +Cc: linux-kernel, stable

On Sun, Nov 05, 2017 at 06:59:48AM +0000, Harsh Shandilya wrote:
> Is this not pushed yet? I only see 3.10.107

It will happen once Greg pulls/pushes it, don't worry, that's why
the message says "will appear soon" :-)

Willy

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Linux 3.10.108 (EOL)
       [not found] ` <CALpmF+EbmuxvNWiBccGgtw=xDEW1=2hvxfVNp_r4dfiSF2o1UQ@mail.gmail.com>
  2017-11-05  7:05   ` Willy Tarreau
@ 2017-11-05  7:46   ` Willy Tarreau
  2017-11-14 22:00     ` Sebastian Gottschall
  1 sibling, 1 reply; 13+ messages in thread
From: Willy Tarreau @ 2017-11-05  7:46 UTC (permalink / raw)
  To: Harsh Shandilya; +Cc: linux-kernel, stable

On Sun, Nov 05, 2017 at 06:59:48AM +0000, Harsh Shandilya wrote:
> Is this not pushed yet? I only see 3.10.107

Now it is there. Please avoid to rely on it for too long and quickly
upgrade to 4.4 or any other maintained version that suits your needs.

Willy

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Linux 3.10.108 (EOL)
  2017-11-05  7:46   ` Willy Tarreau
@ 2017-11-14 22:00     ` Sebastian Gottschall
  2017-11-14 22:18       ` Willy Tarreau
  0 siblings, 1 reply; 13+ messages in thread
From: Sebastian Gottschall @ 2017-11-14 22:00 UTC (permalink / raw)
  To: Willy Tarreau, Harsh Shandilya; +Cc: linux-kernel, stable

Am 05.11.2017 um 08:46 schrieb Willy Tarreau:
> On Sun, Nov 05, 2017 at 06:59:48AM +0000, Harsh Shandilya wrote:
>> Is this not pushed yet? I only see 3.10.107
> Now it is there. Please avoid to rely on it for too long and quickly
> upgrade to 4.4 or any other maintained version that suits your needs.
>
> Willy
>
even if EOL has to come once for sure, its the last kernel which can be 
used on certain devices (embedded) since the kernel is growing bigger 
and bigger and wont run good anymore with limited resource


Sebastian

-- 
Mit freundlichen Grüssen / Regards

Sebastian Gottschall / CTO

NewMedia-NET GmbH - DD-WRT
Firmensitz:  Stubenwaldallee 21a, 64625 Bensheim
Registergericht: Amtsgericht Darmstadt, HRB 25473
Geschäftsführer: Peter Steinhäuser, Christian Scheele
http://www.dd-wrt.com
email: s.gottschall@dd-wrt.com
Tel.: +496251-582650 / Fax: +496251-5826565

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Linux 3.10.108 (EOL)
  2017-11-14 22:00     ` Sebastian Gottschall
@ 2017-11-14 22:18       ` Willy Tarreau
  2017-11-14 22:40         ` Sebastian Gottschall
  0 siblings, 1 reply; 13+ messages in thread
From: Willy Tarreau @ 2017-11-14 22:18 UTC (permalink / raw)
  To: Sebastian Gottschall; +Cc: Harsh Shandilya, linux-kernel, stable

On Tue, Nov 14, 2017 at 11:00:46PM +0100, Sebastian Gottschall wrote:
> Am 05.11.2017 um 08:46 schrieb Willy Tarreau:
> > On Sun, Nov 05, 2017 at 06:59:48AM +0000, Harsh Shandilya wrote:
> > > Is this not pushed yet? I only see 3.10.107
> > Now it is there. Please avoid to rely on it for too long and quickly
> > upgrade to 4.4 or any other maintained version that suits your needs.
> > 
> > Willy
> > 
> even if EOL has to come once for sure, its the last kernel which can be used
> on certain devices (embedded) since the kernel is growing bigger and bigger
> and wont run good anymore with limited resource

It's not totally true, each new kernel also provides options to disable
certain parts that are not used by everyone (syscalls, subsystems, etc).

And anyway the end of life has been indicated on kernel.org for 18 months
and in every announce in 2017, so it cannot be a surprize anymore :-) At
least nobody seemed to complain for all this time!

Cheers,
Willy

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Linux 3.10.108 (EOL)
  2017-11-14 22:18       ` Willy Tarreau
@ 2017-11-14 22:40         ` Sebastian Gottschall
  2017-11-15  4:32           ` Willy Tarreau
  0 siblings, 1 reply; 13+ messages in thread
From: Sebastian Gottschall @ 2017-11-14 22:40 UTC (permalink / raw)
  To: Willy Tarreau; +Cc: Harsh Shandilya, linux-kernel, stable

Am 14.11.2017 um 23:18 schrieb Willy Tarreau:
> On Tue, Nov 14, 2017 at 11:00:46PM +0100, Sebastian Gottschall wrote:
>> Am 05.11.2017 um 08:46 schrieb Willy Tarreau:
>>> On Sun, Nov 05, 2017 at 06:59:48AM +0000, Harsh Shandilya wrote:
>>>> Is this not pushed yet? I only see 3.10.107
>>> Now it is there. Please avoid to rely on it for too long and quickly
>>> upgrade to 4.4 or any other maintained version that suits your needs.
>>>
>>> Willy
>>>
>> even if EOL has to come once for sure, its the last kernel which can be used
>> on certain devices (embedded) since the kernel is growing bigger and bigger
>> and wont run good anymore with limited resource
> It's not totally true, each new kernel also provides options to disable
> certain parts that are not used by everyone (syscalls, subsystems, etc).
>
> And anyway the end of life has been indicated on kernel.org for 18 months
> and in every announce in 2017, so it cannot be a surprize anymore :-) At
> least nobody seemed to complain for all this time!

itsn no surprise for sure, but that also means i have to stay on the old 
kernel for these special devices and your argument about disable certain 
parts which simply turned bigger over time is no option

since it would remove features which existed before. its not that i 
enable all features of the kernel. i use every kernel with the same 
options (some are adjusted since they are renamed or moved)

but even then the kernel is turning into a ram and space eating monster 
if i look on devices with 16 mb ram and 4 mb flash. this is mainly for 
maintaining older hardware with latest updates. the more recent hardware 
is getting better here

you dont seem to know how it is to work on wireless routers :-)

>
> Cheers,
> Willy
>

-- 
Mit freundlichen Grüssen / Regards

Sebastian Gottschall / CTO

NewMedia-NET GmbH - DD-WRT
Firmensitz:  Stubenwaldallee 21a, 64625 Bensheim
Registergericht: Amtsgericht Darmstadt, HRB 25473
Geschäftsführer: Peter Steinhäuser, Christian Scheele
http://www.dd-wrt.com
email: s.gottschall@dd-wrt.com
Tel.: +496251-582650 / Fax: +496251-5826565

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Linux 3.10.108 (EOL)
  2017-11-14 22:40         ` Sebastian Gottschall
@ 2017-11-15  4:32           ` Willy Tarreau
  2017-11-15  8:09             ` Sebastian Gottschall
  0 siblings, 1 reply; 13+ messages in thread
From: Willy Tarreau @ 2017-11-15  4:32 UTC (permalink / raw)
  To: Sebastian Gottschall; +Cc: Harsh Shandilya, linux-kernel, stable

On Tue, Nov 14, 2017 at 11:40:31PM +0100, Sebastian Gottschall wrote:
> > And anyway the end of life has been indicated on kernel.org for 18 months
> > and in every announce in 2017, so it cannot be a surprize anymore :-) At
> > least nobody seemed to complain for all this time!
> 
> itsn no surprise for sure, but that also means i have to stay on the old
> kernel for these special devices and your argument about disable certain
> parts which simply turned bigger over time is no option
> 
> since it would remove features which existed before. its not that i enable
> all features of the kernel. i use every kernel with the same options (some
> are adjusted since they are renamed or moved)

Then I have a few questions :
  - how did you choose this kernel ? Or did you choose the hardware based
    on the kernel size ?
  - what would have you done if 3.10 had not been LTS ?
  - have you at least tried other kernels before claiming they are much
    larger ? Following your principle, 3.2 should be smaller and 3.16 not
    much larger. The former offers you about 6 extra months of maintenance,
    the latter 3.5 years (https://www.kernel.org/category/releases.html).

> but even then the kernel is turning into a ram and space eating monster if i
> look on devices with 16 mb ram and 4 mb flash. this is mainly for
> maintaining older hardware with latest updates.

So why didn't you ask if it was possible to pursue the maintenance a bit a
long time ago ? LTS maintenance is a collective effort and is done based on
usage. If enough people have good reasons for going further it can be enough
a justification to push the deadline. Now it's too late.

> the more recent hardware is getting better here
> 
> you dont seem to know how it is to work on wireless routers :-)

Yes I do, I've been distributing a full blown load balancer distro on a
10 MB image (running on 3.10 as well). But I also know that sometimes
you make some nice space savings on new kernels (xz/zstd compression,
ability to remove certain useless stuff in these environments such as
FS ACLs or mandatory locks, etc). Sure, upgrading to a new kernel on
existing hardware is always a challenge. But it's also an interesting
one.

Also just to give you an idea, I've just compared the size of these
kernels configured with "make allnoconfig" (and I verified that all
of them were compressed using gzip) :

  3.10.108 : 875 kB
  4.4.97   : 522 kB
  4.9.61   : 561 kB
  4.14     : 566 kB

So the argument that migrating away from 3.10 is hard due to the size
doesn't stand much here :-)

Willy

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Linux 3.10.108 (EOL)
  2017-11-15  4:32           ` Willy Tarreau
@ 2017-11-15  8:09             ` Sebastian Gottschall
  2017-11-15  8:50               ` Greg KH
  0 siblings, 1 reply; 13+ messages in thread
From: Sebastian Gottschall @ 2017-11-15  8:09 UTC (permalink / raw)
  To: Willy Tarreau; +Cc: Harsh Shandilya, linux-kernel, stable

Am 15.11.2017 um 05:32 schrieb Willy Tarreau:
> On Tue, Nov 14, 2017 at 11:40:31PM +0100, Sebastian Gottschall wrote:
>>> And anyway the end of life has been indicated on kernel.org for 18 months
>>> and in every announce in 2017, so it cannot be a surprize anymore :-) At
>>> least nobody seemed to complain for all this time!
>> itsn no surprise for sure, but that also means i have to stay on the old
>> kernel for these special devices and your argument about disable certain
>> parts which simply turned bigger over time is no option
>>
>> since it would remove features which existed before. its not that i enable
>> all features of the kernel. i use every kernel with the same options (some
>> are adjusted since they are renamed or moved)
> Then I have a few questions :
>    - how did you choose this kernel ? Or did you choose the hardware based
>      on the kernel size ?

i did not choose it. i port regular all kernels to the platforms i use 
including 4.4 and 4.9

but a few of these which are already ported to 4.4 and 4.9 will still 
run 3.10 for resource problems.

>    - what would have you done if 3.10 had not been LTS ?
using another LTS at that point :-)
>    - have you at least tried other kernels before claiming they are much
>      larger ? Following your principle, 3.2 should be smaller and 3.16 not
>      much larger. The former offers you about 6 extra months of maintenance,
>      the latter 3.5 years (https://www.kernel.org/category/releases.html).

i also used 3.2 before. sure

dont get me wrong i work with all kernels, also with latests. i do also 
not complain that 3.10 is now EOL

i just wanted to throw some stones on the bloated kernel problem which 
is increasing

>
>> but even then the kernel is turning into a ram and space eating monster if i
>> look on devices with 16 mb ram and 4 mb flash. this is mainly for
>> maintaining older hardware with latest updates.
> So why didn't you ask if it was possible to pursue the maintenance a bit a
> long time ago ? LTS maintenance is a collective effort and is done based on
> usage. If enough people have good reasons for going further it can be enough
> a justification to push the deadline. Now it's too late.

didnt know that. the LTS deadline was defined a long time ago. i follow 
up the mailing lists mainly for reviewing patches

and reporting feedback if required. if it see such a discussion i may 
get in touch with it too, but with hundrets of emails every days here 
its hard to follow anything

>> the more recent hardware is getting better here
>>
>> you dont seem to know how it is to work on wireless routers :-)
> Yes I do, I've been distributing a full blown load balancer distro on a
> 10 MB image (running on 3.10 as well). But I also know that sometimes
> you make some nice space savings on new kernels (xz/zstd compression,
> ability to remove certain useless stuff in these environments such as
> FS ACLs or mandatory locks, etc). Sure, upgrading to a new kernel on
> existing hardware is always a challenge. But it's also an interesting
> one.

i do use xz and i do use a modified squashfs which is even smaller than 
the xz one in the kernel

smallest router i run with linux has 8 mb ram and 2 mb flash. so i do 
know how to get all very small. 10 mb image is no issue for me. the 4 mb 
flashes devices are my problem.


>
> Also just to give you an idea, I've just compared the size of these
> kernels configured with "make allnoconfig" (and I verified that all
> of them were compressed using gzip) :
>
>    3.10.108 : 875 kB
>    4.4.97   : 522 kB
>    4.9.61   : 561 kB
>    4.14     : 566 kB

its a little bit unrealistic since you have to count in network 
subsystem, filesystem and drivers.

standard kernel with xz compression is about 800 - 900 kb for me in 3.10 
and 4.4 / 4.9 etc. is often more than 1 - 1.2 mb

sometimes just the 100 kb more count in and turn into a problem since i 
have to remove something from the image to get it fitting

if you are really interested i can give you a real comparisation using a 
comparable config on 3.10, 4.4 and 4.9 for a standard mips target

>
> So the argument that migrating away from 3.10 is hard due to the size
> doesn't stand much here :-)
its turning harder. i already ported 4.4 and 4.9 as i said. so i tried 
already if they are running or not. they do run, but they are bigger and 
do not fit for some targets
>
> Willy
>

-- 
Mit freundlichen Grüssen / Regards

Sebastian Gottschall / CTO

NewMedia-NET GmbH - DD-WRT
Firmensitz:  Stubenwaldallee 21a, 64625 Bensheim
Registergericht: Amtsgericht Darmstadt, HRB 25473
Geschäftsführer: Peter Steinhäuser, Christian Scheele
http://www.dd-wrt.com
email: s.gottschall@dd-wrt.com
Tel.: +496251-582650 / Fax: +496251-5826565

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Linux 3.10.108 (EOL)
  2017-11-15  8:09             ` Sebastian Gottschall
@ 2017-11-15  8:50               ` Greg KH
  2017-11-17 23:46                 ` Alan Cox
  0 siblings, 1 reply; 13+ messages in thread
From: Greg KH @ 2017-11-15  8:50 UTC (permalink / raw)
  To: Sebastian Gottschall; +Cc: Willy Tarreau, Harsh Shandilya, linux-kernel, stable

On Wed, Nov 15, 2017 at 09:09:34AM +0100, Sebastian Gottschall wrote:
> Am 15.11.2017 um 05:32 schrieb Willy Tarreau:
> > On Tue, Nov 14, 2017 at 11:40:31PM +0100, Sebastian Gottschall wrote:
> > > > And anyway the end of life has been indicated on kernel.org for 18 months
> > > > and in every announce in 2017, so it cannot be a surprize anymore :-) At
> > > > least nobody seemed to complain for all this time!
> > > itsn no surprise for sure, but that also means i have to stay on the old
> > > kernel for these special devices and your argument about disable certain
> > > parts which simply turned bigger over time is no option
> > > 
> > > since it would remove features which existed before. its not that i enable
> > > all features of the kernel. i use every kernel with the same options (some
> > > are adjusted since they are renamed or moved)
> > Then I have a few questions :
> >    - how did you choose this kernel ? Or did you choose the hardware based
> >      on the kernel size ?
> 
> i did not choose it. i port regular all kernels to the platforms i use
> including 4.4 and 4.9
> 
> but a few of these which are already ported to 4.4 and 4.9 will still run
> 3.10 for resource problems.
> 
> >    - what would have you done if 3.10 had not been LTS ?
> using another LTS at that point :-)
> >    - have you at least tried other kernels before claiming they are much
> >      larger ? Following your principle, 3.2 should be smaller and 3.16 not
> >      much larger. The former offers you about 6 extra months of maintenance,
> >      the latter 3.5 years (https://www.kernel.org/category/releases.html).
> 
> i also used 3.2 before. sure
> 
> dont get me wrong i work with all kernels, also with latests. i do also not
> complain that 3.10 is now EOL
> 
> i just wanted to throw some stones on the bloated kernel problem which is
> increasing

People used to be working on that, but then it seemed like the "size"
got to a point that people were comfortable with it.  Are you sure that
just changing some build options would not make your image smaller?
Letting people know sometime in the past few years that the kernel was
getting "too big" for you would have been good to do :)

What exactly is the size limits you are hitting?  What is your .config?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Linux 3.10.108 (EOL)
  2017-11-15  8:50               ` Greg KH
@ 2017-11-17 23:46                 ` Alan Cox
  2017-11-18  7:31                   ` Willy Tarreau
  2017-11-18  7:37                   ` Sebastian Gottschall
  0 siblings, 2 replies; 13+ messages in thread
From: Alan Cox @ 2017-11-17 23:46 UTC (permalink / raw)
  To: Greg KH
  Cc: Sebastian Gottschall, Willy Tarreau, Harsh Shandilya,
	linux-kernel, stable

> > i just wanted to throw some stones on the bloated kernel problem which is
> > increasing  
> 
> People used to be working on that, but then it seemed like the "size"
> got to a point that people were comfortable with it.  Are you sure that

There's also a lot of pushback to things that add a ton of ifdefs.

> just changing some build options would not make your image smaller?
> Letting people know sometime in the past few years that the kernel was
> getting "too big" for you would have been good to do :)

It's also an increasingly hard problem to deal with because the scale of
big machines means the algorithms themselves in a modern Linux OS just
don't make sense for a tiddly embedded router.

I know lots of people build them that way but if you compare it with one
of the more conservative *BSD builds you have to wonder why not use BSD
instead - especially with nanoBSD ?

(and BSD has the reverse problem - most BSD does not scale to a modern
bigger machine of course).

Alan
"1.2.13 was the last true Linux"  ;-)

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Linux 3.10.108 (EOL)
  2017-11-17 23:46                 ` Alan Cox
@ 2017-11-18  7:31                   ` Willy Tarreau
  2017-11-20 15:46                     ` Alan Cox
  2017-11-18  7:37                   ` Sebastian Gottschall
  1 sibling, 1 reply; 13+ messages in thread
From: Willy Tarreau @ 2017-11-18  7:31 UTC (permalink / raw)
  To: Alan Cox
  Cc: Greg KH, Sebastian Gottschall, Harsh Shandilya, linux-kernel, stable

On Fri, Nov 17, 2017 at 11:46:20PM +0000, Alan Cox wrote:
> > > i just wanted to throw some stones on the bloated kernel problem which is
> > > increasing  
> > 
> > People used to be working on that, but then it seemed like the "size"
> > got to a point that people were comfortable with it.  Are you sure that
> 
> There's also a lot of pushback to things that add a ton of ifdefs.
> 
> > just changing some build options would not make your image smaller?
> > Letting people know sometime in the past few years that the kernel was
> > getting "too big" for you would have been good to do :)
> 
> It's also an increasingly hard problem to deal with because the scale of
> big machines means the algorithms themselves in a modern Linux OS just
> don't make sense for a tiddly embedded router.

It's true but it's also true that a lot of these algorithm can be tuned
at build time. We have various memory allocators, tiny RCU, the ability
to disable SMP, we can even tune certain filesystems to use more or less
buffers, etc. It's not that bad at all and I'm not sure that many other
OSes have this level of flexibility.

> I know lots of people build them that way but if you compare it with one
> of the more conservative *BSD builds you have to wonder why not use BSD
> instead - especially with nanoBSD ?

Well, I maintain a kernel image that I use as a bootloader / recovery image
to (re-)install some machines. The kernel+rootfs image fits in 1.7 MB, and
in that size it supports a few network drivers, SATA, serial console, kexec,
EXT2+VFAT and a few other stuff. Obviously it's a bit limited, but it serves
this purpose well as it needs to fit into a 2 MB partition where GRUB is
already installed. It started with 2.6.16 about 12 years ago, then 2.6.35,
now 3.10.104. The image has increased a bit over time, but it also required
a lot less patches to shrink it.

If that can be useful, I can try to port these patches to modern kernels
to get them merged. However some of them add new options (eg: enable
diag/stats in igb driver, etc) and would probably need to be inverted to
disable certain features based on a central option to make the kernel much
smaller.

> (and BSD has the reverse problem - most BSD does not scale to a modern
> bigger machine of course).
> 
> Alan
> "1.2.13 was the last true Linux"  ;-)

I've been using this one for a while and have even deployed it a few times
as LAN->PPP gateways by reconverting old 2 MB RAM 386's (1.6 MB in fact since
384kB were lost and not remappable by then). It was unbeatable for this
purpose, though I'm not aiming at making this possible nowadays, most
machines have at least a bit more RAM :-)

Willy

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Linux 3.10.108 (EOL)
  2017-11-17 23:46                 ` Alan Cox
  2017-11-18  7:31                   ` Willy Tarreau
@ 2017-11-18  7:37                   ` Sebastian Gottschall
  1 sibling, 0 replies; 13+ messages in thread
From: Sebastian Gottschall @ 2017-11-18  7:37 UTC (permalink / raw)
  To: Alan Cox, Greg KH; +Cc: Willy Tarreau, Harsh Shandilya, linux-kernel, stable

Am 18.11.2017 um 00:46 schrieb Alan Cox:
>>> i just wanted to throw some stones on the bloated kernel problem which is
>>> increasing
>> People used to be working on that, but then it seemed like the "size"
>> got to a point that people were comfortable with it.  Are you sure that
> There's also a lot of pushback to things that add a ton of ifdefs.
>
>> just changing some build options would not make your image smaller?
>> Letting people know sometime in the past few years that the kernel was
>> getting "too big" for you would have been good to do :)
> It's also an increasingly hard problem to deal with because the scale of
> big machines means the algorithms themselves in a modern Linux OS just
> don't make sense for a tiddly embedded router.
>
> I know lots of people build them that way but if you compare it with one
> of the more conservative *BSD builds you have to wonder why not use BSD
> instead - especially with nanoBSD ?
>
> (and BSD has the reverse problem - most BSD does not scale to a modern
> bigger machine of course).
>
> Alan
> "1.2.13 was the last true Linux"  ;-)
>

easy. i have to port alot of cpu platforms to bsd then and since i'm doing

wireless routers i will run into a problem with all the drivers i have 
to rewrite for bsd and the bsd wireless stack is simply shit

its basicly a impossible task. and most of my code is gpl licensed. mmh 
mixing with bsd code, not a good idea


-- 
Mit freundlichen Grüssen / Regards

Sebastian Gottschall / CTO

NewMedia-NET GmbH - DD-WRT
Firmensitz:  Stubenwaldallee 21a, 64625 Bensheim
Registergericht: Amtsgericht Darmstadt, HRB 25473
Geschäftsführer: Peter Steinhäuser, Christian Scheele
http://www.dd-wrt.com
email: s.gottschall@dd-wrt.com
Tel.: +496251-582650 / Fax: +496251-5826565

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Linux 3.10.108 (EOL)
  2017-11-18  7:31                   ` Willy Tarreau
@ 2017-11-20 15:46                     ` Alan Cox
  0 siblings, 0 replies; 13+ messages in thread
From: Alan Cox @ 2017-11-20 15:46 UTC (permalink / raw)
  To: Willy Tarreau
  Cc: Greg KH, Sebastian Gottschall, Harsh Shandilya, linux-kernel, stable

> It's true but it's also true that a lot of these algorithm can be tuned
> at build time. We have various memory allocators, tiny RCU, the ability
> to disable SMP, we can even tune certain filesystems to use more or less
> buffers, etc. It's not that bad at all and I'm not sure that many other
> OSes have this level of flexibility.

It's not tuning the algorithms that is the problem. The problem is the
choice of algorithm. RCU is a lovely example. The correct solution for
a small single or dual CPU device is not to have RCU in the first place.
Our tty layer is another - it's about ten times the size it needs to be
becauuse it has to handle all sorts of crazy stuff you don't need on a
router (to the point we now have an optional second 'tty' layer choice.

Do we want to do that with everything though - a dumb scheduler
alternative (the one in Linux 1.2 is actually really good for a little
uniprocessor), a new VFS, a simple block layer ?

Likewise on a low memory embedded router you don't need the scheduler
logic we have, you don't need the VFS design Linux uses, you don't want
the dcache, you don't want most of the disk optimisations, the tty layer
and so on.

> 384kB were lost and not remappable by then). It was unbeatable for this
> purpose, though I'm not aiming at making this possible nowadays, most
> machines have at least a bit more RAM :-)

Memory costs power so there are pressures in both directions.

Alan

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-11-20 15:46 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-04 23:06 Linux 3.10.108 (EOL) Willy Tarreau
     [not found] ` <CALpmF+EbmuxvNWiBccGgtw=xDEW1=2hvxfVNp_r4dfiSF2o1UQ@mail.gmail.com>
2017-11-05  7:05   ` Willy Tarreau
2017-11-05  7:46   ` Willy Tarreau
2017-11-14 22:00     ` Sebastian Gottschall
2017-11-14 22:18       ` Willy Tarreau
2017-11-14 22:40         ` Sebastian Gottschall
2017-11-15  4:32           ` Willy Tarreau
2017-11-15  8:09             ` Sebastian Gottschall
2017-11-15  8:50               ` Greg KH
2017-11-17 23:46                 ` Alan Cox
2017-11-18  7:31                   ` Willy Tarreau
2017-11-20 15:46                     ` Alan Cox
2017-11-18  7:37                   ` Sebastian Gottschall

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.