2018-03-04 23:16:48

by Linus Torvalds

[permalink] [raw]
Subject: Linux 4.16-rc4

Hmm. A reasonably calm week - the biggest change is to the 'kvm-stat'
tool, not any actual kernel files.

But there's small changes all over, with architecture updates (x86,
s390, arm, parisc) and drivers (media, md, gpu, sound) being the bulk
of it. But there's some filesystem fixes (mostly btrfs),
documentation updates etc too.

Go test,

Linus

---

Adam Ford (2):
ARM: dts: LogicPD Torpedo: Fix I2C1 pinmux
ARM: dts: LogicPD SOM-LV: Fix I2C1 pinmux

Adrian Hunter (1):
mmc: sdhci-pci: Fix S0i3 for Intel BYT-based controllers

Alex Deucher (3):
drm/amd/powerplay/vega10: allow mclk switching with no displays
drm/amd/powerplay/smu7: allow mclk switching with no displays
Revert "drm/radeon/pm: autoswitch power state when in balanced mode"

Alexandre Belloni (1):
MAINTAINERS: ARM: at91: update my email address

Alexandre Torgue (1):
MAINTAINERS: update entries for ARM/STM32

Alexey Brodkin (2):
ARCv2: Don't pretend we may set L-bit in STATUS32 with kflag instruction
ARC: Enable fatal signals on boot for dev platforms

Aliaksei Karaliou (1):
md/raid5: simplify uninitialization of shrinker

Anand Jain (1):
btrfs: use proper endianness accessors for super_copy

Anders Roxell (2):
selftests: sync: missing CFLAGS while compiling
selftests: memfd: add config fragment for fuse

Andrea Parri (1):
riscv/barrier: Define __smp_{mb,rmb,wmb}

Andy Shevchenko (1):
auxdisplay: Move arm-charlcd binding to correct folder

Anna Karbownik (1):
EDAC, sb_edac: Fix out of bound writes during DIMM configuration on KNL

Arnd Bergmann (10):
ARM: kvm: fix building with gcc-8
watchdog: rave-sp: add NVMEM dependency
md: raid5: avoid string overflow warning
ARM: clps711x: mark clps711x_compat as const
ARM: davinci: mark spi_board_info arrays as const
ARM: orion: fix orion_ge00_switch_board_info initialization
media: dvb: fix DVB_MMAP symbol name
media: dvb: fix DVB_MMAP dependency
media: au0828: add VIDEO_V4L2 dependency
ARM: omap2: set CONFIG_LIRC=y in defconfig

Artur Paszkiewicz (1):
raid5-ppl: fix handling flush requests

Arvind Prasanna (1):
kconfig: Update ncurses package names for menuconfig

Baegjae Sung (1):
nvme-multipath: fix sysfs dangerously created links

Bartosz Golaszewski (1):
arc: dts: use 'atmel' as manufacturer for at24 in axs10x_mb

Ben Crocker (1):
drm/radeon: insist on 32-bit DMA for Cedar on PPC64/PPC64LE

BingJing Chang (1):
md: fix a potential deadlock of raid5/raid10 reshape

Boaz Harrosh (1):
dax: ->direct_access does not sleep anymore

Borislav Petkov (3):
x86/microcode: Propagate return value from updating functions
x86/CPU: Add a microcode loader callback
x86/CPU: Check CPU feature bits after microcode upgrade

Brijesh Singh (5):
crypto: ccp: Fix sparse, use plain integer as NULL pointer
include: psp-sev: Capitalize invalid length enum
KVM: SVM: no need to call access_ok() in LAUNCH_MEASURE command
KVM: SVM: install RSM intercept
KVM: SVM: Fix SEV LAUNCH_SECRET command

Cao jin (2):
kbuild: drop superfluous GCC_PLUGINS_CFLAGS assignment
kbuild/kallsyms: trivial typo fix

Chao Gao (1):
KVM: nVMX: Don't halt vcpu when L1 is injecting events to L2

Chen-Yu Tsai (1):
gpio: Handle deferred probing in of_find_gpio() properly

Chengguang Xu (4):
libceph, ceph: avoid memory leak when specifying same option several times
ceph: fix dentry leak when failing to init debugfs
xfs: fix potential memory leak in mount option parsing
ceph: fix potential memory leak in init_caches()

Chris Wilson (1):
drm/i915: Clear the in-use marker on execbuf failure

Christian Borntraeger (5):
KVM: s390: optimize wakeup for exitless interrupts
KVM: s390: do not set intervention requests for GISA interrupts
KVM: s390: force bp isolation for VSIE
KVM: s390: use switch vs jump table in priv.c
KVM: s390: use switch vs jump table in intercept.c

Christian König (1):
PCI: Allow release of resources that were never assigned

Christoffer Dall (1):
KVM: arm/arm64: Fix arch timers with userspace irqchips

Christoph Hellwig (3):
nvme-fabrics: don't check for non-NULL module in nvmf_register_transport
nvme-rdma: use blk_rq_payload_bytes instead of blk_rq_bytes
nvmet-loop: use blk_rq_payload_bytes for sgl selection

Colin Ian King (2):
clocksource/drivers/fsl_ftm_timer: Fix error return checking
xen/pvcalls: fix null pointer dereference on map->sock

Coly Li (1):
bcache: correct flash only vols (check all uuids)

Dafna Hirschfeld (1):
Coccinelle: memdup: Fix typo in warning messages

Damien Le Moal (1):
mq-deadline: Make sure to always unlock zones

Dan Williams (5):
nospec: Kill array_index_nospec_mask_check()
nospec: Include <asm/barrier.h> dependency
dax: fix vma_is_fsdax() helper
vfio: disable filesystem-dax page pinning
memremap: fix softlockup reports at teardown

Daniel Díaz (2):
selftests/android: Fix line continuation in Makefile
selftests/futex: Fix line continuation in Makefile

