Hi all,
Please do not add any v4.2 material to your linux-next included trees
until after v4.1-rc1 is released.
Changes since 20150413:
Dropped tree: idle (complex conflict)
The arm-soc tree still had its build failure for which I reverted
a commit.
The vfs tree gained conflicts against the ext4 and xfs trees.
The pm tree lost its build failure.
The idle tree gained a complex conflict against the pm tree so I dropped
it for today.
The irqchip tree lost its build failure.
The ftrace tree gained a conflict against the net-next tree.
The rcu tree stilll had its build failure for which I reverted a commit.
The xen-tip tree gained a build failure so I used the version from
next-20150410.
Non-merge commits (relative to Linus' tree): 9605
8774 files changed, 407882 insertions(+), 199408 deletions(-)
----------------------------------------------------------------------------
I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/next/ ). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" and checkout or reset to the new
master.
You can see which trees have been included by looking in the Next/Trees
file in the source. There are also quilt-import.log and merge.log files
in the Next directory. Between each merge, the tree was built with
a ppc64_defconfig for powerpc and an allmodconfig for x86_64 and a
multi_v7_defconfig for arm. After the final fixups (if any), it is also
built with powerpc allnoconfig (32 and 64 bit), ppc44x_defconfig and
allyesconfig (this fails its final link) and i386, sparc, sparc64 and arm
defconfig.
Below is a summary of the state of the merge.
I am currently merging 215 trees (counting Linus' and 30 trees of patches
pending for Linus' tree).
Stats about the size of the tree over time can be seen at
http://neuling.org/linux-next-size.html .
Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.
Thanks to Randy Dunlap for doing many randconfig builds. And to Paul
Gortmaker for triage and bug fixes.
--
Cheers,
Stephen Rothwell [email protected]
$ git checkout master
$ git reset --hard stable
Merging origin/master (d700b0567132 Merge tag 'regulator-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator)
Merging fixes/master (b94d525e58dc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net)
Merging kbuild-current/rc-fixes (c517d838eb7d Linux 4.0-rc1)
Merging arc-current/for-curr (e4140819dadc ARC: signal handling robustify)
Merging arm-current/fixes (6c5c2a01fcfd ARM: proc-arm94*.S: fix setup function)
Merging m68k-current/for-linus (b24f670b7f5b m68k/mac: Fix out-of-bounds array index in OSS IRQ source initialization)
Merging metag-fixes/fixes (0164a711c97b metag: Fix ioremap_wc/ioremap_cached build errors)
Merging mips-fixes/mips-fixes (1795cd9b3a91 Linux 3.16-rc5)
Merging powerpc-merge-mpe/fixes (1cced5015b17 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input)
Merging powerpc-merge/merge (c517d838eb7d Linux 4.0-rc1)
Merging sparc/master (f22e6e847115 Linux 4.0-rc7)
Merging net/master (b50edd781285 tcp: tcp_make_synack() should clear skb->tstamp)
Merging ipsec/master (092a29a40bab vti6: fix uninit when using x-netns)
Merging sound-current/for-linus (ce4524e5a781 Merge tag 'asoc-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus)
Merging pci-current/for-linus (71f83b8e5c7f Revert "sparc/PCI: Clip bridge windows to fit in upstream windows")
Merging wireless-drivers/master (69628cd0652a Merge tag 'iwlwifi-for-kalle-2015-03-30' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes)
Merging driver-core.current/driver-core-linus (bc465aa9d045 Linux 4.0-rc5)
Merging tty.current/tty-linus (f22e6e847115 Linux 4.0-rc7)
Merging usb.current/usb-linus (f22e6e847115 Linux 4.0-rc7)
Merging usb-gadget-fixes/fixes (65582a7f4ce5 usb: isp1760: fix spin unlock in the error path of isp1760_udc_start)
Merging usb-serial-fixes/usb-linus (39a8804455fb Linux 4.0)
Merging staging.current/staging-linus (f22e6e847115 Linux 4.0-rc7)
Merging char-misc.current/char-misc-linus (bc465aa9d045 Linux 4.0-rc5)
Merging input-current/for-linus (92bac83dd79e Input: alps - non interleaved V2 dualpoint has separate stick button bits)
Merging crypto-current/master (ccfe8c3f7e52 crypto: aesni - fix memory usage in GCM decryption)
Merging ide/master (b314acaccd7e Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input)
Merging devicetree-current/devicetree/merge (41d9489319f2 drivers/of: Add empty ranges quirk for PA-Semi)
Merging rr-fixes/fixes (f47689345931 lguest: update help text.)
Merging vfio-fixes/for-linus (ec76f4007079 vfio-pci: Add missing break to enable VFIO_PCI_ERR_IRQ_INDEX)
Merging kselftest-fixes/fixes (67d8712dcc70 selftests: Fix build failures when invoked from kselftest target)
Merging drm-intel-fixes/for-linux-next-fixes (39a8804455fb Linux 4.0)
Merging asm-generic/master (643165c8bbc8 Merge tag 'uaccess_for_upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost into asm-generic)
Merging arc/for-next (67b7c0a0b53b ARC: perf: add user space attribution in callchains)
Merging arm/for-next (465471099ab2 Merge branch 'devel-stable' into for-next)
Applying: ARM: VDSO: rename tkr to tkr_mono
Merging arm-perf/for-next/perf (874c571414d5 arm-cci: Fix CCI PMU event validation)
Merging arm-soc/for-next (f12318bc515f ARM: SoC: document merges)
$ git am -3 ../patches/0001-Revert-ARM-dts-mt8135-Add-pinctrl-GPIO-EINT-node-for.patch
Applying: Revert "ARM: dts: mt8135: Add pinctrl/GPIO/EINT node for mt8135."
Merging at91/at91-next (d8a291a11778 Merge tag 'at91-dt2' into at91-next)
Merging bcm2835/for-next (b2776bf7149b Linux 3.18)
Merging rpi/for-rpi-next (9a5a3543e168 ARM: bcm2835: Fix i2c0 node name)
Merging berlin/berlin/for-next (c517d838eb7d Linux 4.0-rc1)
Merging cortex-m/for-next (e799b6f37e6c ARM: zImage: add support for ARMv7-M)
Merging imx-mxs/for-next (33e156f34c26 Merge branch 'imx/defconfig' into for-next)
Merging keystone/next (b17275a4a6cc Merge branch 'for_3.19/soc' into next)
Merging mvebu/for-next (dd9feff9079c Merge branch 'mvebu/fixes' into mvebu/for-next)
Merging omap/for-next (23aa6c6f4bed Merge branch 'omap-for-v4.0/fixes' into for-next)
Applying: ARM: dts: omap3: fixup for merge conflict around omap3_scm_general
Merging omap-pending/for-next (30aa18d3bea5 MAINTAINERS: add maintainer for OMAP hwmod data)
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/omap_hwmod_43xx_data.c
Merging renesas/next (53a6e5250291 Merge branch 'heads/soc-cleanup-for-v4.1' into next)
Merging samsung/for-next (5d5443b9c3ba Merge branch 'v4.1-next/mach-samsung' into for-next)
CONFLICT (content): Merge conflict in arch/arm/mach-exynos/platsmp.c
Merging sunxi/sunxi/for-next (5a04c6a64b01 Merge branches 'sunxi/clocks-for-4.1', 'sunxi/dt-for-4.1', 'sunxi/core-for-4.1' and 'sunxi/drivers-for-4.1', tag 'sunxi-defconfig-for-4.1' into sunxi/for-next)
Merging tegra/for-next (47ee17a644f4 Merge branch for-4.1/dt into for-next)
Merging arm64/for-next/core (6d1966dfd6e0 arm64: fix midr range for Cortex-A57 erratum 832075)
CONFLICT (content): Merge conflict in arch/arm64/configs/defconfig
Merging arm64-acpi/for-next/acpi (7676fa70feb2 ARM64 / ACPI: make acpi_map_gic_cpu_interface() as void function)
Merging blackfin/for-linus (275f5a8573e7 blackfin: defconfigs: cleanup unused CONFIG_MTD_CHAR, add MTD_SPI_NOR for BF537-STAMP)
Merging c6x/for-linux-next (3083ca2376a7 c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and L1D_cache_block_writeback)
Merging cris/for-next (d939b52abe0c cris: fix integer overflow in ELF_ET_DYN_BASE)
Merging hexagon/linux-next (8914d7e85780 Hexagon: fix signal delivery for debug traps)
Merging ia64/next (62f269ef8191 pstore: Fix the ramoops module parameters update)
Merging m68k/for-next (b24f670b7f5b m68k/mac: Fix out-of-bounds array index in OSS IRQ source initialization)
Merging m68knommu/for-next (6e4206136faa m68knommu: fix fec setup warning for ColdFire 5271 builds)
Merging metag/for-next (40346a0327fe metag: copy_thread(): rename 'arg' argument to 'kthread_arg')
Merging microblaze/next (c2219eda5478 microblaze: Fix syscall error recovery for invalid syscall IDs)
Merging mips/mips-for-linux-next (3e20a26b02bd Merge branch '4.0-fixes' into mips-for-linux-next)
CONFLICT (content): Merge conflict in drivers/irqchip/Makefile
CONFLICT (content): Merge conflict in drivers/bus/Makefile
CONFLICT (content): Merge conflict in arch/mips/kernel/genex.S
Merging nios2/nios2-next (4a89c3088ff6 nios2: fix cache coherency issue when debug with gdb)
Merging parisc-hd/for-next (476840458128 parisc: Eliminate sg_virt_addr() and private scatterlist.h)
Merging powerpc-mpe/next (ad30cb994651 Merge branch 'next-sriov' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into next)
CONFLICT (content): Merge conflict in tools/testing/selftests/powerpc/tm/Makefile
CONFLICT (content): Merge conflict in tools/testing/selftests/powerpc/Makefile
Merging powerpc/next (65e7bb2a34fe Merge branch 'next-sriov' into next)
Merging fsl/next (d41444daba1f powerpc/corenet: enable CONFIG_I2C_MUX and CONFIG_I2C_MUX_PCA954x)
Merging mpc5xxx/next (9e813308a5c1 powerpc/thp: Add tracepoints to track hugepage invalidate)
Merging s390/features (a1307bba1adc s390/smp: wait until secondaries are active & online)
Merging sparc-next/master (9f935675d41a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input)
Merging tile/master (6c7b3a10ec1c tile: nohz: warn if nohz_full uses hypervisor shared cores)
Merging uml/linux-next (fe205bdd1321 um: Print minimum physical memory requirement)
Merging unicore32/unicore32 (d670878e2c9a unicore32: Remove ARCH_HAS_CPUFREQ config option)
Merging xtensa/for_next (834a316eeebc xtensa: Fix fix linker script transformation for .text / .text.fixup)
Merging btrfs/next (4a3d1caf8a2c fs: btrfs: Add missing include file)
Merging ceph/master (388cfdc9bc19 libceph: require cephx message signature by default)
CONFLICT (content): Merge conflict in net/ceph/ceph_common.c
CONFLICT (content): Merge conflict in net/ceph/auth_x.c
CONFLICT (content): Merge conflict in include/linux/ceph/libceph.h
CONFLICT (content): Merge conflict in fs/ceph/super.h
CONFLICT (content): Merge conflict in fs/ceph/super.c
CONFLICT (content): Merge conflict in fs/ceph/snap.c
CONFLICT (content): Merge conflict in fs/ceph/inode.c
Merging cifs/for-next (be4a8e38d68f Update negotiate protocol for SMB3.1 dialect)
Merging ecryptfs/next (6d65261a09ad eCryptfs: don't pass fs-specific ioctl commands through)
Merging ext3/for_next (3adc12e96482 udf: Update ctime and mtime when directory is modified)
Merging ext4/dev (3a19824f63e0 ext4 crypto: enable encryption feature flag)
Merging f2fs/dev (e03b07d9084d f2fs: do not recover wrong data index)
Merging fscache/fscache (1a8ed18fb7db cachefiles: remove two unused pagevecs.)
CONFLICT (content): Merge conflict in fs/fscache/object.c
Merging fuse/for-next (94e4fe2cab3d fuse: explicitly set /dev/fuse file's private_data)
Merging gfs2/for-next (30133177957d gfs2: fix quota refresh race in do_glock())
Merging jfs/jfs-next (7d2ac45611b0 jfs: %pf is only for function pointers)
Merging nfs/linux-next (9eccca084320 Linux 4.0-rc3)
Merging nfsd/nfsd-next (1ec8c0c47f63 nfsd: Remove duplicate macro define for max sec label length)
Merging overlayfs/overlayfs-next (71cbad7e694e ovl: upper fs should not be R/O)
Merging squashfs/master (62421645bb70 Squashfs: Add LZ4 compression configuration option)
Merging v9fs/for-next (f569d3ef8254 net/9p: add a privport option for RDMA transport.)
Merging ubifs/linux-next (502690674281 UBI: power cut emulation for testing)
Merging xfs/for-next (6a63ef064b24 Merge branch 'xfs-misc-fixes-for-4.1-3' into for-next)
Merging file-locks/linux-next (0429c2b5c1c4 locks: use cmpxchg to assign i_flctx pointer)
Merging net-next/master (6e8a9d9148b6 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs)
CONFLICT (content): Merge conflict in fs/udf/file.c
CONFLICT (content): Merge conflict in fs/ext4/inode.c
CONFLICT (content): Merge conflict in drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c
Merging vfs/for-next (f1d36c2d7111 block: loop: switch to VFS ITER_BVEC)
CONFLICT (content): Merge conflict in net/9p/protocol.c
CONFLICT (content): Merge conflict in fs/xfs/xfs_iops.c
CONFLICT (content): Merge conflict in fs/f2fs/f2fs.h
CONFLICT (content): Merge conflict in fs/ext4/symlink.c
CONFLICT (content): Merge conflict in fs/ext4/namei.c
CONFLICT (content): Merge conflict in fs/btrfs/xattr.c
Merging pci/next (5468d5a64bf1 Merge branch 'pci/misc' into next)
Merging hid/for-next (e7f236eb0af9 Merge branch 'for-4.1/sensor-hub' into for-next)
Merging i2c/i2c/for-next (2bbd681ba2bf i2c: xlp9xx: Driver for Netlogic XLP9XX/5XX I2C controller)
Merging jdelvare-hwmon/master (26bc420b59a3 Linux 3.19-rc6)
Merging hwmon-staging/hwmon-next (f354169e0f7d hwmon: (pwm-fan) Update the duty cycle inorder to control the pwm-fan)
Merging v4l-dvb/master (bfb4e26f2532 Merge branch 'patchwork' into to_next)
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/vendor-prefixes.txt
Merging kbuild/for-next (79e4ae22ea92 Merge branch 'kbuild/kconfig' into kbuild/for-next)
Merging kconfig/for-next (bfa76d495765 Linux 3.19)
Merging libata/for-next (dcb0d097cd00 Merge branch 'for-4.1' into for-next)
Merging pm/linux-next (d0a490e94664 Merge branch 'acpi-scan')
Merging idle/next (41ccac796032 Merge branch 'turbostat' into release)
CONFLICT (content): Merge conflict in tools/power/x86/turbostat/turbostat.c
$ git reset --hard
Merging apm/for-next (53675abbd1e5 x86, apm: Remove unused variable)
Merging thermal/next (c0d6da701ae3 Merge branches 'thermal-fix' and 'thermal-intel' of .git into next)
Merging thermal-soc/next (62d0817a0aca Merge branch 'work-linus' into work-next)
Merging ieee1394/for-next (d71e6a11737f firewire: core: use correct vendor/model IDs)
Merging dlm/next (2ab4bd8ea3a6 dlm: adopt orphan locks)
Merging swiotlb/linux-next (8e0629c1d4ce swiotlb: don't assume PA 0 is invalid)
Merging slave-dma/next (b0820254ee69 Merge branch 'fixes' into next)
CONFLICT (modify/delete): drivers/dma/intel_mid_dma_regs.h deleted in HEAD and modified in slave-dma/next. Version slave-dma/next of drivers/dma/intel_mid_dma_regs.h left in tree.
CONFLICT (modify/delete): drivers/dma/intel_mid_dma.c deleted in HEAD and modified in slave-dma/next. Version slave-dma/next of drivers/dma/intel_mid_dma.c left in tree.
CONFLICT (modify/delete): arch/arm/mach-shmobile/board-mackerel.c deleted in HEAD and modified in slave-dma/next. Version slave-dma/next of arch/arm/mach-shmobile/board-mackerel.c left in tree.
CONFLICT (modify/delete): arch/arm/mach-shmobile/board-ape6evm.c deleted in HEAD and modified in slave-dma/next. Version slave-dma/next of arch/arm/mach-shmobile/board-ape6evm.c left in tree.
$ git rm -f arch/arm/mach-shmobile/board-mackerel.c arch/arm/mach-shmobile/board-ape6evm.c
$ git rm -f drivers/dma/intel_mid_dma_regs.h drivers/dma/intel_mid_dma.c
Applying: v4l: xilinx: fix for include file movement
Merging ipsec-next/master (74005991b78a xfrm: Do not parse 32bits compiled xfrm netlink msg on 64bits host)
Merging wireless-drivers-next/master (f56d9e23b78e ssb: add delay after PCI reset to fix SoC reboots)
Merging bluetooth/master (f86c0e343e97 Bluetooth: hci_uart: Add Atheros support for address configuration)
Merging infiniband/for-next (8494057ab5e4 IB/uverbs: Prevent integer overflow in ib_umem_get address arithmetic)
Merging mtd/master (5e0899db69e2 mtd: nand: MTD_NAND_HISI504 should depend on HAS_DMA)
Merging l2-mtd/master (91c9ea71a0ba staging: mt29f_spinand: show parent device in sysfs)
Merging crypto/master (3abafaf2192b crypto: arm - workaround for building with old binutils)
CONFLICT (content): Merge conflict in crypto/Kconfig
Applying: crypto: fix for sendmsg/recvmsg API change
Merging drm/drm-next (1d8ac08d498d Merge tag 'v4.0-rc7' into drm-next)
Applying: drm/msm: fixes for regulator_set_optimum_mode name change
Merging drm-panel/drm/panel/for-next (1c550fa193d0 drm/panel: Add support for Ampire AM-800480R3TMQW-A1H 800x480 7" panel)
Merging drm-intel/for-linux-next (08d9bc920d46 drm/i915: Allocate connector state together with the connectors)
Merging drm-tegra/drm/tegra/for-next (535a65db484f drm/tegra: sor: Reset during initialization)
Merging drm-misc/topic/drm-misc (9a436ee6c3f3 drm: make crtc/encoder/connector/plane helper_private a const pointer)
Merging drm-exynos/exynos-drm/for-next (3cf711584d3e drm/exynos: Fix FIMD buffer size calculation)
Merging drm-msm/msm-next (d5af49c92a8a drm/msm/mdp5: Enable DSI connector in msm drm driver)
Merging sound/for-next (f2aa111041ce ALSA: hda/realtek - Enable the ALC292 dock fixup on the Thinkpad T450)
Merging sound-asoc/for-next (7667428f8052 Merge remote-tracking branches 'asoc/topic/wm2200', 'asoc/topic/wm5100', 'asoc/topic/wm8731', 'asoc/topic/wm8804' and 'asoc/topic/wm8996' into asoc-next)
Merging modules/modules-next (e5d8f59a5cfa modpost: document the use of struct section_check.)
Merging virtio/virtio-next (9e1a27ea4269 virtio_ring: Update weak barriers to use dma_wmb/rmb)
Merging input/next (8b8a518ef16b Input: atkbd - document "no new force-release quirks" policy)
Merging block/for-next (2963e3f7e8e3 blk-mq: cleanup blk_mq_rq_to_pdu())
Merging device-mapper/for-next (223c1aa8360a dm crypt: fix deadlock when async crypto algorithm returns -EBUSY)
Merging mmc/mmc-next (11bc9381b277 mmc: sdhci-s3c: use mmc_of_parse and remove the card_tasklet)
Merging mmc-uh/next (69f0fb2a592f mmc: sdhci-st: Update ST SDHCI binding documentation.)
Merging kgdb/kgdb-next (2d289f14f00a kdb: Fix handling of kallsyms_symbol_next() return value)
Merging md/for-next (14d18f75214b md/raid5: allow the stripe_cache to grow and shrink.)
Merging mfd/for-mfd-next (e554a99ee8d0 mfd: sec: Fix RTC alarm interrupt number on S2MPS11)
Merging backlight/for-backlight-next (1926469377bb backlight: da9052_bl: Terminate da9052_wled_ids array with empty element)
Merging battery/master (5939d9dfe440 power: twl4030_madc_battery: Add missing MODULE_ALIAS)
CONFLICT (content): Merge conflict in drivers/hid/wacom_sys.c
CONFLICT (content): Merge conflict in drivers/hid/wacom.h
Applying: HID: wacom: merge fix for "Change ownership from driver to core"
Merging omap_dss2/for-next (72fc8b7187cd Merge branches '4.1/fbdev' and '4.1/omapdss' into for-next)
Merging regulator/for-next (4ec0853ac5d5 Merge remote-tracking branch 'regulator/topic/wm8350' into regulator-next)
Merging security/next (3add594bf60a Merge branch 'tomoyo-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild into next)
CONFLICT (content): Merge conflict in drivers/char/tpm/tpm-chip.c
Merging integrity/next (7bea7ff67e0c ima: /proc/keys is now mandatory)
Merging selinux/next (cf7b6c0205f1 selinux: increase avtab max buckets)
Merging lblnet/next (b2776bf7149b Linux 3.18)
Merging watchdog/master (fe92a2e35727 watchdog: octeon: use fixed length string for register names)
Merging iommu/next (7f65ef01e131 Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'arm/smmu', 'arm/tegra' and 'core' into next)
Merging dwmw2-iommu/master (03ecc32c5274 iommu/vt-d: support extended root and context entries)
Merging vfio/next (5a0ff17741c1 vfio-pci: Fix use after free)
Merging osd/linux-next (1fa3a002b254 Boaz Harrosh - fix email in Documentation)
Merging jc_docs/docs-next (197175427a22 Documentation/memcg: update memcg/kmem status)
Merging trivial/for-next (0e4f93e5017d goldfish: goldfish_tty_probe() is not using 'i' any more)
Merging audit/next (724e7bfcc566 audit: Remove condition which always evaluates to false)
Merging devicetree/devicetree/next (a2166ca5f320 Merge remote-tracking branch 'robh/for-next' into devicetree/next)
CONFLICT (rename/delete): Documentation/devicetree/bindings/mips/brcm/brcm,cm-dsl.txt deleted in HEAD and renamed in devicetree/devicetree/next. Version devicetree/devicetree/next of Documentation/devicetree/bindings/mips/brcm/brcm,cm-dsl.txt left in tree.
CONFLICT (rename/delete): Documentation/devicetree/bindings/mips/brcm/brcm,bcm3384-intc.txt deleted in HEAD and renamed in devicetree/devicetree/next. Version devicetree/devicetree/next of Documentation/devicetree/bindings/mips/brcm/brcm,bcm3384-intc.txt left in tree.
$ git rm -f Documentation/devicetree/bindings/mips/brcm/brcm,bcm3384-intc.txt Documentation/devicetree/bindings/mips/brcm/brcm,cm-dsl.txt
Merging dt-rh/for-next (01218bf14ee6 of: Explicitly include linux/types.h in of_graph.h)
Merging mailbox/mailbox-for-next (ee23d66af921 mailbox: arm_mhu: add driver for ARM MHU controller)
Merging spi/for-next (56afdb70ca91 Merge remote-tracking branches 'spi/topic/spidev' and 'spi/topic/spidev-test' into spi-next)
Merging tip/auto-latest (5bfbc76cb20a Merge branch 'x86/vdso')
CONFLICT (content): Merge conflict in samples/bpf/Makefile
CONFLICT (content): Merge conflict in include/uapi/linux/bpf.h
CONFLICT (content): Merge conflict in include/linux/bpf.h
CONFLICT (content): Merge conflict in drivers/firmware/dmi_scan.c
CONFLICT (content): Merge conflict in arch/arm/mach-exynos/suspend.c
Applying: bpf: semantic merge conflict fix in kernel/events/core.c
Merging clockevents/clockevents/next (4c8305221193 clocksource: Driver for Conexant Digicolor SoC timer)
CONFLICT (add/add): Merge conflict in drivers/clocksource/rockchip_timer.c
CONFLICT (content): Merge conflict in drivers/clocksource/Kconfig
CONFLICT (content): Merge conflict in arch/arm/mach-rockchip/Kconfig
Merging edac/linux_next (fec53af531dd sb_edac: Fix typo computing number of banks)
Merging edac-amd/for-next (1afaa0551521 EDAC: Constify of_device_id array)
Merging irqchip/irqchip/for-next (a8bcdc32fafb Merge branch 'irqchip/core' into irqchip/for-next)
Merging tiny/tiny/next (f114040e3ea6 Linux 3.18-rc1)
Merging ftrace/for-next (2ea825a9f1ad Merge branch 'for-next/ftrace/core' into trace/for-next)
CONFLICT (content): Merge conflict in net/mac80211/trace.h
CONFLICT (content): Merge conflict in kernel/trace/trace.c
CONFLICT (content): Merge conflict in drivers/net/wireless/iwlwifi/iwl-devtrace.h
Applying: iwlwifi: mvm: fix up for tracing split
Merging rcu/rcu/next (c55f6e1f6f69 cpu: Defer smpboot kthread unparking until CPU known to scheduler)
$ git am -3 ../patches/0001-Revert-cpu-Defer-smpboot-kthread-unparking-until-CPU.patch
Applying: Revert "cpu: Defer smpboot kthread unparking until CPU known to scheduler"
Merging kvm/linux-next (ca3f0874723f KVM: use slowpath for cross page cached accesses)
Merging kvm-arm/next (d44758c0dfc5 KVM: arm/arm64: enable KVM_CAP_IOEVENTFD)
Merging kvm-ppc/kvm-ppc-next (35fd68a38d57 kvm: x86: fix x86 eflags fixed bit)
Merging kvms390/next (816c7667ea97 KVM: s390: migrate vcpu interrupt state)
Merging xen-tip/linux-next (b0c7fd5839ae xen/pciback: Remove is_busmaster=0 as pci_disable_device does it already)
CONFLICT (content): Merge conflict in drivers/xen/Kconfig
$ git reset --hard HEAD^
Merging next-20150410 version of xen-tip
CONFLICT (content): Merge conflict in drivers/xen/Kconfig
[master 9e21437bac84] next-20150410/xen-tip
Merging percpu/for-next (4c907baf36d8 percpu_ref: implement percpu_ref_is_dying())
Merging workqueues/for-next (6ba94429c8e7 workqueue: Reorder sysfs code)
Merging drivers-x86/for-next (cdbff6119408 MAINTAINERS: Add me on list of Dell laptop drivers)
Merging chrome-platform/for-next (8ce580932f8e platform/chrome: cros_ec_lpc - Depend on X86 || COMPILE_TEST)
Merging regmap/for-next (5e83a0463ac0 Merge remote-tracking branch 'regmap/topic/trace' into regmap-next)
Merging hsi/for-next (265ef3ee9575 HSI: cmt_speech: fix error return code)
Merging leds/for-next (ccdc45075aea leds: Don't treat the LED name as a format string)
Merging ipmi/for-next (d0acf734d886 ipmi_ssif: Use interruptible completion for waiting in the thread)
Merging driver-core/driver-core-next (c9e15f25f514 debugfs: allow bad parent pointers to be passed in)
Merging tty/tty-next (5dbc32a88f1e n_gsm: Drop unneeded cast on netdev_priv)
CONFLICT (content): Merge conflict in drivers/dma/Kconfig
Merging usb/usb-next (00fe52deb45b drivers/usb/core: devio.c: Removed an uneeded space before tab)
Merging usb-gadget/next (bbc78c07a51f usb: core: hub: use new USB_RESUME_TIMEOUT)
Merging usb-serial/usb-next (65dd82ae453f USB: f81232: fix some minor style issues)
Merging staging/staging-next (c610f7f772aa Merge 4.0-rc7 into staging-next)
CONFLICT (content): Merge conflict in drivers/staging/media/mn88473/mn88473.c
Merging char-misc/char-misc-next (ea5505fabd3b mei: trace: remove unused TRACE_SYSTEM_STRING)
Merging extcon/extcon-next (f9471ff9a895 extcon: usb-gpio: register extcon device before IRQ registration)
Merging kdbus/kdbus (9fb9cd0f4434 kdbus: avoid the use of struct timespec)
CONFLICT (content): Merge conflict in Documentation/Makefile
Merging cgroup/for-next (34ebe933417e cpuset, isolcpus: document relationship between cpusets & isolcpus)
Merging scsi/for-next (f9f50f949739 Merge branch 'misc' into for-next)
Merging target-updates/for-next (bb30b042fe33 target/rd: Don't pass imcomplete scatterlist entries to sbc_dif_verify_*)
CONFLICT (content): Merge conflict in drivers/xen/xen-scsiback.c
Merging target-merge/for-next-merge (b28a960c42fc Linux 3.14-rc2)
Merging pinctrl/for-next (1dfe0d159dc7 pinctrl: sirf: move sgpio lock into state container)
Merging vhost/linux-next (dd29714ec856 tun, macvtap: higher order allocations for skbs)
CONFLICT (content): Merge conflict in drivers/usb/dwc3/dwc3-pci.c
CONFLICT (content): Merge conflict in Documentation/PCI/pci.txt
Merging remoteproc/for-next (315491e5d6ee remoteproc: add IOMMU hardware capability flag)
Merging rpmsg/for-next (b1b9891441fa rpmsg: use less buffers when vrings are small)
Merging gpio/for-next (03daa6f82f2b Revert "gpio: sch: use uapi/linux/pci_ids.h directly")
Merging dma-mapping/dma-mapping-next (04abab698285 include/dma-mapping: Clarify output of dma_map_sg)
Merging pwm/for-next (71d54bfabb28 drivers/pwm: Remove __init initializer for pwm_add_table)
Merging dma-buf/for-next (56a4d3e2e2d4 staging: android: ion: fix wrong init of dma_buf_export_info)
Merging userns/for-next (e0c9c0afd2fc mnt: Update detach_mounts to leave mounts connected)
Merging ktest/for-next (7c2c49eceb79 ktest: Place quotes around item variable)
Merging clk/clk-next (03bc10ab5b0f clk: check ->determine/round_rate() return value in clk_calc_new_rates)
Merging random/dev (7185ad2672a7 crypto: memzero_explicit - make sure to clear out sensitive data)
Merging aio/master (5f785de58873 aio: Skip timer for io_getevents if timeout=0)
Merging llvmlinux/for-next (25d4aee23af2 arm: LLVMLinux: Use global stack register variable for percpu)
Merging kselftest/next (2bfd4d1f8c2b ftracetest: Do not use usleep directly)
Merging y2038/y2038 (ed8c2241c1ae coredump: Use 64bit time for unix time of coredump)
CONFLICT (content): Merge conflict in drivers/staging/media/lirc/lirc_parallel.c
Merging luto-misc/next (a6c5170d1ede Merge branch 'for-4.0' of git://linux-nfs.org/~bfields/linux)
Merging access_once/linux-next (bc465aa9d045 Linux 4.0-rc5)
Merging livepatching/for-next (075b759be1bb Merge branch 'for-4.1/core-s390' into for-next)
CONFLICT (content): Merge conflict in arch/s390/Kconfig
Merging exec-domain/exec_domain_rip_v2 (720d70716d13 sparc: Fix execution domain removal)
Merging akpm-current/current (5d77fd3b294b x86: switch to using asm-generic for seccomp.h)
CONFLICT (content): Merge conflict in include/linux/kconfig.h
CONFLICT (content): Merge conflict in fs/hfsplus/xattr.h
CONFLICT (content): Merge conflict in fs/fat/inode.c
CONFLICT (content): Merge conflict in fs/ext4/file.c
CONFLICT (content): Merge conflict in fs/ext2/file.c
CONFLICT (content): Merge conflict in fs/befs/linuxvfs.c
CONFLICT (content): Merge conflict in fs/affs/amigaffs.c
CONFLICT (content): Merge conflict in drivers/rtc/rtc-mc13xxx.c
CONFLICT (content): Merge conflict in drivers/rtc/class.c
CONFLICT (content): Merge conflict in arch/s390/mm/mmap.c
CONFLICT (content): Merge conflict in arch/parisc/include/asm/Kbuild
CONFLICT (content): Merge conflict in arch/arm64/Kconfig
CONFLICT (content): Merge conflict in Documentation/printk-formats.txt
Applying: fs/hfsplus: merge fix for d_inode() annotation
Applying: powerpc: merge fix for watchdog_enable_hardlockup_detector API change
$ git checkout -b akpm remotes/origin/akpm/master
Applying: arch/unicore32/kernel/fpu-ucf64.c: remove unnecessary KERN_ERR
Applying: lib/Kconfig: fix up HAVE_ARCH_BITREVERSE help text
Applying: mips: ip32: add platform data hooks to use DS1685 driver
Applying: oprofile: reduce mmap_sem hold for mm->exe_file
Applying: powerpc/oprofile: reduce mmap_sem hold for exe_file
Applying: oprofile-reduce-mmap_sem-hold-for-mm-exe_file-fix
Applying: tomoyo: reduce mmap_sem hold for mm->exe_file
Applying: tomoyo-reduce-mmap_sem-hold-for-mm-exe_file-checkpatch-fixes
Applying: prctl: avoid using mmap_sem for exe_file serialization
Applying: MAINTAINERS: add Mediatek SoC mailing list
Applying: .gitignore: ignore *.tar
Applying: drivers/rtc/rtc-s5m.c: allow usage on device type different than main MFD type
Applying: rtc-s5m-allow-usage-on-device-type-different-than-main-mfd-type-v2
Applying: Documentation/spi/spidev_test.c: fix warning
Applying: drivers/rtc/rtc-at91rm9200.c: make IO endian agnostic
Applying: mm, x86: document return values of mapping funcs
Applying: mtrr, x86: fix MTRR lookup to handle inclusive entry
Applying: mtrr, x86: remove a wrong address check in __mtrr_type_lookup()
Applying: mtrr, x86: fix MTRR state checks in mtrr_type_lookup()
Applying: mtrr, x86: define MTRR_TYPE_INVALID for mtrr_type_lookup()
Applying: mtrr, x86: clean up mtrr_type_lookup()
Applying: mtrr, mm, x86: enhance MTRR checks for KVA huge page mapping
Applying: drivers/w1/w1_int.c: call put_device if device_register fails
Applying: mm: add strictlimit knob
Merging akpm/master (0a4c8a6f325d mm: add strictlimit knob)
On Tue, Apr 14, 2015 at 06:42:44PM +1000, Stephen Rothwell wrote:
> Hi all,
>
> Please do not add any v4.2 material to your linux-next included trees
> until after v4.1-rc1 is released.
>
> Changes since 20150413:
>
> Dropped tree: idle (complex conflict)
>
> The arm-soc tree still had its build failure for which I reverted
> a commit.
>
> The vfs tree gained conflicts against the ext4 and xfs trees.
>
> The pm tree lost its build failure.
>
> The idle tree gained a complex conflict against the pm tree so I dropped
> it for today.
>
> The irqchip tree lost its build failure.
>
> The ftrace tree gained a conflict against the net-next tree.
>
> The rcu tree stilll had its build failure for which I reverted a commit.
>
> The xen-tip tree gained a build failure so I used the version from
> next-20150410.
>
> Non-merge commits (relative to Linus' tree): 9605
> 8774 files changed, 407882 insertions(+), 199408 deletions(-)
>
This version results in a modpost crash when building a score target.
/bin/sh: line 1: 18057 Floating point exception(core dumped) scripts/mod/modpost -o ./Module.symvers -S vmlinux.o
scripts/Makefile.modpost:97: recipe for target 'vmlinux.o' failed
make[1]: *** [vmlinux.o] Error 136
Makefile:949: recipe for target 'vmlinux' failed
make: *** [vmlinux] Error 2
Culprit is commit 52dc0595d540 ("modpost: handle relocations mismatch in
__ex_table.). That patch has a number of problems.
+ if (!extable_entry_size && cur == start + 1 &&
+ strcmp("__ex_table", sec) == 0)
+ extable_entry_size = r->r_offset * 2;
Debugging shows that "cur - start" can be anywhere in multiples of 8
(arm, score) to 24 (alpha). I have never seen it to be 1. As a result,
extable_entry_size will never be set, or at least not for the
architectures I looked at.
+static inline bool is_extable_fault_address(Elf_Rela *r)
+{
+ if (!extable_entry_size == 0)
+ fatal("extable_entry size hasn't been discovered!\n");
"!extable_entry_size == 0" is true if extable_entry_size is not 0.
Presumably that was supposed to be "if (extable_entry_size == 0)"
or "if (!extable_entry_size)".
+ return ((r->r_offset == 0) ||
+ (r->r_offset % extable_entry_size == 0));
So this code will execute if extable_entry_size==0, predictably causing
the observed crash.
I still don't know why this is triggered when building a score image.
It appears that some __ex_table entry causes the problem. Which may or
may not be a problem. Personally I think it is a bit rude to abort
compilation because of it.
Guenter
On Tue, Apr 14, 2015 at 09:11:14AM -0700, Guenter Roeck wrote:
> On Tue, Apr 14, 2015 at 06:42:44PM +1000, Stephen Rothwell wrote:
> > Hi all,
> >
> > Please do not add any v4.2 material to your linux-next included trees
> > until after v4.1-rc1 is released.
> >
> > Changes since 20150413:
> >
> > Dropped tree: idle (complex conflict)
> >
> > The arm-soc tree still had its build failure for which I reverted
> > a commit.
> >
> > The vfs tree gained conflicts against the ext4 and xfs trees.
> >
> > The pm tree lost its build failure.
> >
> > The idle tree gained a complex conflict against the pm tree so I dropped
> > it for today.
> >
> > The irqchip tree lost its build failure.
> >
> > The ftrace tree gained a conflict against the net-next tree.
> >
> > The rcu tree stilll had its build failure for which I reverted a commit.
> >
> > The xen-tip tree gained a build failure so I used the version from
> > next-20150410.
> >
> > Non-merge commits (relative to Linus' tree): 9605
> > 8774 files changed, 407882 insertions(+), 199408 deletions(-)
> >
> This version results in a modpost crash when building a score target.
>
> /bin/sh: line 1: 18057 Floating point exception(core dumped) scripts/mod/modpost -o ./Module.symvers -S vmlinux.o
> scripts/Makefile.modpost:97: recipe for target 'vmlinux.o' failed
> make[1]: *** [vmlinux.o] Error 136
> Makefile:949: recipe for target 'vmlinux' failed
> make: *** [vmlinux] Error 2
>
> Culprit is commit 52dc0595d540 ("modpost: handle relocations mismatch in
> __ex_table.). That patch has a number of problems.
>
> + if (!extable_entry_size && cur == start + 1 &&
> + strcmp("__ex_table", sec) == 0)
> + extable_entry_size = r->r_offset * 2;
>
> Debugging shows that "cur - start" can be anywhere in multiples of 8
> (arm, score) to 24 (alpha). I have never seen it to be 1. As a result,
> extable_entry_size will never be set, or at least not for the
> architectures I looked at.
Derp sorry about this :(
I moved that "cur == start + 1" test from section_rel[a]() to here but
completely missed to properly cast before doing the pointer arithmetics.
>
> +static inline bool is_extable_fault_address(Elf_Rela *r)
> +{
> + if (!extable_entry_size == 0)
> + fatal("extable_entry size hasn't been discovered!\n");
>
> "!extable_entry_size == 0" is true if extable_entry_size is not 0.
> Presumably that was supposed to be "if (extable_entry_size == 0)"
> or "if (!extable_entry_size)".
>
> + return ((r->r_offset == 0) ||
> + (r->r_offset % extable_entry_size == 0));
>
> So this code will execute if extable_entry_size==0, predictably causing
> the observed crash.
>
> I still don't know why this is triggered when building a score image.
> It appears that some __ex_table entry causes the problem. Which may or
> may not be a problem. Personally I think it is a bit rude to abort
> compilation because of it.
>
It is rude and I'm really sorry about this, I had only tested this on
x86_64 and sparc.
Should I send a tentative fix or will you do it since you've done all the
hard work? In any case thanks for the detailed analysis.
Quentin
On Tue, Apr 14, 2015 at 06:36:03PM +0200, Quentin Casasnovas wrote:
> On Tue, Apr 14, 2015 at 09:11:14AM -0700, Guenter Roeck wrote:
> > On Tue, Apr 14, 2015 at 06:42:44PM +1000, Stephen Rothwell wrote:
[ ... ]
>
> It is rude and I'm really sorry about this, I had only tested this on
> x86_64 and sparc.
>
> Should I send a tentative fix or will you do it since you've done all the
> hard work? In any case thanks for the detailed analysis.
>
Hi Quentin,
I don't really know what to cast the pointers to, given they have different
real types (and maybe you should not even pass the pointers in the first
place but do that test in the calling code), so I'll leave the fixing up
to you. If you Cc: me on the fix, I can test it for the affected architectures
(score, mn10300, parisc, parisc64).
Thanks,
Guenter
The following two patches might (hopefully) fix the build breakage on score
and some other architectures. I've checked the new __ex_table checker
still works on x86-64 with them (it still detects an entry pointing to
.altinstr_rplacement) and they should apply cleanly on top of Rusty's
module-next branch.
Thanks to Guenter for the bug analysis and sorry again for the breakage.
Let me know if this makes things better..
Quentin
As Guenter pointed out, we want to assert that extable_entry_size has been
discovered and not the other way around. Moreover, this sanity check is
only valid when we're not dealing with the first relocation in __ex_table,
since we have not discovered the extable entry size at that point.
This was leading to a divide-by-zero on some architectures and make the
build fail.
Signed-off-by: Quentin Casasnovas <[email protected]>
Reported-by: Guenter Roeck <[email protected]>
CC: Rusty Russell <[email protected]>
---
scripts/mod/modpost.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 22dbc60..93bb87d 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -1529,7 +1529,12 @@ static void find_extable_entry_size(const char* const sec, const Elf_Rela* r,
}
static inline bool is_extable_fault_address(Elf_Rela *r)
{
- if (!extable_entry_size == 0)
+ /*
+ * extable_entry_size is only discovered after we've handled the
+ * _second_ relocation in __ex_table, so only abort when we're not
+ * handling the first reloc and extable_entry_size is zero.
+ */
+ if (r->r_offset && extable_entry_size == 0)
fatal("extable_entry size hasn't been discovered!\n");
return ((r->r_offset == 0) ||
--
2.0.5
As Guenter pointed out, we were never really calculating the extable entry
size because the pointer arithmetic was simply wrong. We want to check
we're handling the second relocation in __ex_table to infer an entry size,
but we were using (void*) pointers instead of Elf_Rel[a]* ones.
This fixes the problem by moving that check in the caller (since we can
deal with different types of relocations) and add is_second_extable_reloc()
to make the whole thing more readable.
Signed-off-by: Quentin Casasnovas <[email protected]>
Reported-by: Guenter Roeck <[email protected]>
CC: Rusty Russell <[email protected]>
---
scripts/mod/modpost.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 93bb87d..fd94977 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -1511,8 +1511,7 @@ static int is_executable_section(struct elf_info* elf, unsigned int section_inde
* to know the sizeof(struct exception_table_entry) for the target architecture.
*/
static unsigned int extable_entry_size = 0;
-static void find_extable_entry_size(const char* const sec, const Elf_Rela* r,
- const void* start, const void* cur)
+static void find_extable_entry_size(const char* const sec, const Elf_Rela* r)
{
/*
* If we're currently checking the second relocation within __ex_table,
@@ -1523,10 +1522,10 @@ static void find_extable_entry_size(const char* const sec, const Elf_Rela* r,
* seems to go with different sized types. Not pretty but better than
* hard-coding the size for every architecture..
*/
- if (!extable_entry_size && cur == start + 1 &&
- strcmp("__ex_table", sec) == 0)
+ if (!extable_entry_size)
extable_entry_size = r->r_offset * 2;
}
+
static inline bool is_extable_fault_address(Elf_Rela *r)
{
/*
@@ -1541,6 +1540,9 @@ static inline bool is_extable_fault_address(Elf_Rela *r)
(r->r_offset % extable_entry_size == 0));
}
+#define is_second_extable_reloc(Start, Cur, Sec) \
+ (((Cur) == (Start) + 1) && (strcmp("__ex_table", (Sec)) == 0))
+
static void report_extable_warnings(const char* modname, struct elf_info* elf,
const struct sectioncheck* const mismatch,
Elf_Rela* r, Elf_Sym* sym,
@@ -1769,7 +1771,8 @@ static void section_rela(const char *modname, struct elf_info *elf,
/* Skip special sections */
if (is_shndx_special(sym->st_shndx))
continue;
- find_extable_entry_size(fromsec, &r, start, rela);
+ if (is_second_extable_reloc(start, rela, fromsec))
+ find_extable_entry_size(fromsec, &r);
check_section_mismatch(modname, elf, &r, sym, fromsec);
}
}
@@ -1828,7 +1831,8 @@ static void section_rel(const char *modname, struct elf_info *elf,
/* Skip special sections */
if (is_shndx_special(sym->st_shndx))
continue;
- find_extable_entry_size(fromsec, &r, start, rel);
+ if (is_second_extable_reloc(start, rel, fromsec))
+ find_extable_entry_size(fromsec, &r);
check_section_mismatch(modname, elf, &r, sym, fromsec);
}
}
--
2.0.5
On 04/15/2015 01:54 AM, Quentin Casasnovas wrote:
> The following two patches might (hopefully) fix the build breakage on score
> and some other architectures. I've checked the new __ex_table checker
> still works on x86-64 with them (it still detects an entry pointing to
> .altinstr_rplacement) and they should apply cleanly on top of Rusty's
> module-next branch.
>
> Thanks to Guenter for the bug analysis and sorry again for the breakage.
>
> Let me know if this makes things better..
>
Hi Quentin,
the crash is fixed, but now I get
FATAL: The relocation at __ex_table+0x4 references
section "" which is not executable, IOW
the kernel will fault if it ever tries to
jump to it. Something is seriously wrong
and should be fixed.
for parisc:defconfig,
FATAL: The relocation at __ex_table+0x634 references
section "__ex_table" which is not executable, IOW
the kernel will fault if it ever tries to
jump to it. Something is seriously wrong
and should be fixed.
for score:allnoconfig, and
FATAL: The relocation at __ex_table+0x8 references
section "" which is not executable, IOW
it is not possible for the kernel to fault
at that address. Something is seriously wrong
and should be fixed.
for mn10300:defconfig.
While I agree that those should get fixed (if they are real problems,
especially the ones for parisc and mn10300), I don't think it is
a good idea to fail the build because of it.
Note that I did find the problem in the score build; that was a real bug.
I don't know what may be wrong with the others.
Thanks,
Guenter
On Wed, Apr 15, 2015 at 06:26:58AM -0700, Guenter Roeck wrote:
> On 04/15/2015 01:54 AM, Quentin Casasnovas wrote:
> >
> > Let me know if this makes things better..
> >
Hi Guenter,
>
> the crash is fixed, but now I get
>
That's a first step.. :)
> FATAL: The relocation at __ex_table+0x4 references
> [...]
>
> for parisc:defconfig,
> for score:allnoconfig, and
> for mn10300:defconfig.
Thanks for the testing, much appreciated!
>
> While I agree that those should get fixed (if they are real problems,
> especially the ones for parisc and mn10300), I don't think it is
> a good idea to fail the build because of it.
That's a tough one.. I think it's pretty bad in general to have some
crufts in the ex_table referencing non-executable sections. Note that it
will not make the build fail if the relocation _seems_ legit (jump to an
executable section even though it's not part of the white-list) but in
those cases, something really does look wrong and could potentially have a
security impact so I thought the build failure was a good thing to do.
Now, if it's a problem in modpost (which is likely!), then obviously I'd be
happy to try and help fix that!
>
> Note that I did find the problem in the score build; that was a real bug.
> I don't know what may be wrong with the others.
Cool! Mind CC'ing me to your fix, I'm curious :)
Regarding the others, if you've compiled them with debug information, you
should be able to do some addr2line magic incantation to find the offending
code. I've also added scripts/check_extable.sh which you might be able to
use to get more details about the failures (or simply use the same logic in
there to know where those maybe-wrong-relocations are coming from).
I'm surprised/concerned that some sections appear to have no name though
(indicating yet another bug in my modpost changes?).. If you can share the
object files then I can have a look (and possibly help with the addr2line
incantation).
Thanks!
Quentin
On Wed, Apr 15, 2015 at 03:46:37PM +0200, Quentin Casasnovas wrote:
> On Wed, Apr 15, 2015 at 06:26:58AM -0700, Guenter Roeck wrote:
> > On 04/15/2015 01:54 AM, Quentin Casasnovas wrote:
> > >
> > > Let me know if this makes things better..
> > >
>
> Hi Guenter,
>
> >
> > the crash is fixed, but now I get
> >
>
> That's a first step.. :)
>
> > FATAL: The relocation at __ex_table+0x4 references
> > [...]
> >
> > for parisc:defconfig,
> > for score:allnoconfig, and
> > for mn10300:defconfig.
>
> Thanks for the testing, much appreciated!
>
> >
> > While I agree that those should get fixed (if they are real problems,
> > especially the ones for parisc and mn10300), I don't think it is
> > a good idea to fail the build because of it.
>
> That's a tough one.. I think it's pretty bad in general to have some
> crufts in the ex_table referencing non-executable sections. Note that it
> will not make the build fail if the relocation _seems_ legit (jump to an
> executable section even though it's not part of the white-list) but in
> those cases, something really does look wrong and could potentially have a
> security impact so I thought the build failure was a good thing to do.
>
Hi Quentin,
Guess we have a different philosophy; mine is "do no harm".
> Now, if it's a problem in modpost (which is likely!), then obviously I'd be
> happy to try and help fix that!
>
> >
> > Note that I did find the problem in the score build; that was a real bug.
> > I don't know what may be wrong with the others.
>
> Cool! Mind CC'ing me to your fix, I'm curious :)
>
I'll do that.
> Regarding the others, if you've compiled them with debug information, you
> should be able to do some addr2line magic incantation to find the offending
> code. I've also added scripts/check_extable.sh which you might be able to
> use to get more details about the failures (or simply use the same logic in
> there to know where those maybe-wrong-relocations are coming from).
>
> I'm surprised/concerned that some sections appear to have no name though
> (indicating yet another bug in my modpost changes?).. If you can share the
> object files then I can have a look (and possibly help with the addr2line
> incantation).
>
I don't really have time to do that; please keep in mind that I am not getting
paid for this and do it in my free time. Both the parisc and mn10300 (am33)
tool chains are available from kernel.org; it should be straightforward to
install them and see yourself what is going on. Unlike score I did not find
the problem in those architectures with code inspection.
Thanks,
Guenter
On Wed, Apr 15, 2015 at 08:31:50AM -0700, Guenter Roeck wrote:
> On Wed, Apr 15, 2015 at 03:46:37PM +0200, Quentin Casasnovas wrote:
> > >
> > > While I agree that those should get fixed (if they are real problems,
> > > especially the ones for parisc and mn10300), I don't think it is
> > > a good idea to fail the build because of it.
> >
> > That's a tough one.. I think it's pretty bad in general to have some
> > crufts in the ex_table referencing non-executable sections. Note that it
> > will not make the build fail if the relocation _seems_ legit (jump to an
> > executable section even though it's not part of the white-list) but in
> > those cases, something really does look wrong and could potentially have a
> > security impact so I thought the build failure was a good thing to do.
> >
>
> Guess we have a different philosophy; mine is "do no harm".
>
Well I certainly did not intend to break any other architectures and do no
harm. Breaking the build early in case of security issue sounds like the
opposite of doing harm to me :) And it lead to you fixing a potential
unprivileged denial-of-service IIUC your score patch.
I am really sorry that it broke the build because of bugs in modpost
though.
>
> > Regarding the others, if you've compiled them with debug information, you
> > should be able to do some addr2line magic incantation to find the offending
> > code. I've also added scripts/check_extable.sh which you might be able to
> > use to get more details about the failures (or simply use the same logic in
> > there to know where those maybe-wrong-relocations are coming from).
> >
> > I'm surprised/concerned that some sections appear to have no name though
> > (indicating yet another bug in my modpost changes?).. If you can share the
> > object files then I can have a look (and possibly help with the addr2line
> > incantation).
> >
>
> I don't really have time to do that; please keep in mind that I am not getting
> paid for this and do it in my free time. Both the parisc and mn10300 (am33)
> tool chains are available from kernel.org; it should be straightforward to
> install them and see yourself what is going on. Unlike score I did not find
> the problem in those architectures with code inspection.
>
Sorry Guenter, it's just that you proposed your help earlier and as you had
the environment already configured I completely abused you! Thanks for the
report and testing.
I've had a look at parisc and I think I understand what happens. Unlike on
x86_64 where all relocations in __ex_table are internal, parisc can have
relocations in __ex_table to unresolved symbols, and the build system runs
modpost on those temporary objects, which the code does not handle well
since it was expecting a relocation to a section internal to the object.
I have a fix ready but will do more testing on other architectures before
sending it (I suspect it is the same issue).
Quentin
On Wed, Apr 15, 2015 at 06:26:58AM -0700, Guenter Roeck wrote:
> On 04/15/2015 01:54 AM, Quentin Casasnovas wrote:
> > The following two patches might (hopefully) fix the build breakage on score
> > and some other architectures. I've checked the new __ex_table checker
> > still works on x86-64 with them (it still detects an entry pointing to
> > .altinstr_rplacement) and they should apply cleanly on top of Rusty's
> > module-next branch.
> >
> > Thanks to Guenter for the bug analysis and sorry again for the breakage.
> >
> > Let me know if this makes things better..
> >
>
> the crash is fixed, but now I get
>
> FATAL: The relocation at __ex_table+0x4 references
> section "" which is not executable, IOW
> the kernel will fault if it ever tries to
> jump to it. Something is seriously wrong
> and should be fixed.
>
> for parisc:defconfig,
>
> FATAL: The relocation at __ex_table+0x634 references
> section "__ex_table" which is not executable, IOW
> the kernel will fault if it ever tries to
> jump to it. Something is seriously wrong
> and should be fixed.
>
> for score:allnoconfig, and
>
> FATAL: The relocation at __ex_table+0x8 references
> section "" which is not executable, IOW
> it is not possible for the kernel to fault
> at that address. Something is seriously wrong
> and should be fixed.
>
> for mn10300:defconfig.
>
> While I agree that those should get fixed (if they are real problems,
> especially the ones for parisc and mn10300), I don't think it is
> a good idea to fail the build because of it.
>
> Note that I did find the problem in the score build; that was a real bug.
> I don't know what may be wrong with the others.
>
The attached patch fixes the build failures on parisc and mn10300 on my
defconfig build and should apply cleanly on top of the previous two.
I'm not able to download the score cross toolchain for the moment but will
do tomorrow. Guenter, may I ask if there were any other problems than the
one you fixed in string.S there?
Quentin
On Wed, Apr 15, 2015 at 11:19:56PM +0200, Quentin Casasnovas wrote:
> On Wed, Apr 15, 2015 at 06:26:58AM -0700, Guenter Roeck wrote:
> > On 04/15/2015 01:54 AM, Quentin Casasnovas wrote:
> > > The following two patches might (hopefully) fix the build breakage on score
> > > and some other architectures. I've checked the new __ex_table checker
> > > still works on x86-64 with them (it still detects an entry pointing to
> > > .altinstr_rplacement) and they should apply cleanly on top of Rusty's
> > > module-next branch.
> > >
> > > Thanks to Guenter for the bug analysis and sorry again for the breakage.
> > >
> > > Let me know if this makes things better..
> > >
> >
> > the crash is fixed, but now I get
> >
> > FATAL: The relocation at __ex_table+0x4 references
> > section "" which is not executable, IOW
> > the kernel will fault if it ever tries to
> > jump to it. Something is seriously wrong
> > and should be fixed.
> >
> > for parisc:defconfig,
> >
> > FATAL: The relocation at __ex_table+0x634 references
> > section "__ex_table" which is not executable, IOW
> > the kernel will fault if it ever tries to
> > jump to it. Something is seriously wrong
> > and should be fixed.
> >
> > for score:allnoconfig, and
> >
> > FATAL: The relocation at __ex_table+0x8 references
> > section "" which is not executable, IOW
> > it is not possible for the kernel to fault
> > at that address. Something is seriously wrong
> > and should be fixed.
> >
> > for mn10300:defconfig.
> >
> > While I agree that those should get fixed (if they are real problems,
> > especially the ones for parisc and mn10300), I don't think it is
> > a good idea to fail the build because of it.
> >
> > Note that I did find the problem in the score build; that was a real bug.
> > I don't know what may be wrong with the others.
> >
>
> The attached patch fixes the build failures on parisc and mn10300 on my
> defconfig build and should apply cleanly on top of the previous two.
>
Hi Quentin,
I'll try to test the patch tonight.
> I'm not able to download the score cross toolchain for the moment but will
> do tomorrow. Guenter, may I ask if there were any other problems than the
> one you fixed in string.S there?
>
No, that was the only problem. Let me know if you can find a score toolchain -
otherwise I'll make a copy of mine available.
Thanks,
Guenter
On 04/15/2015 02:19 PM, Quentin Casasnovas wrote:
> On Wed, Apr 15, 2015 at 06:26:58AM -0700, Guenter Roeck wrote:
>> On 04/15/2015 01:54 AM, Quentin Casasnovas wrote:
>>> The following two patches might (hopefully) fix the build breakage on score
>>> and some other architectures. I've checked the new __ex_table checker
>>> still works on x86-64 with them (it still detects an entry pointing to
>>> .altinstr_rplacement) and they should apply cleanly on top of Rusty's
>>> module-next branch.
>>>
>>> Thanks to Guenter for the bug analysis and sorry again for the breakage.
>>>
>>> Let me know if this makes things better..
>>>
>>
>> the crash is fixed, but now I get
>>
>> FATAL: The relocation at __ex_table+0x4 references
>> section "" which is not executable, IOW
>> the kernel will fault if it ever tries to
>> jump to it. Something is seriously wrong
>> and should be fixed.
>>
>> for parisc:defconfig,
>>
>> FATAL: The relocation at __ex_table+0x634 references
>> section "__ex_table" which is not executable, IOW
>> the kernel will fault if it ever tries to
>> jump to it. Something is seriously wrong
>> and should be fixed.
>>
>> for score:allnoconfig, and
>>
>> FATAL: The relocation at __ex_table+0x8 references
>> section "" which is not executable, IOW
>> it is not possible for the kernel to fault
>> at that address. Something is seriously wrong
>> and should be fixed.
>>
>> for mn10300:defconfig.
>>
>> While I agree that those should get fixed (if they are real problems,
>> especially the ones for parisc and mn10300), I don't think it is
>> a good idea to fail the build because of it.
>>
>> Note that I did find the problem in the score build; that was a real bug.
>> I don't know what may be wrong with the others.
>>
>
> The attached patch fixes the build failures on parisc and mn10300 on my
> defconfig build and should apply cleanly on top of the previous two.
>
> I'm not able to download the score cross toolchain for the moment but will
> do tomorrow. Guenter, may I ask if there were any other problems than the
> one you fixed in string.S there?
>
For
>From 2e9abac9cbde18af48951c54d52c9c515f9883a7 Mon Sep 17 00:00:00 2001
From: Quentin Casasnovas <[email protected]>
Date: Wed, 15 Apr 2015 22:39:50 +0200
Subject: [PATCH] modpost: do not try to match the SHT_NUL section.
Tested-by: Guenter Roeck <[email protected]>
Guenter
Guenter Roeck <[email protected]> writes:
> >From 2e9abac9cbde18af48951c54d52c9c515f9883a7 Mon Sep 17 00:00:00 2001
> From: Quentin Casasnovas <[email protected]>
> Date: Wed, 15 Apr 2015 22:39:50 +0200
> Subject: [PATCH] modpost: do not try to match the SHT_NUL section.
>
> Tested-by: Guenter Roeck <[email protected]>
Thanks Guenter, for all your testing and feedback!
Applied (all 3)
Rusty.
On Wed, Apr 15, 2015 at 06:43:11PM -0700, Guenter Roeck wrote:
>
> For
>
> >From 2e9abac9cbde18af48951c54d52c9c515f9883a7 Mon Sep 17 00:00:00 2001
> From: Quentin Casasnovas <[email protected]>
> Date: Wed, 15 Apr 2015 22:39:50 +0200
> Subject: [PATCH] modpost: do not try to match the SHT_NUL section.
>
> Tested-by: Guenter Roeck <[email protected]>
>
Thanks a lot Guenter!
> Let me know if you can find a score toolchain - otherwise I'll make a copy
> of mine available.
I could not find one, if it's not too much trouble for you to make yours
available that'd be great.
Thanks,
Quentin
On 04/16/2015 01:21 AM, Quentin Casasnovas wrote:
> On Wed, Apr 15, 2015 at 06:43:11PM -0700, Guenter Roeck wrote:
>>
>> For
>>
>> >From 2e9abac9cbde18af48951c54d52c9c515f9883a7 Mon Sep 17 00:00:00 2001
>> From: Quentin Casasnovas <[email protected]>
>> Date: Wed, 15 Apr 2015 22:39:50 +0200
>> Subject: [PATCH] modpost: do not try to match the SHT_NUL section.
>>
>> Tested-by: Guenter Roeck <[email protected]>
>>
>
> Thanks a lot Guenter!
>
>> Let me know if you can find a score toolchain - otherwise I'll make a copy
>> of mine available.
>
> I could not find one, if it's not too much trouble for you to make yours
> available that'd be great.
>
Hi Quentin,
Try http://server.roeck-us.net/qemu/score.tgz. I have it installed in /opt/kernel,
and build the kernel with
PATH=/opt/kernel/score/bin:${PATH}
make ARCH=score CROSS_COMPILE=score-elf-
I don't recall if I built it position independent or not; you'll see.
Hope this helps,
Guenter
On Thu, Apr 16, 2015 at 05:47:08AM -0700, Guenter Roeck wrote:
> On 04/16/2015 01:21 AM, Quentin Casasnovas wrote:
> > On Wed, Apr 15, 2015 at 06:43:11PM -0700, Guenter Roeck wrote:
> >> Let me know if you can find a score toolchain - otherwise I'll make a copy
> >> of mine available.
> >
> > I could not find one, if it's not too much trouble for you to make yours
> > available that'd be great.
> >
>
> Hi Quentin,
Hi Guenter,
>
> Try http://server.roeck-us.net/qemu/score.tgz. I have it installed in /opt/kernel,
> and build the kernel with
>
> PATH=/opt/kernel/score/bin:${PATH}
> make ARCH=score CROSS_COMPILE=score-elf-
>
>
> Hope this helps,
It did, thanks a lot! I shouldn't be able to break score now.. :-)
Quentin
Hi Quentin,
it looks like there is another failure in linux-next, this time with sparc64:allmodconfig:
WARNING: arch/sparc/kernel/built-in.o(__ex_table+0x3b4): Section mismatch in reference from the (unknown reference) (unknown) to the variable :__retl_efault
/bin/sh: line 1: 22844 Floating point exception(core dumped) scripts/mod/modpost arch/sparc/kernel/built-in.o
The problem was previously hidden by a different build failure.
Guenter
On Fri, Apr 17, 2015 at 10:52:43PM -0700, Guenter Roeck wrote:
> Hi Quentin,
Hi Guenter,
>
> it looks like there is another failure in linux-next, this time with sparc64:allmodconfig:
>
> WARNING: arch/sparc/kernel/built-in.o(__ex_table+0x3b4): Section mismatch in reference from the (unknown reference) (unknown) to the variable :__retl_efault
> /bin/sh: line 1: 22844 Floating point exception(core dumped) scripts/mod/modpost arch/sparc/kernel/built-in.o
>
> The problem was previously hidden by a different build failure.
Thanks for letting me know, but I think this was fixed by the 3 earlier
patches Rusty already applied in it its tree. I can reproduce this on
ae46885 ("modpost: handle -ffunction-sections")
But it's fine on top of Rusty's modules-next (464f362).
Let me know if I'm missing something!
Thanks,
Quentin