23 Aug, 2012

4 commits

  • Pull drm fixes from Dave Airlie:
    "Intel: edid fixes, power consumption fix, s/r fix, haswell fix

    Radeon: BIOS loading fixes for UEFI and Thunderbolt machines, better
    MSAA validation, lockup timeout fixes, modesetting fixes

    One udl dpms fix, one vmwgfx fix, a couple of trivial core changes.

    There is an export added to ACPI as part of the radeon bios fixes.

    I've also included the fbcon flashing cursor vs deinit race fix, that
    seems the simplest place to start"

    Trivial conflict in drivers/video/console/fbcon.c due to me having
    already applied the fbcon flashing cursor vs deinit race fix, and Dave
    had added a comment in there too.

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (22 commits)
    fbcon: fix race condition between console lock and cursor timer (v1.1)
    drm: Add missing static storage class specifiers in drm_proc.c file
    drm/udl: dpms off the crtc when disabled.
    drm: Remove two unused fields from struct drm_display_mode
    drm: stop vmgfx driver explosion
    drm/radeon/ss: use num_crtc rather than hardcoded 6
    Revert "drm/radeon: fix bo creation retry path"
    drm/i915: use hsw rps tuning values everywhere on gen6+
    drm/radeon: split ATRM support out from the ATPX handler (v3)
    drm/radeon: convert radeon vfct code to use acpi_get_table_with_size
    ACPI: export symbol acpi_get_table_with_size
    drm/radeon: implement ACPI VFCT vbios fetch (v3)
    drm/radeon/kms: extend the Fujitsu D3003-S2 board connector quirk to cover later silicon stepping
    drm/radeon: fix checking of MSAA renderbuffers on r600-r700
    drm/radeon: allow CMASK and FMASK in the CS checker on r600-r700
    drm/radeon: init lockup timeout on ring init
    drm/radeon: avoid turning off spread spectrum for used pll
    drm/i915: fall back to bit-banging if GMBUS fails in CRT EDID reads
    drm/i915: extract connector update from intel_ddc_get_modes() for reuse
    drm/i915: fix hsw uncached pte
    ...

    Linus Torvalds
     
  • Pull SCSI target fixes from Nicholas Bellinger:
    "The executive summary includes:

    - Post-merge review comments for tcm_vhost (MST + nab)
    - Avoid debugging overhead when not debugging for tcm-fc(FCoE) (MDR)
    - Fix NULL pointer dereference bug on alloc_page failulre (Yi Zou)
    - Fix REPORT_LUNs regression bug with pSCSI export (AlexE + nab)
    - Fix regression bug with handling of zero-length data CDBs (nab)
    - Fix vhost_scsi_target structure alignment (MST)

    Thanks again to everyone who contributed a bugfix patch, gave review
    feedback on tcm_vhost code, and/or reported a bug during their own
    testing over the last weeks.

    There is one other outstanding bug reported by Roland recently related
    to SCSI transfer length overflow handling, for which the current
    proposed bugfix has been left in queue pending further testing with
    other non iscsi-target based fabric drivers.

    As the patch is verified with loopback (local SGL memory from SCSI
    LLD) + tcm_qla2xxx (TCM allocated SGL memory mapped to PCI HW) fabric
    ports, it will be included into the next 3.6-rc-fixes PULL request."

    * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    target: Remove unused se_cmd.cmd_spdtl
    tcm_fc: rcu_deref outside rcu lock/unlock section
    tcm_vhost: Fix vhost_scsi_target structure alignment
    target: Fix regression bug with handling of zero-length data CDBs
    target/pscsi: Fix bug with REPORT_LUNs handling for SCSI passthrough
    tcm_vhost: Change vhost_scsi_target->vhost_wwpn to char *
    target: fix NULL pointer dereference bug alloc_page() fails to get memory
    tcm_fc: Avoid debug overhead when not debugging
    tcm_vhost: Post-merge review changes requested by MST
    tcm_vhost: Fix incorrect IS_ERR() usage in vhost_scsi_map_iov_to_sgl

    Linus Torvalds
     
  • Pull NFS client bugfixes from Trond Myklebust:
    - NFSv3 mounts need to fail if the FSINFO rpc call fails
    - Ensure that the NFS commit cache gets torn down when we unload the
    NFS module.
    - Fix memory scribble issues when interrupting a LAYOUTGET rpc call
    - Fix NFSv4 legacy idmapper regressions
    - Fix issues with the NFSv4 getacl command
    - Fix a regression when using the legacy "mount -t nfs4"

    * tag 'nfs-for-3.6-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    NFSv3: Ensure that do_proc_get_root() reports errors correctly
    NFSv4: Ensure that nfs4_alloc_client cleans up on error.
    NFS: return -ENOKEY when the upcall fails to map the name
    NFS: Clear key construction data if the idmap upcall fails
    NFSv4: Don't use private xdr_stream fields in decode_getacl
    NFSv4: Fix the acl cache size calculation
    NFSv4: Fix pointer arithmetic in decode_getacl
    NFS: Alias the nfs module to nfs4
    NFS: Fix a regression when loading the NFS v4 module
    NFSv4.1: Remove a bogus BUG_ON() in nfs4_layoutreturn_done
    pnfs-obj: Better IO pattern in case of unaligned offset
    NFS41: add pg_layout_private to nfs_pageio_descriptor
    pnfs: nfs4_proc_layoutget returns void
    pnfs: defer release of pages in layoutget
    nfs: tear down caches in nfs_init_writepagecache when allocation fails

    Linus Torvalds
     
  • Pull assorted fixes - mostly vfs - from Al Viro:
    "Assorted fixes, with an unexpected detour into vfio refcounting logics
    (fell out when digging in an analog of eventpoll race in there)."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    task_work: add a scheduling point in task_work_run()
    fs: fix fs/namei.c kernel-doc warnings
    eventpoll: use-after-possible-free in epoll_create1()
    vfio: grab vfio_device reference *before* exposing the sucker via fd_install()
    vfio: get rid of vfio_device_put()/vfio_group_get_device* races
    vfio: get rid of open-coding kref_put_mutex
    introduce kref_put_mutex()
    vfio: don't dereference after kfree...
    mqueue: lift mnt_want_write() outside ->i_mutex, clean up a bit

    Linus Torvalds
     

