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
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
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
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?
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;
}
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!
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
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