20 Jun, 2014

1 commit

  • Thunderbolt hotplug is supposed to be handled by the firmware. But Apple
    decided to implement thunderbolt at the operating system level. The
    firmare only initializes thunderbolt devices that are present at boot
    time. This driver enables hotplug of thunderbolt of non-chained
    thunderbolt devices on Apple systems with a cactus ridge controller.

    This first patch adds the Kconfig file as well the parts of the driver
    which talk directly to the hardware (that is pci device setup, interrupt
    handling and RX/TX ring management).

    Signed-off-by: Andreas Noever
    Signed-off-by: Greg Kroah-Hartman

    Andreas Noever
     

16 Jun, 2014

4 commits

  • Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) Fix checksumming regressions, from Tom Herbert.

    2) Undo unintentional permissions changes for SCTP rto_alpha and
    rto_beta sysfs knobs, from Denial Borkmann.

    3) VXLAN, like other IP tunnels, should advertize it's encapsulation
    size using dev->needed_headroom instead of dev->hard_header_len.
    From Cong Wang.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    net: sctp: fix permissions for rto_alpha and rto_beta knobs
    vxlan: Checksum fixes
    net: add skb_pop_rcv_encapsulation
    udp: call __skb_checksum_complete when doing full checksum
    net: Fix save software checksum complete
    net: Fix GSO constants to match NETIF flags
    udp: ipv4: do not waste time in __udp4_lib_mcast_demux_lookup
    vxlan: use dev->needed_headroom instead of dev->hard_header_len
    MAINTAINERS: update cxgb4 maintainer

    Linus Torvalds
     
  • Pull more clock framework updates from Mike Turquette:
    "This contains the second half the of the clk changes for 3.16.

    They are simply fixes and code refactoring for the OMAP clock drivers.
    The sunxi clock driver changes include splitting out the one
    mega-driver into several smaller pieces and adding support for the A31
    SoC clocks"

    * tag 'clk-for-linus-3.16-part2' of git://git.linaro.org/people/mike.turquette/linux: (25 commits)
    clk: sunxi: document PRCM clock compatible strings
    clk: sunxi: add PRCM (Power/Reset/Clock Management) clks support
    clk: sun6i: Protect SDRAM gating bit
    clk: sun6i: Protect CPU clock
    clk: sunxi: Rework clock protection code
    clk: sunxi: Move the GMAC clock to a file of its own
    clk: sunxi: Move the 24M oscillator to a file of its own
    clk: sunxi: Remove calls to clk_put
    clk: sunxi: document new A31 USB clock compatible
    clk: sunxi: Implement A31 USB clock
    ARM: dts: OMAP5/DRA7: use omap5-mpu-dpll-clock capable of dealing with higher frequencies
    CLK: TI: dpll: support OMAP5 MPU DPLL that need special handling for higher frequencies
    ARM: OMAP5+: dpll: support Duty Cycle Correction(DCC)
    CLK: TI: clk-54xx: Set the rate for dpll_abe_m2x2_ck
    CLK: TI: Driver for DRA7 ATL (Audio Tracking Logic)
    dt:/bindings: DRA7 ATL (Audio Tracking Logic) clock bindings
    ARM: dts: dra7xx-clocks: Correct name for atl clkin3 clock
    CLK: TI: gate: add composite interface clock to OMAP2 only build
    ARM: OMAP2: clock: add DT boot support for cpufreq_ck
    CLK: TI: OMAP2: add clock init support
    ...

    Linus Torvalds
     
  • Pull NVMe update from Matthew Wilcox:
    "Mostly bugfixes again for the NVMe driver. I'd like to call out the
    exported tracepoint in the block layer; I believe Keith has cleared
    this with Jens.

    We've had a few reports from people who're really pounding on NVMe
    devices at scale, hence the timeout changes (and new module
    parameters), hotplug cpu deadlock, tracepoints, and minor performance
    tweaks"

    [ Jens hadn't seen that tracepoint thing, but is ok with it - it will
    end up going away when mq conversion happens ]

    * git://git.infradead.org/users/willy/linux-nvme: (22 commits)
    NVMe: Fix START_STOP_UNIT Scsi->NVMe translation.
    NVMe: Use Log Page constants in SCSI emulation
    NVMe: Define Log Page constants
    NVMe: Fix hot cpu notification dead lock
    NVMe: Rename io_timeout to nvme_io_timeout
    NVMe: Use last bytes of f/w rev SCSI Inquiry
    NVMe: Adhere to request queue block accounting enable/disable
    NVMe: Fix nvme get/put queue semantics
    NVMe: Delete NVME_GET_FEAT_TEMP_THRESH
    NVMe: Make admin timeout a module parameter
    NVMe: Make iod bio timeout a parameter
    NVMe: Prevent possible NULL pointer dereference
    NVMe: Fix the buffer size passed in GetLogPage(CDW10.NUMD)
    NVMe: Update data structures for NVMe 1.2
    NVMe: Enable BUILD_BUG_ON checks
    NVMe: Update namespace and controller identify structures to the 1.1a spec
    NVMe: Flush with data support
    NVMe: Configure support for block flush
    NVMe: Add tracepoints
    NVMe: Protect against badly formatted CQEs
    ...

    Linus Torvalds
     