22 Aug, 2012

10 commits

  • equivalent of
    mutex_lock(mutex);
    if (!kref_put(kref, release))
    mutex_unlock(mutex);

    Signed-off-by: Al Viro

    Al Viro
     
  • Merge fixes from Andrew Morton.

    Random drivers and some VM fixes.

    * emailed patches from Andrew Morton : (17 commits)
    mm: compaction: Abort async compaction if locks are contended or taking too long
    mm: have order > 0 compaction start near a pageblock with free pages
    rapidio/tsi721: fix unused variable compiler warning
    rapidio/tsi721: fix inbound doorbell interrupt handling
    drivers/rtc/rtc-rs5c348.c: fix hour decoding in 12-hour mode
    mm: correct page->pfmemalloc to fix deactivate_slab regression
    drivers/rtc/rtc-pcf2123.c: initialize dynamic sysfs attributes
    mm/compaction.c: fix deferring compaction mistake
    drivers/misc/sgi-xp/xpc_uv.c: SGI XPC fails to load when cpu 0 is out of IRQ resources
    string: do not export memweight() to userspace
    hugetlb: update hugetlbpage.txt
    checkpatch: add control statement test to SINGLE_STATEMENT_DO_WHILE_MACRO
    mm: hugetlbfs: correctly populate shared pmd
    cciss: fix incorrect scsi status reporting
    Documentation: update mount option in filesystem/vfat.txt
    mm: change nr_ptes BUG_ON to WARN_ON
    cs5535-clockevt: typo, it's MFGPT, not MFPGT

    Linus Torvalds
     
  • Pull networking update from David Miller:
    "A couple weeks of bug fixing in there. The largest chunk is all the
    broken crap Amerigo Wang found in the netpoll layer."

    1) netpoll and it's users has several serious bugs:
    a) uses GFP_KERNEL with locks held
    b) interfaces requiring interrupts disabled are called with them
    enabled
    c) and vice versa
    d) VLAN tag demuxing, as per all other RX packet input paths, is not
    applied

    All from Amerigo Wang.

    2) Hopefully cure the ipv4 mapped ipv6 address TCP early demux bugs for
    good, from Neal Cardwell.

    3) Unlike AF_UNIX, AF_PACKET sockets don't set a default credentials
    when the user doesn't specify one explicitly during sendmsg().
    Instead we attach an empty (zero) SCM credential block which is
    definitely not what we want. Fix from Eric Dumazet.

    4) IPv6 illegally invokes netdevice notifiers with RCU lock held, fix
    from Ben Hutchings.

    5) inet_csk_route_child_sock() checks wrong inet options pointer, fix
    from Christoph Paasch.

    6) When AF_PACKET is used for transmit, packet loopback doesn't behave
    properly when a socket fanout is enabled, from Eric Leblond.

    7) On bluetooth l2cap channel create failure, we leak the socket, from
    Jaganath Kanakkassery.

    8) Fix all the netprio file handling bugs found by Al Viro, from John
    Fastabend.

    9) Several error return and NULL deref bug fixes in networking drivers
    from Julia Lawall.

    10) A large smattering of struct padding et al. kernel memory leaks to
    userspace found of Mathias Krause.

    11) Conntrack expections in netfilter can access an uninitialized timer,
    fix from Pablo Neira Ayuso.

    12) Several netfilter SIP tracker bug fixes from Patrick McHardy.

    13) IPSEC ipv6 routes are not initialized correctly all the time,
    resulting in an OOPS in inet_putpeer(). Also from Patrick McHardy.

    14) Bridging does rcu_dereference() outside of RCU protected area, from
    Stephen Hemminger.

    15) Fix routing cache removal performance regression when looking up
    output routes that have a local destination. From Zheng Yan.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (87 commits)
    af_netlink: force credentials passing [CVE-2012-3520]
    ipv4: fix ip header ident selection in __ip_make_skb()
    ipv4: Use newinet->inet_opt in inet_csk_route_child_sock()
    tcp: fix possible socket refcount problem
    net: tcp: move sk_rx_dst_set call after tcp_create_openreq_child()
    net/core/dev.c: fix kernel-doc warning
    netconsole: remove a redundant netconsole_target_put()
    net: ipv6: fix oops in inet_putpeer()
    net/stmmac: fix issue of clk_get for Loongson1B.
    caif: Do not dereference NULL in chnl_recv_cb()
    af_packet: don't emit packet on orig fanout group
    drivers/net/irda: fix error return code
    drivers/net/wan/dscc4.c: fix error return code
    drivers/net/wimax/i2400m/fw.c: fix error return code
    smsc75xx: add missing entry to MAINTAINERS
    net: qmi_wwan: new devices: UML290 and K5006-Z
    net: sh_eth: Add eth support for R8A7779 device
    netdev/phy: skip disabled mdio-mux nodes
    dt: introduce for_each_available_child_of_node, of_get_next_available_child
    net: netprio: fix cgrp create and write priomap race
    ...

    Linus Torvalds
     
  • Jim Schutt reported a problem that pointed at compaction contending
    heavily on locks. The workload is straight-forward and in his own words;

    The systems in question have 24 SAS drives spread across 3 HBAs,
    running 24 Ceph OSD instances, one per drive. FWIW these servers
    are dual-socket Intel 5675 Xeons w/48 GB memory. I've got ~160
    Ceph Linux clients doing dd simultaneously to a Ceph file system
    backed by 12 of these servers.

    Early in the test everything looks fine

    procs -------------------memory------------------ ---swap-- -----io---- --system-- -----cpu-------
    r b swpd free buff cache si so bi bo in cs us sy id wa st
    31 15 0 287216 576 38606628 0 0 2 1158 2 14 1 3 95 0 0
    27 15 0 225288 576 38583384 0 0 18 2222016 203357 134876 11 56 17 15 0
    28 17 0 219256 576 38544736 0 0 11 2305932 203141 146296 11 49 23 17 0
    6 18 0 215596 576 38552872 0 0 7 2363207 215264 166502 12 45 22 20 0
    22 18 0 226984 576 38596404 0 0 3 2445741 223114 179527 12 43 23 22 0

    and then it goes to pot

    procs -------------------memory------------------ ---swap-- -----io---- --system-- -----cpu-------
    r b swpd free buff cache si so bi bo in cs us sy id wa st
    163 8 0 464308 576 36791368 0 0 11 22210 866 536 3 13 79 4 0
    207 14 0 917752 576 36181928 0 0 712 1345376 134598 47367 7 90 1 2 0
    123 12 0 685516 576 36296148 0 0 429 1386615 158494 60077 8 84 5 3 0
    123 12 0 598572 576 36333728 0 0 1107 1233281 147542 62351 7 84 5 4 0
    622 7 0 660768 576 36118264 0 0 557 1345548 151394 59353 7 85 4 3 0
    223 11 0 283960 576 36463868 0 0 46 1107160 121846 33006 6 93 1 1 0

    Note that system CPU usage is very high blocks being written out has
    dropped by 42%. He analysed this with perf and found

    perf record -g -a sleep 10
    perf report --sort symbol --call-graph fractal,5
    34.63% [k] _raw_spin_lock_irqsave
    |
    |--97.30%-- isolate_freepages
    | compaction_alloc
    | unmap_and_move
    | migrate_pages
    | compact_zone
    | compact_zone_order
    | try_to_compact_pages
    | __alloc_pages_direct_compact
    | __alloc_pages_slowpath
    | __alloc_pages_nodemask
    | alloc_pages_vma
    | do_huge_pmd_anonymous_page
    | handle_mm_fault
    | do_page_fault
    | page_fault
    | |
    | |--87.39%-- skb_copy_datagram_iovec
    | | tcp_recvmsg
    | | inet_recvmsg
    | | sock_recvmsg
    | | sys_recvfrom
    | | system_call
    | | __recv
    | | |
    | | --100.00%-- (nil)
    | |
    | --12.61%-- memcpy
    --2.70%-- [...]

    There was other data but primarily it is all showing that compaction is
    contended heavily on the zone->lock and zone->lru_lock.

    commit [b2eef8c0: mm: compaction: minimise the time IRQs are disabled
    while isolating pages for migration] noted that it was possible for
    migration to hold the lru_lock for an excessive amount of time. Very
    broadly speaking this patch expands the concept.

    This patch introduces compact_checklock_irqsave() to check if a lock
    is contended or the process needs to be scheduled. If either condition
    is true then async compaction is aborted and the caller is informed.
    The page allocator will fail a THP allocation if compaction failed due
    to contention. This patch also introduces compact_trylock_irqsave()
    which will acquire the lock only if it is not contended and the process
    does not need to schedule.

    Reported-by: Jim Schutt
    Tested-by: Jim Schutt
    Signed-off-by: Mel Gorman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     
  • Fix the following warning:

    usr/include/linux/string.h:8: userspace cannot reference function or variable defined in the kernel

    Signed-off-by: WANG Cong
    Acked-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    WANG Cong
     
  • Signed-off-by: Damien Lespiau
    Reviewed-by: Jani Nikula
    Signed-off-by: Dave Airlie

    Damien Lespiau
     
  • Pablo Neira Ayuso discovered that avahi and
    potentially NetworkManager accept spoofed Netlink messages because of a
    kernel bug. The kernel passes all-zero SCM_CREDENTIALS ancillary data
    to the receiver if the sender did not provide such data, instead of not
    including any such data at all or including the correct data from the
    peer (as it is the case with AF_UNIX).

    This bug was introduced in commit 16e572626961
    (af_unix: dont send SCM_CREDENTIALS by default)

    This patch forces passing credentials for netlink, as
    before the regression.

    Another fix would be to not add SCM_CREDENTIALS in
    netlink messages if not provided by the sender, but it
    might break some programs.

    With help from Florian Weimer & Petr Matousek

    This issue is designated as CVE-2012-3520

    Signed-off-by: Eric Dumazet
    Cc: Petr Matousek
    Cc: Florian Weimer
    Cc: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • This was originally for helping fabrics to determine overflow/underflow
    status, and has been superceeded by SCF_OVERFLOW_BIT + SCF_UNDERFLOW_BIT.

    Signed-off-by: Roland Dreier
    Signed-off-by: Nicholas Bellinger

    Roland Dreier
     
  • …git/linusw/linux-pinctrl

    Pull pin control fixes from Linus Walleij:
    - Fixed Nomadik errorpath
    - Fixed documentation spelling errors
    - Forward-declare struct device in a header file
    - Remove some extraneous code lines when getting pinctrl states
    - Correct the i.MX51 configure register number
    - Fix the Nomadik keypad function group list

    * tag 'pinctrl-fixes-v3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
    pinctrl/nomadik: add kp_b_2 keyboard function group list
    pinctrl: imx51: fix .conf_reg of MX51_PAD_SD2_CMD__CSPI_MOSI
    trivial: pinctrl core: remove extraneous code lines
    pinctrl: header: trivial: declare struct device
    Documentation/pinctrl.txt: Fix some misspelled macros
    pinctrl/nomadik: fix null in irqdomain errorpath

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "This update became slightly bigger than usual for rc3, but most of the
    commits are small and trivial. A large chunk is found for HD-audio
    ca0132 codec, which is mostly a clean up of the specific code, to make
    SPDIF working properly, and also in the new ASoC Arizona driver.

    One important fix is for usb-audio Oops fix since 3.5. We still see
    some EHCI related bandwidth problem, but usb-audio should be more
    stabilized now.

    Other than that, a Kconfig fix is spread over files, and various
    HD-audio and ASoC fixes as usual, in addition to Julia's error path
    fixes."

    * tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (42 commits)
    ALSA: snd-als100: fix suspend/resume
    ALSA: hda - Fix leftover codec->power_transition
    ALSA: hda - don't create dysfunctional mixer controls for ca0132
    ALSA: sound/ppc/snd_ps3.c: fix error return code
    ALSA: sound/pci/rme9652/hdspm.c: fix error return code
    ALSA: sound/pci/sis7019.c: fix error return code
    ALSA: sound/pci/ctxfi/ctatc.c: fix error return code
    ALSA: sound/atmel/ac97c.c: fix error return code
    ALSA: sound/atmel/abdac.c: fix error return code
    ALSA: fix pcm.h kernel-doc warning and notation
    sound: oss/sb_audio: prevent divide by zero bug
    ASoC: wm9712: Fix inverted capture volume
    ASoC: wm9712: Fix microphone source selection
    ASoC: wm5102: Remove DRC2
    ALSA: hda - Don't send invalid volume knob command on IDT 92hd75bxx
    ALSA: usb-audio: Fix scheduling-while-atomic bug in PCM capture stream
    ALSA: lx6464es: Add a missing error check
    ALSA: hda - Fix 'Beep Playback Switch' with no underlying mute switch
    ASoC: jack: Always notify full jack status
    ASoC: wm5110: Add missing input PGA routes
    ...

    Linus Torvalds
     

