07 Feb, 2015

6 commits

  • ….kernel.org/pub/scm/linux/kernel/git/tip/tip

    Pull timer and x86 fix from Ingo Molnar:
    "A CLOCK_TAI early expiry fix and an x86 microcode driver oops fix"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    hrtimer: Fix incorrect tai offset calculation for non high-res timer systems

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, microcode: Return error from driver init code when loader is disabled

    Linus Torvalds
     
  • Pull scheduler fixes from Ingo Molnar:
    "Misc fixes"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/deadline: Fix deadline parameter modification handling
    sched/wait: Remove might_sleep() from wait_event_cmd()
    sched: Fix crash if cpuset_cpumask_can_shrink() is passed an empty cpumask
    sched/fair: Avoid using uninitialized variable in preferred_group_nid()

    Linus Torvalds
     
  • Pull core kernel fixes from Ingo Molnar:
    "Two liblockdep fixes and a CPU hotplug race fix"

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tools/liblockdep: don't include host headers
    tools/liblockdep: ignore generated .so file
    smpboot: Add missing get_online_cpus() in smpboot_register_percpu_thread()

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "Hopefully the final pull request for 3.19: this ended up with a
    slightly higher volume than wished, but I put them all as they are
    either stable or 3.19 regression fixes.

    Most of commits are from ASoC, and have been stewed for a while in
    linux-next. The only change in the common code is the regression
    fixes for ASoC AC97 stuff wrt device registrations. The rest are
    device-specific, mostly small fixes in various ASoC drivers and ak411x
    on ice1724 boards"

    * tag 'sound-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ASoC: Intel: fix sst firmware path for cht-bsw-rt5672
    ARM: dts: Fix I2S1, I2S2 compatible for exynos4 SoCs
    ASoC: sgtl5000: add delay before first I2C access
    MAINTAINERS: ASoC: add maintainer for Intel BDW/HSW ASoC driver
    ASoC: atmel_ssc_dai: fix the setting for DSP mode
    ASoC: sgtl5000: Use shift mask when setting codec mode
    ASoC: tlv320aic3x: Fix data delay configuration
    ALSA: ak411x: Fix stall in work callback
    ASoC: Intel: Used lock version to update shim registers
    ASoC: wm8731: init mutex in i2c init path
    ASoC: atmel_ssc_dai: fix start event for I2S mode
    ASoC: rt5640: Add RT5642 ACPI ID for Intel Baytrail
    ASoC: wm97xx: Reset AC'97 device before registering it
    ASoC: Add support for allocating AC'97 device before registering it

    Linus Torvalds
     
  • Merge misc fixes from Andrew Morton:
    "7 fixes"

    * emailed patches from Andrew Morton :
    mm/debug_pagealloc: fix build failure on ppc and some other archs
    nilfs2: fix deadlock of segment constructor over I_SYNC flag
    MAINTAINERS: remove SUPERH website
    memcg, shmem: fix shmem migration to use lrucare
    mm: export "high_memory" symbol on !MMU
    .mailmap: update Konstantin Khlebnikov's email address
    mm: pagewalk: call pte_hole() for VM_PFNMAP during walk_page_range

    Linus Torvalds
     
  • Pull MIPS fixes from Ralf Baechle:
    "The pending MIPS fixes for 3.19. All across the field and nothing
    particularly severe or dramatic"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (23 commits)
    IRQCHIP: mips-gic: Avoid rerouting timer IRQs for smp-cmp
    MIPS: Fix syscall_get_nr for the syscall exit tracing.
    MIPS: elf2ecoff: Ignore PT_MIPS_ABIFLAGS program headers.
    MIPS: elf2ecoff: Rewrite main processing loop to switch.
    MIPS: fork: Fix MSA/FPU/DSP context duplication race
    MIPS: Fix C0_Pagegrain[IEC] support.
    MIPS: traps: Fix inline asm ctc1 missing .set hardfloat
    MIPS: mipsregs.h: Add write_32bit_cp1_register()
    MIPS: Fix kernel lockup or crash after CPU offline/online
    MIPS: OCTEON: fix kernel crash when offlining a CPU
    MIPS: ARC: Fix build error.
    MIPS: IRQ: Fix disable_irq on CPU IRQs
    MIPS: smp-mt,smp-cmp: Enable all HW IRQs on secondary CPUs
    MIPS: Fix restart of indirect syscalls
    MIPS: ELF: fix loading o32 binaries on 64-bit kernels
    MIPS: mips-cm: Fix sparse warnings
    MIPS: Kconfig: Fix recursive dependency.
    MIPS: Compat: Fix build error if CONFIG_MIPS32_COMPAT but no compat ABI.
    MIPS: JZ4740: Fixup #include's (sparse)
    MIPS: Wire up execveat(2).
    ...

    Linus Torvalds
     

