05 May, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    FEC: Fix kernel panic in fec_set_mac_address.
    ipv6: Fix default multicast hops setting.
    net: ep93xx_eth stops receiving packets
    drivers/net/phy: micrel phy driver
    dm9601: fix phy/eeprom write routine
    ppp_generic: handle non-linear skbs when passing them to pppd
    ppp_generic: pull 2 bytes so that PPP_PROTO(skb) is valid
    net: fix compile error due to double return type in SOCK_DEBUG
    net/usb: initiate sync sequence in sierra_net.c driver
    net/usb: remove default in Kconfig for sierra_net driver
    r8169: Fix rtl8169_rx_interrupt()
    e1000e: Fix oops caused by ASPM patch.
    net/sb1250: register mdio bus in probe
    sctp: Fix skb_over_panic resulting from multiple invalid parameter errors (CVE-2010-1173) (v4)
    p54pci: fix bugs in p54p_check_tx_ring

    Linus Torvalds
     

04 May, 2010

1 commit


03 May, 2010

1 commit


01 May, 2010

1 commit

  • For more clearance what the functions actually do,

    usb_buffer_alloc() is renamed to usb_alloc_coherent()
    usb_buffer_free() is renamed to usb_free_coherent()

    They should only be used in code which really needs DMA coherency.

    [added compatibility macros so we can convert things easier - gregkh]

    Signed-off-by: Daniel Mack
    Cc: Alan Stern
    Cc: Pedro Ribeiro
    Signed-off-by: Greg Kroah-Hartman

    Daniel Mack
     

30 Apr, 2010

1 commit

  • * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    nfs: fix memory leak in nfs_get_sb with CONFIG_NFS_V4
    nfs: fix some issues in nfs41_proc_reclaim_complete()
    NFS: Ensure that nfs_wb_page() waits for Pg_writeback to clear
    NFS: Fix an unstable write data integrity race
    nfs: testing for null instead of ERR_PTR()
    NFS: rsize and wsize settings ignored on v4 mounts
    NFSv4: Don't attempt an atomic open if the file is a mountpoint
    SUNRPC: Fix a bug in rpcauth_prune_expired

    Linus Torvalds
     

29 Apr, 2010

