# git rev-parse -q --verify 26bc672134241a080a83b2ab9aa8abede8d30e1c^{commit} 26bc672134241a080a83b2ab9aa8abede8d30e1c already have revision, skipping fetch # git checkout -q -f -B kisskb 26bc672134241a080a83b2ab9aa8abede8d30e1c # git clean -qxdf # < git log -1 # commit 26bc672134241a080a83b2ab9aa8abede8d30e1c # Merge: 7111fa1151e3 fa729c4df558 # Author: Linus Torvalds # Date: Tue Nov 5 09:44:02 2019 -0800 # # Merge tag 'for-linus-2019-11-05' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux # # Pull clone3 stack argument update from Christian Brauner: # "This changes clone3() to do basic stack validation and to set up the # stack depending on whether or not it is growing up or down. # # With clone3() the expectation is now very simply that the .stack # argument points to the lowest address of the stack and that # .stack_size specifies the initial stack size. This is diferent from # legacy clone() where the "stack" argument had to point to the lowest # or highest address of the stack depending on the architecture. # # clone3() was released with 5.3. Currently, it is not documented and # very unclear to userspace how the stack and stack_size argument have # to be passed. After talking to glibc folks we concluded that changing # clone3() to determine stack direction and doing basic validation is # the right course of action. # # Note, this is a potentially user visible change. In the very unlikely # case, that it breaks someone's use-case we will revert. (And then e.g. # place the new behavior under an appropriate flag.) # # Note that passing an empty stack will continue working just as before. # Breaking someone's use-case is very unlikely. Neither glibc nor musl # currently expose a wrapper for clone3(). There is currently also no # real motivation for anyone to use clone3() directly. First, because # using clone{3}() with stacks requires some assembly (see glibc and # musl). Second, because it does not provide features that legacy # clone() doesn't. New features for clone3() will first happen in v5.5 # which is why v5.4 is still a good time to try and make that change now # and backport it to v5.3. # # I did a codesearch on https://codesearch.debian.net, github, and # gitlab and could not find any software currently relying directly on # clone3(). I expect this to change once we land CLONE_CLEAR_SIGHAND # which was a request coming from glibc at which point they'll likely # start using it" # # * tag 'for-linus-2019-11-05' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux: # clone3: validate stack arguments # < /opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc --version # < /opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-ld --version # < git log --format=%s --max-count=1 26bc672134241a080a83b2ab9aa8abede8d30e1c # < make -s -j 80 ARCH=arm O=/kisskb/build/linus_imx_v4_v5_defconfig_arm CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi- imx_v4_v5_defconfig # make -s -j 80 ARCH=arm O=/kisskb/build/linus_imx_v4_v5_defconfig_arm CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi- /kisskb/src/kernel/rcu/srcutree.c: In function 'init_srcu_struct_fields': /kisskb/src/kernel/rcu/srcutree.c:121:34: warning: 'levelspread[]' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/rcu/srcutree.c:88:6: note: 'levelspread[]' was declared here /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:204:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/proc/inode.c: In function 'proc_reg_open': /kisskb/src/include/linux/list.h:65:12: warning: 'pdeo' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/proc/inode.c:338:21: note: 'pdeo' was declared here /kisskb/src/drivers/base/regmap/regmap.c: In function 'regmap_raw_read': /kisskb/src/drivers/base/regmap/regmap.c:2591:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/base/regmap/regmap.c: In function '_regmap_raw_write': /kisskb/src/drivers/base/regmap/regmap.c:1852:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/soc/fsl/fsl_ssi.c: In function 'fsl_ssi_hw_params': /kisskb/src/sound/soc/fsl/fsl_ssi.c:769:7: warning: 'baudrate' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/soc/fsl/fsl_ssi.c:680:25: note: 'baudrate' was declared here /kisskb/src/drivers/usb/core/devio.c: In function 'async_completed': /kisskb/src/drivers/usb/core/devio.c:625:23: warning: 'errno' may be used uninitialized in this function [-Wuninitialized] WARNING: "return_address" [vmlinux] is a static EXPORT_SYMBOL_GPL Completed OK # rm -rf /kisskb/build/linus_imx_v4_v5_defconfig_arm # Build took: 0:00:56.765936