21 Aug, 2012

3 commits


20 Aug, 2012

5 commits

  • Commit 97bab73f (inet: Hide route peer accesses behind helpers.) introduced
    a bug in xfrm6_policy_destroy(). The xfrm_dst's _rt6i_peer member is not
    initialized, causing a false positive result from inetpeer_ptr_is_peer(),
    which in turn causes a NULL pointer dereference in inet_putpeer().

    Pid: 314, comm: kworker/0:1 Not tainted 3.6.0-rc1+ #17 To Be Filled By O.E.M. To Be Filled By O.E.M./P4S800D-X
    EIP: 0060:[] EFLAGS: 00010246 CPU: 0
    EIP is at inet_putpeer+0xe/0x16
    EAX: 00000000 EBX: f3481700 ECX: 00000000 EDX: 000dd641
    ESI: f3481700 EDI: c05e949c EBP: f551def4 ESP: f551def4
    DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
    CR0: 8005003b CR2: 00000070 CR3: 3243d000 CR4: 00000750
    DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
    DR6: ffff0ff0 DR7: 00000400
    f551df04 c0423de1 00000000 f3481700 f551df18 c038d5f7 f254b9f8 f551df28
    f34f85d8 f551df20 c03ef48d f551df3c c0396870 f30697e8 f24e1738 c05e98f4
    f5509540 c05cd2b4 f551df7c c0142d2b c043feb5 f5509540 00000000 c05cd2e8
    [] xfrm6_dst_destroy+0x42/0xdb
    [] dst_destroy+0x1d/0xa4
    [] xfrm_bundle_flo_delete+0x2b/0x36
    [] flow_cache_gc_task+0x85/0x9f
    [] process_one_work+0x122/0x441
    [] ? apic_timer_interrupt+0x31/0x38
    [] ? flow_cache_new_hashrnd+0x2b/0x2b
    [] worker_thread+0x113/0x3cc

    Fix by adding a init_dst() callback to struct xfrm_policy_afinfo to
    properly initialize the dst's peer pointer.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • Pable Neira Ayuso says:

    ====================
    The following five patches contain fixes for 3.6-rc, they are:

    * Two fixes for message parsing in the SIP conntrack helper, from
    Patrick McHardy.

    * One fix for the SIP helper introduced in the user-space cthelper
    infrastructure, from Patrick McHardy.

    * fix missing appropriate locking while modifying one conntrack entry
    from the nfqueue integration code, from myself.

    * fix possible access to uninitiliazed timer in the nf_conntrack
    expectation infrastructure, from myself.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • If a packet is emitted on one socket in one group of fanout sockets,
    it is transmitted again. It is thus read again on one of the sockets
    of the fanout group. This result in a loop for software which
    generate packets when receiving one.
    This retransmission is not the intended behavior: a fanout group
    must behave like a single socket. The packet should not be
    transmitted on a socket if it originates from a socket belonging
    to the same fanout group.

    This patch fixes the issue by changing the transmission check to
    take fanout group info account.

    Reported-by: Aleksandr Kotov
    Signed-off-by: Eric Leblond
    Signed-off-by: David S. Miller

    Eric Leblond
     
  • Macro for_each_child_of_node() makes it easy to iterate over all of the
    children for a given device tree node, including those nodes that are
    marked as unavailable (i.e. status = "disabled").

    Introduce for_each_available_child_of_node(), which is like
    for_each_child_of_node(), but it automatically skips unavailable nodes.
    This also requires the introduction of helper function
    of_get_next_available_child(), which returns the next available child
    node.

    Signed-off-by: Timur Tabi
    Signed-off-by: David S. Miller

    Timur Tabi
     
  • Fix kernel-doc warning in and add function name to make
    the kernel-doc notation complete.

    Warning(include/sound/pcm.h:1081): No description found for parameter 'substream'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Takashi Iwai

    Randy Dunlap
     

