26 May, 2011

7 commits

  • [2nd try ... 1st attempt didn't make it to netdev mailing list]

    A quick google search reveals that people with this card are blacklisting it
    in the initramfs and in the module blacklist based on a statement that it
    is unsupported. Since the older Digium is also unsupported I'm pretty
    confident that this newer card is also not supported.

    lspci -xxx -vv shows

    04:07.0 Communication controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
    Subsystem: Device b100:0003
    P.

    ----8
    Signed-off-by: David S. Miller

    Prarit Bhargava
     
  • On ARM, memory accesses through packed pointers behave in unexpected
    ways in GCC releases 4.3 and higher; see https://lkml.org/lkml/2011/2/2/163
    for discussion.

    In this particular case, 32-bit I/O registers are accessed bytewise,
    causing incorrect setting of the DMA address registers which in turn
    leads to an error interrupt storm that brings the system to a halt.

    Since the mac_regs structure does not need any packing anyway, this patch
    simply removes the attribute to fix the issue.

    Signed-off-by: Ulrich Hecht
    Signed-off-by: David S. Miller

    Ulrich Hecht
     
  • Konrad reports:
    [ 0.930811] RTNL: assertion failed at /home/konrad/ssd/linux/net/core/dev.c (5258)
    [ 0.930821] Pid: 22, comm: xenwatch Not tainted 2.6.39-05193-gd762f43 #1
    [ 0.930825] Call Trace:
    [ 0.930834] [] __netdev_update_features+0xae/0xe0
    [ 0.930840] [] netdev_update_features+0x11/0x30
    [ 0.930847] [] netback_changed+0x4e5/0x800 [xen_netfront]
    [ 0.930854] [] xenbus_otherend_changed+0xa8/0xb0
    [ 0.930860] [] ? _raw_spin_unlock_irqrestore+0x19/0x20
    [ 0.930866] [] backend_changed+0xe/0x10
    [ 0.930871] [] xenwatch_thread+0xba/0x180
    [ 0.930876] [] ? wake_up_bit+0x40/0x40
    [ 0.930881] [] ? split+0xf0/0xf0
    [ 0.930886] [] kthread+0x96/0xa0
    [ 0.930891] [] kernel_thread_helper+0x4/0x10
    [ 0.930896] [] ? int_ret_from_sys_call+0x7/0x1b
    [ 0.930901] [] ? retint_restore_args+0x5/0x6
    [ 0.930906] [] ? gs_change+0x13/0x13

    This update happens in xenbus watch callback context and hence does not already
    hold the rtnl. Take the lock as necessary.

    Signed-off-by: Ian Campbell
    Tested-by: Konrad Rzeszutek Wilk
    Signed-off-by: David S. Miller

    Ian Campbell
     
  • If an ASCONF chunk is outstanding, then the following ASCONF
    chunk will be queued for later transmission. But when we free
    the asoc, we forget to free the ASCONF queue at the same time,
    this will cause memory leak.

    Signed-off-by: Wei Yongjun
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • If the device passed into dev_disable_lro is a vlan, then repoint the dev
    poniter so that we actually modify the underlying physical device.

    Signed-of-by: Neil Horman
    CC: davem@davemloft.net
    CC: bhutchings@solarflare.com

    Signed-off-by: David S. Miller

    Neil Horman
     
  • Migrate is_vlan_dev() to if_vlan.h so that core networkig can use it

    Signed-off-by: Neil Horman
    CC: davem@davemloft.net
    CC: bhutchings@solarflare.com
    Signed-off-by: David S. Miller

    Neil Horman
     
  • …ville/wireless-next-2.6

    David S. Miller
     

25 May, 2011

13 commits

  • John W. Linville
     
  • Based upon an email by Joe Perches.

    Reported-by: Randy Dunlap
    Signed-off-by: David S. Miller
    Acked-by: Randy Dunlap

    David S. Miller
     
  • Fix new kernel-doc Error and Warning in :

    Error(linux-2.6.39-git5/include/net/mac80211.h:550): cannot understand prototype: 'struct ieee80211_sched_scan_ies '
    Warning(linux-2.6.39-git5/include/net/mac80211.h:2289): No description found for parameter 'sta'

    Signed-off-by: Randy Dunlap
    Signed-off-by: John W. Linville

    Randy Dunlap
     
  • Fix new kernel-doc warnings in :

    Warning(linux-2.6.39-git5/include/net/cfg80211.h:560): No description found for parameter 'bss_param'
    Warning(linux-2.6.39-git5/include/net/cfg80211.h:1555): Enum value 'WIPHY_FLAG_SUPPORTS_SCHED_SCAN' not described in enum 'wiphy_flags'

    Signed-off-by: Randy Dunlap
    Signed-off-by: John W. Linville

    Randy Dunlap
     
  • Fix compiling error when CONFIG_MAC80211_DEBUGFS is not enabled
    drivers/net/wireless/iwlwifi/iwl-agn-rs.c:351: error: 'struct iwl_lq_sta' has no member named 'dbg_fixed_rate'
    drivers/net/wireless/iwlwifi/iwl-agn-rs.c:1076: error: 'struct iwl_lq_sta' has no member named 'dbg_fixed_rate'

    Reported-by: Randy Dunlap
    Signed-off-by: Wey-Yi Guy
    Acked-by: Randy Dunlap
    Signed-off-by: John W. Linville

    Wey-Yi Guy
     
  • Catch cases where dst_metric_set() and other functions are called
    but _metrics is NULL.

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

    Stephen Hemminger
     
  • A non-zero, non-descript value is needed as the hash key. The hash variable was left un-initialized; but sometimes it gets a zero value
    and hashing is not effective. The constant value used now (not of any significance) seems to work fine.

    Signed-off-by: Sathya Perla
    Signed-off-by: David S. Miller

    Sathya Perla
     
  • bridge netfilter code uses a fake_rtable, and we must init its _metric
    field or risk NULL dereference later.

    Ref: https://bugzilla.kernel.org/show_bug.cgi?id=35672

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

    Eric Dumazet
     
  • dst_default_metrics is readonly, we dont want to kfree() it later.

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

    Eric Dumazet
     
  • Changes:
    - claim slave/data interface during bind() and release
    interfaces in unbind() unconditionally
    - in case of error during bind(), release claimed data
    interface in the same function
    - remove obsolited "*_claimed" entries from driver context

    Signed-off-by: Alexey Orishko
    Signed-off-by: David S. Miller

    Alexey Orishko
     
  • Signed-off-by: Dmitry Kravkov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Dmitry Kravkov
     
  • In igmp_group_dropped() we call ip_mc_clear_src(), which resets the number
    of source filters per mulitcast. However, igmp_group_dropped() is also
    called on NETDEV_DOWN, NETDEV_PRE_TYPE_CHANGE and NETDEV_UNREGISTER, which
    means that the group might get added back on NETDEV_UP, NETDEV_REGISTER and
    NETDEV_POST_TYPE_CHANGE respectively, leaving us with broken source
    filters.

    To fix that, we must clear the source filters only when there are no users
    in the ip_mc_list, i.e. in ip_mc_dec_group() and on device destroy.

    Acked-by: David L Stevens
    Signed-off-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    Veaceslav Falico
     
  • synchronize_rcu() is very slow in various situations (HZ=100,
    CONFIG_NO_HZ=y, CONFIG_PREEMPT=n)

    Extract from my (mostly idle) 8 core machine :

    synchronize_rcu() in 99985 us
    synchronize_rcu() in 79982 us
    synchronize_rcu() in 87612 us
    synchronize_rcu() in 79827 us
    synchronize_rcu() in 109860 us
    synchronize_rcu() in 98039 us
    synchronize_rcu() in 89841 us
    synchronize_rcu() in 79842 us
    synchronize_rcu() in 80151 us
    synchronize_rcu() in 119833 us
    synchronize_rcu() in 99858 us
    synchronize_rcu() in 73999 us
    synchronize_rcu() in 79855 us
    synchronize_rcu() in 79853 us

    When we hold RTNL mutex, we would like to spend some cpu cycles but not
    block too long other processes waiting for this mutex.

    We also want to setup/dismantle network features as fast as possible at
    boot/shutdown time.

    This patch makes synchronize_net() call the expedited version if RTNL is
    locked.

    synchronize_rcu_expedited() typical delay is about 20 us on my machine.

    synchronize_rcu_expedited() in 18 us
    synchronize_rcu_expedited() in 18 us
    synchronize_rcu_expedited() in 18 us
    synchronize_rcu_expedited() in 18 us
    synchronize_rcu_expedited() in 20 us
    synchronize_rcu_expedited() in 16 us
    synchronize_rcu_expedited() in 20 us
    synchronize_rcu_expedited() in 18 us
    synchronize_rcu_expedited() in 18 us

    Signed-off-by: Eric Dumazet
    CC: Paul E. McKenney
    CC: Ben Greear
    Reviewed-by: Paul E. McKenney
    Signed-off-by: David S. Miller

    Eric Dumazet
     

24 May, 2011

16 commits

  • The %pK format specifier is designed to hide exposed kernel pointers,
    specifically via /proc interfaces. Exposing these pointers provides an
    easy target for kernel write vulnerabilities, since they reveal the
    locations of writable structures containing easily triggerable function
    pointers. The behavior of %pK depends on the kptr_restrict sysctl.

    If kptr_restrict is set to 0, no deviation from the standard %p behavior
    occurs. If kptr_restrict is set to 1, the default, if the current user
    (intended to be a reader via seq_printf(), etc.) does not have CAP_SYSLOG
    (currently in the LSM tree), kernel pointers using %pK are printed as 0's.
    If kptr_restrict is set to 2, kernel pointers using %pK are printed as
    0's regardless of privileges. Replacing with 0's was chosen over the
    default "(null)", which cannot be parsed by userland %p, which expects
    "(nil)".

    The supporting code for kptr_restrict and %pK are currently in the -mm
    tree. This patch converts users of %p in net/ to %pK. Cases of printing
    pointers to the syslog are not covered, since this would eliminate useful
    information for postmortem debugging and the reading of the syslog is
    already optionally protected by the dmesg_restrict sysctl.

    Signed-off-by: Dan Rosenberg
    Cc: James Morris
    Cc: Eric Dumazet
    Cc: Thomas Graf
    Cc: Eugene Teo
    Cc: Kees Cook
    Cc: Ingo Molnar
    Cc: David S. Miller
    Cc: Peter Zijlstra
    Cc: Eric Paris
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Dan Rosenberg
     
  • No need to duplicate these defines now that the common Blackfin code has
    unified these for all UART devices.

    Signed-off-by: Mike Frysinger
    Cc: Samuel Ortiz
    Cc: David Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Mike Frysinger
     
  • Like ipv4, just return xfrm6_rcv_spi()'s return value directly.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • A mis-configured filter can spam the logs with lots of stack traces.

    Rate-limit the warnings and add printout of the bogus filter information.

    Original-patch-by: Ben Greear
    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     
  • Add a generic mechanism to ratelimit WARN(foo, fmt, ...) messages
    using a hidden per call site static struct ratelimit_state.

    Also add an __WARN_RATELIMIT variant to be able to use a specific
    struct ratelimit_state.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     
  • While chasing a possible net_sched bug, I found that IP fragments have
    litle chance to pass a congestioned SFQ qdisc :

    - Say SFQ qdisc is full because one flow is non responsive.
    - ip_fragment() wants to send two fragments belonging to an idle flow.
    - sfq_enqueue() queues first packet, but see queue limit reached :
    - sfq_enqueue() drops one packet from 'big consumer', and returns
    NET_XMIT_CN.
    - ip_fragment() cancel remaining fragments.

    This patch restores fairness, making sure we return NET_XMIT_CN only if
    we dropped a packet from the same flow.

    Signed-off-by: Eric Dumazet
    CC: Patrick McHardy
    CC: Jarek Poplawski
    CC: Jamal Hadi Salim
    CC: Stephen Hemminger
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Ehea will not register multicast groups in phyp if the physical
    interface is in promiscuous mode. But it should register if the
    logical port is in promiscuous mode, but the physical port is not.

    Ehea physical promiscuous mode is defined by ehea_port->promisc,
    while logical port is defined by IFF_PROMISC.

    So currently, if the user set the interface in promiscuous mode,
    IGMP will not be registred in PHYP, and PHYP will never pass
    the multicast packet to the logical port, which is bad

    So, this patch just fixes it, assuring that we register in phyp
    if the physical port is not on promiscuous mode.

    Signed-off-by: Breno Leitao
    Signed-off-by: David S. Miller

    Breno Leitao
     
  • No need to wait for a rcu grace period after list insertion.

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

    Eric Dumazet
     
  • net/ipv4/ping.c: In function ‘ping_v4_unhash’:
    net/ipv4/ping.c:140:28: warning: variable ‘hslot’ set but not used

    Signed-off-by: Eric Dumazet
    CC: Vasiliy Kulikov
    Acked-by: Vasiliy Kulikov
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
    slub: Deal with hyperthetical case of PAGE_SIZE > 2M
    slub: Remove node check in slab_free
    slub: avoid label inside conditional
    slub: Make CONFIG_DEBUG_PAGE_ALLOC work with new fastpath
    slub: Avoid warning for !CONFIG_SLUB_DEBUG
    slub: Remove CONFIG_CMPXCHG_LOCAL ifdeffery
    slub: Move debug handlign in __slab_free
    slub: Move node determination out of hotpath
    slub: Eliminate repeated use of c->page through a new page variable
    slub: get_map() function to establish map of free objects in a slab
    slub: Use NUMA_NO_NODE in get_partial
    slub: Fix a typo in config name

    Linus Torvalds
     
  • Conflicts:
    mm/slub.c

    Pekka Enberg
     
  • * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging:
    hwmon: (coretemp) Fix checkpatch errors
    hwmon: Remove pkgtemp driver
    hwmon: (coretemp) Merge pkgtemp with coretemp
    hwmon: (pmbus) Add support for Analog Devices ADM1275
    hwmon: (pmbus) Support for TI UCD90xxx series Sequencer and System Health Controllers
    hwmon: (pmbus) Add support for TI UCD9200 series of PWM System Controllers
    hwmon: (pmbus) Use device specific function to read fan configuration
    hwmon: (pmbus) Expand scope of device specific get_status function
    hwmon: (pmbus) Introduce infrastructure to detect sensors and limit registers
    hwmon: Driver for MAX16065 System Manager and compatibles
    hwmon: (sht15) add support for CRC validation
    hwmon: (sht15) add support for the status register
    hwmon: (sht15) clean-up the probe function
    hwmon: (sht15) general code clean-up
    hwmon: Add support for MAX6642

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf tools: Fix sample size bit operations
    perf tools: Fix ommitted mmap data update on remap
    watchdog: Change the default timeout and configure nmi watchdog period based on watchdog_thresh
    watchdog: Disable watchdog when thresh is zero
    watchdog: Only disable/enable watchdog if neccessary
    watchdog: Fix rounding bug in get_sample_period()
    perf tools: Propagate event parse error handling
    perf tools: Robustify dynamic sample content fetch
    perf tools: Pre-check sample size before parsing
    perf tools: Move evlist sample helpers to evlist area
    perf tools: Remove junk code in mmap size handling
    perf tools: Check we are able to read the event size on mmap

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
    b43: fix comment typo reqest -> request
    Haavard Skinnemoen has left Atmel
    cris: typo in mach-fs Makefile
    Kconfig: fix copy/paste-ism for dell-wmi-aio driver
    doc: timers-howto: fix a typo ("unsgined")
    perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c
    md, raid5: Fix spelling error in comment ('Ofcourse' --> 'Of course').
    treewide: fix a few typos in comments
    regulator: change debug statement be consistent with the style of the rest
    Revert "arm: mach-u300/gpio: Fix mem_region resource size miscalculations"
    audit: acquire creds selectively to reduce atomic op overhead
    rtlwifi: don't touch with treewide double semicolon removal
    treewide: cleanup continuations and remove logging message whitespace
    ath9k_hw: don't touch with treewide double semicolon removal
    include/linux/leds-regulator.h: fix syntax in example code
    tty: fix typo in descripton of tty_termios_encode_baud_rate
    xtensa: remove obsolete BKL kernel option from defconfig
    m68k: fix comment typo 'occcured'
    arch:Kconfig.locks Remove unused config option.
    treewide: remove extra semicolons
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (36 commits)
    HID: hid-multitouch: cosmetic changes, sort classes and devices
    HID: hid-multitouch: class MT_CLS_STANTUM is redundant with MT_CLS_CONFIDENCE
    HID: hid-multitouch: add support for Unitec panels
    HID: hid-multitouch: add support for Touch International panels
    HID: hid-multitouch: add support for GoodTouch panels
    HID: hid-multitouch: add support for CVTouch panels
    HID: hid-multitouch: add support for ActionStar panels
    HID: hiddev: fix race between hiddev_disconnect and hiddev_release
    HID: magicmouse: ignore 'ivalid report id' while switching modes
    HID: fix a crash in hid_report_raw_event() function.
    HID: hid-multitouch: add support for Elo TouchSystems 2515 IntelliTouch Plus
    HID: assorted usage updates from hut 1.12
    HID: roccat: fix actual/startup profile sysfs attribute in koneplus
    HID: hid-multitouch: Add support for Lumio panels
    HID: 'name' and 'phys' in 'struct hid_device' can never be NULL
    HID: hid-multitouch: add support for Ilitek dual-touch panel
    HID: picolcd: Avoid compile warning/error triggered by copy_from_user()
    HID: add support for Logitech G27 wheel
    HID: hiddev: fix error path in hiddev_read when interrupted
    HID: add support for Sony Navigation Controller
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/apm:
    apm-emulation: apm_mutex breaks ACK; remove it
    APM: take over maintainership

    Linus Torvalds
     

23 May, 2011

4 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (346 commits)
    ASoC: core: Don't set "(null)" as a driver name
    ALSA: hda - Use LPIB for ATI/AMD chipsets as default
    Revert "ALSA: hda - Use position_fix=3 as default for AMD chipsets"
    ASoC: Tegra: Fix compile when debugfs not enabled
    ASoC: spdif-dit: Add missing MODULE_*
    SOUND: OSS: Remove Au1550 driver.
    ALSA: hda - add Intel Panther Point HDMI codec id
    ALSA: emu10k1 - Add dB range to Bass and Treble for SB Live!
    ALSA: hda - Remove PCM mixer elements from Virtual Master of realtek
    ALSA: hda - Fix input-src parse in patch_analog.c
    ASoC: davinci-mcasp: enable ping-pong SRAM buffers
    ASoC: add iPAQ hx4700 machine driver
    ASoC: Asahi Kasei AK4641 codec driver
    ALSA: hda - Enable Realtek ALC269 codec input layer beep
    ALSA: intel8x0m: enable AMD8111 modem
    ALSA: HDA: Add jack detection for HDMI
    ALSA: sound, core, pcm_lib: fix xrun_log
    ASoC: Max98095: Move existing NULL check before pointer dereference.
    ALSA: sound, core, pcm_lib: xrun_log: log also in_interrupt
    ALSA: usb-audio - Add support for USB X-Fi S51 Pro
    ...

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Eliminate various 'set but not used' warnings
    x86, SMEP: Fix section mismatch warnings
    x86, amd: Use _safe() msr access for GartTlbWlk disable code

    Linus Torvalds
     
  • 02e352287a4 (block: rescan partitions on invalidated devices on
    -ENOMEDIA too) relocated partition rescan above explicit bd_set_size()
    to simplify condition check. As rescan_partitions() does its own bdev
    size setting, this doesn't break anything; however,
    rescan_partitions() prints out the following messages when adjusting
    bdev size, which can be confusing.

    sda: detected capacity change from 0 to 146815737856
    sdb: detected capacity change from 0 to 146815737856

    This patch restores the original order and remove the warning
    messages.

    stable: Please apply together with 02e352287a4 (block: rescan
    partitions on invalidated devices on -ENOMEDIA too).

    Signed-off-by: Tejun Heo
    Reported-by: Tony Luck
    Tested-by: Tony Luck
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Tejun Heo
     
  • * 'kvm-updates/2.6.40' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (131 commits)
    KVM: MMU: Use ptep_user for cmpxchg_gpte()
    KVM: Fix kvm mmu_notifier initialization order
    KVM: Add documentation for KVM_CAP_NR_VCPUS
    KVM: make guest mode entry to be rcu quiescent state
    KVM: x86 emulator: Make jmp far emulation into a separate function
    KVM: x86 emulator: Rename emulate_grpX() to em_grpX()
    KVM: x86 emulator: Remove unused arg from emulate_pop()
    KVM: x86 emulator: Remove unused arg from writeback()
    KVM: x86 emulator: Remove unused arg from read_descriptor()
    KVM: x86 emulator: Remove unused arg from seg_override()
    KVM: Validate userspace_addr of memslot when registered
    KVM: MMU: Clean up gpte reading with copy_from_user()
    KVM: PPC: booke: add sregs support
    KVM: PPC: booke: save/restore VRSAVE (a.k.a. USPRG0)
    KVM: PPC: use ticks, not usecs, for exit timing
    KVM: PPC: fix exit accounting for SPRs, tlbwe, tlbsx
    KVM: PPC: e500: emulate SVR
    KVM: VMX: Cache vmcs segment fields
    KVM: x86 emulator: consolidate segment accessors
    KVM: VMX: Avoid reading %rip unnecessarily when handling exceptions
    ...

    Linus Torvalds