15 Jun, 2014

15 commits

  • Commit 3fd091e73b81 ("[SCTP]: Remove multiple levels of msecs
    to jiffies conversions.") has silently changed permissions for
    rto_alpha and rto_beta knobs from 0644 to 0444. The purpose of
    this was to discourage users from tweaking rto_alpha and
    rto_beta knobs in production environments since they are key
    to correctly compute rtt/srtt.

    RFC4960 under section 6.3.1. RTO Calculation says regarding
    rto_alpha and rto_beta under rule C3 and C4:

    [...]
    C3) When a new RTT measurement R' is made, set

    RTTVAR
    Cc: Vlad Yasevich
    Signed-off-by: David S. Miller

    Daniel Borkmann
     
  • Tom Herbert says:

    ====================
    Fixes related to some recent checksum modifications.

    - Fix GSO constants to match NETIF flags
    - Fix logic in saving checksum complete in __skb_checksum_complete
    - Call __skb_checksum_complete from UDP if we are checksumming over
    whole packet in order to save checksum.
    - Fixes to VXLAN to work correctly with checksum complete
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Call skb_pop_rcv_encapsulation and postpull_rcsum for the Ethernet
    header to work properly with checksum complete.

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

    Tom Herbert
     
  • This function is used by UDP encapsulation protocols in RX when
    crossing encapsulation boundary. If ip_summed is set to
    CHECKSUM_UNNECESSARY and encapsulation is not set, change to
    CHECKSUM_NONE since the checksum has not been validated within the
    encapsulation. Clears csum_valid by the same rationale.

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

    Tom Herbert
     
  • In __udp_lib_checksum_complete check if checksum is being done over all
    the data (len is equal to skb->len) and if it is call
    __skb_checksum_complete instead of __skb_checksum_complete_head. This
    allows checksum to be saved in checksum complete.

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

    Tom Herbert
     
  • Geert reported issues regarding checksum complete and UDP.
    The logic introduced in commit 7e3cead5172927732f51fde
    ("net: Save software checksum complete") is not correct.

    This patch:
    1) Restores code in __skb_checksum_complete_header except for setting
    CHECKSUM_UNNECESSARY. This function may be calculating checksum on
    something less than skb->len.
    2) Adds saving checksum to __skb_checksum_complete. The full packet
    checksum 0..skb->len is calculated without adding in pseudo header.
    This value is saved in skb->csum and then the pseudo header is added
    to that to derive the checksum for validation.
    3) In both __skb_checksum_complete_header and __skb_checksum_complete,
    set skb->csum_valid to whether checksum of zero was computed. This
    allows skb_csum_unnecessary to return true without changing to
    CHECKSUM_UNNECESSARY which was done previously.
    4) Copy new csum related bits in __copy_skb_header.

    Reported-by: Geert Uytterhoeven
    Signed-off-by: Tom Herbert
    Signed-off-by: David S. Miller

    Tom Herbert
     
  • Joseph Gasparakis reported that VXLAN GSO offload stopped working with
    i40e device after recent UDP changes. The problem is that the
    SKB_GSO_* bits are out of sync with the corresponding NETIF flags. This
    patch fixes that. Also, we add BUILD_BUG_ONs in net_gso_ok for several
    GSO constants that were missing to avoid the problem in the future.

    Reported-by: Joseph Gasparakis
    Signed-off-by: Tom Herbert
    Signed-off-by: David S. Miller

    Tom Herbert
     
  • Pull more SCSI updates from James Bottomley:
    "This is just a couple of drivers (hpsa and lpfc) that got left out for
    further testing in linux-next. We also have one fix to a prior
    submission (qla2xxx sparse)"

    * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (36 commits)
    qla2xxx: fix sparse warnings introduced by previous target mode t10-dif patch
    lpfc: Update lpfc version to driver version 10.2.8001.0
    lpfc: Fix ExpressLane priority setup
    lpfc: mark old devices as obsolete
    lpfc: Fix for initializing RRQ bitmap
    lpfc: Fix for cleaning up stale ring flag and sp_queue_event entries
    lpfc: Update lpfc version to driver version 10.2.8000.0
    lpfc: Update Copyright on changed files from 8.3.45 patches
    lpfc: Update Copyright on changed files
    lpfc: Fixed locking for scsi task management commands
    lpfc: Convert runtime references to old xlane cfg param to fof cfg param
    lpfc: Fix FW dump using sysfs
    lpfc: Fix SLI4 s abort loop to process all FCP rings and under ring_lock
    lpfc: Fixed kernel panic in lpfc_abort_handler
    lpfc: Fix locking for postbufq when freeing
    lpfc: Fix locking for lpfc_hba_down_post
    lpfc: Fix dynamic transitions of FirstBurst from on to off
    hpsa: fix handling of hpsa_volume_offline return value
    hpsa: return -ENOMEM not -1 on kzalloc failure in hpsa_get_device_id
    hpsa: remove messages about volume status VPD inquiry page not supported
    ...

    Linus Torvalds
     
  • Pull more btrfs updates from Chris Mason:
    "This has a few fixes since our last pull and a new ioctl for doing
    btree searches from userland. It's very similar to the existing
    ioctl, but lets us return larger items back down to the app"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    btrfs: fix error handling in create_pending_snapshot
    btrfs: fix use of uninit "ret" in end_extent_writepage()
    btrfs: free ulist in qgroup_shared_accounting() error path
    Btrfs: fix qgroups sanity test crash or hang
    btrfs: prevent RCU warning when dereferencing radix tree slot
    Btrfs: fix unfinished readahead thread for raid5/6 degraded mounting
    btrfs: new ioctl TREE_SEARCH_V2
    btrfs: tree_search, search_ioctl: direct copy to userspace
    btrfs: new function read_extent_buffer_to_user
    btrfs: tree_search, copy_to_sk: return needed size on EOVERFLOW
    btrfs: tree_search, copy_to_sk: return EOVERFLOW for too small buffer
    btrfs: tree_search, search_ioctl: accept varying buffer
    btrfs: tree_search: eliminate redundant nr_items check

    Linus Torvalds
     
  • Pull aio fix and cleanups from Ben LaHaise:
    "This consists of a couple of code cleanups plus a minor bug fix"

    * git://git.kvack.org/~bcrl/aio-next:
    aio: cleanup: flatten kill_ioctx()
    aio: report error from io_destroy() when threads race in io_destroy()
    fs/aio.c: Remove ctx parameter in kiocb_cancel

    Linus Torvalds
     
  • Tetsuo Handa wrote:
    "Commit 62a8067a7f35 ("bio_vec-backed iov_iter") introduced an unnamed
    union inside a struct which gcc-4.4.7 cannot handle. Name the unnamed
    union as u in order to fix build failure"

    Let's do this instead: there is only one place in the entire tree that
    steps into this breakage. Anon structs and unions work in older gcc
    versions; as the matter of fact, we have those in the tree - see e.g.
    struct ieee80211_tx_info in include/net/mac80211.h

    What doesn't work is handling their initializers:

    struct {
    int a;
    union {
    int b;
    char c;
    };
    } x[2] = {{.a = 1, .c = 'a'}, {.a = 0, .b = 1}};

    is the obvious syntax for initializer, perfectly fine for C11 and
    handled correctly by gcc-4.7 or later.

    Earlier versions, though, break on it - declaration is fine and so's
    access to fields (i.e. x[0].c = 'a'; would produce the right code), but
    members of the anon structs and unions are not inserted into the right
    namespace. Tellingly, those older versions will not barf on struct {int
    a; struct {int a;};}; - looks like they just have it hacked up somewhere
    around the handling of . and -> instead of doing the right thing.

    The easiest way to deal with that crap is to turn initialization of
    those fields (in the only place where we have such initializer of
    iov_iter) into plain assignment.

    Reported-by: Tetsuo Handa
    Reported-by: Russell King
    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Pull HSI build fixes from Sebastian Reichel:
    - tighten dependency between ssi-protocol and omap-ssi to fix build
    failures with randconfig.
    - use normal module refcounting in omap driver to fix build with
    disabled module support

    * tag 'hsi-for-3.16-fixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
    hsi: omap_ssi_port: use normal module refcounting
    HSI: fix omap ssi driver dependency

    Linus Torvalds
     
  • Pull GPIO fix from Linus Walleij:
    "A first GPIO fix for the v3.16 series, this was serious since it
    blocks the OMAP boot.

    Sending you this vital fix before leaving for a short vacation so it
    does not sit collecting dust in my tree for no good reason.

    Apart from this, our v3.16 cycle looks like a good start"

    * tag 'gpio-v3.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio: of: Fix handling for deferred probe for -gpio suffix

    Linus Torvalds
     
  • Pull x86 vdso fixes from Peter Anvin:
    "Fixes for x86/vdso.

    One is a simple build fix for bigendian hosts, one is to make "make
    vdso_install" work again, and the rest is about working around a bug
    in Google's Go language -- two are documentation patches that improves
    the sample code that the Go coders took, modified, and broke; the
    other two implements a workaround that keeps existing Go binaries from
    segfaulting at least"

    * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/vdso: Fix vdso_install
    x86/vdso: Hack to keep 64-bit Go programs working
    x86/vdso: Add PUT_LE to store little-endian values
    x86/vdso/doc: Make vDSO examples more portable
    x86/vdso/doc: Rename vdso_test.c to vdso_standalone_test_x86.c
    x86, vdso: Remove one final use of htole16()

    Linus Torvalds
     
  • Pull hwmon updates from Guenter Roeck:
    - new driver for Sensirion SHTC1 humidity / temperature sensor
    - convert ltc4151 and vexpress drivers to use devm functions
    - drop generic chip detection from lm85 driver
    - avoid forward declarations in atxp1 driver
    - fix sign extensions in ina2xx driver

    * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: vexpress: Use devm helper for hwmon device registration
    hwmon: (atxp1) Avoid forward declaration
    hwmon: add support for Sensirion SHTC1 sensor
    hwmon: (ltc4151) Convert to devm_hwmon_device_register_with_groups
    hwmon: (lm85) Drop generic detection
    hwmon: (ina2xx) Cast to s16 on shunt and current regs

    Linus Torvalds
     