18 Aug, 2012

1 commit

  • Pull staging fixes from Greg Kroah-Hartman:
    "Here are some staging driver fixes (and iio driver fixes, they get
    lumped in with the staging stuff due to dependancies) for your 3.6-rc3
    tree.

    Nothing major, just a bunch of fixes that people have reported.

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'staging-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (26 commits)
    iio: lm3533-als: Fix build warnings
    staging:iio:ad7780: Mark channels as unsigned
    staging:iio:ad7192: Report offset and scale for temperature channel
    staging:iio:ad7192: Report channel offset
    staging:iio:ad7192: Mark channels as unsigned
    staging:iio:ad7192: Fix setting ACX
    staging:iio:ad7192: Add missing break in switch statement
    staging:iio:ad7793: Fix internal reference value
    staging:iio:ad7793: Follow new IIO naming spec
    staging:iio:ad7793: Fix temperature scale and offset
    staging:iio:ad7793: Report channel offset
    staging:iio:ad7793: Mark channels as unsigned
    staging:iio:ad7793: Add missing break in switch statement
    iio/adjd_s311: Fix potential memory leak in adjd_s311_update_scan_mode()
    iio: frequency: ADF4350: Fix potential reference div factor overflow.
    iio: staging: ad7298_ring: Fix maybe-uninitialized warning
    staging: comedi: usbduxfast: Declare MODULE_FIRMWARE usage
    staging: comedi: usbdux: Declare MODULE_FIRMWARE usage
    staging: comedi: usbduxsigma: Declare MODULE_FIRMWARE usage
    staging: csr: add INET dependancy
    ...

    Linus Torvalds
     

