08 Apr, 2020

2 commits

  • …drm-misc into drm-next

    A bunch of fixes to avoid null pointer dereference in fbcon, fix a return
    in xen, some DT bindings fixes, a vc4 issue with 1920x1200 mode validation,
    and a conflicting framebuffer in vboxvideo.

    Signed-off-by: Dave Airlie <airlied@redhat.com>

    From: Maxime Ripard <maxime@cerno.tech>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200404090057.a3m7uw6tavwtcyon@gilmour.lan

    Dave Airlie
     
  • …/drm-intel into drm-next

    Only gvt fixes on this round:

    - Fix non-privilege access warning (Tina)
    - Fix display port type (Tina)
    - BDW cmd parser missed SWTESS_BASE_ADDRESS (Yan)
    - Bypass length check of LRI (Yan)
    - Fix one klocwork warning (Tina)

    Signed-off-by: Dave Airlie <airlied@redhat.com>

    From: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200402213026.GA1141017@intel.com

    Dave Airlie
     

03 Apr, 2020

1 commit


01 Apr, 2020

1 commit

  • … drm-intel-next-fixes

    gvt-next-fixes-2020-03-31

    - Fix non-privilege access warning (Tina)
    - Fix display port type (Tina)
    - BDW cmd parser missed SWTESS_BASE_ADDRESS (Yan)
    - Bypass length check of LRI (Yan)
    - Fix one klocwork warning (Tina)

    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    From: Zhenyu Wang <zhenyuw@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200331070025.GB16629@zhen-hp.sh.intel.com

    Rodrigo Vivi
     

31 Mar, 2020

