Skip to content
Permalink
wu000273-umn-e…

Commits on Apr 20, 2020

  1. btrfs: fix a potential racy

    In function reada_find_extent and reada_extent_put, kref_get(&zone->refcnt)
    are not called in a lock context. Potential racy may happen. It's possible
    that thread1 decreases the kref to 0, and thread2 increases the kref to 1,
    then thread1 releases the pointer.
    
    Signed-off-by: Qiushi Wu <wu000273@umn.edu>
    QiushiWu authored and 0day robot committed Apr 20, 2020

Commits on Jun 3, 2018

  1. Linux 4.17

    torvalds committed Jun 3, 2018
  2. Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/viro/vfs
    
    Pull vfs fixes from Al Viro.
    
     - fix io_destroy()/aio_complete() race
    
     - the vfs_open() change to get rid of open_check_o_direct() boilerplate
       was nice, but buggy. Al has a patch avoiding a revert, but that's
       definitely not a last-day fodder, so for now revert it is...
    
    * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      Revert "fs: fold open_check_o_direct into do_dentry_open"
      fix io_destroy()/aio_complete() race
    torvalds committed Jun 3, 2018
  3. Revert "fs: fold open_check_o_direct into do_dentry_open"

    This reverts commit cab64df.
    
    Having vfs_open() in some cases drop the reference to
    struct file combined with
    
    	error = vfs_open(path, f, cred);
    	if (error) {
    		put_filp(f);
    		return ERR_PTR(error);
    	}
    	return f;
    
    is flat-out wrong.  It used to be
    
    		error = vfs_open(path, f, cred);
    		if (!error) {
    			/* from now on we need fput() to dispose of f */
    			error = open_check_o_direct(f);
    			if (error) {
    				fput(f);
    				f = ERR_PTR(error);
    			}
    		} else {
    			put_filp(f);
    			f = ERR_PTR(error);
    		}
    
    and sure, having that open_check_o_direct() boilerplate gotten rid of is
    nice, but not that way...
    
    Worse, another call chain (via finish_open()) is FUBAR now wrt
    FILE_OPENED handling - in that case we get error returned, with file
    already hit by fput() *AND* FILE_OPENED not set.  Guess what happens in
    path_openat(), when it hits
    
    	if (!(opened & FILE_OPENED)) {
    		BUG_ON(!error);
    		put_filp(file);
    	}
    
    The root cause of all that crap is that the callers of do_dentry_open()
    have no way to tell which way did it fail; while that could be fixed up
    (by passing something like int *opened to do_dentry_open() and have it
    marked if we'd called ->open()), it's probably much too late in the
    cycle to do so right now.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Al Viro authored and torvalds committed Jun 3, 2018
  4. Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull scheduler fixes from Thomas Gleixner:
    
     - two patches addressing the problem that the scheduler allows under
       certain conditions user space tasks to be scheduled on CPUs which are
       not yet fully booted which causes a few subtle and hard to debug
       issue
    
     - add a missing runqueue clock update in the deadline scheduler which
       triggers a warning under certain circumstances
    
     - fix a silly typo in the scheduler header file
    
    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched/headers: Fix typo
      sched/deadline: Fix missing clock update
      sched/core: Require cpu_active() in select_task_rq(), for user tasks
      sched/core: Fix rules for running on online && !active CPUs
    torvalds committed Jun 3, 2018
  5. Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull perf tooling fixes from Thomas Gleixner:
    
     - fix 'perf test Session topology' segfault on s390 (Thomas Richter)
    
     - fix NULL return handling in bpf__prepare_load() (YueHaibing)
    
     - fix indexing on Coresight ETM packet queue decoder (Mathieu Poirier)
    
     - fix perf.data format description of NRCPUS header (Arnaldo Carvalho
       de Melo)
    
     - update perf.data documentation section on cpu topology
    
     - handle uncore event aliases in small groups properly (Kan Liang)
    
     - add missing perf_sample.addr into python sample dictionary (Leo Yan)
    
    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      perf tools: Fix perf.data format description of NRCPUS header
      perf script python: Add addr into perf sample dict
      perf data: Update documentation section on cpu topology
      perf cs-etm: Fix indexing for decoder packet queue
      perf bpf: Fix NULL return handling in bpf__prepare_load()
      perf test: "Session topology" dumps core on s390
      perf parse-events: Handle uncore event aliases in small groups properly
    torvalds committed Jun 3, 2018
  6. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    Pull networking fixes from David Miller:
    
     1) Infinite loop in _decode_session6(), from Eric Dumazet.
    
     2) Pass correct argument to nla_strlcpy() in netfilter, also from Eric
        Dumazet.
    
     3) Out of bounds memory access in ipv6 srh code, from Mathieu Xhonneux.
    
     4) NULL deref in XDP_REDIRECT handling of tun driver, from Toshiaki
        Makita.
    
     5) Incorrect idr release in cls_flower, from Paul Blakey.
    
     6) Probe error handling fix in davinci_emac, from Dan Carpenter.
    
     7) Memory leak in XPS configuration, from Alexander Duyck.
    
     8) Use after free with cloned sockets in kcm, from Kirill Tkhai.
    
     9) MTU handling fixes fo ip_tunnel and ip6_tunnel, from Nicolas
        Dichtel.
    
    10) Fix UAPI hole in bpf data structure for 32-bit compat applications,
        from Daniel Borkmann.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (33 commits)
      bpf: fix uapi hole for 32 bit compat applications
      net: usb: cdc_mbim: add flag FLAG_SEND_ZLP
      ip6_tunnel: remove magic mtu value 0xFFF8
      ip_tunnel: restore binding to ifaces with a large mtu
      net: dsa: b53: Add BCM5389 support
      kcm: Fix use-after-free caused by clonned sockets
      net-sysfs: Fix memory leak in XPS configuration
      ixgbe: fix parsing of TC actions for HW offload
      net: ethernet: davinci_emac: fix error handling in probe()
      net/ncsi: Fix array size in dumpit handler
      cls_flower: Fix incorrect idr release when failing to modify rule
      net/sonic: Use dma_mapping_error()
      xfrm Fix potential error pointer dereference in xfrm_bundle_create.
      vhost_net: flush batched heads before trying to busy polling
      tun: Fix NULL pointer dereference in XDP redirect
      be2net: Fix error detection logic for BE3
      net: qmi_wwan: Add Netgear Aircard 779S
      mlxsw: spectrum: Forbid creation of VLAN 1 over port/LAG
      atm: zatm: fix memcmp casting
      iwlwifi: pcie: compare with number of IRQs requested for, not number of CPUs
      ...
    torvalds committed Jun 3, 2018