06 Feb, 2015

25 commits

  • Kim Phillips reported following build failure.

    LD init/built-in.o
    mm/built-in.o: In function `free_pages_prepare':
    mm/page_alloc.c:770: undefined reference to `.kernel_map_pages'
    mm/built-in.o: In function `prep_new_page':
    mm/page_alloc.c:933: undefined reference to `.kernel_map_pages'
    mm/built-in.o: In function `map_pages':
    mm/compaction.c:61: undefined reference to `.kernel_map_pages'
    make: *** [vmlinux] Error 1

    Reason for this problem is that commit 031bc5743f15
    ("mm/debug-pagealloc: make debug-pagealloc boottime configurable")
    forgot to remove the old declaration of kernel_map_pages() for some
    architectures. This patch removes them to fix build failure.

    Reported-by: Kim Phillips
    Signed-off-by: Joonsoo Kim
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: David Miller
    Cc: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joonsoo Kim
     
  • Nilfs2 eventually hangs in a stress test with fsstress program. This
    issue was caused by the following deadlock over I_SYNC flag between
    nilfs_segctor_thread() and writeback_sb_inodes():

    nilfs_segctor_thread()
    nilfs_segctor_thread_construct()
    nilfs_segctor_unlock()
    nilfs_dispose_list()
    iput()
    iput_final()
    evict()
    inode_wait_for_writeback() * wait for I_SYNC flag

    writeback_sb_inodes()
    * set I_SYNC flag on inode->i_state
    __writeback_single_inode()
    do_writepages()
    nilfs_writepages()
    nilfs_construct_dsync_segment()
    nilfs_segctor_sync()
    * wait for completion of segment constructor
    inode_sync_complete()
    * clear I_SYNC flag after __writeback_single_inode() completed

    writeback_sb_inodes() calls do_writepages() for dirty inodes after
    setting I_SYNC flag on inode->i_state. do_writepages() in turn calls
    nilfs_writepages(), which can run segment constructor and wait for its
    completion. On the other hand, segment constructor calls iput(), which
    can call evict() and wait for the I_SYNC flag on
    inode_wait_for_writeback().

    Since segment constructor doesn't know when I_SYNC will be set, it
    cannot know whether iput() will block or not unless inode->i_nlink has a
    non-zero count. We can prevent evict() from being called in iput() by
    implementing sop->drop_inode(), but it's not preferable to leave inodes
    with i_nlink == 0 for long periods because it even defers file
    truncation and inode deallocation. So, this instead resolves the
    deadlock by calling iput() asynchronously with a workqueue for inodes
    with i_nlink == 0.

    Signed-off-by: Ryusuke Konishi
    Cc: Al Viro
    Tested-by: Ryusuke Konishi
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • The mentioned website only displays information about buying and selling
    domains.

    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sudip Mukherjee
     
  • It has been reported that 965GM might trigger

    VM_BUG_ON_PAGE(!lrucare && PageLRU(oldpage), oldpage)

    in mem_cgroup_migrate when shmem wants to replace a swap cache page
    because of shmem_should_replace_page (the page is allocated from an
    inappropriate zone). shmem_replace_page expects that the oldpage is not
    on LRU list and calls mem_cgroup_migrate without lrucare. This is
    obviously incorrect because swapcache pages might be on the LRU list
    (e.g. swapin readahead page).

    Fix this by enabling lrucare for the migration in shmem_replace_page.
    Also clarify that lrucare should be used even if one of the pages might
    be on LRU list.

    The BUG_ON will trigger only when CONFIG_DEBUG_VM is enabled but even
    without that the migration code might leave the old page on an
    inappropriate memcg' LRU which is not that critical because the page
    would get removed with its last reference but it is still confusing.

    Fixes: 0a31bc97c80c ("mm: memcontrol: rewrite uncharge API")
    Signed-off-by: Michal Hocko
    Reported-by: Chris Wilson
    Reported-by: Dave Airlie
    Acked-by: Hugh Dickins
    Acked-by: Johannes Weiner
    Cc: [3.17+]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Hocko
     
  • The symbol 'high_memory' is provided on both MMU- and NOMMU-kernels, but
    only one of them is exported, which leads to module build errors in
    drivers that work fine built-in:

    ERROR: "high_memory" [drivers/net/virtio_net.ko] undefined!
    ERROR: "high_memory" [drivers/net/ppp/ppp_mppe.ko] undefined!
    ERROR: "high_memory" [drivers/mtd/nand/nand.ko] undefined!
    ERROR: "high_memory" [crypto/tcrypt.ko] undefined!
    ERROR: "high_memory" [crypto/cts.ko] undefined!

    This exports the symbol to get these to work on NOMMU as well.

    Signed-off-by: Arnd Bergmann
    Cc: Kirill A. Shutemov
    Acked-by: Greg Ungerer
    Acked-by: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     
  • get_maintainer.pl returns k.khlebnikov@samsung.com via git history, for
    which emails get rejected:

    RCPT TO:
    550 5.1.1 Recipient address rejected: User unknown

    Use his other address that passes vger's mxverify:

    RCPT TO:
    250 2.1.5 OK ir10si13843754pbc.62 - gsmtp

    and add his old email address in the wrong email address field.

    Signed-off-by: Kim Phillips
    Acked-by: Konstantin Khlebnikov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kim Phillips
     
  • walk_page_range() silently skips vma having VM_PFNMAP set, which leads
    to undesirable behaviour at client end (who called walk_page_range).
    Userspace applications get the wrong data, so the effect is like just
    confusing users (if the applications just display the data) or sometimes
    killing the processes (if the applications do something with
    misunderstanding virtual addresses due to the wrong data.)

    For example for pagemap_read, when no callbacks are called against
    VM_PFNMAP vma, pagemap_read may prepare pagemap data for next virtual
    address range at wrong index.

    Eventually userspace may get wrong pagemap data for a task.
    Corresponding to a VM_PFNMAP marked vma region, kernel may report
    mappings from subsequent vma regions. User space in turn may account
    more pages (than really are) to the task.

    In my case I was using procmem, procrack (Android utility) which uses
    pagemap interface to account RSS pages of a task. Due to this bug it
    was giving a wrong picture for vmas (with VM_PFNMAP set).

    Fixes: a9ff785e4437 ("mm/pagewalk.c: walk_page_range should avoid VM_PFNMAP areas")
    Signed-off-by: Shiraz Hashim
    Acked-by: Naoya Horiguchi
    Cc: [3.10+]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shiraz Hashim
     
  • …/git/broonie/sound into for-linus

    ASoC: AC'97 fixes

    These are rather too large for this late in the release cycle but
    they're clear, well understood and have been tested to fix a regression
    which was introduced for v3.19. The details are all in Lars' changelog
    and they've been cooking in -next for a while, to a large extent out
    of conservatism about the size.

    Takashi Iwai
     
  • …l/git/broonie/sound into for-linus

    ASoC: Fix for Intel firmware name

    Another one liner that arrived after the earlier pull request. There's
    a trivial conflict with my -next branch, I'll send a pull request with
    that resolution and some other new stuff before Monday.

    Takashi Iwai
     
  • …broonie/sound into for-linus

    ASoC: Fixes for v3.19

    A few last minute fixes for v3.19, all driver specific. None of them
    stand out particularly - it's all the standard people who are affected
    will care stuff.

    The Samsung fix is a DT only fix for the audio controller, it's being
    merged via the ASoC tree due to process messups (the submitter sent it
    at the end of a tangentally related series rather than separately to the
    ARM folks) in order to make sure that it gets to people sooner.

    Takashi Iwai
     
  • All sst firmware is provided under the intel directory of the linux-firmware
    tree. By default this directory structure is kept when installing on a target
    system. Change the path to expect a default linux-firmware installation.

    Signed-off-by: Kevin Strasser
    Signed-off-by: Mark Brown

    Kevin Strasser
     
  • Mark Brown
     
  • I2S1, I2S2 on Exynos4 SoC series have limited functionality compared
    to I2S0, "samsung,s3c6410-i2s" compatible should be used for them.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mark Brown
    Cc: stable@vger.kernel.org

    Sylwester Nawrocki
     
  • Mark Brown
     
  • Mark Brown
     
  • Mark Brown
     
  • Mark Brown
     
  • Mark Brown
     
  • Mark Brown
     
  • Pull networking fixes from David Miller:

    1) Stretch ACKs can kill performance with Reno and CUBIC congestion
    control, largely due to LRO and GRO. Fix from Neal Cardwell.

    2) Fix userland breakage because we accidently emit zero length netlink
    messages from the bridging code. From Roopa Prabhu.

    3) Carry handling in generic csum_tcpudp_nofold is broken, fix from
    Karl Beldan.

    4) Remove bogus dev_set_net() calls from CAIF driver, from Nicolas
    Dichtel.

    5) Make sure PPP deflation never returns a length greater then the
    output buffer, otherwise we overflow and trigger skb_over_panic().
    Fix from Florian Westphal.

    6) COSA driver needs VIRT_TO_BUS Kconfig dependencies, from Arnd
    Bergmann.

    7) Don't increase route cached MTU on datagram too big ICMPs. From Li
    Wei.

    8) Fix error path leaks in nf_tables, from Pablo Neira Ayuso.

    9) Fix bitmask handling regression in netlink that broke things like
    acpi userland tools. From Pablo Neira Ayuso.

    10) Wrong header pointer passed to param_type2af() in SCTP code, from
    Saran Maruti Ramanara.

    11) Stacked vlans not handled correctly by vlan_get_protocol(), from
    Toshiaki Makita.

    12) Add missing DMA memory barrier to xgene driver, from Iyappan
    Subramanian.

    13) Fix crash in rate estimators, from Eric Dumazet.

    14) We've been adding various workarounds, one after another, for the
    change which added the per-net tcp_sock. It was meant to reduce
    socket contention but added lots of problems.

    Reduce this instead to a proper per-cpu socket and that rids us of
    all the daemons.

    From Eric Dumazet.

    15) Fix memory corruption and OOPS in mlx4 driver, from Jack
    Morgenstein.

    16) When we disabled UFO in the virtio_net device, it introduces some
    serious performance regressions. The orignal problem was IPV6
    fragment ID generation, so fix that properly instead. From Vlad
    Yasevich.

    17) sr9700 driver build breaks on xtensa because it defines macros with
    the same name as those used by the arch code. Use more unique
    names. From Chen Gang.

    18) Fix endianness in new virio 1.0 mode of the vhost net driver, from
    Michael S Tsirkin.

    19) Several sysctls were setting the maxlen attribute incorrectly, from
    Sasha Levin.

    20) Don't accept an FQ scheduler quantum of zero, that leads to crashes.
    From Kenneth Klette Jonassen.

    21) Fix dumping of non-existing actions in the packet scheduler
    classifier. From Ignacy Gawędzki.

    22) Return the write work_done value when doing TX work in the qlcnic
    driver.

    23) ip6gre_err accesses the info field with the wrong endianness, from
    Sabrina Dubroca.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (54 commits)
    sit: fix some __be16/u16 mismatches
    ipv6: fix sparse errors in ip6_make_flowlabel()
    net: remove some sparse warnings
    flow_keys: n_proto type should be __be16
    ip6_gre: fix endianness errors in ip6gre_err
    qlcnic: Fix NAPI poll routine for Tx completion
    amd-xgbe: Set RSS enablement based on hardware features
    amd-xgbe: Adjust for zero-based traffic class count
    cls_api.c: Fix dumping of non-existing actions' stats.
    pkt_sched: fq: avoid hang when quantum 0
    net: rds: use correct size for max unacked packets and bytes
    vhost/net: fix up num_buffers endian-ness
    gianfar: correct the bad expression while writing bit-pattern
    net: usb: sr9700: Use 'SR_' prefix for the common register macros
    Revert "drivers/net: Disable UFO through virtio"
    Revert "drivers/net, ipv6: Select IPv6 fragment idents for virtio UFO packets"
    ipv6: Select fragment id during UFO segmentation if not set.
    xen-netback: stop the guest rx thread after a fatal error
    net/mlx4_core: Fix kernel Oops (mem corruption) when working with more than 80 VFs
    isdn: off by one in connect_res()
    ...

    Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "This patch set is fixing two serious problems which have turned up
    late in the release cycle.

    The first fixes a problem with 4k sector disks where the transfer
    length (amount of data sent to the disk) was getting increased every
    time the disk was revalidated leading to potential for overflows.

    The other is a regression oops fix for some of our last merge window
    code"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    sd: Fix max transfer length for 4k disks
    scsi: fix device handler detach oops

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Radeon and amdkfd fixes.

    Radeon ones mostly for oops in some test/benchmark functions since
    fencing changes, and one regression fix for old GPUs,

    There is one cirrus regression fix, the 32bpp broke userspace, so this
    hides it behind a module option for the few users who care.

    I'm off for a few days, so this is probably the final pull I have, if
    I see fixes from Intel I'll forward the pull as I should have email"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/cirrus: Limit modes depending on bpp option
    drm/radeon: fix the crash in test functions
    drm/radeon: fix the crash in benchmark functions
    drm/radeon: properly set vm fragment size for TN/RL
    drm/radeon: don't init gpuvm if accel is disabled (v3)
    drm/radeon: fix PLLs on RS880 and older v2
    drm/amdkfd: Don't create BUG due to incorrect user parameter
    drm/amdkfd: max num of queues can't be 0
    drm/amdkfd: Fix bug in accounting of queues

    Linus Torvalds
     
  • Pull spi fixes from Mark Brown:
    "A couple of driver specific fixes:

    - Disable DMA mode for i.MX6DL chips due to a hardware bug.

    - Don't use devm_kzalloc() outside of bind/unbind paths in the
    fsl-dspi driver, fixing memory leaks"

    * tag 'spi-v3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
    spi: imx: use pio mode for i.mx6dl
    spi: spi-fsl-dspi: Remove usage of devm_kzalloc

    Linus Torvalds
     
  • Pull ACPI power management fix from Rafael Wysocki:
    "This is a revert of an ACPI Low-power Subsystem (LPSS) driver change
    that was supposed to improve power management of the LPSS DMA
    controller, but introduced more serious problems.

    Since fixing them turns out to be non-trivial, it is better to revert
    the commit in question at this point and try to fix the original issue
    differently in the next cycle"

    * tag 'pm+acpi-3.19-fin' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    Revert "ACPI / LPSS: introduce a 'proxy' device to power on LPSS for DMA"

    Linus Torvalds
     
  • Pull PCI fixes from Bjorn Helgaas:
    "Enumeration
    - Scan all device numbers on NEC as well as Stratus (Charlotte Richardson)

    Resource management
    - Handle read-only BARs on AMD CS553x devices (Myron Stowe)

    Synopsys DesignWare
    - Reject MSI-X IRQs (Lucas Stach)"

    * tag 'pci-v3.19-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    PCI: Handle read-only BARs on AMD CS553x devices
    PCI: Add NEC variants to Stratus ftServer PCIe DMI check
    PCI: designware: Reject MSI-X IRQs

    Linus Torvalds
     

