1. 29 Mar, 2022 18 commits
    • Linus Torvalds's avatar
      fs: fd tables have to be multiples of BITS_PER_LONG · 1c24a186
      Linus Torvalds authored
      This has always been the rule: fdtables have several bitmaps in them,
      and as a result they have to be sized properly for bitmaps.  We walk
      those bitmaps in chunks of 'unsigned long' in serveral cases, but even
      when we don't, we use the regular kernel bitops that are defined to work
      on arrays of 'unsigned long', not on some byte array.
      
      Now, the distinction between arrays of bytes and 'unsigned long'
      normally only really ends up being noticeable on big-endian systems, but
      Fedor Pchelkin and Alexey Khoroshilov reported that copy_fd_bitmaps()
      could be called with an argument that wasn't even a multiple of
      BITS_PER_BYTE.  And then it fails to do the proper copy even on
      little-endian machines.
      
      The bug wasn't in copy_fd_bitmap(), but in sane_fdtable_size(), which
      didn't actually sanitize the fdtable size sufficiently, and never made
      sure it had the proper BITS_PER_LONG alignment.
      
      That's partly because the alignment historically came not from having to
      explicitly align things, but simply from previous fdtable sizes, and
      from count_open_files(), which counts the file descriptors by walking
      them one 'unsigned long' word at a time and thus naturally ends up doing
      sizing in the proper 'chunks of unsigned long'.
      
      But with the introduction of close_range(), we now have an external
      source of "this is how many files we want to have", and so
      sane_fdtable_size() needs to do a better job.
      
      This also adds that explicit alignment to alloc_fdtable(), although
      there it is mainly just for documentation at a source code level.  The
      arithmetic we do there to pick a reasonable fdtable size already aligns
      the result sufficiently.
      
      In fact,clang notices that the added ALIGN() in that function doesn't
      actually do anything, and does not generate any extra code for it.
      
      It turns out that gcc ends up confusing itself by combining a previous
      constant-sized shift operation with the variable-sized shift operations
      in roundup_pow_of_two().  And probably due to that doesn't notice that
      the ALIGN() is a no-op.  But that's a (tiny) gcc misfeature that doesn't
      matter.  Having the explicit alignment makes sense, and would actually
      matter on a 128-bit architecture if we ever go there.
      
      This also adds big comments above both functions about how fdtable sizes
      have to have that BITS_PER_LONG alignment.
      
      Fixes: 60997c3d ("close_range: add CLOSE_RANGE_UNSHARE")
      Reported-by: default avatarFedor Pchelkin <aissur0002@gmail.com>
      Reported-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
      Link: https://lore.kernel.org/all/20220326114009.1690-1-aissur0002@gmail.com/Tested-and-acked-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1c24a186
    • Linus Torvalds's avatar
      Merge tag 'devprop-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 13776ebb
      Linus Torvalds authored
      Pull device properties code update from Rafael Wysocki:
       "This is based on new i2c material for 5.18-rc1 and simply reorganizes
        the code on top of it so as to group similar functions together (Andy
        Shevchenko)"
      
      * tag 'devprop-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        device property: Don't split fwnode_get_irq*() APIs in the code
      13776ebb
    • Linus Torvalds's avatar
      Merge tag 'pm-5.18-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 1d59c3b6
      Linus Torvalds authored
      Pull more power management updates from Rafael Wysocki:
       "These update ARM cpufreq drivers, the OPP (Operating Performance
        Points) library and the power management documentation.
      
        Specifics:
      
         - Add per core DVFS support for QCom SoC (Bjorn Andersson), convert
           to yaml binding (Manivannan Sadhasivam) and various other fixes to
           the QCom drivers (Luca Weiss).
      
         - Add OPP table for imx7s SoC (Denys Drozdov) and minor fixes (Stefan
           Agner).
      
         - Fix CPPC driver's freq/performance conversions (Pierre Gondois).
      
         - Minor generic cleanups (Yury Norov).
      
         - Introduce opp-microwatt property to the OPP core, bindings, etc
           (Lukasz Luba).
      
         - Convert DT bindings to schema format and various related fixes
           (Yassine Oudjana).
      
         - Expose OPP's OF node in debugfs (Viresh Kumar).
      
         - Add Intel uncore frequency scaling documentation file to its
           MAINTAINERS entry (Srinivas Pandruvada).
      
         - Clean up the AMD P-state driver documentation (Jan Engelhardt)"
      
      * tag 'pm-5.18-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (24 commits)
        Documentation: amd-pstate: grammar and sentence structure updates
        dt-bindings: cpufreq: cpufreq-qcom-hw: Convert to YAML bindings
        dt-bindings: dvfs: Use MediaTek CPUFREQ HW as an example
        Documentation: EM: Describe new registration method using DT
        OPP: Add support of "opp-microwatt" for EM registration
        PM: EM: add macro to set .active_power() callback conditionally
        OPP: Add "opp-microwatt" supporting code
        dt-bindings: opp: Add "opp-microwatt" entry in the OPP
        MAINTAINERS: Add additional file to uncore frequency control
        cpufreq: blocklist Qualcomm sc8280xp and sa8540p in cpufreq-dt-platdev
        cpufreq: qcom-hw: Add support for per-core-dcvs
        dt-bindings: power: avs: qcom,cpr: Convert to DT schema
        arm64: dts: qcom: qcs404: Rename CPU and CPR OPP tables
        arm64: dts: qcom: msm8996: Rename cluster OPP tables
        dt-bindings: opp: Convert qcom-nvmem-cpufreq to DT schema
        dt-bindings: opp: qcom-opp: Convert to DT schema
        arm64: dts: qcom: msm8996-mtp: Add msm8996 compatible
        dt-bindings: arm: qcom: Add msm8996 and apq8096 compatibles
        opp: Expose of-node's name in debugfs
        cpufreq: CPPC: Fix performance/frequency conversion
        ...
      1d59c3b6
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-docs' · 3b65dd5b
      Rafael J. Wysocki authored
      Merge additional power management documentation udates for 5.18-rc1:
      
       - Add Intel uncore frequency scaling documentation file to its
         MAINTAINERS entry (Srinivas Pandruvada).
      
       - Clean up the AMD P-state driver documentation (Jan Engelhardt).
      
      * pm-docs:
        Documentation: amd-pstate: grammar and sentence structure updates
        MAINTAINERS: Add additional file to uncore frequency control
      3b65dd5b
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-opp' · 79bc8bfa
      Rafael J. Wysocki authored
      Merge OPP (Operating Performance Points) changes for 5.18-rc1.
      
      * pm-opp:
        Documentation: EM: Describe new registration method using DT
        OPP: Add support of "opp-microwatt" for EM registration
        PM: EM: add macro to set .active_power() callback conditionally
        OPP: Add "opp-microwatt" supporting code
        dt-bindings: opp: Add "opp-microwatt" entry in the OPP
        dt-bindings: power: avs: qcom,cpr: Convert to DT schema
        arm64: dts: qcom: qcs404: Rename CPU and CPR OPP tables
        arm64: dts: qcom: msm8996: Rename cluster OPP tables
        dt-bindings: opp: Convert qcom-nvmem-cpufreq to DT schema
        dt-bindings: opp: qcom-opp: Convert to DT schema
        arm64: dts: qcom: msm8996-mtp: Add msm8996 compatible
        dt-bindings: arm: qcom: Add msm8996 and apq8096 compatibles
        opp: Expose of-node's name in debugfs
      79bc8bfa
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 5efabdad
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Clean-up missing '/schemas' in $ref paths
      
       - Fix MediaTek Vcodec decoder example 'dma-ranges' errors
      
       - Expand available values of PBL for snps,dwmac to fix warnings in
         mediatek-dwmac.yaml example
      
       - Fix warnings in MediaTek display bindings
      
      * tag 'devicetree-fixes-for-5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: Fix missing '/schemas' in $ref paths
        dt-bindings: media: mediatek,vcodec: Fix addressing cell sizes
        dt-bindings: net: snps,dwmac: modify available values of PBL
        dt-bindings: display: mediatek: Fix examples on new bindings
        dt-bindings: display: mediatek, ovl: Fix 'iommu' required property typo
        dt-bindings: display: mediatek, mutex: Fix mediatek, gce-events type
        Revert "dt-bindings: display: mediatek: add ethdr definition for mt8195"
      5efabdad
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.18' of git://git.infradead.org/users/hch/dma-mapping · 9ae2a143
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - do not zero buffer in set_memory_decrypted (Kirill A. Shutemov)
      
       - fix return value of dma-debug __setup handlers (Randy Dunlap)
      
       - swiotlb cleanups (Robin Murphy)
      
       - remove most remaining users of the pci-dma-compat.h API
         (Christophe JAILLET)
      
       - share the ABI header for the DMA map_benchmark with userspace
         (Tian Tao)
      
       - update the maintainer for DMA MAPPING BENCHMARK (Xiang Chen)
      
       - remove CONFIG_DMA_REMAP (me)
      
      * tag 'dma-mapping-5.18' of git://git.infradead.org/users/hch/dma-mapping:
        dma-mapping: benchmark: extract a common header file for map_benchmark definition
        dma-debug: fix return value of __setup handlers
        dma-mapping: remove CONFIG_DMA_REMAP
        media: v4l2-pci-skeleton: Remove usage of the deprecated "pci-dma-compat.h" API
        rapidio/tsi721: Remove usage of the deprecated "pci-dma-compat.h" API
        sparc: Remove usage of the deprecated "pci-dma-compat.h" API
        agp/intel: Remove usage of the deprecated "pci-dma-compat.h" API
        alpha: Remove usage of the deprecated "pci-dma-compat.h" API
        MAINTAINERS: update maintainer list of DMA MAPPING BENCHMARK
        swiotlb: simplify array allocation
        swiotlb: tidy up includes
        swiotlb: simplify debugfs setup
        swiotlb: do not zero buffer in set_memory_decrypted()
      9ae2a143
    • Geert Uytterhoeven's avatar
      phy: PHY_FSL_LYNX_28G should depend on ARCH_LAYERSCAPE · 37fcacb5
      Geert Uytterhoeven authored
      Freescale Layerscape Lynx 28G SerDes PHYs are only present on
      Freescale/NXP Layerscape SoCs.
      
      Move PHY_FSL_LYNX_28G outside the block for ARCH_MXC, as the latter
      is meant for i.MX8 SoCs, which is a different family than Layerscape.
      Add a dependency on ARCH_LAYERSCAPE, to prevent asking the user about
      this driver when configuring a kernel without Layerscape SoC support.
      
      Fixes: 02e2af20 ("Merge tag 'char-misc-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc")
      Fixes: 8f73b37c ("phy: add support for the Layerscape SerDes 28G")
      Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      37fcacb5
    • Rob Herring's avatar
      dt-bindings: Fix missing '/schemas' in $ref paths · 22a41e9a
      Rob Herring authored
      Absolute paths in $ref should always begin with '/schemas'. The tools
      mostly work with it omitted, but for correctness the path should be
      everything except the hostname as that is taken from the schema's $id
      value. This scheme is defined in the json-schema spec.
      
      Cc: Hector Martin <marcan@marcan.st>
      Cc: Sven Peter <sven@svenpeter.dev>
      Cc: Andrew Lunn <andrew@lunn.ch>
      Cc: Vivien Didelot <vivien.didelot@gmail.com>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Vladimir Oltean <olteanv@gmail.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Paolo Abeni <pabeni@redhat.com>
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Mukesh Savaliya <msavaliy@codeaurora.org>
      Cc: Akash Asthana <akashast@codeaurora.org>
      Cc: Bayi Cheng <bayi.cheng@mediatek.com>
      Cc: Chuanhong Guo <gch981213@gmail.com>
      Cc: Min Guo <min.guo@mediatek.com>
      Cc: netdev@vger.kernel.org
      Cc: linux-spi@vger.kernel.org
      Cc: linux-usb@vger.kernel.org
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Acked-by: default avatarJakub Kicinski <kuba@kernel.org>
      Acked-by: default avatarMark Brown <broonie@debian.org>
      Link: https://lore.kernel.org/r/20220325215652.525383-1-robh@kernel.org
      22a41e9a
    • Rob Herring's avatar
      dt-bindings: media: mediatek,vcodec: Fix addressing cell sizes · a50e431b
      Rob Herring authored
      'dma-ranges' in the example is written for cell sizes of 2 cells, but
      the schema and example specify sizes of 1 cell. As the h/w has a bus
      address of >32-bits, cell sizes of 2 is correct. Update the schema's
      '#address-cells' and '#size-cells' to be 2 and adjust the example
      throughout.
      
      There's no error currently because dtc only checks 'dma-ranges' is a
      correct multiple number of cells (3) and the schema checking is based on
      bracketing of entries.
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Link: https://lore.kernel.org/r/20220301233501.2110047-1-robh@kernel.org
      a50e431b
    • Biao Huang's avatar
      dt-bindings: net: snps,dwmac: modify available values of PBL · 09a2fb41
      Biao Huang authored
      PBL can be any of the following values: 1, 2, 4, 8, 16 or 32
      according to the datasheet, so modify available values of PBL in
      snps,dwmac.yaml.
      Signed-off-by: default avatarBiao Huang <biao.huang@mediatek.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Link: https://lore.kernel.org/r/20220324012112.7016-2-biao.huang@mediatek.com
      09a2fb41
    • AngeloGioacchino Del Regno's avatar
      dt-bindings: display: mediatek: Fix examples on new bindings · bff4e302
      AngeloGioacchino Del Regno authored
      To avoid failure of dt_binding_check perform a slight refactoring
      of the examples: the main block is kept, but that required fixing
      the address and size cells, plus the inclusion of missing dt-bindings
      headers, required to parse some of the values assigned to various
      properties.
      
      Fixes: 4ed545e7 ("dt-bindings: display: mediatek: disp: split each block to individual yaml")
      Signed-off-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
      Signed-off-by: default avatarjason-jh.lin <jason-jh.lin@mediatek.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Acked-by: default avatarChun-Kuang Hu <chunkuang.hu@kernel.org>
      Tested-by: default avatarjason-jh.lin <jason-jh.lin@medaitek.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Link: https://lore.kernel.org/r/20220309134702.9942-5-jason-jh.lin@mediatek.com
      bff4e302
    • AngeloGioacchino Del Regno's avatar
      dt-bindings: display: mediatek, ovl: Fix 'iommu' required property typo · 10f17b20
      AngeloGioacchino Del Regno authored
      The property is called 'iommus' and not 'iommu'. Fix this typo.
      
      Fixes: 4ed545e7 ("dt-bindings: display: mediatek: disp: split each block to individual yaml")
      Signed-off-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
      Signed-off-by: default avatarjason-jh.lin <jason-jh.lin@mediatek.com>
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Acked-by: default avatarChun-Kuang Hu <chunkuang.hu@kernel.org>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Link: https://lore.kernel.org/r/20220309134702.9942-4-jason-jh.lin@mediatek.com
      10f17b20
    • AngeloGioacchino Del Regno's avatar
      dt-bindings: display: mediatek, mutex: Fix mediatek, gce-events type · ab487888
      AngeloGioacchino Del Regno authored
      The mediatek,gce-events property needs as value an array of uint32
      corresponding to the CMDQ events to listen to, and not any phandle.
      
      Fixes: 4ed545e7 ("dt-bindings: display: mediatek: disp: split each block to individual yaml")
      Signed-off-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
      Signed-off-by: default avatarjason-jh.lin <jason-jh.lin@mediatek.com>
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Acked-by: default avatarChun-Kuang Hu <chunkuang.hu@kernel.org>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Link: https://lore.kernel.org/r/20220309134702.9942-3-jason-jh.lin@mediatek.com
      ab487888
    • jason-jh.lin's avatar
      Revert "dt-bindings: display: mediatek: add ethdr definition for mt8195" · dcb09a08
      jason-jh.lin authored
      This reverts commit e7dcfe64.
      
      Because examples property of mediatek,ethdr.yaml should base on [1][2].
      Reverting it until [1][2] are applied.
      
      [1] dt-bindings: mediatek: mt8195: Add binding for MM IOMMU
      https://patchwork.kernel.org/project/linux-mediatek/patch/20220217113453.13658-2-yong.wu@mediatek.com/
      [2] dt-bindings: reset: mt8195: add vdosys1 reset control bit
      https://patchwork.kernel.org/project/linux-mediatek/patch/20220222100741.30138-5-nancy.lin@mediatek.com/Signed-off-by: default avatarjason-jh.lin <jason-jh.lin@mediatek.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Link: https://lore.kernel.org/r/20220309134702.9942-2-jason-jh.lin@mediatek.com
      dcb09a08
    • Linus Torvalds's avatar
      Merge tag 'ptrace-cleanups-for-v5.18' of... · 1930a6e7
      Linus Torvalds authored
      Merge tag 'ptrace-cleanups-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull ptrace cleanups from Eric Biederman:
       "This set of changes removes tracehook.h, moves modification of all of
        the ptrace fields inside of siglock to remove races, adds a missing
        permission check to ptrace.c
      
        The removal of tracehook.h is quite significant as it has been a major
        source of confusion in recent years. Much of that confusion was around
        task_work and TIF_NOTIFY_SIGNAL (which I have now decoupled making the
        semantics clearer).
      
        For people who don't know tracehook.h is a vestiage of an attempt to
        implement uprobes like functionality that was never fully merged, and
        was later superseeded by uprobes when uprobes was merged. For many
        years now we have been removing what tracehook functionaly a little
        bit at a time. To the point where anything left in tracehook.h was
        some weird strange thing that was difficult to understand"
      
      * tag 'ptrace-cleanups-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        ptrace: Remove duplicated include in ptrace.c
        ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE
        ptrace: Return the signal to continue with from ptrace_stop
        ptrace: Move setting/clearing ptrace_message into ptrace_stop
        tracehook: Remove tracehook.h
        resume_user_mode: Move to resume_user_mode.h
        resume_user_mode: Remove #ifdef TIF_NOTIFY_RESUME in set_notify_resume
        signal: Move set_notify_signal and clear_notify_signal into sched/signal.h
        task_work: Decouple TIF_NOTIFY_SIGNAL and task_work
        task_work: Call tracehook_notify_signal from get_signal on all architectures
        task_work: Introduce task_work_pending
        task_work: Remove unnecessary include from posix_timers.h
        ptrace: Remove tracehook_signal_handler
        ptrace: Remove arch_syscall_{enter,exit}_tracehook
        ptrace: Create ptrace_report_syscall_{entry,exit} in ptrace.h
        ptrace/arm: Rename tracehook_report_syscall report_syscall
        ptrace: Move ptrace_report_syscall into ptrace.h
      1930a6e7
    • Linus Torvalds's avatar
      Merge tag 'ucount-rlimit-for-v5.18' of... · 0a815d01
      Linus Torvalds authored
      Merge tag 'ucount-rlimit-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull shm ucounts fix from Eric Biederman:
       "The introduction of a new failure mode when the code was converted to
        ucounts resulted in user_shm_lock misbehaving.
      
        The change simplifies the code to make the code easier to follow and
        removes the known misbehaviors"
      
      * tag 'ucount-rlimit-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        mm/mlock: fix two bugs in user_shm_lock()
      0a815d01
    • Linus Torvalds's avatar
      Merge tag 'net-5.18-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · d717e4ca
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from netfilter.
      
        Current release - regressions:
      
         - llc: only change llc->dev when bind() succeeds, fix null-deref
      
        Current release - new code bugs:
      
         - smc: fix a memory leak in smc_sysctl_net_exit()
      
         - dsa: realtek: make interface drivers depend on OF
      
        Previous releases - regressions:
      
         - sched: act_ct: fix ref leak when switching zones
      
        Previous releases - always broken:
      
         - netfilter: egress: report interface as outgoing
      
         - vsock/virtio: enable VQs early on probe and finish the setup before
           using them
      
        Misc:
      
         - memcg: enable accounting for nft objects"
      
      * tag 'net-5.18-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (39 commits)
        Revert "selftests: net: Add tls config dependency for tls selftests"
        net/smc: Send out the remaining data in sndbuf before close
        net: move net_unlink_todo() out of the header
        net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator
        net: bnxt_ptp: fix compilation error
        selftests: net: Add tls config dependency for tls selftests
        memcg: enable accounting for nft objects
        net/sched: act_ct: fix ref leak when switching zones
        net/smc: fix a memory leak in smc_sysctl_net_exit()
        selftests: tls: skip cmsg_to_pipe tests with TLS=n
        octeontx2-af: initialize action variable
        net: sparx5: switchdev: fix possible NULL pointer dereference
        net/x25: Fix null-ptr-deref caused by x25_disconnect
        qlcnic: dcb: default to returning -EOPNOTSUPP
        net: sparx5: depends on PTP_1588_CLOCK_OPTIONAL
        net: hns3: fix phy can not link up when autoneg off and reset
        net: hns3: add NULL pointer check for hns3_set/get_ringparam()
        net: hns3: add netdev reset check for hns3_set_tunable()
        net: hns3: clean residual vf config after disable sriov
        net: hns3: add max order judgement for tx spare buffer
        ...
      d717e4ca
  2. 28 Mar, 2022 22 commits
    • Jakub Kicinski's avatar
      Revert "selftests: net: Add tls config dependency for tls selftests" · 20695e9a
      Jakub Kicinski authored
      This reverts commit d9142e1c.
      
      The test is supposed to run cleanly with TLS is disabled,
      to test compatibility with TCP behavior. I can't repro
      the failure [1], the problem should be debugged rather
      than papered over.
      
      Link: https://lore.kernel.org/all/20220325161203.7000698c@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com/ [1]
      Fixes: d9142e1c ("selftests: net: Add tls config dependency for tls selftests")
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      Link: https://lore.kernel.org/r/20220328212904.2685395-1-kuba@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      20695e9a
    • Wen Gu's avatar
      net/smc: Send out the remaining data in sndbuf before close · 906b3d64
      Wen Gu authored
      The current autocork algorithms will delay the data transmission
      in BH context to smc_release_cb() when sock_lock is hold by user.
      
      So there is a possibility that when connection is being actively
      closed (sock_lock is hold by user now), some corked data still
      remains in sndbuf, waiting to be sent by smc_release_cb(). This
      will cause:
      
      - smc_close_stream_wait(), which is called under the sock_lock,
        has a high probability of timeout because data transmission is
        delayed until sock_lock is released.
      
      - Unexpected data sends may happen after connction closed and use
        the rtoken which has been deleted by remote peer through
        LLC_DELETE_RKEY messages.
      
      So this patch will try to send out the remaining corked data in
      sndbuf before active close process, to ensure data integrity and
      avoid unexpected data transmission after close.
      Reported-by: default avatarGuangguan Wang <guangguan.wang@linux.alibaba.com>
      Fixes: 6b88af83 ("net/smc: don't send in the BH context if sock_owned_by_user")
      Signed-off-by: default avatarWen Gu <guwen@linux.alibaba.com>
      Acked-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Link: https://lore.kernel.org/r/1648447836-111521-1-git-send-email-guwen@linux.alibaba.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      906b3d64
    • Linus Torvalds's avatar
      Merge tag 'kgdb-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux · cffb2b72
      Linus Torvalds authored
      Pull kgdb update from Daniel Thompson:
       "Only a single patch this cycle. Fix an obvious mistake with the kdb
        memory accessors.
      
        It was a stupid mistake (to/from backwards) but it has been there for
        a long time since many architectures tolerated it with surprisingly
        good grace"
      
      * tag 'kgdb-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux:
        kdb: Fix the putarea helper function
      cffb2b72
    • Linus Torvalds's avatar
      Merge tag 'hexagon-5.18-0' of git://git.kernel.org/pub/scm/linux/kernel/git/bcain/linux · 023f3fef
      Linus Torvalds authored
      Pull hexagon update from Brian Cain:
       "Maintainer email update"
      
      * tag 'hexagon-5.18-0' of git://git.kernel.org/pub/scm/linux/kernel/git/bcain/linux:
        MAINTAINERS: update hexagon maintainer email, tree
      023f3fef
    • Linus Torvalds's avatar
      Merge tag 'microblaze-v5.18' of git://git.monstr.eu/linux-2.6-microblaze · b83d85a5
      Linus Torvalds authored
      Pull microblaze updates from Michal Simek:
      
       - Small fixups
      
       - Remove unused pci_phys_mem_access_prot()
      
      * tag 'microblaze-v5.18' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze/PCI: Remove pci_phys_mem_access_prot() dead code
        microblaze: add const to of_device_id
        microblaze: fix typo in a comment
      b83d85a5
    • Johannes Berg's avatar
      net: move net_unlink_todo() out of the header · f32404ae
      Johannes Berg authored
      There's no reason for this to be in netdevice.h, it's all
      just used in dev.c. Also make it no longer inline and let
      the compiler decide to do that by itself.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Link: https://lore.kernel.org/r/20220325225023.f49b9056fe1c.I6b901a2df00000837a9bd251a8dd259bd23f5ded@changeidSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f32404ae
    • Xiaomeng Tong's avatar
      net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator · 6da69b1d
      Xiaomeng Tong authored
      The bug is here:
      	return rule;
      
      The list iterator value 'rule' will *always* be set and non-NULL
      by list_for_each_entry(), so it is incorrect to assume that the
      iterator value will be NULL if the list is empty or no element
      is found.
      
      To fix the bug, return 'rule' when found, otherwise return NULL.
      
      Fixes: ae7a5aff ("net: dsa: bcm_sf2: Keep copy of inserted rules")
      Reviewed-by: default avatarVladimir Oltean <olteanv@gmail.com>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarXiaomeng Tong <xiam0nd.tong@gmail.com>
      Link: https://lore.kernel.org/r/20220328032431.22538-1-xiam0nd.tong@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      6da69b1d
    • Linus Torvalds's avatar
      Merge tag 'livepatching-for-5.18' of... · d111c9f0
      Linus Torvalds authored
      Merge tag 'livepatching-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching
      
      Pull livepatching updates from Petr Mladek:
      
       - Forced transitions block only to-be-removed livepatches [Chengming]
      
       - Detect when ftrace handler could not be disabled in self-tests [David]
      
       - Calm down warning from a static analyzer [Tom]
      
      * tag 'livepatching-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching:
        livepatch: Reorder to use before freeing a pointer
        livepatch: Don't block removal of patches that are safe to unload
        livepatch: Skip livepatch tests if ftrace cannot be configured
      d111c9f0
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.18-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · a701f370
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - A bunch of minor cleanups
      
       - A fix for kexec in Xen dom0 when executed on a high cpu number
      
       - A fix for resuming after suspend of a Xen guest with assigned PCI
         devices
      
       - A fix for a crash due to not disabled preemption when resuming as Xen
         dom0
      
      * tag 'for-linus-5.18-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: fix is_xen_pmu()
        xen: don't hang when resuming PCI device
        arch:x86:xen: Remove unnecessary assignment in xen_apic_read()
        xen/grant-table: remove readonly parameter from functions
        xen/grant-table: remove gnttab_*transfer*() functions
        drivers/xen: use helper macro __ATTR_RW
        x86/xen: Fix kerneldoc warning
        xen: delay xen_hvm_init_time_ops() if kdump is boot on vcpu>=32
        xen: use time_is_before_eq_jiffies() instead of open coding it
      a701f370
    • Brian Cain's avatar
      MAINTAINERS: update hexagon maintainer email, tree · b0cf9b4b
      Brian Cain authored
      Some email infrastructure changes required this switch.
      Signed-off-by: default avatarBrian Cain <bcain@quicinc.com>
      b0cf9b4b
    • Damien Le Moal's avatar
      net: bnxt_ptp: fix compilation error · dcf50006
      Damien Le Moal authored
      The Broadcom bnxt_ptp driver does not compile with GCC 11.2.2 when
      CONFIG_WERROR is enabled. The following error is generated:
      
      drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c: In function ‘bnxt_ptp_enable’:
      drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:400:43: error: array
      subscript 255 is above array bounds of ‘struct pps_pin[4]’
      [-Werror=array-bounds]
        400 |  ptp->pps_info.pins[pin_id].event = BNXT_PPS_EVENT_EXTERNAL;
            |  ~~~~~~~~~~~~~~~~~~^~~~~~~~
      In file included from drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:20:
      drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h:75:24: note: while
      referencing ‘pins’
         75 |         struct pps_pin pins[BNXT_MAX_TSIO_PINS];
            |                        ^~~~
      cc1: all warnings being treated as errors
      
      This is due to the function ptp_find_pin() returning a pin ID of -1 when
      a valid pin is not found and this error never being checked.
      Change the TSIO_PIN_VALID() function to also check that a pin ID is not
      negative and use this macro in bnxt_ptp_enable() to check the result of
      the calls to ptp_find_pin() to return an error early for invalid pins.
      This fixes the compilation error.
      
      Cc: <stable@vger.kernel.org>
      Fixes: 9e518f25 ("bnxt_en: 1PPS functions to configure TSIO pins")
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      Reviewed-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Link: https://lore.kernel.org/r/20220328062708.207079-1-damien.lemoal@opensource.wdc.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      dcf50006
    • Linus Torvalds's avatar
      Merge tag 'tty-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 72030621
      Linus Torvalds authored
      Pull tty/serial driver updates from Greg KH:
       "Here are the big set of tty and serial driver changes for 5.18-rc1.
      
        Nothing major, some more good cleanups from Jiri and 2 new serial
        drivers. Highlights include:
      
         - termbits cleanups
      
         - export symbol cleanups and other core cleanups from Jiri Slaby
      
         - new sunplus and mvebu uart drivers (amazing that people are still
           creating new uarts...)
      
         - samsung serial driver cleanups
      
         - ldisc 29 is now "reserved" for experimental/development line
           disciplines
      
         - lots of other tiny fixes and cleanups to serial drivers and
           bindings
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'tty-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (104 commits)
        vt_ioctl: fix potential spectre v1 in VT_DISALLOCATE
        serial: 8250: fix XOFF/XON sending when DMA is used
        tty: serial: samsung: Add ARTPEC-8 support
        dt-bindings: serial: samsung: Add ARTPEC-8 UART
        serial: sc16is7xx: Clear RS485 bits in the shutdown
        tty: serial: samsung: simplify getting OF match data
        tty: serial: samsung: constify variables and pointers
        tty: serial: samsung: constify s3c24xx_serial_drv_data members
        tty: serial: samsung: constify UART name
        tty: serial: samsung: constify s3c24xx_serial_drv_data
        tty: serial: samsung: reduce number of casts
        tty: serial: samsung: embed s3c2410_uartcfg in parent structure
        tty: serial: samsung: embed s3c24xx_uart_info in parent structure
        serial: 8250_tegra: mark acpi_device_id as unused with !ACPI
        tty: serial: bcm63xx: use more precise Kconfig symbol
        serial: SERIAL_SUNPLUS should depend on ARCH_SUNPLUS
        tty: serial: jsm: fix two assignments in if conditions
        tty: serial: jsm: remove redundant assignments to variable linestatus
        serial: 8250_mtk: make two read-only arrays static const
        serial: samsung_tty: do not unlock port->lock for uart_write_wakeup()
        ...
      72030621
    • Linus Torvalds's avatar
      Merge tag 'staging-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · dfdc1de6
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the big set of staging driver updates for 5.18-rc1.
      
        Loads of tiny cleanups for almost all staging drivers in here, nothing
        major at all. Highlights include:
      
         - remove the ashmem Android driver. It is long-dead and if there are
           any legacy userspace applications still using it, the Android
           kernel images will maintain it, the community shouldn't care about
           it anymore
      
         - wfx wifi driver major cleanups. Should be ready to merge out of
           staging soon, and will coordinate with the wifi maintainers after
           -rc1 is out
      
         - major cleanups and unwinding of the layers of the r8188eu driver.
           It's amazing just how many unneeded layers of abstraction is in
           there, just when we think it's done, another is found...
      
         - lots of tiny coding style cleanups in many other staging drivers.
      
        All have been in linux-next for a while with no reported problems"
      
      * tag 'staging-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (455 commits)
        staging: r8188eu: remove unnecessary memset in r8188eu
        staging: greybus: introduce pwm_ops::apply
        staging: rts5208: Resolve checkpatch.pl issues.
        staging: sm750fb: fix naming style
        staging: fbtft: Consider type of init sequence values in fbtft_init_display()
        staging: fbtft: Constify buf parameter in fbtft_dbg_hex()
        staging: mmal-vchiq: clear redundant item named bulk_scratch
        mips: dts: ralink: add MT7621 SoC
        staging: r8188eu: remove some unused local ieee80211 macros
        staging: r8188eu: make rtl8188e_process_phy_info static
        staging: r8188eu: remove unused function prototype
        staging: r8188eu: remove three unused receive defines
        staging: r8188eu: remove unnecessary initializations
        staging: rtl8192e: Fix spelling mistake "RESQUEST" -> "REQUEST"
        MAINTAINERS: remove the obsolete file entry for staging in ANDROID DRIVERS
        staging: r8188eu: proper error handling in rtw_init_drv_sw
        staging: r8188eu: call _cancel_timer_ex from _rtw_free_recv_priv
        staging: vt6656: Removed unused variable vt3342_vnt_threshold
        staging: vt6656: Removed unused variable bb_vga_0
        staging: remove ashmem
        ...
      dfdc1de6
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.18-rc1' of... · 266d17a8
      Linus Torvalds authored
      Merge tag 'driver-core-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Here is the set of driver core changes for 5.18-rc1.
      
        Not much here, primarily it was a bunch of cleanups and small updates:
      
         - kobj_type cleanups for default_groups
      
         - documentation updates
      
         - firmware loader minor changes
      
         - component common helper added and take advantage of it in many
           drivers (the largest part of this pull request).
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'driver-core-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (54 commits)
        Documentation: update stable review cycle documentation
        drivers/base/dd.c : Remove the initial value of the global variable
        Documentation: update stable tree link
        Documentation: add link to stable release candidate tree
        devres: fix typos in comments
        Documentation: add note block surrounding security patch note
        samples/kobject: Use sysfs_emit instead of sprintf
        base: soc: Make soc_device_match() simpler and easier to read
        driver core: dd: fix return value of __setup handler
        driver core: Refactor sysfs and drv/bus remove hooks
        driver core: Refactor multiple copies of device cleanup
        scripts: get_abi.pl: Fix typo in help message
        kernfs: fix typos in comments
        kernfs: remove unneeded #if 0 guard
        ALSA: hda/realtek: Make use of the helper component_compare_dev_name
        video: omapfb: dss: Make use of the helper component_compare_dev
        power: supply: ab8500: Make use of the helper component_compare_dev
        ASoC: codecs: wcd938x: Make use of the helper component_compare/release_of
        iommu/mediatek: Make use of the helper component_compare/release_of
        drm: of: Make use of the helper component_release_of
        ...
      266d17a8
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 02e2af20
      Linus Torvalds authored
      Pull char/misc and other driver updates from Greg KH:
       "Here is the big set of char/misc and other small driver subsystem
        updates for 5.18-rc1.
      
        Included in here are merges from driver subsystems which contain:
      
         - iio driver updates and new drivers
      
         - fsi driver updates
      
         - fpga driver updates
      
         - habanalabs driver updates and support for new hardware
      
         - soundwire driver updates and new drivers
      
         - phy driver updates and new drivers
      
         - coresight driver updates
      
         - icc driver updates
      
        Individual changes include:
      
         - mei driver updates
      
         - interconnect driver updates
      
         - new PECI driver subsystem added
      
         - vmci driver updates
      
         - lots of tiny misc/char driver updates
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'char-misc-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (556 commits)
        firmware: google: Properly state IOMEM dependency
        kgdbts: fix return value of __setup handler
        firmware: sysfb: fix platform-device leak in error path
        firmware: stratix10-svc: add missing callback parameter on RSU
        arm64: dts: qcom: add non-secure domain property to fastrpc nodes
        misc: fastrpc: Add dma handle implementation
        misc: fastrpc: Add fdlist implementation
        misc: fastrpc: Add helper function to get list and page
        misc: fastrpc: Add support to secure memory map
        dt-bindings: misc: add fastrpc domain vmid property
        misc: fastrpc: check before loading process to the DSP
        misc: fastrpc: add secure domain support
        dt-bindings: misc: add property to support non-secure DSP
        misc: fastrpc: Add support to get DSP capabilities
        misc: fastrpc: add support for FASTRPC_IOCTL_MEM_MAP/UNMAP
        misc: fastrpc: separate fastrpc device from channel context
        dt-bindings: nvmem: brcm,nvram: add basic NVMEM cells
        dt-bindings: nvmem: make "reg" property optional
        nvmem: brcm_nvram: parse NVRAM content into NVMEM cells
        nvmem: dt-bindings: Fix the error of dt-bindings check
        ...
      02e2af20
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · ff61bc81
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "No core changes this time. Just new driver code and improvements!
      
        New drivers:
      
         - New driver for the Broadcom BCM4908 SoC.
      
         - New subdriver for Tesla FSD (Full Self Driving) SoC, a derivative
           of the Samsung Exynos pin control driver.
      
         - New driver for the Amlogic Meson S4 SoC.
      
         - New driver for the Sunplus SP7021 SoC.
      
         - New driver for the Microsemi Ocelot family ServalT SoC.
      
         - New subdriver for Intel Alder Lake-M SoC.
      
         - New subdriver for Intel Ice Lake-N SoC, including PCH support.
      
         - New subdriver for Renesas R8A779F0 SoC.
      
         - New subdriver for Mediatek MT8186 SoC.
      
         - New subdriver for NXP Freescale i.MX93 SoC.
      
         - New driver for Nuvoton WPCM450 SoC.
      
         - New driver for Qualcomm SC8280XP SoC.
      
        Improvements:
      
         - Wakeup support on Samsung Exynos850 and ExynosAutov9.
      
         - Serious and voluminous maintenance cleanup and refactoring in the
           Renesas drivers. Mainly sharing similar data between the different
           SoC subdrivers.
      
         - Qualcomm SM8450 EGPIO support.
      
         - Drive strength support on the Mediatek MT8195.
      
         - Add some missing groups and functions to the Ralink RT2880"
      
      * tag 'pinctrl-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (188 commits)
        pinctrl: mediatek: common-v1: fix semicolon.cocci warnings
        pinctrl: nuvoton: wpcm450: Fix build error without OF
        pinctrl: qcom-pmic-gpio: Add support for pm8450
        dt-bindings: pinctrl: aspeed: Update gfx node in example
        dt-bindings: pinctrl: rt2880: add missing pin groups and functions
        pinctrl: ingenic: Fix regmap on X series SoCs
        pinctrl: nuvoton: Fix return value check in wpcm450_gpio_register()
        pinctrl: nuvoton: wpcm450: off by one in wpcm450_gpio_register()
        pinctrl: nuvoton: wpcm450: select GENERIC_PINCTRL_GROUPS
        pinctrl: nuvoton: Fix sparse warning
        pinctrl: mediatek: mt8186: Account for probe refactoring
        pinctrl: mediatek: common-v1: Commonize spec_ies_smt_set callback
        pinctrl: mediatek: common-v1: Commonize spec_pupd callback
        pinctrl: mediatek: common-v1: Use common probe function
        pinctrl: mediatek: common-v1: Add common probe function
        pinctrl: mediatek: paris: Unify probe function by using OF match data
        pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe
        pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe
        pinctrl: berlin: fix error return code of berlin_pinctrl_build_state()
        pinctrl: qcom: Introduce sc8280xp TLMM driver
        ...
      ff61bc81
    • Linus Torvalds's avatar
      Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" · 901c7280
      Linus Torvalds authored
      Halil Pasic points out [1] that the full revert of that commit (revert
      in bddac7c1), and that a partial revert that only reverts the
      problematic case, but still keeps some of the cleanups is probably
      better.  
      
      And that partial revert [2] had already been verified by Oleksandr
      Natalenko to also fix the issue, I had just missed that in the long
      discussion.
      
      So let's reinstate the cleanups from commit aa6f8dcb ("swiotlb:
      rework "fix info leak with DMA_FROM_DEVICE""), and effectively only
      revert the part that caused problems.
      
      Link: https://lore.kernel.org/all/20220328013731.017ae3e3.pasic@linux.ibm.com/ [1]
      Link: https://lore.kernel.org/all/20220324055732.GB12078@lst.de/ [2]
      Link: https://lore.kernel.org/all/4386660.LvFx2qVVIh@natalenko.name/ [3]
      Suggested-by: default avatarHalil Pasic <pasic@linux.ibm.com>
      Tested-by: default avatarOleksandr Natalenko <oleksandr@natalenko.name>
      Cc: Christoph Hellwig" <hch@lst.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      901c7280
    • Naresh Kamboju's avatar
      selftests: net: Add tls config dependency for tls selftests · d9142e1c
      Naresh Kamboju authored
      selftest net tls test cases need TLS=m without this the test hangs.
      Enabling config TLS solves this problem and runs to complete.
        - CONFIG_TLS=m
      Reported-by: default avatarLinux Kernel Functional Testing <lkft@linaro.org>
      Signed-off-by: default avatarNaresh Kamboju <naresh.kamboju@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d9142e1c
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf · 2aa2f88c
      David S. Miller authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter fixes for net
      
      The following patchset contains Netfilter fixes for net:
      
      1) Incorrect output device in nf_egress hook, from Phill Sutter.
      
      2) Preserve liberal flag in TCP conntrack state, reported by Sven Auhagen.
      
      3) Use GFP_KERNEL_ACCOUNT flag for nf_tables objects, from Vasily Averin.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2aa2f88c
    • Petr Mladek's avatar
      e7dbd4d5
    • Vasily Averin's avatar
      memcg: enable accounting for nft objects · 33758c89
      Vasily Averin authored
      nftables replaces iptables, but it lacks memcg accounting.
      
      This patch account most of the memory allocation associated with nft
      and should protect the host from misusing nft inside a memcg restricted
      container.
      Signed-off-by: default avatarVasily Averin <vvs@openvz.org>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      33758c89
    • Muchun Song's avatar
      mm: kfence: fix missing objcg housekeeping for SLAB · ae085d7f
      Muchun Song authored
      The objcg is not cleared and put for kfence object when it is freed,
      which could lead to memory leak for struct obj_cgroup and wrong
      statistics of NR_SLAB_RECLAIMABLE_B or NR_SLAB_UNRECLAIMABLE_B.
      
      Since the last freed object's objcg is not cleared,
      mem_cgroup_from_obj() could return the wrong memcg when this kfence
      object, which is not charged to any objcgs, is reallocated to other
      users.
      
      A real word issue [1] is caused by this bug.
      
      Link: https://lore.kernel.org/all/000000000000cabcb505dae9e577@google.com/ [1]
      Reported-by: syzbot+f8c45ccc7d5d45fc5965@syzkaller.appspotmail.com
      Fixes: d3fb45f3 ("mm, kfence: insert KFENCE hooks for SLAB")
      Signed-off-by: default avatarMuchun Song <songmuchun@bytedance.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Marco Elver <elver@google.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ae085d7f