Skip to content
  1. Sep 10, 2019
  2. Aug 29, 2019
    • J. Bruce Fields's avatar
      nfsd: eliminate an unnecessary acl size limit · 2b86e3aa
      J. Bruce Fields authored
      
      
      We're unnecessarily limiting the size of an ACL to less than what most
      filesystems will support.  Some users do hit the limit and it's
      confusing and unnecessary.
      
      It still seems prudent to impose some limit on the number of ACEs the
      client gives us before passing it straight to kmalloc().  So, let's just
      limit it to the maximum number that would be possible given the amount
      of data left in the argument buffer.
      
      That will still leave one limit beyond whatever the filesystem imposes:
      the client and server negotiate a limit on the size of a request, which
      we have to respect.
      
      But we're no longer imposing any additional arbitrary limit.
      
      struct nfs4_ace is 20 bytes on my system and the maximum call size we'll
      negotiate is about a megabyte, so in practice this is limiting the
      allocation here to about a megabyte.
      
      Reported-by: default avatar"de Vandiere, Louis" <louis.devandiere@atos.net>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      2b86e3aa
  3. Aug 26, 2019
    • J. Bruce Fields's avatar
      Deprecate nfsd fault injection · 9d60d931
      J. Bruce Fields authored
      
      
      This is only useful for client testing.  I haven't really maintained it,
      and reference counting and locking are wrong at this point.  You can get
      some of the same functionality now from nfsd/clients/.
      
      It was a good idea but I think its time has passed.
      
      In the unlikely event of users, hopefully the BROKEN dependency will
      prompt them to speak up.  Otherwise I expect to remove it soon.
      
      Reported-by: default avatarAlex Lyakas <alex@zadara.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      9d60d931
  4. Aug 20, 2019
  5. Aug 19, 2019
  6. Aug 17, 2019
    • J. Bruce Fields's avatar
      nfsd: Remove unnecessary NULL checks · 10fa8acf
      J. Bruce Fields authored
      
      
      "cb" is never actually NULL in these functions.
      
      On a quick skim of the history, they seem to have been there from the
      beginning.  I'm not sure if they originally served a purpose.
      
      Reported-by: default avatarJia-Ju Bai <baijiaju1990@gmail.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      10fa8acf
    • J. Bruce Fields's avatar
      Merge nfsd bugfixes · 4f375483
      J. Bruce Fields authored
      These are some nfsd bugfixes that I also want in the main branch that
      will be submitted for the 5.4 merge window.
      4f375483
    • He Zhe's avatar
      nfsd4: Fix kernel crash when reading proc file reply_cache_stats · 78e70e78
      He Zhe authored
      reply_cache_stats uses wrong parameter as seq file private structure and
      thus causes the following kernel crash when users read
      /proc/fs/nfsd/reply_cache_stats
      
      BUG: kernel NULL pointer dereference, address: 00000000000001f9
      PGD 0 P4D 0
      Oops: 0000 [#3] SMP PTI
      CPU: 6 PID: 1502 Comm: cat Tainted: G      D           5.3.0-rc3+ #1
      Hardware name: Intel Corporation Broadwell Client platform/Basking Ridge, BIOS BDW-E2R1.86C.0118.R01.1503110618 03/11/2015
      RIP: 0010:nfsd_reply_cache_stats_show+0x3b/0x2d0
      Code: 41 54 49 89 f4 48 89 fe 48 c7 c7 b3 10 33 88 53 bb e8 03 00 00 e8 88 82 d1 ff bf 58 89 41 00 e8 eb c5 85 00 48 83 eb 01 75 f0 <41> 8b 94 24 f8 01 00 00 48 c7 c6 be 10 33 88 4c 89 ef bb e8 03 00
      RSP: 0018:ffffaa520106fe08 EFLAGS: 00010246
      RAX: 000000cfe1a77123 RBX: 0000000000000000 RCX: 0000000000291b46
      RDX: 000000cf00000000 RSI: 0000000000000006 RDI: 0000000000291b28
      RBP: ffffaa520106fe20 R08: 0000000000000006 R09: 000000cfe17e55dd
      R10: ffffa424e47c0000 R11: 000000000000030b R12: 0000000000000001
      R13: ffffa424e5697000 R14: 0000000000000001 R15: ffffa424e5697000
      FS:  00007f805735f580(0000) GS:ffffa424f8f80000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00000000000001f9 CR3: 00000000655ce005 CR4: 00000000003606e0
      Call Trace:
       seq_read+0x194/0x3e0
       __vfs_read+0x1b/0x40
       vfs_read+0x95/0x140
       ksys_read+0x61/0xe0
       __x64_sys_read+0x1a/0x20
       do_syscall_64+0x4d/0x120
       entry_SYSCALL_64_after_hwframe+0x44/0xa9
      RIP: 0033:0x7f805728b861
      Code: fe ff ff 50 48 8d 3d 86 b4 09 00 e8 79 e0 01 00 66 0f 1f 84 00 00 00 00 00 48 8d 05 d9 19 0d 00 8b 00 85 c0 75 13 31 c0 0f 05 <48> 3d 00 f0 ff ff 77 57 c3 66 0f 1f 44 00 00 48 83 ec 28 48 89 54
      RSP: 002b:00007ffea1ce3c38 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
      RAX: ffffffffffffffda RBX: 0000000000020000 RCX: 00007f805728b861
      RDX: 0000000000020000 RSI: 00007f8057183000 RDI: 0000000000000003
      RBP: 00007f8057183000 R08: 00007f8057182010 R09: 0000000000000000
      R10: 0000000000000022 R11: 0000000000000246 R12: 0000559a60e8ff10
      R13: 0000000000000003 R14: 0000000000020000 R15: 0000000000020000
      Modules linked in:
      CR2: 00000000000001f9
      ---[ end trace 01613595153f0cba ]---
      RIP: 0010:nfsd_reply_cache_stats_show+0x3b/0x2d0
      Code: 41 54 49 89 f4 48 89 fe 48 c7 c7 b3 10 33 88 53 bb e8 03 00 00 e8 88 82 d1 ff bf 58 89 41 00 e8 eb c5 85 00 48 83 eb 01 75 f0 <41> 8b 94 24 f8 01 00 00 48 c7 c6 be 10 33 88 4c 89 ef bb e8 03 00
      RSP: 0018:ffffaa52004b3e08 EFLAGS: 00010246
      RAX: 0000002bab45a7c6 RBX: 0000000000000000 RCX: 0000000000291b4c
      RDX: 0000002b00000000 RSI: 0000000000000004 RDI: 0000000000291b28
      RBP: ffffaa52004b3e20 R08: 0000000000000004 R09: 0000002bab1c8c7a
      R10: ffffa424e5500000 R11: 00000000000002a9 R12: 0000000000000001
      R13: ffffa424e4475000 R14: 0000000000000001 R15: ffffa424e4475000
      FS:  00007f805735f580(0000) GS:ffffa424f8f80000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00000000000001f9 CR3: 00000000655ce005 CR4: 00000000003606e0
      Killed
      
      Fixes: 3ba75830
      
       ("nfsd4: drc containerization")
      Signed-off-by: default avatarHe Zhe <zhe.he@windriver.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      78e70e78
  7. Aug 16, 2019
  8. Jul 30, 2019
    • Dave Wysochanski's avatar
      SUNRPC: Track writers of the 'channel' file to improve cache_listeners_exist · 64a38e84
      Dave Wysochanski authored
      
      
      The sunrpc cache interface is susceptible to being fooled by a rogue
      process just reading a 'channel' file.  If this happens the kernel
      may think a valid daemon exists to service the cache when it does not.
      For example, the following may fool the kernel:
      cat /proc/net/rpc/auth.unix.gid/channel
      
      Change the tracking of readers to writers when considering whether a
      listener exists as all valid daemon processes either open a channel
      file O_RDWR or O_WRONLY.  While this does not prevent a rogue process
      from "stealing" a message from the kernel, it does at least improve
      the kernels perception of whether a valid process servicing the cache
      exists.
      
      Signed-off-by: default avatarDave Wysochanski <dwysocha@redhat.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      64a38e84
  9. Jul 29, 2019
    • Linus Torvalds's avatar
      Linux 5.3-rc2 · 609488bc
      Linus Torvalds authored
      609488bc
    • Linus Torvalds's avatar
      Merge tag 'meminit-v5.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · c622fc5f
      Linus Torvalds authored
      Pull structleak fix from Kees Cook:
       "Disable gcc-based stack variable auto-init under KASAN (Arnd
        Bergmann).
      
        This fixes a bunch of build warnings under KASAN and the
        gcc-plugin-based stack auto-initialization features (which are
        arguably redundant, so better to let KASAN control this)"
      
      * tag 'meminit-v5.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        structleak: disable STRUCTLEAK_BYREF in combination with KASAN_STACK
      c622fc5f
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v5.3' of... · 8e61ea11
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - add compile_commands.json to .gitignore
      
       - fix false-positive warning from gen_compile_commands.py after
         allnoconfig build
      
       - remove unused code
      
      * tag 'kbuild-fixes-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: remove unused single-used-m
        gen_compile_commands: lower the entry count threshold
        .gitignore: Add compilation database file
        kbuild: remove unused objectify macro
      8e61ea11
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 04ce9318
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are some small char and misc driver fixes for 5.3-rc2 to resolve
        some reported issues.
      
        Nothing major at all, some binder bugfixes for issues found, some new
        mei device ids, firmware building warning fixes, habanalabs fixes, a
        few other build fixes, and a MAINTAINERS update.
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'char-misc-5.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        test_firmware: fix a memory leak bug
        hpet: Fix division by zero in hpet_time_div()
        eeprom: make older eeprom drivers select NVMEM_SYSFS
        vmw_balloon: Remove Julien from the maintainers list
        fpga-manager: altera-ps-spi: Fix build error
        mei: me: add mule creek canyon (EHL) device ids
        binder: prevent transactions to context manager from its own process.
        binder: Set end of SG buffer area properly.
        firmware: Fix missing inline
        firmware: fix build errors in paged buffer handling code
        habanalabs: don't reset device when getting VRHOT
        habanalabs: use %pad for printing a dma_addr_t
      04ce9318
    • Linus Torvalds's avatar
      Merge tag 'tty-5.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 572782b2
      Linus Torvalds authored
      Pull tty fixes from Greg KH:
       "Here are two tty/vt fixes:
      
         - delete the netx-serial driver as the arch has been removed, no need
           to keep the serial driver for it around either.
      
         - vt console_lock fix to resolve a reported noisy warning at runtime
      
        Both of these have been in linux-next with no reported issues"
      
      * tag 'tty-5.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        vt: Grab console_lock around con_is_bound in show_bind
        tty: serial: netx: Delete driver
      572782b2
    • Linus Torvalds's avatar
      Merge tag 'spdx-5.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx · ad28fd1c
      Linus Torvalds authored
      Pull SPDX fixes from Greg KH:
       "Here are some small SPDX fixes for 5.3-rc2 for things that came in
        during the 5.3-rc1 merge window that we previously missed.
      
        Only three small patches here:
      
         - two uapi patches to resolve some SPDX tags that were not correct
      
         - fix an invalid SPDX tag in the iomap Makefile file
      
        All have been properly reviewed on the public mailing lists"
      
      * tag 'spdx-5.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx:
        iomap: fix Invalid License ID
        treewide: remove SPDX "WITH Linux-syscall-note" from kernel-space headers again
        treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers
      ad28fd1c
    • Linus Torvalds's avatar
      Merge tag 'usb-5.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 29af915c
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are some small fixes for 5.3-rc2. All of these resolve some
        reported issues, some more than others :)
      
        Included in here is:
      
         - xhci fix for an annoying issue with odd devices
      
         - reversion of some usb251xb patches that should not have been merged
      
         - usb pci quirk additions and fixups
      
         - usb storage fix
      
         - usb host controller error test fix
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-5.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        xhci: Fix crash if scatter gather is used with Immediate Data Transfer (IDT).
        usb: usb251xb: Reallow swap-dx-lanes to apply to the upstream port
        Revert "usb: usb251xb: Add US port lanes inversion property"
        Revert "usb: usb251xb: Add US lanes inversion dts-bindings"
        usb: wusbcore: fix unbalanced get/put cluster_id
        usb/hcd: Fix a NULL vs IS_ERR() bug in usb_hcd_setup_local_mem()
        usb-storage: Add a limitation for blk_queue_max_hw_sectors()
        usb: pci-quirks: Minor cleanup for AMD PLL quirk
        usb: pci-quirks: Correct AMD PLL quirk detection
      29af915c
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 5bb575bc
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "Here's the first batch of fixes for this release cycle.
      
        Main diffstat here is the re-deletion of netx. I messed up and most
        likely didn't remove the files from the index when I test-merged this
        and saw conflicts, and from there on out 'git rerere' remembered the
        mistake and I missed checking it. Here it's done again as expected.
      
        Besides that:
      
         - A defconfig refresh + enabling of new drivers for u8500
      
         - i.MX fixlets for i2c/SAI/pinmux
      
         - sleep.S build fix for Davinci
      
         - Broadcom devicetree build/warning fix"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        ARM: defconfig: u8500: Add new drivers
        ARM: defconfig: u8500: Refresh defconfig
        ARM: dts: bcm: bcm47094: add missing #cells for mdio-bus-mux
        ARM: davinci: fix sleep.S build error on ARMv4
        arm64: dts: imx8mq: fix SAI compatible
        arm64: dts: imx8mm: Correct SAI3 RXC/TXFS pin's mux option #1
        ARM: dts: imx6ul: fix clock frequency property name of I2C buses
        ARM: Delete netx a second time
        ARM: dts: imx7ulp: Fix usb-phy unit address format
      5bb575bc
  10. Jul 28, 2019
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a9815a4f
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "A set of x86 fixes and functional updates:
      
         - Prevent stale huge I/O TLB mappings on 32bit. A long standing bug
           which got exposed by KPTI support for 32bit
      
         - Prevent bogus access_ok() warnings in arch_stack_walk_user()
      
         - Add display quirks for Lenovo devices which have height and width
           swapped
      
         - Add the missing CR2 fixup for 32 bit async pagefaults. Fallout of
           the CR2 bug fix series.
      
         - Unbreak handling of force enabled HPET by moving the 'is HPET
           counting' check back to the original place.
      
         - A more accurate check for running on a hypervisor platform in the
           MDS mitigation code. Not perfect, but more accurate than the
           previous one.
      
         - Update a stale and confusing comment vs. IRQ stacks"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/speculation/mds: Apply more accurate check on hypervisor platform
        x86/hpet: Undo the early counter is counting check
        x86/entry/32: Pass cr2 to do_async_page_fault()
        x86/irq/64: Update stale comment
        x86/sysfb_efi: Add quirks for some devices with swapped width and height
        x86/stacktrace: Prevent access_ok() warnings in arch_stack_walk_user()
        mm/vmalloc: Sync unmappings in __purge_vmap_area_lazy()
        x86/mm: Sync also unmappings in vmalloc_sync_all()
        x86/mm: Check for pfn instead of page in vmalloc_sync_one()
      a9815a4f
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e24ce84e
      Linus Torvalds authored
      Pull scheduler fixes from Thomas Gleixner:
       "Two fixes for the fair scheduling class:
      
         - Prevent freeing memory which is accessible by concurrent readers
      
         - Make the RCU annotations for numa groups consistent"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/fair: Use RCU accessors consistently for ->numa_group
        sched/fair: Don't free p->numa_faults with concurrent readers
      e24ce84e
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 750991f9
      Linus Torvalds authored
      Pull perf fixes from Thomas Gleixner:
       "A pile of perf related fixes:
      
        Kernel:
         - Fix SLOTS PEBS event constraints for Icelake CPUs
      
         - Add the missing mask bit to allow counting hardware generated
           prefetches on L3 for Icelake CPUs
      
         - Make the test for hypervisor platforms more accurate (as far as
           possible)
      
         - Handle PMUs correctly which override event->cpu
      
         - Yet another missing fallthrough annotation
      
        Tools:
           perf.data:
              - Fix loading of compressed data split across adjacent records
              - Fix buffer size setting for processing CPU topology perf.data
                header.
      
           perf stat:
              - Fix segfault for event group in repeat mode
              - Always separate "stalled cycles per insn" line, it was being
                appended to the "instructions" line.
      
           perf script:
              - Fix --max-blocks man page description.
              - Improve man page description of metrics.
              - Fix off by one in brstackinsn IPC computation.
      
           perf probe:
              - Avoid calling freeing routine multiple times for same pointer.
      
           perf build:
              - Do not use -Wshadow on gcc < 4.8, avoiding too strict warnings
                treated as errors, breaking the build"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/intel: Mark expected switch fall-throughs
        perf/core: Fix creating kernel counters for PMUs that override event->cpu
        perf/x86: Apply more accurate check on hypervisor platform
        perf/x86/intel: Fix invalid Bit 13 for Icelake MSR_OFFCORE_RSP_x register
        perf/x86/intel: Fix SLOTS PEBS event constraint
        perf build: Do not use -Wshadow on gcc < 4.8
        perf probe: Avoid calling freeing routine multiple times for same pointer
        perf probe: Set pev->nargs to zero after freeing pev->args entries
        perf session: Fix loading of compressed data split across adjacent records
        perf stat: Always separate stalled cycles per insn
        perf stat: Fix segfault for event group in repeat mode
        perf tools: Fix proper buffer size for feature processing
        perf script: Fix off by one in brstackinsn IPC computation
        perf script: Improve man page description of metrics
        perf script: Fix --max-blocks man page description
      750991f9