05 Feb, 2015

9 commits

  • Commit e9de688dac65 ("irqchip: mips-gic: Support local interrupts")
    changed the GIC irqchip driver so that all local interrupts were routed
    to the same CPU pin used for external interrupts. Unfortunately this
    causes a regression when smp-cmp is used. The CPUs are started by the
    bootloader and put in a timer based waiting poll loop, but when their
    timer interrupts are rerouted to a different IRQ pin which is not
    unmasked they never wake up.

    Since smp-cmp support is deprecated and everybody who was using it
    should be switching to smp-cps which brings up the secondary CPUs
    without bootloader assistance, I've gone for the simple fix which can be
    easily removed once smp-cmp is removed, rather than a fully generic fix.

    In __gic_init() the local GIC_VPE_TIMER_MAP register is read to find the
    boot-time routing of the local timer interrupt, and a chained handler is
    added to that CPU pin as well as the normal one.

    Signed-off-by: James Hogan
    Fixes: e9de688dac65 ("irqchip: mips-gic: Support local interrupts")
    Cc: Andrew Bresticker
    Cc: Qais Yousef
    Cc: Paul Burton
    Cc: Jason Cooper
    Cc: Thomas Gleixner
    Cc: linux-mips@linux-mips.org
    Reviewed-by: Andrew Bresticker
    Patchwork: https://patchwork.linux-mips.org/patch/9081/
    Signed-off-by: Ralf Baechle

    James Hogan
     
  • Fixes following sparse warnings :

    net/ipv6/sit.c:1509:32: warning: incorrect type in assignment (different base types)
    net/ipv6/sit.c:1509:32: expected restricted __be16 [usertype] sport
    net/ipv6/sit.c:1509:32: got unsigned short
    net/ipv6/sit.c:1514:32: warning: incorrect type in assignment (different base types)
    net/ipv6/sit.c:1514:32: expected restricted __be16 [usertype] dport
    net/ipv6/sit.c:1514:32: got unsigned short
    net/ipv6/sit.c:1711:38: warning: incorrect type in argument 3 (different base types)
    net/ipv6/sit.c:1711:38: expected unsigned short [unsigned] [usertype] value
    net/ipv6/sit.c:1711:38: got restricted __be16 [usertype] sport
    net/ipv6/sit.c:1713:38: warning: incorrect type in argument 3 (different base types)
    net/ipv6/sit.c:1713:38: expected unsigned short [unsigned] [usertype] value
    net/ipv6/sit.c:1713:38: got restricted __be16 [usertype] dport

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • include/net/ipv6.h:713:22: warning: incorrect type in assignment (different base types)
    include/net/ipv6.h:713:22: expected restricted __be32 [usertype] hash
    include/net/ipv6.h:713:22: got unsigned int
    include/net/ipv6.h:719:25: warning: restricted __be32 degrades to integer
    include/net/ipv6.h:719:22: warning: invalid assignment: ^=
    include/net/ipv6.h:719:22: left side has type restricted __be32
    include/net/ipv6.h:719:22: right side has type unsigned int

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • netdev_adjacent_add_links() and netdev_adjacent_del_links()
    are static.

    queue->qdisc has __rcu annotation, need to use RCU_INIT_POINTER()

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • (struct flow_keys)->n_proto is in network order, use
    proper type for this.

    Fixes following sparse errors :

    net/core/flow_dissector.c:139:39: warning: incorrect type in assignment (different base types)
    net/core/flow_dissector.c:139:39: expected unsigned short [unsigned] [usertype] n_proto
    net/core/flow_dissector.c:139:39: got restricted __be16 [assigned] [usertype] proto
    net/core/flow_dissector.c:237:23: warning: incorrect type in assignment (different base types)
    net/core/flow_dissector.c:237:23: expected unsigned short [unsigned] [usertype] n_proto
    net/core/flow_dissector.c:237:23: got restricted __be16 [assigned] [usertype] proto

    Signed-off-by: Eric Dumazet
    Fixes: e0f31d849867 ("flow_keys: Record IP layer protocol in skb_flow_dissect()")
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • info is in network byte order, change it back to host byte order
    before use. In particular, the current code sets the MTU of the tunnel
    to a wrong (too big) value.

    Fixes: c12b395a4664 ("gre: Support GRE over IPv6")
    Signed-off-by: Sabrina Dubroca
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Sabrina Dubroca
     
  • After d75b1ade567f ("net: less interrupt masking in NAPI")
    driver's NAPI poll routine is expected to return
    exact budget value if it wants to be re-called.

    Signed-off-by: Shahed Shaikh
    Fixes: d75b1ade567f ("net: less interrupt masking in NAPI")
    Signed-off-by: David S. Miller

    Shahed Shaikh
     
  • I noticed some CLOCK_TAI timer test failures on one of my
    less-frequently used configurations. And after digging in I
    found in 76f4108892d9 (Cleanup hrtimer accessors to the
    timekepeing state), the hrtimer_get_softirq_time tai offset
    calucation was incorrectly rewritten, as the tai offset we
    return shold be from CLOCK_MONOTONIC, and not CLOCK_REALTIME.

    This results in CLOCK_TAI timers expiring early on non-highres
    capable machines.

    This patch fixes the issue, calculating the tai time properly
    from the monotonic base.

    Signed-off-by: John Stultz
    Cc: Thomas Gleixner
    Cc: stable # 3.17+
    Link: http://lkml.kernel.org/r/1423097126-10236-1-git-send-email-john.stultz@linaro.org
    Signed-off-by: Ingo Molnar

    John Stultz
     
  • The RSS support requires enablement based on the features reported by
    the hardware. The setting of this flag is missing. Add support to
    set the RSS enablement flag based on the reported hardware features.

    Signed-off-by: Tom Lendacky
    Signed-off-by: David S. Miller

    Lendacky, Thomas