# git rev-parse -q --verify d9fb678414c048e185eaddadd18d75f5e8832ff3^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/linus master # git rev-parse -q --verify d9fb678414c048e185eaddadd18d75f5e8832ff3^{commit} d9fb678414c048e185eaddadd18d75f5e8832ff3 # git checkout -q -f -B kisskb d9fb678414c048e185eaddadd18d75f5e8832ff3 # git clean -qxdf # < git log -1 # commit d9fb678414c048e185eaddadd18d75f5e8832ff3 # Merge: 707a63e9a9dd 9d37e1cab2a9 # Author: Linus Torvalds # Date: Mon Sep 20 15:49:02 2021 -0700 # # Merge tag 'afs-fixes-20210913' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs # # Pull AFS fixes from David Howells: # "Fixes for AFS problems that can cause data corruption due to # interaction with another client modifying data cached locally: # # - When d_revalidating a dentry, don't look at the inode to which it # points. Only check the directory to which the dentry belongs. This # was confusing things and causing the silly-rename cleanup code to # remove the file now at the dentry of a file that got deleted. # # - Fix mmap data coherency. When a callback break is received that # relates to a file that we have cached, the data content may have # been changed (there are other reasons, such as the user's rights # having been changed). However, we're checking it lazily, only on # entry to the kernel, which doesn't happen if we have a writeable # shared mapped page on that file. # # We make the kernel keep track of mmapped files and clear all PTEs # mapping to that file as soon as the callback comes in by calling # unmap_mapping_pages() (we don't necessarily want to zap the # pagecache). This causes the kernel to be reentered when userspace # tries to access the mmapped address range again - and at that point # we can query the server and, if we need to, zap the page cache. # # Ideally, I would check each file at the point of notification, but # that involves poking the server[*] - which is holding an exclusive # lock on the vnode it is changing, waiting for all the clients it # notified to reply. This could then deadlock against the server. # Further, invalidating the pagecache might call ->launder_page(), # which would try to write to the file, which would definitely # deadlock. (AFS doesn't lease file access). # # [*] Checking to see if the file content has changed is a matter of # comparing the current data version number, but we have to ask # the server for that. We also need to get a new callback promise # and we need to poke the server for that too. # # - Add some more points at which the inode is validated, since we're # doing it lazily, notably in ->read_iter() and ->page_mkwrite(), but # also when performing some directory operations. # # Ideally, checking in ->read_iter() would be done in some derivation # of filemap_read(). If we're going to call the server to read the # file, then we get the file status fetch as part of that. # # - The above is now causing us to make a lot more calls to # afs_validate() to check the inode - and afs_validate() takes the # RCU read lock each time to make a quick check (ie. # afs_check_validity()). This is entirely for the purpose of checking # cb_s_break to see if the server we're using reinitialised its list # of callbacks - however this isn't a very common event, so most of # the time we're taking this needlessly. # # Add a new cell-wide counter to count the number of # reinitialisations done by any server and check that - and only if # that changes, take the RCU read lock and check the server list (the # server list may change, but the cell a file is part of won't). # # - Don't update vnode->cb_s_break and ->cb_v_break inside the validity # checking loop. The cb_lock is done with read_seqretry, so we might # go round the loop a second time after resetting those values - and # that could cause someone else checking validity to miss something # (I think). # # Also included are patches for fixes for some bugs encountered whilst # debugging this: # # - Fix a leak of afs_read objects and fix a leak of keys hidden by # that. # # - Fix a leak of pages that couldn't be added to extend a writeback. # # - Fix the maintenance of i_blocks when i_size is changed by a local # write or a local dir edit" # # Link: https://bugzilla.kernel.org/show_bug.cgi?id=214217 [1] # Link: https://lore.kernel.org/r/163111665183.283156.17200205573146438918.stgit@warthog.procyon.org.uk/ # v1 # Link: https://lore.kernel.org/r/163113612442.352844.11162345591911691150.stgit@warthog.procyon.org.uk/ # i_blocks patch # # * tag 'afs-fixes-20210913' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: # afs: Fix updating of i_blocks on file/dir extension # afs: Fix corruption in reads at fpos 2G-4G from an OpenAFS server # afs: Try to avoid taking RCU read lock when checking vnode validity # afs: Fix mmap coherency vs 3rd-party changes # afs: Fix incorrect triggering of sillyrename on 3rd-party invalidation # afs: Add missing vnode validation checks # afs: Fix page leak # afs: Fix missing put on afs_read objects and missing get on the key therein # < /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 d9fb678414c048e185eaddadd18d75f5e8832ff3 # < make -s -j 8 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc5.4 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- allmodconfig # < make -s -j 8 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc5.4 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- help # make -s -j 8 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc5.4 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- olddefconfig # make -s -j 8 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc5.4 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- In file included from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/tm.h:27, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/gcc-plugin.h:31, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/plugin.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:9, from /kisskb/src/scripts/gcc-plugins/latent_entropy_plugin.c:78: /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",\ ^ /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/config/elfos.h:170:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/tm.h:44, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/gcc-plugin.h:31, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/plugin.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:9, from /kisskb/src/scripts/gcc-plugins/latent_entropy_plugin.c:78: /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/tm.h:27, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/gcc-plugin.h:31, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/plugin.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:9, from /kisskb/src/scripts/gcc-plugins/sancov_plugin.c:22: /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",\ ^ /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/config/elfos.h:170:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/tm.h:44, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/gcc-plugin.h:31, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/plugin.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:9, from /kisskb/src/scripts/gcc-plugins/sancov_plugin.c:22: /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/tm.h:27, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/gcc-plugin.h:31, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/plugin.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:9, from /kisskb/src/scripts/gcc-plugins/structleak_plugin.c:32: /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",\ ^ /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/config/elfos.h:170:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/tm.h:44, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/gcc-plugin.h:31, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/plugin.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:9, from /kisskb/src/scripts/gcc-plugins/structleak_plugin.c:32: /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/tm.h:27, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/gcc-plugin.h:31, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/plugin.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:9, from /kisskb/src/scripts/gcc-plugins/stackleak_plugin.c:30: /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",\ ^ /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/config/elfos.h:170:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/tm.h:44, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/gcc-plugin.h:31, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/plugin.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:9, from /kisskb/src/scripts/gcc-plugins/stackleak_plugin.c:30: /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ cc1plus: warning: unrecognized command line option '-Wno-format-diag' cc1plus: warning: unrecognized command line option '-Wno-format-diag' cc1plus: warning: unrecognized command line option '-Wno-format-diag' In file included from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/tm.h:27, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/gcc-plugin.h:31, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/plugin.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:9, from /kisskb/src/scripts/gcc-plugins/randomize_layout_plugin.c:19: /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",\ ^ /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/config/elfos.h:170:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/tm.h:44, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/gcc-plugin.h:31, from /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/plugin.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:9, from /kisskb/src/scripts/gcc-plugins/randomize_layout_plugin.c:19: /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/../lib/gcc/aarch64-buildroot-linux-gnu/5.4.0/plugin/include/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ /kisskb/src/scripts/dtc/include-prefixes/arm/bcm2711-rpi-4-b.dts:220.10-231.4: Warning (pci_device_reg): /scb/pcie@7d500000/pci@1,0: PCI unit address format error, expected "0,0" /kisskb/src/scripts/dtc/include-prefixes/arm/bcm2711-rpi-4-b.dts:220.10-231.4: Warning (pci_device_reg): /scb/pcie@7d500000/pci@1,0: PCI unit address format error, expected "0,0" cc1plus: warning: unrecognized command line option '-Wno-format-diag' cc1plus: warning: unrecognized command line option '-Wno-format-diag' warning: ld does not support --fix-cortex-a53-843419; kernel may be susceptible to erratum warning: LSE atomics not supported by binutils /kisskb/src/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi:464.3-52: Warning (pci_device_reg): /pcie@f8000000/pcie@0,0:reg: PCI reg address is not configuration space /kisskb/src/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi:464.3-52: Warning (pci_device_reg): /pcie@f8000000/pcie@0,0:reg: PCI reg address is not configuration space /kisskb/src/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi:464.3-52: Warning (pci_device_reg): /pcie@f8000000/pcie@0,0:reg: PCI reg address is not configuration space /kisskb/src/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi:464.3-52: Warning (pci_device_reg): /pcie@f8000000/pcie@0,0:reg: PCI reg address is not configuration space /kisskb/src/arch/arm64/kvm/hyp/nvhe/Makefile:58: FORCE prerequisite is missing /kisskb/src/samples/seccomp/user-trap.c: In function 'send_fd': /kisskb/src/samples/seccomp/user-trap.c:50:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *((int *)CMSG_DATA(cmsg)) = fd; ^ /kisskb/src/samples/seccomp/user-trap.c: In function 'recv_fd': /kisskb/src/samples/seccomp/user-trap.c:83:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] return *((int *)CMSG_DATA(cmsg)); ^ In file included from /kisskb/src/include/linux/byteorder/little_endian.h:5:0, from /kisskb/src/arch/arm64/include/uapi/asm/byteorder.h:23, from /kisskb/src/include/asm-generic/bitops/le.h:7, from /kisskb/src/arch/arm64/include/asm/bitops.h:29, from /kisskb/src/include/linux/bitops.h:33, from /kisskb/src/include/linux/of.h:15, from /kisskb/src/include/linux/irqdomain.h:35, from /kisskb/src/include/linux/acpi.h:13, from /kisskb/src/drivers/infiniband/hw/hns/hns_roce_hw_v2.c:33: In function 'modify_qp_init_to_rtr', inlined from 'hns_roce_v2_set_abs_fields' at /kisskb/src/drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4794:7, inlined from 'hns_roce_v2_modify_qp' at /kisskb/src/drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4997:6: /kisskb/src/include/linux/compiler_types.h:322:38: error: call to '__compiletime_assert_1859' declared with attribute error: FIELD_PREP: value too large for the field _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ /kisskb/src/include/uapi/linux/byteorder/little_endian.h:33:51: note: in definition of macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ /kisskb/src/include/linux/compiler_types.h:310:2: note: in expansion of macro '__compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ /kisskb/src/include/linux/compiler_types.h:322:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ /kisskb/src/include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ /kisskb/src/include/linux/bitfield.h:49:3: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \ ^ /kisskb/src/include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \ ^ /kisskb/src/drivers/infiniband/hw/hns/hns_roce_common.h:91:52: note: in expansion of macro 'FIELD_PREP' *((__le32 *)ptr + (field_h) / 32) |= cpu_to_le32(FIELD_PREP( \ ^ /kisskb/src/drivers/infiniband/hw/hns/hns_roce_common.h:95:39: note: in expansion of macro '_hr_reg_write' #define hr_reg_write(ptr, field, val) _hr_reg_write(ptr, field, val) ^ /kisskb/src/drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4412:2: note: in expansion of macro 'hr_reg_write' hr_reg_write(context, QPC_LP_PKTN_INI, lp_pktn_ini); ^ /kisskb/src/include/linux/compiler_types.h:322:38: error: call to '__compiletime_assert_1866' declared with attribute error: FIELD_PREP: value too large for the field _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ /kisskb/src/include/uapi/linux/byteorder/little_endian.h:33:51: note: in definition of macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ /kisskb/src/include/linux/compiler_types.h:310:2: note: in expansion of macro '__compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ /kisskb/src/include/linux/compiler_types.h:322:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ /kisskb/src/include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ /kisskb/src/include/linux/bitfield.h:49:3: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \ ^ /kisskb/src/include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \ ^ /kisskb/src/drivers/infiniband/hw/hns/hns_roce_common.h:91:52: note: in expansion of macro 'FIELD_PREP' *((__le32 *)ptr + (field_h) / 32) |= cpu_to_le32(FIELD_PREP( \ ^ /kisskb/src/drivers/infiniband/hw/hns/hns_roce_common.h:95:39: note: in expansion of macro '_hr_reg_write' #define hr_reg_write(ptr, field, val) _hr_reg_write(ptr, field, val) ^ /kisskb/src/drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4416:2: note: in expansion of macro 'hr_reg_write' hr_reg_write(context, QPC_ACK_REQ_FREQ, lp_pktn_ini); ^ make[5]: *** [/kisskb/src/scripts/Makefile.build:277: drivers/infiniband/hw/hns/hns_roce_hw_v2.o] Error 1 make[4]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/infiniband/hw/hns] Error 2 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/infiniband/hw] Error 2 make[2]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/infiniband] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1868: drivers] Error 2 make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 8 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc5.4 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_arm64-allmodconfig_arm64-gcc5.4 # Build took: 0:40:48.687197