1. 21 Jul, 2020 8 commits
    • Eric W. Biederman's avatar
      Implement kernel_execve · 7fce69df
      Eric W. Biederman authored
      This set of changes implements kernel_execve to remove the need for
      kernel threads to pass in pointers to in-kernel data structures
      to functions that take __user pointers.   Which is part of the
      greater removal of set_fs work.
      
      This set of changes makes do_execve static and so I have updated the
      comments.  This affects the comments in the x86 entry point code
      and the comments in tomoyo.  I believe I have updated them correctly.
      If not please let me know.
      
      I have moved the calls of copy_strings before the call of
      security_bprm_creds_for_exec.  Which might be of interest to the
      security folks.  I can't see that it matters but I have copied the
      security folks just to be certain.
      
      By moving the initialization of the new stack that copy_strings does
      earlier it becomes possible to copy all of the parameters to exec before
      anything else is done which makes it possible to have one function
      kernel_execve that uncondtionally handles copying parameters from kernel
      space, and another function do_execveat_common which handles copying
      parameters from userspace.
      
      This work was inspired by Christoph Hellwig's similar patchset, which my
      earlier work to remove the file parameter to do_execveat_common
      conflicted with.
      https://lore.kernel.org/linux-fsdevel/20200627072704.2447163-1-hch@lst.de/
      
      I figured that after causing all of that trouble for the set_fs work
      the least I could do is implement the change myself.
      
      The big practical change from Christoph's work is that he did not
      separate out the copying of parameters from the rest of the work of
      exec, which did not help the maintainability of the code.
      
      Eric W. Biederman (7):
            exec: Remove unnecessary spaces from binfmts.h
            exec: Factor out alloc_bprm
            exec: Move initialization of bprm->filename into alloc_bprm
            exec: Move bprm_mm_init into alloc_bprm
            exec: Factor bprm_execve out of do_execve_common
            exec: Factor bprm_stack_limits out of prepare_arg_pages
            exec: Implement kernel_execve
      
       arch/x86/entry/entry_32.S      |   2 +-
       arch/x86/entry/entry_64.S      |   2 +-
       arch/x86/kernel/unwind_frame.c |   2 +-
       fs/exec.c                      | 301 ++++++++++++++++++++++++++++-------------
       include/linux/binfmts.h        |  20 ++-
       init/main.c                    |   4 +-
       kernel/umh.c                   |   6 +-
       security/tomoyo/common.h       |   2 +-
       security/tomoyo/domain.c       |   4 +-
       security/tomoyo/tomoyo.c       |   4 +-
       10 files changed, 224 insertions(+), 123 deletions(-)
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Link: https://lkml.kernel.org/r/871rle8bw2.fsf@x220.int.ebiederm.orgSigned-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      7fce69df
    • Eric W. Biederman's avatar
      exec: Implement kernel_execve · be619f7f
      Eric W. Biederman authored
      To allow the kernel not to play games with set_fs to call exec
      implement kernel_execve.  The function kernel_execve takes pointers
      into kernel memory and copies the values pointed to onto the new
      userspace stack.
      
      The calls with arguments from kernel space of do_execve are replaced
      with calls to kernel_execve.
      
      The calls do_execve and do_execveat are made static as there are now
      no callers outside of exec.
      
      The comments that mention do_execve are updated to refer to
      kernel_execve or execve depending on the circumstances.  In addition
      to correcting the comments, this makes it easy to grep for do_execve
      and verify it is not used.
      
      Inspired-by: https://lkml.kernel.org/r/20200627072704.2447163-1-hch@lst.deReviewed-by: default avatarKees Cook <keescook@chromium.org>
      Link: https://lkml.kernel.org/r/87wo365ikj.fsf@x220.int.ebiederm.orgSigned-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      be619f7f
    • Eric W. Biederman's avatar
      exec: Factor bprm_stack_limits out of prepare_arg_pages · d8b9cd54
      Eric W. Biederman authored
      In preparation for implementiong kernel_execve (which will take kernel
      pointers not userspace pointers) factor out bprm_stack_limits out of
      prepare_arg_pages.  This separates the counting which depends upon the
      getting data from userspace from the calculations of the stack limits
      which is usable in kernel_execve.
      
      The remove prepare_args_pages and compute bprm->argc and bprm->envc
      directly in do_execveat_common, before bprm_stack_limits is called.
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Link: https://lkml.kernel.org/r/87365u6x60.fsf@x220.int.ebiederm.orgSigned-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      d8b9cd54
    • Eric W. Biederman's avatar
      exec: Factor bprm_execve out of do_execve_common · 0c9cdff0
      Eric W. Biederman authored
      Currently it is necessary for the usermode helper code and the code
      that launches init to use set_fs so that pages coming from the kernel
      look like they are coming from userspace.
      
      To allow that usage of set_fs to be removed cleanly the argument
      copying from userspace needs to happen earlier.  Factor bprm_execve
      out of do_execve_common to separate out the copying of arguments
      to the newe stack, and the rest of exec.
      
      In separating bprm_execve from do_execve_common the copying
      of the arguments onto the new stack happens earlier.
      
      As the copying of the arguments does not depend any security hooks,
      files, the file table, current->in_execve, current->fs->in_exec,
      bprm->unsafe, or creds this is safe.
      
      Likewise the security hook security_creds_for_exec does not depend upon
      preventing the argument copying from happening.
      
      In addition to making it possible to implement kernel_execve that
      performs the copying differently, this separation of bprm_execve from
      do_execve_common makes for a nice separation of responsibilities making
      the exec code easier to navigate.
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Link: https://lkml.kernel.org/r/878sfm6x6x.fsf@x220.int.ebiederm.orgSigned-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      0c9cdff0
    • Eric W. Biederman's avatar
      exec: Move bprm_mm_init into alloc_bprm · f18ac551
      Eric W. Biederman authored
      Currently it is necessary for the usermode helper code and the code that
      launches init to use set_fs so that pages coming from the kernel look like
      they are coming from userspace.
      
      To allow that usage of set_fs to be removed cleanly the argument copying
      from userspace needs to happen earlier.  Move the allocation and
      initialization of bprm->mm into alloc_bprm so that the bprm->mm is
      available early to store the new user stack into.  This is a prerequisite
      for copying argv and envp into the new user stack early before ther rest of
      exec.
      
      To keep the things consistent the cleanup of bprm->mm is moved into
      free_bprm.  So that bprm->mm will be cleaned up whenever bprm->mm is
      allocated and free_bprm are called.
      
      Moving bprm_mm_init earlier is safe as it does not depend on any files,
      current->in_execve, current->fs->in_exec, bprm->unsafe, or the if the file
      table is shared. (AKA bprm_mm_init does not depend on any of the code that
      happens between alloc_bprm and where it was previously called.)
      
      This moves bprm->mm cleanup after current->fs->in_exec is set to 0.  This
      is safe because current->fs->in_exec is only used to preventy taking an
      additional reference on the fs_struct.
      
      This moves bprm->mm cleanup after current->in_execve is set to 0.  This is
      safe because current->in_execve is only used by the lsms (apparmor and
      tomoyou) and always for LSM specific functions, never for anything to do
      with the mm.
      
      This adds bprm->mm cleanup into the successful return path.  This is safe
      because being on the successful return path implies that begin_new_exec
      succeeded and set brpm->mm to NULL.  As bprm->mm is NULL bprm cleanup I am
      moving into free_bprm will do nothing.
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Link: https://lkml.kernel.org/r/87eepe6x7p.fsf@x220.int.ebiederm.orgSigned-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      f18ac551
    • Eric W. Biederman's avatar
      exec: Move initialization of bprm->filename into alloc_bprm · 60d9ad1d
      Eric W. Biederman authored
      Currently it is necessary for the usermode helper code and the code
      that launches init to use set_fs so that pages coming from the kernel
      look like they are coming from userspace.
      
      To allow that usage of set_fs to be removed cleanly the argument
      copying from userspace needs to happen earlier.  Move the computation
      of bprm->filename and possible allocation of a name in the case
      of execveat into alloc_bprm to make that possible.
      
      The exectuable name, the arguments, and the environment are
      copied into the new usermode stack which is stored in bprm
      until exec passes the point of no return.
      
      As the executable name is copied first onto the usermode stack
      it needs to be known.  As there are no dependencies to computing
      the executable name, compute it early in alloc_bprm.
      
      As an implementation detail if the filename needs to be generated
      because it embeds a file descriptor store that filename in a new field
      bprm->fdpath, and free it in free_bprm.  Previously this was done in
      an independent variable pathbuf.  I have renamed pathbuf fdpath
      because fdpath is more suggestive of what kind of path is in the
      variable.  I moved fdpath into struct linux_binprm because it is
      tightly tied to the other variables in struct linux_binprm, and as
      such is needed to allow the call alloc_binprm to move.
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Link: https://lkml.kernel.org/r/87k0z66x8f.fsf@x220.int.ebiederm.orgSigned-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      60d9ad1d
    • Eric W. Biederman's avatar
      exec: Factor out alloc_bprm · 0a8f36eb
      Eric W. Biederman authored
      Currently it is necessary for the usermode helper code and the code
      that launches init to use set_fs so that pages coming from the kernel
      look like they are coming from userspace.
      
      To allow that usage of set_fs to be removed cleanly the argument
      copying from userspace needs to happen earlier.  Move the allocation
      of the bprm into it's own function (alloc_bprm) and move the call of
      alloc_bprm before unshare_files so that bprm can ultimately be
      allocated, the arguments can be placed on the new stack, and then the
      bprm can be passed into the core of exec.
      
      Neither the allocation of struct binprm nor the unsharing depend upon each
      other so swapping the order in which they are called is trivially safe.
      
      To keep things consistent the order of cleanup at the end of
      do_execve_common swapped to match the order of initialization.
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Link: https://lkml.kernel.org/r/87pn8y6x9a.fsf@x220.int.ebiederm.orgSigned-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      0a8f36eb
    • Eric W. Biederman's avatar
      exec: Remove unnecessary spaces from binfmts.h · 9746c9be
      Eric W. Biederman authored
      The general convention in the linux kernel is to define a pointer
      member as "type *name".  The declaration of struct linux_binprm has
      several pointer defined as "type * name".  Update them to the
      form of "type *name" for consistency.
      Suggested-by: default avatarKees Cook <keescook@chromium.org>
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Link: https://lkml.kernel.org/r/87v9iq6x9x.fsf@x220.int.ebiederm.orgSigned-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      9746c9be
  2. 08 Jul, 2020 1 commit
    • Eric W. Biederman's avatar
      Make the user mode driver code a better citizen · f06b71fe
      Eric W. Biederman authored
      This is the third round of my changeset to split the user mode driver
      code from the user mode helper code, and to make the code use common
      facilities to get things done instead of recreating them just
      for the user mode driver code.
      
      I have split the changes into small enough pieces so they should be
      easily readable and testable.
      
      The changes lean into the preexisting interfaces in the kernel and
      remove special cases for user mode driver code in favor of solutions
      that don't need special cases.  This results in smaller code with fewer
      bugs.
      
      At a practical level this removes the maintenance burden of the user
      mode drivers from the user mode helper code and from exec as the special
      cases are removed.
      
      Similarly the LSM interaction bugs are fixed by not having unnecessary
      special cases for user mode drivers.
      
      I have tested thes changes by booting with the code compiled in and
      by killing "bpfilter_umh" and "running iptables -vnL" to restart
      the userspace driver, also by running "while true; do iptables -L;rmmod
      bpfilter; done" to verify the module load and unload work properly.
      
      I have compiled tested each change with and without CONFIG_BPFILTER
      enabled.
      
      From v2 to v3 I have made two siginficant changes.
      - I factored thread_group_exit out of pidfd_poll to allow the test
        to be used by the bpfilter code.
      - I renamed umd.c and umd.h to usermode_driver.c and usermode_driver.h
        respectively.
      
      I made a few very small changes from v1 to v2:
      - Updated the function name in a comment when the function is renamed
      - Moved some more code so that the the !CONFIG_BPFILTER case continues
        to compile when I moved the code into umd.c
      - A fix for the module loading case to really flush the file descriptor.
      - Removed split_argv entirely from fork_usermode_driver.
        There was nothing to split so it was just confusing.
      
      Please let me know if you see any bugs.  Once the code review is
      finished I plan to place the code in a non-rebasing branch
      so I can pull it into my tree and so it can also be pulled into
      the bpf-next tree.
      
      v1: https://lkml.kernel.org/r/87pn9mgfc2.fsf_-_@x220.int.ebiederm.org
      v2: https://lkml.kernel.org/r/87bll17ili.fsf_-_@x220.int.ebiederm.org
      
      Eric W. Biederman (16):
            umh: Capture the pid in umh_pipe_setup
            umh: Move setting PF_UMH into umh_pipe_setup
            umh: Rename the user mode driver helpers for clarity
            umh: Remove call_usermodehelper_setup_file.
            umh: Separate the user mode driver and the user mode helper support
            umd: For clarity rename umh_info umd_info
            umd: Rename umd_info.cmdline umd_info.driver_name
            umd: Transform fork_usermode_blob into fork_usermode_driver
            umh: Stop calling do_execve_file
            exec: Remove do_execve_file
            bpfilter: Move bpfilter_umh back into init data
            umd: Track user space drivers with struct pid
            exit: Factor thread_group_exited out of pidfd_poll
            bpfilter: Take advantage of the facilities of struct pid
            umd: Remove exit_umh
            umd: Stop using split_argv
      
      Link: https://lkml.kernel.org/r/87y2o1swee.fsf_-_@x220.int.ebiederm.orgSigned-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      f06b71fe
  3. 07 Jul, 2020 4 commits
  4. 04 Jul, 2020 12 commits
  5. 14 Jun, 2020 4 commits
    • Linus Torvalds's avatar
      Linux 5.8-rc1 · b3a9e3b9
      Linus Torvalds authored
      b3a9e3b9
    • Linus Torvalds's avatar
      Merge tag 'LSM-add-setgid-hook-5.8-author-fix' of git://github.com/micah-morton/linux · 4a87b197
      Linus Torvalds authored
      Pull SafeSetID update from Micah Morton:
       "Add additional LSM hooks for SafeSetID
      
        SafeSetID is capable of making allow/deny decisions for set*uid calls
        on a system, and we want to add similar functionality for set*gid
        calls.
      
        The work to do that is not yet complete, so probably won't make it in
        for v5.8, but we are looking to get this simple patch in for v5.8
        since we have it ready.
      
        We are planning on the rest of the work for extending the SafeSetID
        LSM being merged during the v5.9 merge window"
      
      * tag 'LSM-add-setgid-hook-5.8-author-fix' of git://github.com/micah-morton/linux:
        security: Add LSM hooks to set*gid syscalls
      4a87b197
    • Thomas Cedeno's avatar
      security: Add LSM hooks to set*gid syscalls · 39030e13
      Thomas Cedeno authored
      The SafeSetID LSM uses the security_task_fix_setuid hook to filter
      set*uid() syscalls according to its configured security policy. In
      preparation for adding analagous support in the LSM for set*gid()
      syscalls, we add the requisite hook here. Tested by putting print
      statements in the security_task_fix_setgid hook and seeing them get hit
      during kernel boot.
      Signed-off-by: default avatarThomas Cedeno <thomascedeno@google.com>
      Signed-off-by: default avatarMicah Morton <mortonm@chromium.org>
      39030e13
    • Linus Torvalds's avatar
      Merge tag 'for-5.8-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 9d645db8
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "This reverts the direct io port to iomap infrastructure of btrfs
        merged in the first pull request. We found problems in invalidate page
        that don't seem to be fixable as regressions or without changing iomap
        code that would not affect other filesystems.
      
        There are four reverts in total, but three of them are followup
        cleanups needed to revert a43a67a2 cleanly. The result is the
        buffer head based implementation of direct io.
      
        Reverts are not great, but under current circumstances I don't see
        better options"
      
      * tag 'for-5.8-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        Revert "btrfs: switch to iomap_dio_rw() for dio"
        Revert "fs: remove dio_end_io()"
        Revert "btrfs: remove BTRFS_INODE_READDIO_NEED_LOCK"
        Revert "btrfs: split btrfs_direct_IO to read and write part"
      9d645db8
  6. 13 Jun, 2020 11 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 96144c58
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix cfg80211 deadlock, from Johannes Berg.
      
       2) RXRPC fails to send norigications, from David Howells.
      
       3) MPTCP RM_ADDR parsing has an off by one pointer error, fix from
          Geliang Tang.
      
       4) Fix crash when using MSG_PEEK with sockmap, from Anny Hu.
      
       5) The ucc_geth driver needs __netdev_watchdog_up exported, from
          Valentin Longchamp.
      
       6) Fix hashtable memory leak in dccp, from Wang Hai.
      
       7) Fix how nexthops are marked as FDB nexthops, from David Ahern.
      
       8) Fix mptcp races between shutdown and recvmsg, from Paolo Abeni.
      
       9) Fix crashes in tipc_disc_rcv(), from Tuong Lien.
      
      10) Fix link speed reporting in iavf driver, from Brett Creeley.
      
      11) When a channel is used for XSK and then reused again later for XSK,
          we forget to clear out the relevant data structures in mlx5 which
          causes all kinds of problems. Fix from Maxim Mikityanskiy.
      
      12) Fix memory leak in genetlink, from Cong Wang.
      
      13) Disallow sockmap attachments to UDP sockets, it simply won't work.
          From Lorenz Bauer.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (83 commits)
        net: ethernet: ti: ale: fix allmulti for nu type ale
        net: ethernet: ti: am65-cpsw-nuss: fix ale parameters init
        net: atm: Remove the error message according to the atomic context
        bpf: Undo internal BPF_PROBE_MEM in BPF insns dump
        libbpf: Support pre-initializing .bss global variables
        tools/bpftool: Fix skeleton codegen
        bpf: Fix memlock accounting for sock_hash
        bpf: sockmap: Don't attach programs to UDP sockets
        bpf: tcp: Recv() should return 0 when the peer socket is closed
        ibmvnic: Flush existing work items before device removal
        genetlink: clean up family attributes allocations
        net: ipa: header pad field only valid for AP->modem endpoint
        net: ipa: program upper nibbles of sequencer type
        net: ipa: fix modem LAN RX endpoint id
        net: ipa: program metadata mask differently
        ionic: add pcie_print_link_status
        rxrpc: Fix race between incoming ACK parser and retransmitter
        net/mlx5: E-Switch, Fix some error pointer dereferences
        net/mlx5: Don't fail driver on failure to create debugfs
        net/mlx5e: CT: Fix ipv6 nat header rewrite actions
        ...
      96144c58
    • David Sterba's avatar
      Revert "btrfs: switch to iomap_dio_rw() for dio" · 55e20bd1
      David Sterba authored
      This reverts commit a43a67a2.
      
      This patch reverts the main part of switching direct io implementation
      to iomap infrastructure. There's a problem in invalidate page that
      couldn't be solved as regression in this development cycle.
      
      The problem occurs when buffered and direct io are mixed, and the ranges
      overlap. Although this is not recommended, filesystems implement
      measures or fallbacks to make it somehow work. In this case, fallback to
      buffered IO would be an option for btrfs (this already happens when
      direct io is done on compressed data), but the change would be needed in
      the iomap code, bringing new semantics to other filesystems.
      
      Another problem arises when again the buffered and direct ios are mixed,
      invalidation fails, then -EIO is set on the mapping and fsync will fail,
      though there's no real error.
      
      There have been discussions how to fix that, but revert seems to be the
      least intrusive option.
      
      Link: https://lore.kernel.org/linux-btrfs/20200528192103.xm45qoxqmkw7i5yl@fiona/Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      55e20bd1
    • Grygorii Strashko's avatar
      net: ethernet: ti: ale: fix allmulti for nu type ale · bc139119
      Grygorii Strashko authored
      On AM65xx MCU CPSW2G NUSS and 66AK2E/L NUSS allmulti setting does not allow
      unregistered mcast packets to pass.
      
      This happens, because ALE VLAN entries on these SoCs do not contain port
      masks for reg/unreg mcast packets, but instead store indexes of
      ALE_VLAN_MASK_MUXx_REG registers which intended for store port masks for
      reg/unreg mcast packets.
      This path was missed by commit 9d1f6447 ("net: ethernet: ti: ale: fix
      seeing unreg mcast packets with promisc and allmulti disabled").
      
      Hence, fix it by taking into account ALE type in cpsw_ale_set_allmulti().
      
      Fixes: 9d1f6447 ("net: ethernet: ti: ale: fix seeing unreg mcast packets with promisc and allmulti disabled")
      Signed-off-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bc139119
    • Grygorii Strashko's avatar
      net: ethernet: ti: am65-cpsw-nuss: fix ale parameters init · 2074f9ea
      Grygorii Strashko authored
      The ALE parameters structure is created on stack, so it has to be reset
      before passing to cpsw_ale_create() to avoid garbage values.
      
      Fixes: 93a76530 ("net: ethernet: ti: introduce am65x/j721e gigabit eth subsystem driver")
      Signed-off-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2074f9ea
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf · fa7566a0
      David S. Miller authored
      Alexei Starovoitov says:
      
      ====================
      pull-request: bpf 2020-06-12
      
      The following pull-request contains BPF updates for your *net* tree.
      
      We've added 26 non-merge commits during the last 10 day(s) which contain
      a total of 27 files changed, 348 insertions(+), 93 deletions(-).
      
      The main changes are:
      
      1) sock_hash accounting fix, from Andrey.
      
      2) libbpf fix and probe_mem sanitizing, from Andrii.
      
      3) sock_hash fixes, from Jakub.
      
      4) devmap_val fix, from Jesper.
      
      5) load_bytes_relative fix, from YiFei.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fa7566a0
    • Liao Pingfang's avatar
      net: atm: Remove the error message according to the atomic context · bf97bac9
      Liao Pingfang authored
      Looking into the context (atomic!) and the error message should be dropped.
      Signed-off-by: default avatarLiao Pingfang <liao.pingfang@zte.com.cn>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bf97bac9
    • Linus Torvalds's avatar
      Merge tag '5.8-rc-smb3-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6 · f82e7b57
      Linus Torvalds authored
      Pull more cifs updates from Steve French:
       "12 cifs/smb3 fixes, 2 for stable.
      
         - add support for idsfromsid on create and chgrp/chown allowing
           ability to save owner information more naturally for some workloads
      
         - improve query info (getattr) when SMB3.1.1 posix extensions are
           negotiated by using new query info level"
      
      * tag '5.8-rc-smb3-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
        smb3: Add debug message for new file creation with idsfromsid mount option
        cifs: fix chown and chgrp when idsfromsid mount option enabled
        smb3: allow uid and gid owners to be set on create with idsfromsid mount option
        smb311: Add tracepoints for new compound posix query info
        smb311: add support for using info level for posix extensions query
        smb311: Add support for lookup with posix extensions query info
        smb311: Add support for SMB311 query info (non-compounded)
        SMB311: Add support for query info using posix extensions (level 100)
        smb3: add indatalen that can be a non-zero value to calculation of credit charge in smb2 ioctl
        smb3: fix typo in mount options displayed in /proc/mounts
        cifs: Add get_security_type_str function to return sec type.
        smb3: extend fscache mount volume coherency check
      f82e7b57
    • Linus Torvalds's avatar
      binderfs: add gitignore for generated sample program · 4f9b3a37
      Linus Torvalds authored
      Let's keep "git status" happy and quiet.
      
      Fixes: 9762dc14 ("samples: add binderfs sample program
      Fixes: fca5e949 ("samples: binderfs: really compile this sample and fix build issues")
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4f9b3a37
    • Linus Torvalds's avatar
      doc: don't use deprecated "---help---" markers in target docs · 3e1ad405
      Linus Torvalds authored
      I'm not convinced the script makes useful automaed help lines anyway,
      but since we're trying to deprecate the use of "---help---" in Kconfig
      files, let's fix the doc example code too.
      
      See commit a7f7f624 ("treewide: replace '---help---' in Kconfig
      files with 'help'")
      
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3e1ad405
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v5.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 6adc19fd
      Linus Torvalds authored
      Pull more Kbuild updates from Masahiro Yamada:
      
       - fix build rules in binderfs sample
      
       - fix build errors when Kbuild recurses to the top Makefile
      
       - covert '---help---' in Kconfig to 'help'
      
      * tag 'kbuild-v5.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        treewide: replace '---help---' in Kconfig files with 'help'
        kbuild: fix broken builds because of GZIP,BZIP2,LZOP variables
        samples: binderfs: really compile this sample and fix build issues
      6adc19fd
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 3df83e16
      Linus Torvalds authored
      Pull more SCSI updates from James Bottomley:
       "This is the set of changes collected since just before the merge
        window opened. It's mostly minor fixes in drivers.
      
        The one non-driver set is the three optical disk (sr) changes where
        two are error path fixes and one is a helper conversion.
      
        The big driver change is the hpsa compat_alloc_userspace rework by Al
        so he can kill the remaining user. This has been tested and acked by
        the maintainer"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (21 commits)
        scsi: acornscsi: Fix an error handling path in acornscsi_probe()
        scsi: storvsc: Remove memset before memory freeing in storvsc_suspend()
        scsi: cxlflash: Remove an unnecessary NULL check
        scsi: ibmvscsi: Don't send host info in adapter info MAD after LPM
        scsi: sr: Fix sr_probe() missing deallocate of device minor
        scsi: sr: Fix sr_probe() missing mutex_destroy
        scsi: st: Convert convert get_user_pages() --> pin_user_pages()
        scsi: target: Rename target_setup_cmd_from_cdb() to target_cmd_parse_cdb()
        scsi: target: Fix NULL pointer dereference
        scsi: target: Initialize LUN in transport_init_se_cmd()
        scsi: target: Factor out a new helper, target_cmd_init_cdb()
        scsi: hpsa: hpsa_ioctl(): Tidy up a bit
        scsi: hpsa: Get rid of compat_alloc_user_space()
        scsi: hpsa: Don't bother with vmalloc for BIG_IOCTL_Command_struct
        scsi: hpsa: Lift {BIG_,}IOCTL_Command_struct copy{in,out} into hpsa_ioctl()
        scsi: ufs: Remove redundant urgent_bkop_lvl initialization
        scsi: ufs: Don't update urgent bkops level when toggling auto bkops
        scsi: qedf: Remove redundant initialization of variable rc
        scsi: mpt3sas: Fix memset() in non-RDPQ mode
        scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj
        ...
      3df83e16