linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] x86/asm changes for v5.5
@ 2019-11-25 16:08 Ingo Molnar
  2019-11-25 17:39 ` Borislav Petkov
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Ingo Molnar @ 2019-11-25 16:08 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Borislav Petkov, Thomas Gleixner, Peter Zijlstra,
	Andy Lutomirski, Andrew Morton

Linus,

Please pull the latest x86-asm-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-asm-for-linus

   # HEAD: f01ec4fca8207e31b59a010c3de679c833f3a877 Merge branch 'x86/build' into x86/asm, to pick up completed topic branch

The main changes in this cycle were:

 - Cross-arch changes to move the linker sections for NOTES and 
   EXCEPTION_TABLE into the RO_DATA area, where they belong on most 
   architectures. (Kees Cook)

 - Switch the x86 linker fill byte from x90 (NOP) to 0xcc (INT3), to trap
   jumps into the middle of those padding areas instead of sliding execution.
   (Kees Cook)

 - A thorough cleanup of symbol definitions within x86 assembler code. 
   The rather randomly named macros got streamlined around a (hopefully) 
   straightforward naming scheme:

	SYM_START(name, linkage, align...)
	SYM_END(name, sym_type)

	SYM_FUNC_START(name)
	SYM_FUNC_END(name)

	SYM_CODE_START(name)
	SYM_CODE_END(name)

	SYM_DATA_START(name)
	SYM_DATA_END(name)

        etc. - with about three times of these basic primitives with some 
        label, local symbol or attribute variant, expressed via 
        postfixes.

    No change in functionality intended.

    (Jiri Slaby)

  - Misc other changes, cleanups and smaller fixes.

Unfortunately the symbol rework will generate conflicts with pending 
changes to assembly files.

 Thanks,

	Ingo

------------------>
Borislav Petkov (1):
      x86/ftrace: Get rid of function_hook

Bruce Ashfield (1):
      arch/x86/boot: Use prefix map to avoid embedded paths

Jiri Slaby (31):
      x86/asm: Reorder early variables
      x86/asm: Make boot_gdt_descr local
      x86/asm: Make more symbols local
      linkage: Introduce new macros for assembler symbols
      x86/asm/suspend: Use SYM_DATA for data
      x86/asm: Annotate relocate_kernel_{32,64}.c
      x86/asm/entry: Annotate THUNKs
      x86/asm: Annotate local pseudo-functions
      x86/asm/crypto: Annotate local functions
      x86/boot: Annotate local functions
      x86/uaccess: Annotate local function
      x86/asm: Annotate aliases
      x86/asm/entry: Annotate interrupt symbols properly
      x86/asm/head: Annotate data appropriately
      x86/boot: Annotate data appropriately
      x86/um: Annotate data appropriately
      xen/pvh: Annotate data appropriately
      x86/asm/purgatory: Start using annotations
      x86/asm: Do not annotate functions with GLOBAL
      x86/asm: Use SYM_INNER_LABEL instead of GLOBAL
      x86/asm/realmode: Use SYM_DATA_* instead of GLOBAL
      x86/asm: Remove the last GLOBAL user and remove the macro
      x86/asm: Make some functions local
      x86/asm/ftrace: Mark function_hook as function
      x86/asm/64: Add ENDs to some functions and relabel with SYM_CODE_*
      x86/asm/64: Change all ENTRY+END to SYM_CODE_*
      x86/asm: Change all ENTRY+ENDPROC to SYM_FUNC_*
      x86/asm/32: Add ENDs to some functions and relabel with SYM_CODE_*
      x86/asm/32: Change all ENTRY+END to SYM_CODE_*
      x86/asm/32: Change all ENTRY+ENDPROC to SYM_FUNC_*
      x86/asm: Replace WEAK uses by SYM_INNER_LABEL_ALIGN

Kees Cook (30):
      powerpc: Rename "notes" PT_NOTE to "note"
      powerpc: Remove PT_NOTE workaround
      powerpc: Rename PT_LOAD identifier "kernel" to "text"
      alpha: Rename PT_LOAD identifier "kernel" to "text"
      ia64: Rename PT_LOAD identifier "code" to "text"
      s390: Move RO_DATA into "text" PT_LOAD Program Header
      x86/vmlinux: Restore "text" Program Header with dummy section
      vmlinux.lds.h: Provide EMIT_PT_NOTE to indicate export of .notes
      vmlinux.lds.h: Move Program Header restoration into NOTES macro
      vmlinux.lds.h: Move NOTES into RO_DATA
      vmlinux.lds.h: Replace RODATA with RO_DATA
      vmlinux.lds.h: Replace RO_DATA_SECTION with RO_DATA
      vmlinux.lds.h: Replace RW_DATA_SECTION with RW_DATA
      vmlinux.lds.h: Allow EXCEPTION_TABLE to live in RO_DATA
      x86/vmlinux: Actually use _etext for the end of the text segment
      x86/vmlinux: Move EXCEPTION_TABLE to RO_DATA segment
      alpha: Move EXCEPTION_TABLE to RO_DATA segment
      arm64: Move EXCEPTION_TABLE to RO_DATA segment
      c6x: Move EXCEPTION_TABLE to RO_DATA segment
      h8300: Move EXCEPTION_TABLE to RO_DATA segment
      ia64: Move EXCEPTION_TABLE to RO_DATA segment
      microblaze: Move EXCEPTION_TABLE to RO_DATA segment
      parisc: Move EXCEPTION_TABLE to RO_DATA segment
      powerpc: Move EXCEPTION_TABLE to RO_DATA segment
      xtensa: Move EXCEPTION_TABLE to RO_DATA segment
      x86/mm: Remove redundant address-of operators on addresses
      x86/mm: Report which part of kernel image is freed
      x86/mm: Report actual image regions in /proc/iomem
      x86/vmlinux: Use INT3 instead of NOP for linker fill bytes
      m68k: Convert missed RODATA to RO_DATA

Masahiro Yamada (1):
      x86/build/vdso: Remove meaningless CFLAGS_REMOVE_*.o

Peter Zijlstra (1):
      ubsan, x86: Annotate and allow __ubsan_handle_shift_out_of_bounds() in uaccess regions

Thomas Gleixner (2):
      x86/entry/32: Remove unused resume_userspace label
      x86/entry/64: Remove pointless jump in paranoid_exit


 Documentation/asm-annotations.rst            | 216 +++++++++++++++++++++++
 Documentation/index.rst                      |   8 +
 arch/alpha/kernel/vmlinux.lds.S              |  18 +-
 arch/arc/kernel/vmlinux.lds.S                |   6 +-
 arch/arm/kernel/vmlinux-xip.lds.S            |   4 +-
 arch/arm/kernel/vmlinux.lds.S                |   4 +-
 arch/arm64/kernel/vmlinux.lds.S              |  10 +-
 arch/c6x/kernel/vmlinux.lds.S                |   8 +-
 arch/csky/kernel/vmlinux.lds.S               |   5 +-
 arch/h8300/kernel/vmlinux.lds.S              |   9 +-
 arch/hexagon/kernel/vmlinux.lds.S            |   5 +-
 arch/ia64/kernel/vmlinux.lds.S               |  20 +--
 arch/m68k/kernel/vmlinux-nommu.lds           |   4 +-
 arch/m68k/kernel/vmlinux-std.lds             |   4 +-
 arch/m68k/kernel/vmlinux-sun3.lds            |   4 +-
 arch/microblaze/kernel/vmlinux.lds.S         |   8 +-
 arch/mips/kernel/vmlinux.lds.S               |  15 +-
 arch/nds32/kernel/vmlinux.lds.S              |   5 +-
 arch/nios2/kernel/vmlinux.lds.S              |   5 +-
 arch/openrisc/kernel/vmlinux.lds.S           |   7 +-
 arch/parisc/kernel/vmlinux.lds.S             |  11 +-
 arch/powerpc/kernel/vmlinux.lds.S            |  37 +---
 arch/riscv/kernel/vmlinux.lds.S              |   5 +-
 arch/s390/kernel/vmlinux.lds.S               |  12 +-
 arch/sh/kernel/vmlinux.lds.S                 |   3 +-
 arch/sparc/kernel/vmlinux.lds.S              |   3 +-
 arch/um/include/asm/common.lds.S             |   3 +-
 arch/unicore32/kernel/vmlinux.lds.S          |   5 +-
 arch/x86/boot/Makefile                       |   1 +
 arch/x86/boot/compressed/Makefile            |   1 +
 arch/x86/boot/compressed/efi_stub_32.S       |   4 +-
 arch/x86/boot/compressed/efi_thunk_64.S      |  33 ++--
 arch/x86/boot/compressed/head_32.S           |  15 +-
 arch/x86/boot/compressed/head_64.S           |  63 +++----
 arch/x86/boot/compressed/mem_encrypt.S       |  11 +-
 arch/x86/boot/copy.S                         |  16 +-
 arch/x86/boot/pmjump.S                       |  10 +-
 arch/x86/crypto/aegis128-aesni-asm.S         |  36 ++--
 arch/x86/crypto/aes_ctrby8_avx-x86_64.S      |  12 +-
 arch/x86/crypto/aesni-intel_asm.S            | 114 ++++++------
 arch/x86/crypto/aesni-intel_avx-x86_64.S     |  32 ++--
 arch/x86/crypto/blowfish-x86_64-asm_64.S     |  16 +-
 arch/x86/crypto/camellia-aesni-avx-asm_64.S  |  44 ++---
 arch/x86/crypto/camellia-aesni-avx2-asm_64.S |  44 ++---
 arch/x86/crypto/camellia-x86_64-asm_64.S     |  16 +-
 arch/x86/crypto/cast5-avx-x86_64-asm_64.S    |  24 +--
 arch/x86/crypto/cast6-avx-x86_64-asm_64.S    |  32 ++--
 arch/x86/crypto/chacha-avx2-x86_64.S         |  12 +-
 arch/x86/crypto/chacha-avx512vl-x86_64.S     |  12 +-
 arch/x86/crypto/chacha-ssse3-x86_64.S        |  16 +-
 arch/x86/crypto/crc32-pclmul_asm.S           |   4 +-
 arch/x86/crypto/crc32c-pcl-intel-asm_64.S    |   4 +-
 arch/x86/crypto/crct10dif-pcl-asm_64.S       |   4 +-
 arch/x86/crypto/des3_ede-asm_64.S            |   8 +-
 arch/x86/crypto/ghash-clmulni-intel_asm.S    |  12 +-
 arch/x86/crypto/nh-avx2-x86_64.S             |   4 +-
 arch/x86/crypto/nh-sse2-x86_64.S             |   4 +-
 arch/x86/crypto/poly1305-avx2-x86_64.S       |   4 +-
 arch/x86/crypto/poly1305-sse2-x86_64.S       |   8 +-
 arch/x86/crypto/serpent-avx-x86_64-asm_64.S  |  32 ++--
 arch/x86/crypto/serpent-avx2-asm_64.S        |  32 ++--
 arch/x86/crypto/serpent-sse2-i586-asm_32.S   |   8 +-
 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S |   8 +-
 arch/x86/crypto/sha1_avx2_x86_64_asm.S       |   4 +-
 arch/x86/crypto/sha1_ni_asm.S                |   4 +-
 arch/x86/crypto/sha1_ssse3_asm.S             |   4 +-
 arch/x86/crypto/sha256-avx-asm.S             |   4 +-
 arch/x86/crypto/sha256-avx2-asm.S            |   4 +-
 arch/x86/crypto/sha256-ssse3-asm.S           |   4 +-
 arch/x86/crypto/sha256_ni_asm.S              |   4 +-
 arch/x86/crypto/sha512-avx-asm.S             |   4 +-
 arch/x86/crypto/sha512-avx2-asm.S            |   4 +-
 arch/x86/crypto/sha512-ssse3-asm.S           |   4 +-
 arch/x86/crypto/twofish-avx-x86_64-asm_64.S  |  32 ++--
 arch/x86/crypto/twofish-i586-asm_32.S        |   8 +-
 arch/x86/crypto/twofish-x86_64-asm_64-3way.S |   8 +-
 arch/x86/crypto/twofish-x86_64-asm_64.S      |   8 +-
 arch/x86/entry/entry_32.S                    | 162 ++++++++---------
 arch/x86/entry/entry_64.S                    | 112 ++++++------
 arch/x86/entry/entry_64_compat.S             |  16 +-
 arch/x86/entry/thunk_32.S                    |   4 +-
 arch/x86/entry/thunk_64.S                    |   7 +-
 arch/x86/entry/vdso/Makefile                 |   2 -
 arch/x86/entry/vdso/vdso32/system_call.S     |   2 +-
 arch/x86/include/asm/linkage.h               |   4 -
 arch/x86/include/asm/processor.h             |   2 +-
 arch/x86/include/asm/sections.h              |   1 -
 arch/x86/kernel/acpi/wakeup_32.S             |   9 +-
 arch/x86/kernel/acpi/wakeup_64.S             |  10 +-
 arch/x86/kernel/ftrace_32.S                  |  23 ++-
 arch/x86/kernel/ftrace_64.S                  |  47 +++--
 arch/x86/kernel/head_32.S                    |  62 +++----
 arch/x86/kernel/head_64.S                    | 113 ++++++------
 arch/x86/kernel/irqflags.S                   |   8 +-
 arch/x86/kernel/relocate_kernel_32.S         |  13 +-
 arch/x86/kernel/relocate_kernel_64.S         |  13 +-
 arch/x86/kernel/setup.c                      |  12 +-
 arch/x86/kernel/verify_cpu.S                 |   4 +-
 arch/x86/kernel/vmlinux.lds.S                |  16 +-
 arch/x86/kvm/vmx/vmenter.S                   |  12 +-
 arch/x86/lib/atomic64_386_32.S               |   4 +-
 arch/x86/lib/atomic64_cx8_32.S               |  32 ++--
 arch/x86/lib/checksum_32.S                   |  16 +-
 arch/x86/lib/clear_page_64.S                 |  12 +-
 arch/x86/lib/cmpxchg16b_emu.S                |   4 +-
 arch/x86/lib/cmpxchg8b_emu.S                 |   4 +-
 arch/x86/lib/copy_page_64.S                  |   8 +-
 arch/x86/lib/copy_user_64.S                  |  21 ++-
 arch/x86/lib/csum-copy_64.S                  |   4 +-
 arch/x86/lib/getuser.S                       |  22 +--
 arch/x86/lib/hweight.S                       |   8 +-
 arch/x86/lib/iomap_copy_64.S                 |   4 +-
 arch/x86/lib/memcpy_64.S                     |  20 +--
 arch/x86/lib/memmove_64.S                    |   8 +-
 arch/x86/lib/memset_64.S                     |  16 +-
 arch/x86/lib/msr-reg.S                       |   8 +-
 arch/x86/lib/putuser.S                       |  19 +-
 arch/x86/lib/retpoline.S                     |   4 +-
 arch/x86/math-emu/div_Xsig.S                 |   4 +-
 arch/x86/math-emu/div_small.S                |   4 +-
 arch/x86/math-emu/mul_Xsig.S                 |  12 +-
 arch/x86/math-emu/polynom_Xsig.S             |   4 +-
 arch/x86/math-emu/reg_norm.S                 |   8 +-
 arch/x86/math-emu/reg_round.S                |   4 +-
 arch/x86/math-emu/reg_u_add.S                |   4 +-
 arch/x86/math-emu/reg_u_div.S                |   4 +-
 arch/x86/math-emu/reg_u_mul.S                |   4 +-
 arch/x86/math-emu/reg_u_sub.S                |   4 +-
 arch/x86/math-emu/round_Xsig.S               |   8 +-
 arch/x86/math-emu/shr_Xsig.S                 |   4 +-
 arch/x86/math-emu/wm_shrx.S                  |   8 +-
 arch/x86/math-emu/wm_sqrt.S                  |   4 +-
 arch/x86/mm/init.c                           |   8 +-
 arch/x86/mm/init_64.c                        |  16 +-
 arch/x86/mm/mem_encrypt_boot.S               |   8 +-
 arch/x86/mm/pti.c                            |   2 +-
 arch/x86/platform/efi/efi_stub_32.S          |   4 +-
 arch/x86/platform/efi/efi_stub_64.S          |   4 +-
 arch/x86/platform/efi/efi_thunk_64.S         |  16 +-
 arch/x86/platform/olpc/xo1-wakeup.S          |   3 +-
 arch/x86/platform/pvh/head.S                 |  18 +-
 arch/x86/power/hibernate_asm_32.S            |  14 +-
 arch/x86/power/hibernate_asm_64.S            |  14 +-
 arch/x86/purgatory/entry64.S                 |  24 +--
 arch/x86/purgatory/setup-x86_64.S            |  14 +-
 arch/x86/purgatory/stack.S                   |   7 +-
 arch/x86/realmode/rm/header.S                |   8 +-
 arch/x86/realmode/rm/reboot.S                |  13 +-
 arch/x86/realmode/rm/stack.S                 |  14 +-
 arch/x86/realmode/rm/trampoline_32.S         |  16 +-
 arch/x86/realmode/rm/trampoline_64.S         |  29 ++--
 arch/x86/realmode/rm/trampoline_common.S     |   2 +-
 arch/x86/realmode/rm/wakeup_asm.S            |  17 +-
 arch/x86/realmode/rmpiggy.S                  |  10 +-
 arch/x86/um/vdso/vdso.S                      |   6 +-
 arch/x86/xen/xen-asm.S                       |  28 +--
 arch/x86/xen/xen-asm_32.S                    |   7 +-
 arch/x86/xen/xen-asm_64.S                    |  34 ++--
 arch/x86/xen/xen-head.S                      |   8 +-
 arch/xtensa/kernel/vmlinux.lds.S             |   8 +-
 include/asm-generic/vmlinux.lds.h            |  53 ++++--
 include/linux/linkage.h                      | 249 ++++++++++++++++++++++++++-
 lib/ubsan.c                                  |   5 +-
 tools/objtool/check.c                        |   1 +
 164 files changed, 1654 insertions(+), 1186 deletions(-)
 create mode 100644 Documentation/asm-annotations.rst

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

* Re: [GIT PULL] x86/asm changes for v5.5
  2019-11-25 16:08 [GIT PULL] x86/asm changes for v5.5 Ingo Molnar
@ 2019-11-25 17:39 ` Borislav Petkov
  2019-11-26  9:33 ` Ingo Molnar
  2019-11-26 19:30 ` pr-tracker-bot
  2 siblings, 0 replies; 4+ messages in thread