7 commits

  • This reverts commit 7be1b9b8e9d1e9ef0342d2e001f44eec4030aa4d.

    The drm_mm is supposed to work in atomic context, so calling schedule()
    or in this case cond_resched() is illegal.

    Signed-off-by: Christian König
    Acked-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/359278/

    Christian König
     
  • Fix a static code checker warning:
    drivers/gpu/drm/xen/xen_drm_front.c:404 xen_drm_drv_dumb_create()
    warn: passing zero to 'PTR_ERR'

    Signed-off-by: Ding Xiang
    Reviewed-by: Oleksandr Andrushchenko
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/1585562347-30214-1-git-send-email-dingxiang@cmss.chinamobile.com

    Ding Xiang
     
  • Set logo_shown to FBCON_LOGO_CANSHOW when the vc was deallocated.

    syzkaller report: https://lkml.org/lkml/2020/3/27/403
    general protection fault, probably for non-canonical address
    0xdffffc000000006c: 0000 [#1] SMP KASAN
    KASAN: null-ptr-deref in range [0x0000000000000360-0x0000000000000367]
    RIP: 0010:fbcon_switch+0x28f/0x1740
    drivers/video/fbdev/core/fbcon.c:2260

    Call Trace:
    redraw_screen+0x2a8/0x770 drivers/tty/vt/vt.c:1008
    vc_do_resize+0xfe7/0x1360 drivers/tty/vt/vt.c:1295
    fbcon_init+0x1221/0x1ab0 drivers/video/fbdev/core/fbcon.c:1219
    visual_init+0x305/0x5c0 drivers/tty/vt/vt.c:1062
    do_bind_con_driver+0x536/0x890 drivers/tty/vt/vt.c:3542
    do_take_over_console+0x453/0x5b0 drivers/tty/vt/vt.c:4122
    do_fbcon_takeover+0x10b/0x210 drivers/video/fbdev/core/fbcon.c:588
    fbcon_fb_registered+0x26b/0x340 drivers/video/fbdev/core/fbcon.c:3259
    do_register_framebuffer drivers/video/fbdev/core/fbmem.c:1664 [inline]
    register_framebuffer+0x56e/0x980 drivers/video/fbdev/core/fbmem.c:1832
    dlfb_usb_probe.cold+0x1743/0x1ba3 drivers/video/fbdev/udlfb.c:1735
    usb_probe_interface+0x310/0x800 drivers/usb/core/driver.c:374

    accessing vc_cons[logo_shown].d->vc_top causes the bug.

    Reported-by: syzbot+732528bae351682f1f27@syzkaller.appspotmail.com
    Signed-off-by: Qiujun Huang
    Acked-by: Sam Ravnborg
    Cc: stable@vger.kernel.org
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20200329085647.25133-1-hqjagain@gmail.com

    Qiujun Huang
     
  • A bit smaller this time around.. there are still a couple uabi
    additions for vulkan waiting in the wings, but I punted on them this
    cycle due to running low on time. (They should be easy enough to
    rebase, and if it is a problem for anyone I can push a next+uabi
    branch so that tu work can proceed.)

    The bigger change is refactoring dpu resource manager and moving dpu
    to use atomic global state. Other than that, it is mostly cleanups
    and fixes.

    From: Rob Clark
    Link: https://patchwork.freedesktop.org/patch/msgid/

    Dave Airlie
     
  • msm needed rc6, so I just went and merged release
    (msm has been in drm-next outside of this tree)

    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • The name of the devicetree directory is wrong on those three
    TI bindings:

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jyri Sarha
    Signed-off-by: Rob Herring
    Link: https://patchwork.freedesktop.org/patch/msgid/875b824ac97bd76dfe77b6227ff9b6b2671a6abf.1584450500.git.mchehab+huawei@kernel.org

    Mauro Carvalho Chehab
     
  • Extra dtc warnings (roughly what W=1 enables) are now enabled by default
    when building the binding examples. These were fixed treewide in
    5.6-rc5, but some new display bindings have been added with new
    warnings:

    Documentation/devicetree/bindings/display/ti/ti,am65x-dss.example.dts:21.27-49.11: Warning (unit_address_format): /example-0/dss@04a00000: unit name should not have leading 0s
    Documentation/devicetree/bindings/display/ti/ti,j721e-dss.example.dts:21.27-72.11: Warning (unit_address_format): /example-0/dss@04a00000: unit name should not have leading 0s
    Documentation/devicetree/bindings/display/ti/ti,k2g-dss.example.dts:20.27-42.11: Warning (unit_address_format): /example-0/dss@02540000: unit name should not have leading 0s

    Cc: Jyri Sarha
    Cc: Tomi Valkeinen
    Signed-off-by: Rob Herring
    Reviewed-by: Sam Ravnborg
    Acked-by: Jyri Sarha
    Link: https://patchwork.freedesktop.org/patch/msgid/20200313180727.23044-1-robh@kernel.org

    Rob Herring
     

30 Mar, 2020

11 commits

  • …/drm-intel into drm-next

    Fixes for instability on Baytrail and Haswell;
    Ice Lake RPS; Sandy Bridge RC6; and few others around
    GT hangchec/reset; livelock; and a null dereference.

    Signed-off-by: Dave Airlie <airlied@redhat.com>

    From: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200327081607.GA3082710@intel.com

    Dave Airlie
     
  • amd-drm-next-5.7-2020-03-26:

    amdgpu:
    - Remove a dpm quirk that is not necessary
    - Fix handling of AC/DC mode in newer SMU firmwares on navi
    - SR-IOV fixes
    - RAS fixes

    scheduler:
    - Fix a race condition

    radeon:
    - Remove a dpm quirk that is not necessary

    Signed-off-by: Dave Airlie
    From: Alex Deucher
    Link: https://patchwork.freedesktop.org/patch/msgid/20200326155310.5486-1-alexander.deucher@amd.com

    Dave Airlie
     
  • Linus Torvalds
     
  • Merge vm fixes from Andrew Morton:
    "5 fixes"

    * emailed patches from Andrew Morton :
    mm/sparse: fix kernel crash with pfn_section_valid check
    mm: fork: fix kernel_stack memcg stats for various stack implementations
    hugetlb_cgroup: fix illegal access to memory
    drivers/base/memory.c: indicate all memory blocks as removable
    mm/swapfile.c: move inode_lock out of claim_swapfile

    Linus Torvalds
     
  • Pull timer fix from Thomas Gleixner:
    "A single fix for the Hyper-V clocksource driver to make sched clock
    actually return nanoseconds and not the virtual clock value which
    increments at 10e7 HZ (100ns)"

    * tag 'timers-urgent-2020-03-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    clocksource/drivers/hyper-v: Make sched clock return nanoseconds correctly

    Linus Torvalds
     
  • Pull irq fix from Thomas Gleixner:
    "A single bugfix to prevent reference leaks in irq affinity notifiers"

    * tag 'irq-urgent-2020-03-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    genirq: Fix reference leaks on irq affinity notifiers

    Linus Torvalds
     
  • Fix the crash like this:

    BUG: Kernel NULL pointer dereference on read at 0x00000000
    Faulting instruction address: 0xc000000000c3447c
    Oops: Kernel access of bad area, sig: 11 [#1]
    LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
    CPU: 11 PID: 7519 Comm: lt-ndctl Not tainted 5.6.0-rc7-autotest #1
    ...
    NIP [c000000000c3447c] vmemmap_populated+0x98/0xc0
    LR [c000000000088354] vmemmap_free+0x144/0x320
    Call Trace:
    section_deactivate+0x220/0x240
    __remove_pages+0x118/0x170
    arch_remove_memory+0x3c/0x150
    memunmap_pages+0x1cc/0x2f0
    devm_action_release+0x30/0x50
    release_nodes+0x2f8/0x3e0
    device_release_driver_internal+0x168/0x270
    unbind_store+0x130/0x170
    drv_attr_store+0x44/0x60
    sysfs_kf_write+0x68/0x80
    kernfs_fop_write+0x100/0x290
    __vfs_write+0x3c/0x70
    vfs_write+0xcc/0x240
    ksys_write+0x7c/0x140
    system_call+0x5c/0x68

    The crash is due to NULL dereference at

    test_bit(idx, ms->usage->subsection_map);

    due to ms->usage = NULL in pfn_section_valid()

    With commit d41e2f3bd546 ("mm/hotplug: fix hot remove failure in
    SPARSEMEM|!VMEMMAP case") section_mem_map is set to NULL after
    depopulate_section_mem(). This was done so that pfn_page() can work
    correctly with kernel config that disables SPARSEMEM_VMEMMAP. With that
    config pfn_to_page does

    __section_mem_map_addr(__sec) + __pfn;

    where

    static inline struct page *__section_mem_map_addr(struct mem_section *section)
    {
    unsigned long map = section->section_mem_map;
    map &= SECTION_MAP_MASK;
    return (struct page *)map;
    }

    Now with SPASEMEM_VMEMAP enabled, mem_section->usage->subsection_map is
    used to check the pfn validity (pfn_valid()). Since section_deactivate
    release mem_section->usage if a section is fully deactivated,
    pfn_valid() check after a subsection_deactivate cause a kernel crash.

    static inline int pfn_valid(unsigned long pfn)
    {
    ...
    return early_section(ms) || pfn_section_valid(ms, pfn);
    }

    where

    static inline int pfn_section_valid(struct mem_section *ms, unsigned long pfn)
    {
    int idx = subsection_map_index(pfn);

    return test_bit(idx, ms->usage->subsection_map);
    }

    Avoid this by clearing SECTION_HAS_MEM_MAP when mem_section->usage is
    freed. For architectures like ppc64 where large pages are used for
    vmmemap mapping (16MB), a specific vmemmap mapping can cover multiple
    sections. Hence before a vmemmap mapping page can be freed, the kernel
    needs to make sure there are no valid sections within that mapping.
    Clearing the section valid bit before depopulate_section_memap enables
    this.

    [aneesh.kumar@linux.ibm.com: add comment]
    Link: http://lkml.kernel.org/r/20200326133235.343616-1-aneesh.kumar@linux.ibm.comLink: http://lkml.kernel.org/r/20200325031914.107660-1-aneesh.kumar@linux.ibm.com
    Fixes: d41e2f3bd546 ("mm/hotplug: fix hot remove failure in SPARSEMEM|!VMEMMAP case")
    Reported-by: Sachin Sant
    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Andrew Morton
    Tested-by: Sachin Sant
    Reviewed-by: Baoquan He
    Reviewed-by: Wei Yang
    Acked-by: Michal Hocko
    Acked-by: Pankaj Gupta
    Cc: Michael Ellerman
    Cc: Dan Williams
    Cc: David Hildenbrand
    Cc: Oscar Salvador
    Cc: Mike Rapoport
    Cc:
    Signed-off-by: Linus Torvalds

    Aneesh Kumar K.V
     
  • Depending on CONFIG_VMAP_STACK and the THREAD_SIZE / PAGE_SIZE ratio the
    space for task stacks can be allocated using __vmalloc_node_range(),
    alloc_pages_node() and kmem_cache_alloc_node().

    In the first and the second cases page->mem_cgroup pointer is set, but
    in the third it's not: memcg membership of a slab page should be
    determined using the memcg_from_slab_page() function, which looks at
    page->slab_cache->memcg_params.memcg . In this case, using
    mod_memcg_page_state() (as in account_kernel_stack()) is incorrect:
    page->mem_cgroup pointer is NULL even for pages charged to a non-root
    memory cgroup.

    It can lead to kernel_stack per-memcg counters permanently showing 0 on
    some architectures (depending on the configuration).

    In order to fix it, let's introduce a mod_memcg_obj_state() helper,
    which takes a pointer to a kernel object as a first argument, uses
    mem_cgroup_from_obj() to get a RCU-protected memcg pointer and calls
    mod_memcg_state(). It allows to handle all possible configurations
    (CONFIG_VMAP_STACK and various THREAD_SIZE/PAGE_SIZE values) without
    spilling any memcg/kmem specifics into fork.c .

    Note: This is a special version of the patch created for stable
    backports. It contains code from the following two patches:
    - mm: memcg/slab: introduce mem_cgroup_from_obj()
    - mm: fork: fix kernel_stack memcg stats for various stack implementations

    [guro@fb.com: introduce mem_cgroup_from_obj()]
    Link: http://lkml.kernel.org/r/20200324004221.GA36662@carbon.dhcp.thefacebook.com
    Fixes: 4d96ba353075 ("mm: memcg/slab: stop setting page->mem_cgroup pointer for slab pages")
    Signed-off-by: Roman Gushchin
    Signed-off-by: Andrew Morton
    Reviewed-by: Shakeel Butt
    Acked-by: Johannes Weiner
    Cc: Michal Hocko
    Cc: Bharata B Rao
    Cc: Shakeel Butt
    Cc:
    Link: http://lkml.kernel.org/r/20200303233550.251375-1-guro@fb.com
    Signed-off-by: Linus Torvalds

    Roman Gushchin
     
  • This appears to be a mistake in commit faced7e0806cf ("mm: hugetlb
    controller for cgroups v2").

    Essentially that commit does a hugetlb_cgroup_from_counter assuming that
    page_counter_try_charge has initialized counter.

    But if that has failed then it seems will not initialize counter, so
    hugetlb_cgroup_from_counter(counter) ends up pointing to random memory,
    causing kasan to complain.

    The solution is to simply use 'h_cg', instead of
    hugetlb_cgroup_from_counter(counter), since that is a reference to the
    hugetlb_cgroup anyway. After this change kasan ceases to complain.

    Fixes: faced7e0806cf ("mm: hugetlb controller for cgroups v2")
    Reported-by: syzbot+cac0c4e204952cf449b1@syzkaller.appspotmail.com
    Signed-off-by: Mina Almasry
    Signed-off-by: Andrew Morton
    Acked-by: Giuseppe Scrivano
    Acked-by: Tejun Heo
    Cc: Mike Kravetz
    Cc: David Rientjes
    Link: http://lkml.kernel.org/r/20200313223920.124230-1-almasrymina@google.com
    Signed-off-by: Linus Torvalds

    Mina Almasry
     
  • We see multiple issues with the implementation/interface to compute
    whether a memory block can be offlined (exposed via
    /sys/devices/system/memory/memoryX/removable) and would like to simplify
    it (remove the implementation).

    1. It runs basically lockless. While this might be good for performance,
    we see possible races with memory offlining that will require at
    least some sort of locking to fix.

    2. Nowadays, more false positives are possible. No arch-specific checks
    are performed that validate if memory offlining will not be denied
    right away (and such check will require locking). For example, arm64
    won't allow to offline any memory block that was added during boot -
    which will imply a very high error rate. Other archs have other
    constraints.

    3. The interface is inherently racy. E.g., if a memory block is detected
    to be removable (and was not a false positive at that time), there is
    still no guarantee that offlining will actually succeed. So any
    caller already has to deal with false positives.

    4. It is unclear which performance benefit this interface actually
    provides. The introducing commit 5c755e9fd813 ("memory-hotplug: add
    sysfs removable attribute for hotplug memory remove") mentioned

    "A user-level agent must be able to identify which sections
    of memory are likely to be removable before attempting the
    potentially expensive operation."

    However, no actual performance comparison was included.

    Known users:

    - lsmem: Will group memory blocks based on the "removable" property. [1]

    - chmem: Indirect user. It has a RANGE mode where one can specify
    removable ranges identified via lsmem to be offlined. However,
    it also has a "SIZE" mode, which allows a sysadmin to skip the
    manual "identify removable blocks" step. [2]

    - powerpc-utils: Uses the "removable" attribute to skip some memory
    blocks right away when trying to find some to offline+remove.
    However, with ballooning enabled, it already skips this
    information completely (because it once resulted in many false
    negatives). Therefore, the implementation can deal with false
    positives properly already. [3]

    According to Nathan Fontenot, DLPAR on powerpc is nowadays no longer
    driven from userspace via the drmgr command (powerpc-utils). Nowadays
    it's managed in the kernel - including onlining/offlining of memory
    blocks - triggered by drmgr writing to /sys/kernel/dlpar. So the
    affected legacy userspace handling is only active on old kernels. Only
    very old versions of drmgr on a new kernel (unlikely) might execute
    slower - totally acceptable.

    With CONFIG_MEMORY_HOTREMOVE, always indicating "removable" should not
    break any user space tool. We implement a very bad heuristic now.
    Without CONFIG_MEMORY_HOTREMOVE we cannot offline anything, so report
    "not removable" as before.

    Original discussion can be found in [4] ("[PATCH RFC v1] mm:
    is_mem_section_removable() overhaul").

    Other users of is_mem_section_removable() will be removed next, so that
    we can remove is_mem_section_removable() completely.

    [1] http://man7.org/linux/man-pages/man1/lsmem.1.html
    [2] http://man7.org/linux/man-pages/man8/chmem.8.html
    [3] https://github.com/ibm-power-utilities/powerpc-utils
    [4] https://lkml.kernel.org/r/20200117105759.27905-1-david@redhat.com

    Also, this patch probably fixes a crash reported by Steve.
    http://lkml.kernel.org/r/CAPcyv4jpdaNvJ67SkjyUJLBnBnXXQv686BiVW042g03FUmWLXw@mail.gmail.com

    Reported-by: "Scargall, Steve"
    Suggested-by: Michal Hocko
    Signed-off-by: David Hildenbrand
    Signed-off-by: Andrew Morton
    Reviewed-by: Nathan Fontenot
    Acked-by: Michal Hocko
    Cc: Dan Williams
    Cc: Greg Kroah-Hartman
    Cc: "Rafael J. Wysocki"
    Cc: Badari Pulavarty
    Cc: Robert Jennings
    Cc: Heiko Carstens
    Cc: Karel Zak
    Cc:
    Link: http://lkml.kernel.org/r/20200128093542.6908-1-david@redhat.com
    Signed-off-by: Linus Torvalds

    David Hildenbrand
     
  • claim_swapfile() currently keeps the inode locked when it is successful,
    or the file is already swapfile (with -EBUSY). And, on the other error
    cases, it does not lock the inode.

    This inconsistency of the lock state and return value is quite confusing
    and actually causing a bad unlock balance as below in the "bad_swap"
    section of __do_sys_swapon().

    This commit fixes this issue by moving the inode_lock() and IS_SWAPFILE
    check out of claim_swapfile(). The inode is unlocked in
    "bad_swap_unlock_inode" section, so that the inode is ensured to be
    unlocked at "bad_swap". Thus, error handling codes after the locking now
    jumps to "bad_swap_unlock_inode" instead of "bad_swap".

    =====================================
    WARNING: bad unlock balance detected!
    5.5.0-rc7+ #176 Not tainted
    -------------------------------------
    swapon/4294 is trying to release lock (&sb->s_type->i_mutex_key) at: __do_sys_swapon+0x94b/0x3550
    but there are no more locks to release!

    other info that might help us debug this:
    no locks held by swapon/4294.

    stack backtrace:
    CPU: 5 PID: 4294 Comm: swapon Not tainted 5.5.0-rc7-BTRFS-ZNS+ #176
    Hardware name: ASUS All Series/H87-PRO, BIOS 2102 07/29/2014
    Call Trace:
    dump_stack+0xa1/0xea
    print_unlock_imbalance_bug.cold+0x114/0x123
    lock_release+0x562/0xed0
    up_write+0x2d/0x490
    __do_sys_swapon+0x94b/0x3550
    __x64_sys_swapon+0x54/0x80
    do_syscall_64+0xa4/0x4b0
    entry_SYSCALL_64_after_hwframe+0x49/0xbe
    RIP: 0033:0x7f15da0a0dc7

    Fixes: 1638045c3677 ("mm: set S_SWAPFILE on blockdev swap devices")
    Signed-off-by: Naohiro Aota
    Signed-off-by: Andrew Morton
    Tested-by: Qais Youef
    Reviewed-by: Andrew Morton
    Reviewed-by: Darrick J. Wong
    Cc: Christoph Hellwig
    Cc:
    Link: http://lkml.kernel.org/r/20200206090132.154869-1-naohiro.aota@wdc.com
    Signed-off-by: Linus Torvalds

    Naohiro Aota
     

29 Mar, 2020

3 commits

  • Pull networking fixes from David Miller:

    1) Fix memory leak in vti6, from Torsten Hilbrich.

    2) Fix double free in xfrm_policy_timer, from YueHaibing.

    3) NL80211_ATTR_CHANNEL_WIDTH attribute is put with wrong type, from
    Johannes Berg.

    4) Wrong allocation failure check in qlcnic driver, from Xu Wang.

    5) Get ks8851-ml IO operations right, for real this time, from Marek
    Vasut.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (22 commits)
    r8169: fix PHY driver check on platforms w/o module softdeps
    net: ks8851-ml: Fix IO operations, again
    mlxsw: spectrum_mr: Fix list iteration in error path
    qlcnic: Fix bad kzalloc null test
    mac80211: set IEEE80211_TX_CTRL_PORT_CTRL_PROTO for nl80211 TX
    mac80211: mark station unauthorized before key removal
    mac80211: Check port authorization in the ieee80211_tx_dequeue() case
    cfg80211: Do not warn on same channel at the end of CSA
    mac80211: drop data frames without key on encrypted links
    ieee80211: fix HE SPR size calculation
    nl80211: fix NL80211_ATTR_CHANNEL_WIDTH attribute type
    xfrm: policy: Fix doulbe free in xfrm_policy_timer
    bpf: Explicitly memset some bpf info structures declared on the stack
    bpf: Explicitly memset the bpf_attr structure
    bpf: Sanitize the bpf_struct_ops tcp-cc name
    vti6: Fix memory leak of skb if input policy check fails
    esp: remove the skb from the chain when it's enqueued in cryptd_wq
    ipv6: xfrm6_tunnel.c: Use built-in RCU list checking
    xfrm: add the missing verify_sec_ctx_len check in xfrm_add_acquire
    xfrm: fix uctx len check in verify_sec_ctx_len
    ...

    Linus Torvalds
     
  • Pull i2c fixes from Wolfram Sang:
    "Three more driver bugfixes, and two doc improvements fixing build
    warnings while we are here"

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: pca-platform: Use platform_irq_get_optional
    i2c: st: fix missing struct parameter description
    i2c: nvidia-gpu: Handle timeout correctly in gpu_i2c_check_status()
    i2c: fix a doc warning
    i2c: hix5hd2: add missed clk_disable_unprepare in remove

    Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "Two small fixes: one in drivers (qla2xxx), and one in the core (sd) to
    try to cope with USB enclosures that silently change reported
    parameters"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    scsi: sd: Fix optimal I/O size for devices that change reported values
    scsi: qla2xxx: Fix I/Os being passed down when FC device is being deleted

    Linus Torvalds
     

28 Mar, 2020

12 commits

  • The interrupt is not required so use platform_irq_get_optional() to
    avoid error messages like

    i2c-pca-platform 22080000.i2c: IRQ index 0 not found

    Signed-off-by: Chris Packham
    Signed-off-by: Wolfram Sang

    Chris Packham
     
  • Fix a missing struct parameter description to allow
    warning free W=1 compilation.

    Signed-off-by: Alain Volmat
    Reviewed-by: Patrice Chotard
    Signed-off-by: Wolfram Sang

    Alain Volmat
     
  • Daniel Borkmann says:

    ====================
    pull-request: bpf 2020-03-27

    The following pull-request contains BPF updates for your *net* tree.

    We've added 3 non-merge commits during the last 4 day(s) which contain
    a total of 4 files changed, 25 insertions(+), 20 deletions(-).

    The main changes are:

    1) Explicitly memset the bpf_attr structure on bpf() syscall to avoid
    having to rely on compiler to do so. Issues have been noticed on
    some compilers with padding and other oddities where the request was
    then unexpectedly rejected, from Greg Kroah-Hartman.

    2) Sanitize the bpf_struct_ops TCP congestion control name in order to
    avoid problematic characters such as whitespaces, from Martin KaFai Lau.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • On Android/x86 the module loading infrastructure can't deal with
    softdeps. Therefore the check for presence of the Realtek PHY driver
    module fails. mdiobus_register() will try to load the PHY driver
    module, therefore move the check to after this call and explicitly
    check that a dedicated PHY driver is bound to the PHY device.

    Fixes: f32593773549 ("r8169: check that Realtek PHY driver module is loaded")
    Reported-by: Chih-Wei Huang
    Signed-off-by: Heiner Kallweit
    Signed-off-by: David S. Miller

    Heiner Kallweit
     
  • Steffen Klassert says:

    ====================
    pull request (net): ipsec 2020-03-27

    1) Handle NETDEV_UNREGISTER for xfrm device to handle asynchronous
    unregister events cleanly. From Raed Salem.

    2) Fix vti6 tunnel inter address family TX through bpf_redirect().
    From Nicolas Dichtel.

    3) Fix lenght check in verify_sec_ctx_len() to avoid a
    slab-out-of-bounds. From Xin Long.

    4) Add a missing verify_sec_ctx_len check in xfrm_add_acquire
    to avoid a possible out-of-bounds to access. From Xin Long.

    5) Use built-in RCU list checking of hlist_for_each_entry_rcu
    to silence false lockdep warning in __xfrm6_tunnel_spi_lookup
    when CONFIG_PROVE_RCU_LIST is enabled. From Madhuparna Bhowmik.

    6) Fix a panic on esp offload when crypto is done asynchronously.
    From Xin Long.

    7) Fix a skb memory leak in an error path of vti6_rcv.
    From Torsten Hilbrich.

    8) Fix a race that can lead to a doulbe free in xfrm_policy_timer.
    From Xin Long.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull parsic fix from Helge Deller:
    "Fix a recursive loop when running 'make ARCH=parisc defconfig'"

    * 'parisc-5.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: Fix defconfig selection

    Linus Torvalds
     
  • Pull ARM DT and driver fixes from Arnd Bergmann:
    "For the devicetree files, there are a total of 20 patches, almost
    entirely for 32-bit machines:

    - The Allwinner/sun9i r40 SoC dtsi file contains a number of issues,
    both for correctness and for style that are addressed in separate
    patches. This causes most of the changed lines of the DT updates
    this time.

    - More Allwinner updates fixing the identification of the security
    system on sun8i/A33, a recent regression of the A83t ethernet, and
    a few board specific issues on the TBS-A711 macine.

    - Several bug fixes for OMAP dts files, most notably fixing the
    timings for the NAND flash on the Nokia N900 that regressed a while
    ago after the move to configuring them from DT. Some other OMAPs
    now set the correct dma limits on the L3 bus, and a regression fix
    addresses lost Ethernet on dm814x

    - One incorrect setting in the newly added Raspberry Pi Zero W that
    may cause issues with the SD card controller.

    - A missing property on the bcm2835 firmware node caused incorrect
    DMA settings.

    - An old bug on the oxnas platform causing spurious interrupts is
    finally addressed.

    - A regression on the Exynos Midas board broke the OLED panel power
    supply.

    - The i.MX6 phycore SoM specified the wrong voltage for the SoC, this
    is now set to the values from the datasheet.

    - Some 64-bit machines use a deprecated string to identify the PSCI
    firmware.

    There are also several small code fixes addressing mostly serious
    issues:

    - Fix the sunxi rsb bus access to no longer return incorrect data
    when mixing 8 and 16 bit I/O.

    - Fix a suspend/resume regression on the OMAP2+ lcdc from a missing
    quirk in the ti-sysc driver

    - Fix a NULL pointer access from a race in the fsl dpio driver

    - Fix a v5.5 regression in the exynos-chipid driver that caused an
    invalid error code probing the device on non-exynos platforms

    - Fix an out-of-bounds access in the AMD TEE driver"

    * tag 'arm-soc-fixes-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
    soc: samsung: chipid: Fix return value on non-Exynos platforms
    arm64: dts: Fix leftover entry-methods for PSCI
    ARM: dts: exynos: Fix regulator node aliasing on Midas-based boards
    ARM: dts: oxnas: Fix clear-mask property
    ARM: dts: bcm283x: Fix vc4's firmware bus DMA limitations
    ARM: dts: omap5: Add bus_dma_limit for L3 bus
    ARM: dts: omap4-droid4: Fix lost touchscreen interrupts
    ARM: dts: dra7: Add bus_dma_limit for L3 bus
    ARM: bcm2835-rpi-zero-w: Add missing pinctrl name
    ARM: dts: sun8i: a33: add the new SS compatible
    dt-bindings: crypto: add new compatible for A33 SS
    ARM: dts: sun8i: r40: Move SPI device nodes based on address order
    ARM: dts: sun8i: r40: Fix register base address for SPI2 and SPI3
    ARM: dts: sun8i: r40: Move AHCI device node based on address order
    ARM: dts: imx6: phycore-som: fix arm and soc minimum voltage
    soc: fsl: dpio: register dpio irq handlers after dpio create
    tee: amdtee: out of bounds read in find_session()
    ARM: dts: N900: fix onenand timings
    bus: ti-sysc: Fix quirk flags for lcdc on am335x
    ARM: dts: Fix dm814x Ethernet by changing to use rgmii-id mode
    ...

    Linus Torvalds
     
  • Pull RISC-V fixes from Palmer Dabbelt:
    "Sorry for the last minute patches, but a few things fell through the
    cracks recently. I was on the fence about sending a late pull request
    just for the M-mode fixes, as we don't really have any users, but the
    last patch fixes the build for Fedora which I consider pretty
    important.

    Given that the M-mode fixes should be very low risk, I figured it's
    worth sending them along as well.

    Thhis passes my standard 'boot in QEMU' test"

    * tag 'riscv-for-linus-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
    RISC-V: Move all address space definition macros to one place
    RISC-V: Only select essential drivers for SOC_VIRT config
    riscv: fix the IPI missing issue in nommu mode
    riscv: uaccess should be used in nommu mode

    Linus Torvalds
     
  • Pull Devicetree fix from Rob Herring:
    "A single fix for building dtc with GCC 10"

    * tag 'devicetree-fixes-for-5.6-4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
    scripts/dtc: Remove redundant YYLOC global declaration

    Linus Torvalds
     
  • Pull arm64 fix from Will Deacon:
    "Fix defconfig build when using Clang's integrated assembler"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: alternative: fix build with clang integrated assembler

    Linus Torvalds
     
  • Pull clk fixes from Stephen Boyd:
    "A handful of clk driver fixes.

    Mostly they're around the i.MX drivers fixing the parents of a few
    clks and making KASAN happy with how the message passing code works.

    Besides that we have a TI driver fix for the RTC parent and a fix for
    the basic gate type registration functions introduced this release
    where they didn't actually pass the arguments in the right places to
    the multiplexer function down below"

    * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
    clk: imx: Align imx sc clock parent msg structs to 4
    clk: imx: Align imx sc clock msg structs to 4
    clk: Pass correct arguments to __clk_hw_register_gate()
    clk: ti: am43xx: Fix clock parent for RTC clock
    clk: imx8mp: Correct the enet_qos parent clock
    clk: imx8mp: Correct IMX8MP_CLK_HDMI_AXI clock parent

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Pretty quiet: some minor sg mapping fixes for 3 drivers, and a single
    oops fix for the scheduler. I'm hoping nobody tries to send me a fixes
    pull today but I'll keep an eye out of the weekend.

    radeon/amdgpu/dma-buf:
    - sg list fixes

    scheduler:
    - oops fix"

    * tag 'drm-fixes-2020-03-27' of git://anongit.freedesktop.org/drm/drm:
    drm/scheduler: fix rare NULL ptr race
    drm/radeon: fix scatter-gather mapping with user pages
    drm/amdgpu: fix scatter-gather mapping with user pages
    drm/prime: use dma length macro when mapping sg

    Linus Torvalds
     

