# git rev-parse -q --verify 642e7fd23353e22290e3d51719fcb658dc252342^{commit} 642e7fd23353e22290e3d51719fcb658dc252342 already have revision, skipping fetch # git checkout -q -f -B kisskb 642e7fd23353e22290e3d51719fcb658dc252342 # git clean -qxdf # < git log -1 # commit 642e7fd23353e22290e3d51719fcb658dc252342 # Merge: 2103596 c9a2119 # Author: Linus Torvalds # Date: Mon Apr 2 21:22:12 2018 -0700 # # Merge branch 'syscalls-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux # # Pull removal of in-kernel calls to syscalls from Dominik Brodowski: # "System calls are interaction points between userspace and the kernel. # Therefore, system call functions such as sys_xyzzy() or # compat_sys_xyzzy() should only be called from userspace via the # syscall table, but not from elsewhere in the kernel. # # At least on 64-bit x86, it will likely be a hard requirement from # v4.17 onwards to not call system call functions in the kernel: It is # better to use use a different calling convention for system calls # there, where struct pt_regs is decoded on-the-fly in a syscall wrapper # which then hands processing over to the actual syscall function. This # means that only those parameters which are actually needed for a # specific syscall are passed on during syscall entry, instead of # filling in six CPU registers with random user space content all the # time (which may cause serious trouble down the call chain). Those # x86-specific patches will be pushed through the x86 tree in the near # future. # # Moreover, rules on how data may be accessed may differ between kernel # data and user data. This is another reason why calling sys_xyzzy() is # generally a bad idea, and -- at most -- acceptable in arch-specific # code. # # This patchset removes all in-kernel calls to syscall functions in the # kernel with the exception of arch/. On top of this, it cleans up the # three places where many syscalls are referenced or prototyped, namely # kernel/sys_ni.c, include/linux/syscalls.h and include/linux/compat.h" # # * 'syscalls-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux: (109 commits) # bpf: whitelist all syscalls for error injection # kernel/sys_ni: remove {sys_,sys_compat} from cond_syscall definitions # kernel/sys_ni: sort cond_syscall() entries # syscalls/x86: auto-create compat_sys_*() prototypes # syscalls: sort syscall prototypes in include/linux/compat.h # net: remove compat_sys_*() prototypes from net/compat.h # syscalls: sort syscall prototypes in include/linux/syscalls.h # kexec: move sys_kexec_load() prototype to syscalls.h # x86/sigreturn: use SYSCALL_DEFINE0 # x86: fix sys_sigreturn() return type to be long, not unsigned long # x86/ioport: add ksys_ioperm() helper; remove in-kernel calls to sys_ioperm() # mm: add ksys_readahead() helper; remove in-kernel calls to sys_readahead() # mm: add ksys_mmap_pgoff() helper; remove in-kernel calls to sys_mmap_pgoff() # mm: add ksys_fadvise64_64() helper; remove in-kernel call to sys_fadvise64_64() # fs: add ksys_fallocate() wrapper; remove in-kernel calls to sys_fallocate() # fs: add ksys_p{read,write}64() helpers; remove in-kernel calls to syscalls # fs: add ksys_truncate() wrapper; remove in-kernel calls to sys_truncate() # fs: add ksys_sync_file_range helper(); remove in-kernel calls to syscall # kernel: add ksys_setsid() helper; remove in-kernel call to sys_setsid() # kernel: add ksys_unshare() helper; remove in-kernel calls to sys_unshare() # ... # < /opt/cross/kisskb/gcc-4.6.3-nolibc/m68k-linux/bin/m68k-linux-gcc --version # < git log --format=%s --max-count=1 642e7fd23353e22290e3d51719fcb658dc252342 # < make -s -j 48 ARCH=m68k O=/kisskb/build/linus_m68k-allmodconfig_m68k CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/m68k-linux/bin/m68k-linux- allmodconfig warning: (PREEMPT && DRM_I915_DEBUG && DEBUG_ATOMIC_SLEEP) selects PREEMPT_COUNT which has unmet direct dependencies (COLDFIRE) warning: (SINGLE_MEMORY_CHUNK) selects NEED_MULTIPLE_NODES which has unmet direct dependencies (DISCONTIGMEM || NUMA) # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # yes \n | make -s -j 48 ARCH=m68k O=/kisskb/build/linus_m68k-allmodconfig_m68k CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/m68k-linux/bin/m68k-linux- oldconfig yes: standard output: Broken pipe yes: write error # make -s -j 48 ARCH=m68k O=/kisskb/build/linus_m68k-allmodconfig_m68k CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/m68k-linux/bin/m68k-linux- warning: (SINGLE_MEMORY_CHUNK) selects NEED_MULTIPLE_NODES which has unmet direct dependencies (DISCONTIGMEM || NUMA) warning: (PREEMPT && DRM_I915_DEBUG && DEBUG_ATOMIC_SLEEP) selects PREEMPT_COUNT which has unmet direct dependencies (COLDFIRE) warning: (SINGLE_MEMORY_CHUNK) selects NEED_MULTIPLE_NODES which has unmet direct dependencies (DISCONTIGMEM || NUMA) warning: (PREEMPT && DRM_I915_DEBUG && DEBUG_ATOMIC_SLEEP) selects PREEMPT_COUNT which has unmet direct dependencies (COLDFIRE) :1239:2: warning: #warning syscall seccomp not implemented [-Wcpp] :1317:2: warning: #warning syscall pkey_mprotect not implemented [-Wcpp] :1320:2: warning: #warning syscall pkey_alloc not implemented [-Wcpp] :1323:2: warning: #warning syscall pkey_free not implemented [-Wcpp] /kisskb/src/arch/m68k/mvme147/config.c: In function 'mvme147_hwclk': /kisskb/src/arch/m68k/mvme147/config.c:152:2: warning: #warning check me! [-Wcpp] /kisskb/src/arch/m68k/mvme16x/config.c: In function 'mvme16x_hwclk': /kisskb/src/arch/m68k/mvme16x/config.c:399:2: warning: #warning check me! [-Wcpp] /kisskb/src/arch/m68k/mvme16x/config.c:399:2: warning: #warning check me! [-Wcpp] /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:183:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/acct.c: In function 'acct_pin_kill': /kisskb/src/kernel/acct.c:177:2: warning: value computed is not used [-Wunused-value] /kisskb/src/kernel/cgroup/cgroup-v1.c: In function 'cgroup1_mount': /kisskb/src/kernel/cgroup/cgroup-v1.c:1268:20: warning: 'root' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/hda/hdac_regmap.c: In function 'hda_reg_write': /kisskb/src/sound/hda/hdac_regmap.c:282:16: warning: 'err' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/mm/memcontrol.c: In function 'invalidate_reclaim_iterators': /kisskb/src/mm/memcontrol.c:858:5: warning: value computed is not used [-Wunused-value] /kisskb/src/sound/soc/codecs/arizona.c: In function 'arizona_hw_params': /kisskb/src/sound/soc/codecs/arizona.c:1889:3: warning: 'aif_rx_state' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/soc/codecs/arizona.c:1886:3: warning: 'aif_tx_state' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/f2fs/file.c: In function 'f2fs_precache_extents': /kisskb/src/fs/f2fs/file.c:2786:6: warning: 'err' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/soc/codecs/da7219-aad.c: In function 'da7219_aad_hptest_work': /kisskb/src/sound/soc/codecs/da7219-aad.c:318:17: warning: 'pll_ctrl' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/soc/codecs/rt5665.c: In function 'rt5665_i2s_pin_event': /kisskb/src/sound/soc/codecs/rt5665.c:2666:23: warning: 'val2' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/soc/codecs/rt5665.c:2663:23: warning: 'val1' may be used uninitialized in this function [-Wuninitialized] In file included from /kisskb/src/drivers/block/paride/bpck6.c:33:0: /kisskb/src/drivers/block/paride/ppc6lnx.c: In function 'ppc6_select': /kisskb/src/drivers/block/paride/ppc6lnx.c:131:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c:142:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c:144:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c:145:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c:146:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c:147:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c:162:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c:201:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c: In function 'ppc6_deselect': /kisskb/src/drivers/block/paride/ppc6lnx.c:217:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c: In function 'ppc6_send_cmd': /kisskb/src/drivers/block/paride/ppc6lnx.c:235:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c: In function 'ppc6_wr_data_byte': /kisskb/src/drivers/block/paride/ppc6lnx.c:266:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c: In function 'ppc6_rd_data_byte': /kisskb/src/drivers/block/paride/ppc6lnx.c:329:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c: In function 'ppc6_rd_data_blk': /kisskb/src/drivers/block/paride/ppc6lnx.c:430:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c: In function 'ppc6_wr_data_blk': /kisskb/src/drivers/block/paride/ppc6lnx.c:537:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c:560:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/block/paride/ppc6lnx.c:575:6: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/net/bridge/br_netlink.c: In function 'br_process_vlan_info': /kisskb/src/net/bridge/br_netlink.c:577:10: warning: 'err' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/nfsd/nfs4xdr.c: In function 'nfsd4_encode_components_esc': /kisskb/src/fs/nfsd/nfs4xdr.c:2043:9: warning: 'str' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/posix_acl.c: In function 'get_acl': /kisskb/src/fs/posix_acl.c:147:3: warning: value computed is not used [-Wunused-value] /kisskb/src/fs/ocfs2/file.c: In function 'ocfs2_file_write_iter': /kisskb/src/fs/ocfs2/file.c:2386:3: warning: value computed is not used [-Wunused-value] /kisskb/src/drivers/dma-buf/reservation.c: In function 'reservation_object_add_shared_replace': /kisskb/src/drivers/dma-buf/reservation.c:155:1: warning: 'k' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/btrfs/qgroup.c: In function 'adjust_slots_upwards': /kisskb/src/fs/btrfs/qgroup.c:1592:18: warning: array subscript is below array bounds [-Warray-bounds] /kisskb/src/fs/btrfs/qgroup.c:1593:17: warning: array subscript is below array bounds [-Warray-bounds] /kisskb/src/fs/nfs/nfs3acl.c: In function 'nfs3_abort_get_acl': /kisskb/src/fs/nfs/nfs3acl.c:44:2: warning: value computed is not used [-Wunused-value] /kisskb/src/fs/reiserfs/stree.c: In function 'search_by_key': /kisskb/src/fs/reiserfs/stree.c:812:1: warning: the frame size of 1052 bytes is larger than 1024 bytes [-Wframe-larger-than=] /kisskb/src/fs/btrfs/ref-verify.c: In function 'process_extent_item.isra.5': /kisskb/src/fs/btrfs/ref-verify.c:516:2: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/btrfs/ref-verify.c: In function 'process_leaf': /kisskb/src/fs/btrfs/ref-verify.c:568:2: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/input/joystick/analog.c:176:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp] /kisskb/src/drivers/input/rmi4/rmi_f11.c: In function 'rmi_f11_finger_handler': /kisskb/src/drivers/input/rmi4/rmi_f11.c:631:3: warning: 'abs_fingers' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/iommu/io-pgtable-arm-v7s.c: In function '__arm_v7s_map': /kisskb/src/drivers/iommu/io-pgtable-arm-v7s.c:468:2: warning: 'cptep' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/hwmon/sch56xx-common.c: In function 'sch56xx_send_cmd': /kisskb/src/drivers/hwmon/sch56xx-common.c:145:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/net/mac80211/mlme.c: In function 'ieee80211_handle_pwr_constr.isra.29': /kisskb/src/net/mac80211/mlme.c:1351:3: warning: 'pwr_level_cisco' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/hwmon/smsc47b397.c: In function 'smsc47b397_read_value': /kisskb/src/drivers/hwmon/smsc47b397.c:119:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/misc/altera-stapl/altera-lpt.c: In function 'byteblaster_write': /kisskb/src/drivers/misc/altera-stapl/altera-lpt.c:34:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/misc/altera-stapl/altera-lpt.c: In function 'byteblaster_read': /kisskb/src/drivers/misc/altera-stapl/altera-lpt.c:40:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/net/ethernet/8390/wd.c: In function 'wd_probe1': /kisskb/src/drivers/net/ethernet/8390/wd.c:289:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/net/ethernet/8390/wd.c:296:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/video/fbdev/amifb.c:2344:19: warning: 'amifb_setup' defined but not used [-Wunused-function] In file included from /kisskb/src/drivers/tty/rocket.c:81:0: /kisskb/src/drivers/tty/rocket_int.h: In function 'sOutB': /kisskb/src/drivers/tty/rocket_int.h:46:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/tty/rocket_int.h: In function 'sOutW': /kisskb/src/drivers/tty/rocket_int.h:54:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/tty/rocket_int.h: In function 'sInB': /kisskb/src/drivers/tty/rocket_int.h:68:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/tty/rocket_int.h: In function 'sInW': /kisskb/src/drivers/tty/rocket_int.h:73:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/tty/rocket_int.h:73:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/tty/rocket_int.h:73:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/tty/rocket_int.h:73:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/media/usb/dvb-usb/pctv452e.c: In function 'pctv452e_frontend_attach': /kisskb/src/drivers/media/usb/dvb-usb/pctv452e.c:922:2: warning: value computed is not used [-Wunused-value] /kisskb/src/drivers/scsi/ppa.c: In function 'ppa_byte_out': /kisskb/src/drivers/scsi/ppa.c:245:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/ppa.c: In function 'ppa_byte_in': /kisskb/src/drivers/scsi/ppa.c:257:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/ppa.c: In function 'ppa_d_pulse': /kisskb/src/drivers/scsi/ppa.c:379:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/ppa.c: In function 'ppa_c_pulse': /kisskb/src/drivers/scsi/ppa.c:399:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/ppa.c: In function 'ppa_select': /kisskb/src/drivers/scsi/ppa.c:436:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/ppa.c:439:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/imm.c: In function 'imm_negotiate': /kisskb/src/drivers/scsi/imm.c:247:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/imm.c: In function 'imm_byte_out': /kisskb/src/drivers/scsi/imm.c:303:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/imm.c:305:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/imm.c: In function 'imm_byte_in': /kisskb/src/drivers/scsi/imm.c:341:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/imm.c: In function 'imm_cpp': /kisskb/src/drivers/scsi/imm.c:461:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/imm.c:463:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/imm.c:465:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/imm.c:467:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/imm.c:470:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/imm.c:473:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/imm.c:486:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/imm.c:494:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/scsi/imm.c: In function 'imm_select': /kisskb/src/drivers/scsi/imm.c:563:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /kisskb/src/drivers/net/tun.c: In function 'tun_get_user': /kisskb/src/drivers/net/tun.c:1822:30: warning: 'copylen' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/tun.c:1732:46: warning: 'linear' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/wireless/broadcom/b43/phy_n.c: In function 'b43_nphy_rf_ctl_override_rev7': /kisskb/src/drivers/net/wireless/broadcom/b43/phy_n.c:202:21: warning: 'val_addr' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c: In function 'rtl8723a_phy_lc_calibrate': /kisskb/src/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c:3481:23: warning: 'rf_amode' may be used uninitialized in this function [-Wuninitialized] ./usr/include/asm/bootinfo-amiga.h:18: found __[us]{8,16,32,64} type without #include Completed OK # rm -rf /kisskb/build/linus_m68k-allmodconfig_m68k # Build took: 0:05:42.681817