# git rev-parse -q --verify ab851d49f6bfc781edd8bd44c72ec1e49211670b^{commit} ab851d49f6bfc781edd8bd44c72ec1e49211670b already have revision, skipping fetch # git checkout -q -f -B kisskb ab851d49f6bfc781edd8bd44c72ec1e49211670b # git clean -qxdf # < git log -1 # commit ab851d49f6bfc781edd8bd44c72ec1e49211670b # Merge: 1d87200446f1 e3cb0c7102f0 # Author: Linus Torvalds # Date: Tue Nov 26 11:12:02 2019 -0800 # # Merge branch 'x86-iopl-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip # # Pull x86 iopl updates from Ingo Molnar: # "This implements a nice simplification of the iopl and ioperm code that # Thomas Gleixner discovered: we can implement the IO privilege features # of the iopl system call by using the IO permission bitmap in # permissive mode, while trapping CLI/STI/POPF/PUSHF uses in user-space # if they change the interrupt flag. # # This implements that feature, with testing facilities and related # cleanups" # # [ "Simplification" may be an over-statement. The main goal is to avoid # the cli/sti of iopl by effectively implementing the IO port access # parts of iopl in terms of ioperm. # # This may end up not workign well in case people actually depend on # cli/sti being available, or if there are mixed uses of iopl and # ioperm. We will see.. - Linus ] # # * 'x86-iopl-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits) # x86/ioperm: Fix use of deprecated config option # x86/entry/32: Clarify register saving in __switch_to_asm() # selftests/x86/iopl: Extend test to cover IOPL emulation # x86/ioperm: Extend IOPL config to control ioperm() as well # x86/iopl: Remove legacy IOPL option # x86/iopl: Restrict iopl() permission scope # x86/iopl: Fixup misleading comment # selftests/x86/ioperm: Extend testing so the shared bitmap is exercised # x86/ioperm: Share I/O bitmap if identical # x86/ioperm: Remove bitmap if all permissions dropped # x86/ioperm: Move TSS bitmap update to exit to user work # x86/ioperm: Add bitmap sequence number # x86/ioperm: Move iobitmap data into a struct # x86/tss: Move I/O bitmap data into a seperate struct # x86/io: Speedup schedule out of I/O bitmap user # x86/ioperm: Avoid bitmap allocation if no permissions are set # x86/ioperm: Simplify first ioperm() invocation logic # x86/iopl: Cleanup include maze # x86/tss: Fix and move VMX BUILD_BUG_ON() # x86/cpu: Unify cpu_init() # ... # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/nds32le-linux/bin/nds32le-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/nds32le-linux/bin/nds32le-linux-ld --version # < git log --format=%s --max-count=1 ab851d49f6bfc781edd8bd44c72ec1e49211670b # < make -s -j 24 ARCH=nds32 O=/kisskb/build/linus_nds32-allmodconfig_nds32le CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/nds32le-linux/bin/nds32le-linux- allmodconfig # make -s -j 24 ARCH=nds32 O=/kisskb/build/linus_nds32-allmodconfig_nds32le CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/nds32le-linux/bin/nds32le-linux- :1511:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/fs/btrfs/tree-checker.c: In function 'check_extent_data_item': /kisskb/src/fs/btrfs/tree-checker.c:230:43: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'unsigned int' [-Wformat=] "invalid item size, have %u expect [%lu, %u)", ~~^ %u /kisskb/src/drivers/input/joystick/analog.c:160:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp] #warning Precise timer not defined for this architecture. ^~~~~~~ In file included from /kisskb/src/drivers/net/phy/mdio-cavium.c:11: /kisskb/src/drivers/net/phy/mdio-cavium.c: In function 'cavium_mdiobus_set_mode': /kisskb/src/drivers/net/phy/mdio-cavium.h:114:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define oct_mdio_readq(addr) readq((void *)addr) ^ /kisskb/src/drivers/net/phy/mdio-cavium.c:21:16: note: in expansion of macro 'oct_mdio_readq' smi_clk.u64 = oct_mdio_readq(p->register_base + SMI_CLK); ^~~~~~~~~~~~~~ /kisskb/src/drivers/net/phy/mdio-cavium.h:113:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define oct_mdio_writeq(val, addr) writeq(val, (void *)addr) ^ /kisskb/src/drivers/net/phy/mdio-cavium.c:24:2: note: in expansion of macro 'oct_mdio_writeq' oct_mdio_writeq(smi_clk.u64, p->register_base + SMI_CLK); ^~~~~~~~~~~~~~~ /kisskb/src/drivers/net/phy/mdio-cavium.c: In function 'cavium_mdiobus_c45_addr': /kisskb/src/drivers/net/phy/mdio-cavium.h:113:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define oct_mdio_writeq(val, addr) writeq(val, (void *)addr) ^ /kisskb/src/drivers/net/phy/mdio-cavium.c:39:2: note: in expansion of macro 'oct_mdio_writeq' oct_mdio_writeq(smi_wr.u64, p->register_base + SMI_WR_DAT); ^~~~~~~~~~~~~~~ /kisskb/src/drivers/net/phy/mdio-cavium.h:113:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define oct_mdio_writeq(val, addr) writeq(val, (void *)addr) ^ /kisskb/src/drivers/net/phy/mdio-cavium.c:47:2: note: in expansion of macro 'oct_mdio_writeq' oct_mdio_writeq(smi_cmd.u64, p->register_base + SMI_CMD); ^~~~~~~~~~~~~~~ /kisskb/src/drivers/net/phy/mdio-cavium.h:114:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define oct_mdio_readq(addr) readq((void *)addr) ^ /kisskb/src/drivers/net/phy/mdio-cavium.c:54:16: note: in expansion of macro 'oct_mdio_readq' smi_wr.u64 = oct_mdio_readq(p->register_base + SMI_WR_DAT); ^~~~~~~~~~~~~~ /kisskb/src/drivers/net/phy/mdio-cavium.c: In function 'cavium_mdiobus_read': /kisskb/src/drivers/net/phy/mdio-cavium.h:113:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define oct_mdio_writeq(val, addr) writeq(val, (void *)addr) ^ /kisskb/src/drivers/net/phy/mdio-cavium.c:86:2: note: in expansion of macro 'oct_mdio_writeq' oct_mdio_writeq(smi_cmd.u64, p->register_base + SMI_CMD); ^~~~~~~~~~~~~~~ /kisskb/src/drivers/net/phy/mdio-cavium.h:114:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define oct_mdio_readq(addr) readq((void *)addr) ^ /kisskb/src/drivers/net/phy/mdio-cavium.c:93:16: note: in expansion of macro 'oct_mdio_readq' smi_rd.u64 = oct_mdio_readq(p->register_base + SMI_RD_DAT); ^~~~~~~~~~~~~~ /kisskb/src/drivers/net/phy/mdio-cavium.c: In function 'cavium_mdiobus_write': /kisskb/src/drivers/net/phy/mdio-cavium.h:113:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define oct_mdio_writeq(val, addr) writeq(val, (void *)addr) ^ /kisskb/src/drivers/net/phy/mdio-cavium.c:125:2: note: in expansion of macro 'oct_mdio_writeq' oct_mdio_writeq(smi_wr.u64, p->register_base + SMI_WR_DAT); ^~~~~~~~~~~~~~~ /kisskb/src/drivers/net/phy/mdio-cavium.h:113:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define oct_mdio_writeq(val, addr) writeq(val, (void *)addr) ^ /kisskb/src/drivers/net/phy/mdio-cavium.c:131:2: note: in expansion of macro 'oct_mdio_writeq' oct_mdio_writeq(smi_cmd.u64, p->register_base + SMI_CMD); ^~~~~~~~~~~~~~~ /kisskb/src/drivers/net/phy/mdio-cavium.h:114:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define oct_mdio_readq(addr) readq((void *)addr) ^ /kisskb/src/drivers/net/phy/mdio-cavium.c:138:16: note: in expansion of macro 'oct_mdio_readq' smi_wr.u64 = oct_mdio_readq(p->register_base + SMI_WR_DAT); ^~~~~~~~~~~~~~ /kisskb/src/drivers/net/phy/mdio-octeon.c: In function 'octeon_mdiobus_probe': /kisskb/src/drivers/net/phy/mdio-octeon.c:48:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (u64)devm_ioremap(&pdev->dev, mdio_phys, regsize); ^ In file included from /kisskb/src/drivers/net/phy/mdio-octeon.c:14: /kisskb/src/drivers/net/phy/mdio-cavium.h:113:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define oct_mdio_writeq(val, addr) writeq(val, (void *)addr) ^ /kisskb/src/drivers/net/phy/mdio-octeon.c:56:2: note: in expansion of macro 'oct_mdio_writeq' oct_mdio_writeq(smi_en.u64, bus->register_base + SMI_EN); ^~~~~~~~~~~~~~~ /kisskb/src/drivers/net/phy/mdio-cavium.h:113:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define oct_mdio_writeq(val, addr) writeq(val, (void *)addr) ^ /kisskb/src/drivers/net/phy/mdio-octeon.c:77:2: note: in expansion of macro 'oct_mdio_writeq' oct_mdio_writeq(smi_en.u64, bus->register_base + SMI_EN); ^~~~~~~~~~~~~~~ /kisskb/src/drivers/net/phy/mdio-octeon.c: In function 'octeon_mdiobus_remove': /kisskb/src/drivers/net/phy/mdio-cavium.h:113:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define oct_mdio_writeq(val, addr) writeq(val, (void *)addr) ^ /kisskb/src/drivers/net/phy/mdio-octeon.c:91:2: note: in expansion of macro 'oct_mdio_writeq' oct_mdio_writeq(smi_en.u64, bus->register_base + SMI_EN); ^~~~~~~~~~~~~~~ WARNING: EXPORT symbol "clear_page" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "copy_page" [vmlinux] version generation failed, symbol will not be versioned. WARNING: "copy_page" [drivers/md/dm-integrity.ko] has no CRC! WARNING: "clear_page" [drivers/md/dm-integrity.ko] has no CRC! WARNING: "clear_page" [drivers/md/raid456.ko] has no CRC! WARNING: "clear_page" [drivers/scsi/sd_mod.ko] has no CRC! WARNING: "copy_page" [drivers/block/drbd/drbd.ko] has no CRC! WARNING: "copy_page" [drivers/gpu/drm/ttm/ttm.ko] has no CRC! WARNING: "clear_page" [drivers/gpu/drm/ttm/ttm.ko] has no CRC! WARNING: "clear_page" [fs/gfs2/gfs2.ko] has no CRC! WARNING: "copy_page" [fs/btrfs/btrfs.ko] has no CRC! WARNING: "clear_page" [fs/btrfs/btrfs.ko] has no CRC! WARNING: "clear_page" [fs/ocfs2/dlm/ocfs2_dlm.ko] has no CRC! WARNING: "copy_page" [fs/cachefiles/cachefiles.ko] has no CRC! WARNING: "copy_page" [fs/nilfs2/nilfs2.ko] has no CRC! WARNING: "copy_page" [fs/fuse/fuse.ko] has no CRC! WARNING: "clear_page" [fs/fuse/fuse.ko] has no CRC! WARNING: "clear_page" [fs/ntfs/ntfs.ko] has no CRC! Completed OK # rm -rf /kisskb/build/linus_nds32-allmodconfig_nds32le # Build took: 0:15:54.597351