Daniel Schultz (1):
ARM: dts: rockchip: Remove 1.8 GHz operation point from phycore som

Daniele Ceraolo Spurio (1):
drm/i915: Fix rsvd2 mask when out-fence is returned

Darrick J. Wong (1):
xfs: reserve blocks for refcount / rmap log item recovery

Dave Airlie (1):
virtio-gpu: fix ioctl and expose the fixed status to userspace.

Dave Jiang (1):
libnvdimm: re-enable deep flush for pmem devices via fsync()

David Hildenbrand (5):
KVM: s390: use switch vs jump table in interrupt.c
KVM: s390: take care of clock-comparator sign control
KVM: s390: consider epoch index on hotplugged CPUs
KVM: s390: consider epoch index on TOD clock syncs
KVM: s390: provide only a single function for setting the tod (fix SCK)

David Woodhouse (3):
Revert "x86/retpoline: Simplify vmexit_fill_RSB()"
x86/speculation: Use IBRS if available before calling into firmware
x86/retpoline: Support retpoline builds with Clang

Dietmar Eggemann (1):
cpufreq: scpi: invoke frequency-invariance setter function

Dominik Brodowski (9):
selftest/vDSO: fix O=
x86/entry: Reduce the code footprint of the 'idtentry' macro
x86/entry/64: Use 'xorl' for faster register clearing
x86/entry/64: Move PUSH_AND_CLEAR_REGS from interrupt macro to
helper function
x86/entry/64: Move ENTER_IRQ_STACK from interrupt macro to interrupt_entry
x86/entry/64: Move the switch_to_thread_stack() call to interrupt_entry()
x86/entry/64: Remove 'interrupt' macro
x86/entry/64: Move ASM_CLAC to interrupt_entry()
x86/entry/64: Open-code switch_to_thread_stack()

Dong Aisheng (1):
dt-bindings: thermal: imx: update the binding to new method

Dou Liyang (1):
x86/kvm: Make parse_no_xxx __init for kvm

Emily Deng (1):
drm/amdgpu: Correct sdma_v4 get_wptr(v2)

Eric Biggers (2):
KVM/x86: remove WARN_ON() for when vm_munmap() fails
blktrace_api.h: fix comment for struct blk_user_trace_setup

Eric Huang (1):
drm/amd/powerplay: fix power over limit on Fiji

Eric Sandeen (1):
xfs: use memset to initialize xfs_scrub_agfl_info

Erik Veijola (1):
ALSA: usb-audio: Add a quirck for B&W PX headphones

Eugeniy Paltsev (4):
ARCv2: cache: fix slc_entire_op: flush only instead of flush-n-inv
ARC: mcip: halt GFRC counter when ARC cores halt
ARC: mcip: update MCIP debug mask when the new cpu came online
ARC: setup cpu possible mask according to possible-cpus dts property

Felix Fietkau (1):
clocksource/drivers/mips-gic-timer: Use correct shift count to
extract data

Filipe Manana (3):
Btrfs: send, fix issuing write op when processing hole in no data mode
Btrfs: fix log replay failure after linking special file and fsync
Btrfs: fix log replay failure after unlink and link combination

Florian Fainelli (1):
ARM: dts: NSP: Fix amount of RAM on BCM958625HR

Geert Uytterhoeven (5):
ARM: OMAP1: clock: Fix debugfs_create_*() usage
ARM: dts: OMAP5: uevm: Fix "debounce-interval" property misspelling
dt-bindings: power: Fix "debounce-interval" property misspelling
mmc: dw_mmc-k3: Fix out-of-bounds access through DT alias
dt-bindings/irqchip/renesas-irqc: Document R-Car M3-N support

Gregory CLEMENT (1):
MAINTAINERS: update email address for Gregory CLEMENT

Guoqing Jiang (1):
raid10: change the size of resync window for clustered raid

Gustavo A. R. Silva (1):
nbd: fix return value in error handling path

Hans de Goede (1):
ALSA: hda: Add a power_save blacklist

Hans van Kranenburg (1):
btrfs: alloc_chunk: fix DUP stripe size handling

Heinz Mauelshagen (1):
md: fix md_write_start() deadlock w/o metadata devices

Helge Deller (4):
parisc: Hide virtual kernel memory layout
parisc: Check if secondary CPUs want own PDC calls
parisc: Use cr16 interval timers unconditionally on qemu
parisc: Reduce irq overhead when run in qemu

Hersen Wu (1):
drm/amd/display: VGA black screen from s3 when attached to hook

Ilia Mirkin (1):
drm/nouveau: prefer XBGR2101010 for addfb ioctl

Ingo Molnar (1):
x86/speculation: Move firmware_restrict_branch_speculation_*()
from C to CPP

James Zhu (1):
drm/amdgpu:Fixed wrong emit frame size for enc

Jan Beulich (7):
x86/mm: Fix {pmd,pud}_{set,clear}_flags()
x86/asm: Improve how GEN_*_SUFFIXED_RMWcc() specify clobbers
x86/IO-APIC: Avoid warning in 32-bit builds
x86/LDT: Avoid warning in 32-bit builds with older gcc
x86-64/realmode: Add instruction suffix
x86/entry/64: Add instruction suffix
x86/asm: Add instruction suffixes to bitops

Jan Glauber (1):
i2c: octeon: Prevent error message on bus error

Jan Kara (7):
direct-io: Fix sleep in atomic due to sync AIO
genhd: Fix leaked module reference for NVME devices
genhd: Rename get_disk() to get_disk_and_module()
genhd: Add helper put_disk_and_module()
genhd: Fix use after free in __blkdev_get()
genhd: Fix BUG in blkdev_open()
blockdev: Avoid two active bdev inodes for one device

Jani Nikula (1):
drm/i915/audio: fix check for av_enc_map overflow

