1. 21 Sep, 2022 3 commits
    • Namhyung Kim's avatar
      perf stat: Use evsel->core.cpus to iterate cpus in BPF cgroup counters · 8a92605d
      Namhyung Kim authored
      If it mixes core and uncore events, each evsel would have different cpu map.
      But it assumed they are same with evlist's all_cpus and accessed by the same
      index.  This resulted in a crash like below.
      
        $ perf stat -a --bpf-counters --for-each_cgroup ^. -e cycles,imc/cas_count_read/ sleep 1
        Segmentation fault
      
      While it's not recommended to use uncore events for cgroup aggregation, it
      should not crash.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: bpf@vger.kernel.org
      Link: https://lore.kernel.org/r/20220916184132.1161506-4-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8a92605d
    • Namhyung Kim's avatar
      perf stat: Fix cpu map index in bperf cgroup code · 3da35231
      Namhyung Kim authored
      The previous cpu map introduced a bug in the bperf cgroup counter.  This
      results in a failure when user gives a partial cpu map starting from
      non-zero.
      
        $ sudo ./perf stat -C 1-2 --bpf-counters --for-each-cgroup ^. sleep 1
        libbpf: prog 'on_cgrp_switch': failed to create BPF link for perf_event FD 0:
                                       -9 (Bad file descriptor)
        Failed to attach cgroup program
      
      To get the FD of an evsel, it should use a map index not the CPU number.
      
      Fixes: 0255571a ("perf cpumap: Switch to using perf_cpu_map API")
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: bpf@vger.kernel.org
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Song Liu <songliubraving@fb.com>
      Link: https://lore.kernel.org/r/20220916184132.1161506-3-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      3da35231
    • Namhyung Kim's avatar
      perf stat: Fix BPF program section name · 0d77326c
      Namhyung Kim authored
      It seems the recent libbpf got more strict about the section name.
      I'm seeing a failure like this:
      
        $ sudo ./perf stat -a --bpf-counters --for-each-cgroup ^. sleep 1
        libbpf: prog 'on_cgrp_switch': missing BPF prog type, check ELF section name 'perf_events'
        libbpf: prog 'on_cgrp_switch': failed to load: -22
        libbpf: failed to load object 'bperf_cgroup_bpf'
        libbpf: failed to load BPF skeleton 'bperf_cgroup_bpf': -22
        Failed to load cgroup skeleton
      
      The section name should be 'perf_event' (without the trailing 's').
      Although it's related to the libbpf change, it'd be better fix the
      section name in the first place.
      
      Fixes: 944138f0 ("perf stat: Enable BPF counter with --for-each-cgroup")
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: bpf@vger.kernel.org
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Song Liu <songliubraving@fb.com>
      Link: https://lore.kernel.org/r/20220916184132.1161506-2-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0d77326c
  2. 20 Sep, 2022 4 commits
    • Linus Torvalds's avatar
      Merge tag 'for-6.0-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 60891ec9
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - two fixes for hangs in the umount sequence where threads depend on
         each other and the work must be finished in the right order
      
       - in zoned mode, wait for flushing all block group metadata IO before
         finishing the zone
      
      * tag 'for-6.0-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: zoned: wait for extent buffer IOs before finishing a zone
        btrfs: fix hang during unmount when stopping a space reclaim worker
        btrfs: fix hang during unmount when stopping block group reclaim worker
      60891ec9
    • Linus Torvalds's avatar
      Merge tag 'fs.fixes.v6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping · 84a31938
      Linus Torvalds authored
      Pull vfs fix from Christian Brauner:
       "Beginning of the merge window we introduced the vfs{g,u}id_t types in
        b27c82e1 ("attr: port attribute changes to new types") and changed
        various codepaths over including chown_common().
      
        When userspace passes -1 for an ownership change the ownership fields
        in struct iattr stay uninitialized. Usually this is fine because any
        code making use of any fields in struct iattr must check the
        ->ia_valid field whether the value of interest has been initialized.
        That's true for all struct iattr passing code.
      
        However, over the course of the last year with more heavy use of KMSAN
        we found quite a few places that got this wrong. A recent one I fixed
        was 3cb6ee99 ("9p: only copy valid iattrs in 9P2000.L setattr
        implementation").
      
        But we also have LSM hooks. Actually we have two. The first one is
        security_inode_setattr() in notify_change() which does the right thing
        and passes the full struct iattr down to LSMs and thus LSMs can check
        whether it is initialized.
      
        But then we also have security_path_chown() which passes down a path
        argument and the target ownership as the filesystem would see it. For
        the latter we now generate the target values based on struct iattr and
        pass it down. However, when userspace passes -1 then struct iattr
        isn't initialized.
      
        This patch simply initializes ->ia_vfs{g,u}id with INVALID_VFS{G,U}ID
        so the hook continue to see invalid ownership when -1 is passed from
        userspace. The only LSM that cares about the actual values is Tomoyo.
      
        The vfs codepaths don't look at these fields without ->ia_valid being
        set so there's no harm in initializing ->ia_vfs{g,u}id. Arguably this
        is also safer since we can't end up copying valid ownership values
        when invalid ownership values should be passed.
      
        This only affects mainline. No kernel has been released with this and
        thus no backport is needed. The commit is thus marked with a Fixes:
        tag but annotated with "# mainline only" (I didn't quite remember what
        Greg said about how to tell stable autoselect to not bother with fixes
        for mainline only)"
      
      * tag 'fs.fixes.v6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping:
        open: always initialize ownership fields
      84a31938
    • Linus Torvalds's avatar
      Merge tag 'execve-v6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · f489921d
      Linus Torvalds authored
      Pull execve reverts from Kees Cook:
       "The recent work to support time namespace unsharing turns out to have
        some undesirable corner cases, so rather than allowing the API to stay
        exposed for another release, it'd be best to remove it ASAP, with the
        replacement getting another cycle of testing. Nothing is known to use
        this yet, so no userspace breakage is expected.
      
        For more details, see:
      
          https://lore.kernel.org/lkml/ed418e43ad28b8688cfea2b7c90fce1c@ispras.ru
      
        Summary:
      
         - Remove the recent 'unshare time namespace on vfork+exec' feature
           (Andrei Vagin)"
      
      * tag 'execve-v6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        Revert "fs/exec: allow to unshare a time namespace on vfork+exec"
        Revert "selftests/timens: add a test for vfork+exit"
      f489921d
    • Tetsuo Handa's avatar
      open: always initialize ownership fields · f52d74b1
      Tetsuo Handa authored
      Beginning of the merge window we introduced the vfs{g,u}id_t types in
      b27c82e1 ("attr: port attribute changes to new types") and changed
      various codepaths over including chown_common().
      
      During that change we forgot to account for the case were the passed
      ownership value is -1. In this case the ownership fields in struct iattr
      aren't initialized but we rely on them being initialized by the time we
      generate the ownership to pass down to the LSMs. All the major LSMs
      don't care about the ownership values at all. Only Tomoyo uses them and
      so it took a while for syzbot to unearth this issue.
      
      Fix this by initializing the ownership fields and do it within the
      retry_deleg block. While notify_change() doesn't alter the ownership
      fields currently we shouldn't rely on it.
      
      Since no kernel has been released with these changes this does not
      needed to be backported to any stable kernels.
      
      [Christian Brauner (Microsoft) <brauner@kernel.org>]
      * rewrote commit message
      * use INVALID_VFS{G,U}ID macros
      
      Fixes: b27c82e1 ("attr: port attribute changes to new types") # mainline only
      Reported-and-tested-by: syzbot+541e21dcc32c4046cba9@syzkaller.appspotmail.com
      Signed-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Reviewed-by: default avatarSeth Forshee (DigitalOcean) <sforshee@kernel.org>
      Signed-off-by: default avatarChristian Brauner (Microsoft) <brauner@kernel.org>
      f52d74b1
  3. 18 Sep, 2022 5 commits
  4. 16 Sep, 2022 9 commits
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · a335366b
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - fix the level-low interrupt type support in gpio-mpc8xxx
      
       - convert another two drivers to using immutable irq chips
      
       - MAINTAINERS update
      
      * tag 'gpio-fixes-for-v6.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: mt7621: Make the irqchip immutable
        gpio: ixp4xx: Make irqchip immutable
        MAINTAINERS: Update HiSilicon GPIO Driver maintainer
        gpio: mpc8xxx: Fix support for IRQ_TYPE_LEVEL_LOW flow_type in mpc85xx
      a335366b
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 6879c2d3
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
       "Nothing special, just driver fixes:
      
         - Fix IRQ wakeup and pins for UFS and SDC2 issues on the Qualcomm
           SC8180x
      
         - Fix the Rockchip driver to support interrupt on both rising and
           falling edges.
      
         - Name the Allwinner A100 R_PIO properly
      
         - Fix several issues with the Ocelot interrupts"
      
      * tag 'pinctrl-v6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: ocelot: Fix interrupt controller
        pinctrl: sunxi: Fix name for A100 R_PIO
        pinctrl: rockchip: Enhance support for IRQ_TYPE_EDGE_BOTH
        pinctrl: qcom: sc8180x: Fix wrong pin numbers
        pinctrl: qcom: sc8180x: Fix gpio_wakeirq_map
      6879c2d3
    • Linus Torvalds's avatar
      Merge tag 'block-6.0-2022-09-16' of git://git.kernel.dk/linux-block · 68e777e4
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Two fixes for -rc6:
      
         - Fix a mixup of sectors and bytes in the secure erase ioctl
           (Mikulas)
      
         - Fix for a bad return value for a non-blocking bio/blk queue enter
           call (me)"
      
      * tag 'block-6.0-2022-09-16' of git://git.kernel.dk/linux-block:
        blk-lib: fix blkdev_issue_secure_erase
        block: blk_queue_enter() / __bio_queue_enter() must return -EAGAIN for nowait
      68e777e4
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.0-2022-09-16' of git://git.kernel.dk/linux-block · 0158137d
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "Two small patches:
      
         - Fix using an unsigned type for the return value, introduced in this
           release (Pavel)
      
         - Stable fix for a missing check for a fixed file on put (me)"
      
      * tag 'io_uring-6.0-2022-09-16' of git://git.kernel.dk/linux-block:
        io_uring/msg_ring: check file type before putting
        io_uring/rw: fix error'ed retry return values
      0158137d
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2022-09-16' of git://anongit.freedesktop.org/drm/drm · 5763d7f2
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "This is the regular drm fixes pull.
      
        The i915 and misc fixes are fairly regular, but the amdgpu contains
        fixes for new hw blocks, the dcn314 specific path hookups and also has
        a bunch of fixes for clang stack size warnings which are a bit churny
        but fairly straightforward. This means it looks a little larger than
        usual.
      
        amdgpu:
         - BACO fixes for some RDNA2 boards
         - PCI AER fixes uncovered by a core PCI change
         - Properly hook up dirtyfb helper
         - RAS fixes for GC 11.x
         - TMR fix
         - DCN 3.2.x fixes
         - DCN 3.1.4 fixes
         - LLVM DML stack size fixes
      
        i915:
         - Revert a display patch around max DP source rate now that the
           proper WaEdpLinkRateDataReload is in place
         - Fix perf limit reasons bit position
         - Fix unclaimmed mmio registers on suspend flow with GuC
         - A vma_move_to_active fix for a regression with video decoding
         - DP DSP fix
      
        gma500:
         - Locking and IRQ fixes
      
        meson:
         - OSD1 display fixes
      
        panel-edp:
         - Fix Innolux timings
      
        rockchip:
         - DP/HDMI fixes"
      
      * tag 'drm-fixes-2022-09-16' of git://anongit.freedesktop.org/drm/drm: (42 commits)
        drm/amdgpu: make sure to init common IP before gmc
        drm/amdgpu: move nbio sdma_doorbell_range() into sdma code for vega
        drm/amdgpu: move nbio ih_doorbell_range() into ih code for vega
        drm/rockchip: Fix return type of cdn_dp_connector_mode_valid
        drm/amd/display: Mark dml30's UseMinimumDCFCLK() as noinline for stack usage
        drm/amd/display: Reduce number of arguments of dml31's CalculateFlipSchedule()
        drm/amd/display: Reduce number of arguments of dml31's CalculateWatermarksAndDRAMSpeedChangeSupport()
        drm/amd/display: Reduce number of arguments of dml32_CalculatePrefetchSchedule()
        drm/amd/display: Reduce number of arguments of dml32_CalculateWatermarksMALLUseAndDRAMSpeedChangeSupport()
        drm/amd/display: Refactor SubVP calculation to remove FPU
        drm/amd/display: Limit user regamma to a valid value
        drm/amd/display: add workaround for subvp cursor corruption for DCN32/321
        drm/amd/display: SW cursor fallback for SubVP
        drm/amd/display: Round cursor width up for MALL allocation
        drm/amd/display: Correct dram channel width for dcn314
        drm/amd/display: Relax swizzle checks for video non-RGB formats on DCN314
        drm/amd/display: Hook up DCN314 specific dml implementation
        drm/amd/display: Enable dlg and vba compilation for dcn314
        drm/amd/display: Fix compilation errors on DCN314
        drm/amd/display: Fix divide by zero in DML
        ...
      5763d7f2
    • Linus Torvalds's avatar
      Merge tag '6.0-rc5-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 714820c6
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Four smb3 fixes for stable:
      
         - important fix to revalidate mapping when doing direct writes
      
         - missing spinlock
      
         - two fixes to socket handling
      
         - trivial change to update internal version number for cifs.ko"
      
      * tag '6.0-rc5-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: update internal module number
        cifs: add missing spinlock around tcon refcount
        cifs: always initialize struct msghdr smb_msg completely
        cifs: don't send down the destination address to sendmsg for a SOCK_STREAM
        cifs: revalidate mapping when doing direct writes
      714820c6
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2022-09-15' of... · 25100377
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2022-09-15' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
      
      - Revert a display patch around max DP source rate now
        that the proper WaEdpLinkRateDataReload is in place. (Ville)
      - Fix perf limit reasons bit position. (Ashutosh)
      - Fix unclaimmed mmio registers on suspend flow with GuC. (Umesh)
      - A vma_move_to_active fix for a regression with video decoding. (Nirmoy)
      - DP DSP fix. (Ankit)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/YyMtmGMXRLsURoM5@intel.com
      25100377
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2022-09-15' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · 87d9862b
      Dave Airlie authored
      Short summary of fixes pull:
      
       * gma500: Locking and IRQ fixes
       * meson: OSD1 display fixes
       * panel-edp: Fix Innolux timings
       * rockchip: DP/HDMI fixes
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Thomas Zimmermann <tzimmermann@suse.de>
      Link: https://patchwork.freedesktop.org/patch/msgid/YyMUpP1w21CPXq+I@linux-uq9g
      87d9862b
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-6.0-2022-09-14' of... · e2111ae2
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-6.0-2022-09-14' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
      
      amd-drm-fixes-6.0-2022-09-14:
      
      amdgpu:
      - BACO fixes for some RDNA2 boards
      - PCI AER fixes uncovered by a core PCI change
      - Properly hook up dirtyfb helper
      - RAS fixes for GC 11.x
      - TMR fix
      - DCN 3.2.x fixes
      - DCN 3.1.4 fixes
      - LLVM DML stack size fixes
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220914184030.6145-1-alexander.deucher@amd.com
      e2111ae2
  5. 15 Sep, 2022 4 commits
  6. 14 Sep, 2022 11 commits
  7. 13 Sep, 2022 4 commits