Skip to content
  1. Sep 16, 2017
  2. Sep 15, 2017
    • Guenter Roeck's avatar
      nios2: time: Read timer in get_cycles only if initialized · 65d1e3dd
      Guenter Roeck authored
      Mainline crashes as follows when running nios2 images.
      
      On node 0 totalpages: 65536
      free_area_init_node: node 0, pgdat c8408fa0, node_mem_map c8726000
        Normal zone: 512 pages used for memmap
        Normal zone: 0 pages reserved
        Normal zone: 65536 pages, LIFO batch:15
      Unable to handle kernel NULL pointer dereference at virtual address 00000000
      ea = c8003cb0, ra = c81cbf40, cause = 15
      Kernel panic - not syncing: Oops
      
      Problem is seen because get_cycles() is called before the timer it depends
      on is initialized. Returning 0 in that situation fixes the problem.
      
      Fixes: 33d72f38
      
       ("init/main.c: extract early boot entropy from the ..")
      Cc: Laura Abbott <labbott@redhat.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Daniel Micay <danielmicay@gmail.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      65d1e3dd
    • Tobias Klauser's avatar
      nios2: add earlycon support to 3c120 devboard DTS · 8993d5e4
      Tobias Klauser authored
      
      
      Allow earlycon to be used on the JTAG UART present in the 3c120 GHRD.
      
      Signed-off-by: default avatarTobias Klauser <tklauser@distanz.ch>
      8993d5e4
    • Mimi Zohar's avatar
      vfs: constify path argument to kernel_read_file_from_path · 711aab1d
      Mimi Zohar authored
      
      
      This patch constifies the path argument to kernel_read_file_from_path().
      
      Signed-off-by: default avatarMimi Zohar <zohar@linux.vnet.ibm.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      711aab1d
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.14-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 6ed0529f
      Linus Torvalds authored
      Pull more NFS client updates from Trond Myklebust:
       "Hightlights include:
      
        Bugfixes:
         - Various changes relating to reporting IO errors.
         - pnfs: Use the standard I/O stateid when calling LAYOUTGET
      
        Features:
         - Add static NFS I/O tracepoints for debugging"
      
      * tag 'nfs-for-4.14-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFS: various changes relating to reporting IO errors.
        NFS: Add static NFS I/O tracepoints
        pNFS: Use the standard I/O stateid when calling LAYOUTGET
      6ed0529f
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 9e0ce554
      Linus Torvalds authored
      Pull misc leftovers from Al Viro.
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fix the __user misannotations in asm-generic get_user/put_user
        fput: Don't reinvent the wheel but use existing llist API
        namespace.c: Don't reinvent the wheel but use existing llist API
      9e0ce554
    • Linus Torvalds's avatar
      Merge branch 'work.read_write' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · e253d98f
      Linus Torvalds authored
      Pull nowait read support from Al Viro:
       "Support IOCB_NOWAIT for buffered reads and block devices"
      
      * 'work.read_write' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        block_dev: support RFW_NOWAIT on block device nodes
        fs: support RWF_NOWAIT for buffered reads
        fs: support IOCB_NOWAIT in generic_file_buffered_read
        fs: pass iocb to do_generic_file_read
      e253d98f
    • Linus Torvalds's avatar
      Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 0f0d1272
      Linus Torvalds authored
      Pull mount flag updates from Al Viro:
       "Another chunk of fmount preparations from dhowells; only trivial
        conflicts for that part. It separates MS_... bits (very grotty
        mount(2) ABI) from the struct super_block ->s_flags (kernel-internal,
        only a small subset of MS_... stuff).
      
        This does *not* convert the filesystems to new constants; only the
        infrastructure is done here. The next step in that series is where the
        conflicts would be; that's the conversion of filesystems. It's purely
        mechanical and it's better done after the merge, so if you could run
        something like
      
      	list=$(for i in MS_RDONLY MS_NOSUID MS_NODEV MS_NOEXEC MS_SYNCHRONOUS MS_MANDLOCK MS_DIRSYNC MS_NOATIME MS_NODIRATIME MS_SILENT MS_POSIXACL MS_KERNMOUNT MS_I_VERSION MS_LAZYTIME; do git grep -l $i fs drivers/staging/lustre drivers/mtd ipc mm include/linux; done|sort|uniq|grep -v '^fs/namespace.c$')
      
      	sed -i -e 's/\<MS_RDONLY\>/SB_RDONLY/g' \
      	    ...
      0f0d1272
    • Linus Torvalds's avatar
      Merge branch 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 581bfce9
      Linus Torvalds authored
      Pull more set_fs removal from Al Viro:
       "Christoph's 'use kernel_read and friends rather than open-coding
        set_fs()' series"
      
      * 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: unexport vfs_readv and vfs_writev
        fs: unexport vfs_read and vfs_write
        fs: unexport __vfs_read/__vfs_write
        lustre: switch to kernel_write
        gadget/f_mass_storage: stop messing with the address limit
        mconsole: switch to kernel_read
        btrfs: switch write_buf to kernel_write
        net/9p: switch p9_fd_read to kernel_write
        mm/nommu: switch do_mmap_private to kernel_read
        serial2002: switch serial2002_tty_write to kernel_{read/write}
        fs: make the buf argument to __kernel_write a void pointer
        fs: fix kernel_write prototype
        fs: fix kernel_read prototype
        fs: move kernel_read to fs/read_write.c
        fs: move kernel_write to fs/read_write.c
        autofs4: switch autofs4_write to __kernel_write
        ashmem: switch to ->read_iter
      581bfce9
    • Linus Torvalds's avatar
      Merge branch 'work.ipc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · cc73fee0
      Linus Torvalds authored
      Pull ipc compat cleanup and 64-bit time_t from Al Viro:
       "IPC copyin/copyout sanitizing, including 64bit time_t work from Deepa
        Dinamani"
      
      * 'work.ipc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        utimes: Make utimes y2038 safe
        ipc: shm: Make shmid_kernel timestamps y2038 safe
        ipc: sem: Make sem_array timestamps y2038 safe
        ipc: msg: Make msg_queue timestamps y2038 safe
        ipc: mqueue: Replace timespec with timespec64
        ipc: Make sys_semtimedop() y2038 safe
        get rid of SYSVIPC_COMPAT on ia64
        semtimedop(): move compat to native
        shmat(2): move compat to native
        msgrcv(2), msgsnd(2): move compat to native
        ipc(2): move compat to native
        ipc: make use of compat ipc_perm helpers
        semctl(): move compat to native
        semctl(): separate all layout-dependent copyin/copyout
        msgctl(): move compat to native
        msgctl(): split the actual work from copyin/copyout
        ipc: move compat shmctl to native
        shmctl: ...
      cc73fee0
    • Linus Torvalds's avatar
      Merge branch 'zstd-minimal' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · e7cdb60f
      Linus Torvalds authored
      Pull zstd support from Chris Mason:
       "Nick Terrell's patch series to add zstd support to the kernel has been
        floating around for a while. After talking with Dave Sterba, Herbert
        and Phillip, we decided to send the whole thing in as one pull
        request.
      
        zstd is a big win in speed over zlib and in compression ratio over
        lzo, and the compression team here at FB has gotten great results
        using it in production. Nick will continue to update the kernel side
        with new improvements from the open source zstd userland code.
      
        Nick has a number of benchmarks for the main zstd code in his lib/zstd
        commit:
      
            I ran the benchmarks on a Ubuntu 14.04 VM with 2 cores and 4 GiB
            of RAM. The VM is running on a MacBook Pro with a 3.1 GHz Intel
            Core i7 processor, 16 GB of RAM, and a SSD. I benchmarked using
            `silesia.tar` [3], which is 211,988,480 B large. Run the following
            commands for the ben...
      e7cdb60f
    • Paul Mackerras's avatar
      powerpc: Fix handling of alignment interrupt on dcbz instruction · 1bc944ce
      Paul Mackerras authored
      This fixes the emulation of the dcbz instruction in the alignment
      interrupt handler.  The error was that we were comparing just the
      instruction type field of op.type rather than the whole thing,
      and therefore the comparison "type != CACHEOP + DCBZ" was always
      true.
      
      Fixes: 31bfdb03
      
       ("powerpc: Use instruction emulation infrastructure to handle alignment faults")
      Signed-off-by: default avatarPaul Mackerras <paulus@ozlabs.org>
      Tested-by: default avatarMichal Sojka <sojkam1@fel.cvut.cz>
      Tested-by: default avatarChristian Zigotzky <chzigotzky@xenosoft.de>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      1bc944ce
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · a2bc8dea
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - Use Make-builtin $(abspath ...) helper to get absolute path
      
       - Add W=2 extra warning option to detect unused macros
      
       - Use more KCONFIG_CONFIG instead hard-coded .config
      
       - Fix bugs of tar*-pkg targets
      
      * tag 'kbuild-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: buildtar: do not print successful message if tar returns error
        kbuild: buildtar: fix tar error when CONFIG_MODULES is disabled
        kbuild: Use KCONFIG_CONFIG in buildtar
        Kbuild: enable -Wunused-macros warning for "make W=2"
        kbuild: use $(abspath ...) instead of $(shell cd ... && /bin/pwd)
      a2bc8dea
    • Linus Torvalds's avatar
      Merge tag 'for-4.14/dm-changes' of... · dff4d1f6
      Linus Torvalds authored
      Merge tag 'for-4.14/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - Some request-based DM core and DM multipath fixes and cleanups
      
       - Constify a few variables in DM core and DM integrity
      
       - Add bufio optimization and checksum failure accounting to DM
         integrity
      
       - Fix DM integrity to avoid checking integrity of failed reads
      
       - Fix DM integrity to use init_completion
      
       - A couple DM log-writes target fixes
      
       - Simplify DAX flushing by eliminating the unnecessary flush
         abstraction that was stood up for DM's use.
      
      * tag 'for-4.14/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dax: remove the pmem_dax_ops->flush abstraction
        dm integrity: use init_completion instead of COMPLETION_INITIALIZER_ONSTACK
        dm integrity: make blk_integrity_profile structure const
        dm integrity: do not check integrity for failed read operations
        dm log writes: fix >512b sectorsize support
        dm log writes: don't use all the cpu while waiting to log blocks
        dm ioctl: constify ioctl lookup table
        dm: constify argument arrays
        dm integrity: count and display checksum failures
        dm integrity: optimize writing dm-bufio buffers that are partially changed
        dm rq: do not update rq partially in each ending bio
        dm rq: make dm-sq requeuing behavior consistent with dm-mq behavior
        dm mpath: complain about unsupported __multipath_map_bio() return values
        dm mpath: avoid that building with W=1 causes gcc 7 to complain about fall-through
      dff4d1f6
    • Linus Torvalds's avatar
      Merge tag 'fbdev-v4.14' of git://github.com/bzolnier/linux · 503f0453
      Linus Torvalds authored
      Pull fbdev updates from Bartlomiej Zolnierkiewicz:
      
       - make fbcon a built-time depency for fbdev (fbcon was tristate option
         before, now it is a bool) - this is a first step in preparations for
         making console_lock usage saner (currently it acts like the BKL for
         all things fbdev/fbcon) (Daniel Vetter)
      
       - add fbcon=margin:<color> command line option to select the fbcon
         margin color (David Lechner)
      
       - add DMI quirk table for x86 systems which need fbcon rotation
         (devices like Asus T100HA, GPD Pocket, the GPD win and the I.T.Works
         TW891) (Hans de Goede)
      
       - fix 1bpp logo support for unusual width (needed by LEGO MINDSTORMS
         EV3) (David Lechner)
      
       - enable Xilinx FB driver for ARM ZynqMP platform (Michal Simek)
      
       - fix use after free in the error path of udlfb driver (Anton Vasilyev)
      
       - fix error return code handling in pxa3xx_gcu driver (Gustavo A. R.
         Silva)
      
       - fix bootparams.screeninfo arguments checking in vgacon (Jan H.
         Schönherr)
      
       - do not leak uninitialized padding in clk to userspace in the debug
         code of atyfb driver (Vladis Dronov)
      
       - fix compiler warnings in fbcon code and matroxfb driver (Arnd
         Bergmann)
      
       - convert fbdev susbsytem to using %pOF instead of full_name (Rob
         Herring)
      
       - structures constifications (Arvind Yadav, Bhumika Goyal, Gustavo A.
         R. Silva, Julia Lawall)
      
       - misc cleanups (Gustavo A. R. Silva, Hyun Kwon, Julia Lawall, Kuninori
         Morimoto, Lynn Lei)
      
      * tag 'fbdev-v4.14' of git://github.com/bzolnier/linux: (75 commits)
        video/console: Update BIOS dates list for GPD win console rotation DMI quirk
        video/console: Add rotated LCD-panel DMI quirk for the VIOS LTH17
        video: fbdev: sis: fix duplicated code for different branches
        video: fbdev: make fb_var_screeninfo const
        video: fbdev: aty: do not leak uninitialized padding in clk to userspace
        vgacon: Prevent faulty bootparams.screeninfo from causing harm
        video: fbdev: make fb_videomode const
        video/console: Add new BIOS date for GPD pocket to dmi quirk table
        fbcon: remove restriction on margin color
        video: ARM CLCD: constify amba_id
        video: fm2fb: constify zorro_device_id
        video: fbdev: annotate fb_fix_screeninfo with const and __initconst
        omapfb: constify omap_video_timings structures
        video: fbdev: udlfb: Fix use after free on dlfb_usb_probe error path
        fbdev: i810: make fb_ops const
        fbdev: matrox: make fb_ops const
        video: fbdev: pxa3xx_gcu: fix error return code in pxa3xx_gcu_probe()
        video: fbdev: Enable Xilinx FB for ZynqMP
        video: fbdev: Fix multiple style issues in xilinxfb
        video: fbdev: udlfb: constify usb_device_id.
        ...
      503f0453
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · 939ae589
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - add support for the watchdog on Meson8 and Meson8m2
      
       - add support for MediaTek MT7623 and MT7622 SoC
      
       - add support for the r8a77995 wdt
      
       - explicitly request exclusive reset control for asm9260_wdt,
         zx2967_wdt, rt2880_wdt and mt7621_wdt
      
       - improvements to asm9260_wdt, aspeed_wdt, renesas_wdt and cadence_wdt
      
       - add support for reading freq via CCF + suspend/resume support for
         of_xilinx_wdt
      
       - constify watchdog_ops and various device-id structures
      
       - revert of commit 1fccb730 ("iTCO_wdt: all versions count down
         twice") (Bug 196509)
      
      * git://www.linux-watchdog.org/linux-watchdog: (40 commits)
        watchdog: mei_wdt: constify mei_cl_device_id
        watchdog: sp805: constify amba_id
        watchdog: ziirave: constify i2c_device_id
        watchdog: sc1200: constify pnp_device_id
        dt-bindings: watchdog: renesas-wdt: Add support for the r8a77995 wdt
        watchdog: renesas_wdt: update copyright dates
        watchdog: renesas_wdt: make 'clk' a variable local to probe()
        watchdog: renesas_wdt: consistently use RuntimePM for clock management
        watchdog: aspeed: Support configuration of external signal properties
        dt-bindings: watchdog: aspeed: External reset signal properties
        drivers/watchdog: Add optional ASPEED device tree properties
        drivers/watchdog: ASPEED reference dev tree properties for config
        watchdog: da9063_wdt: Simplify by removing unneeded struct...
        watchdog: bcm7038: Check the return value from clk_prepare_enable()
        watchdog: qcom: Check for platform_get_resource() failure
        watchdog: of_xilinx_wdt: Add suspend/resume support
        watchdog: of_xilinx_wdt: Add support for reading freq via CCF
        dt-bindings: watchdog: mediatek: add support for MediaTek MT7623 and MT7622 SoC
        watchdog: max77620_wdt: constify platform_device_id
        watchdog: pcwd_usb: constify usb_device_id
        ...
      939ae589
    • Linus Torvalds's avatar
      Merge branch 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · e75f801f
      Linus Torvalds authored
      Pull dmi update from Jean Delvare:
       "Mark all struct dmi_system_id instances const"
      
      * 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        dmi: Mark all struct dmi_system_id instances const
      e75f801f
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · ba768535
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
       "This slew of fixes for pin control was noticed and patched up early,
        so to get the annoyance out of the way for -rc1 it would make sense to
        send them already.
      
         - Fix a build include in the Uniphier driver to keep pace with
           ongoing refactorings.
      
         - Fix a slew of minor semantic and syntactic issues as well as
           stricting up Kconfig for the new Spreadtrum driver.
      
         - Fix the GPIO interrupt set-up on the Marvell 37xx Armada as fallout
           for dynamically allocating irq descriptors from the core. (Also
           tagged for stable.)
      
         - Fix AMD register suspend/resume state spool/unspooling so that
           wakeup works as it should. (Also tagged for stable.)"
      
      * tag 'pinctrl-v4.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl/amd: save pin registers over suspend/resume
        pinctrl: armada-37xx: Fix gpio interrupt setup
        pinctrl: sprd: fix off by one bugs
        pinctrl: sprd: check for allocation failure
        pinctrl: sprd: Restrict PINCTRL_SPRD to ARCH_SPRD or COMPILE_TEST
        pinctrl: sprd: fix build errors and dependencies
        pinctrl: sprd: make three local functions static
        pinctrl: uniphier: include <linux/build_bug.h> instead of <linux/bug.h>
      ba768535
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 7a95bdb0
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "A few leftovers"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        mm, page_owner: skip unnecessary stack_trace entries
        arm64: stacktrace: avoid listing stacktrace functions in stacktrace
        mm: treewide: remove GFP_TEMPORARY allocation flag
        IB/mlx4: fix sprintf format warning
        fscache: fix fscache_objlist_show format processing
        lib/test_bitmap.c: use ULL suffix for 64-bit constants
        procfs: remove unused variable
        drivers/media/cec/cec-adap.c: fix build with gcc-4.4.4
        idr: remove WARN_ON_ONCE() when trying to replace negative ID
      7a95bdb0
    • Markus Elfring's avatar
      orangefs: Adjust three checks for null pointers · 0b08273c
      Markus Elfring authored
      
      
      MIME-Version: 1.0
      Content-Type: text/plain; charset=UTF-8
      Content-Transfer-Encoding: 8bit
      
      The script “checkpatch.pl” pointed information out like the following.
      
      Comparison to NULL could be written !…
      
      Thus fix affected source code places.
      
      Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
      Signed-off-by: default avatarMike Marshall <hubcap@omnibond.com>
      0b08273c
    • Markus Elfring's avatar
      orangefs: Use kcalloc() in orangefs_prepare_cdm_array() · 5e273a0e
      Markus Elfring authored
      
      
      * A multiplication for the size determination of a memory allocation
        indicated that an array data structure should be processed.
        Thus use the corresponding function "kcalloc".
      
        This issue was detected by using the Coccinelle software.
      
      * Replace the specification of a data structure by a pointer dereference
        to make the corresponding size determination a bit safer according to
        the Linux coding style convention.
      
      Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
      Signed-off-by: default avatarMike Marshall <hubcap@omnibond.com>
      5e273a0e
    • Markus Elfring's avatar
      orangefs: Delete error messages for a failed memory allocation in five functions · 07a25853
      Markus Elfring authored
      
      
      Omit an extra message for a memory allocation failure in these functions.
      
      This issue was detected by using the Coccinelle software.
      
      Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
      Signed-off-by: default avatarMike Marshall <hubcap@omnibond.com>
      07a25853
    • Julia Lawall's avatar
      orangefs: constify xattr_handler structure · 12174444
      Julia Lawall authored
      
      
      The xattr_handler structure is only stored in an array of const
      structures.  Thus the xattr_handler structure itself can be
      const.
      
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarMike Marshall <hubcap@omnibond.com>
      12174444
    • Jeff Layton's avatar
      orangefs: don't call filemap_write_and_wait from fsync · 49e55713
      Jeff Layton authored
      
      
      Orangefs doesn't do buffered writes yet, so there's no point in
      initiating and waiting for writeback.
      
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarMike Marshall <hubcap@omnibond.com>
      49e55713
    • Dan Carpenter's avatar
      orangefs: off by ones in xattr size checks · 5f13e587
      Dan Carpenter authored
      A previous patch which claimed to remove off by ones actually introduced
      them.
      
      strlen() returns the length of the string not including the NUL
      character.  We are using strcpy() to copy "name" into a buffer which is
      ORANGEFS_MAX_XATTR_NAMELEN characters long.  We should make sure to
      leave space for the NUL, otherwise we're writing one character beyond
      the end of the buffer.
      
      Fixes: e675c5ec
      
       ("orangefs: clean up oversize xattr validation")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarMike Marshall <hubcap@omnibond.com>
      5f13e587
    • Mike Marshall's avatar
      orangefs: documentation clean up · ba5e79ea
      Mike Marshall authored
      
      
      Signed-off-by: default avatarMike Marshall <hubcap@omnibond.com>
      ba5e79ea
    • Mike Marshall's avatar
      orangefs: react properly to posix_acl_update_mode's aftermath. · 4bef6900
      Mike Marshall authored
      
      
      posix_acl_update_mode checks to see if the permissions
      described by the ACL can be encoded into the
      object's mode. If so, it sets "acl" to NULL
      and "mode" to the new desired value. Prior to this patch
      we failed to actually propagate the new mode back to the
      server.
      
      Signed-off-by: default avatarMike Marshall <hubcap@omnibond.com>
      4bef6900
    • Jan Kara's avatar
      orangefs: Don't clear SGID when inheriting ACLs · b5accbb0
      Jan Kara authored
      When new directory 'DIR1' is created in a directory 'DIR0' with SGID bit
      set, DIR1 is expected to have SGID bit set (and owning group equal to
      the owning group of 'DIR0'). However when 'DIR0' also has some default
      ACLs that 'DIR1' inherits, setting these ACLs will result in SGID bit on
      'DIR1' to get cleared if user is not member of the owning group.
      
      Fix the problem by creating __orangefs_set_acl() function that does not
      call posix_acl_update_mode() and use it when inheriting ACLs. That
      prevents SGID bit clearing and the mode has been properly set by
      posix_acl_create() anyway.
      
      Fixes: 07393101
      
      
      CC: stable@vger.kernel.org
      CC: Mike Marshall <hubcap@omnibond.com>
      CC: pvfs2-developers@beowulf-underground.org
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarMike Marshall <hubcap@omnibond.com>
      b5accbb0
    • Tim Chen's avatar
      sched/wait: Introduce wakeup boomark in wake_up_page_bit · 11a19c7b
      Tim Chen authored
      
      
      Now that we have added breaks in the wait queue scan and allow bookmark
      on scan position, we put this logic in the wake_up_page_bit function.
      
      We can have very long page wait list in large system where multiple
      pages share the same wait list. We break the wake up walk here to allow
      other cpus a chance to access the list, and not to disable the interrupts
      when traversing the list for too long.  This reduces the interrupt and
      rescheduling latency, and excessive page wait queue lock hold time.
      
      [ v2: Remove bookmark_wake_function ]
      
      Signed-off-by: default avatarTim Chen <tim.c.chen@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      11a19c7b
    • Tim Chen's avatar
      sched/wait: Break up long wake list walk · 2554db91
      Tim Chen authored
      We encountered workloads that have very long wake up list on large
      systems. A waker takes a long time to traverse the entire wake list and
      execute all the wake functions.
      
      We saw page wait list that are up to 3700+ entries long in tests of
      large 4 and 8 socket systems. It took 0.8 sec to traverse such list
      during wake up. Any other CPU that contends for the list spin lock will
      spin for a long time. It is a result of the numa balancing migration of
      hot pages that are shared by many threads.
      
      Multiple CPUs waking are queued up behind the lock, and the last one
      queued has to wait until all CPUs did all the wakeups.
      
      The page wait list is traversed with interrupt disabled, which caused
      various problems. This was the original cause that triggered the NMI
      watch dog timer in: https://patchwork.kernel.org/patch/9800303/
      
       . Only
      extending the NMI watch dog timer there helped.
      
      This patch bookmarks the waker's scan position in wake list and break
      the wake up walk, to allow access to the list before the waker resume
      its walk down the rest of the wait list. It lowers the interrupt and
      rescheduling latency.
      
      This patch also provides a performance boost when combined with the next
      patch to break up page wakeup list walk. We saw 22% improvement in the
      will-it-scale file pread2 test on a Xeon Phi system running 256 threads.
      
      [ v2: Merged in Linus' changes to remove the bookmark_wake_function, and
        simply access to flags. ]
      
      Reported-by: default avatarKan Liang <kan.liang@intel.com>
      Tested-by: default avatarKan Liang <kan.liang@intel.com>
      Signed-off-by: default avatarTim Chen <tim.c.chen@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2554db91
  3. Sep 14, 2017