Jann Horn (1):
x86/mm: Remove stale comment about KMEMCHECK

Jason Andryuk (1):
xen-netfront: Fix hang on device removal

Jeff Mahoney (1):
btrfs: use kvzalloc to allocate btrfs_fs_info

Jeremy Boone (5):
tpm_tis: fix potential buffer overruns caused by bit glitches on the bus
tpm_i2c_nuvoton: fix potential buffer overruns caused by bit
glitches on the bus
tpm_i2c_infineon: fix potential buffer overruns caused by bit
glitches on the bus
tpm: st33zp24: fix potential buffer overruns caused by bit
glitches on the bus
tpm: fix potential buffer overruns caused by bit glitches on the bus

Jerome Brunet (1):
ARM64: dts: meson-gxl: add internal ethernet PHY irq

Jianchao Wang (1):
nvme-pci: Fix nvme queue cleanup if IRQ setup fails

Jiufei Xue (3):
block: fix the count of PGPGOUT for WRITE_SAME
block: display the correct diskname for bio
block: fix a typo

Joe Perches (1):
platform/x86: wmi: Fix misuse of vsprintf extension %pULL

John David Anglin (1):
parisc: Fix ordering of cache and TLB flushes

Josh Poimboeuf (5):
jump_label: Explicitly disable jump labels in __init code
jump_label: Warn on failed jump_label patching attempt
extable: Make init_kernel_text() global
x86/entry/64: Simplify ENCODE_FRAME_POINTER
objtool: Fix another switch table detection issue

Juergen Gross (2):
x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend
x86/xen: add tty0 and hvc0 as preferred consoles for dom0

Kamil Trzciński (1):
arm64: dts: rockchip: fix rock64 gmac2io stability issues

Kees Cook (1):
x86/refcounts: Switch to UD2 for exceptions

Li RongQing (1):
Documentation, x86, resctrl: Make text and sample command match

Lidong Zhong (1):
md-cluster: choose correct label when clustered layout is not supported

Lingutla Chandrasekhar (1):
timers: Forward timer base before migrating timers

Linus Torvalds (1):
Linux 4.16-rc4

Linus Walleij (1):
ARM: dts: Set D-Link DNS-313 SATA to muxmode 0

Luc Van Oostenryck (1):
kbuild: disable sparse warnings about unknown attributes

Luis de Bethencourt (3):
ARC: dw2 unwind: Fix trailing semicolon
ARC: boot log: Fix trailing semicolon
md/raid1: Fix trailing semicolon

Mahesh Kumar (1):
drm/i915/cnl: Fix PORT_TX_DW5/7 register address

Marc Hartmayer (4):
tools/kvm_stat: simplify the sortkey function
tools/kvm_stat: use a namedtuple for storing the values
tools/kvm_stat: use a more pythonic way to iterate over dictionaries
tools/kvm_stat: avoid 'is' for equality checks

Mario Limonciello (1):
platform/x86: intel-vbtn: Only activate tablet mode switch on 2-in-1's

Markus Elfring (1):
md-multipath: Use seq_putc() in multipath_status()

Markus Mayer (3):
memory: brcmstb: dpfe: properly mask vendor error bits
memory: brcmstb: dpfe: fix type declaration of variable "ret"
memory: brcmstb: dpfe: support new way of passing data from the DCPU

Masahiro Yamada (7):
kconfig: add xstrdup() helper
kconfig: set SYMBOL_AUTO to the symbol marked with defconfig_list
sh: fix build error for empty CONFIG_BUILTIN_DTB_SOURCE
kconfig: Don't leak choice names during parsing
kbuild: test --build-id linker flag by ld-option instead of cc-ldoption
kconfig: fix line number in recursive inclusion error message
MAINTAINERS: take over Kconfig maintainership

Mathieu Malaterre (3):
arm64: dts: Remove leading 0x and 0s from bindings notation
arm: zx: dts: Remove leading 0x and 0s from bindings notation
ARM: BCM: dts: Remove leading 0x and 0s from bindings notation

Matteo Croce (1):
watchdog: i6300esb: fix build failure

Matthew Wilcox (2):
radix tree test suite: Fix build
idr: Fix handling of IDs above INT_MAX

Mauro Carvalho Chehab (8):
media: videobuf2: fix build issues with vb2-trace
media: m88ds3103: don't call a non-initalized function
media: dmxdev: fix error code for invalid ioctls
media: dmxdev: Fix the logic that enables DMA mmap support
media: dvb: add continuity error indicators for memory mapped buffers
media: dvb: update buffer mmaped flags and frame counter
media: Don't let tvp5150_get_vbi() go out of vbi_ram_default array
media: vb2: Makefile: place vb2-trace together with vb2-core

Max Gurtovoy (1):
nvmet: fix PSDT field check in command format

Maxime Ripard (2):
drm/sun4i: Protect the TCON pixel clocks
gpiolib: Keep returning EPROBE_DEFER when we should

Michal Hocko (1):
samples/seccomp: do not compile when cross compiled

Mikita Lipski (2):
drm/amdgpu: Add a missing lock for drm_mm_takedown
drm/amdgpu: Unify the dm resume calls into one

Miles Chen (1):
dma-debug: fix memory leak in debug_dma_alloc_coherent

Ming Lei (3):
block: pass inclusive 'lend' parameter to truncate_inode_pages_range
blk-mq: don't call io sched's .requeue_request when requeueing
rq to ->dispatch
block: kyber: fix domain token leak during requeue

Monk Liu (4):
drm/amdgpu: only flush hotplug work without DC
drm/amdgpu: move WB_FREE to correct place
drm/amdgpu: fix&cleanups for wb_clear
drm/amdgpu: skip ECC for SRIOV in gmc late_init

Naresh Kamboju (1):
selftests: pstore: Adding config fragment CONFIG_PSTORE_RAM=m