17 Aug, 2012

5 commits


15 Aug, 2012

9 commits

  • llc_station_init() creates and processes an event skb with no effect
    other than to change the state from DOWN to UP. Allocation failure is
    reported, but then ignored by its caller, llc2_init(). Remove this
    possibility by simply initialising the state as UP.

    Signed-off-by: Ben Hutchings
    Signed-off-by: David S. Miller

    Ben Hutchings
     
  • These functions are just boolean, let them return
    bool instead of int.

    Cc: David Miller
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Amerigo Wang
     
  • Although this doesn't matter actually, because netpoll_tx_running()
    doesn't use the parameter, the code will be more readable.

    For team_dev_queue_xmit() we have to move it down to avoid
    compile errors.

    Cc: David Miller
    Signed-off-by: Jiri Pirko
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Amerigo Wang
     
  • This patch fixes several problems in the call path of
    netpoll_send_skb_on_dev():

    1. Disable IRQ's before calling netpoll_send_skb_on_dev().

    2. All the callees of netpoll_send_skb_on_dev() should use
    rcu_dereference_bh() to dereference ->npinfo.

    3. Rename arp_reply() to netpoll_arp_reply(), the former is too generic.

    Cc: "David S. Miller"
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Amerigo Wang
     
  • The logic of the code is same, just call netpoll_rx_on().

    Cc: "David S. Miller"
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Amerigo Wang
     
  • In __netpoll_rx(), it dereferences ->npinfo without rcu_dereference_bh(),
    this patch fixes it by using the 'npinfo' passed from netpoll_rx()
    where it is already dereferenced with rcu_dereference_bh().

    Cc: "David S. Miller"
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Amerigo Wang
     
  • Like the previous patch, slave_disable_netpoll() and __netpoll_cleanup()
    may be called with read_lock() held too, so we should make them
    non-block, by moving the cleanup and kfree() to call_rcu_bh() callbacks.

    Cc: "David S. Miller"
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Amerigo Wang
     
  • slave_enable_netpoll() and __netpoll_setup() may be called
    with read_lock() held, so should use GFP_ATOMIC to allocate
    memory. Eric suggested to pass gfp flags to __netpoll_setup().

    Cc: Eric Dumazet
    Cc: "David S. Miller"
    Reported-by: Dan Carpenter
    Signed-off-by: Eric Dumazet
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Amerigo Wang
     
  • This reverts commit bacef661acdb634170a8faddbc1cf28e8f8b9eee.

    This commit has been found to cause serious regressions on a number of
    ASUS machines at the least. We probably need to provide a 1:1 map in
    addition to the EFI virtual memory map in order for this to work.

    Signed-off-by: H. Peter Anvin
    Reported-and-bisected-by: Jérôme Carretero
    Cc: Jan Beulich
    Cc: Matt Fleming
    Cc: Matthew Garrett
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20120805172903.5f8bb24c@zougloub.eu

    H. Peter Anvin
     

