23 Jun, 2011

1 commit

  • The error handling in mem_online_node() is incorrect: hotadd_new_pgdat()
    returns NULL if the new pgdat could not have been allocated and a pointer
    to it otherwise.

    mem_online_node() should fail if hotadd_new_pgdat() fails, not the
    inverse. This fixes an issue when memoryless nodes are not onlined and
    their sysfs interface is not registered when their first cpu is brought
    up.

    The bug was introduced by commit cf23422b9d76 ("cpu/mem hotplug: enable
    CPUs online before local memory online") iow v2.6.35.

    Signed-off-by: David Rientjes
    Reviewed-by: KOSAKI Motohiro
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    David Rientjes
     

22 Jun, 2011

5 commits

  • Fix error handling in construct_key_and_link().

    If construct_alloc_key() returns an error, it shouldn't pass out through
    the normal path as the key_serial() called by the kleave() statement
    will oops when it gets an error code in the pointer:

    BUG: unable to handle kernel paging request at ffffffffffffff84
    IP: [] request_key_and_link+0x4d7/0x52f
    ..
    Call Trace:
    [] request_key+0x41/0x75
    [] cifs_get_spnego_key+0x206/0x226 [cifs]
    [] CIFS_SessSetup+0x511/0x1234 [cifs]
    [] cifs_setup_session+0x90/0x1ae [cifs]
    [] cifs_get_smb_ses+0x34b/0x40f [cifs]
    [] cifs_mount+0x13f/0x504 [cifs]
    [] cifs_do_mount+0xc4/0x672 [cifs]
    [] mount_fs+0x69/0x155
    [] vfs_kern_mount+0x63/0xa0
    [] do_kern_mount+0x4d/0xdf
    [] do_mount+0x63c/0x69f
    [] sys_mount+0x88/0xc2
    [] system_call_fastpath+0x16/0x1b

    Signed-off-by: David Howells
    Acked-by: Jeff Layton
    Signed-off-by: Linus Torvalds

    David Howells
     
  • MN10300's asm/uaccess.h needs to #include linux/kernel.h to get might_sleep()
    otherwise it fails to build on MN10300 allyesconfig. This fails in a few
    places with messages like the following:

    In file included from security/keys/trusted.c:14:
    include/linux/uaccess.h: In function '__copy_from_user_nocache':
    include/linux/uaccess.h:52: error: implicit declaration of function 'might_sleep'

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     
  • * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    NFS: Fix decode_secinfo_maxsz
    NFSv4.1: Fix an off-by-one error in pnfs_generic_pg_test
    NFSv4.1: Fix some issues with pnfs_generic_pg_test
    NFSv4.1: file layout must consider pg_bsize for coalescing
    pnfs-obj: No longer needed to take an extra ref at add_device
    SUNRPC: Ensure the RPC client only quits on fatal signals
    NFSv4: Fix a readdir regression
    nfs4.1: mark layout as bad on error path in _pnfs_return_layout
    nfs4.1: prevent race that allowed use of freed layout in _pnfs_return_layout
    NFSv4.1: need to put_layout_hdr on _pnfs_return_layout error path
    NFS: (d)printks should use %zd for ssize_t arguments
    NFSv4.1: fix break condition in pnfs_find_lseg
    nfs4.1: fix several problems with _pnfs_return_layout
    NFSv4.1: allow zero fh array in filelayout decode layout
    NFSv4.1: allow nfs_fhget to succeed with mounted on fileid
    NFSv4.1: Fix a refcounting issue in the pNFS device id cache
    NFSv4.1: deprecate headerpadsz in CREATE_SESSION
    NFS41: do not update isize if inode needs layoutcommit
    NLM: Don't hang forever on NLM unlock requests
    NFS: fix umount of pnfs filesystems

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    IB/qib: Ensure that LOS and DFE are being turned off
    RDMA/cxgb4: Couple of abort fixes
    RDMA/cxgb4: Don't truncate MR lengths
    RDMA/cxgb4: Don't exceed hw IQ depth limit for user CQs

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
    jbd2: Fix oops in jbd2_journal_remove_journal_head()
    jbd2: Remove obsolete parameters in the comments for some jbd2 functions
    ext4: fixed tracepoints cleanup
    ext4: use FIEMAP_EXTENT_LAST flag for last extent in fiemap
    ext4: Fix max file size and logical block counting of extent format file
    ext4: correct comments for ext4_free_blocks()

    Linus Torvalds
     

21 Jun, 2011

17 commits

  • I initially did the calculation in bytes, and not words

    Signed-off-by: Bryan Schumaker
    Signed-off-by: Trond Myklebust

    Bryan Schumaker
     
  • And document what is going on there...

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • 1. If the intention is to coalesce requests 'prev' and 'req' then we
    have to ensure at least that we have a layout starting at
    req_offset(prev).

    2. If we're only requesting a minimal layout of length desc->pg_count,
    we need to test the length actually returned by the server before
    we allow the coalescing to occur.

    3. We need to deal correctly with (pgio->lseg == NULL)

    4. Fixup the test guarding the pnfs_update_layout.

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • Linus Torvalds
     
  • Commit 13e12d14e2dc ("vfs: reorganize 'struct inode' layout a bit")
    moved things around a bit changed i_state to be unsigned int instead of
    unsigned long. That was to help structure layout for the 64-bit case,
    and shrink 'struct inode' a bit (admittedly that only happened when
    spinlock debugging was on and i_flags didn't pack with i_lock).

    However, Meelis Roos reports that this results in unaligned exceptions
    on sprc, and it turns out that the bit-locking primitives that we use
    for the I_NEW bit want to use the bitops. Which want 'unsigned long',
    not 'unsigned int'.

    We really should fix the bit locking code to not have that kind of
    requirement, but that's a much bigger change. So for now, revert that
    field back to 'unsigned long' (but keep the other re-ordering changes
    from the commit that caused this).

    Andi points out that we have played games with this in 'struct page', so
    it's solvable with other hacks too, but since right now the struct inode
    size advantage only happens with some rare config options, it's not
    worth fighting.

    It _would_ be worth fixing the bitlocking code, though. Especially
    since there is no type safety in the bitlocking code (this never caused
    any warnings, and worked fine on x86-64, because the bitlocks take a
    'void *' and x86-64 doesn't care that deeply about alignment). So it's
    currently a very easy problem to trigger by mistake and never notice.

    Reported-by: Meelis Roos
    Cc: Andi Kleen
    Cc: David Miller
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/radeon/kms/r6xx+: voltage fixes
    drm/nouveau: drop leftover debugging
    drm/radeon: avoid warnings from r600/eg irq handlers on powered off card.
    drm/radeon/kms: add missing param for dce3.2 DP transmitter setup
    drm/radeon/kms/atom: fix duallink on some early DCE3.2 cards
    drm/nouveau: fix assumption that semaphore dmaobj is valid in x-chan sync
    drm/nv50/disp: fix gamma with page flipping overlay turned on
    drm/nouveau/pm: Prevent overflow in nouveau_perf_init()
    drm/nouveau: fix big-endian switch

    Linus Torvalds
     
  • * 'msm-fix' of git://codeaurora.org/quic/kernel/davidb/linux-msm:
    msm: timer: Fix DGT rate on 8960 and 8660
    msm: timer: compensate for timer shift in msm_read_timer_count
    msm: timer: Fix SMP build error

    Linus Torvalds
     
  • * 'for-2.6.40' of git://linux-nfs.org/~bfields/linux:
    nfsd4: fix break_lease flags on nfsd open
    nfsd: link returns nfserr_delay when breaking lease
    nfsd: v4 support requires CRYPTO
    nfsd: fix dependency of nfsd on auth_rpcgss

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (40 commits)
    pxa168_eth: fix race in transmit path.
    ipv4, ping: Remove duplicate icmp.h include
    netxen: fix race in skb->len access
    sgi-xp: fix a use after free
    hp100: fix an skb->len race
    netpoll: copy dev name of slaves to struct netpoll
    ipv4: fix multicast losses
    r8169: fix static initializers.
    inet_diag: fix inet_diag_bc_audit()
    gigaset: call module_put before restart of if_open()
    farsync: add module_put to error path in fst_open()
    net: rfs: enable RFS before first data packet is received
    fs_enet: fix freescale FCC ethernet dp buffer alignment
    netdev: bfin_mac: fix memory leak when freeing dma descriptors
    vlan: don't call ndo_vlan_rx_register on hardware that doesn't have vlan support
    caif: Bugfix - XOFF removed channel from caif-mux
    tun: teach the tun/tap driver to support netpoll
    dp83640: drop PHY status frames in the driver.
    dp83640: fix phy status frame event parsing
    phylib: Allow BCM63XX PHY to be selected only on BCM63XX.
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
    devcgroup_inode_permission: take "is it a device node" checks to inlined wrapper
    fix comment in generic_permission()
    kill obsolete comment for follow_down()
    proc_sys_permission() is OK in RCU mode
    reiserfs_permission() doesn't need to bail out in RCU mode
    proc_fd_permission() is doesn't need to bail out in RCU mode
    nilfs2_permission() doesn't need to bail out in RCU mode
    logfs doesn't need ->permission() at all
    coda_ioctl_permission() is safe in RCU mode
    cifs_permission() doesn't need to bail out in RCU mode
    bad_inode_permission() is safe from RCU mode
    ubifs: dereferencing an ERR_PTR in ubifs_mount()

    Linus Torvalds
     
  • 0xff01 is not an actual voltage value, but a flag
    for the driver. If the power state as that value,
    skip setting the voltage.

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • The DGT runs at 27 MHz divided by 4 on 8660 and 8960.

    Signed-off-by: Stephen Boyd
    Signed-off-by: David Brown

    Stephen Boyd
     
  • Because the socket buffer is freed in the completion interrupt, it is not
    safe to access it after submitting it to the hardware.

    Cc: stable@kernel.org
    Cc: Sachin Sanap
    Cc: Zhangfei Gao
    Cc: Philip Rakity
    Signed-off-by: Richard Cochran
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Richard Cochran
     
  • Otherwise we end up overflowing the rpc buffer size on the receive end.

    Signed-off-by: Benny Halevy
    Signed-off-by: Trond Myklebust

    Benny Halevy
     
  • Remove the duplicate inclusion of net/icmp.h from net/ipv4/ping.c

    Signed-off-by: Jesper Juhl
    Signed-off-by: David S. Miller

    Jesper Juhl
     
  • As soon as skb is given to hardware, TX completion can free skb under
    us.
    Therefore, we should update dev stats before kicking the device.

    Signed-off-by: Eric Dumazet
    CC: Amit Kumar Salecha
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • * 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/setup: Fix for incorrect xen_extra_mem_start.
    xen: When calling power_off, don't call the halt function.
    xen: Fix compile warning when CONFIG_SMP is not defined.
    xen: support CONFIG_MAXSMP
    xen: partially revert "xen: set max_pfn_mapped to the last pfn mapped"

    Linus Torvalds
     

20 Jun, 2011

17 commits