NeilBrown (2):
md: document lifetime of internal rdev pointer.
md: only allow remove_and_add_spares when no sync_thread running.

Nikolay Borisov (2):
btrfs: handle failure of add_pending_csums
btrfs: Handle btrfs_set_extent_delalloc failure in
relocate_file_extent_cluster

Ondrej Jirman (1):
drm/sun4i: Enable the output on the pins (tcon0)

Paolo Bonzini (3):
KVM/x86: Remove indirect MSR op calls from SPEC_CTRL
KVM/VMX: Optimize vmx_vcpu_run() and svm_vcpu_run() by marking
the RDMSR path as unlikely()
KVM: x86: move LAPIC initialization after VMCS creation

Peter Rosin (1):
dt-bindings: at24: sort manufacturers alphabetically

Peter Zijlstra (8):
x86/speculation, objtool: Annotate indirect calls/jumps for objtool
x86/paravirt, objtool: Annotate indirect calls
x86/boot, objtool: Annotate indirect jump in secondary_startup_64()
x86/mm/sme, objtool: Annotate indirect call in sme_encrypt_execute()
objtool: Use existing global variables for options
objtool: Add retpoline validation
objtool: Add module specific retpoline rules
objtool, retpolines: Integrate objtool with retpoline support more closely

Petr Mladek (1):
printk: Wake klogd when passing console_lock owner

Qi Hou (1):
ARM: OMAP2+: timer: fix a kmemleak caused in omap_get_timer_dt

Radim Krčmář (3):
KVM: nVMX: preserve SECONDARY_EXEC_DESC without UMIP
KVM: x86: fix backward migration with async_PF
KVM: x86: fix vcpu initialization with userspace lapic

Radu Rendec (1):
watchdog: xen_wdt: fix potential build failure

Rafael J. Wysocki (2):
platform/x86: intel-vbtn: Reset wakeup capable flag on removal
platform/x86: intel-hid: Reset wakeup capable flag on removal

Randy Dunlap (1):
PCI: Update location of pci.ids file

Rasmus Villemoes (1):
nospec: Allow index argument to have const-qualified type

Richard Fitzgerald (1):
ALSA: control: Fix memory corruption risk in snd_ctl_elem_read

Rob Herring (1):
arm64: dts: cavium: fix PCI bus dtc warnings

Robin Murphy (2):
arm64: dts: rockchip: Fix DWMMC clocks
ARM: dts: rockchip: Fix DWMMC clocks

Roger Pau Monne (1):
xen/pirq: fix error path cleanup when binding MSIs

Sakari Ailus (1):
media: videobuf2: Add VIDEOBUF2_V4L2 Kconfig option for VB2 V4L2 part

Sebastian Ott (2):
kvm: fix warning for CONFIG_HAVE_KVM_EVENTFD builds
kvm: fix warning for non-x86 builds

Sebastian Panceac (1):
x86/platform/intel-mid: Handle Intel Edison reboot correctly

Shawn Lin (4):
arm64: dts: rockchip: correct ep-gpios for rk3399-sapphire
mmc: dw_mmc: Factor out dw_mci_init_slot_caps
mmc: dw_mmc: Fix out-of-bounds access for slot's caps
mmc: dw_mmc: Avoid accessing registers in runtime suspended state

Shirish S (1):
drm/amd/display: check for ipp before calling cursor operations

Shuah Khan (2):
selftests: memory-hotplug: silence test command echo
selftests: vm: update .gitignore with new test

Shyam Saini (1):
ARM: dts: imx6dl: Include correct dtsi file for Engicam i.CoreM6
DualLite/Solo RQS

Stefan Agner (2):
MAINTAINERS: add Freescale pin controllers
soc: imx: gpc: de-register power domains only if initialized

Stefan Raspl (8):
tools/kvm_stat: fix crash when filtering out all non-child trace events
tools/kvm_stat: print error on invalid regex
tools/kvm_stat: fix debugfs handling
tools/kvm_stat: mark private methods as such
tools/kvm_stat: eliminate extra guest/pid selection dialog
tools/kvm_stat: separate drilldown and fields filtering
tools/kvm_stat: group child events indented after parent
tools/kvm_stat: print 'Total' line for multiple events only

Stefan Wahren (2):
ARM: dts: bcm283x: Fix unit address of local_intc
ARM: dts: bcm283x: Move arm-pmu out of soc node

Stefano Stabellini (1):
pvcalls-front: 64-bit align flags

Sudeep Holla (1):
cpufreq: scpi: Fix incorrect arm_big_little config dependency

Takashi Iwai (4):
ALSA: x86: hdmi: Add single_port option for compatible behavior
ALSA: hda - Fix pincfg at resume on Lenovo T470 dock
ALSA: x86: Fix missing spinlock and mutex initializations
ALSA: x86: Fix potential crash at error path

Tang Junhui (1):
bcache: fix kcrashes with fio in RAID5 backend dev

Tero Kristo (1):
ARM: OMAP2+: hwmod_core: enable optional clocks before main clock

Thomas Gleixner (1):
x86/cpu_entry_area: Sync cpu_entry_area to initial_page_table

Tom Lendacky (2):
KVM: x86: Add a framework for supporting MSR-based features
KVM: SVM: Add MSR-based feature support for serializing LFENCE

Tom St Denis (1):
drm/amd/amdgpu: Correct VRAM width for APUs with GMC9

Tony Lindgren (3):
ARM: OMAP3: Fix prm wake interrupt for resume
ARM: OMAP2+: Fix sar_base inititalization for HS omaps
bus: ti-sysc: Fix checking of no-reset-on-init quirk

Tvrtko Ursulin (1):
drm/i915: Make global seqno known in i915_gem_request_execute tracepoint

Ulf Hansson (1):
mmc: core: Avoid hanging to claim host for mmc via some nested calls

