1. 25 1月, 2016 4 次提交
    • A
      net: simplify napi_synchronize() to avoid warnings · facc432f
      Arnd Bergmann 提交于
      The napi_synchronize() function is defined twice: The definition
      for SMP builds waits for other CPUs to be done, while the uniprocessor
      variant just contains a barrier and ignores its argument.
      
      In the mvneta driver, this leads to a warning about an unused variable
      when we lookup the NAPI struct of another CPU and then don't use it:
      
      ethernet/marvell/mvneta.c: In function 'mvneta_percpu_notifier':
      ethernet/marvell/mvneta.c:2910:30: error: unused variable 'other_port' [-Werror=unused-variable]
      
      There are no other CPUs on a UP build, so that code never runs, but
      gcc does not know this.
      
      The nicest solution seems to be to turn the napi_synchronize() helper
      into an inline function for the UP case as well, as that leads gcc to
      not complain about the argument being unused. Once we do that, we can
      also combine the two cases into a single function definition and use
      if(IS_ENABLED()) rather than #ifdef to make it look a bit nicer.
      
      The warning first came up in linux-4.4, but I failed to catch it
      earlier.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Fixes: f8642885 ("net: mvneta: Statically assign queues to CPUs")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      facc432f
    • H
      pptp: fix illegal memory access caused by multiple bind()s · 9a368aff
      Hannes Frederic Sowa 提交于
      Several times already this has been reported as kasan reports caused by
      syzkaller and trinity and people always looked at RCU races, but it is
      much more simple. :)
      
      In case we bind a pptp socket multiple times, we simply add it to
      the callid_sock list but don't remove the old binding. Thus the old
      socket stays in the bucket with unused call_id indexes and doesn't get
      cleaned up. This causes various forms of kasan reports which were hard
      to pinpoint.
      
      Simply don't allow multiple binds and correct error handling in
      pptp_bind. Also keep sk_state bits in place in pptp_connect.
      
      Fixes: 00959ade ("PPTP: PPP over IPv4 (Point-to-Point Tunneling Protocol)")
      Cc: Dmitry Kozlov <xeb@mail.ru>
      Cc: Sasha Levin <sasha.levin@oracle.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Reported-by: NDmitry Vyukov <dvyukov@google.com>
      Cc: Dave Jones <davej@codemonkey.org.uk>
      Reported-by: NDave Jones <davej@codemonkey.org.uk>
      Signed-off-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9a368aff
    • I
      drivers: net: xgene: fix extra IRQ issue · b5d7a069
      Iyappan Subramanian 提交于
      For interrupt controller that doesn't support irq_disable and hardware
      with level interrupt, an extra interrupt may be pending. This patch fixes
      the issue by setting IRQ_DISABLE_UNLAZY flag for the interrupt line,
      as suggested by,
      
      'commit e9849777 ("genirq: Add flag to force mask in
      		       disable_irq[_nosync]()")'
      Signed-off-by: NIyappan Subramanian <isubramanian@apm.com>
      Tested-by: NToan Le <toanle@apm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b5d7a069
    • E
      af_unix: fix struct pid memory leak · fa0dc04d
      Eric Dumazet 提交于
      Dmitry reported a struct pid leak detected by a syzkaller program.
      
      Bug happens in unix_stream_recvmsg() when we break the loop when a
      signal is pending, without properly releasing scm.
      
      Fixes: b3ca9b02 ("net: fix multithreaded signal handling in unix recv routines")
      Reported-by: NDmitry Vyukov <dvyukov@google.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Rainer Weikusat <rweikusat@mobileactivedefense.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fa0dc04d
  2. 22 1月, 2016 16 次提交
  3. 21 1月, 2016 5 次提交
  4. 20 1月, 2016 5 次提交
  5. 19 1月, 2016 10 次提交
    • L
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · a200dcb3
      Linus Torvalds 提交于
      Pull virtio barrier rework+fixes from Michael Tsirkin:
       "This adds a new kind of barrier, and reworks virtio and xen to use it.
      
        Plus some fixes here and there"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (44 commits)
        checkpatch: add virt barriers
        checkpatch: check for __smp outside barrier.h
        checkpatch.pl: add missing memory barriers
        virtio: make find_vqs() checkpatch.pl-friendly
        virtio_balloon: fix race between migration and ballooning
        virtio_balloon: fix race by fill and leak
        s390: more efficient smp barriers
        s390: use generic memory barriers
        xen/events: use virt_xxx barriers
        xen/io: use virt_xxx barriers
        xenbus: use virt_xxx barriers
        virtio_ring: use virt_store_mb
        sh: move xchg_cmpxchg to a header by itself
        sh: support 1 and 2 byte xchg
        virtio_ring: update weak barriers to use virt_xxx
        Revert "virtio_ring: Update weak barriers to use dma_wmb/rmb"
        asm-generic: implement virt_xxx memory barriers
        x86: define __smp_xxx
        xtensa: define __smp_xxx
        tile: define __smp_xxx
        ...
      a200dcb3
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · d05d82f7
      Linus Torvalds 提交于
      Pull arch/tile updates from Chris Metcalf:
       "This is a grab bag of changes that includes some NOHZ and
        context-tracking related changes, some debugging improvements,
        JUMP_LABEL support, and some fixes for tilepro allmodconfig support.
      
        We also remove the now-unused node_has_online_mem() definitions both
        for tile's asm/topology.h as well as in linux/topology.h itself"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        numa: remove stale node_has_online_mem() define
        arch/tile: move user_exit() to early kernel entry sequence
        tile: fix bug in setting PT_FLAGS_DISABLE_IRQ on kernel entry
        tile: fix tilepro casts for readl, writel, etc
        tile: fix a -Wframe-larger-than warning
        tile: include the syscall number in the backtrace
        MAINTAINERS: add git URL for tile
        arch/tile: adopt prepare_exit_to_usermode() model from x86
        tile/jump_label: add jump label support for TILE-Gx
        tile: define a macro ktext_writable_addr to get writable kernel text address
      d05d82f7
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 · d90f351a
      Linus Torvalds 提交于
      Pull AVR32 updates from Hans-Christian Noren Egtvedt.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:
        mmc: atmel: get rid of struct mci_dma_data
        mmc: atmel-mci: restore dma on AVR32
        avr32: wire up missing syscalls
        avr32: wire up accept4 syscall
      d90f351a
    • L
      Merge branch 'for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · c1a198d9
      Linus Torvalds 提交于
      Pull btrfs updates from Chris Mason:
       "This has our usual assortment of fixes and cleanups, but the biggest
        change included is Omar Sandoval's free space tree.  It's not the
        default yet, mounting -o space_cache=v2 enables it and sets a readonly
        compat bit.  The tree can actually be deleted and regenerated if there
        are any problems, but it has held up really well in testing so far.
      
        For very large filesystems (30T+) our existing free space caching code
        can end up taking a huge amount of time during commits.  The new tree
        based code is faster and less work overall to update as the commit
        progresses.
      
        Omar worked on this during the summer and we'll hammer on it in
        production here at FB over the next few months"
      
      * 'for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (73 commits)
        Btrfs: fix fitrim discarding device area reserved for boot loader's use
        Btrfs: Check metadata redundancy on balance
        btrfs: statfs: report zero available if metadata are exhausted
        btrfs: preallocate path for snapshot creation at ioctl time
        btrfs: allocate root item at snapshot ioctl time
        btrfs: do an allocation earlier during snapshot creation
        btrfs: use smaller type for btrfs_path locks
        btrfs: use smaller type for btrfs_path lowest_level
        btrfs: use smaller type for btrfs_path reada
        btrfs: cleanup, use enum values for btrfs_path reada
        btrfs: constify static arrays
        btrfs: constify remaining structs with function pointers
        btrfs tests: replace whole ops structure for free space tests
        btrfs: use list_for_each_entry* in backref.c
        btrfs: use list_for_each_entry_safe in free-space-cache.c
        btrfs: use list_for_each_entry* in check-integrity.c
        Btrfs: use linux/sizes.h to represent constants
        btrfs: cleanup, remove stray return statements
        btrfs: zero out delayed node upon allocation
        btrfs: pass proper enum type to start_transaction()
        ...
      c1a198d9
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 48f58ba9
      Linus Torvalds 提交于
      Pull more networking fixes from David Miller:
      
       1) Fix brcmfmac build with older gcc, from Arend van Spriel.
      
       2) IRQ values unintentionally truncated to u8 in mlx5 driver, from
          Doron Tsur.
      
       3) Fix build warnings wrt tcp cgroup changes, from Geert Uytterhoeven.
      
       4) Limit deep recursion in ovs stack, from Hannes Frederic Sowa.
      
       5) at803x phy driver bug fixes from, Martin Blumenstingl.
      
       6) Fix TSO handling in hns driver, from Daode Huang
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (22 commits)
        ovs: limit ovs recursions in ovs_execute_actions to not corrupt stack
        team: Replace rcu_read_lock with a mutex in team_vlan_rx_kill_vid
        net: hns: bug fix about hisilicon TSO BD mode
        brcmfmac: fix BRCMF_FW_NVRAM_DEF macro for older gcc compilers
        net: phy: at803x: Add the interrupt register bit definitions
        net: phy: at803x: Clean up duplicate register definitions
        net: phy: at803x: Allow specifying the RGMII RX clock delay via phy mode
        net: phy: at803x: Don't set gbit features for the AR8030 phy
        arm64: bpf: add extra pass to handle faulty codegen
        arm64: insn: remove BUG_ON from codegen
        sctp: the temp asoc's transports should not be hashed/unhashed
        net/mlx5_core: Fix trimming down IRQ number
        tcp_memcontrol: Forward declare cgroup_subsys and mem_cgroup stucts
        batman-adv: Drop immediate orig_node free function
        batman-adv: Drop immediate batadv_hard_iface free function
        batman-adv: Drop immediate neigh_ifinfo free function
        batman-adv: Drop immediate batadv_hardif_neigh_node free function
        batman-adv: Drop immediate batadv_neigh_node free function
        batman-adv: Drop immediate batadv_orig_ifinfo free function
        batman-adv: Avoid recursive call_rcu for batadv_nc_node
        ...
      48f58ba9
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide · 7f36f1b2
      Linus Torvalds 提交于
      Pull IDE updates from David Miller:
       "Just a few small changes this merge window, marking ops const, printf
        string type fixes, etc"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
        drivers/ide: make ide-scan-pci.c driver explicitly non-modular
        ide: constify ide_dma_ops structures
        ide: silence some underflow warnings
      7f36f1b2
    • L
      Merge tag 'rtc-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · c38dec71
      Linus Torvalds 提交于
      Pull RTC updates from Alexandre Belloni:
       "Core:
         - fix module reference count in rtc-proc
         - Replace simple_strtoul by kstrtoul
      
        New driver:
         - Epson RX8010SJ
      
        Subsystem wide cleanups:
         - use %ph for short hex dumps
         - constify *_chip_ops structures
      
        Drivers:
         - abx80x: Microcrystal rv1805 support, alarm support
         - cmos: prevent kernel warning on IRQ flags mismatch
         - s5m: various cleanups
         - rv8803: rx8900 compatibility, small error path fix
         - sunxi: various cleanups
         - lpc32xx: remove irq > NR_IRQS check from probe()
         - imxdi: fix spelling mistake in warning message
         - ds1685: don't try to micromanage sysfs output size
         - da9063: avoid writing undefined data to rtc
         - gemini: Remove unnecessary platform_set_drvdata()
         - efi: add efi_procfs in efi_rtc_ops
         - pcf8523: refuse to write dates later than 2099"
      
      * tag 'rtc-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (24 commits)
        rtc: cmos: prevent kernel warning on IRQ flags mismatch
        rtc: rtc-ds2404: constify ds2404_chip_ops structures
        rtc: s5m: Make register configuration per S2MPS device to remove exceptions
        rtc: s5m: Add separate field for storing auto-cleared mask in register config
        rtc: s5m: Cleanup by removing useless 'rtc' prefix from fields
        rtc: Replace simple_strtoul by kstrtoul
        rtc: abx80x: add alarm support
        rtc: abx80x: Add Microcrystal rv1805 support
        rtc: v3020: constify v3020_chip_ops structures
        rtc: rv8803: Extend compatibility with the rx8900
        rtc: rv8803: fix handling return value of i2c_smbus_read_byte_data
        rtc: Add Epson RX8010SJ RTC driver
        rtc: lpc32xx: remove irq > NR_IRQS check from probe()
        rtc: imxdi: fix spelling mistake in warning message
        rtc: ds1685: don't try to micromanage sysfs output size
        rtc: use %ph for short hex dumps
        rtc: da9063: avoid writing undefined data to rtc
        rtc: sunxi: use of_device_get_match_data
        rtc: sunxi: constify the data_year_param structure
        rtc: sunxi: fix signedness issues
        ...
      c38dec71
    • L
      Merge tag 'fbdev-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux · d43fb9f3
      Linus Torvalds 提交于
      Pull fbdev updates from Tomi Valkeinen:
       "Summary:
      
         - pxafb: device-tree support
         - An unsafe kernel parameter 'lockless_register_fb' for debugging
           problems happening while inside the console lock
         - Small miscellaneous fixes & cleanups
         - omapdss: add writeback support functions
         - Separation of omapfb and omapdrm (see below)
      
        About the separation of omapfb and omapdrm, see
      
          http://permalink.gmane.org/gmane.comp.video.dri.devel/143151
      
        for longer story.  The short version:
      
        omapfb and omapdrm have shared low level drivers (omapdss and panel
        drivers), making further development of omapdrm difficult.  After
        these patches omapfb and omapdrm have their own versions of the
        drivers, which are more or less direct copies for now but will diverge
        soon.
      
        This also means that omapfb (everything under drivers/video/fbdev/omap2/)
        is now in maintenance mode, and all new development will be done for
        omapdrm (drivers/gpu/drm/omapdrm/)"
      
      * tag 'fbdev-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (49 commits)
        video: fbdev: pxafb: fix out of memory error path
        drm/omap: make omapdrm select OMAP2_DSS
        drm/omap: move omapdss & displays under omapdrm
        omapfb: move vrfb into omapfb
        omapfb: take omapfb's private omapdss into use
        omapfb/displays: change CONFIG_DISPLAY_* to CONFIG_FB_OMAP2_*
        omapfb/dss: change CONFIG_OMAP* to CONFIG_FB_OMAP*
        omapdss: remove CONFIG_OMAP2_DSS_VENC from omapdss.h
        omapfb: copy omapdss & displays for omapfb
        omapfb: allow compilation only if DRM_OMAP is disabled
        fbdev: omap2: panel-dpi: simplify gpio setting
        fbdev: omap2: panel-dpi: in .disable first disable backlight then display
        OMAPDSS: DSS: fix a warning message
        video: omapdss: delete unneeded of_node_put
        OMAPDSS: DISPC: Remove boolean comparisons
        OMAPDSS: DSI: cleanup DSI_IRQ_ERROR_MASK define
        OMAPDSS: remove extra out == NULL checks
        OMAPDSS: change internal dispc functions to static
        OMAPDSS: make a two dss feat funcs internal to omapdss
        OMAPDSS: remove extra EXPORT_SYMBOLs
        ...
      d43fb9f3
    • C
      numa: remove stale node_has_online_mem() define · 00d27c63
      Chris Metcalf 提交于
      This isn't used anywhere, so delete it.
      
      Looks like the last usage (in x86-specific code) was removed by Tejun
      in 2011 in commit bd6709a9 ("x86, NUMA: Make 32bit use common NUMA
      init path").
      Signed-off-by: NChris Metcalf <cmetcalf@ezchip.com>
      00d27c63
    • C
      arch/tile: move user_exit() to early kernel entry sequence · 1bb50cad
      Chris Metcalf 提交于
      This ensures that we always notify context tracking that we
      have exited from user space no matter how we enter the kernel.
      It is similar to how arm64 handles context tracking, for example.
      
      This allows the removal of all the exception_enter() calls that
      were added in commit 49e4e156 ("tile: support CONTEXT_TRACKING and
      thus NOHZ_FULL").
      Signed-off-by: NChris Metcalf <cmetcalf@ezchip.com>
      1bb50cad