aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-03-30Linux 3.14Linus Torvalds1-1/+1
2014-03-30Merge branch 'for-linus-2' of ↵Linus Torvalds4-77/+134
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs fixes from Al Viro: "Switch mnt_hash to hlist, turning the races between __lookup_mnt() and hash modifications into false negatives from __lookup_mnt() (instead of hangs)" On the false negatives from __lookup_mnt(): "The *only* thing we care about is not getting stuck in __lookup_mnt(). If it misses an entry because something in front of it just got moved around, etc, we are fine. We'll notice that mount_lock mismatch and that'll be it" * 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: switch mnt_hash to hlist don't bother with propagate_mnt() unless the target is shared keep shadowed vfsmounts together resizable namespace.c hashes
2014-03-30MAINTAINERS: resume as Documentation maintainerRandy Dunlap1-2/+2
I am the new kernel tree Documentation maintainer (except for parts that are handled by other people, of course). Signed-off-by: Randy Dunlap <[email protected]> Acked-by: Rob Landley <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-03-30Merge branch 'for-linus' of ↵Linus Torvalds2-32/+45
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input updates from Dmitry Torokhov: "Some more updates for the input subsystem. You will get a fix for race in mousedev that has been causing quite a few oopses lately and a small fixup for force feedback support in evdev" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: mousedev - fix race when creating mixed device Input: don't modify the id of ioctl-provided ff effect on upload failure
2014-03-30AUDIT: Allow login in non-init namespacesEric Paris1-1/+11
It its possible to configure your PAM stack to refuse login if audit messages (about the login) were unable to be sent. This is common in many distros and thus normal configuration of many containers. The PAM modules determine if audit is enabled/disabled in the kernel based on the return value from sending an audit message on the netlink socket. If userspace gets back ECONNREFUSED it believes audit is disabled in the kernel. If it gets any other error else it refuses to let the login proceed. Just about ever since the introduction of namespaces the kernel audit subsystem has returned EPERM if the task sending a message was not in the init user or pid namespace. So many forms of containers have never worked if audit was enabled in the kernel. BUT if the container was not in net_init then the kernel network code would send ECONNREFUSED (instead of the audit code sending EPERM). Thus by pure accident/dumb luck/bug if an admin configured the PAM stack to reject all logins that didn't talk to audit, but then ran the login untility in the non-init_net namespace, it would work!! Clearly this was a bug, but it is a bug some people expected. With the introduction of network namespace support in 3.14-rc1 the two bugs stopped cancelling each other out. Now, containers in the non-init_net namespace refused to let users log in (just like PAM was configfured!) Obviously some people were not happy that what used to let users log in, now didn't! This fix is kinda hacky. We return ECONNREFUSED for all non-init relevant namespaces. That means that not only will the old broken non-init_net setups continue to work, now the broken non-init_pid or non-init_user setups will 'work'. They don't really work, since audit isn't logging things. But it's what most users want. In 3.15 we should have patches to support not only the non-init_net (3.14) namespace but also the non-init_pid and non-init_user namespace. So all will be right in the world. This just opens the doors wide open on 3.14 and hopefully makes users happy, if not the audit system... Reported-by: Andre Tomt <[email protected]> Reported-by: Adam Richter <[email protected]> Signed-off-by: Eric Paris <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-03-30ext4: atomically set inode->i_flags in ext4_set_inode_flags()Theodore Ts'o2-6/+24
Use cmpxchg() to atomically set i_flags instead of clearing out the S_IMMUTABLE, S_APPEND, etc. flags and then setting them from the EXT4_IMMUTABLE_FL, EXT4_APPEND_FL flags, since this opens up a race where an immutable file has the immutable flag cleared for a brief window of time. Reported-by: John Sullivan <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]> Cc: [email protected] Signed-off-by: Linus Torvalds <[email protected]>
2014-03-30switch mnt_hash to hlistAl Viro4-50/+61
fixes RCU bug - walking through hlist is safe in face of element moves, since it's self-terminating. Cyclic lists are not - if we end up jumping to another hash chain, we'll loop infinitely without ever hitting the original list head. [fix for dumb braino folded] Spotted by: Max Kellermann <[email protected]> Cc: [email protected] Signed-off-by: Al Viro <[email protected]>
2014-03-30don't bother with propagate_mnt() unless the target is sharedAl Viro1-10/+7
If the dest_mnt is not shared, propagate_mnt() does nothing - there's no mounts to propagate to and thus no copies to create. Might as well don't bother calling it in that case. Cc: [email protected] Signed-off-by: Al Viro <[email protected]>
2014-03-30keep shadowed vfsmounts togetherAl Viro1-9/+23
preparation to switching mnt_hash to hlist Cc: [email protected] Signed-off-by: Al Viro <[email protected]>
2014-03-30resizable namespace.c hashesAl Viro2-24/+59
* switch allocation to alloc_large_system_hash() * make sizes overridable by boot parameters (mhash_entries=, mphash_entries=) * switch mountpoint_hashtable from list_head to hlist_head Cc: [email protected] Signed-off-by: Al Viro <[email protected]>
2014-03-30x86, vdso: Fix the symbol versions on the 32-bit vDSOAndy Lutomirski1-3/+7
The new symbols provide the same API as the 64-bit variants, so they should have the same symbol version name. This can't break userspace, since these symbols are new for 32-bit Linux. Signed-off-by: Andy Lutomirski <[email protected]> Cc: Stefani Seibold <[email protected]> Link: http://lkml.kernel.org/r/0a869bce03d25619565b1eee7d69a4fd15fd203a.1396124118.git.luto@amacapital.net Signed-off-by: H. Peter Anvin <[email protected]>
2014-03-30Merge remote-tracking branches 'spi/topic/xilinx' and 'spi/topic/xtfpga' ↵Mark Brown6-20/+205
into spi-next
2014-03-30Merge remote-tracking branches 'spi/topic/sunxi', 'spi/topic/tegra114', ↵Mark Brown13-459/+1053
'spi/topic/ti-qspi', 'spi/topic/ti-ssp', 'spi/topic/topcliff-pch', 'spi/topic/txx9', 'spi/topic/xcomm' and 'spi/topic/xfer' into spi-next
2014-03-30Merge remote-tracking branches 'spi/topic/s3c64xx', 'spi/topic/sc18is602', ↵Mark Brown15-534/+449
'spi/topic/sh-hspi', 'spi/topic/sh-msiof', 'spi/topic/sh-sci', 'spi/topic/sirf' and 'spi/topic/spidev' into spi-next
2014-03-30Merge remote-tracking branches 'spi/topic/omap-uwire', 'spi/topic/omap100k', ↵Mark Brown15-528/+1735
'spi/topic/omap2', 'spi/topic/orion', 'spi/topic/pl022', 'spi/topic/qup', 'spi/topic/rspi' and 'spi/topic/s3c24xx' into spi-next
2014-03-30Merge remote-tracking branches 'spi/topic/imx', 'spi/topic/init', ↵Mark Brown30-146/+29
'spi/topic/mpc512x-psc', 'spi/topic/mpc52xx', 'spi/topic/mxs', 'spi/topic/nuc900', 'spi/topic/oc-tiny' and 'spi/topic/octeon' into spi-next
2014-03-30Merge remote-tracking branches 'spi/topic/drivers', 'spi/topic/dw', ↵Mark Brown14-128/+117
'spi/topic/efm32', 'spi/topic/ep93xx', 'spi/topic/fsl', 'spi/topic/fsl-dspi', 'spi/topic/fsl-espi' and 'spi/topic/gpio' into spi-next
2014-03-30Merge remote-tracking branches 'spi/topic/bus-num', 'spi/topic/cleanup', ↵Mark Brown20-289/+175
'spi/topic/clps711x', 'spi/topic/coldfire', 'spi/topic/completion' and 'spi/topic/davinci' into spi-next
2014-03-30Merge remote-tracking branches 'spi/topic/altera', 'spi/topic/atmel', ↵Mark Brown13-71/+31
'spi/topic/au1550', 'spi/topic/bcm63xx', 'spi/topic/bcm63xx-hsspi', 'spi/topic/bfin5xx', 'spi/topic/bitbang' and 'spi/topic/bpw' into spi-next
2014-03-30Merge remote-tracking branch 'spi/topic/dma' into spi-nextMark Brown3-108/+310
2014-03-30Merge remote-tracking branch 'spi/topic/core' into spi-nextMark Brown1-18/+28
2014-03-30Merge remote-tracking branch 'spi/fix/core' into spi-linusMark Brown1-3/+3
2014-03-30spi: Fix handling of cs_change in core implementationMark Brown1-3/+3
The core implementation of cs_change didn't follow the documentation which says that cs_change in the middle of the transfer means to briefly deassert chip select, instead it followed buggy drivers which change the polarity of chip select. Use a delay of 10us between deassert and reassert simply from pulling numbers out of a hat. Reported-by: Gerhard Sittig <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-03-29Merge branch 'xen-netback'David S. Miller1-4/+29
Paul Durrant says: ==================== xen-netback: fix rx slot estimation Sander Eikelenboom reported an issue with ring overflow in netback in 3.14-rc3. This turns outo be be because of a bug in the ring slot estimation code. This patch series fixes the slot estimation, fixes the BUG_ON() that was supposed to catch the issue that Sander ran into and also makes a small fix to start_new_rx_buffer(). v3: - Added a cap of MAX_SKB_FRAGS to estimate in patch #2 v2: - Added BUG_ON() to patch #1 - Added more explanation to patch #3 ==================== Reported-By: Sander Eikelenboom <[email protected]> Tested-By: Sander Eikelenboom <[email protected]> Acked-by: Ian Campbell <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29xen-netback: BUG_ON in xenvif_rx_action() not catching overflowPaul Durrant1-1/+7
The BUG_ON to catch ring overflow in xenvif_rx_action() makes the assumption that meta_slots_used == ring slots used. This is not necessarily the case for GSO packets, because the non-prefix GSO protocol consumes one more ring slot than meta-slot for the 'extra_info'. This patch changes the test to actually check ring slots. Signed-off-by: Paul Durrant <[email protected]> Cc: Ian Campbell <[email protected]> Cc: Wei Liu <[email protected]> Cc: Sander Eikelenboom <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29xen-netback: worse-case estimate in xenvif_rx_action is underestimatingPaul Durrant1-1/+20
The worse-case estimate for skb ring slot usage in xenvif_rx_action() fails to take fragment page_offset into account. The page_offset does, however, affect the number of times the fragmentation code calls start_new_rx_buffer() (i.e. consume another slot) and the worse-case should assume that will always return true. This patch adds the page_offset into the DIV_ROUND_UP for each frag. Unfortunately some frontends aggressively limit the number of requests they post into the shared ring so to avoid an estimate that is 'too' pessimal it is capped at MAX_SKB_FRAGS. Signed-off-by: Paul Durrant <[email protected]> Cc: Ian Campbell <[email protected]> Cc: Wei Liu <[email protected]> Cc: Sander Eikelenboom <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29xen-netback: remove pointless clause from if statementPaul Durrant1-2/+2
This patch removes a test in start_new_rx_buffer() that checks whether a copy operation is less than MAX_BUFFER_OFFSET in length, since MAX_BUFFER_OFFSET is defined to be PAGE_SIZE and the only caller of start_new_rx_buffer() already limits copy operations to PAGE_SIZE or less. Signed-off-by: Paul Durrant <[email protected]> Cc: Ian Campbell <[email protected]> Cc: Wei Liu <[email protected]> Cc: Sander Eikelenboom <[email protected]> Reported-By: Sander Eikelenboom <[email protected]> Tested-By: Sander Eikelenboom <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller48-267/+527
Conflicts: drivers/net/ethernet/marvell/mvneta.c The mvneta.c conflict is a case of overlapping changes, a conversion to devm_ioremap_resource() vs. a conversion to netdev_alloc_pcpu_stats. Signed-off-by: David S. Miller <[email protected]>
2014-03-29phy/at8031: enable at8031 to work on interrupt modeZhao Qiang1-0/+30
The at8031 can work on polling mode and interrupt mode. Add ack_interrupt and config intr funcs to enable interrupt mode for it. Signed-off-by: Zhao Qiang <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29ipv6: fix checkpatch errors of "foo*" and "foo * bar"Wang Yufen1-15/+15
ERROR: "(foo*)" should be "(foo *)" ERROR: "foo * bar" should be "foo *bar" Suggested-by: Sergei Shtylyov <[email protected]> Signed-off-by: Wang Yufen <[email protected]> Acked-by: Sergei Shtylyov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29ipv6: fix checkpatch errors of brace and trailing statementsWang Yufen1-8/+10
ERROR: open brace '{' following enum go on the same line ERROR: open brace '{' following struct go on the same line ERROR: trailing statements should be on next line Signed-off-by: Wang Yufen <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29ipv6: fix checkpatch errors comments and spaceWang Yufen1-14/+12
WARNING: please, no space before tabs WARNING: please, no spaces at the start of a line ERROR: spaces required around that ':' (ctx:VxW) ERROR: spaces required around that '>' (ctx:VxV) ERROR: spaces required around that '>=' (ctx:VxV) Signed-off-by: Wang Yufen <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29Merge branch 'timers-urgent-for-linus' of ↵Linus Torvalds1-1/+2
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fix from Ingo Molnar: "A late breaking fix from John. (The bug fixed has a hard lockup potential, but that was not observed, warnings were)" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: time: Revert to calling clock_was_set_delayed() while in irq context
2014-03-29Merge branch 'netpoll-next'David S. Miller10-85/+91
Eric W. Biederman says: ==================== netpoll: Cleanups and fixes This should be a small set of safe cleanups and fixes to netpoll. The fixes are vlan headers are now always inserted when needed, and napi polling is always avoided when network devices are closed. There are a bunch of little cleanups removing unnecessary code, fixing function naming, not taking unnecessary locks and removing general silliness. ==================== Signed-off-by: David S. Miller <[email protected]>
2014-03-29Merge branch 'for-linus' of ↵Linus Torvalds1-1/+0
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph fix from Sage Weil: "This drops a bad assert that a few users have been hitting but we've only recently been able to track down" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: rbd: drop an unsafe assertion
2014-03-29netpoll: Respect NETIF_F_LLTXEric W. Biederman2-5/+10
Stop taking the transmit lock when a network device has specified NETIF_F_LLTX. If no locks needed to trasnmit a packet this is the ideal scenario for netpoll as all packets can be trasnmitted immediately. Even if some locks are needed in ndo_start_xmit skipping any unnecessary serialization is desirable for netpoll as it makes it more likely a debugging packet may be trasnmitted immediately instead of being deferred until later. Signed-off-by: "Eric W. Biederman" <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29netpoll: Remove strong unnecessary assumptions about skbsEric W. Biederman1-2/+2
Remove the assumption that the skbs that make it to netpoll_send_skb_on_dev are allocated with find_skb, such that skb->users == 1 and nothing is attached that would prevent the skbs from being freed from hard irq context. Remove this assumption by replacing __kfree_skb on error paths with dev_kfree_skb_irq (in hard irq context) and kfree_skb (in process context). Signed-off-by: "Eric W. Biederman" <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29netpoll: Rename netpoll_rx_enable/disable to netpoll_poll_disable/enableEric W. Biederman3-12/+12
The netpoll_rx_enable and netpoll_rx_disable functions have always controlled polling the network drivers transmit and receive queues. Rename them to netpoll_poll_enable and netpoll_poll_disable to make their functionality clear. Signed-off-by: "Eric W. Biederman" <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29netpoll: Move rx enable/disable into __dev_close_manyEric W. Biederman1-9/+4
Today netpoll_rx_enable and netpoll_rx_disable are called from dev_close and and __dev_close, and not from dev_close_many. Move the calls into __dev_close_many so that we have a single call site to maintain, and so that dev_close_many gains this protection as well. Which importantly makes batched network device deletes safe. Signed-off-by: "Eric W. Biederman" <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29netpoll: Only call ndo_start_xmit from a single placeEric W. Biederman1-25/+36
Factor out the code that needs to surround ndo_start_xmit from netpoll_send_skb_on_dev into netpoll_start_xmit. It is an unfortunate fact that as the netpoll code has been maintained the primary call site ndo_start_xmit learned how to handle vlans and timestamps but the second call of ndo_start_xmit in queue_process did not. With the introduction of netpoll_start_xmit this associated logic now happens at both call sites of ndo_start_xmit and should make it easy for that to continue into the future. Signed-off-by: "Eric W. Biederman" <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29netpoll: Remove gfp parameter from __netpoll_setupEric W. Biederman9-34/+29
The gfp parameter was added in: commit 47be03a28cc6c80e3aa2b3e8ed6d960ff0c5c0af Author: Amerigo Wang <[email protected]> Date: Fri Aug 10 01:24:37 2012 +0000 netpoll: use GFP_ATOMIC in slave_enable_netpoll() and __netpoll_setup() 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 <[email protected]> Cc: "David S. Miller" <[email protected]> Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: Cong Wang <[email protected]> Signed-off-by: David S. Miller <[email protected]> The reason for the gfp parameter was removed in: commit c4cdef9b7183159c23c7302aaf270d64c549f557 Author: dingtianhong <[email protected]> Date: Tue Jul 23 15:25:27 2013 +0800 bonding: don't call slave_xxx_netpoll under spinlocks The slave_xxx_netpoll will call synchronize_rcu_bh(), so the function may schedule and sleep, it should't be called under spinlocks. bond_netpoll_setup() and bond_netpoll_cleanup() are always protected by rtnl lock, it is no need to take the read lock, as the slave list couldn't be changed outside rtnl lock. Signed-off-by: Ding Tianhong <[email protected]> Cc: Jay Vosburgh <[email protected]> Cc: Andy Gospodarek <[email protected]> Signed-off-by: David S. Miller <[email protected]> Nothing else that calls __netpoll_setup or ndo_netpoll_setup requires a gfp paramter, so remove the gfp parameter from both of these functions making the code clearer. Signed-off-by: "Eric W. Biederman" <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29Merge branch 'skb_cow_head'David S. Miller8-51/+33
Francois Romieu says: ==================== remove open-coded skb_cow_head. As per http://marc.info/?l=linux-netdev&m=139440579104701. ==================== Signed-off-by: David S. Miller <[email protected]>
2014-03-29wimax/i2400m: remove open-coded skb_cow_head.françois romieu1-2/+1
Signed-off-by: Francois Romieu <[email protected]> Cc: Inaky Perez-Gonzalez <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29tg3: remove open-coded skb_cow_head.françois romieu1-2/+1
Signed-off-by: Francois Romieu <[email protected]> Cc: Nithin Nayak Sujir <[email protected]> Cc: Michael Chan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29bna: remove open-coded skb_cow_head.françois romieu1-6/+4
Signed-off-by: Francois Romieu <[email protected]> Cc: Rasesh Mody <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29qlge: remove open-coded skb_cow_head.françois romieu1-5/+4
Signed-off-by: Francois Romieu <[email protected]> Cc: Jitendra Kalsaria <[email protected]> Cc: Shahed Shaikh <[email protected]> Cc: Ron Mercer <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29jme: remove open-coded skb_cow_head.françois romieu1-14/+2
Signed-off-by: Francois Romieu <[email protected]> Cc: Guo-Fu Tseng <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29atl1e: remove open-coded skb_cow_head.françois romieu1-7/+7
Signed-off-by: Francois Romieu <[email protected]> Cc: Chris Snook <[email protected]> Cc: Jay Cliburn <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29atl1c: remove open-coded skb_cow_head.françois romieu1-7/+7
Signed-off-by: Francois Romieu <[email protected]> Cc: Jay Cliburn <[email protected]> Cc: Chris Snook <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-29atl1: remove open-coded skb_cow_head.françois romieu1-8/+7
Signed-off-by: Francois Romieu <[email protected]> Cc: Chris Snook <[email protected]> Cc: Jay Cliburn <[email protected]> Signed-off-by: David S. Miller <[email protected]>