Ulf Magnusson (3):
ARC: Fix malformed ARC_EMUL_UNALIGNED default
ARM: mvebu: Fix broken PL310_ERRATA_753970 selects
Makefile: Fix lying comment re. silentoldconfig

Vineet Gupta (2):
clocksource/drivers/arc_timer: Update some comments
ARCv2: boot log: fix HS48 release number

Viresh Kumar (1):
cpufreq: s3c24xx: Fix broken s3c_cpufreq_init()

Wanpeng Li (5):
KVM: mmu: Fix overlap between public and private memslots
KVM: X86: Fix SMRAM accessing even if VM is shutdown
KVM: X86: Avoid traversing all the cpus for pv tlb flush when
steal time is disabled
KVM: X86: Introduce kvm_get_msr_feature()
KVM: X86: Allow userspace to define the microcode version

Wim Van Sebroeck (1):
watchdog: sp5100_tco.c: fix potential build failure

Xiao Ni (1):
MD: Free bioset when md_run fails

Yakir Yang (1):
arm64: dts: rockchip: introduce pclk_vio_grf in rk3399-eDP device node

Yixun Lan (2):
pinctrl: meson-axg: adjust uart_ao_b pin group naming
ARM64: dts: meson: uart: fix address space range

Yufen Yu (2):
md raid10: fix NULL deference in handle_write_completed()
md/raid1: fix NULL pointer dereference

Zhi Zhang (1):
ceph: flush dirty caps of unlinked inode ASAP


2018-03-05 08:23:46

by Sven Joachim

[permalink] [raw]
Subject: Re: Linux 4.16-rc4

On 2018-03-04 15:15 -0800, Linus Torvalds wrote:

> Hmm. A reasonably calm week - the biggest change is to the 'kvm-stat'
> tool, not any actual kernel files.
>
> But there's small changes all over, with architecture updates (x86,
> s390, arm, parisc) and drivers (media, md, gpu, sound) being the bulk
> of it. But there's some filesystem fixes (mostly btrfs),
> documentation updates etc too.
>
> Go test,

Huh, this version does not build for me:

,----
| CALL scripts/checksyscalls.sh
| DESCEND objtool
| CC /usr/local/src/linux/tools/objtool/check.o
| In file included from check.c:26:0:
| check.c: In function 'read_retpoline_hints':
| warn.h:57:3: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Werror=format=]
| "%s: warning: objtool: " format "\n", \
| ^
| check.c:1135:3: note: in expansion of macro 'WARN'
| WARN("retpoline_safe size mismatch: %d %ld", sec->len, sizeof(unsigned long));
| ^~~~
| check.c:1135:44: note: format string is defined here
| WARN("retpoline_safe size mismatch: %d %ld", sec->len, sizeof(unsigned long));
| ~~^
| %d
| cc1: all warnings being treated as errors
| mv: cannot stat '/usr/local/src/linux/tools/objtool/.check.o.tmp': No such file or directory
| /usr/local/src/linux/tools/build/Makefile.build:96: recipe for target '/usr/local/src/linux/tools/objtool/check.o' failed
| make[3]: *** [/usr/local/src/linux/tools/objtool/check.o] Error 1
`----

This might be because I still use a 32-bit userland with a 64-bit
kernel.

Cheers,
Sven

2018-03-05 10:57:45

by Martin Steigerwald

[permalink] [raw]
Subject: Re: Linux 4.16-rc4

Hi Sven.

Sven Joachim - 05.03.18, 09:09:
> On 2018-03-04 15:15 -0800, Linus Torvalds wrote:
> > Hmm. A reasonably calm week - the biggest change is to the 'kvm-stat'
> > tool, not any actual kernel files.
> >
> > But there's small changes all over, with architecture updates (x86,
> > s390, arm, parisc) and drivers (media, md, gpu, sound) being the bulk
> > of it. But there's some filesystem fixes (mostly btrfs),
> > documentation updates etc too.
> >
> > Go test,
>
> Huh, this version does not build for me:
>
> ,----
>
> | CALL scripts/checksyscalls.sh
> | DESCEND objtool
> | CC /usr/local/src/linux/tools/objtool/check.o
> |
> | In file included from check.c:26:0:
> | check.c: In function 'read_retpoline_hints':
> | warn.h:57:3: error: format '%ld' expects argument of type 'long int', but
> | argument 5 has type 'unsigned int' [-Werror=format=]|
> | "%s: warning: objtool: " format "\n", \
> | ^
> |
> | check.c:1135:3: note: in expansion of macro 'WARN'
> |
> | WARN("retpoline_safe size mismatch: %d %ld", sec->len, sizeof(unsigned
> | long)); ^~~~
> |
> | check.c:1135:44: note: format string is defined here
> |
> | WARN("retpoline_safe size mismatch: %d %ld", sec->len, sizeof(unsigned
> | long));|
> | ~~^
> | %d
> |
> | cc1: all warnings being treated as errors
> | mv: cannot stat '/usr/local/src/linux/tools/objtool/.check.o.tmp': No such
> | file or directory /usr/local/src/linux/tools/build/Makefile.build:96:
> | recipe for target '/usr/local/src/linux/tools/objtool/check.o' failed
> | make[3]: *** [/usr/local/src/linux/tools/objtool/check.o] Error 1
>
> `----
>
> This might be because I still use a 32-bit userland with a 64-bit
> kernel.

Building just fine here with a 64-bit userland on Debian Sid and also working
just fine, so far:

% cat /proc/version
Linux version 4.16.0-rc4-tp520-btrfstrim+ (martin@merkaba) (gcc version 7.3.0
(Debian 7.3.0-5)) #42 SMP PREEMPT Mon Mar 5 10:22:42 CET 2018

Of course a build failure may be triggered by different configuration or any
number of other reasons than using 32-bit userland.

Retpoline protection is active here:

% grep . /sys/devices/system/cpu/vulnerabilities/*
/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: __user pointer
sanitization
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Full generic
retpoline

Thanks,
--
Martin

2018-03-05 11:26:05

by Peter Zijlstra

[permalink] [raw]
Subject: Re: Linux 4.16-rc4

On Mon, Mar 05, 2018 at 09:09:31AM +0100, Sven Joachim wrote:
> On 2018-03-04 15:15 -0800, Linus Torvalds wrote:
>
> > Hmm. A reasonably calm week - the biggest change is to the 'kvm-stat'
> > tool, not any actual kernel files.
> >
> > But there's small changes all over, with architecture updates (x86,
> > s390, arm, parisc) and drivers (media, md, gpu, sound) being the bulk
> > of it. But there's some filesystem fixes (mostly btrfs),
> > documentation updates etc too.
> >
> > Go test,
>
> Huh, this version does not build for me:
>
> ,----
> | CALL scripts/checksyscalls.sh
> | DESCEND objtool
> | CC /usr/local/src/linux/tools/objtool/check.o
> | In file included from check.c:26:0:
> | check.c: In function 'read_retpoline_hints':
> | warn.h:57:3: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Werror=format=]
> | "%s: warning: objtool: " format "\n", \
> | ^
> | check.c:1135:3: note: in expansion of macro 'WARN'
> | WARN("retpoline_safe size mismatch: %d %ld", sec->len, sizeof(unsigned long));
> | ^~~~
> | check.c:1135:44: note: format string is defined here
> | WARN("retpoline_safe size mismatch: %d %ld", sec->len, sizeof(unsigned long));
> | ~~^
> | %d
> | cc1: all warnings being treated as errors
> | mv: cannot stat '/usr/local/src/linux/tools/objtool/.check.o.tmp': No such file or directory
> | /usr/local/src/linux/tools/build/Makefile.build:96: recipe for target '/usr/local/src/linux/tools/objtool/check.o' failed
> | make[3]: *** [/usr/local/src/linux/tools/objtool/check.o] Error 1
> `----
>
> This might be because I still use a 32-bit userland with a 64-bit
> kernel.

Urgh, so sizeof() returns size_t which is confusing. But what is the
actual value of sizeof(unsigned long) for you? I suspect cross building
objtool doesn't work right at all. We build the kernel using LP64, and
its retpoline_safe section is 8 bytes. But if we build objtool as ILP32
then it would interpret things as 4 bytes.

Josh, is that supposed to work? I could of course move the retpoline
annotation over to 4 byte relative addressing which would fix this one
issue. Is that really the only case?

2018-03-05 14:19:30

by Josh Poimboeuf

[permalink] [raw]
Subject: Re: Linux 4.16-rc4

On Mon, Mar 05, 2018 at 11:17:48AM +0100, Peter Zijlstra wrote:
> On Mon, Mar 05, 2018 at 09:09:31AM +0100, Sven Joachim wrote:
> > On 2018-03-04 15:15 -0800, Linus Torvalds wrote:
> >
> > > Hmm. A reasonably calm week - the biggest change is to the 'kvm-stat'
> > > tool, not any actual kernel files.
> > >
> > > But there's small changes all over, with architecture updates (x86,
> > > s390, arm, parisc) and drivers (media, md, gpu, sound) being the bulk
> > > of it. But there's some filesystem fixes (mostly btrfs),
> > > documentation updates etc too.
> > >
> > > Go test,
> >
> > Huh, this version does not build for me:
> >
> > ,----
> > | CALL scripts/checksyscalls.sh
> > | DESCEND objtool
> > | CC /usr/local/src/linux/tools/objtool/check.o
> > | In file included from check.c:26:0:
> > | check.c: In function 'read_retpoline_hints':
> > | warn.h:57:3: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Werror=format=]
> > | "%s: warning: objtool: " format "\n", \
> > | ^
> > | check.c:1135:3: note: in expansion of macro 'WARN'
> > | WARN("retpoline_safe size mismatch: %d %ld", sec->len, sizeof(unsigned long));
> > | ^~~~
> > | check.c:1135:44: note: format string is defined here
> > | WARN("retpoline_safe size mismatch: %d %ld", sec->len, sizeof(unsigned long));
> > | ~~^
> > | %d
> > | cc1: all warnings being treated as errors
> > | mv: cannot stat '/usr/local/src/linux/tools/objtool/.check.o.tmp': No such file or directory
> > | /usr/local/src/linux/tools/build/Makefile.build:96: recipe for target '/usr/local/src/linux/tools/objtool/check.o' failed
> > | make[3]: *** [/usr/local/src/linux/tools/objtool/check.o] Error 1
> > `----
> >
> > This might be because I still use a 32-bit userland with a 64-bit
> > kernel.
>
> Urgh, so sizeof() returns size_t which is confusing. But what is the
> actual value of sizeof(unsigned long) for you? I suspect cross building
> objtool doesn't work right at all. We build the kernel using LP64, and
> its retpoline_safe section is 8 bytes. But if we build objtool as ILP32
> then it would interpret things as 4 bytes.
>
> Josh, is that supposed to work? I could of course move the retpoline
> annotation over to 4 byte relative addressing which would fix this one
> issue. Is that really the only case?

I suspect it may be the only case. In most cases objtool relies on
libelf for handling the object bit width.

It looks like read_retpoline_hints() is "special" compared to the other
annotation reading functions. The easiest fix would be to convert it to
be like the others.

Sven, can you test this patch?

---

diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 472e64e95891..e00ff29cb7ea 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -1112,42 +1112,29 @@ static int read_unwind_hints(struct objtool_file *file)

static int read_retpoline_hints(struct objtool_file *file)
{
- struct section *sec, *relasec;
+ struct section *sec;
struct instruction *insn;
struct rela *rela;
- int i;

- sec = find_section_by_name(file->elf, ".discard.retpoline_safe");
+ sec = find_section_by_name(file->elf, ".rela.discard.retpoline_safe");
if (!sec)
return 0;

- relasec = sec->rela;
- if (!relasec) {
- WARN("missing .rela.discard.retpoline_safe section");
- return -1;
- }
-
- if (sec->len % sizeof(unsigned long)) {
- WARN("retpoline_safe size mismatch: %d %ld", sec->len, sizeof(unsigned long));
- return -1;
- }
-
- for (i = 0; i < sec->len / sizeof(unsigned long); i++) {
- rela = find_rela_by_dest(sec, i * sizeof(unsigned long));
- if (!rela) {
- WARN("can't find rela for retpoline_safe[%d]", i);
+ list_for_each_entry(rela, &sec->rela_list, list) {
+ if (rela->sym->type != STT_SECTION) {
+ WARN("unexpected relocation symbol type in %s", sec->name);
return -1;
}

insn = find_insn(file, rela->sym->sec, rela->addend);
if (!insn) {
- WARN("can't find insn for retpoline_safe[%d]", i);
+ WARN("bad .discard.retpoline_safe entry");
return -1;
}

if (insn->type != INSN_JUMP_DYNAMIC &&
insn->type != INSN_CALL_DYNAMIC) {
- WARN_FUNC("retpoline_safe hint not a indirect jump/call",
+ WARN_FUNC("retpoline_safe hint not an indirect jump/call",
insn->sec, insn->offset);
return -1;
}

2018-03-05 17:14:38

by Peter Zijlstra

[permalink] [raw]
Subject: Re: Linux 4.16-rc4

On Mon, Mar 05, 2018 at 07:38:49AM -0600, Josh Poimboeuf wrote:
> It looks like read_retpoline_hints() is "special" compared to the other
> annotation reading functions.

I copied the pattern from read_unwind_hints.. which might not have been
the best choice it appears ;-)

> The easiest fix would be to convert it to
> be like the others.

So instead of actually reading the section, it iterates the relocation
records for the section, yes that should work nicely.

Thanks!

2018-03-05 17:22:45

by Sven Joachim

[permalink] [raw]
Subject: Re: Linux 4.16-rc4

On 2018-03-05 07:38 -0600, Josh Poimboeuf wrote:

> On Mon, Mar 05, 2018 at 11:17:48AM +0100, Peter Zijlstra wrote:
>> On Mon, Mar 05, 2018 at 09:09:31AM +0100, Sven Joachim wrote:
>> > On 2018-03-04 15:15 -0800, Linus Torvalds wrote:
>> >
>> > > Hmm. A reasonably calm week - the biggest change is to the 'kvm-stat'
>> > > tool, not any actual kernel files.
>> > >
>> > > But there's small changes all over, with architecture updates (x86,
>> > > s390, arm, parisc) and drivers (media, md, gpu, sound) being the bulk
>> > > of it. But there's some filesystem fixes (mostly btrfs),
>> > > documentation updates etc too.
>> > >
>> > > Go test,
>> >
>> > Huh, this version does not build for me:
>> >
>> > ,----
>> > | CALL scripts/checksyscalls.sh
>> > | DESCEND objtool
>> > | CC /usr/local/src/linux/tools/objtool/check.o
>> > | In file included from check.c:26:0:
>> > | check.c: In function 'read_retpoline_hints':
>> > | warn.h:57:3: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Werror=format=]
>> > | "%s: warning: objtool: " format "\n", \
>> > | ^
>> > | check.c:1135:3: note: in expansion of macro 'WARN'
>> > | WARN("retpoline_safe size mismatch: %d %ld", sec->len, sizeof(unsigned long));
>> > | ^~~~
>> > | check.c:1135:44: note: format string is defined here
>> > | WARN("retpoline_safe size mismatch: %d %ld", sec->len, sizeof(unsigned long));
>> > | ~~^
>> > | %d
>> > | cc1: all warnings being treated as errors
>> > | mv: cannot stat '/usr/local/src/linux/tools/objtool/.check.o.tmp': No such file or directory
>> > | /usr/local/src/linux/tools/build/Makefile.build:96: recipe for target '/usr/local/src/linux/tools/objtool/check.o' failed
>> > | make[3]: *** [/usr/local/src/linux/tools/objtool/check.o] Error 1
>> > `----
>> >
>> > This might be because I still use a 32-bit userland with a 64-bit
>> > kernel.
>>
>> Urgh, so sizeof() returns size_t which is confusing. But what is the
>> actual value of sizeof(unsigned long) for you? I suspect cross building
>> objtool doesn't work right at all. We build the kernel using LP64, and
>> its retpoline_safe section is 8 bytes. But if we build objtool as ILP32
>> then it would interpret things as 4 bytes.
>>
>> Josh, is that supposed to work? I could of course move the retpoline
>> annotation over to 4 byte relative addressing which would fix this one
>> issue. Is that really the only case?
>
> I suspect it may be the only case. In most cases objtool relies on
> libelf for handling the object bit width.
>
> It looks like read_retpoline_hints() is "special" compared to the other
> annotation reading functions. The easiest fix would be to convert it to
> be like the others.
>
> Sven, can you test this patch?
>
> ---
>
> diff --git a/tools/objtool/check.c b/tools/objtool/check.c
> index 472e64e95891..e00ff29cb7ea 100644
> --- a/tools/objtool/check.c
> +++ b/tools/objtool/check.c
> @@ -1112,42 +1112,29 @@ static int read_unwind_hints(struct objtool_file *file)
>
> static int read_retpoline_hints(struct objtool_file *file)
> {
> - struct section *sec, *relasec;
> + struct section *sec;
> struct instruction *insn;
> struct rela *rela;
> - int i;
>
> - sec = find_section_by_name(file->elf, ".discard.retpoline_safe");
> + sec = find_section_by_name(file->elf, ".rela.discard.retpoline_safe");
> if (!sec)
> return 0;
>
> - relasec = sec->rela;
> - if (!relasec) {
> - WARN("missing .rela.discard.retpoline_safe section");
> - return -1;
> - }
> -
> - if (sec->len % sizeof(unsigned long)) {
> - WARN("retpoline_safe size mismatch: %d %ld", sec->len, sizeof(unsigned long));
> - return -1;
> - }
> -
> - for (i = 0; i < sec->len / sizeof(unsigned long); i++) {
> - rela = find_rela_by_dest(sec, i * sizeof(unsigned long));
> - if (!rela) {
> - WARN("can't find rela for retpoline_safe[%d]", i);
> + list_for_each_entry(rela, &sec->rela_list, list) {
> + if (rela->sym->type != STT_SECTION) {
> + WARN("unexpected relocation symbol type in %s", sec->name);
> return -1;
> }
>
> insn = find_insn(file, rela->sym->sec, rela->addend);
> if (!insn) {
> - WARN("can't find insn for retpoline_safe[%d]", i);
> + WARN("bad .discard.retpoline_safe entry");
> return -1;
> }
>
> if (insn->type != INSN_JUMP_DYNAMIC &&
> insn->type != INSN_CALL_DYNAMIC) {
> - WARN_FUNC("retpoline_safe hint not a indirect jump/call",
> + WARN_FUNC("retpoline_safe hint not an indirect jump/call",
> insn->sec, insn->offset);
> return -1;
> }

Thanks, this works. Or at least it builds, haven't booted that kernel
yet.

Cheers,
Sven

2018-03-05 17:59:45

by Thorsten Leemhuis

[permalink] [raw]
Subject: Linux 4.16: Reported regressions as of Monday, 2018-03-05 (Was: Linux 4.16-rc4)

On 05.03.2018 00:15, Linus Torvalds wrote:
> Hmm. A reasonably calm week - the biggest change is to the 'kvm-stat'
> tool, not any actual kernel files.

Hi! Find below my third regression report for Linux 4.16. It lists 7
regressions I'm currently aware of. 3 were fixed since last weeks report.

To anyone reading this: Are you aware of any other regressions that got
introduced this development cycle? Then please let me know by mail (a
simple bounce or forward to the email address is enough!).

For details see http://bit.ly/lnxregtrackid And please tell me if there
is anything in the report that shouldn't be there.

Ciao, Thorsten

== Current regressions ==

Dell R640 does not boot due to SCSI/SATA failure
Status: Reporter looked into this and indicated the change might have
triggered a firmware bug on his machine
Reported: 2018-02-22 Last known developer activity:
https://marc.info/?l=linux-kernel&m=152026091325037
https://marc.info/?l=linux-kernel&m=151931128006031
Cause: 84676c1f21e8
Linux-Regression-ID: 15a115

[mm, mlock, vmscan] 9c4e6b1a70: stress-ng.hdd.ops_per_sec -7.9% regression
Status: WIP; side note: lkp-robot warned about something else triggered
by the same commit:
https://lkml.kernel.org/r/20180302093940.GE25699@yexl-desktop is related
Note: performance regression found by lkp-robot
Reported: 2018-02-25
https://marc.info/?l=linux-kernel&m=151956997301994
Cause: 9c4e6b1a7027f102990c0395296015a812525f4d

aim7.jobs-per-min -18.0% regression
Status: some discussion last week, but no real solution yet
Note: performance regression found by lkp-robot
Reported: 2018-02-25
https://marc.info/?l=linux-kernel&m=151957120702272&w=2
Cause: c0cef30e4ff0dc025f4a1660b8f0ba43ed58426e

Interrupt storm after suspend causes one busy kworker
Status: stalled?
Reported: 2018-02-25
https://bugzilla.kernel.org/show_bug.cgi?id=198929
Linux-Regression-ID: 41c451

hci_bcm: Streamline runtime PM code change for 4.16 kernel breaks
bluetooth on ASUS T100TA
Status: poked reporters for a update if they reported it to the relevant
developers
Reported: 2018-03-01
https://bugzilla.kernel.org/show_bug.cgi?id=198953
Cause: 43fff768346810042836df325d736bd2c2a634a7


== Regressions with fixes heading mainline ==

selftests: memory-hotplug: fix emit_tests regression
https://marc.info/?l=linux-kernel&m=151993543423651


== Going to get removed from the report ==

Debian kernel package tool make-kpkg stalls indefinitely during kernel
build due to commit "kconfig: remove check_stdin()"
Status: stalled after some discussions; seems nobody really cares that much
Note: From the discussion: "Shouldn't be a problem to back this one out
either if it turns out to cause massive amounts of pain in practice I
guess, even if it's the Debian tools doing something weird."
Reported: 2018-02-12
https://marc.info/?l=linux-kernel&m=151846414807219
Cause: d2a04648a5dbc3d1d043b35257364f0197d4d868
Linux-Regression-ID: 2fd778


== Fixed since last report ==

Dell XPS 13 9360 keyboard no longer works
Status: https://git.kernel.org/torvalds/c/de9647efeaa9
Reported: 2018-02-22
https://marc.info/?l=linux-kernel&m=151927645427980
Cause: 30323fb6d552c41997baca5292bf7001366cab57

on Nokia N900:/dev/input/event6 aka AV Jack support disappeared
Status: https://git.kernel.org/torvalds/c/6662ae6af82d
https://git.kernel.org/torvalds/c/ce27fb2c56db
Reported: 2018-02-24
https://marc.info/?l=linux-omap&m=151950886524308&w=2
Cause: 14e3e295b2b9
Linux-Regression-ID: 4b650f

SD card reader stopped working
Status: Fixed in 4.16.0-rc3 according to reporter
Reported: 2018-02-24
https://bugzilla.kernel.org/show_bug.cgi?id=198917
Linux-Regression-ID: 9adeaf