Commits on Jun 2, 2018

  1. Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/jejb/scsi
    
    Pull SCSI fix from James Bottomley:
     "Eve of merge window fix: The original code was so bogus as to be
      casting the wrong generic device to an rport and proceeding to take
      actions based on the bogus values it found.
    
      Fortunately it seems the location that is dereferenced always exists,
      so the code hasn't oopsed yet, but it certainly annoys the memory
      checkers"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      scsi: scsi_transport_srp: Fix shost to rport translation
    torvalds committed Jun 2, 2018
  2. Merge tag 'drm-fixes-for-v4.17-rc8' of git://people.freedesktop.org/~…

    …airlied/linux
    
    Pull drm fixes from Dave Airlie:
     "A few final fixes:
    
      i915:
       - fix for potential Spectre vector in the new query uAPI
       - fix NULL pointer deref (FDO #106559)
       - DMI fix to hide LVDS for Radiant P845 (FDO #105468)
    
      amdgpu:
       - suspend/resume DC regression fix
       - underscan flicker fix on fiji
       - gamma setting fix after dpms
    
      omap:
       - fix oops regression
    
      core:
       - fix PSR timing
    
      dw-hdmi:
       - fix oops regression"
    
    * tag 'drm-fixes-for-v4.17-rc8' of git://people.freedesktop.org/~airlied/linux:
      drm/amd/display: Update color props when modeset is required
      drm/amd/display: Make atomic-check validate underscan changes
      drm/bridge/synopsys: dw-hdmi: fix dw_hdmi_setup_rx_sense
      drm/amd/display: Fix BUG_ON during CRTC atomic check update
      drm/i915/query: nospec expects no more than an unsigned long
      drm/i915/query: Protect tainted function pointer lookup
      drm/i915/lvds: Move acpi lid notification registration to registration phase
      drm/i915: Disable LVDS on Radiant P845
      drm/omap: fix NULL deref crash with SDI displays
      drm/psr: Fix missed entry in PSR setup time table.
    torvalds committed Jun 2, 2018
  3. Merge branch 'drm-fixes-4.17' of git://people.freedesktop.org/~agd5f/…

    …linux into drm-fixes
    
    Two last minute DC fixes for 4.17.  A fix for underscan on fiji and
    a fix for gamma settings getting after dpms.
    
    * 'drm-fixes-4.17' of git://people.freedesktop.org/~agd5f/linux:
      drm/amd/display: Update color props when modeset is required
      drm/amd/display: Make atomic-check validate underscan changes
    airlied committed Jun 2, 2018
  4. Merge tag 'mips_fixes_4.17_3' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/mips/linux
    
    Pull MIPS fixes from James Hogan:
     "A final few MIPS fixes for 4.17:
    
       - drop Lantiq gphy reboot/remove reset (4.14)
    
       - prctl(PR_SET_FP_MODE): Disallow PRE without FR (4.0)
    
       - ptrace(PTRACE_PEEKUSR): Fix 64-bit FGRs (3.15)"
    
    * tag 'mips_fixes_4.17_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
      MIPS: ptrace: Fix PTRACE_PEEKUSR requests for 64-bit FGRs
      MIPS: prctl: Disallow FRE without FR with PR_SET_FP_MODE requests
      MIPS: lantiq: gphy: Drop reboot/remove reset asserts
    torvalds committed Jun 2, 2018
  5. Merge tag 'vfio-v4.17' of git://github.com/awilliam/linux-vfio

    Pull VFIO fix from Alex Williamson:
     "Revert a pfn page mapping optimization identified as introducing a bad
      page state regression (Alex Williamson)"
    
    * tag 'vfio-v4.17' of git://github.com/awilliam/linux-vfio:
      Revert "vfio/type1: Improve memory pinning process for raw PFN mapping"
    torvalds committed Jun 2, 2018
  6. Merge tag 'char-misc-4.17-rc8' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/gregkh/char-misc
    
    Pull char/misc driver fixes from Greg KH:
     "Here are four small bugfixes for some char/misc drivers. Well, really
      three fixes and one fix for one of those fixes due to problems found
      by 0-day.
    
      This resolves some reported issues with the hwtracing drivers, and a
      reported regression for the thunderbolt subsystem. All of these have
      been in linux-next for a while now with no reported problems"
    
    * tag 'char-misc-4.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
      hwtracing: stm: fix build error on some arches
      intel_th: Use correct device when freeing buffers
      stm class: Use vmalloc for the master map
      thunderbolt: Handle NULL boot ACL entries properly
    torvalds committed Jun 2, 2018
  7. Merge tag 'staging-4.17-rc8' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/gregkh/staging
    
    Pull IIO driver fixes from Greg KH:
     "Here are some old IIO driver fixes that were sitting in my tree for a
      few weeks. Sorry about not getting them to you sooner. They fix a
      number of small IIO driver issues that have been reported.
    
      All of these have been in linux-next for a while with no reported
      problems"
    
    * tag 'staging-4.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
      iio: adc: select buffer for at91-sama5d2_adc
      iio: hid-sensor-trigger: Fix sometimes not powering up the sensor after resume
      iio: adc: at91-sama5d2_adc: fix channel configuration for differential channels
      iio:kfifo_buf: check for uint overflow
      iio:buffer: make length types match kfifo types
      iio: adc: stm32-dfsdm: fix sample rate for div2 spi clock
      iio: adc: stm32-dfsdm: fix successive oversampling settings
      iio: ad7793: implement IIO_CHAN_INFO_SAMP_FREQ
    torvalds committed Jun 2, 2018
  8. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/rdma/rdma
    
    Pull rdma fixes from Jason Gunthorpe:
     "Just three small last minute regressions that were found in the last
      week. The Broadcom fix is a bit big for rc7, but since it is fixing
      driver crash regressions that were merged via netdev into rc1, I am
      sending it.
    
       - bnxt netdev changes merged this cycle caused the bnxt RDMA driver
         to crash under certain situations
    
       - Arnd found (several, unfortunately) kconfig problems with the
         patches adding INFINIBAND_ADDR_TRANS. Reverting this last part,
         will fix it more fully outside -rc.
    
       - Subtle change in error code for a uapi function caused breakage in
         userspace. This was bug was subtly introduced cycle"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
      IB/core: Fix error code for invalid GID entry
      IB: Revert "remove redundant INFINIBAND kconfig dependencies"
      RDMA/bnxt_re: Fix broken RoCE driver due to recent L2 driver changes
    torvalds committed Jun 2, 2018
  9. Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/wsa/linux
    
    Pull i2c fixes from Wolfram Sang:
     "A documentation bugfix and a MAINTAINERS addition"
    
    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
      i2c: ocores: update HDL sources URL
      i2c: xlp9xx: Add MAINTAINERS entry
    torvalds committed Jun 2, 2018
  10. Merge branch 'akpm' (patches from Andrew)

    Merge two fixes from Andrew Morton.
    
    * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
      mm: fix the NULL mapping case in __isolate_lru_page()
      mm/huge_memory.c: __split_huge_page() use atomic ClearPageDirty()
    torvalds committed Jun 2, 2018
  11. mm: fix the NULL mapping case in __isolate_lru_page()

    George Boole would have noticed a slight error in 4.16 commit
    69d763f ("mm: pin address_space before dereferencing it while
    isolating an LRU page").  Fix it, to match both the comment above it,
    and the original behaviour.
    
    Although anonymous pages are not marked PageDirty at first, we have an
    old habit of calling SetPageDirty when a page is removed from swap
    cache: so there's a category of ex-swap pages that are easily
    migratable, but were inadvertently excluded from compaction's async
    migration in 4.16.
    
    Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1805302014001.12558@eggly.anvils
    Fixes: 69d763f ("mm: pin address_space before dereferencing it while isolating an LRU page")
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Acked-by: Minchan Kim <minchan@kernel.org>
    Acked-by: Mel Gorman <mgorman@techsingularity.net>
    Reported-by:  Ivan Kalvachev <ikalvachev@gmail.com>
    Cc: "Huang, Ying" <ying.huang@intel.com>
    Cc: Jan Kara <jack@suse.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Hugh Dickins authored and torvalds committed Jun 2, 2018
  12. mm/huge_memory.c: __split_huge_page() use atomic ClearPageDirty()

    Swapping load on huge=always tmpfs (with khugepaged tuned up to be very
    eager, but I'm not sure that is relevant) soon hung uninterruptibly,
    waiting for page lock in shmem_getpage_gfp()'s find_lock_entry(), most
    often when "cp -a" was trying to write to a smallish file.  Debug showed
    that the page in question was not locked, and page->mapping NULL by now,
    but page->index consistent with having been in a huge page before.
    
    Reproduced in minutes on a 4.15 kernel, even with 4.17's 605ca5e
    ("mm/huge_memory.c: reorder operations in __split_huge_page_tail()") added
    in; but took hours to reproduce on a 4.17 kernel (no idea why).
    
    The culprit proved to be the __ClearPageDirty() on tails beyond i_size in
    __split_huge_page(): the non-atomic __bitoperation may have been safe when
    4.8's baa355f ("thp: file pages support for split_huge_page()")
    introduced it, but liable to erase PageWaiters after 4.10's 6290602
    ("mm: add PageWaiters indicating tasks are waiting for a page bit").
    
    Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1805291841070.3197@eggly.anvils
    Fixes: 6290602 ("mm: add PageWaiters indicating tasks are waiting for a page bit")
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Cc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Hugh Dickins authored and torvalds committed Jun 2, 2018
  13. Revert "vfio/type1: Improve memory pinning process for raw PFN mapping"

    Bisection by Amadeusz Sławiński implicates this commit leading to bad
    page state issues after VM shutdown, likely due to unbalanced page
    references.  The original commit was intended only as a performance
    improvement, therefore revert for offline rework.
    
    Link: https://lkml.org/lkml/2018/6/2/97
    Fixes: 356e88e ("vfio/type1: Improve memory pinning process for raw PFN mapping")
    Cc: Jason Cai (Xiang Feng) <jason.cai@linux.alibaba.com>
    Reported-by: Amadeusz Sławiński <amade@asmblr.net>
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    awilliam committed Jun 2, 2018
  14. Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf

    Daniel Borkmann says:
    
    ====================
    pull-request: bpf 2018-06-02
    
    The following pull-request contains BPF updates for your *net* tree.
    
    The main changes are:
    
    1) BPF uapi fix in struct bpf_prog_info and struct bpf_map_info in
       order to fix offsets on 32 bit archs.
    
    This will have a minor merge conflict with net-next which has the
    __u32 gpl_compatible:1 bitfield in struct bpf_prog_info at this
    location. Resolution is to use the gpl_compatible member.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Jun 2, 2018
  15. bpf: fix uapi hole for 32 bit compat applications

    In 64 bit, we have a 4 byte hole between ifindex and netns_dev in the
    case of struct bpf_map_info but also struct bpf_prog_info. In net-next
    commit b85fab0 ("bpf: Add gpl_compatible flag to struct bpf_prog_info")
    added a bitfield into it to expose some flags related to programs. Thus,
    add an unnamed __u32 bitfield for both so that alignment keeps the same
    in both 32 and 64 bit cases, and can be naturally extended from there
    as in b85fab0.
    
    Before:
    
      # file test.o
      test.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
      # pahole test.o
      struct bpf_map_info {
    	__u32                      type;                 /*     0     4 */
    	__u32                      id;                   /*     4     4 */
    	__u32                      key_size;             /*     8     4 */
    	__u32                      value_size;           /*    12     4 */
    	__u32                      max_entries;          /*    16     4 */
    	__u32                      map_flags;            /*    20     4 */
    	char                       name[16];             /*    24    16 */
    	__u32                      ifindex;              /*    40     4 */
    	__u64                      netns_dev;            /*    44     8 */
    	__u64                      netns_ino;            /*    52     8 */
    
    	/* size: 64, cachelines: 1, members: 10 */
    	/* padding: 4 */
      };
    
    After (same as on 64 bit):
    
      # file test.o
      test.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
      # pahole test.o
      struct bpf_map_info {
    	__u32                      type;                 /*     0     4 */
    	__u32                      id;                   /*     4     4 */
    	__u32                      key_size;             /*     8     4 */
    	__u32                      value_size;           /*    12     4 */
    	__u32                      max_entries;          /*    16     4 */
    	__u32                      map_flags;            /*    20     4 */
    	char                       name[16];             /*    24    16 */
    	__u32                      ifindex;              /*    40     4 */
    
    	/* XXX 4 bytes hole, try to pack */
    
    	__u64                      netns_dev;            /*    48     8 */
    	__u64                      netns_ino;            /*    56     8 */
    	/* --- cacheline 1 boundary (64 bytes) --- */
    
    	/* size: 64, cachelines: 1, members: 10 */
    	/* sum members: 60, holes: 1, sum holes: 4 */
      };
    
    Reported-by: Dmitry V. Levin <ldv@altlinux.org>
    Reported-by: Eugene Syromiatnikov <esyr@redhat.com>
    Fixes: 52775b3 ("bpf: offload: report device information about offloaded maps")
    Fixes: 675fc27 ("bpf: offload: report device information for offloaded programs")
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Acked-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    borkmann authored and Alexei Starovoitov committed Jun 2, 2018

Commits on Jun 1, 2018

  1. net: usb: cdc_mbim: add flag FLAG_SEND_ZLP

    Testing Telit LM940 with ICMP packets > 14552 bytes revealed that
    the modem needs FLAG_SEND_ZLP to properly work, otherwise the cdc
    mbim data interface won't be anymore responsive.
    
    Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
    Acked-by: Bjørn Mork <bjorn@mork.no>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    dnlplm authored and davem330 committed Jun 1, 2018
  2. Merge branch 'tunnel-mtus'

    Nicolas Dichtel says:
    
    ====================
    ip[6] tunnels: fix mtu calculations
    
    The first patch restores the possibility to bind an ip4 tunnel to an
    interface whith a large mtu.
    The second patch was spotted after the first fix. I also target it to net
    because it fixes the max mtu value that can be used for ipv6 tunnels.
    
    v2: remove the 0xfff8 in ip_tunnel_newlink()
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Jun 1, 2018
  3. ip6_tunnel: remove magic mtu value 0xFFF8

    I don't know where this value comes from (probably a copy and paste and
    paste and paste ...).
    Let's use standard values which are a bit greater.
    
    Link: https://git.kernel.org/pub/scm/linux/kernel/git/davem/netdev-vger-cvs.git/commit/?id=e5afd356a411a
    Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    NicolasDichtel authored and davem330 committed Jun 1, 2018
  4. ip_tunnel: restore binding to ifaces with a large mtu

    After commit f6cc9c0, the following conf is broken (note that the
    default loopback mtu is 65536, ie IP_MAX_MTU + 1):
    
    $ ip tunnel add gre1 mode gre local 10.125.0.1 remote 10.125.0.2 dev lo
    add tunnel "gre0" failed: Invalid argument
    $ ip l a type dummy
    $ ip l s dummy1 up
    $ ip l s dummy1 mtu 65535
    $ ip tunnel add gre1 mode gre local 10.125.0.1 remote 10.125.0.2 dev dummy1
    add tunnel "gre0" failed: Invalid argument
    
    dev_set_mtu() doesn't allow to set a mtu which is too large.
    First, let's cap the mtu returned by ip_tunnel_bind_dev(). Second, remove
    the magic value 0xFFF8 and use IP_MAX_MTU instead.
    0xFFF8 seems to be there for ages, I don't know why this value was used.
    
    With a recent kernel, it's also possible to set a mtu > IP_MAX_MTU:
    $ ip l s dummy1 mtu 66000
    After that patch, it's also possible to bind an ip tunnel on that kind of
    interface.
    
    CC: Petr Machata <petrm@mellanox.com>
    CC: Ido Schimmel <idosch@mellanox.com>
    Link: https://git.kernel.org/pub/scm/linux/kernel/git/davem/netdev-vger-cvs.git/commit/?id=e5afd356a411a
    Fixes: f6cc9c0 ("ip_tunnel: Emit events for post-register MTU changes")
    Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
    Reviewed-by: Ido Schimmel <idosch@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    NicolasDichtel authored and davem330 committed Jun 1, 2018
  5. Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/klassert/ipsec
    
    Steffen Klassert says:
    
    ====================
    pull request (net): ipsec 2018-05-31
    
    1) Avoid possible overflow of the offset variable
       in  _decode_session6(), this fixes an infinite
       lookp there. From Eric Dumazet.
    
    2) We may use an error pointer in the error path of
       xfrm_bundle_create(). Fix this by returning this
       pointer directly to the caller.
    
    Please pull or let me know if there are problems.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Jun 1, 2018
  6. net: dsa: b53: Add BCM5389 support

    This patch adds support for the BCM5389 switch connected through MDIO.
    
    Signed-off-by: Damien Thébault <damien.thebault@vitec.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Damien Thébault authored and davem330 committed Jun 1, 2018
  7. kcm: Fix use-after-free caused by clonned sockets

    (resend for properly queueing in patchwork)
    
    kcm_clone() creates kernel socket, which does not take net counter.
    Thus, the net may die before the socket is completely destructed,
    i.e. kcm_exit_net() is executed before kcm_done().
    
    Reported-by: syzbot+5f1a04e374a635efc426@syzkaller.appspotmail.com
    Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    tkhai authored and davem330 committed Jun 1, 2018
  8. net-sysfs: Fix memory leak in XPS configuration

    This patch reorders the error cases in showing the XPS configuration so
    that we hold off on memory allocation until after we have verified that we
    can support XPS on a given ring.
    
    Fixes: 184c449 ("net: Add support for XPS with QoS via traffic classes")
    Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Alexander Duyck authored and davem330 committed Jun 1, 2018
  9. ixgbe: fix parsing of TC actions for HW offload

    The previous code was optimistic, accepting the offload of whole action
    chain when there was a single known action (drop/redirect). This results
    in offloading a rule which should not be offloaded, because its behavior
    cannot be reproduced in the hardware.
    
    For example:
    
    $ tc filter add dev eno1 parent ffff: protocol ip \
        u32 ht 800: order 1 match tcp src 42 FFFF \
        action mirred egress mirror dev enp1s16 pipe \
        drop
    
    The controller is unable to mirror the packet to a VF, but still
    offloads the rule by dropping the packet.
    
    Change the approach of the function to a pessimistic one, rejecting the
    chain when an unknown action is found. This is better suited for future
    extensions.
    
    Note that both recognized actions always return TC_ACT_SHOT, therefore
    it is safe to ignore actions behind them.
    
    Signed-off-by: Ondřej Hlavatý <ohlavaty@redhat.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Ondřej Hlavatý authored and davem330 committed Jun 1, 2018

