08 Dec, 2016

11 commits

  • In __sanitizer_cov_trace_pc we use task_struct and fields within it, but
    as we haven't included , it is not guaranteed to be
    defined. While we usually happen to acquire the definition through a
    transitive include, this is fragile (and hasn't been true in the past,
    causing issues with backports).

    Include to avoid any fragility.

    [mark.rutland@arm.com: rewrote changelog]
    Link: http://lkml.kernel.org/r/1481007384-27529-1-git-send-email-wangkefeng.wang@huawei.com
    Signed-off-by: Kefeng Wang
    Acked-by: Mark Rutland
    Cc: Dmitry Vyukov
    Cc: Andrey Ryabinin
    Cc: James Morse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kefeng Wang
     
  • Patch "lib/radix-tree: Convert to hotplug state machine" breaks the test
    suite as it adds a call to cpuhp_setup_state_nocalls() which is not
    currently emulated in the test suite. Add it, and delete the emulation
    of the old CPU hotplug mechanism.

    Link: http://lkml.kernel.org/r/1480369871-5271-36-git-send-email-mawilcox@linuxonhyperv.com
    Signed-off-by: Matthew Wilcox
    Tested-by: Kirill A. Shutemov
    Cc: Konstantin Khlebnikov
    Cc: Ross Zwisler
    Cc: Matthew Wilcox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Wilcox
     
  • zram hot_add sysfs attribute is a very 'special' attribute - reading
    from it creates a new uninitialized zram device. This file, by a
    mistake, can be read by a 'normal' user at the moment, while only root
    must be able to create a new zram device, therefore hot_add attribute
    must have S_IRUSR mode, not S_IRUGO.

    [akpm@linux-foundation.org: s/sence/sense/, reflow comment to use 80 cols]
    Fixes: 6566d1a32bf72 ("zram: add dynamic device add/remove functionality")
    Link: http://lkml.kernel.org/r/20161205155845.20129-1-sergey.senozhatsky@gmail.com
    Signed-off-by: Sergey Senozhatsky
    Reported-by: Steven Allen
    Acked-by: Greg Kroah-Hartman
    Cc: Minchan Kim
    Cc: [4.2+]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sergey Senozhatsky
     
  • Pull x86 fixes from Ingo Molnar:
    "Misc fixes: a core dumping crash fix, a guess-unwinder regression fix,
    plus three build warning fixes"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/unwind: Fix guess-unwinder regression
    x86/build: Annotate die() with noreturn to fix build warning on clang
    x86/platform/olpc: Fix resume handler build warning
    x86/apic/uv: Silence a shift wrapping warning
    x86/coredump: Always use user_regs_struct for compat_elf_gregset_t

    Linus Torvalds
     
  • Pull scheduler fix from Ingo Molnar:
    "An autogroup nice level adjustment bug fix"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/autogroup: Fix 64-bit kernel nice level adjustment

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "A bogus warning fix, a counter width handling fix affecting certain
    machines, plus a oneliner hw-enablement patch for Knights Mill CPUs"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/core: Remove invalid warning from list_update_cgroup_even()t
    perf/x86: Fix full width counter, counter overflow
    perf/x86/intel: Enable C-state residency events for Knights Mill

    Linus Torvalds
     
  • Pull locking fixes from Ingo Molnar:
    "Two rtmutex race fixes (which miraculously never triggered, that we
    know of), plus two lockdep printk formatting regression fixes"

    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    lockdep: Fix report formatting
    locking/rtmutex: Use READ_ONCE() in rt_mutex_owner()
    locking/rtmutex: Prevent dequeue vs. unlock race
    locking/selftest: Fix output since KERN_CONT changes

    Linus Torvalds
     
  • Pull objtool fix from Ingo Molnar:
    "A single late breaking fix for objtool"

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    objtool: Fix bytes check of lea's rex_prefix

    Linus Torvalds
     
  • Pull fuse fix from Miklos Szeredi:
    "Fix a regression spotted by Jeff Layton"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
    fuse: fix clearing suid, sgid for chown()

    Linus Torvalds
     
  • This reverts commit 8ab2ae655bfe384335c5b6b0d6041e0ddce26b00.

    I loved that commit because of how it explained what the problem with
    newer versions of binutils were, but the actual patch itself turns out
    to not work very well.

    It has two problems:

    - a zero CRC value isn't actually right. It happens to work for the
    case where both sides of the equation fail at giving the symbol a
    crc, but there are cases where the users of the exported symbol get
    the right crc (due to seeing the C declarations), but the actual
    exporting itself does not (due to the whole weak asm symbol issue).

    So then the module load fails after all - we did have a crc for the
    symbol, but we couldn't match it with the loaded module.

    - it seems that the alpha assembler has special semantics for the
    '.set' directive, and on alpha it doesn't actually set the value of
    the specified symbol at all, it is instead used to set various
    assembly modes (eg ".set noat" and ".set noreorder").

    So using ".set" to set the symbol value would just cause build
    failures on alpha.

    I'm sure we'll find some other workaround for these issues (hopefully
    that involves getting rid of modversions entirely some day, but people
    are also talking about just using smarter tools). But for now we'll
    just fall back on commit faaae2a58143 ("Re-enable CONFIG_MODVERSIONS in
    a slightly weaker form") that just let's a missing crc through.

    Reported-by: Jan Stancek
    Reported-by: Philip Müller
    Reported-by: Guenter Roeck
    Cc: Arnd Bergmann
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • In theory we could map other things, but there's a reason that function
    is called "user_iov". Using anything else (like splice can do) just
    confuses it.

    Reported-and-tested-by: Johannes Thumshirn
    Cc: Al Viro
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

07 Dec, 2016

15 commits

  • Pull sparc fix from David Miller:
    "A use-before-NULL-check from Dan Carpenter"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    dbri: move dereference after check for NULL

    Linus Torvalds
     
  • We accidentally introduced a dereference before the NULL check in
    xmit_descs() as part of silencing a GCC warning.

    Fixes: 16f46050e709 ("dbri: Fix compiler warning")
    Signed-off-by: Dan Carpenter
    Signed-off-by: David S. Miller

    Dan Carpenter
     
  • Pull networking fixes from David Miller:

    1) When dcbnl_cee_fill() fails to be able to push a new netlink
    attribute, it return 0 instead of an error code. From Pan Bian.

    2) Two suffix handling fixes to FIB trie code, from Alexander Duyck.

    3) bnxt_hwrm_stat_ctx_alloc() goes through all the trouble of setting
    and maintaining a return code 'rc' but fails to actually return it.
    Also from Pan Bian.

    4) ping socket ICMP handler needs to validate ICMP header length, from
    Kees Cook.

    5) caif_sktinit_module() has this interesting logic:

    int err = sock_register(...);
    if (!err)
    return err;
    return 0;

    Just return sock_register()'s return value directly which is the
    only possible correct thing to do.

    6) Two bnx2x driver fixes from Yuval Mintz, return a reasonable
    estimate from get_ringparam() ethtool op when interface is down and
    avoid trying to use UDP port based tunneling on 577xx chips.

    7) Fix ep93xx_eth crash on module unload from Florian Fainelli.

    8) Missing uapi exports, from Stephen Hemminger.

    9) Don't schedule work from sk_destruct(), because the socket will be
    freed upon return from that function. From Herbert Xu.

    10) Buggy drivers, of which we know there is at least one, can send a
    huge packet into the TCP stack but forget to set the gso_size in the
    SKB, which causes all kinds of problems.

    Correct this when it happens, and emit a one-time warning with the
    device name included so that it can be diagnosed more easily.

    From Marcelo Ricardo Leitner.

    11) virtio-net does DMA off the stack causes hiccups with VMAP_STACK,
    fix from Andy Lutomirski.

    12) Fix fec driver compilation with CONFIG_M5272, from Nikita
    Yushchenko.

    13) mlx5 fixes from Kamal Heib, Saeed Mahameed, and Mohamad Haj Yahia.
    (erroneously flushing queues on error, module parameter validation,
    etc)

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (34 commits)
    net/mlx5e: Change the SQ/RQ operational state to positive logic
    net/mlx5e: Don't flush SQ on error
    net/mlx5e: Don't notify HW when filling the edge of ICO SQ
    net/mlx5: Fix query ISSI flow
    net/mlx5: Remove duplicate pci dev name print
    net/mlx5: Verify module parameters
    net: fec: fix compile with CONFIG_M5272
    be2net: Add DEVSEC privilege to SET_HSW_CONFIG command.
    virtio-net: Fix DMA-from-the-stack in virtnet_set_mac_address()
    tcp: warn on bogus MSS and try to amend it
    uapi glibc compat: fix outer guard of net device flags enum
    net: stmmac: clear reset value of snps, wr_osr_lmt/snps, rd_osr_lmt before writing
    netlink: Do not schedule work from sk_destruct
    uapi: export nf_log.h
    uapi: export tc_skbmod.h
    net: ep93xx_eth: Do not crash unloading module
    bnx2x: Prevent tunnel config for 577xx
    bnx2x: Correct ringparam estimate when DOWN
    isdn: hisax: set error code on failure
    net: bnx2x: fix improper return value
    ...

    Linus Torvalds
     
  • The shmem hole punching with fallocate(FALLOC_FL_PUNCH_HOLE) does not
    want to race with generating new pages by faulting them in.

    However, the wait-queue used to delay the page faulting has a serious
    problem: the wait queue head (in shmem_fallocate()) is allocated on the
    stack, and the code expects that "wake_up_all()" will make sure that all
    the queue entries are gone before the stack frame is de-allocated.

    And that is not at all necessarily the case.

    Yes, a normal wake-up sequence will remove the wait-queue entry that
    caused the wakeup (see "autoremove_wake_function()"), but the key
    wording there is "that caused the wakeup". When there are multiple
    possible wakeup sources, the wait queue entry may well stay around.

    And _particularly_ in a page fault path, we may be faulting in new pages
    from user space while we also have other things going on, and there may
    well be other pending wakeups.

    So despite the "wake_up_all()", it's not at all guaranteed that all list
    entries are removed from the wait queue head on the stack.

    Fix this by introducing a new wakeup function that removes the list
    entry unconditionally, even if the target process had already woken up
    for other reasons. Use that "synchronous" function to set up the
    waiters in shmem_fault().

    This problem has never been seen in the wild afaik, but Dave Jones has
    reported it on and off while running trinity. We thought we fixed the
    stack corruption with the blk-mq rq_list locking fix (commit
    7fe311302f7d: "blk-mq: update hardware and software queues for sleeping
    alloc"), but it turns out there was _another_ stack corruptor hiding
    in the trinity runs.

    Vegard Nossum (also running trinity) was able to trigger this one fairly
    consistently, and made us look once again at the shmem code due to the
    faults often being in that area.

    Reported-and-tested-by: Vegard Nossum .
    Reported-by: Dave Jones
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Saeed Mahameed says:

    ====================
    Mellanox 100G mlx5 fixes 2016-12-04

    Some bug fixes for mlx5 core and mlx5e driver.

    v1->v2:
    - replace "uint" with "unsigned int"
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • When using the negative logic (i.e. FLUSH state), after the RQ/SQ reopen
    we will have a time interval that the RQ/SQ is not really ready and the
    state indicates that its not in FLUSH state because the initial SQ/RQ struct
    memory starts as zeros.
    Now we changed the state to indicate if the SQ/RQ is opened and we will
    set the READY state after finishing preparing all the SQ/RQ resources.

    Fixes: 6e8dd6d6f4bd ("net/mlx5e: Don't wait for SQ completions on close")
    Fixes: f2fde18c52a7 ("net/mlx5e: Don't wait for RQ completions on close")
    Signed-off-by: Mohamad Haj Yahia
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Mohamad Haj Yahia
     
  • We are doing SQ descriptors cleanup in driver.

    Fixes: 6e8dd6d6f4bd ("net/mlx5e: Don't wait for SQ completions on close")
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Saeed Mahameed
     
  • We are going to do this a couple of steps ahead anyway.

    Fixes: d3c9bc2743dc ("net/mlx5e: Added ICO SQs")
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Saeed Mahameed
     
  • In old FWs query ISSI command is not supported and for some of those FWs
    it might fail with status other than "MLX5_CMD_STAT_BAD_OP_ERR".

    In such case instead of failing the driver load, we will treat any FW
    status other than 0 for Query ISSI FW command as ISSI not supported and
    assume ISSI=0 (most basic driver/FW interface).

    In case of driver syndrom (query ISSI failure by driver) we will fail
    driver load.

    Fixes: f62b8bb8f2d3 ('net/mlx5: Extend mlx5_core to support ConnectX-4
    Ethernet functionality')
    Signed-off-by: Kamal Heib

    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Kamal Heib
     
  • Remove duplicate pci dev name printing from mlx5_core_warn/dbg.

    Fixes: 5a7883989b1c ('net/mlx5_core: Improve mlx5 messages')
    Signed-off-by: Kamal Heib
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Kamal Heib
     
  • Verify the mlx5_core module parameters by making sure that they are in
    the expected range and if they aren't restore them to their default
    values.

    Fixes: 9603b61de1ee ('mlx5: Move pci device handling from mlx5_ib to mlx5_core')
    Signed-off-by: Kamal Heib
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Kamal Heib
     
  • Commit 80cca775cdc4 ("net: fec: cache statistics while device is down")
    introduced unconditional statistics-related actions.

    However, when driver is compiled with CONFIG_M5272, staticsics-related
    definitions do not exist, which results into build errors.

    Fix that by adding explicit handling of !defined(CONFIG_M5272) case.

    Fixes: 80cca775cdc4 ("net: fec: cache statistics while device is down")
    Signed-off-by: Nikita Yushchenko
    Signed-off-by: David S. Miller

    Nikita Yushchenko
     
  • OPCODE_COMMON_GET_FN_PRIVILEGES is returning only DEVSEC
    privilege (Unrestricted Administrative Privilege) for Lancer NIC functions.
    So, driver is failing SET_HSW_CONFIG command, as DEVSEC privilege was not
    set in the privilege bitmap. This patch fixes the problem by setting DEVSEC
    privilege in SET_HSW_CONFIG’s privilege bitmap.

    Signed-off-by: Venkat Duvvuru
    Signed-off-by: Suresh Reddy
    Signed-off-by: David S. Miller

    Venkat Duvvuru
     
  • With CONFIG_VMAP_STACK=y, virtnet_set_mac_address() can be passed a
    pointer to the stack and it will OOPS. Copy the address to the heap
    to prevent the crash.

    Cc: Michael S. Tsirkin
    Cc: Jason Wang
    Cc: Laura Abbott
    Reported-by: zbyszek@in.waw.pl
    Signed-off-by: Andy Lutomirski
    Acked-by: Jason Wang
    Acked-by: Michael S. Tsirkin
    Signed-off-by: David S. Miller

    Andy Lutomirski
     
  • There have been some reports lately about TCP connection stalls caused
    by NIC drivers that aren't setting gso_size on aggregated packets on rx
    path. This causes TCP to assume that the MSS is actually the size of the
    aggregated packet, which is invalid.

    Although the proper fix is to be done at each driver, it's often hard
    and cumbersome for one to debug, come to such root cause and report/fix
    it.

    This patch amends this situation in two ways. First, it adds a warning
    on when this situation occurs, so it gives a hint to those trying to
    debug this. It also limit the maximum probed MSS to the adverised MSS,
    as it should never be any higher than that.

    The result is that the connection may not have the best performance ever
    but it shouldn't stall, and the admin will have a hint on what to look
    for.

    Tested with virtio by forcing gso_size to 0.

    v2: updated msg per David's suggestion
    v3: use skb_iif to find the interface and also log its name, per Eric
    Dumazet's suggestion. As the skb may be backlogged and the interface
    gone by then, we need to check if the number still has a meaning.
    v4: use helper tcp_gro_dev_warn() and avoid pr_warn_once inside __once, per
    David's suggestion

    Cc: Jonathan Maxwell
    Signed-off-by: Marcelo Ricardo Leitner
    Signed-off-by: David S. Miller

    Marcelo Ricardo Leitner
     

06 Dec, 2016

14 commits

  • Fix a wrong condition preventing the higher net device flags
    IFF_LOWER_UP etc to be defined if net/if.h is included before
    linux/if.h.

    The comment makes it clear the intention was to allow partial
    definition with either parts.

    This fixes compilation of userspace programs trying to use
    IFF_LOWER_UP, IFF_DORMANT or IFF_ECHO.

    Fixes: 4a91cb61bb99 ("uapi glibc compat: fix compile errors when glibc net/if.h included before linux/if.h")
    Signed-off-by: Jonas Gorski
    Reviewed-by: Mikko Rapeli
    Signed-off-by: David S. Miller

    Jonas Gorski
     
  • WR_OSR_LMT and RD_OSR_LMT have a reset value of 1.
    Since the reset value wasn't cleared before writing, the value in the
    register would be incorrect if specifying an uneven value for
    snps,wr_osr_lmt/snps,rd_osr_lmt.

    Zero is a valid value for the properties, since the databook specifies:
    maximum outstanding requests = WR_OSR_LMT + 1.

    We do not want to change the behavior for existing users when the
    property is missing. Therefore, default to 1 if the property is missing,
    since that is the same as the reset value.

    Signed-off-by: Niklas Cassel
    Signed-off-by: David S. Miller

    Niklas Cassel
     
  • Basically, the pjdfstests set the ownership of a file to 06555, and then
    chowns it (as root) to a new uid/gid. Prior to commit a09f99eddef4 ("fuse:
    fix killing s[ug]id in setattr"), fuse would send down a setattr with both
    the uid/gid change and a new mode. Now, it just sends down the uid/gid
    change.

    Technically this is NOTABUG, since POSIX doesn't _require_ that we clear
    these bits for a privileged process, but Linux (wisely) has done that and I
    think we don't want to change that behavior here.

    This is caused by the use of should_remove_suid(), which will always return
    0 when the process has CAP_FSETID.

    In fact we really don't need to be calling should_remove_suid() at all,
    since we've already been indicated that we should remove the suid, we just
    don't want to use a (very) stale mode for that.

    This patch should fix the above as well as simplify the logic.

    Reported-by: Jeff Layton
    Signed-off-by: Miklos Szeredi
    Fixes: a09f99eddef4 ("fuse: fix killing s[ug]id in setattr")
    Cc:
    Reviewed-by: Jeff Layton

    Miklos Szeredi
     
  • Since commit:

    4bcc595ccd80 ("printk: reinstate KERN_CONT for printing continuation lines")

    printk() requires KERN_CONT to continue log messages. Lots of printk()
    in lockdep.c and print_ip_sym() don't have it. As the result lockdep
    reports are completely messed up.

    Add missing KERN_CONT and inline print_ip_sym() where necessary.

    Example of a messed up report:

    0-rc5+ #41 Not tainted
    -------------------------------------------------------
    syz-executor0/5036 is trying to acquire lock:
    (
    rtnl_mutex
    ){+.+.+.}
    , at:
    [] rtnl_lock+0x1c/0x20
    but task is already holding lock:
    (
    &net->packet.sklist_lock
    ){+.+...}
    , at:
    [] packet_diag_dump+0x1a6/0x1920
    which lock already depends on the new lock.
    the existing dependency chain (in reverse order) is:
    -> #3
    (
    &net->packet.sklist_lock
    +.+...}
    ...

    Without this patch all scripts that parse kernel bug reports are broken.

    Signed-off-by: Dmitry Vyukov
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: andreyknvl@google.com
    Cc: aryabinin@virtuozzo.com
    Cc: joe@perches.com
    Cc: syzkaller@googlegroups.com
    Link: http://lkml.kernel.org/r/1480343083-48731-1-git-send-email-dvyukov@google.com
    Signed-off-by: Ingo Molnar

    Dmitry Vyukov
     
  • The warning introduced in commit:

    864c2357ca89 ("perf/core: Do not set cpuctx->cgrp for unscheduled cgroups")

    assumed that a cgroup switch always precedes list_del_event. This is
    not the case. Remove warning.

    Make sure that cpuctx->cgrp is NULL until a cgroup event is sched in
    or ctx->nr_cgroups == 0.

    Signed-off-by: David Carrillo-Cisneros
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Alexander Shishkin
    Cc: Arnaldo Carvalho de Melo
    Cc: Borislav Petkov
    Cc: Fenghua Yu
    Cc: Jiri Olsa
    Cc: Kan Liang
    Cc: Linus Torvalds
    Cc: Marcelo Tosatti
    Cc: Nilay Vaish
    Cc: Paul Turner
    Cc: Peter Zijlstra
    Cc: Ravi V Shankar
    Cc: Stephane Eranian
    Cc: Thomas Gleixner
    Cc: Vegard Nossum
    Cc: Vikas Shivappa
    Cc: Vince Weaver
    Link: http://lkml.kernel.org/r/1480841177-27299-1-git-send-email-davidcc@google.com
    Signed-off-by: Ingo Molnar

    David Carrillo-Cisneros
     
  • Lukasz reported that perf stat counters overflow handling is broken on KNL/SLM.

    Both these parts have full_width_write set, and that does indeed have
    a problem. In order to deal with counter wrap, we must sample the
    counter at at least half the counter period (see also the sampling
    theorem) such that we can unambiguously reconstruct the count.

    However commit:

    069e0c3c4058 ("perf/x86/intel: Support full width counting")

    sets the sampling interval to the full period, not half.

    Fixing that exposes another issue, in that we must not sign extend the
    delta value when we shift it right; the counter cannot have
    decremented after all.

    With both these issues fixed, counter overflow functions correctly
    again.

    Reported-by: Lukasz Odzioba
    Tested-by: Liang, Kan
    Tested-by: Odzioba, Lukasz
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Alexander Shishkin
    Cc: Arnaldo Carvalho de Melo
    Cc: Jiri Olsa
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Thomas Gleixner
    Cc: Vince Weaver
    Cc: stable@vger.kernel.org
    Fixes: 069e0c3c4058 ("perf/x86/intel: Support full width counting")
    Signed-off-by: Ingo Molnar

    Peter Zijlstra (Intel)
     
  • The Knights Mill is enough close to Knights Landing so the path reuses
    C-state residency support of the latter.

    Signed-off-by: Piotr Luc
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Alexander Shishkin
    Cc: Arnaldo Carvalho de Melo
    Cc: Arnaldo Carvalho de Melo
    Cc: Jiri Olsa
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Thomas Gleixner
    Cc: Vince Weaver
    Link: http://lkml.kernel.org/r/20161201000853.18260-1-piotr.luc@intel.com
    Signed-off-by: Ingo Molnar

    Piotr Luc
     
  • For the "lea %(rsp), %rbp" case, we check if there is a rex_prefix.
    But we check 'bytes' which is insn_byte_t[4] in rex_prefix (insn_field
    structure). Therefore, the check is always true.

    Instead, check 'nbytes' which is the right one.

    Signed-off-by: Jiri Slaby
    Acked-by: Josh Poimboeuf
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/20161205105551.25917-1-jslaby@suse.cz
    Signed-off-by: Ingo Molnar

    Jiri Slaby
     
  • It is wrong to schedule a work from sk_destruct using the socket
    as the memory reserve because the socket will be freed immediately
    after the return from sk_destruct.

    Instead we should do the deferral prior to sk_free.

    This patch does just that.

    Fixes: 707693c8a498 ("netlink: Call cb->done from a worker thread")
    Signed-off-by: Herbert Xu
    Tested-by: Andrey Konovalov
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • File is in uapi directory but not being copied on
    make install_headers

    Fixes commit 4ec9c8fbbc22 ("netfilter: nft_log: complete
    NFTA_LOG_FLAGS attr support").

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     
  • Fixes commit 735cffe5d800 ("net_sched: Introduce skbmod action")
    Not used by iproute2 but maybe in future.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     
  • When we unload the ep93xx_eth, whether we have opened the network
    interface or not, we will either hit a kernel paging request error, or a
    simple NULL pointer de-reference because:

    - if ep93xx_open has been called, we have created a valid DMA mapping
    for ep->descs, when we call ep93xx_stop, we also call
    ep93xx_free_buffers, ep->descs now has a stale value

    - if ep93xx_open has not been called, we have a NULL pointer for
    ep->descs, so performing any operation against that address just won't
    work

    Fix this by adding a NULL pointer check for ep->descs which means that
    ep93xx_free_buffers() was able to successfully tear down the descriptors
    and free the DMA cookie as well.

    Fixes: 1d22e05df818 ("[PATCH] Cirrus Logic ep93xx ethernet driver")
    Signed-off-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Florian Fainelli
     
  • Yuval Mintz says:

    ====================
    bnx2x: fixes series

    Two unrelated fixes for bnx2x - the first one is nice-to-have,
    while the other fixes fatal behaviour in older adapters.

    Please consider applying them to `net'.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Only the 578xx adapters are capable of configuring UDP ports for
    the purpose of tunnelling - doing the same on 577xx might lead to
    a firmware assertion.
    We're already not claiming support for any related feature for such
    devices, but we also need to prevent the configuration of the UDP
    ports to the device in this case.

    Fixes: f34fa14cc033 ("bnx2x: Add vxlan RSS support")
    Reported-by: Anikina Anna
    Signed-off-by: Yuval Mintz
    Signed-off-by: David S. Miller

    Mintz, Yuval