From: Borislav Petkov @ 2019-11-25 17:39 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Linus Torvalds, linux-kernel, Thomas Gleixner, Peter Zijlstra,
	Andy Lutomirski, Andrew Morton

On Mon, Nov 25, 2019 at 05:08:21PM +0100, Ingo Molnar wrote:
> Unfortunately the symbol rework will generate conflicts with pending 
> changes to assembly files.

Yap, for at least one other tree:

https://lkml.kernel.org/r/20191118141110.7f971194@canb.auug.org.au

Resolve is simple though.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

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

* Re: [GIT PULL] x86/asm changes for v5.5
  2019-11-25 16:08 [GIT PULL] x86/asm changes for v5.5 Ingo Molnar
  2019-11-25 17:39 ` Borislav Petkov
@ 2019-11-26  9:33 ` Ingo Molnar
  2019-11-26 19:30 ` pr-tracker-bot
  2 siblings, 0 replies; 4+ messages in thread
From: Ingo Molnar @ 2019-11-26  9:33 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Borislav Petkov, Thomas Gleixner, Peter Zijlstra,
	Andy Lutomirski, Andrew Morton


* Ingo Molnar <mingo@kernel.org> wrote:

> Linus,
> 
> Please pull the latest x86-asm-for-linus git tree from:
> 
>    git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-asm-for-linus
> 
>    # HEAD: f01ec4fca8207e31b59a010c3de679c833f3a877 Merge branch 'x86/build' into x86/asm, to pick up completed topic branch

> Unfortunately the symbol rework will generate conflicts with pending 
> changes to assembly files.

Here's a more detailed merge conflict note, the changes will create 
direct merge conflicts in these files:

  arch/x86/entry/entry_32.S
  arch/x86/kernel/head_32.S
  arch/x86/xen/xen-asm_32.S

These are straightforward to resolve, but there's a semantic conflict as 
well, due to this new commit you already merged via the crypto tree:

  ed0356eda153: ("crypto: blake2s - x86_64 SIMD implementation")

Which can be resolved via converting ENTRY/ENDPROC to 
SYM_FUNC_START/SYM_FUNC_END() pattern via the patch below.

Thanks,

	Ingo

====================>

 arch/x86/crypto/blake2s-core.S | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/crypto/blake2s-core.S b/arch/x86/crypto/blake2s-core.S
index 8591938eee26..24910b766bdd 100644
--- a/arch/x86/crypto/blake2s-core.S
+++ b/arch/x86/crypto/blake2s-core.S
@@ -47,7 +47,7 @@ SIGMA2:
 
 .text
 #ifdef CONFIG_AS_SSSE3
-ENTRY(blake2s_compress_ssse3)
+SYM_FUNC_START(blake2s_compress_ssse3)
 	testq		%rdx,%rdx
 	je		.Lendofloop
 	movdqu		(%rdi),%xmm0
@@ -173,11 +173,11 @@ ENTRY(blake2s_compress_ssse3)
 	movdqu		%xmm14,0x20(%rdi)
 .Lendofloop:
 	ret
-ENDPROC(blake2s_compress_ssse3)
+SYM_FUNC_END(blake2s_compress_ssse3)
 #endif /* CONFIG_AS_SSSE3 */
 
 #ifdef CONFIG_AS_AVX512
-ENTRY(blake2s_compress_avx512)
+SYM_FUNC_START(blake2s_compress_avx512)
 	vmovdqu		(%rdi),%xmm0
 	vmovdqu		0x10(%rdi),%xmm1
 	vmovdqu		0x20(%rdi),%xmm4
@@ -254,5 +254,5 @@ ENTRY(blake2s_compress_avx512)
 	vmovdqu		%xmm4,0x20(%rdi)
 	vzeroupper
 	retq
-ENDPROC(blake2s_compress_avx512)
+SYM_FUNC_END(blake2s_compress_avx512)
 #endif /* CONFIG_AS_AVX512 */

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

* Re: [GIT PULL] x86/asm changes for v5.5
  2019-11-25 16:08 [GIT PULL] x86/asm changes for v5.5 Ingo Molnar
  2019-11-25 17:39 ` Borislav Petkov
  2019-11-26  9:33 ` Ingo Molnar
@ 2019-11-26 19:30 ` pr-tracker-bot
  2 siblings, 0 replies; 4+ messages in thread
From: pr-tracker-bot @ 2019-11-26 19:30 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Linus Torvalds, linux-kernel, Borislav Petkov, Thomas Gleixner,
	Peter Zijlstra, Andy Lutomirski, Andrew Morton

The pull request you sent on Mon, 25 Nov 2019 17:08:21 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-asm-for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/1d87200446f1d10dfe9672ca8edb027a82612f8c

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

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

end of thread, other threads:[~2019-11-26 19:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-25 16:08 [GIT PULL] x86/asm changes for v5.5 Ingo Molnar
2019-11-25 17:39 ` Borislav Petkov
2019-11-26  9:33 ` Ingo Molnar
2019-11-26 19:30 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).