27 Mar, 2020

3 commits

  • Fix the recursive loop when running "make ARCH=parisc defconfig".

    Fixes: 84669923e1ed ("parisc: Regenerate parisc defconfigs")
    Noticed-by: Guenter Roeck
    Tested-by: Guenter Roeck
    Signed-off-by: Helge Deller

    Helge Deller
     
  • gcc 10 will default to -fno-common, which causes this error at link
    time:

    (.text+0x0): multiple definition of `yylloc'; dtc-lexer.lex.o (symbol from plugin):(.text+0x0): first defined here

    This is because both dtc-lexer as well as dtc-parser define the same
    global symbol yyloc. Before with -fcommon those were merged into one
    defintion. The proper solution would be to to mark this as "extern",
    however that leads to:

    dtc-lexer.l:26:16: error: redundant redeclaration of 'yylloc' [-Werror=redundant-decls]
    26 | extern YYLTYPE yylloc;
    | ^~~~~~
    In file included from dtc-lexer.l:24:
    dtc-parser.tab.h:127:16: note: previous declaration of 'yylloc' was here
    127 | extern YYLTYPE yylloc;
    | ^~~~~~
    cc1: all warnings being treated as errors

    which means the declaration is completely redundant and can just be
    dropped.

    Signed-off-by: Dirk Mueller
    Signed-off-by: David Gibson
    [robh: cherry-pick from upstream]
    Cc: stable@vger.kernel.org
    Signed-off-by: Rob Herring

    Dirk Mueller
     
  • Current mode validation impedes setting up some video modes which should
    be supported otherwise. Namely 1920x1200@60Hz.

    Fix this by lowering the minimum HDMI state machine clock to pixel clock
    ratio allowed.

    Fixes: 32e823c63e90 ("drm/vc4: Reject HDMI modes with too high of clocks.")
    Reported-by: Stefan Wahren
    Suggested-by: Dave Stevenson
    Signed-off-by: Nicolas Saenz Julienne
    Signed-off-by: Maxime Ripard
    Link: https://patchwork.freedesktop.org/patch/msgid/20200326122001.22215-1-nsaenzjulienne@suse.de

    Nicolas Saenz Julienne