4 commits

  • Ok, version 4

    Change Notes:
    1) Minor cleanups, from Vlads notes

    Summary:

    Hey-
    Recently, it was reported to me that the kernel could oops in the
    following way:

    kernel BUG at net/core/skbuff.c:91!
    invalid operand: 0000 [#1]
    Modules linked in: sctp netconsole nls_utf8 autofs4 sunrpc iptable_filter
    ip_tables cpufreq_powersave parport_pc lp parport vmblock(U) vsock(U) vmci(U)
    vmxnet(U) vmmemctl(U) vmhgfs(U) acpiphp dm_mirror dm_mod button battery ac md5
    ipv6 uhci_hcd ehci_hcd snd_ens1371 snd_rawmidi snd_seq_device snd_pcm_oss
    snd_mixer_oss snd_pcm snd_timer snd_page_alloc snd_ac97_codec snd soundcore
    pcnet32 mii floppy ext3 jbd ata_piix libata mptscsih mptsas mptspi mptscsi
    mptbase sd_mod scsi_mod
    CPU: 0
    EIP: 0060:[] Not tainted VLI
    EFLAGS: 00010216 (2.6.9-89.0.25.EL)
    EIP is at skb_over_panic+0x1f/0x2d
    eax: 0000002c ebx: c033f461 ecx: c0357d96 edx: c040fd44
    esi: c033f461 edi: df653280 ebp: 00000000 esp: c040fd40
    ds: 007b es: 007b ss: 0068
    Process swapper (pid: 0, threadinfo=c040f000 task=c0370be0)
    Stack: c0357d96 e0c29478 00000084 00000004 c033f461 df653280 d7883180
    e0c2947d
    00000000 00000080 df653490 00000004 de4f1ac0 de4f1ac0 00000004
    df653490
    00000001 e0c2877a 08000800 de4f1ac0 df653490 00000000 e0c29d2e
    00000004
    Call Trace:
    [] sctp_addto_chunk+0xb0/0x128 [sctp]
    [] sctp_addto_chunk+0xb5/0x128 [sctp]
    [] sctp_init_cause+0x3f/0x47 [sctp]
    [] sctp_process_unk_param+0xac/0xb8 [sctp]
    [] sctp_verify_init+0xcc/0x134 [sctp]
    [] sctp_sf_do_5_1B_init+0x83/0x28e [sctp]
    [] sctp_do_sm+0x41/0x77 [sctp]
    [] cache_grow+0x140/0x233
    [] sctp_endpoint_bh_rcv+0xc5/0x108 [sctp]
    [] sctp_inq_push+0xe/0x10 [sctp]
    [] sctp_rcv+0x454/0x509 [sctp]
    [] ipt_hook+0x17/0x1c [iptable_filter]
    [] nf_iterate+0x40/0x81
    [] ip_local_deliver_finish+0x0/0x151
    [] ip_local_deliver_finish+0xc6/0x151
    [] nf_hook_slow+0x83/0xb5
    [] ip_local_deliver+0x1a2/0x1a9
    [] ip_local_deliver_finish+0x0/0x151
    [] ip_rcv+0x334/0x3b4
    [] netif_receive_skb+0x320/0x35b
    [] init_stall_timer+0x67/0x6a [uhci_hcd]
    [] process_backlog+0x6c/0xd9
    [] net_rx_action+0xfe/0x1f8
    [] __do_softirq+0x35/0x79
    [] handle_IRQ_event+0x0/0x4f
    [] do_softirq+0x46/0x4d

    Its an skb_over_panic BUG halt that results from processing an init chunk in
    which too many of its variable length parameters are in some way malformed.

    The problem is in sctp_process_unk_param:
    if (NULL == *errp)
    *errp = sctp_make_op_error_space(asoc, chunk,
    ntohs(chunk->chunk_hdr->length));

    if (*errp) {
    sctp_init_cause(*errp, SCTP_ERROR_UNKNOWN_PARAM,
    WORD_ROUND(ntohs(param.p->length)));
    sctp_addto_chunk(*errp,
    WORD_ROUND(ntohs(param.p->length)),
    param.v);

    When we allocate an error chunk, we assume that the worst case scenario requires
    that we have chunk_hdr->length data allocated, which would be correct nominally,
    given that we call sctp_addto_chunk for the violating parameter. Unfortunately,
    we also, in sctp_init_cause insert a sctp_errhdr_t structure into the error
    chunk, so the worst case situation in which all parameters are in violation
    requires chunk_hdr->length+(sizeof(sctp_errhdr_t)*param_count) bytes of data.

    The result of this error is that a deliberately malformed packet sent to a
    listening host can cause a remote DOS, described in CVE-2010-1173:
    http://cve.mitre.org/cgi-bin/cvename.cgi?name=2010-1173

    I've tested the below fix and confirmed that it fixes the issue. We move to a
    strategy whereby we allocate a fixed size error chunk and ignore errors we don't
    have space to report. Tested by me successfully

    Signed-off-by: Neil Horman
    Acked-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Neil Horman
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits)
    sfc: Change falcon_probe_board() to fail for unsupported boards
    sfc: Always close net device at the end of a disabling reset
    sfc: Wait at most 10ms for the MC to finish reading out MAC statistics
    sctp: Fix oops when sending queued ASCONF chunks
    sctp: fix to calc the INIT/INIT-ACK chunk length correctly is set
    sctp: per_cpu variables should be in bh_disabled section
    sctp: fix potential reference of a freed pointer
    sctp: avoid irq lock inversion while call sk->sk_data_ready()
    Revert "tcp: bind() fix when many ports are bound"
    net/usb: add sierra_net.c driver
    cdc_ether: fix autosuspend for mbm devices
    bluetooth: handle l2cap_create_connless_pdu() errors
    gianfar: Wait for both RX and TX to stop
    ipheth: potential null dereferences on error path
    smc91c92_cs: spin_unlock_irqrestore before calling smc_interrupt()
    drivers/usb/net/kaweth.c: add device "Allied Telesyn AT-USB10 USB Ethernet Adapter"
    bnx2: Update version to 2.0.9.
    bnx2: Prevent "scheduling while atomic" warning with cnic, bonding and vlan.
    bnx2: Fix lost MSI-X problem on 5709 NICs.
    cxgb3: Wait longer for control packets on initialization
    ...

    Linus Torvalds
     
  • When we finish processing ASCONF_ACK chunk, we try to send
    the next queued ASCONF. This action runs the sctp state
    machine recursively and it's not prepared to do so.

    kernel BUG at kernel/timer.c:790!
    invalid opcode: 0000 [#1] SMP
    last sysfs file: /sys/module/ipv6/initstate
    Modules linked in: sha256_generic sctp libcrc32c ipv6 dm_multipath
    uinput 8139too i2c_piix4 8139cp mii i2c_core pcspkr virtio_net joydev
    floppy virtio_blk virtio_pci [last unloaded: scsi_wait_scan]

    Pid: 0, comm: swapper Not tainted 2.6.34-rc4 #15 /Bochs
    EIP: 0060:[] EFLAGS: 00010286 CPU: 0
    EIP is at add_timer+0xd/0x1b
    EAX: cecbab14 EBX: 000000f0 ECX: c0957b1c EDX: 03595cf4
    ESI: cecba800 EDI: cf276f00 EBP: c0957aa0 ESP: c0957aa0
    DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
    Process swapper (pid: 0, ti=c0956000 task=c0988ba0 task.ti=c0956000)
    Stack:
    c0957ae0 d1851214 c0ab62e4 c0ab5f26 0500ffff 00000004 00000005 00000004
    00000000 d18694fd 00000004 1666b892 cecba800 cecba800 c0957b14
    00000004
    c0957b94 d1851b11 ceda8b00 cecba800 cf276f00 00000001 c0957b14
    000000d0
    Call Trace:
    [] ? sctp_side_effects+0x607/0xdfc [sctp]
    [] ? sctp_do_sm+0x108/0x159 [sctp]
    [] ? sctp_pname+0x0/0x1d [sctp]
    [] ? sctp_primitive_ASCONF+0x36/0x3b [sctp]
    [] ? sctp_process_asconf_ack+0x2a4/0x2d3 [sctp]
    [] ? sctp_sf_do_asconf_ack+0x1dd/0x2b4 [sctp]
    [] ? sctp_do_sm+0xb8/0x159 [sctp]
    [] ? sctp_cname+0x0/0x52 [sctp]
    [] ? sctp_assoc_bh_rcv+0xac/0xe1 [sctp]
    [] ? sctp_inq_push+0x2d/0x30 [sctp]
    [] ? sctp_rcv+0x797/0x82e [sctp]

    Tested-by: Wei Yongjun
    Signed-off-by: Yuansong Qiao
    Signed-off-by: Shuaijun Zhang
    Signed-off-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Vlad Yasevich
     
  • sk->sk_data_ready() of sctp socket can be called from both BH and non-BH
    contexts, but the default sk->sk_data_ready(), sock_def_readable(), can
    not be used in this case. Therefore, we have to make a new function
    sctp_data_ready() to grab sk->sk_data_ready() with BH disabling.

    =========================================================
    [ INFO: possible irq lock inversion dependency detected ]
    2.6.33-rc6 #129
    ---------------------------------------------------------
    sctp_darn/1517 just changed the state of lock:
    (clock-AF_INET){++.?..}, at: [] sock_def_readable+0x20/0x80
    but this lock took another, SOFTIRQ-unsafe lock in the past:
    (slock-AF_INET){+.-...}

    and interrupts could create inverse lock ordering between them.

    other info that might help us debug this:
    1 lock held by sctp_darn/1517:
    #0: (sk_lock-AF_INET){+.+.+.}, at: [] sctp_sendmsg+0x23d/0xc00 [sctp]

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

    Wei Yongjun
     

28 Apr, 2010

3 commits

  • * 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
    pcmcia: fix matching rules for pseudo-multi-function cards
    pcmcia: pcmcia_dev_present bugfix

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    coda: move backing-dev.h kernel include inside __KERNEL__
    mtd: ensure that bdi entries are properly initialized and registered
    Move mtd_bdi_*mappable to mtdcore.c
    btrfs: convert to using bdi_setup_and_register()
    Catch filesystems lacking s_bdi
    drbd: Terminate a connection early if sending the protocol fails
    drbd: fix memory leak
    Fix JFFS2 sync silent failure
    smbfs: add bdi backing to mount session
    ncpfs: add bdi backing to mount session
    exofs: add bdi backing to mount session
    ecryptfs: add bdi backing to mount session
    coda: add bdi backing to mount session
    cifs: add bdi backing to mount session
    afs: add bdi backing to mount session.
    9p: add bdi backing to mount session
    bdi: add helper function for doing init and register of a bdi for a file system
    block: ensure jiffies wrap is handled correctly in blk_rq_timed_out_timer

    Linus Torvalds
     
  • Otherwise we must export backing-dev.h as well, which doesn't make
    any sense.

    Signed-off-by: Jens Axboe

    Jens Axboe
     

25 Apr, 2010

2 commits

  • noop_backing_dev_info is used only as a flag to mark filesystems that
    don't have any backing store, like tmpfs, procfs, spufs, etc.

    Signed-off-by: Joern Engel

    Changed the BUG_ON() to a WARN_ON(). Note that adding dirty inodes
    to the noop_backing_dev_info is not legal and will not result in
    them being flushed, but we already catch this condition in
    __mark_inode_dirty() when checking for a registered bdi.

    Signed-off-by: Jens Axboe

    Jörn Engel
     
  • If a futex key happens to be located within a huge page mapped
    MAP_PRIVATE, get_futex_key() can go into an infinite loop waiting for a
    page->mapping that will never exist.

    See https://bugzilla.redhat.com/show_bug.cgi?id=552257 for more details
    about the problem.

    This patch makes page->mapping a poisoned value that includes
    PAGE_MAPPING_ANON mapped MAP_PRIVATE. This is enough for futex to
    continue but because of PAGE_MAPPING_ANON, the poisoned value is not
    dereferenced or used by futex. No other part of the VM should be
    dereferencing the page->mapping of a hugetlbfs page as its page cache is
    not on the LRU.

    This patch fixes the problem with the test case described in the bugzilla.

    [akpm@linux-foundation.org: mel cant spel]
    Signed-off-by: Mel Gorman
    Acked-by: Peter Zijlstra
    Acked-by: Darren Hart
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     

24 Apr, 2010

1 commit

  • This cleans up a few of the complaints of __generic_block_fiemap. I've
    fixed all the typing stuff, used inline functions instead of macros,
    gotten rid of a couple of variables, and made sure the size and block
    requests are all block aligned. It also fixes a problem where sometimes
    FIEMAP_EXTENT_LAST wasn't being set properly.

    Signed-off-by: Josef Bacik
    Signed-off-by: Linus Torvalds

    Josef Bacik
     

23 Apr, 2010

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
    firewire: ohci: wait for local CSR lock access to finish
    firewire: ohci: prevent aliasing of locally handled register addresses
    firewire: core: fw_iso_resource_manage: return -EBUSY when out of resources
    firewire: core: fix retries calculation in iso manage_channel()
    firewire: cdev: fix cut+paste mistake in disclaimer

    Linus Torvalds
     
  • Commit 2c61be0a9478258f77b66208a0c4b1f5f8161c3c (NFS: Ensure that the WRITE
    and COMMIT RPC calls are always uninterruptible) exposed a race on file
    close. In order to ensure correct close-to-open behaviour, we want to wait
    for all outstanding background commit operations to complete.

    This patch adds an inode flag that indicates if a commit operation is under
    way, and provides a mechanism to allow ->write_inode() to wait for its
    completion if this is a data integrity flush.

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     

22 Apr, 2010

5 commits


21 Apr, 2010

1 commit

  • pcmcia_dev_present is in and by itself buggy. Add a note specifying
    why it is broken, and replace the broken locking -- taking a mutex
    is a bad idea in IRQ context, from which this function is rarely
    called -- by an atomic_t.

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

20 Apr, 2010

2 commits

  • This patch increases the current hardcoded limit of NR_IOBUS_DEVS
    from 6 to 200. We are hitting this limit when creating a guest with more
    than 1 virtio-net device using vhost-net backend. Each virtio-net
    device requires 2 such devices to service notifications from rx/tx queues.

    Signed-off-by: Sridhar Samudrala
    Signed-off-by: Avi Kivity

    Sridhar Samudrala
     
  • Int is not long enough to store the size of a dirty bitmap.

    This patch fixes this problem with the introduction of a wrapper
    function to calculate the sizes of dirty bitmaps.

    Note: in mark_page_dirty(), we have to consider the fact that
    __set_bit() takes the offset as int, not long.

    Signed-off-by: Takuya Yoshikawa
    Signed-off-by: Marcelo Tosatti

    Takuya Yoshikawa
     

19 Apr, 2010

5 commits

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

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    rcu: Make RCU lockdep check the lockdep_recursion variable
    rcu: Update docs for rcu_access_pointer and rcu_dereference_protected
    rcu: Better explain the condition parameter of rcu_dereference_check()
    rcu: Add rcu_access_pointer and rcu_dereference_protected

    Linus Torvalds
     
  • * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/radeon/kms: add FireMV 2400 PCI ID.
    drm/radeon/kms: allow R500 regs VAP_ALT_NUM_VERTICES and VAP_INDEX_OFFSET
    drivers/gpu/radeon: Add MSPOS regs to safe list.
    drm/radeon/kms: disable the tv encoder when tv/cv is not in use
    drm/radeon/kms: adjust pll settings for tv
    drm/radeon/kms: fix tv dac conflict resolver
    drm/radeon/kms/evergreen: don't enable hdmi audio stuff
    drm/radeon/kms/atom: fix dual-link DVI on DCE3.2/4.0
    drm/radeon/kms: fix rs600 tlb flush
    drm/radeon/kms: print GPU family and device id when loading
    drm/radeon/kms: fix calculation of mipmapped 3D texture sizes
    drm/radeon/kms: only change mode when coherent value changes.
    drm/radeon/kms: more atom parser fixes (v2)

    Linus Torvalds
     
  • Have the stub variant of regulator_get() return NULL, so that drivers
    can (but still don't have to) handle this case specifically.

    Signed-off-by: Jean Delvare
    Cc: Mark Brown
    Cc: Jerome Oufella
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Jean Delvare
     
  • This is an M24/X600 chip.

    From RH# 581927

    cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • The lockdep facility temporarily disables lockdep checking by
    incrementing the current->lockdep_recursion variable. Such
    disabling happens in NMIs and in other situations where lockdep
    might expect to recurse on itself.

    This patch therefore checks current->lockdep_recursion, disabling RCU
    lockdep splats when this variable is non-zero. In addition, this patch
    removes the "likely()", as suggested by Lai Jiangshan.

    Reported-by: Frederic Weisbecker
    Reported-by: David Miller
    Tested-by: Frederic Weisbecker
    Signed-off-by: Paul E. McKenney
    Cc: laijs@cn.fujitsu.com
    Cc: dipankar@in.ibm.com
    Cc: mathieu.desnoyers@polymtl.ca
    Cc: josh@joshtriplett.org
    Cc: dvhltc@us.ibm.com
    Cc: niv@us.ibm.com
    Cc: peterz@infradead.org
    Cc: rostedt@goodmis.org
    Cc: Valdis.Kletnieks@vt.edu
    Cc: dhowells@redhat.com
    Cc: eric.dumazet@gmail.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Paul E. McKenney
     

16 Apr, 2010

3 commits


15 Apr, 2010

1 commit

  • Among else, this allows projects like libdc1394 to carry copies of the
    ABI related header files without them or distributors having to worry
    about effects on the project's overall license terms. Switch to MIT
    license as suggested by Kristian. Also update the year in the
    copyright statement according to source history.

    Cc: Jay Fenlason
    Acked-by: Clemens Ladisch
    Signed-off-by: Stefan Richter
    Signed-off-by: Kristian Høgsberg

    Stefan Richter
     

14 Apr, 2010

3 commits

  • Better explain the condition parameter of
    rcu_dereference_check() that describes the conditions under
    which the dereference is permitted to take place (and
    incorporate Yong Zhang's suggestion). This condition is only
    checked under lockdep proving.

    Signed-off-by: David Howells
    Signed-off-by: Paul E. McKenney
    Cc: laijs@cn.fujitsu.com
    Cc: dipankar@in.ibm.com
    Cc: mathieu.desnoyers@polymtl.ca
    Cc: josh@joshtriplett.org
    Cc: dvhltc@us.ibm.com
    Cc: niv@us.ibm.com
    Cc: peterz@infradead.org
    Cc: rostedt@goodmis.org
    Cc: Valdis.Kletnieks@vt.edu
    Cc: eric.dumazet@gmail.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    David Howells
     
  • This patch adds variants of rcu_dereference() that handle
    situations where the RCU-protected data structure cannot change,
    perhaps due to our holding the update-side lock, or where the
    RCU-protected pointer is only to be fetched, not dereferenced.
    These are needed due to some performance concerns with using
    rcu_dereference() where it is not required, aside from the need
    for lockdep/sparse checking.

    The new rcu_access_pointer() primitive is for the case where the
    pointer is be fetch and not dereferenced. This primitive may be
    used without protection, RCU or otherwise, due to the fact that
    it uses ACCESS_ONCE().

    The new rcu_dereference_protected() primitive is for the case
    where updates are prevented, for example, due to holding the
    update-side lock. This primitive does neither ACCESS_ONCE() nor
    smp_read_barrier_depends(), so can only be used when updates are
    somehow prevented.

    Suggested-by: David Howells
    Signed-off-by: Paul E. McKenney
    Cc: laijs@cn.fujitsu.com
    Cc: dipankar@in.ibm.com
    Cc: mathieu.desnoyers@polymtl.ca
    Cc: josh@joshtriplett.org
    Cc: dvhltc@us.ibm.com
    Cc: niv@us.ibm.com
    Cc: peterz@infradead.org
    Cc: rostedt@goodmis.org
    Cc: Valdis.Kletnieks@vt.edu
    Cc: dhowells@redhat.com
    Cc: eric.dumazet@gmail.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Paul E. McKenney
     
  • * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    NFSv4: fix delegated locking
    NFS: Ensure that the WRITE and COMMIT RPC calls are always uninterruptible
    NFS: Fix a race with the new commit code
    NFS: Ensure that writeback_single_inode() calls write_inode() when syncing
    NFS: Fix the mode calculation in nfs_find_open_context
    NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIR

    Linus Torvalds
     

12 Apr, 2010

1 commit

  • Arnaud Giersch reports that NFSv4 locking is broken when we hold a
    delegation since commit 8e469ebd6dc32cbaf620e134d79f740bf0ebab79 (NFSv4:
    Don't allow posix locking against servers that don't support it).

    According to Arnaud, the lock succeeds the first time he opens the file
    (since we cannot do a delegated open) but then fails after we start using
    delegated opens.

    The following patch fixes it by ensuring that locking behaviour is
    governed by a per-filesystem capability flag that is initially set, but
    gets cleared if the server ever returns an OPEN without the
    NFS4_OPEN_RESULT_LOCKTYPE_POSIX flag being set.

    Reported-by: Arnaud Giersch
    Signed-off-by: Trond Myklebust
    Cc: stable@kernel.org

    Trond Myklebust
     

11 Apr, 2010

1 commit


10 Apr, 2010

1 commit