Commits on May 31, 2018

  1. Merge tag 'xfs-4.17-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/x…

    …fs-linux
    
    Pull xfs fix from Darrick Wong:
     "Clear out i_mapping error state when we're reinitializing inodes.
    
      This last minute fix prevents writeback error state from persisting
      past the end of the in-core inode lifecycle and causing EIO errors to
      be reported to userspace when no error has occurred.
    
      This fix for the behavioral regression has been soaking in for-next
      for a while, but various fs developers persuaded me to try to get it
      upstream for 4.17 because the patch that broke things was introduced
      in 4.17-rc4"
    
    * tag 'xfs-4.17-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
      fs: clear writeback errors in inode_init_always
    torvalds committed May 31, 2018
  2. net: ethernet: davinci_emac: fix error handling in probe()

    The current error handling code has an issue where it does:
    
    	if (priv->txchan)
    		cpdma_chan_destroy(priv->txchan);
    
    The problem is that ->txchan is either valid or an error pointer (which
    would lead to an Oops).  I've changed it to use multiple error labels so
    that the test can be removed.
    
    Also there were some missing calls to netif_napi_del().
    
    Fixes: 3ef0fdb ("net: davinci_emac: switch to new cpdma layer")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    error27 authored and davem330 committed May 31, 2018
  3. net/ncsi: Fix array size in dumpit handler

    With CONFIG_CC_STACKPROTECTOR enabled the kernel panics as below when
    parsing a NCSI_CMD_PKG_INFO command:
    
    [  150.149711] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: 805cff08
    [  150.149711]
    [  150.159919] CPU: 0 PID: 1301 Comm: ncsi-netlink Not tainted 4.13.16-468cbec6d2c91239332cb91b1f0a73aafcb6f0c6 #1
    [  150.170004] Hardware name: Generic DT based system
    [  150.174852] [<80109930>] (unwind_backtrace) from [<80106bc4>] (show_stack+0x20/0x24)
    [  150.182641] [<80106bc4>] (show_stack) from [<805d36e4>] (dump_stack+0x20/0x28)
    [  150.189888] [<805d36e4>] (dump_stack) from [<801163ac>] (panic+0xdc/0x278)
    [  150.196780] [<801163ac>] (panic) from [<801162cc>] (__stack_chk_fail+0x20/0x24)
    [  150.204111] [<801162cc>] (__stack_chk_fail) from [<805cff08>] (ncsi_pkg_info_all_nl+0x244/0x258)
    [  150.212912] [<805cff08>] (ncsi_pkg_info_all_nl) from [<804f939c>] (genl_lock_dumpit+0x3c/0x54)
    [  150.221535] [<804f939c>] (genl_lock_dumpit) from [<804f873c>] (netlink_dump+0xf8/0x284)
    [  150.229550] [<804f873c>] (netlink_dump) from [<804f8d44>] (__netlink_dump_start+0x124/0x17c)
    [  150.237992] [<804f8d44>] (__netlink_dump_start) from [<804f9880>] (genl_rcv_msg+0x1c8/0x3d4)
    [  150.246440] [<804f9880>] (genl_rcv_msg) from [<804f9174>] (netlink_rcv_skb+0xd8/0x134)
    [  150.254361] [<804f9174>] (netlink_rcv_skb) from [<804f96a4>] (genl_rcv+0x30/0x44)
    [  150.261850] [<804f96a4>] (genl_rcv) from [<804f7790>] (netlink_unicast+0x198/0x234)
    [  150.269511] [<804f7790>] (netlink_unicast) from [<804f7ffc>] (netlink_sendmsg+0x368/0x3b0)
    [  150.277783] [<804f7ffc>] (netlink_sendmsg) from [<804abea4>] (sock_sendmsg+0x24/0x34)
    [  150.285625] [<804abea4>] (sock_sendmsg) from [<804ac1dc>] (___sys_sendmsg+0x244/0x260)
    [  150.293556] [<804ac1dc>] (___sys_sendmsg) from [<804ad98c>] (__sys_sendmsg+0x5c/0x9c)
    [  150.301400] [<804ad98c>] (__sys_sendmsg) from [<804ad9e4>] (SyS_sendmsg+0x18/0x1c)
    [  150.308984] [<804ad9e4>] (SyS_sendmsg) from [<80102640>] (ret_fast_syscall+0x0/0x3c)
    [  150.316743] ---[ end Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: 805cff08
    
    This turns out to be because the attrs array in ncsi_pkg_info_all_nl()
    is initialised to a length of NCSI_ATTR_MAX which is the maximum
    attribute number, not the number of attributes.
    
    Fixes: 955dc68 ("net/ncsi: Add generic netlink family")
    Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    sammj authored and davem330 committed May 31, 2018
  4. Merge tag 'wireless-drivers-for-davem-2018-05-30' of git://git.kernel…

    ….org/pub/scm/linux/kernel/git/kvalo/wireless-drivers
    
    Kalle Valo says:
    
    ====================
    wireless-drivers fixes for 4.17
    
    Two last minute fixes, hopefully they make it to 4.17 still.
    
    rt2x00
    
    * revert a fix which caused even more problems
    
    iwlwifi
    
    * fix a crash when there are 16 or more logical CPUs
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed May 31, 2018
Older
You can’t perform that action at this time.