Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 's390-5.2-5' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Heiko Carstens:

- Disable address-of-packed-member warning in s390 specific boot code
to get rid of a gcc9 warning which otherwise is already disabled for
the whole kernel.

- Fix yet another compiler error seen with CONFIG_OPTIMIZE_INLINING
enabled.

- Fix memory leak in vfio-ccw code on module exit.

* tag 's390-5.2-5' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
vfio-ccw: Destroy kmem cache region on module exit
s390/ctl_reg: mark __ctl_set_bit and __ctl_clear_bit as __always_inline
s390/boot: disable address-of-packed-member warning

+4 -2
+1
arch/s390/Makefile
··· 30 30 KBUILD_CFLAGS_DECOMPRESSOR += -fno-delete-null-pointer-checks -msoft-float 31 31 KBUILD_CFLAGS_DECOMPRESSOR += -fno-asynchronous-unwind-tables 32 32 KBUILD_CFLAGS_DECOMPRESSOR += $(call cc-option,-ffreestanding) 33 + KBUILD_CFLAGS_DECOMPRESSOR += $(call cc-disable-warning, address-of-packed-member) 33 34 KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO),-g) 34 35 KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO_DWARF4), $(call cc-option, -gdwarf-4,)) 35 36 UTS_MACHINE := s390x
+2 -2
arch/s390/include/asm/ctl_reg.h
··· 55 55 : "i" (low), "i" (high)); \ 56 56 } while (0) 57 57 58 - static inline void __ctl_set_bit(unsigned int cr, unsigned int bit) 58 + static __always_inline void __ctl_set_bit(unsigned int cr, unsigned int bit) 59 59 { 60 60 unsigned long reg; 61 61 ··· 64 64 __ctl_load(reg, cr, cr); 65 65 } 66 66 67 - static inline void __ctl_clear_bit(unsigned int cr, unsigned int bit) 67 + static __always_inline void __ctl_clear_bit(unsigned int cr, unsigned int bit) 68 68 { 69 69 unsigned long reg; 70 70
+1
drivers/s390/cio/vfio_ccw_drv.c
··· 299 299 css_driver_unregister(&vfio_ccw_sch_driver); 300 300 isc_unregister(VFIO_CCW_ISC); 301 301 kmem_cache_destroy(vfio_ccw_io_region); 302 + kmem_cache_destroy(vfio_ccw_cmd_region); 302 303 destroy_workqueue(vfio_ccw_work_q); 303 304 } 304 305 module_init(vfio_ccw_sch_init);