14 Aug, 2012

2 commits

  • Pull drm fixes from Dave Airlie:
    "Radeon and intel fixes mostly, one fix to the mgag200 driver to not
    hang on certain server variants."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (32 commits)
    drm/radeon: fix typo in function header comment
    drm/radeon/kms: implement timestamp userspace query (v2)
    drm/radeon/kms: add MSAA texture support for r600-evergreen
    drm/radeon/kms: reorder code in r600_check_texture_resource
    drm/radeon: fence virtual address and free it once idle v4
    drm/radeon: fix some missing parens in asic macros
    drm/radeon: add some new SI pci ids
    drm/radeon: fix ordering in pll picking on dce4+
    drm/radeon: do not reenable crtc after moving vram start address
    drm/radeon: fix bank tiling parameters on cayman
    drm/radeon: fix bank tiling parameters on evergreen
    drm/radeon: fix bank tiling parameters on SI
    drm/radeon: properly handle crtc powergating
    drm/radeon: properly handle SS overrides on TN (v2)
    drm/radeon/dce4+: set a more reasonable cursor watermark
    drm/radeon: fix handling for ddc type 5 on combios
    drm/mgag200: fix G200ER pll picking algorithm
    drm/edid: Fix potential memory leak in edid_load()
    drm/udl: Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(.. [1]
    drm/radeon/kms: allow "invalid" DB formats as a means to disable DB
    ...

    Linus Torvalds
     
  • ARM recently moved to asm-generic/mutex-xchg.h for its mutex
    implementation after the previous implementation was found to be missing
    some crucial memory barriers. However, this has revealed some problems
    running hackbench on SMP platforms due to the way in which the
    MUTEX_SPIN_ON_OWNER code operates.

    The symptoms are that a bunch of hackbench tasks are left waiting on an
    unlocked mutex and therefore never get woken up to claim it. This boils
    down to the following sequence of events:

    Task A Task B Task C Lock value
    0 1
    1 lock() 0
    2 lock() 0
    3 spin(A) 0
    4 unlock() 1
    5 lock() 0
    6 cmpxchg(1,0) 0
    7 contended() -1
    8 lock() 0
    9 spin(C) 0
    10 unlock() 1
    11 cmpxchg(1,0) 0
    12 unlock() 1

    At this point, the lock is unlocked, but Task B is in an uninterruptible
    sleep with nobody to wake it up.

    This patch fixes the problem by ensuring we put the lock into the
    contended state if we fail to acquire it on the fastpath, ensuring that
    any blocked waiters are woken up when the mutex is released.

    Signed-off-by: Will Deacon
    Cc: Arnd Bergmann
    Cc: Chris Mason
    Cc: Ingo Molnar
    Cc:
    Reviewed-by: Nicolas Pitre
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/n/tip-6e9lrw2avczr0617fzl5vqb8@git.kernel.org
    Signed-off-by: Thomas Gleixner

    Will Deacon
     

13 Aug, 2012

1 commit