Linux-Next discussions
 help / color / mirror / Atom feed
* linux-next: Tree for Aug 1
From: Stephen Rothwell @ 2017-08-01  7:37 UTC (permalink / raw)
  To: Linux-Next Mailing List; +Cc: Linux Kernel Mailing List

Hi all,

Changes since 20170731:

The rdma tree lost its build failure.

I reverted a commit from the staging tree that was causing overnight
build failures.

The akpm-current tree gained a build failure for which I applied a patch
and another for which I reverted a commit.

The akpm tree gained a conflict against the wberr tree.

There was a build error after the merging of the akpm trees which I have
left broken for today.

Non-merge commits (relative to Linus' tree): 3505
 3681 files changed, 120460 insertions(+), 57536 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 (with
CONFIG_BUILD_DOCSRC=n) for x86_64, a multi_v7_defconfig for arm and a
native build of tools/perf. After the final fixups (if any), I do an
x86_64 modules_install followed by builds for x86_64 allnoconfig,
powerpc allnoconfig (32 and 64 bit), ppc44x_defconfig, allyesconfig
and pseries_le_defconfig and i386, sparc and sparc64 defconfig. And
finally, a simple boot test of the powerpc pseries_le_defconfig kernel
in qemu.

Below is a summary of the state of the merge.

I am currently merging 267 trees (counting Linus' and 41 trees of bug
fix patches pending for the current merge release).

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

$ git checkout master
$ git reset --hard stable
Merging origin/master (2e7ca2064cbb Merge branch 'for-4.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup)
Merging fixes/master (b4b8cbf679c4 Cavium CNN55XX: fix broken default Kconfig entry)
Merging kbuild-current/fixes (ad8181060788 kconfig: fix sparse warnings in nconfig)
Merging arc-current/for-curr (37f1db0e85ff ARC: [plat-axs10x]: prepare dts files for enabling PAE40 on axs103)
Merging arm-current/fixes (ce184a0dee92 ARM: 8687/1: signal: Fix unparseable iwmmxt_sigframe in uc_regspace[])
Merging m68k-current/for-linus (204a2be30a7a m68k: Remove ptrace_signal_deliver)
Merging metag-fixes/fixes (b884a190afce metag/usercopy: Add missing fixups)
Merging powerpc-fixes/fixes (253fd51e2f53 powerpc/powernv/pci: Return failure for some uses of dma_set_mask())
Merging sparc/master (8cd3ec51c0c3 sbus: Convert to using %pOF instead of full_name)
Merging fscrypt-current/for-stable (42d97eb0ade3 fscrypt: fix renaming and linking special files)
Merging net/master (9975a54b3c9e bpf: fix bpf_prog_get_info_by_fd to dump correct xlated_prog_len)
Merging ipsec/master (e6194923237f esp: Fix memleaks on error paths.)
Merging netfilter/master (9beceb54fa2c netfilter: x_tables: Fix use-after-free in ipt_do_table.)
Merging ipvs/master (f7fb77fc1235 netfilter: nft_compat: check extension hook mask only if set)
Merging wireless-drivers/master (5f5d03143de5 brcmfmac: fix memleak due to calling brcmf_sdiod_sgtable_alloc() twice)
Merging mac80211/master (d7f13f745036 cfg80211: Validate frequencies nested in NL80211_ATTR_SCAN_FREQUENCIES)
Merging sound-current/for-linus (ba92b1142879 ALSA: hda - Add mute led support for HP ProBook 440 G4)
Merging pci-current/for-linus (16f73eb02d7e Linux 4.13-rc3)
Merging driver-core.current/driver-core-linus (5771a8c08880 Linux v4.13-rc1)
Merging tty.current/tty-linus (37ef38f3f838 tty: pl011: fix initialization order of QDF2400 E44)
Merging usb.current/usb-linus (45d73860530a usb: musb: fix tx fifo flush handling again)
Merging usb-gadget-fixes/fixes (520eccdfe187 Linux 4.13-rc2)
Merging usb-serial-fixes/usb-linus (9585e340db9f USB: serial: cp210x: add support for Qivicon USB ZigBee dongle)
Merging usb-chipidea-fixes/ci-for-usb-stable (cbb22ebcfb99 usb: chipidea: core: check before accessing ci_role in ci_role_show)
Merging phy/fixes (5771a8c08880 Linux v4.13-rc1)
Merging staging.current/staging-linus (cef988642cda staging: comedi: comedi_fops: do not call blocking ops when !TASK_RUNNING)
Merging char-misc.current/char-misc-linus (520eccdfe187 Linux 4.13-rc2)
Merging input-current/for-linus (293b915fd9be Input: trackpoint - assume 3 buttons when buttons detection fails)
Merging crypto-current/master (41cdf7a45389 crypto: authencesn - Fix digest_null crash)
Merging ide/master (921edf312a6a ide: avoid warning for timings calculation)
Merging vfio-fixes/for-linus (bb67b496c338 include/linux/vfio.h: Guard powerpc-specific functions with CONFIG_VFIO_SPAPR_EEH)
Merging kselftest-fixes/fixes (5771a8c08880 Linux v4.13-rc1)
Merging backlight-fixes/for-backlight-fixes (68feaca0b13e backlight: pwm: Handle EPROBE_DEFER while requesting the PWM)
Merging ftrace-fixes/for-next-urgent (6224beb12e19 tracing: Have branch tracer use recursive field of task struct)
Merging nand-fixes/nand/fixes (d4ed3b9015b5 mtd: nand: make nand_ooblayout_lp_hamming_ops static)
Merging spi-nor-fixes/spi-nor/fixes (5771a8c08880 Linux v4.13-rc1)
Merging mfd-fixes/for-mfd-fixes (9e69672e90cc dt-bindings: mfd: Update STM32 timers clock names)
Merging v4l-dvb-fixes/fixes (8033120f36c0 media: atomisp2: array underflow in imx_enum_frame_size())
Merging reset-fixes/reset/fixes (4497a224f759 reset: hi6220: Set module license so that it can be loaded)
Merging drm-intel-fixes/for-linux-next-fixes (16f73eb02d7e Linux 4.13-rc3)
Merging drm-misc-fixes/for-linux-next-fixes (99f828436788 dma-buf/sync_file: Allow multiple sync_files to wrap a single dma-fence)
Merging kbuild/for-next (5771a8c08880 Linux v4.13-rc1)
Merging uuid/for-next (832e4c83abc5 uuid: remove uuid_be)
Merging dma-mapping/for-next (878ec36765fa ARM: NOMMU: Wire-up default DMA interface)
Merging asm-generic/master (a351e9b9fc24 Linux 4.11)
Merging arc/for-next (6f8119230ed0 ARC: set boot print log level to PR_INFO)
Merging arm/for-next (640265076a84 Merge branches 'fixes' and 'misc' into for-next)
Merging arm-perf/for-next/perf (5771a8c08880 Linux v4.13-rc1)
Merging arm-soc/for-next (1d20d8a9fce8 ARM: pxa: select both FB and FB_W100 for eseries)
Merging actions/for-next (253d192bc4aa Merge branch 'v4.14/dt' into next)
Merging alpine/alpine/for-next (a1144b2b1ec4 ARM: dts: alpine: add valid clock-frequency values)
Merging amlogic/for-next (8c31a9e33516 Merge branch 'v4.14/drivers' into tmp/aml-rebuild)
Merging aspeed/for-next (4944e5dbb215 Merge branches 'dt-for-v4.12' and 'defconfig-for-v4.12' into for-next)
Merging at91/at91-next (01c1fe77824e Merge branch 'at91-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into at91-next)
Merging bcm2835/for-next (389c81b7e7ae Merge branch anholt/bcm2835-defconfig-next into for-next)
Merging berlin/berlin/for-next (5153351425c9 Merge branch 'berlin/dt' into berlin/for-next)
Merging cortex-m/for-next (f719a0d6a854 ARM: efm32: switch to vendor,device compatible strings)
Merging imx-mxs/for-next (83bf680264c1 Merge branch 'zte/dt64' into for-next)
Merging keystone/next (fb1a6241a46e Merge branch 'for_4.14/keystone_dts' into next)
Merging mvebu/for-next (fd63b625307d Merge branch 'mvebu/dt64' into mvebu/for-next)
Merging omap/for-next (191ae5a41246 Merge branch 'omap-for-v4.14/debug-ll' into for-next)
Merging omap-pending/for-next (c20c8f750d9f ARM: OMAP2+: hwmod: fix _idle() hwmod state sanity check sequence)
Merging reset/reset/next (e0be864f1424 ARC: reset: introduce HSDKv1 reset driver)
CONFLICT (content): Merge conflict in MAINTAINERS
Merging qcom/for-next (c3c9fffc9384 soc: qcom: mdt_loader: Use request_firmware_into_buf())
Merging realtek/for-next (5771a8c08880 Linux v4.13-rc1)
Merging renesas/next (77c3d7971bba Merge branches 'fixes-for-v4.13', 'arm64-dt-for-v4.14', 'arm64-defconfig-for-v4.14', 'defconfig-for-v4.14', 'drivers-for-v4.14', 'dt-bindings-for-v4.14', 'dt-for-v4.14' and 'soc-for-v4.14' into next)
Merging rockchip/for-next (29a737be1eab Merge branch 'v4.14-armsoc/dts64' into for-next)
Merging rpi/for-rpi-next (bc0195aad0da Linux 4.2-rc2)
Merging samsung/for-next (2ea659a9ef48 Linux 4.12-rc1)
Merging samsung-krzk/for-next (4157348c49de Merge branch 'next/dt' into for-next)
Merging sunxi/sunxi/for-next (8a34f6719024 Merge branch 'sunxi/clk-fixes-for-4.13' into sunxi/for-next)
Merging tegra/for-next (20e72aa386b0 Merge branch for-4.14/arm/defconfig into for-next)
Merging arm64/for-next/core (425e1ed73e65 arm64: fix endianness annotation for 'struct jit_ctx' and friends)
Merging clk/clk-next (1667393126d7 clk: Convert to using %pOF instead of full_name)
CONFLICT (content): Merge conflict in MAINTAINERS
Merging c6x/for-linux-next (eab89e215ae4 c6x: defconfig: Cleanup from old Kconfig options)
Merging cris/for-next (8f50f2a1b46a cris: No need to append -O2 and $(LINUXINCLUDE))
Merging h8300/h8300-next (58c57526711f h8300: Add missing include file to asm/io.h)
Merging hexagon/linux-next (02cc2ccfe771 Revert "Hexagon: fix signal.c compile error")
Merging ia64/next (fbb0e4da96f4 ia64: salinfo: use a waitqueue instead a sema down/up combo)
Merging m68k/for-next (204a2be30a7a m68k: Remove ptrace_signal_deliver)
Merging m68knommu/for-next (8f7657c37322 m68k: allow NULL clock for clk_get_rate)
Merging metag/for-next (e3cd7f013bac metag/mm: Drop pointless increment)
Merging microblaze/next (14ef905bb2ee microblaze: Fix MSR flags when returning from exception)
Merging mips/mips-for-linux-next (e36f14f04d11 Merge branch '4.13-fixes' into mips-for-linux-next)
Merging nios2/for-next (e118c3fec9c0 nios2: remove custom early console implementation)
Merging openrisc/for-next (9d15eb228b10 openrisc: defconfig: Cleanup from old Kconfig options)
Merging parisc-hd/for-next (74ad3d28af21 parisc: Define CONFIG_CPU_BIG_ENDIAN)
Merging powerpc/next (f74c89bd80fb powerpc/perf: Add thread IMC PMU support)
Merging fsl/next (61baf1555512 powerpc/64e: Don't place the stack beyond TASK_SIZE)
Merging mpc5xxx/next (39e69f55f857 powerpc: Introduce the use of the managed version of kzalloc)
Merging s390/features (dd783b4c7bf6 Merge tag 'vfio-ccw-20170724' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/vfio-ccw into features)
Merging sparc-next/master (cb8c65ccff7f Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc)
Merging sh/for-next (6e2fbfdd585f sh: fix futex FUTEX_OP_SET op on userspace addresses)
Merging tile/master (637f23abca87 tile: array underflow in setup_maxnodemem())
Merging uml/linux-next (61e8d462457f um: Correctly check for PTRACE_GETRESET/SETREGSET)
Merging unicore32/unicore32 (bc27113620ca unicore32-oldabi: add oldabi syscall interface)
CONFLICT (content): Merge conflict in arch/unicore32/include/asm/Kbuild
Merging xtensa/xtensa-for-next (51b5e9756efd Merge branch 'xtensa-fixes' into xtensa-for-next)
Merging fscrypt/master (c250b7dd8e73 fscrypt: make ->dummy_context() return bool)
Merging befs/for-next (5771a8c08880 Linux v4.13-rc1)
Merging btrfs/next (8b8b08cbfb90 Btrfs: fix delalloc accounting after copy_from_user faults)
Merging btrfs-kdave/for-next (3497efbab8dc Merge branch 'for-next-next-v4.14-20170728' into for-next-20170728)
CONFLICT (content): Merge conflict in fs/btrfs/scrub.c
CONFLICT (content): Merge conflict in fs/btrfs/extent_io.c
Merging ceph/master (08f71ae74acc ceph: use errseq_t for writeback error reporting)
Merging cifs/for-next (235b84fc862a Merge branch 'i2c/for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux)
Merging configfs/for-next (19e72d3abb63 configfs: Introduce config_item_get_unless_zero())
Merging ecryptfs/next (be280b25c328 ecryptfs: remove private bin2hex implementation)
Merging ext3/for_next (84969465ddc4 hfsplus: Don't clear SGID when inheriting ACLs)
Merging ext4/dev (9c5d58fb9e1d ext4: convert swap_inode_data() over to use swap() on most of the fields)
Merging f2fs/dev (1766871af8a0 f2fs: support project quota)
Merging freevxfs/for-next (bf1bb4b460c8 freevxfs: update Kconfig information)
Merging fscache/fscache (d52bd54db8be Merge branch 'akpm' (patches from Andrew))
Merging fuse/for-next (68227c03cba8 fuse: initialize the flock flag in fuse_file on allocation)
Merging jfs/jfs-next (f070e5ac9bc7 jfs: preserve i_mode if __jfs_set_acl() fails)
Merging nfs/linux-next (16f73eb02d7e Linux 4.13-rc3)
Merging nfsd/nfsd-next (b20dae70bfa5 svcrdma: fix an incorrect check on -E2BIG and -EINVAL)
Merging orangefs/for-next (2f713b5c7d2a orangefs: count directory pieces correctly)
Merging overlayfs/overlayfs-next (0e082555cec9 ovl: check for bad and whiteout index on lookup)
Merging v9fs/for-next (a333e4bf2556 fs/9p: use fscache mutex rather than spinlock)
Merging ubifs/linux-next (a6664433d383 ubifs: Set double hash cookie also for RENAME_EXCHANGE)
Merging xfs/for-next (cd87d8679201 xfs: don't crash on unexpected holes in dir/attr btrees)
Merging file-locks/locks-next (3953704fde7e locks: restore a warn for leaked locks on close)
Merging wberr/wberr-next (5bb05d221954 fs: convert a pile of fsync routines to errseq_t based reporting)
Merging vfs/for-next (66bf97967726 annotate RWF_... flags)
Merging vfs-jk/vfs (030b533c4fd4 fs: Avoid premature clearing of capabilities)
Merging vfs-miklos/next (0eb8af4916a5 vfs: use helper for calling f_op->fsync())
Merging printk/for-next (5a814231ae3d printk/console: Enhance the check for consoles using init memory)
Merging pci/next (16f73eb02d7e Linux 4.13-rc3)
Merging pstore/for-next/pstore (520eccdfe187 Linux 4.13-rc2)
Merging hid/for-next (40e5101b9018 Merge branch 'for-4.13/upstream-fixes' into for-next)
Merging i2c/i2c/for-next (ba1f668f388c Merge branch 'i2c/for-4.14' into i2c/for-next)
Merging jdelvare-hwmon/master (08d27eb20666 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs)
Merging dmi/master (f996c4155d0d dmi: Mark all struct dmi_system_id instances const)
Merging hwmon-staging/hwmon-next (2732fc0ffb35 hwmon: (i5k_amb) constify pci_device_id)
Merging jc_docs/docs-next (bc7938deaca7 docs: submitting-patches - change non-ascii character to ascii)
Merging v4l-dvb/master (da48c948c263 media: fix warning on v4l2_subdev_call() result interpreted as bool)
Merging v4l-dvb-next/master (474dfccf3685 media: svg: avoid too long lines)
Merging fbdev/fbdev-for-next (dd0c41f8a7e0 efifb: allow user to disable write combined mapping.)
Merging pm/linux-next (48851d0f2b7a Merge branch 'device-properties' into linux-next)
Merging idle/next (306899f94804 x86 tsc: Add the Intel Denverton Processor to native_calibrate_tsc())
Merging thermal/next (5d72ed35678a Merge branches 'thermal-core', 'thermal-intel' and 'thermal-soc' into next)
Merging thermal-soc/next (aa647852c32a Merge branch 'work-linus' into work-next)
Merging ieee1394/for-next (72f3c27aa646 firewire: net: max MTU off by one)
Merging dlm/next (e94d6f64e7ba dlm: print log message when cluster name is not set)
Merging swiotlb/linux-next (69369f52d28a swiotlb-xen: implement xen_swiotlb_get_sgtable callback)
Merging net-next/master (1f139ed9ec40 ipv6: Avoid going through ->sk_net to access the netns)
Merging ipsec-next/master (8bafd73093f2 xfrm: add UDP encapsulation port in migrate message)
Merging netfilter-next/master (4d3a57f23dec netfilter: conntrack: do not enable connection tracking unless needed)
Merging nfc-next/master (bd751808f9ff NFC: trf7970a: Correct register settings for 27MHz clock)
Merging ipvs-next/master (a910d20aa007 netfilter: ipvs: Fix space before '[' error.)
Merging wireless-drivers-next/master (d28ac7be15c7 rtlwifi: rtl8821ae: Fix HW_VAR_NAV_UPPER operation)
Merging bluetooth/master (fb776481c4ff Bluetooth: hci_uart: Fix uninitialized alignment value)
Merging mac80211-next/master (3dc02251f43f Merge branch 'skb-accessor-cleanups')
Merging rdma/for-next (913cc67159bc IB/hfi1: Always perform offline transition)
Merging gfs2/for-next (4676743ded4d GFS2: Delete debugfs files only after we evict the glocks)
Merging mtd/master (5771a8c08880 Linux v4.13-rc1)
Merging l2-mtd/master (1fbef470f369 mtd: mtdswap: remove unused variables 'dev' and 'gd')
Merging nand/nand/next (81667e9c8ad8 mtd: nand: mtk: release lock on error path)
Merging spi-nor/spi-nor/next (f384b352cbf0 mtd: spi-nor: parse Serial Flash Discoverable Parameters (SFDP) tables)
Merging crypto/master (e28c190db668 csrypto: ccp - Expand RSA support for a v5 ccp)
Merging drm/drm-next (e6742e1021a5 drm: linux-next: build failure after merge of the drm-misc tree)
CONFLICT (content): Merge conflict in drivers/gpu/drm/nouveau/nv50_display.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_pm.c
Merging drm-panel/drm/panel/for-next (e4bac408b084 drm/panel: simple: Add support for Winstar WF35LTIACD)
Merging drm-intel/for-linux-next (d0604a24d4e4 drm/i915: Update DRIVER_DATE to 20170731)
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_display.c
Merging drm-tegra/drm/tegra/for-next (43240bbd871e gpu: host1x: At first try a non-blocking allocation for the gather copy)
Merging drm-misc/for-linux-next (3792b7c1a708 dma-buf/sw_sync: clean up list before signaling the fence)
Merging drm-exynos/exynos-drm/for-next (7d1e04231461 Merge tag 'usercopy-v4.8-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux)
Merging drm-msm/msm-next (4a630fadbb29 drm/msm: Fix potential buffer overflow issue)
Merging hdlcd/for-upstream/hdlcd (fee4964f0a6c drm/arm: hdlcd: remove unused variables)
Merging mali-dp/for-upstream/mali-dp (e40eda3dda1e drm/arm: mali-dp: Use CMA helper for plane buffer address calculation)
Merging sunxi-drm/sunxi-drm/for-next (7dafb83edd32 Merge branches 'sunxi/drm-fixes-for-4.13' and 'sunxi/drm-for-4.14' into sunxi-drm/for-next)
Merging imx-drm/imx-drm/next (790cb4c7c954 drm/imx: lock scanout transfers for consecutive bursts)
Merging etnaviv/etnaviv/next (8cc47b3ea082 drm/etnaviv: populate GEM objects on cpu_prep)
Merging kconfig/for-next (6f7da290413b Linux 4.12)
Merging regmap/for-next (a7c33d98535c Merge remote-tracking branch 'regmap/topic/namespace' into regmap-next)
Merging sound/for-next (6c5a266029cc ALSA: hda: constify pci_device_id.)
Merging sound-asoc/for-next (e7faf583e2a9 Merge remote-tracking branches 'asoc/topic/twl6040', 'asoc/topic/wm8524', 'asoc/topic/wm8804' and 'asoc/topic/zte' into asoc-next)
Merging modules/modules-next (0bf8bf50eddc module: Remove const attribute from alias for MODULE_DEVICE_TABLE)
Merging input/next (4323418d62fe Input: sur40 - skip all blobs that are not touches)
Merging block/for-next (b2a5b74635f9 Merge branch 'for-4.14/block' into for-next)
Merging lightnvm/for-next (1c6286f26301 lightnvm: fix some error code in pblk-init.c)
Merging device-mapper/for-next (2298b6212f1c dm ioctl: constify ioctl lookup table)
Merging pcmcia/master (e8e68fd86d22 pcmcia: do not break rsrc_nonstatic when handling anonymous cards)
Merging mmc/next (bb1407c0df2c Merge branch 'fixes' into next)
Merging kgdb/kgdb-next (7a6653fca500 kdb: Fix handling of kallsyms_symbol_next() return value)
Merging md/for-next (bd48ff8a3c91 md: replace seq_release_private with seq_release)
Merging mfd/for-mfd-next (48a14b9f0cc6 mfd: max8998: Fix potential NULL pointer dereference)
Merging backlight/for-backlight-next (8c03a937ca99 backlight: pwm_bl: Make of_device_ids const)
Merging battery/for-next (67bd22c09ac1 power: supply: bq27xxx: move platform driver code into bq27xxx_battery_hdq.c)
Merging omap_dss2/for-next (c456a2f30de5 video: smscufx: remove unused variable)
Merging regulator/for-next (4e1896446b8d Merge remote-tracking branches 'regulator/topic/cpcap', 'regulator/topic/dt', 'regulator/topic/fan53555', 'regulator/topic/pwm' and 'regulator/topic/qcom' into regulator-next)
Merging security/next (be6f039747e7 security: fix description of values returned by cap_inode_need_killpriv)
Merging integrity/next (fc26bd50539b IMA: update IMA policy documentation to include pcr= option)
Merging keys/keys-next (8ab2a6905b28 KEYS: Add documentation for asymmetric keyring restrictions)
Merging selinux/next (20a8d62eeff8 selinux: genheaders should fail if too many permissions are defined)
Merging tpmdd/next (e7d872bf1bc5 Documentation: tpm: add powered-while-suspended binding documentation)
Merging watchdog/master (c013b65ad8a1 watchdog: introduce watchdog_worker_should_ping helper)
Merging iommu/next (4f019dc5a68e Merge branches 'iommu/fixes', 'arm/exynos', 'arm/renesas', 'arm/rockchip', 'x86/vt-d' and 'core' into next)
Merging dwmw2-iommu/master (910170442944 iommu/vt-d: Fix PASID table allocation)
Merging vfio/next (7f56c30bd0a2 vfio: Remove unnecessary uses of vfio_container.group_lock)
Merging trivial/for-next (6fbc8798d946 tty: fix comment for __tty_alloc_driver())
Merging audit/next (739bde1f2229 selinux: remove AVC init audit log message)
Merging devicetree/for-next (b041303c3e88 Merge branch 'dt/linus' into for-next)
Merging mailbox/mailbox-for-next (25bfee16d5a3 mailbox: Introduce Qualcomm APCS IPC driver)
Merging spi/for-next (b88c58644bcb Merge remote-tracking branches 'spi/topic/stm32', 'spi/topic/sunxi', 'spi/topic/tegra' and 'spi/topic/tools' into spi-next)
Merging tip/auto-latest (69779ccbf624 Merge branch 'x86/urgent')
Merging clockevents/clockevents/next (2287d8664fe7 timers: Make the cpu base lock raw)
Merging edac/linux_next (345fb0a9a634 Merge tag 'edac_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp)
Merging edac-amd/for-next (2efdda4a4108 EDAC, cpc925, ppc4xx: Convert to using %pOF instead of full_name)
Merging irqchip/irqchip/for-next (c1ae3cfa0e89 Linux 4.11-rc1)
Merging ftrace/for-next (2e028c4fe129 ftrace: Fix uninitialized variable in match_records())
Merging rcu/rcu/next (0904659d8f09 membarrier: Expedited private command)
CONFLICT (content): Merge conflict in arch/x86/mm/tlb.c
Merging kvm/linux-next (7b5e0a4e82bf Merge branch 'kvm-ppc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc into kvm-master)
Merging kvm-arm/next (7e5a672289c9 KVM: arm/arm64: Handle hva aging while destroying the vm)
Merging kvm-mips/next (dc44abd6aad2 KVM: MIPS/Emulate: Properly implement TLBR for T&E)
Merging kvm-ppc/kvm-ppc-next (8b24e69fc47e KVM: PPC: Book3S HV: Close race with testing for signals on guest entry)
Merging kvms390/next (5091d7c8ca2d KVM: s390: Multiple Epoch Facility support)
Merging xen-tip/linux-next (e91b2b119433 xen: dont fiddle with event channel masking in suspend/resume)
Merging percpu/for-next (5e81ee3e6a79 percpu: update header to contain bitmap allocator explanation.)
Merging workqueues/for-next (5dab90af0906 Merge branch 'for-4.13-fixes' into for-next)
Merging drivers-x86/for-next (972777171f33 platform/x86: wmi: Fix error handling in acpi_wmi_init())
Merging chrome-platform/for-next (3c778a7fcfaa platform/chrome : Add myself as Maintainer)
Merging hsi/for-next (67ddd75771b6 HSI: core: Use kcalloc() in two functions)
Merging leds/for-next (c68729119f4d leds: tlc591xx: add missing of_node_put)
Merging ipmi/for-next (8c3cbb96adf6 char: ipmi: eliminate misleading print info when being probed via ACPI)
Merging driver-core/driver-core-next (1af824f085e8 Merge branch 'bind_unbind' into driver-core-next)
Merging usb/usb-next (e978e9b977b0 c67x00-hcd: constify hc_driver structures)
Merging usb-gadget/next (5771a8c08880 Linux v4.13-rc1)
Merging usb-serial/usb-next (5771a8c08880 Linux v4.13-rc1)
Merging usb-chipidea-next/ci-for-usb-next (7c3a8b81503c usb: chipidea: core: do not register extcon notifier if extcon device is not existed)
Merging phy-next/next (e7cded272612 phy: allwinner: phy-sun4i-usb: Add log when probing)
Merging tty/tty-next (065ea0a7afd6 tty: improve tty_insert_flip_char() slow path)
Merging char-misc/char-misc-next (24a81a2c2581 Merge 4.13-rc2 into char-misc-next)
Merging extcon/extcon-next (5c27036d2b05 extcon: Convert to using %pOF instead of full_name)
Merging staging/staging-next (5551ad1e9fad staging: wlan-ng: Fix the types of the hfa384x_comm_tallies_16/32 members)
Applying: Revert "staging: fsl-mc: allow the driver compile multi-arch"
Merging mux/for-next (a351e9b9fc24 Linux 4.11)
Merging slave-dma/next (d4381f3cff0b Merge branch 'topic/bcm' into next)
Merging cgroup/for-next (dba9eccd4164 Merge branch 'for-4.14' into for-next)
Merging scsi/for-next (0dbbec278e24 Merge branch 'misc' into for-next)
Merging scsi-mkp/for-next (bb9be3739281 scsi: qla2xxx: Fix remoteport disconnect for FC-NVMe)
Merging target-updates/for-next (40435d86a62f tcmu: clean up the scatter helper)
Merging target-merge/for-next-merge (2994a7518317 cxgb4: update Kconfig and Makefile)
Merging target-bva/for-next (2ea659a9ef48 Linux 4.12-rc1)
Merging libata/for-next (1fa69733bc9d Merge branch 'for-4.13-fixes' into for-next)
Merging binfmt_misc/for-next (4af75df6a410 binfmt_misc: add F option description to documentation)
Merging vhost/linux-next (cfa0ebc9d6d6 virtio-net: fix module unloading)
Merging rpmsg/for-next (5771a8c08880 Linux v4.13-rc1)
Merging gpio/for-next (8d2c6297aec9 Merge branch 'devel' into for-next)
CONFLICT (content): Merge conflict in drivers/gpio/gpio-mvebu.c
Merging pinctrl/for-next (ece5946c2eed Merge branch 'devel' into for-next)
Merging pinctrl-samsung/for-next (bbed85f45b2b pinctrl: samsung: Remove unneeded local variable initialization)
Merging pwm/for-next (5ec8c48a6235 Merge branch 'for-4.13/drivers' into for-next)
Merging dma-buf/for-next (194cad44c4e1 dma-buf/sync_file: improve Kconfig description for Sync Files)
CONFLICT (content): Merge conflict in drivers/dma-buf/Kconfig
Merging userns/for-next (64a76d0d64be signal: Fix sending signals with siginfo)
Merging ktest/for-next (f7c6401ff84a ktest: Make sure wait_for_input does honor the timeout)
Merging random/dev (72e5c740f633 random: reorder READ_ONCE() in get_random_uXX)
Merging aio/master (4c1d69950da4 fs: aio: fix the increment of aio-nr and counting against aio-max-nr)
Merging kselftest/next (f471e1fd82df selftests: sync: convert to use TAP13 ksft framework)
Merging y2038/y2038 (69973b830859 Linux 4.9)
Merging luto-misc/next (2dcd0af568b0 Linux 4.6)
Merging borntraeger/linux-next (e76d21c40bd6 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net)
Merging livepatching/for-next (26d8d1e9bb48 Merge branch 'for-4.12/upstream-fixes' into for-next)
Merging coresight/next (ee0c4a55a06c perf: cs-etm: Fix ETMv4 CONFIGR entry in perf.data file)
Merging rtc/rtc-next (2f7f1b780dd6 rtc: max8925: remove redundant check on ret)
Merging hwspinlock/for-next (bd5717a4632c hwspinlock: qcom: Correct msb in regmap_field)
Merging nvdimm/libnvdimm-for-next (bbb3be170ac2 device-dax: fix sysfs duplicate warnings)
Merging dax-misc/dax-misc (4d9a2c874667 dax: Remove i_mmap_lock protection)
Merging idr/idr-4.11 (f0f3f2d0a3e0 radix tree test suite: Specify -m32 in LDFLAGS too)
Merging kspp/for-next/kspp (152b74676664 randstruct: Enable function pointer struct detection)
Merging akpm-current/current (ad7a3f950f52 ipc: convert kern_ipc_perm.refcount from atomic_t to refcount_t)
Applying: mm: treewide: remove GFP_TEMPORARY allocation flag fix
$ git checkout -b akpm remotes/origin/akpm/master
Applying: mm: remove optimizations based on i_size in mapping writeback waits
CONFLICT (content): Merge conflict in include/linux/fs.h
Applying: fscache: fix fscache_objlist_show format processing
Applying: IB/mlx4: fix sprintf format warning
Applying: iopoll: avoid -Wint-in-bool-context warning
Applying: Kbuild: use -fshort-wchar globally
Applying: sparc64: NG4 memset 32 bits overflow
Applying: lib/crc-ccitt: add CCITT-FALSE CRC16 variant
Merging akpm/master (dfa5d8a30b13 lib/crc-ccitt: add CCITT-FALSE CRC16 variant)
Applying: Revert "mm-thp-enable-thp-migration-in-generic-path-fix"

^ permalink raw reply

* Re: linux-next: build failure in the staging tree (Was: kisskb: FAILED linux-next/s390-allmodconfig/s390x Mon Jul 31, 17:24)
From: Laurentiu Tudor @ 2017-08-01  8:29 UTC (permalink / raw)
  To: Greg KH
  Cc: Stephen Rothwell, heiko.carstens@de.ibm.com,
	Linux-Next Mailing List, LKML
In-Reply-To: <20170731155850.GD1262@kroah.com>



On 07/31/2017 06:58 PM, Greg KH wrote:
> On Mon, Jul 31, 2017 at 09:55:14AM +0000, Laurentiu Tudor wrote:
>> Hi Stephen,
>>
>> That's because the fsl-mc driver selects GENERIC_MSI_IRQ_DOMAIN and not
>> all arches implement the support for the option. I can submit a patch
>> that adds explicit dependencies on arches that it was build-tested (x86,
>> arm, powerpc, all both 32 and 64 bits) similar to how it's done here
>> [1]. Let me know if you're ok with this fix and i'll submit the fix to
>> staging.
>
> Ugh, you should not be selecting that option, but rather depending on
> the option, right?

All users in the kernel use "select", so i don't think so. An 
interesting use that adds explicit dependencies on architectures can be
seen here [1], in the generic code. I've proposed a patch [2] that does 
a similar thing for mc-bus. I think it's a good approach as it keeps 
things under control by explicitly specifying the architectures on which
the driver was compile-tested.

---
Best Regards, Laurentiu

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pci/Kconfig#n28
[2] https://patchwork.kernel.org/patch/9871861/

^ permalink raw reply

* Re: linux-next: build failure after merge of the akpm-current tree
From: Stephen Rothwell @ 2017-08-01 10:50 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Zi Yan
In-Reply-To: <20170801163904.7d49881a@canb.auug.org.au>

Hi all,

On Tue, 1 Aug 2017 16:39:04 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the akpm tree, today's linux-next build (sparc defconfig)
> failed like this:
> 
> In file included from mm/vmscan.c:55:0:
> include/linux/swapops.h: In function 'swp_entry_to_pmd':
> include/linux/swapops.h:226:9: error: implicit declaration of function '__pmd' [-Werror=implicit-function-declaration]
>   return __pmd(0);
>          ^
> include/linux/swapops.h:226:9: error: incompatible types when returning type 'int' but 'pmd_t {aka struct <anonymous>}' was expected
> 
> Caused by commit
> 
>   9bb18490758c ("mm-thp-enable-thp-migration-in-generic-path-fix")
> 
> It looks like sparc 32 bit has no __pmd() ...
> 
> I have reverted that commit for today.

OK, that is a pain as it causes many build warnings some of which are
treated as errors :-(  (see e.g.
http://kisskb.ellerman.id.au/kisskb/buildresult/13112192/).  So maybe
we need to fix sthe sparc32 build instead?  Are there any other
architectures/platforms that do not define __pmd() ?

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply

* Re: linux-next: manual merge of the akpm tree with the wberr tree
From: Jeff Layton @ 2017-08-01 10:59 UTC (permalink / raw)
  To: Stephen Rothwell, Andrew Morton
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List
In-Reply-To: <20170801154634.0a01acdc@canb.auug.org.au>

On Tue, 2017-08-01 at 15:46 +1000, Stephen Rothwell wrote:
> Hi Andrew,
> 
> Today's linux-next merge of the akpm-current tree got a conflict in:
> 
>   include/linux/fs.h
> 
> between commit:
> 
>   9dcc0577f2a4 ("mm: remove optimizations based on i_size in mapping writeback waits")
> 
> from the wberr tree and patch:
> 
>   "mm: remove optimizations based on i_size in mapping writeback waits"
> 
> from the akpm tree.
> 
> I fixed it up (I just dropped the akpm tree patch) and can carry the
> fix as necessary. This is now fixed as far as linux-next is concerned,
> but any non trivial conflicts should be mentioned to your upstream
> maintainer when your tree is submitted for merging.  You may also want
> to consider cooperating with the maintainer of the conflicting tree to
> minimise any particularly complex conflicts.
> 

I didn't realize that Andrew was going to pick that one up. I'll drop it
from my tree.

Thanks!
-- 
Jeff Layton <jlayton@poochiereds.net>

^ permalink raw reply

* Re: linux-next: build failure after merge of the akpm-current tree
From: Zi Yan @ 2017-08-01 11:30 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Andrew Morton, Linux-Next Mailing List, Linux Kernel Mailing List
In-Reply-To: <20170801205054.17c8579f@canb.auug.org.au>

[-- Attachment #1: Type: text/plain, Size: 2118 bytes --]

Hi Stephen,

The warning after removing __pmd() is caused by a gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
so (pmd_t) {0} causes warning in some GCC versions.

__pmd() is defined in alpha, arm, arm64, frv, ia64, m32r, m68k, microblaze, mips, parisc,
powerpc, s390, sh, sparc, tile, um, x86, and asm-generic, according to
http://elixir.free-electrons.com/linux/latest/ident/__pmd

I am not sure about whether arc, blackfin, c6x, cris, h8300, hexagon, metag, mn10300, nios2, score,
xtensa use __pmd() in asm-generic or not.

I am looking for other workarounds for this warning now.


—
Best Regards,
Yan Zi

On 1 Aug 2017, at 6:50, Stephen Rothwell wrote:

> Hi all,
>
> On Tue, 1 Aug 2017 16:39:04 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>>
>> After merging the akpm tree, today's linux-next build (sparc defconfig)
>> failed like this:
>>
>> In file included from mm/vmscan.c:55:0:
>> include/linux/swapops.h: In function 'swp_entry_to_pmd':
>> include/linux/swapops.h:226:9: error: implicit declaration of function '__pmd' [-Werror=implicit-function-declaration]
>>   return __pmd(0);
>>          ^
>> include/linux/swapops.h:226:9: error: incompatible types when returning type 'int' but 'pmd_t {aka struct <anonymous>}' was expected
>>
>> Caused by commit
>>
>>   9bb18490758c ("mm-thp-enable-thp-migration-in-generic-path-fix")
>>
>> It looks like sparc 32 bit has no __pmd() ...
>>
>> I have reverted that commit for today.
>
> OK, that is a pain as it causes many build warnings some of which are
> treated as errors :-(  (see e.g.
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkisskb.ellerman.id.au%2Fkisskb%2Fbuildresult%2F13112192%2F&data=02%7C01%7Czi.yan%40cs.rutgers.edu%7Cbf7a7ad57ad04505172f08d4d8cb31c5%7Cb92d2b234d35447093ff69aca6632ffe%7C1%7C0%7C636371814609835949&sdata=diTid245prNY3Jy1pPEaL5q8dSBifFVzliKRq54fXhk%3D&reserved=0).  So maybe
> we need to fix sthe sparc32 build instead?  Are there any other
> architectures/platforms that do not define __pmd() ?
>
> -- 
> Cheers,
> Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 496 bytes --]

^ permalink raw reply

* Re: linux-next: manual merge of the akpm tree with the wberr tree
From: Jeff Layton @ 2017-08-01 11:31 UTC (permalink / raw)
  To: Stephen Rothwell, Andrew Morton
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List
In-Reply-To: <1501585159.4702.0.camel@poochiereds.net>

On Tue, 2017-08-01 at 06:59 -0400, Jeff Layton wrote:
> On Tue, 2017-08-01 at 15:46 +1000, Stephen Rothwell wrote:
> > Hi Andrew,
> > 
> > Today's linux-next merge of the akpm-current tree got a conflict in:
> > 
> >   include/linux/fs.h
> > 
> > between commit:
> > 
> >   9dcc0577f2a4 ("mm: remove optimizations based on i_size in mapping writeback waits")
> > 
> > from the wberr tree and patch:
> > 
> >   "mm: remove optimizations based on i_size in mapping writeback waits"
> > 
> > from the akpm tree.
> > 
> > I fixed it up (I just dropped the akpm tree patch) and can carry the
> > fix as necessary. This is now fixed as far as linux-next is concerned,
> > but any non trivial conflicts should be mentioned to your upstream
> > maintainer when your tree is submitted for merging.  You may also want
> > to consider cooperating with the maintainer of the conflicting tree to
> > minimise any particularly complex conflicts.
> > 
> 
> I didn't realize that Andrew was going to pick that one up. I'll drop it
> from my tree.
> 
> Thanks!

Actually, I take it back. Jan had some comments about the commit message
and I'd like to revise this. Andrew, do you mind dropping this patch
instead?

Thanks,
-- 
Jeff Layton <jlayton@poochiereds.net>

^ permalink raw reply

* Re: linux-next: Tree for Aug 1
From: Sergey Senozhatsky @ 2017-08-01 12:42 UTC (permalink / raw)
  To: Arnd Bergmann, Greg Kroah-Hartman
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
	Stephen Rothwell, Sergey Senozhatsky, Sergey Senozhatsky
In-Reply-To: <20170801173746.6962444d@canb.auug.org.au>

Hello,


seems that commit 979990c6284814617 ("tty: improve tty_insert_flip_char()
fast path") panics my kernel.

in particular, this part

@@ -26,7 +27,7 @@ static inline int tty_insert_flip_char(struct tty_port *port,
                *char_buf_ptr(tb, tb->used++) = ch;
                return 1;
        }
-       return tty_insert_flip_string_flags(port, &ch, &flag, 1);
+       return __tty_insert_flip_char(port, ch, flag);
 }



I see various callstacks, but all endup in llist_del_first() -> fatal exception
in interrupt -> panic()


...
uart_insert_char()
  __tty_insert_flip_char()
    __tty_buffer_request_room()
      llist_del_first()

or

...
kdb_event()
  puts_queue()
    __tty_insert_flip_char()
      __tty_buffer_request_room()
        llist_del_first()



to reproduce:

1) screen /dev/ttyS0 115200
2) send several chars down to /dev/ttyS0, enough to panic() the kernel.


reverting that __tty_insert_flip_char(port, ch, flag) seems to work
on my side.

	-ss

^ permalink raw reply

* Re: linux-next: build failure after merge of the akpm-current tree
From: Zi Yan @ 2017-08-01 13:08 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Andrew Morton, Linux-Next Mailing List, Linux Kernel Mailing List
In-Reply-To: <00BCCF64-C319-44F0-992B-7F78D4676B5E@cs.rutgers.edu>

[-- Attachment #1: Type: text/plain, Size: 3171 bytes --]

Hi Stephen,

I found two possible fixes.

1. This uses C++ zero initializer, GCC is OK with it.
I tested with GCC 4.9.3 (has the initialization bug) and GCC 6.4.0.

--- a/include/linux/swapops.h~a
+++ a/include/linux/swapops.h
@@ -217,7 +217,7 @@ static inline swp_entry_t pmd_to_swp_ent

 static inline pmd_t swp_entry_to_pmd(swp_entry_t entry)
 {
-	return (pmd_t){ 0 };
+	return (pmd_t){};
 }

 static inline int is_pmd_migration_entry(pmd_t pmd)


2. This is ugly but working.
It works with GCC 4.9.3 and GCC 6.4.0.


--- a/include/linux/swapops.h
+++ b/include/linux/swapops.h
@@ -219,7 +219,10 @@ static inline swp_entry_t pmd_to_swp_entry(pmd_t pmd)

 static inline pmd_t swp_entry_to_pmd(swp_entry_t entry)
 {
-       return (pmd_t){ 0 };
+       pmd_t e;
+       memset(&e, 0, sizeof(pmd_t));
+       return e;
 }

 static inline int is_pmd_migration_entry(pmd_t pmd)


—
Best Regards,
Yan Zi

On 1 Aug 2017, at 7:30, Zi Yan wrote:

> Hi Stephen,
>
> The warning after removing __pmd() is caused by a gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
> so (pmd_t) {0} causes warning in some GCC versions.
>
> __pmd() is defined in alpha, arm, arm64, frv, ia64, m32r, m68k, microblaze, mips, parisc,
> powerpc, s390, sh, sparc, tile, um, x86, and asm-generic, according to
> http://elixir.free-electrons.com/linux/latest/ident/__pmd
>
> I am not sure about whether arc, blackfin, c6x, cris, h8300, hexagon, metag, mn10300, nios2, score,
> xtensa use __pmd() in asm-generic or not.
>
> I am looking for other workarounds for this warning now.
>
>
> —
> Best Regards,
> Yan Zi
>
> On 1 Aug 2017, at 6:50, Stephen Rothwell wrote:
>
>> Hi all,
>>
>> On Tue, 1 Aug 2017 16:39:04 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>>>
>>> After merging the akpm tree, today's linux-next build (sparc defconfig)
>>> failed like this:
>>>
>>> In file included from mm/vmscan.c:55:0:
>>> include/linux/swapops.h: In function 'swp_entry_to_pmd':
>>> include/linux/swapops.h:226:9: error: implicit declaration of function '__pmd' [-Werror=implicit-function-declaration]
>>>   return __pmd(0);
>>>          ^
>>> include/linux/swapops.h:226:9: error: incompatible types when returning type 'int' but 'pmd_t {aka struct <anonymous>}' was expected
>>>
>>> Caused by commit
>>>
>>>   9bb18490758c ("mm-thp-enable-thp-migration-in-generic-path-fix")
>>>
>>> It looks like sparc 32 bit has no __pmd() ...
>>>
>>> I have reverted that commit for today.
>>
>> OK, that is a pain as it causes many build warnings some of which are
>> treated as errors :-(  (see e.g.
>> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkisskb.ellerman.id.au%2Fkisskb%2Fbuildresult%2F13112192%2F&data=02%7C01%7Czi.yan%40cs.rutgers.edu%7Cbf7a7ad57ad04505172f08d4d8cb31c5%7Cb92d2b234d35447093ff69aca6632ffe%7C1%7C0%7C636371814609835949&sdata=diTid245prNY3Jy1pPEaL5q8dSBifFVzliKRq54fXhk%3D&reserved=0).  So maybe
>> we need to fix sthe sparc32 build instead?  Are there any other
>> architectures/platforms that do not define __pmd() ?
>>
>> -- 
>> Cheers,
>> Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 496 bytes --]

^ permalink raw reply

* Re: linux-next: Tree for Aug 1
From: Arnd Bergmann @ 2017-08-01 13:20 UTC (permalink / raw)
  To: Sergey Senozhatsky
  Cc: Greg Kroah-Hartman, Linux-Next Mailing List,
	Linux Kernel Mailing List, Stephen Rothwell, Sergey Senozhatsky
In-Reply-To: <20170801124204.GA457@jagdpanzerIV.localdomain>

On Tue, Aug 1, 2017 at 2:42 PM, Sergey Senozhatsky
<sergey.senozhatsky.work@gmail.com> wrote:
> Hello,
>
>
> seems that commit 979990c6284814617 ("tty: improve tty_insert_flip_char()
> fast path") panics my kernel.
>
> in particular, this part

Looking into it now, sorry for the breakage.

      Arnd

^ permalink raw reply

* Re: linux-next: Tree for Aug 1
From: Arnd Bergmann @ 2017-08-01 13:28 UTC (permalink / raw)
  To: Sergey Senozhatsky
  Cc: Greg Kroah-Hartman, Linux-Next Mailing List,
	Linux Kernel Mailing List, Stephen Rothwell, Sergey Senozhatsky
In-Reply-To: <CAK8P3a2dUdOf4OTLBEMLAVYXSpMyqFSHsRShz7aLEYBjViw61A@mail.gmail.com>

On Tue, Aug 1, 2017 at 3:20 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Tue, Aug 1, 2017 at 2:42 PM, Sergey Senozhatsky
> <sergey.senozhatsky.work@gmail.com> wrote:
>> Hello,
>>
>>
>> seems that commit 979990c6284814617 ("tty: improve tty_insert_flip_char()
>> fast path") panics my kernel.
>>
>> in particular, this part
>
> Looking into it now, sorry for the breakage.

Does this fix it? I definitely got this part wrong as I see now, we must
look up the 'tail' after calling __tty_buffer_request_room, not before.

      Arnd

diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c
index 6a8563633d4b..f8eba1c5412f 100644
--- a/drivers/tty/tty_buffer.c
+++ b/drivers/tty/tty_buffer.c
@@ -372,12 +372,13 @@ EXPORT_SYMBOL(tty_insert_flip_string_flags);
  */
 int __tty_insert_flip_char(struct tty_port *port, unsigned char ch, char flag)
 {
-       struct tty_buffer *tb = port->buf.tail;
+       struct tty_buffer *tb;
        int flags = (flag == TTY_NORMAL) ? TTYB_NORMAL : 0;

        if (!__tty_buffer_request_room(port, 1, flags))
                return 0;

+       tb = port->buf.tail;
        if (~tb->flags & TTYB_NORMAL)
                *flag_buf_ptr(tb, tb->used) = flag;
        *char_buf_ptr(tb, tb->used++) = ch;

^ permalink raw reply related

* Re: linux-next: manual merge of the rcu tree with the tip tree
From: Andy Lutomirski @ 2017-08-01 13:43 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: Mathieu Desnoyers, Stephen Rothwell, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, Peter Zijlstra, Linux-Next Mailing List,
	linux-kernel, Andy Lutomirski
In-Reply-To: <20170801040323.GP3730@linux.vnet.ibm.com>

On Mon, Jul 31, 2017 at 9:03 PM, Paul E. McKenney
<paulmck@linux.vnet.ibm.com> wrote:
> On Tue, Aug 01, 2017 at 12:04:05AM +0000, Mathieu Desnoyers wrote:
>> ----- On Jul 31, 2017, at 12:13 PM, Paul E. McKenney paulmck@linux.vnet.ibm.com wrote:
>>

>                                                         Thanx, Paul
>
> ------------------------------------------------------------------------
>
> commit fde19879b6bd1abc0c1d4d5f945efed61bf7eb8c
> Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> Date:   Fri Jul 28 16:40:40 2017 -0400
>
>     membarrier: Expedited private command
>
>     Implement MEMBARRIER_CMD_PRIVATE_EXPEDITED with IPIs using cpumask built
>     from all runqueues for which current thread's mm is the same as the
>     thread calling sys_membarrier. It executes faster than the non-expedited
>     variant (no blocking). It also works on NOHZ_FULL configurations.
>
>     Scheduler-wise, it requires a memory barrier before and after context
>     switching between processes (which have different mm). The memory
>     barrier before context switch is already present. For the barrier after
>     context switch:
>
>     * Our TSO archs can do RELEASE without being a full barrier. Look at
>       x86 spin_unlock() being a regular STORE for example.  But for those
>       archs, all atomics imply smp_mb and all of them have atomic ops in
>       switch_mm() for mm_cpumask().

I think that, on x86, context switches, even without mm changes, must
at least flush the store buffer (maybe SFENCE is okay) to avoid
visible inconsistency due to store-buffer forwarding.

Anyway, can you document whatever property you require with a comment
in switch_mm() or wherever you're finding that property so that future
arch changes don't break it?

> +static void membarrier_private_expedited(void)
> +{
> +       int cpu;
> +       bool fallback = false;
> +       cpumask_var_t tmpmask;
> +
> +       if (num_online_cpus() == 1)
> +               return;
> +
> +       /*
> +        * Matches memory barriers around rq->curr modification in
> +        * scheduler.
> +        */
> +       smp_mb();       /* system call entry is not a mb. */
> +
> +       /*
> +        * Expedited membarrier commands guarantee that they won't
> +        * block, hence the GFP_NOWAIT allocation flag and fallback
> +        * implementation.
> +        */
> +       if (!zalloc_cpumask_var(&tmpmask, GFP_NOWAIT)) {
> +               /* Fallback for OOM. */
> +               fallback = true;
> +       }
> +
> +       cpus_read_lock();
> +       for_each_online_cpu(cpu) {
> +               struct task_struct *p;
> +
> +               /*
> +                * Skipping the current CPU is OK even through we can be
> +                * migrated at any point. The current CPU, at the point
> +                * where we read raw_smp_processor_id(), is ensured to
> +                * be in program order with respect to the caller
> +                * thread. Therefore, we can skip this CPU from the
> +                * iteration.
> +                */
> +               if (cpu == raw_smp_processor_id())
> +                       continue;
> +               rcu_read_lock();
> +               p = task_rcu_dereference(&cpu_rq(cpu)->curr);
> +               if (p && p->mm == current->mm) {

I'm a bit surprised you're iterating all CPUs instead of just CPUs in
mm_cpumask().

^ permalink raw reply

* Re: linux-next: manual merge of the rcu tree with the tip tree
From: Peter Zijlstra @ 2017-08-01 13:58 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Paul E. McKenney, Mathieu Desnoyers, Stephen Rothwell,
	Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Linux-Next Mailing List, linux-kernel
In-Reply-To: <CALCETrWO5g5HuNpxa4Phxg--fDPWpuCVDTVr-UfuzrK5wn-8dQ@mail.gmail.com>

On Tue, Aug 01, 2017 at 06:43:14AM -0700, Andy Lutomirski wrote:
> Anyway, can you document whatever property you require with a comment
> in switch_mm() or wherever you're finding that property so that future
> arch changes don't break it?

We need _a_ smp_mb after rq->curr store. x86 has plenty.

> > +static void membarrier_private_expedited(void)
> > +{
> > +       int cpu;
> > +       bool fallback = false;
> > +       cpumask_var_t tmpmask;
> > +
> > +       if (num_online_cpus() == 1)
> > +               return;
> > +
> > +       /*
> > +        * Matches memory barriers around rq->curr modification in
> > +        * scheduler.
> > +        */
> > +       smp_mb();       /* system call entry is not a mb. */
> > +
> > +       /*
> > +        * Expedited membarrier commands guarantee that they won't
> > +        * block, hence the GFP_NOWAIT allocation flag and fallback
> > +        * implementation.
> > +        */
> > +       if (!zalloc_cpumask_var(&tmpmask, GFP_NOWAIT)) {
> > +               /* Fallback for OOM. */
> > +               fallback = true;
> > +       }
> > +
> > +       cpus_read_lock();
> > +       for_each_online_cpu(cpu) {
> > +               struct task_struct *p;
> > +
> > +               /*
> > +                * Skipping the current CPU is OK even through we can be
> > +                * migrated at any point. The current CPU, at the point
> > +                * where we read raw_smp_processor_id(), is ensured to
> > +                * be in program order with respect to the caller
> > +                * thread. Therefore, we can skip this CPU from the
> > +                * iteration.
> > +                */
> > +               if (cpu == raw_smp_processor_id())
> > +                       continue;
> > +               rcu_read_lock();
> > +               p = task_rcu_dereference(&cpu_rq(cpu)->curr);
> > +               if (p && p->mm == current->mm) {
> 
> I'm a bit surprised you're iterating all CPUs instead of just CPUs in
> mm_cpumask().

Because ARM64 doesn't set any bits at all in there.

^ permalink raw reply

* Re: linux-next: manual merge of the rcu tree with the tip tree
From: Mathieu Desnoyers @ 2017-08-01 14:02 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Paul E. McKenney, Stephen Rothwell, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, Peter Zijlstra, Linux-Next Mailing List,
	linux-kernel
In-Reply-To: <CALCETrWO5g5HuNpxa4Phxg--fDPWpuCVDTVr-UfuzrK5wn-8dQ@mail.gmail.com>

----- On Aug 1, 2017, at 9:43 AM, Andy Lutomirski luto@kernel.org wrote:

> On Mon, Jul 31, 2017 at 9:03 PM, Paul E. McKenney
> <paulmck@linux.vnet.ibm.com> wrote:
>> On Tue, Aug 01, 2017 at 12:04:05AM +0000, Mathieu Desnoyers wrote:
>>> ----- On Jul 31, 2017, at 12:13 PM, Paul E. McKenney paulmck@linux.vnet.ibm.com
>>> wrote:
>>>
> 
>>                                                         Thanx, Paul
>>
>> ------------------------------------------------------------------------
>>
>> commit fde19879b6bd1abc0c1d4d5f945efed61bf7eb8c
>> Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
>> Date:   Fri Jul 28 16:40:40 2017 -0400
>>
>>     membarrier: Expedited private command
>>
>>     Implement MEMBARRIER_CMD_PRIVATE_EXPEDITED with IPIs using cpumask built
>>     from all runqueues for which current thread's mm is the same as the
>>     thread calling sys_membarrier. It executes faster than the non-expedited
>>     variant (no blocking). It also works on NOHZ_FULL configurations.
>>
>>     Scheduler-wise, it requires a memory barrier before and after context
>>     switching between processes (which have different mm). The memory
>>     barrier before context switch is already present. For the barrier after
>>     context switch:
>>
>>     * Our TSO archs can do RELEASE without being a full barrier. Look at
>>       x86 spin_unlock() being a regular STORE for example.  But for those
>>       archs, all atomics imply smp_mb and all of them have atomic ops in
>>       switch_mm() for mm_cpumask().
> 
> I think that, on x86, context switches, even without mm changes, must
> at least flush the store buffer (maybe SFENCE is okay) to avoid
> visible inconsistency due to store-buffer forwarding.
> 
> Anyway, can you document whatever property you require with a comment
> in switch_mm() or wherever you're finding that property so that future
> arch changes don't break it?

As I asked to Paul in my reply to his proposed manual merge,
we should indeed have a comment in switch_mm() stating something
like this just before the line invoking cpumask_set_cpu():

/*
 * The full memory barrier implied by mm_cpumask update operations
 * is required by the membarrier system call.
 */

What we want to order here is:

prev userspace memory accesses
schedule
  <full mb> (it's already there) [A]
  update to rq->curr changing the rq->curr->mm value
  <full mb> (provided by mm_cpumask updates in switch_mm on x86) [B]
next userspace memory accesses

wrt to:

userspace memory accesses
sys_membarrier
  <full mb> [C]
  iterate on each cpu's rq->curr, compare their "mm" to current->mm
    IPI each CPU that match
  <full mb> [D]
userspace memory accesses

[A] pairs with [D] and [B] pairs with [C].


> 
>> +static void membarrier_private_expedited(void)
>> +{
>> +       int cpu;
>> +       bool fallback = false;
>> +       cpumask_var_t tmpmask;
>> +
>> +       if (num_online_cpus() == 1)
>> +               return;
>> +
>> +       /*
>> +        * Matches memory barriers around rq->curr modification in
>> +        * scheduler.
>> +        */
>> +       smp_mb();       /* system call entry is not a mb. */
>> +
>> +       /*
>> +        * Expedited membarrier commands guarantee that they won't
>> +        * block, hence the GFP_NOWAIT allocation flag and fallback
>> +        * implementation.
>> +        */
>> +       if (!zalloc_cpumask_var(&tmpmask, GFP_NOWAIT)) {
>> +               /* Fallback for OOM. */
>> +               fallback = true;
>> +       }
>> +
>> +       cpus_read_lock();
>> +       for_each_online_cpu(cpu) {
>> +               struct task_struct *p;
>> +
>> +               /*
>> +                * Skipping the current CPU is OK even through we can be
>> +                * migrated at any point. The current CPU, at the point
>> +                * where we read raw_smp_processor_id(), is ensured to
>> +                * be in program order with respect to the caller
>> +                * thread. Therefore, we can skip this CPU from the
>> +                * iteration.
>> +                */
>> +               if (cpu == raw_smp_processor_id())
>> +                       continue;
>> +               rcu_read_lock();
>> +               p = task_rcu_dereference(&cpu_rq(cpu)->curr);
>> +               if (p && p->mm == current->mm) {
> 
> I'm a bit surprised you're iterating all CPUs instead of just CPUs in
> mm_cpumask().

I see two reasons for this. The first is because architectures like
ARM64 don't even bother populating the mm_cpumask. The second reason
is because I don't think all architectures ensure that updates to
mm_cpumask imply full memory barriers. Therefore, we would need to revisit
each architecture switch_mm to ensure mm_cpumask bit set ops either imply
a full memory barrier, or are followed by an explicit one, if we
choose to use this bitmask as an optimization.

Thanks,

Mathieu


-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply

* Re: linux-next: manual merge of the rcu tree with the tip tree
From: Andy Lutomirski @ 2017-08-01 14:15 UTC (permalink / raw)
  To: Mathieu Desnoyers
  Cc: Andy Lutomirski, Paul E. McKenney, Stephen Rothwell,
	Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Peter Zijlstra,
	Linux-Next Mailing List, linux-kernel
In-Reply-To: <1639218309.1091.1501596152868.JavaMail.zimbra@efficios.com>

On Tue, Aug 1, 2017 at 7:02 AM, Mathieu Desnoyers
<mathieu.desnoyers@efficios.com> wrote:
> /*
>  * The full memory barrier implied by mm_cpumask update operations
>  * is required by the membarrier system call.
>  */
>
> What we want to order here is:
>
> prev userspace memory accesses
> schedule
>   <full mb> (it's already there) [A]
>   update to rq->curr changing the rq->curr->mm value
>   <full mb> (provided by mm_cpumask updates in switch_mm on x86) [B]

If I understand this right, the issue with relying on CR3 writes is
that the target CPU could switch to a kernel thread and back to the
same user mm white the membarrier caller is reading its mm, right?

^ permalink raw reply

* Re: linux-next: manual merge of the rcu tree with the tip tree
From: Peter Zijlstra @ 2017-08-01 14:15 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Paul E. McKenney, Mathieu Desnoyers, Stephen Rothwell,
	Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Linux-Next Mailing List, linux-kernel
In-Reply-To: <20170801135849.t5nbcqotkhztr5mr@hirez.programming.kicks-ass.net>

On Tue, Aug 01, 2017 at 03:58:49PM +0200, Peter Zijlstra wrote:
> On Tue, Aug 01, 2017 at 06:43:14AM -0700, Andy Lutomirski wrote:
> > Anyway, can you document whatever property you require with a comment
> > in switch_mm() or wherever you're finding that property so that future
> > arch changes don't break it?
> 
> We need _a_ smp_mb after rq->curr store. x86 has plenty.

That is, we need it when we change to a different !0 mm. And we have the
mm_cpumask() atomics at the very least, even if loading a new CR3 would
not be serializing.

^ permalink raw reply

* Re: linux-next: manual merge of the rcu tree with the tip tree
From: Andy Lutomirski @ 2017-08-01 14:17 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Andy Lutomirski, Paul E. McKenney, Mathieu Desnoyers,
	Stephen Rothwell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Linux-Next Mailing List, linux-kernel
In-Reply-To: <20170801141548.mivo7du4nl26r7z3@hirez.programming.kicks-ass.net>

On Tue, Aug 1, 2017 at 7:15 AM, Peter Zijlstra <peterz@infradead.org> wrote:
> On Tue, Aug 01, 2017 at 03:58:49PM +0200, Peter Zijlstra wrote:
>> On Tue, Aug 01, 2017 at 06:43:14AM -0700, Andy Lutomirski wrote:
>> > Anyway, can you document whatever property you require with a comment
>> > in switch_mm() or wherever you're finding that property so that future
>> > arch changes don't break it?
>>
>> We need _a_ smp_mb after rq->curr store. x86 has plenty.
>
> That is, we need it when we change to a different !0 mm. And we have the
> mm_cpumask() atomics at the very least, even if loading a new CR3 would
> not be serializing.

I'm 99.5% sure that loading a new CR3 is always serializing even if it
doesn't flush the TLB.

^ permalink raw reply

* Re: linux-next: manual merge of the rcu tree with the tip tree
From: Mathieu Desnoyers @ 2017-08-01 15:40 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Paul E. McKenney, Stephen Rothwell, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, Peter Zijlstra, Linux-Next Mailing List,
	linux-kernel
In-Reply-To: <CALCETrWWx8h=74td8bxbR6KZJN2GLAZ_jz9G-x9Q+Vn2AHSijQ@mail.gmail.com>

----- On Aug 1, 2017, at 10:15 AM, Andy Lutomirski luto@kernel.org wrote:

> On Tue, Aug 1, 2017 at 7:02 AM, Mathieu Desnoyers
> <mathieu.desnoyers@efficios.com> wrote:
>> /*
>>  * The full memory barrier implied by mm_cpumask update operations
>>  * is required by the membarrier system call.
>>  */
>>
>> What we want to order here is:
>>
>> prev userspace memory accesses
>> schedule
>>   <full mb> (it's already there) [A]
>>   update to rq->curr changing the rq->curr->mm value
>>   <full mb> (provided by mm_cpumask updates in switch_mm on x86) [B]
> 
> If I understand this right, the issue with relying on CR3 writes is
> that the target CPU could switch to a kernel thread and back to the
> same user mm white the membarrier caller is reading its mm, right?

The current implementation of context_switch() does:

        mm = next->mm;
        oldmm = prev->active_mm;

        if (!mm)
                next->active_mm = oldmm;

        if (!prev->mm) {
                prev->active_mm = NULL;
                rq->prev_mm = oldmm;
        }

so basically the only way to have a non-null rq->prev_mm when we
reach finish_task_switch() is to have a non-null prev->active_mm
in context_switch (kernel thread).

finish_task_switch() has:

struct mm_struct *mm = rq->prev_mm;
[...]
if (mm)
        mmdrop(mm);

which issues a full memory barrier through atomic_dec_and_test(). This
happens to take care of this kthread->uthread scenario. I think it would
be important to document though.

Thanks,

Mathieu


-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply

* Re: linux-next: manual merge of the rcu tree with the tip tree
From: Paul E. McKenney @ 2017-08-01 16:31 UTC (permalink / raw)
  To: Mathieu Desnoyers
  Cc: Stephen Rothwell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Peter Zijlstra, Linux-Next Mailing List, linux-kernel,
	Andy Lutomirski
In-Reply-To: <788306045.812.1501561556636.JavaMail.zimbra@efficios.com>

On Tue, Aug 01, 2017 at 04:25:56AM +0000, Mathieu Desnoyers wrote:
> ----- On Aug 1, 2017, at 12:03 AM, Paul E. McKenney paulmck@linux.vnet.ibm.com wrote:
> 
> > On Tue, Aug 01, 2017 at 12:04:05AM +0000, Mathieu Desnoyers wrote:
> >> ----- On Jul 31, 2017, at 12:13 PM, Paul E. McKenney paulmck@linux.vnet.ibm.com
> >> wrote:
> >> 
> >> > On Mon, Jul 31, 2017 at 01:50:29PM +1000, Stephen Rothwell wrote:
> >> >> Hi Paul,
> >> >> 
> >> >> Today's linux-next merge of the rcu tree got a conflict in:
> >> >> 
> >> >>   arch/x86/mm/tlb.c
> >> >> 
> >> >> between commit:
> >> >> 
> >> >>   94b1b03b519b ("x86/mm: Rework lazy TLB mode and TLB freshness tracking")
> >> >> 
> >> >> from the tip tree and commit:
> >> >> 
> >> >>   d7713e8f8b23 ("membarrier: Expedited private command")
> >> >> 
> >> >> from the rcu tree.
> >> >> 
> >> >> I fixed it up (the former removed the comment and the load_cr3(), so I
> >> >> just dropped the commend change in the latter) and can carry the fix as
> >> >> necessary. This is now fixed as far as linux-next is concerned, but any
> >> >> non trivial conflicts should be mentioned to your upstream maintainer
> >> >> when your tree is submitted for merging.  You may also want to consider
> >> >> cooperating with the maintainer of the conflicting tree to minimise any
> >> >> particularly complex conflicts.
> >> > 
> >> > Thank you, Stephen!
> >> > 
> >> > Mathieu, Peter, our commit log reads as if removal of load_cr3() would
> >> > simply result in relying on the ordering provided by the atomic ops
> >> > in switch_mm() for mm_cpumask(), so that only the commit log and the
> >> > comment need changing.
> >> > 
> >> > Please let me know if I am missing something here.
> >> 
> >> I think you are right. Both load_cr3() and mm_cpumask update operations
> >> (LOCK prefixed) provide the appropriate barriers on x86. So it's just a
> >> matter of adapting the comment to the new reality.
> > 
> > Like this?
> 
> The updated comment in the commit message looks good, but I would be
> tempted to add a comment in x86 switch_mm_irqs_off() stating the
> following requirement just before the line invoking cpumask_set_cpu():
> 
> /*
>  * The full memory barrier implied by mm_cpumask update operations
>  * is required by the membarrier system call.
>  */

This looks good to me, but I will give the discussion another day or
so to settle out.  ;-)

							Thanx, Paul

^ permalink raw reply

* Re: linux-next: build failure after merge of the akpm tree
From: Kees Cook @ 2017-08-01 18:40 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Andrew Morton, Linux-Next Mailing List, Linux Kernel Mailing List,
	Arnd Bergmann
In-Reply-To: <20170801162511.39fa58ad@canb.auug.org.au>

On Mon, Jul 31, 2017 at 11:25 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> Hi Andrew,
>
> After merging the akpm tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
>
> In file included from arch/powerpc/include/asm/paca.h:19:0,
>                  from arch/powerpc/include/asm/hw_irq.h:42,
>                  from arch/powerpc/include/asm/irqflags.h:11,
>                  from include/linux/irqflags.h:15,
>                  from include/linux/spinlock.h:53,
>                  from include/linux/wait.h:8,
>                  from include/linux/wait_bit.h:7,
>                  from include/linux/fs.h:5,
>                  from include/linux/buffer_head.h:11,
>                  from fs/adfs/dir_f.c:12:
> In function 'memcpy',
>     inlined from '__adfs_dir_put' at fs/adfs/dir_f.c:318:2,
>     inlined from 'adfs_f_update' at fs/adfs/dir_f.c:403:2:
> include/linux/string.h:305:4: error: call to '__read_overflow2' declared with attribute error: detected read beyond size of object passed as 2nd parameter
>     __read_overflow2();
>     ^
>
> I don't know why this has turned up now.  I have just left it broken
> for now and would appreciate any fix.

Thanks for the heads-up! I'm not sure why this suddenly appeared
either, but Arnd has sent a patch for this now.

-Kees

-- 
Kees Cook
Pixel Security

^ permalink raw reply

* Re: linux-next: build failure after merge of the akpm tree
From: Arnd Bergmann @ 2017-08-01 20:44 UTC (permalink / raw)
  To: Kees Cook
  Cc: Stephen Rothwell, Andrew Morton, Linux-Next Mailing List,
	Linux Kernel Mailing List
In-Reply-To: <CAGXu5jK4wv2exKT3HnKG8TuHOWuDjKJx214y_q1QErg8djTQ9Q@mail.gmail.com>

On Tue, Aug 1, 2017 at 8:40 PM, Kees Cook <keescook@chromium.org> wrote:
>>
>> I don't know why this has turned up now.  I have just left it broken
>> for now and would appreciate any fix.
>
> Thanks for the heads-up! I'm not sure why this suddenly appeared
> either, but Arnd has sent a patch for this now.

The main difference I see that can impact gcc's optimization steps is the
unreachable() that was there in BUG() but is absent in WARN().

It's possible that the compiler decided that the entire code path leading
up to the unreachable() couldn't happen, so it dropped the
__read_overflow2() call as well.

      Arnd

^ permalink raw reply

* Re: linux-next: build warning after merge of the akpm tree
From: Arnd Bergmann @ 2017-08-01 21:15 UTC (permalink / raw)
  To: Huang, Ying
  Cc: Stephen Rothwell, Andrew Morton, Linux-Next Mailing List,
	Linux Kernel Mailing List
In-Reply-To: <87bmnzizjy.fsf@yhuang-dev.intel.com>

On Tue, Aug 1, 2017 at 8:15 AM, Huang, Ying <ying.huang@intel.com> wrote:
> From 7a7ff76d7bcbd7affda169b29abcf3dafa38052e Mon Sep 17 00:00:00 2001
> From: Huang Ying <ying.huang@intel.com>
> Date: Tue, 1 Aug 2017 14:12:21 +0800
> Subject: [PATCH] mm, THP, swap: Silence a compiler warning
>
> To fix the following compiler warning,
>
> mm/swapfile.c: In function 'reuse_swap_page':
> mm/swapfile.c:1429:16: warning: 'offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
>   unsigned long offset;
>                 ^
>
> This is a false positive report, but we should silence it anyway.

Looks ok, I ran into this too, and came to the same conclusion.
I normally try to find a way to reorganize the code without adding
a bogus initialization, but here I could not find come up with anything
better than what you did.

        Arnd

^ permalink raw reply

* Re: linux-next: manual merge of the rcu tree with the tip tree
From: Paul E. McKenney @ 2017-08-01 21:36 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Mathieu Desnoyers, Stephen Rothwell, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, Peter Zijlstra, Linux-Next Mailing List,
	linux-kernel
In-Reply-To: <CALCETrWWx8h=74td8bxbR6KZJN2GLAZ_jz9G-x9Q+Vn2AHSijQ@mail.gmail.com>

On Tue, Aug 01, 2017 at 07:15:40AM -0700, Andy Lutomirski wrote:
> On Tue, Aug 1, 2017 at 7:02 AM, Mathieu Desnoyers
> <mathieu.desnoyers@efficios.com> wrote:
> > /*
> >  * The full memory barrier implied by mm_cpumask update operations
> >  * is required by the membarrier system call.
> >  */
> >
> > What we want to order here is:
> >
> > prev userspace memory accesses
> > schedule
> >   <full mb> (it's already there) [A]
> >   update to rq->curr changing the rq->curr->mm value
> >   <full mb> (provided by mm_cpumask updates in switch_mm on x86) [B]
> 
> If I understand this right, the issue with relying on CR3 writes is
> that the target CPU could switch to a kernel thread and back to the
> same user mm white the membarrier caller is reading its mm, right?

The thing that got my attention was your patch removing the load_cr3().
Ah, looking closer, it appears that you have not eliminated the CR3
load, but just renamed it to write_cr3().  So if there is always still
a CR3 load, you are right, I should be able to simply move the comment.
Or let you insert the comment into your patch?

So there is still always a CR3 load, correct?  (Hey, I thought that
maybe x86 was moving to ASIDs or some such.)

							Thanx, Paul

^ permalink raw reply

* Re: linux-next: manual merge of the akpm tree with the wberr tree
From: Andrew Morton @ 2017-08-01 22:32 UTC (permalink / raw)
  To: Jeff Layton
  Cc: Stephen Rothwell, Linux-Next Mailing List,
	Linux Kernel Mailing List
In-Reply-To: <1501587093.4702.6.camel@poochiereds.net>

On Tue, 01 Aug 2017 07:31:33 -0400 Jeff Layton <jlayton@poochiereds.net> wrote:

> On Tue, 2017-08-01 at 06:59 -0400, Jeff Layton wrote:
> > On Tue, 2017-08-01 at 15:46 +1000, Stephen Rothwell wrote:
> > > Hi Andrew,
> > > 
> > > Today's linux-next merge of the akpm-current tree got a conflict in:
> > > 
> > >   include/linux/fs.h
> > > 
> > > between commit:
> > > 
> > >   9dcc0577f2a4 ("mm: remove optimizations based on i_size in mapping writeback waits")
> > > 
> > > from the wberr tree and patch:
> > > 
> > >   "mm: remove optimizations based on i_size in mapping writeback waits"
> > > 
> > > from the akpm tree.
> > > 
> > > I fixed it up (I just dropped the akpm tree patch) and can carry the
> > > fix as necessary. This is now fixed as far as linux-next is concerned,
> > > but any non trivial conflicts should be mentioned to your upstream
> > > maintainer when your tree is submitted for merging.  You may also want
> > > to consider cooperating with the maintainer of the conflicting tree to
> > > minimise any particularly complex conflicts.
> > > 
> > 
> > I didn't realize that Andrew was going to pick that one up. I'll drop it
> > from my tree.

Please don't do that.  When a patch turns up in linux-next I'll drop my
copy.  If you then drop your copy, the patch is lost.

> > Thanks!
> 
> Actually, I take it back. Jan had some comments about the commit message
> and I'd like to revise this. Andrew, do you mind dropping this patch
> instead?

Yes, do that ;)

^ permalink raw reply

* mmotm 2017-08-01-16-29 uploaded
From: akpm @ 2017-08-01 23:30 UTC (permalink / raw)
  To: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, broonie

The mm-of-the-moment snapshot 2017-08-01-16-29 has been uploaded to

   http://www.ozlabs.org/~akpm/mmotm/

mmotm-readme.txt says

README for mm-of-the-moment:

http://www.ozlabs.org/~akpm/mmotm/

This is a snapshot of my -mm patch queue.  Uploaded at random hopefully
more than once a week.

You will need quilt to apply these patches to the latest Linus release (4.x
or 4.x-rcY).  The series file is in broken-out.tar.gz and is duplicated in
http://ozlabs.org/~akpm/mmotm/series

The file broken-out.tar.gz contains two datestamp files: .DATE and
.DATE-yyyy-mm-dd-hh-mm-ss.  Both contain the string yyyy-mm-dd-hh-mm-ss,
followed by the base kernel version against which this patch series is to
be applied.

This tree is partially included in linux-next.  To see which patches are
included in linux-next, consult the `series' file.  Only the patches
within the #NEXT_PATCHES_START/#NEXT_PATCHES_END markers are included in
linux-next.

A git tree which contains the memory management portion of this tree is
maintained at git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git
by Michal Hocko.  It contains the patches which are between the
"#NEXT_PATCHES_START mm" and "#NEXT_PATCHES_END" markers, from the series
file, http://www.ozlabs.org/~akpm/mmotm/series.


A full copy of the full kernel tree with the linux-next and mmotm patches
already applied is available through git within an hour of the mmotm
release.  Individual mmotm releases are tagged.  The master branch always
points to the latest release, so it's constantly rebasing.

http://git.cmpxchg.org/cgit.cgi/linux-mmotm.git/

To develop on top of mmotm git:

  $ git remote add mmotm git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git
  $ git remote update mmotm
  $ git checkout -b topic mmotm/master
  <make changes, commit>
  $ git send-email mmotm/master.. [...]

To rebase a branch with older patches to a new mmotm release:

  $ git remote update mmotm
  $ git rebase --onto mmotm/master <topic base> topic




The directory http://www.ozlabs.org/~akpm/mmots/ (mm-of-the-second)
contains daily snapshots of the -mm tree.  It is updated more frequently
than mmotm, and is untested.

A git copy of this tree is available at

	http://git.cmpxchg.org/cgit.cgi/linux-mmots.git/

and use of this tree is similar to
http://git.cmpxchg.org/cgit.cgi/linux-mmotm.git/, described above.


This mmotm tree contains the following patches against 4.13-rc3:
(patches marked "*" will be included in linux-next)

  origin.patch
  i-need-old-gcc.patch
* mm-hugetlb-__get_user_pages-ignores-certain-follow_hugetlb_page-errors.patch
* pid-kill-pidhash_size-in-pidhash_init.patch
* mm-mprotect-flush-tlb-if-potentially-racing-with-a-parallel-reclaim-leaving-stale-tlb-entries.patch
* mm-mprotect-flush-tlb-if-potentially-racing-with-a-parallel-reclaim-leaving-stale-tlb-entries-fix.patch
* mm-mprotect-flush-tlb-if-potentially-racing-with-a-parallel-reclaim-leaving-stale-tlb-entries-fix-fix.patch
* userfaultfd-non-cooperative-notify-about-unmap-of-destination-during-mremap.patch
* kasan-avoid-wmaybe-uninitialized-warning-v3.patch
* kthread-fix-documentation-build-warning.patch
* zram-do-not-free-pool-size_class.patch
* fortify-use-warn-instead-of-bug-for-now.patch
* fortify-use-warn-instead-of-bug-for-now-fix.patch
* swap-fix-oops-during-block-io-poll-in-swapin-path.patch
* swap-fix-oops-during-block-io-poll-in-swapin-path-fix.patch
* mm-take-memory-hotplug-lock-within-numa_zonelist_order_handler.patch
* userfaultfd_zeropage-return-enospc-in-case-mm-has-gone.patch
* mm-skip-hwpoisoned-pages-when-onlining-pages.patch
* cpuset-fix-a-deadlock-due-to-incomplete-patching-of-cpusets_enabled.patch
* ipc-add-missing-container_ofs-for-randstruct.patch
* userfaultfd-non-cooperative-flush-event_wqh-at-release-time.patch
* mm-allow-page_cache_get_speculative-in-interrupt-context.patch
* ocfs2-dont-clear-sgid-when-inheriting-acls.patch
* mm-fix-global-nr_slab_claimable-counter-reads.patch
* adfs-use-unsigned-types-for-memcpy-length.patch
* arm-arch-arm-include-asm-pageh-needs-personalityh.patch
* metag-numa-remove-the-unused-parent_node-macro.patch
* mm-add-vm_insert_mixed_mkwrite.patch
* dax-relocate-some-dax-functions.patch
* dax-use-common-4k-zero-page-for-dax-mmap-reads.patch
* dax-remove-dax-code-from-page_cache_tree_insert.patch
* dax-move-all-dax-radix-tree-defs-to-fs-daxc.patch
* ocfs2-make-ocfs2_set_acl-static.patch
* ocfs2-get-rid-of-ocfs2_is_o2cb_active-function.patch
* ocfs2-old-mle-put-and-release-after-the-function-dlm_add_migration_mle-called.patch
* ocfs2-old-mle-put-and-release-after-the-function-dlm_add_migration_mle-called-fix.patch
* ocfs2-dlm-optimization-of-code-while-free-dead-node-locks.patch
* ocfs2-dlm-optimization-of-code-while-free-dead-node-locks-checkpatch-fixes.patch
* ocfs2-give-an-obvious-tip-for-dismatch-cluster-names.patch
* ocfs2-give-an-obvious-tip-for-dismatch-cluster-names-v2.patch
* ocfs2-move-some-definitions-to-header-file.patch
* ocfs2-fix-some-small-problems.patch
* ocfs2-add-kobject-for-online-file-check.patch
* ocfs2-add-duplicative-ino-number-check.patch
* block-restore-proc-partitions-to-not-display-non-partitionable-removable-devices.patch
  mm.patch
* slub-make-sure-struct-kmem_cache_node-is-initialized-before-publication.patch
* mm-memory_hotplug-just-build-zonelist-for-new-added-node.patch
* mm-memory_hotplug-just-build-zonelist-for-new-added-node-fix.patch
* mm-memory_hotplug-just-build-zonelist-for-new-added-node-fix-fix.patch
* mm-mempolicy-add-queue_pages_required.patch
* mm-x86-move-_page_swp_soft_dirty-from-bit-7-to-bit-1.patch
* mm-thp-introduce-separate-ttu-flag-for-thp-freezing.patch
* mm-thp-introduce-config_arch_enable_thp_migration.patch
* mm-thp-enable-thp-migration-in-generic-path.patch
* mm-thp-enable-thp-migration-in-generic-path-fix.patch
* mm-thp-enable-thp-migration-in-generic-path-fix-fix.patch
* mm-thp-check-pmd-migration-entry-in-common-path.patch
* mm-soft-dirty-keep-soft-dirty-bits-over-thp-migration.patch
* mm-mempolicy-mbind-and-migrate_pages-support-thp-migration.patch
* mm-migrate-move_pages-supports-thp-migration.patch
* mm-memory_hotplug-memory-hotremove-supports-thp-migration.patch
* mm-memory_hotplug-display-allowed-zones-in-the-preferred-ordering.patch
* mm-memory_hotplug-remove-zone-restrictions.patch
* zram-clean-up-duplicated-codes-in-__zram_bvec_write.patch
* zram-inlining-zram_compress.patch
* zram-rename-zram_decompress_page-with-__zram_bvec_read.patch
* zram-add-interface-to-specify-backing-device.patch
* zram-add-free-space-management-in-backing-device.patch
* zram-identify-asynchronous-ios-return-value.patch
* zram-write-incompressible-pages-to-backing-device.patch
* zram-read-page-from-backing-device.patch
* zram-add-config-and-doc-file-for-writeback-feature.patch
* mm-page_alloc-rip-out-zonelist_order_zone.patch
* mm-page_alloc-remove-boot-pageset-initialization-from-memory-hotplug.patch
* mm-page_alloc-do-not-set_cpu_numa_mem-on-empty-nodes-initialization.patch
* mm-memory_hotplug-drop-zone-from-build_all_zonelists.patch
* mm-memory_hotplug-remove-explicit-build_all_zonelists-from-try_online_node.patch
* mm-page_alloc-simplify-zonelist-initialization.patch
* mm-page_alloc-remove-stop_machine-from-build_all_zonelists.patch
* mm-memory_hotplug-get-rid-of-zonelists_mutex.patch
* mm-sparse-page_ext-drop-ugly-n_high_memory-branches-for-allocations.patch
* mm-page_owner-make-init_pages_in_zone-faster.patch
* mm-page_ext-periodically-reschedule-during-page_ext_init.patch
* mm-page_owner-dont-grab-zone-lock-for-init_pages_in_zone.patch
* mm-page_ext-move-page_ext_init-after-page_alloc_init_late.patch
* mm-mremap-fail-map-duplication-attempts-for-private-mappings.patch
* mm-gup-make-__gup_device_-require-thp.patch
* mm-hugetlb-make-huge_pte_offset-consistent-and-document-behaviour.patch
* mm-always-flush-vma-ranges-affected-by-zap_page_range-v2.patch
* zsmalloc-zs_page_migrate-skip-unnecessary-loops-but-not-return-ebusy-if-zspage-is-not-inuse.patch
* zsmalloc-zs_page_migrate-skip-unnecessary-loops-but-not-return-ebusy-if-zspage-is-not-inuse-fix.patch
* mm-vmscan-do-not-loop-on-too_many_isolated-for-ever.patch
* mm-vmscan-do-not-loop-on-too_many_isolated-for-ever-fix.patch
* fscache-remove-unused-now_uncached-callback.patch
* mm-make-pagevec_lookup-update-index.patch
* mm-implement-find_get_pages_range.patch
* fs-fix-performance-regression-in-clean_bdev_aliases.patch
* ext4-use-pagevec_lookup_range-in-ext4_find_unwritten_pgoff.patch
* ext4-use-pagevec_lookup_range-in-writeback-code.patch
* hugetlbfs-use-pagevec_lookup_range-in-remove_inode_hugepages.patch
* fs-use-pagevec_lookup_range-in-page_cache_seek_hole_data.patch
* mm-use-find_get_pages_range-in-filemap_range_has_page.patch
* mm-remove-nr_pages-argument-from-pagevec_lookup_range.patch
* mm-memcg-reset-memorylow-during-memcg-offlining.patch
* cgroup-revert-fa06235b8eb0-cgroup-reset-css-on-destruction.patch
* mm-ksm-constify-attribute_group-structures.patch
* mm-slub-constify-attribute_group-structures.patch
* mm-page_idle-constify-attribute_group-structures.patch
* mm-huge_memory-constify-attribute_group-structures.patch
* mm-hugetlb-constify-attribute_group-structures.patch
* mm-memcontrol-use-int-for-event-state-parameter-in-several-functions.patch
* mm-memcontrol-use-int-for-event-state-parameter-in-several-functions-v2.patch
* mm-thp-swap-support-to-clear-swap-cache-flag-for-thp-swapped-out.patch
* mm-thp-swap-support-to-reclaim-swap-space-for-thp-swapped-out.patch
* mm-thp-swap-support-to-reclaim-swap-space-for-thp-swapped-out-fix.patch
* mm-thp-swap-make-reuse_swap_page-works-for-thp-swapped-out.patch
* mm-thp-swap-make-reuse_swap_page-works-for-thp-swapped-out-fix.patch
* mm-thp-swap-dont-allocate-huge-cluster-for-file-backed-swap-device.patch
* block-thp-make-block_device_operationsrw_page-support-thp.patch
* test-code-to-write-thp-to-swap-device-as-a-whole.patch
* mm-thp-swap-support-to-split-thp-for-thp-swapped-out.patch
* memcg-thp-swap-support-move-mem-cgroup-charge-for-thp-swapped-out.patch
* memcg-thp-swap-avoid-to-duplicated-charge-thp-in-swap-cache.patch
* memcg-thp-swap-make-mem_cgroup_swapout-support-thp.patch
* mm-thp-swap-delay-splitting-thp-after-swapped-out.patch
* mm-thp-swap-add-thp-swapping-out-fallback-counting.patch
* shmem-shmem_charge-verify-max_block-is-not-exceeded-before-inode-update.patch
* shmem-introduce-shmem_inode_acct_block.patch
* userfaultfd-shmem-add-shmem_mfill_zeropage_pte-for-userfaultfd-support.patch
* userfaultfd-mcopy_atomic-introduce-mfill_atomic_pte-helper.patch
* userfaultfd-shmem-wire-up-shmem_mfill_zeropage_pte.patch
* userfaultfd-report-uffdio_zeropage-as-available-for-shmem-vmas.patch
* userfaultfd-selftest-enable-testing-of-uffdio_zeropage-for-shmem.patch
* fs-remove-unnecessary-null-f_mapping-check-in-sync_file_range.patch
* fs-remove-unneeded-forward-definition-of-mm_struct-from-fsh.patch
* nvdimm-avoid-bogus-wmaybe-uninitialized-warning.patch
* nvdimm-avoid-bogus-wmaybe-uninitialized-warning-fix.patch
* btt-remove-btt_rw_page.patch
* pmem-remove-pmem_rw_page.patch
* brd-remove-brd_rw_page.patch
* treewide-remove-gfp_temporary-allocation-flag.patch
* treewide-remove-gfp_temporary-allocation-flag-fix.patch
* treewide-remove-gfp_temporary-allocation-flag-checkpatch-fixes.patch
* mm-hugetlb-define-system-call-hugetlb-size-encodings-in-single-file.patch
* mm-arch-consolidate-mmap-hugetlb-size-encodings.patch
* mm-shm-use-new-hugetlb-size-encoding-definitions.patch
* mm-rename-global_page_state-to-global_zone_page_state.patch
* userfaultfd-add-feature-to-request-for-a-signal-delivery.patch
* userfaultfd-selftest-add-tests-for-uffd_feature_sigbus-feature.patch
* mm-page_alloc-return-0-in-case-this-node-has-no-page-within-the-zone.patch
* mm-vmscan-do-not-pass-reclaimed-slab-to-vmpressure.patch
* mm-page_owner-align-with-pageblock_nr-pages.patch
* mm-walk-the-zone-in-pageblock_nr_pages-steps.patch
* fs-proc-remove-priv-argument-from-is_stack.patch
* fs-proc-remove-priv-argument-from-is_stack-fix.patch
* linux-kernelh-move-div_round_down_ull-macro.patch
* rbtree-cache-leftmost-node-internally.patch
* rbtree-optimize-root-check-during-rebalancing-loop.patch
* rbtree-add-some-additional-comments-for-rebalancing-cases.patch
* lib-rbtree_testc-make-input-module-parameters.patch
* lib-rbtree_testc-add-inorder-traversal-test.patch
* lib-rbtree_testc-support-rb_root_cached.patch
* sched-fair-replace-cfs_rq-rb_leftmost.patch
* sched-deadline-replace-earliest-dl-and-rq-leftmost-caching.patch
* locking-rtmutex-replace-top-waiter-and-pi_waiters-leftmost-caching.patch
* block-cfq-replace-cfq_rb_root-leftmost-caching.patch
* lib-interval_tree-fast-overlap-detection.patch
* lib-interval-tree-correct-comment-wrt-generic-flavor.patch
* procfs-use-faster-rb_first_cached.patch
* fs-epoll-use-faster-rb_first_cached.patch
* mem-memcg-cache-rightmost-node.patch
* mem-memcg-cache-rightmost-node-fix.patch
* block-cfq-cache-rightmost-rb_node.patch
* block-cfq-cache-rightmost-rb_node-fix.patch
* lib-hexdump-return-einval-in-case-of-error-in-hex2bin.patch
* vfat-deduplicate-hex2bin.patch
* seq_file-delete-small-value-optimization.patch
* kdump-vmcoreinfo-report-actual-value-of-phys_base.patch
* uapi-fix-linux-sysctlh-userspace-compilation-errors.patch
* m32r-defconfig-cleanup-from-old-kconfig-options.patch
* mn10300-defconfig-cleanup-from-old-kconfig-options.patch
* sh-defconfig-cleanup-from-old-kconfig-options.patch
* kernel-reboot-add-devm_register_reboot_notifier.patch
* kernel-reboot-add-devm_register_reboot_notifier-fix.patch
* ipc-convert-ipc_namespacecount-from-atomic_t-to-refcount_t.patch
* ipc-convert-sem_undo_listrefcnt-from-atomic_t-to-refcount_t.patch
* ipc-convert-kern_ipc_permrefcount-from-atomic_t-to-refcount_t.patch
  linux-next.patch
  linux-next-git-rejects.patch
  linux-next-rejects.patch
* fscache-fix-fscache_objlist_show-format-processing.patch
* ib-mlx4-fix-sprintf-format-warning.patch
* iopoll-avoid-wint-in-bool-context-warning.patch
* kbuild-use-fshort-wchar-globally.patch
* sparc64-ng4-memset-32-bits-overflow.patch
* lib-crc-ccitt-add-ccitt-false-crc16-variant.patch
  mm-add-strictlimit-knob-v2.patch
  make-sure-nobodys-leaking-resources.patch
  releasing-resources-with-children.patch
  kernel-forkc-export-kernel_thread-to-modules.patch
  mutex-subsystem-synchro-test-module.patch
  slab-leaks3-default-y.patch
  workaround-for-a-pci-restoring-bug.patch

^ permalink raw reply

* Re: linux-next: Tree for Aug 1
From: Sergey Senozhatsky @ 2017-08-01 23:55 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Sergey Senozhatsky, Greg Kroah-Hartman, Linux-Next Mailing List,
	Linux Kernel Mailing List, Stephen Rothwell, Sergey Senozhatsky
In-Reply-To: <CAK8P3a3vOHteTswgXr+9cO-wX2HGVb_GXd3w3bByZLR=36MXFg@mail.gmail.com>

Hello,

On (08/01/17 15:28), Arnd Bergmann wrote:
[..]
> > Looking into it now, sorry for the breakage.
> 
> Does this fix it? I definitely got this part wrong as I see now, we must
> look up the 'tail' after calling __tty_buffer_request_room, not before.

yes, it does. thanks!

Tested-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>

	-ss

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox