1. 22 Oct, 2020 3 commits
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.10' of git://linux-nfs.org/~bfields/linux · 24717cfb
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "The one new feature this time, from Anna Schumaker, is READ_PLUS,
        which has the same arguments as READ but allows the server to return
        an array of data and hole extents.
      
        Otherwise it's a lot of cleanup and bugfixes"
      
      * tag 'nfsd-5.10' of git://linux-nfs.org/~bfields/linux: (43 commits)
        NFSv4.2: Fix NFS4ERR_STALE error when doing inter server copy
        SUNRPC: fix copying of multiple pages in gss_read_proxy_verf()
        sunrpc: raise kernel RPC channel buffer size
        svcrdma: fix bounce buffers for unaligned offsets and multiple pages
        nfsd: remove unneeded break
        net/sunrpc: Fix return value for sysctl sunrpc.transports
        NFSD: Encode a full READ_PLUS reply
        NFSD: Return both a hole and a data segment
        NFSD: Add READ_PLUS hole segment encoding
        NFSD: Add READ_PLUS data support
        NFSD: Hoist status code encoding into XDR encoder functions
        NFSD: Map nfserr_wrongsec outside of nfsd_dispatch
        NFSD: Remove the RETURN_STATUS() macro
        NFSD: Call NFSv2 encoders on error returns
        NFSD: Fix .pc_release method for NFSv2
        NFSD: Remove vestigial typedefs
        NFSD: Refactor nfsd_dispatch() error paths
        NFSD: Clean up nfsd_dispatch() variables
        NFSD: Clean up stale comments in nfsd_dispatch()
        NFSD: Clean up switch statement in nfsd_dispatch()
        ...
      24717cfb
    • Linus Torvalds's avatar
      Merge tag 'exfat-for-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat · 9b06f57b
      Linus Torvalds authored
      Pull exfat updates from Namjae Jeon:
      
       - Replace memcpy with structure assignment
      
       - Remove unneeded codes and use helper function i_blocksize()
      
       - Fix typos found by codespell
      
      * tag 'exfat-for-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
        exfat: remove useless check in exfat_move_file()
        exfat: remove 'rwoffset' in exfat_inode_info
        exfat: replace memcpy with structure assignment
        exfat: remove useless directory scan in exfat_add_entry()
        exfat: eliminate dead code in exfat_find()
        exfat: use i_blocksize() to get blocksize
        exfat: fix misspellings using codespell tool
      9b06f57b
    • Linus Torvalds's avatar
      Merge tag '9p-for-5.10-rc1' of git://github.com/martinetd/linux · 334d431f
      Linus Torvalds authored
      Pull 9p updates from Dominique Martinet:
       "A couple of small fixes (loff_t overflow on 32bit, syzbot
        uninitialized variable warning) and code cleanup (xen)"
      
      * tag '9p-for-5.10-rc1' of git://github.com/martinetd/linux:
        net: 9p: initialize sun_server.sun_path to have addr's value only when addr is valid
        9p/xen: Fix format argument warning
        9P: Cast to loff_t before multiplying
      334d431f
  2. 21 Oct, 2020 13 commits
    • Tetsuhiro Kohada's avatar
      exfat: remove useless check in exfat_move_file() · eae503f7
      Tetsuhiro Kohada authored
      In exfat_move_file(), the identity of source and target directory has been
      checked by the caller.
      Also, it gets stream.start_clu from file dir-entry, which is an invalid
      determination.
      Signed-off-by: default avatarTetsuhiro Kohada <kohada.t2@gmail.com>
      Acked-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      eae503f7
    • Tetsuhiro Kohada's avatar
      exfat: remove 'rwoffset' in exfat_inode_info · 04cee52f
      Tetsuhiro Kohada authored
      Remove 'rwoffset' in exfat_inode_info and replace it with the parameter of
      exfat_readdir().
      Since rwoffset is referenced only by exfat_readdir(), it is not necessary
      a exfat_inode_info's member.
      Also, change cpos to point to the next of entry-set, and return the index
      of dir-entry via dir_entry->entry.
      Signed-off-by: default avatarTetsuhiro Kohada <kohada.t2@gmail.com>
      Acked-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      04cee52f
    • Tetsuhiro Kohada's avatar
      exfat: replace memcpy with structure assignment · a7a24168
      Tetsuhiro Kohada authored
      Use structure assignment instead of memcpy.
      Signed-off-by: default avatarTetsuhiro Kohada <kohada.t2@gmail.com>
      Acked-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      a7a24168
    • Tetsuhiro Kohada's avatar
      exfat: remove useless directory scan in exfat_add_entry() · 6c958a09
      Tetsuhiro Kohada authored
      There is nothing in directory just created, so there is no need to scan.
      Signed-off-by: default avatarTetsuhiro Kohada <kohada.t2@gmail.com>
      Acked-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      6c958a09
    • Tetsuhiro Kohada's avatar
      exfat: eliminate dead code in exfat_find() · 188df41f
      Tetsuhiro Kohada authored
      The exfat_find_dir_entry() called by exfat_find() doesn't return -EEXIST.
      Therefore, the root-dir information setting is never executed.
      Signed-off-by: default avatarTetsuhiro Kohada <kohada.t2@gmail.com>
      Acked-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      188df41f
    • Xianting Tian's avatar
      exfat: use i_blocksize() to get blocksize · 45882a6a
      Xianting Tian authored
      We alreday has the interface i_blocksize() to get blocksize,
      so use it.
      Signed-off-by: default avatarXianting Tian <tian.xianting@h3c.com>
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      45882a6a
    • Namjae Jeon's avatar
      exfat: fix misspellings using codespell tool · 9e456aea
      Namjae Jeon authored
      Sedat reported typos using codespell tool.
      
       $ codespell fs/exfat/*.c | grep -v iput
       fs/exfat/namei.c:293: upto ==> up to
       fs/exfat/nls.c:14: tabel ==> table
      
       $ codespell fs/exfat/*.h
       fs/exfat/exfat_fs.h:133: usally ==> usually
      
      Fix typos found by codespell.
      Reported-by: default avatarSedat Dilek <sedat.dilek@gmail.com>
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      9e456aea
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-5.10-rc1' of git://www.linux-watchdog.org/linux-watchdog · f804b315
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - Add Toshiba Visconti watchdog driver
      
       - it87_wdt: add IT8772 + IT8784
      
       - several fixes and improvements
      
      * tag 'linux-watchdog-5.10-rc1' of git://www.linux-watchdog.org/linux-watchdog:
        watchdog: Add Toshiba Visconti watchdog driver
        watchdog: bindings: Add binding documentation for Toshiba Visconti watchdog device
        watchdog: it87_wdt: add IT8784 ID
        watchdog: sp5100_tco: Enable watchdog on Family 17h devices if disabled
        watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3
        watchdog: renesas_wdt: support handover from bootloader
        watchdog: imx7ulp: Watchdog should continue running for wait/stop mode
        watchdog: rti: Simplify with dev_err_probe()
        watchdog: davinci: Simplify with dev_err_probe()
        watchdog: cadence: Simplify with dev_err_probe()
        watchdog: remove unneeded inclusion of <uapi/linux/sched/types.h>
        watchdog: Use put_device on error
        watchdog: Fix memleak in watchdog_cdev_register
        watchdog: imx7ulp: Strictly follow the sequence for wdog operations
        watchdog: it87_wdt: add IT8772 ID
        watchdog: pcwd_usb: Avoid GFP_ATOMIC where it is not needed
        drivers: watchdog: rdc321x_wdt: Fix race condition bugs
      f804b315
    • Linus Torvalds's avatar
      Merge tag 'rtc-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · b7769c45
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "A new driver this cycle is making the bulk of the changes and the
        rx8010 driver has been rework to use the modern APIs.
      
        Summary:
      
        Subsystem:
         - new generic DT properties: aux-voltage-chargeable,
           trickle-voltage-millivolt
      
        New driver:
         - Microcrystal RV-3032
      
        Drivers:
         - ds1307: use aux-voltage-chargeable
         - r9701, rx8010: modernization of the driver
         - rv3028: fix clock output, trickle resistor values, RAM
           configuration registers"
      
      * tag 'rtc-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (50 commits)
        rtc: r9701: set range
        rtc: r9701: convert to devm_rtc_allocate_device
        rtc: r9701: stop setting RWKCNT
        rtc: r9701: remove useless memset
        rtc: r9701: stop setting a default time
        rtc: r9701: remove leftover comment
        rtc: rv3032: Add a driver for Microcrystal RV-3032
        dt-bindings: rtc: rv3032: add RV-3032 bindings
        dt-bindings: rtc: add trickle-voltage-millivolt
        rtc: rv3028: ensure ram configuration registers are saved
        rtc: rv3028: factorize EERD bit handling
        rtc: rv3028: fix trickle resistor values
        rtc: rv3028: fix clock output support
        rtc: mt6397: Remove unused member dev
        rtc: rv8803: simplify the return expression of rv8803_nvram_write
        rtc: meson: simplify the return expression of meson_vrtc_probe
        rtc: rx8010: rename rx8010_init_client() to rx8010_init()
        rtc: ds1307: enable rx8130's backup battery, make it chargeable optionally
        rtc: ds1307: consider aux-voltage-chargeable
        rtc: ds1307: store previous charge default per chip
        ...
      b7769c45
    • Linus Torvalds's avatar
      Merge branch 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 68a36336
      Linus Torvalds authored
      Pull dmi update from Jean Delvare.
      
      * 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        Replace HTTP links with HTTPS ones: DMI/SMBIOS SUPPORT
      68a36336
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · b5df4b5c
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
      
       - if a host can be a client, too, the I2C core can now use it to
         emulate SMBus HostNotify support (STM32 and R-Car added this so far)
      
       - also for client mode, a testunit has been added. It can create rare
         situations on the bus, so host controllers can be tested
      
       - a binding has been added to mark the bus as "single-master". This
         allows for better timeout detections
      
       - new driver for Mellanox Bluefield
      
       - massive refactoring of the Tegra driver
      
       - EEPROMs recognized by the at24 driver can now have custom names
      
       - rest is driver updates
      
      * 'i2c/for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (80 commits)
        Documentation: i2c: add testunit docs to index
        i2c: tegra: Improve driver module description
        i2c: tegra: Clean up whitespaces, newlines and indentation
        i2c: tegra: Clean up and improve comments
        i2c: tegra: Clean up printk messages
        i2c: tegra: Clean up variable names
        i2c: tegra: Improve formatting of variables
        i2c: tegra: Check errors for both positive and negative values
        i2c: tegra: Factor out hardware initialization into separate function
        i2c: tegra: Factor out register polling into separate function
        i2c: tegra: Factor out packet header setup from tegra_i2c_xfer_msg()
        i2c: tegra: Factor out error recovery from tegra_i2c_xfer_msg()
        i2c: tegra: Rename wait/poll functions
        i2c: tegra: Remove "dma" variable from tegra_i2c_xfer_msg()
        i2c: tegra: Remove redundant check in tegra_i2c_issue_bus_clear()
        i2c: tegra: Remove likely/unlikely from the code
        i2c: tegra: Remove outdated barrier()
        i2c: tegra: Clean up variable types
        i2c: tegra: Reorder location of functions in the code
        i2c: tegra: Clean up probe function
        ...
      b5df4b5c
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-5.10-rc1' of git://github.com/ceph/ceph-client · ed7cfefe
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
      
       - a patch that removes crush_workspace_mutex (myself). CRUSH
         computations are no longer serialized and can run in parallel.
      
       - a couple new filesystem client metrics for "ceph fs top" command
         (Xiubo Li)
      
       - a fix for a very old messenger bug that affected the filesystem,
         marked for stable (myself)
      
       - assorted fixups and cleanups throughout the codebase from Jeff and
         others.
      
      * tag 'ceph-for-5.10-rc1' of git://github.com/ceph/ceph-client: (27 commits)
        libceph: clear con->out_msg on Policy::stateful_server faults
        libceph: format ceph_entity_addr nonces as unsigned
        libceph: fix ENTITY_NAME format suggestion
        libceph: move a dout in queue_con_delay()
        ceph: comment cleanups and clarifications
        ceph: break up send_cap_msg
        ceph: drop separate mdsc argument from __send_cap
        ceph: promote to unsigned long long before shifting
        ceph: don't SetPageError on readpage errors
        ceph: mark ceph_fmt_xattr() as printf-like for better type checking
        ceph: fold ceph_update_writeable_page into ceph_write_begin
        ceph: fold ceph_sync_writepages into writepage_nounlock
        ceph: fold ceph_sync_readpages into ceph_readpage
        ceph: don't call ceph_update_writeable_page from page_mkwrite
        ceph: break out writeback of incompatible snap context to separate function
        ceph: add a note explaining session reject error string
        libceph: switch to the new "osd blocklist add" command
        libceph, rbd, ceph: "blacklist" -> "blocklist"
        ceph: have ceph_writepages_start call pagevec_lookup_range_tag
        ceph: use kill_anon_super helper
        ...
      ed7cfefe
    • Dai Ngo's avatar
      NFSv4.2: Fix NFS4ERR_STALE error when doing inter server copy · 0cfcd405
      Dai Ngo authored
      NFS_FS=y as dependency of CONFIG_NFSD_V4_2_INTER_SSC still have
      build errors and some configs with NFSD=m to get NFS4ERR_STALE
      error when doing inter server copy.
      
      Added ops table in nfs_common for knfsd to access NFS client modules.
      
      Fixes: 3ac3711a ("NFSD: Fix NFS server build errors")
      Signed-off-by: default avatarDai Ngo <dai.ngo@oracle.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      0cfcd405
  3. 20 Oct, 2020 24 commits
    • Linus Torvalds's avatar
      Merge tag 'xarray-5.9' of git://git.infradead.org/users/willy/xarray · c4d6fe73
      Linus Torvalds authored
      Pull XArray updates from Matthew Wilcox:
      
       - Fix the test suite after introduction of the local_lock
      
       - Fix a bug in the IDA spotted by Coverity
      
       - Change the API that allows the workingset code to delete a node
      
       - Fix xas_reload() when dealing with entries that occupy multiple
         indices
      
       - Add a few more tests to the test suite
      
       - Fix an unsigned int being shifted into an unsigned long
      
      * tag 'xarray-5.9' of git://git.infradead.org/users/willy/xarray:
        XArray: Fix xas_create_range for ranges above 4 billion
        radix-tree: fix the comment of radix_tree_next_slot()
        XArray: Fix xas_reload for multi-index entries
        XArray: Add private interface for workingset node deletion
        XArray: Fix xas_for_each_conflict documentation
        XArray: Test marked multiorder iterations
        XArray: Test two more things about xa_cmpxchg
        ida: Free allocated bitmap in error path
        radix tree test suite: Fix compilation
      c4d6fe73
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-5.10-1' of git://git.linux-nfs.org/projects/anna/linux-nfs · 59f0e7eb
      Linus Torvalds authored
      Pull NFS client updates from Anna Schumaker:
       "Stable Fixes:
         - Wait for stateid updates after CLOSE/OPEN_DOWNGRADE # v5.4+
         - Fix nfs_path in case of a rename retry
         - Support EXCHID4_FLAG_SUPP_FENCE_OPS v4.2 EXCHANGE_ID flag
      
        New features and improvements:
         - Replace dprintk() calls with tracepoints
         - Make cache consistency bitmap dynamic
         - Added support for the NFS v4.2 READ_PLUS operation
         - Improvements to net namespace uniquifier
      
        Other bugfixes and cleanups:
         - Remove redundant clnt pointer
         - Don't update timeout values on connection resets
         - Remove redundant tracepoints
         - Various cleanups to comments
         - Fix oops when trying to use copy_file_range with v4.0 source server
         - Improvements to flexfiles mirrors
         - Add missing 'local_lock=posix' mount option"
      
      * tag 'nfs-for-5.10-1' of git://git.linux-nfs.org/projects/anna/linux-nfs: (55 commits)
        NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag
        NFSv4: Fix up RCU annotations for struct nfs_netns_client
        NFS: Only reference user namespace from nfs4idmap struct instead of cred
        nfs: add missing "posix" local_lock constant table definition
        NFSv4: Use the net namespace uniquifier if it is set
        NFSv4: Clean up initialisation of uniquified client id strings
        NFS: Decode a full READ_PLUS reply
        SUNRPC: Add an xdr_align_data() function
        NFS: Add READ_PLUS hole segment decoding
        SUNRPC: Add the ability to expand holes in data pages
        SUNRPC: Split out _shift_data_right_tail()
        SUNRPC: Split out xdr_realign_pages() from xdr_align_pages()
        NFS: Add READ_PLUS data segment support
        NFS: Use xdr_page_pos() in NFSv4 decode_getacl()
        SUNRPC: Implement a xdr_page_pos() function
        SUNRPC: Split out a function for setting current page
        NFS: fix nfs_path in case of a rename retry
        fs: nfs: return per memcg count for xattr shrinkers
        NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE
        nfs: remove incorrect fallthrough label
        ...
      59f0e7eb
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.10-2020-10-20' of git://git.kernel.dk/linux-block · 4962a856
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
       "A mix of fixes and a few stragglers. In detail:
      
         - Revert the bogus __read_mostly that we discussed for the initial
           pull request.
      
         - Fix a merge window regression with fixed file registration error
           path handling.
      
         - Fix io-wq numa node affinities.
      
         - Series abstracting out an io_identity struct, making it both easier
           to see what the personality items are, and also easier to to adopt
           more. Use this to cover audit logging.
      
         - Fix for read-ahead disabled block condition in async buffered
           reads, and using single page read-ahead to unify what
           generic_file_buffer_read() path is used.
      
         - Series for REQ_F_COMP_LOCKED fix and removal of it (Pavel)
      
         - Poll fix (Pavel)"
      
      * tag 'io_uring-5.10-2020-10-20' of git://git.kernel.dk/linux-block: (21 commits)
        io_uring: use blk_queue_nowait() to check if NOWAIT supported
        mm: use limited read-ahead to satisfy read
        mm: mark async iocb read as NOWAIT once some data has been copied
        io_uring: fix double poll mask init
        io-wq: inherit audit loginuid and sessionid
        io_uring: use percpu counters to track inflight requests
        io_uring: assign new io_identity for task if members have changed
        io_uring: store io_identity in io_uring_task
        io_uring: COW io_identity on mismatch
        io_uring: move io identity items into separate struct
        io_uring: rely solely on work flags to determine personality.
        io_uring: pass required context in as flags
        io-wq: assign NUMA node locality if appropriate
        io_uring: fix error path cleanup in io_sqe_files_register()
        Revert "io_uring: mark io_uring_fops/io_op_defs as __read_mostly"
        io_uring: fix REQ_F_COMP_LOCKED by killing it
        io_uring: dig out COMP_LOCK from deep call chain
        io_uring: don't put a poll req under spinlock
        io_uring: don't unnecessarily clear F_LINK_TIMEOUT
        io_uring: don't set COMP_LOCKED if won't put
        ...
      4962a856
    • Linus Torvalds's avatar
      Merge tag 'for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 38525c69
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       "Power-supply core:
         - add wireless type
         - properly document current direction
      
        Battery/charger driver changes:
         - new fuel-gauge/charger driver for RN5T618/RN5T619
         - new charger driver for BQ25980, BQ25975 and BQ25960
         - bq27xxx-battery: add support for TI bq34z100
         - gpio-charger: convert to GPIO descriptors
         - gpio-charger: add optional support for charge current limiting
         - max17040: add support for max17041, max17043, max17044
         - max17040: add support for max17048, max17049, max17058, max17059
         - smb347-charger: add DT support
         - smb247-charger: add SMB345 and SMB358 support
         - simple-battery: add temperature properties
         - lots of minor fixes, cleanups and DT binding YAML conversions
      
        Reset drivers:
         - ocelot: Add support for Sparx5"
      
      * tag 'for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (81 commits)
        power: reset: POWER_RESET_OCELOT_RESET should depend on Ocelot or Sparx5
        power: supply: bq25980: Fix uninitialized wd_reg_val and overrun
        power: supply: ltc2941: Fix ptr to enum cast
        power: supply: test-power: revise parameter printing to use sprintf
        power: supply: charger-manager: fix incorrect check on charging_duration_ms
        power: supply: max17040: Fix ptr to enum cast
        power: supply: bq25980: Fix uninitialized wd_reg_val
        power: supply: bq25980: remove redundant zero check on ret
        power: reset: ocelot: Add support for Sparx5
        dt-bindings: reset: ocelot: Add Sparx5 support
        power: supply: sbs-battery: keep error code when get_property() fails
        power: supply: bq25980: Add support for the BQ259xx family
        dt-binding: bq25980: Add the bq25980 flash charger
        power: supply: fix spelling mistake "unprecise" -> "imprecise"
        power: supply: test_power: add missing newlines when printing parameters by sysfs
        power: supply: pm2301: drop duplicated i2c_device_id
        power: supply: charger-manager: drop unused charger assignment
        power: supply: rt9455: skip 'struct acpi_device_id' when !CONFIG_ACPI
        power: supply: goldfish: skip 'struct acpi_device_id' when !CONFIG_ACPI
        power: supply: bq25890: skip 'struct acpi_device_id' when !CONFIG_ACPI
        ...
      38525c69
    • Martijn de Gouw's avatar
      SUNRPC: fix copying of multiple pages in gss_read_proxy_verf() · d48c8124
      Martijn de Gouw authored
      When the passed token is longer than 4032 bytes, the remaining part
      of the token must be copied from the rqstp->rq_arg.pages. But the
      copy must make sure it happens in a consecutive way.
      
      With the existing code, the first memcpy copies 'length' bytes from
      argv->iobase, but since the header is in front, this never fills the
      whole first page of in_token->pages.
      
      The mecpy in the loop copies the following bytes, but starts writing at
      the next page of in_token->pages.  This leaves the last bytes of page 0
      unwritten.
      
      Symptoms were that users with many groups were not able to access NFS
      exports, when using Active Directory as the KDC.
      Signed-off-by: default avatarMartijn de Gouw <martijn.de.gouw@prodrive-technologies.com>
      Fixes: 5866efa8 "SUNRPC: Fix svcauth_gss_proxy_init()"
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      d48c8124
    • Roberto Bergantinos Corpas's avatar
      sunrpc: raise kernel RPC channel buffer size · 27a1e8a0
      Roberto Bergantinos Corpas authored
      Its possible that using AUTH_SYS and mountd manage-gids option a
      user may hit the 8k RPC channel buffer limit. This have been observed
      on field, causing unanswered RPCs on clients after mountd fails to
      write on channel :
      
      rpc.mountd[11231]: auth_unix_gid: error writing reply
      
      Userland nfs-utils uses a buffer size of 32k (RPC_CHAN_BUF_SIZE), so
      lets match those two.
      Signed-off-by: default avatarRoberto Bergantinos Corpas <rbergant@redhat.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      27a1e8a0
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2020-10-19' of git://anongit.freedesktop.org/drm/drm · f9915b96
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Some fixes queued up already for i915 and amdgpu, I've also included
        the fix for the clang warning you've seen.
      
        i915:
         - set all unused color plane offsets to ~0xfff again (Ville)
         - fix TGL DKL PHY DP vswing handling (Ville)
      
        amdgpu:
         - DCN clang warning fix
         - eDP fix
         - BACO fix
         - kernel documentation fixes
         - SMU7 mclk fix
         - VCN1 hw bug workaround
      
        amdkfd:
         - kvfree vs kfree fix"
      
      * tag 'drm-next-2020-10-19' of git://anongit.freedesktop.org/drm/drm:
        drm/amd/display: Fix incorrect dsc force enable logic
        drm/amdkfd: Use kvfree in destroy_crat_image
        drm/amdgpu: vcn and jpeg ring synchronization
        drm/amd/pm: increase mclk switch threshold to 200 us
        docs: amdgpu: fix a warning when building the documentation
        drm/amd/display: kernel-doc: document force_timing_sync
        drm/amdgpu/swsmu: init the baco mutex in early_init
        drm/amd/display: Fix module load hangs when connected to an eDP
        drm/i915: Set all unused color plane offsets to ~0xfff again
        drm/i915: Fix TGL DKL PHY DP vswing handling
      f9915b96
    • Linus Torvalds's avatar
      Merge tag 'iommu-fix-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 5c7e3f3f
      Linus Torvalds authored
      Pull iommu fix from Joerg Roedel:
       "Fix a build regression with !CONFIG_IOMMU_API"
      
      * tag 'iommu-fix-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/vt-d: Don't dereference iommu_device if IOMMU_API is not built
      5c7e3f3f
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.10b-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 4a5bb973
      Linus Torvalds authored
      Pull more xen updates from Juergen Gross:
      
       - A single patch to fix the Xen security issue XSA-331 (malicious
         guests can DoS dom0 by triggering NULL-pointer dereferences or access
         to stale data).
      
       - A larger series to fix the Xen security issue XSA-332 (malicious
         guests can DoS dom0 by sending events at high frequency leading to
         dom0's vcpus being busy in IRQ handling for elongated times).
      
      * tag 'for-linus-5.10b-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/events: block rogue events for some time
        xen/events: defer eoi in case of excessive number of events
        xen/events: use a common cpu hotplug hook for event channels
        xen/events: switch user event channels to lateeoi model
        xen/pciback: use lateeoi irq binding
        xen/pvcallsback: use lateeoi irq binding
        xen/scsiback: use lateeoi irq binding
        xen/netback: use lateeoi irq binding
        xen/blkback: use lateeoi irq binding
        xen/events: add a new "late EOI" evtchn framework
        xen/events: fix race in evtchn_fifo_unmask()
        xen/events: add a proper barrier to 2-level uevent unmasking
        xen/events: avoid removing an event channel while handling it
      4a5bb973
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 709ebe6d
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - handle inexact watchpoint addresses (Douglas Anderson)
      
       - decompressor serial debug cleanups (Linus Walleij)
      
       - update L2 cache prefetch bits (Guillaume Tucker)
      
       - add text offset and malloc size to the decompressor kexec data
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: add malloc size to decompressor kexec size structure
        ARM: add TEXT_OFFSET to decompressor kexec image structure
        ARM: 9007/1: l2c: fix prefetch bits init in L2X0_AUX_CTRL using DT values
        ARM: 9010/1: uncompress: Print the location of appended DTB
        ARM: 9009/1: uncompress: Enable debug in head.S
        ARM: 9008/1: uncompress: Drop excess whitespace print
        ARM: 9006/1: uncompress: Wait for ready and busy in debug prints
        ARM: 9005/1: debug: Select flow control for all debug UARTs
        ARM: 9004/1: debug: Split waituart to CTS and TXRDY
        ARM: 9003/1: uncompress: Delete unused debug macros
        ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses
      709ebe6d
    • Linus Torvalds's avatar
      Merge tag 'arc-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · b32649b8
      Linus Torvalds authored
      Pull ARC updates from Vineet Gupta:
       "The bulk of ARC pull request is removal of EZChip NPS platform which
        was suffering from constant bitrot. In recent years EZChip has gone
        though multiple successive acquisitions and I guess things and people
        move on. I would like to take this opportunity to recognize and thank
        all those good folks (Gilad, Noam, Ofer...) for contributing major
        bits to ARC port (SMP, Big Endian).
      
        Summary:
      
         - drop support for EZChip NPS platform
      
         - misc other fixes"
      
      * tag 'arc-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        arc: include/asm: fix typos of "themselves"
        ARC: SMP: fix typo and use "come up" instead of "comeup"
        ARC: [dts] fix the errors detected by dtbs_check
        arc: plat-hsdk: fix kconfig dependency warning when !RESET_CONTROLLER
        ARC: [plat-eznps]: Drop support for EZChip NPS platform
      b32649b8
    • Juergen Gross's avatar
      xen/events: block rogue events for some time · 5f7f7740
      Juergen Gross authored
      In order to avoid high dom0 load due to rogue guests sending events at
      high frequency, block those events in case there was no action needed
      in dom0 to handle the events.
      
      This is done by adding a per-event counter, which set to zero in case
      an EOI without the XEN_EOI_FLAG_SPURIOUS is received from a backend
      driver, and incremented when this flag has been set. In case the
      counter is 2 or higher delay the EOI by 1 << (cnt - 2) jiffies, but
      not more than 1 second.
      
      In order not to waste memory shorten the per-event refcnt to two bytes
      (it should normally never exceed a value of 2). Add an overflow check
      to evtchn_get() to make sure the 2 bytes really won't overflow.
      
      This is part of XSA-332.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
      Reviewed-by: default avatarStefano Stabellini <sstabellini@kernel.org>
      Reviewed-by: default avatarWei Liu <wl@xen.org>
      5f7f7740
    • Juergen Gross's avatar
      xen/events: defer eoi in case of excessive number of events · e99502f7
      Juergen Gross authored
      In case rogue guests are sending events at high frequency it might
      happen that xen_evtchn_do_upcall() won't stop processing events in
      dom0. As this is done in irq handling a crash might be the result.
      
      In order to avoid that, delay further inter-domain events after some
      time in xen_evtchn_do_upcall() by forcing eoi processing into a
      worker on the same cpu, thus inhibiting new events coming in.
      
      The time after which eoi processing is to be delayed is configurable
      via a new module parameter "event_loop_timeout" which specifies the
      maximum event loop time in jiffies (default: 2, the value was chosen
      after some tests showing that a value of 2 was the lowest with an
      only slight drop of dom0 network throughput while multiple guests
      performed an event storm).
      
      How long eoi processing will be delayed can be specified via another
      parameter "event_eoi_delay" (again in jiffies, default 10, again the
      value was chosen after testing with different delay values).
      
      This is part of XSA-332.
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarJulien Grall <julien@xen.org>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarStefano Stabellini <sstabellini@kernel.org>
      Reviewed-by: default avatarWei Liu <wl@xen.org>
      e99502f7
    • Juergen Gross's avatar
      xen/events: use a common cpu hotplug hook for event channels · 7beb290c
      Juergen Gross authored
      Today only fifo event channels have a cpu hotplug callback. In order
      to prepare for more percpu (de)init work move that callback into
      events_base.c and add percpu_init() and percpu_deinit() hooks to
      struct evtchn_ops.
      
      This is part of XSA-332.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
      Reviewed-by: default avatarWei Liu <wl@xen.org>
      7beb290c
    • Juergen Gross's avatar
      xen/events: switch user event channels to lateeoi model · c44b849c
      Juergen Gross authored
      Instead of disabling the irq when an event is received and enabling
      it again when handled by the user process use the lateeoi model.
      
      This is part of XSA-332.
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarJulien Grall <julien@xen.org>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Tested-by: default avatarStefano Stabellini <sstabellini@kernel.org>
      Reviewed-by: default avatarStefano Stabellini <sstabellini@kernel.org>
      Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
      Reviewed-by: default avatarWei Liu <wl@xen.org>
      c44b849c
    • Juergen Gross's avatar
      xen/pciback: use lateeoi irq binding · c2711441
      Juergen Gross authored
      In order to reduce the chance for the system becoming unresponsive due
      to event storms triggered by a misbehaving pcifront use the lateeoi irq
      binding for pciback and unmask the event channel only just before
      leaving the event handling function.
      
      Restructure the handling to support that scheme. Basically an event can
      come in for two reasons: either a normal request for a pciback action,
      which is handled in a worker, or in case the guest has finished an AER
      request which was requested by pciback.
      
      When an AER request is issued to the guest and a normal pciback action
      is currently active issue an EOI early in order to be able to receive
      another event when the AER request has been finished by the guest.
      
      Let the worker processing the normal requests run until no further
      request is pending, instead of starting a new worker ion that case.
      Issue the EOI only just before leaving the worker.
      
      This scheme allows to drop calling the generic function
      xen_pcibk_test_and_schedule_op() after processing of any request as
      the handling of both request types is now separated more cleanly.
      
      This is part of XSA-332.
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarJulien Grall <julien@xen.org>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
      Reviewed-by: default avatarWei Liu <wl@xen.org>
      c2711441
    • Juergen Gross's avatar
      xen/pvcallsback: use lateeoi irq binding · c8d647a3
      Juergen Gross authored
      In order to reduce the chance for the system becoming unresponsive due
      to event storms triggered by a misbehaving pvcallsfront use the lateeoi
      irq binding for pvcallsback and unmask the event channel only after
      handling all write requests, which are the ones coming in via an irq.
      
      This requires modifying the logic a little bit to not require an event
      for each write request, but to keep the ioworker running until no
      further data is found on the ring page to be processed.
      
      This is part of XSA-332.
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarJulien Grall <julien@xen.org>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarStefano Stabellini <sstabellini@kernel.org>
      Reviewed-by: default avatarWei Liu <wl@xen.org>
      c8d647a3
    • Juergen Gross's avatar
      xen/scsiback: use lateeoi irq binding · 86991b6e
      Juergen Gross authored
      In order to reduce the chance for the system becoming unresponsive due
      to event storms triggered by a misbehaving scsifront use the lateeoi
      irq binding for scsiback and unmask the event channel only just before
      leaving the event handling function.
      
      In case of a ring protocol error don't issue an EOI in order to avoid
      the possibility to use that for producing an event storm. This at once
      will result in no further call of scsiback_irq_fn(), so the ring_error
      struct member can be dropped and scsiback_do_cmd_fn() can signal the
      protocol error via a negative return value.
      
      This is part of XSA-332.
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarJulien Grall <julien@xen.org>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
      Reviewed-by: default avatarWei Liu <wl@xen.org>
      86991b6e
    • Juergen Gross's avatar
      xen/netback: use lateeoi irq binding · 23025393
      Juergen Gross authored
      In order to reduce the chance for the system becoming unresponsive due
      to event storms triggered by a misbehaving netfront use the lateeoi
      irq binding for netback and unmask the event channel only just before
      going to sleep waiting for new events.
      
      Make sure not to issue an EOI when none is pending by introducing an
      eoi_pending element to struct xenvif_queue.
      
      When no request has been consumed set the spurious flag when sending
      the EOI for an interrupt.
      
      This is part of XSA-332.
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarJulien Grall <julien@xen.org>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
      Reviewed-by: default avatarWei Liu <wl@xen.org>
      23025393
    • Juergen Gross's avatar
      xen/blkback: use lateeoi irq binding · 01263a1f
      Juergen Gross authored
      In order to reduce the chance for the system becoming unresponsive due
      to event storms triggered by a misbehaving blkfront use the lateeoi
      irq binding for blkback and unmask the event channel only after
      processing all pending requests.
      
      As the thread processing requests is used to do purging work in regular
      intervals an EOI may be sent only after having received an event. If
      there was no pending I/O request flag the EOI as spurious.
      
      This is part of XSA-332.
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarJulien Grall <julien@xen.org>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
      Reviewed-by: default avatarWei Liu <wl@xen.org>
      01263a1f
    • Juergen Gross's avatar
      xen/events: add a new "late EOI" evtchn framework · 54c9de89
      Juergen Gross authored
      In order to avoid tight event channel related IRQ loops add a new
      framework of "late EOI" handling: the IRQ the event channel is bound
      to will be masked until the event has been handled and the related
      driver is capable to handle another event. The driver is responsible
      for unmasking the event channel via the new function xen_irq_lateeoi().
      
      This is similar to binding an event channel to a threaded IRQ, but
      without having to structure the driver accordingly.
      
      In order to support a future special handling in case a rogue guest
      is sending lots of unsolicited events, add a flag to xen_irq_lateeoi()
      which can be set by the caller to indicate the event was a spurious
      one.
      
      This is part of XSA-332.
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarJulien Grall <julien@xen.org>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
      Reviewed-by: default avatarStefano Stabellini <sstabellini@kernel.org>
      Reviewed-by: default avatarWei Liu <wl@xen.org>
      54c9de89
    • Juergen Gross's avatar
      xen/events: fix race in evtchn_fifo_unmask() · f0133719
      Juergen Gross authored
      Unmasking a fifo event channel can result in unmasking it twice, once
      directly in the kernel and once via a hypercall in case the event was
      pending.
      
      Fix that by doing the local unmask only if the event is not pending.
      
      This is part of XSA-332.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
      f0133719
    • Juergen Gross's avatar
      xen/events: add a proper barrier to 2-level uevent unmasking · 4d3fe31b
      Juergen Gross authored
      A follow-up patch will require certain write to happen before an event
      channel is unmasked.
      
      While the memory barrier is not strictly necessary for all the callers,
      the main one will need it. In order to avoid an extra memory barrier
      when using fifo event channels, mandate evtchn_unmask() to provide
      write ordering.
      
      The 2-level event handling unmask operation is missing an appropriate
      barrier, so add it. Fifo event channels are fine in this regard due to
      using sync_cmpxchg().
      
      This is part of XSA-332.
      
      Cc: stable@vger.kernel.org
      Suggested-by: default avatarJulien Grall <julien@xen.org>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarJulien Grall <jgrall@amazon.com>
      Reviewed-by: default avatarWei Liu <wl@xen.org>
      4d3fe31b
    • Juergen Gross's avatar
      xen/events: avoid removing an event channel while handling it · 073d0552
      Juergen Gross authored
      Today it can happen that an event channel is being removed from the
      system while the event handling loop is active. This can lead to a
      race resulting in crashes or WARN() splats when trying to access the
      irq_info structure related to the event channel.
      
      Fix this problem by using a rwlock taken as reader in the event
      handling loop and as writer when deallocating the irq_info structure.
      
      As the observed problem was a NULL dereference in evtchn_from_irq()
      make this function more robust against races by testing the irq_info
      pointer to be not NULL before dereferencing it.
      
      And finally make all accesses to evtchn_to_irq[row][col] atomic ones
      in order to avoid seeing partial updates of an array element in irq
      handling. Note that irq handling can be entered only for event channels
      which have been valid before, so any not populated row isn't a problem
      in this regard, as rows are only ever added and never removed.
      
      This is XSA-331.
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
      Reported-by: default avatarJinoh Kang <luke1337@theori.io>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarStefano Stabellini <sstabellini@kernel.org>
      Reviewed-by: default avatarWei Liu <wl@xen.org>
      073d0552