14 Jun, 2014

12 commits

  • Its too easy to add thousand of UDP sockets on a particular bucket,
    and slow down an innocent multicast receiver.

    Early demux is supposed to be an optimization, we should avoid spending
    too much time in it.

    It is interesting to note __udp4_lib_demux_lookup() only tries to
    match first socket in the chain.

    10 is the threshold we already have in __udp4_lib_lookup() to switch
    to secondary hash.

    Fixes: 421b3885bf6d5 ("udp: ipv4: Add udp early demux")
    Signed-off-by: Eric Dumazet
    Reported-by: David Held
    Cc: Shawn Bohrer
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • When we mirror packets from a vxlan tunnel to other device,
    the mirror device should see the same packets (that is, without
    outer header). Because vxlan tunnel sets dev->hard_header_len,
    tcf_mirred() resets mac header back to outer mac, the mirror device
    actually sees packets with outer headers

    Vxlan tunnel should set dev->needed_headroom instead of
    dev->hard_header_len, like what other ip tunnels do. This fixes
    the above problem.

    Cc: "David S. Miller"
    Cc: stephen hemminger
    Cc: Pravin B Shelar
    Signed-off-by: Cong Wang
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Cong Wang
     
  • Hari's been doing the patch submissions for a while now and he'll be
    taking over as maintainer.

    Signed-off-by: Dimitris Michailidis
    Signed-off-by: David S. Miller

    Dimitris Michailidis
     
  • "make vdso_install" installs unstripped versions of the vdso objects
    for the benefit of the debugger. This was broken by checkin:

    6f121e548f83 x86, vdso: Reimplement vdso.so preparation in build-time C

    The filenames are different now, so update the Makefile to cope.

    This still installs the 64-bit vdso as vdso64.so. We believe this
    will be okay, as the only known user is a patched gdb which is known
    to use build-ids, but if it turns out to be a problem we may have to
    add a link.

    Inspired by a patch from Sam Ravnborg.

    Acked-by: Sam Ravnborg
    Reported-by: Josh Boyer
    Tested-by: Josh Boyer
    Signed-off-by: Andy Lutomirski
    Link: http://lkml.kernel.org/r/b10299edd8ba98d17e07dafcd895b8ecf4d99eff.1402586707.git.luto@amacapital.net
    Signed-off-by: H. Peter Anvin

    Andy Lutomirski
     
  • This patch contains several fixes for Scsi START_STOP_UNIT. The previous
    code did not account for signed vs. unsigned arithmetic which resulted
    in an invalid lowest power state caculation when the device only supports
    1 power state.

    The code for Power Condition == 2 (Idle) was not following the spec. The
    spec calls for setting the device to specific power states, depending
    upon Power Condition Modifier, without accounting for the number of
    power states supported by the device.

    The code for Power Condition == 3 (Standby) was using a hard-coded '0'
    which is replaced with the macro POWER_STATE_0.

    Signed-off-by: Dan McLeran
    Reviewed-by: Vishal Verma
    Signed-off-by: Matthew Wilcox

    Dan McLeran
     
  • fcebe456 cut and pasted some code to a later point
    in create_pending_snapshot(), but didn't switch
    to the appropriate error handling for this stage
    of the function.

    Signed-off-by: Eric Sandeen
    Signed-off-by: Chris Mason

    Eric Sandeen
     
  • If this condition in end_extent_writepage() is false:

    if (tree->ops && tree->ops->writepage_end_io_hook)

    we will then test an uninitialized "ret" at:

    ret = ret < 0 ? ret : -EIO;

    The test for ret is for the case where ->writepage_end_io_hook
    failed, and we'd choose that ret as the error; but if
    there is no ->writepage_end_io_hook, nothing sets ret.

    Initializing ret to 0 should be sufficient; if
    writepage_end_io_hook wasn't set, (!uptodate) means
    non-zero err was passed in, so we choose -EIO in that case.

    Signed-of-by: Eric Sandeen

    Signed-off-by: Chris Mason

    Eric Sandeen
     
  • If tmp = ulist_alloc(GFP_NOFS) fails, we return without
    freeing the previously allocated qgroups = ulist_alloc(GFP_NOFS)
    and cause a memory leak.

    Signed-off-by: Eric Sandeen
    Signed-off-by: Chris Mason

    Eric Sandeen
     
  • Often when running the qgroups sanity test, a crash or a hang happened.
    This is because the extent buffer the test uses for the root node doesn't
    have an header level explicitly set, making it have a random level value.
    This is a problem when it's not zero for the btrfs_search_slot() calls
    the test ends up doing, resulting in crashes or hangs such as the following:

    [ 6454.127192] Btrfs loaded, debug=on, assert=on, integrity-checker=on
    (...)
    [ 6454.127760] BTRFS: selftest: Running qgroup tests
    [ 6454.127964] BTRFS: selftest: Running test_test_no_shared_qgroup
    [ 6454.127966] BTRFS: selftest: Qgroup basic add
    [ 6480.152005] BUG: soft lockup - CPU#0 stuck for 23s! [modprobe:5383]
    [ 6480.152005] Modules linked in: btrfs(+) xor raid6_pq binfmt_misc nfsd auth_rpcgss oid_registry nfs_acl nfs lockd fscache sunrpc i2c_piix4 i2c_core pcspkr evbug psmouse serio_raw e1000 [last unloaded: btrfs]
    [ 6480.152005] irq event stamp: 188448
    [ 6480.152005] hardirqs last enabled at (188447): [] restore_args+0x0/0x30
    [ 6480.152005] hardirqs last disabled at (188448): [] apic_timer_interrupt+0x6a/0x80
    [ 6480.152005] softirqs last enabled at (188446): [] __do_softirq+0x1cf/0x450
    [ 6480.152005] softirqs last disabled at (188441): [] irq_exit+0xb5/0xc0
    [ 6480.152005] CPU: 0 PID: 5383 Comm: modprobe Not tainted 3.15.0-rc8-fdm-btrfs-next-33+ #4
    [ 6480.152005] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
    [ 6480.152005] task: ffff8802146125a0 ti: ffff8800d0d00000 task.ti: ffff8800d0d00000
    [ 6480.152005] RIP: 0010:[] [] __write_lock_failed+0x13/0x20
    [ 6480.152005] RSP: 0018:ffff8800d0d038e8 EFLAGS: 00000287
    [ 6480.152005] RAX: 0000000000000000 RBX: ffffffff8168ef5c RCX: 000005deb8525852
    [ 6480.152005] RDX: 0000000000000000 RSI: 0000000000001d45 RDI: ffff8802105000b8
    [ 6480.152005] RBP: ffff8800d0d038e8 R08: fffffe12710f63db R09: ffffffffa03196fb
    [ 6480.152005] R10: ffff8802146125a0 R11: ffff880214612e28 R12: ffff8800d0d03858
    [ 6480.152005] R13: 0000000000000000 R14: ffff8800d0d00000 R15: ffff8802146125a0
    [ 6480.152005] FS: 00007f14ff804700(0000) GS:ffff880215e00000(0000) knlGS:0000000000000000
    [ 6480.152005] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    [ 6480.152005] CR2: 00007fff4df0dac8 CR3: 00000000d1796000 CR4: 00000000000006f0
    [ 6480.152005] Stack:
    [ 6480.152005] ffff8800d0d03908 ffffffff810ae967 0000000000000001 ffff8802105000b8
    [ 6480.152005] ffff8800d0d03938 ffffffff8168e57e ffffffffa0319c16 0000000000000007
    [ 6480.152005] ffff880210500000 ffff880210500100 ffff8800d0d039b8 ffffffffa0319c16
    [ 6480.152005] Call Trace:
    [ 6480.152005] [] do_raw_write_lock+0x47/0xa0
    [ 6480.152005] [] _raw_write_lock+0x5e/0x80
    [ 6480.152005] [] ? btrfs_tree_lock+0x116/0x270 [btrfs]
    [ 6480.152005] [] btrfs_tree_lock+0x116/0x270 [btrfs]
    [ 6480.152005] [] btrfs_lock_root_node+0x3b/0x50 [btrfs]
    [ 6480.152005] [] btrfs_search_slot+0x916/0xa20 [btrfs]
    [ 6480.152005] [] ? create_object+0x23f/0x300
    [ 6480.152005] [] btrfs_insert_empty_items+0x78/0xd0 [btrfs]
    [ 6480.152005] [] insert_normal_tree_ref.constprop.4+0xa2/0x19a [btrfs]
    [ 6480.152005] [] test_no_shared_qgroup+0xb1/0x1ca [btrfs]
    [ 6480.152005] [] ? local_clock+0x16/0x30
    [ 6480.152005] [] btrfs_test_qgroups+0x1ae/0x1d7 [btrfs]
    [ 6480.152005] [] ? ftrace_define_fields_btrfs_space_reservation+0xfd/0xfd [btrfs]
    [ 6480.152005] [] init_btrfs_fs+0xb4/0x153 [btrfs]
    [ 6480.152005] [] do_one_initcall+0x102/0x150
    [ 6480.152005] [] ? set_memory_nx+0x43/0x50
    [ 6480.152005] [] ? set_section_ro_nx+0x6d/0x74
    [ 6480.152005] [] load_module+0x1cdc/0x2630
    (...)

    Therefore initialize the extent buffer as an empty leaf (level 0).

    Issue easy to reproduce when btrfs is built as a module via:

    $ for ((i = 1; i
    Signed-off-by: Chris Mason

    Filipe Manana
     
  • Mark the dereference as protected by lock. Not doing so triggers
    an RCU warning since the radix tree assumed that RCU is in use.

    Signed-off-by: Sasha Levin
    Signed-off-by: Chris Mason

    Sasha Levin
     
  • Steps to reproduce:

    # mkfs.btrfs -f /dev/sd[b-f] -m raid5 -d raid5
    # mkfs.ext4 /dev/sdc --->corrupt one of btrfs device
    # mount /dev/sdb /mnt -o degraded
    # btrfs scrub start -BRd /mnt

    This is because readahead would skip missing device, this is not true
    for RAID5/6, because REQ_GET_READ_MIRRORS return 1 for RAID5/6 block
    mapping. If expected data locates in missing device, readahead thread
    would not call __readahead_hook() which makes event @rc->elems=0
    wait forever.

    Fix this problem by checking return value of btrfs_map_block(),we
    can only skip missing device safely if there are several mirrors.

    Signed-off-by: Wang Shilong
    Signed-off-by: Chris Mason

    Wang Shilong
     
  • This new ioctl call allows the user to supply a buffer of varying size in which
    a tree search can store its results. This is much more flexible if you want to
    receive items which are larger than the current fixed buffer of 3992 bytes or
    if you want to fetch more items at once. Items larger than this buffer are for
    example some of the type EXTENT_CSUM.

    Signed-off-by: Gerhard Heift
    Signed-off-by: Chris Mason
    Acked-by: David Sterba

    Gerhard Heift
     

13 Jun, 2014

8 commits

  • The nvme-scsi file defined its own Log Page constant. Use the
    newly-defined one from the header file instead.

    Signed-off-by: Matthew Wilcox

    Matthew Wilcox
     
  • Taken from the 1.1a version of the spec

    Signed-off-by: Matthew Wilcox

    Matthew Wilcox
     
  • There is a potential dead lock if a cpu event occurs during nvme probe
    since it registered with hot cpu notification. This fixes the race by
    having the module register with notification outside of probe rather
    than have each device register.

    The actual work is done in a scheduled work queue instead of in the
    notifier since assigning IO queues has the potential to block if the
    driver creates additional queues.

    Signed-off-by: Keith Busch
    Signed-off-by: Matthew Wilcox

    Keith Busch
     
  • Pull sound fixes from Takashi Iwai:
    "Most of changes are small and easy cleanup or fixes:

    - a few HD-audio Realtek codec fixes and quirks
    - Intel HDMI audio fixes for Broadwell and Haswell / ValleyView
    - FireWire sound stack cleanups
    - a couple of sequencer core fixes
    - compress ABI fix for 64bit
    - conversion to modern ktime*() API"

    * tag 'sound-fix-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (23 commits)
    ALSA: hda/realtek - Add more entry for enable HP mute led
    ALSA: hda - Add quirk for external mic on Lifebook U904
    ALSA: hda - fix a fixup value for codec alc293 in the pin_quirk table
    ALSA: intel8x0: Use ktime and ktime_get()
    ALSA: core: Use ktime_get_ts()
    ALSA: hda - verify pin:converter connection on unsol event for HSW and VLV
    ALSA: compress: Cancel the optimization of compiler and fix the size of struct for all platform.
    ALSA: hda - Add quirk for ABit AA8XE
    Revert "ALSA: hda - mask buggy stream DMA0 for Broadwell display controller"
    ALSA: hda - using POS_FIX_LPIB on Broadwell HDMI Audio
    ALSA: hda/realtek - Add support of ALC667 codec
    ALSA: hda/realtek - Add more codec rename
    ALSA: hda/realtek - New vendor ID for ALC233
    ALSA: hda - add two new pin tables
    ALSA: hda/realtek - Add support of ALC891 codec
    ALSA: seq: Continue broadcasting events to ports if one of them fails
    ALSA: bebob: Remove unused function prototype
    ALSA: fireworks: Remove meaningless mutex_destroy()
    ALSA: fireworks: Remove a constant over width to which it's applied
    ALSA: fireworks: Improve comments about Fireworks transaction
    ...

    Linus Torvalds
     
  • Pull dlm fix from David Teigland:
    "This contains one small fix related to resending SCTP messages"

    * tag 'dlm-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
    dlm: keep listening connection alive with sctp mode

    Linus Torvalds
     
  • Pull more security layer updates from Serge Hallyn:
    "A few more commits had previously failed to make it through
    security-next into linux-next but this week made it into linux-next.
    At least commit "ima: introduce ima_kernel_read()" was deemed critical
    by Mimi to make this merge window.

    This is a temporary tree just for this request. Mimi has pointed me
    to some previous threads about keeping maintainer trees at the
    previous release, which I'll certainly do for anything long-term,
    after talking with James"

    * 'serge-next-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sergeh/linux-security:
    ima: introduce ima_kernel_read()
    evm: prohibit userspace writing 'security.evm' HMAC value
    ima: check inode integrity cache in violation check
    ima: prevent unnecessary policy checking
    evm: provide option to protect additional SMACK xattrs
    evm: replace HMAC version with attribute mask
    ima: prevent new digsig xattr from being replaced

    Linus Torvalds
     
  • More HP machine need mute led support.

    Signed-off-by: Kailang Yang
    Cc:
    Signed-off-by: Takashi Iwai

    Kailang Yang
     
  • According to the bug reporter (Данило Шеган), the external mic
    starts to work and has proper jack detection if only pin 0x19
    is marked properly as an external headset mic.

    AlsaInfo at https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1328587/+attachment/4128991/+files/AlsaInfo.txt

    Cc: stable@vger.kernel.org
    BugLink: https://bugs.launchpad.net/bugs/1328587
    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai

    David Henningsson