aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-02-24epoll: ep_unregister_pollwait() can use the freed pwq->wheadOleg Nesterov2-4/+32
signalfd_cleanup() ensures that ->signalfd_wqh is not used, but this is not enough. eppoll_entry->whead still points to the memory we are going to free, ep_unregister_pollwait()->remove_wait_queue() is obviously unsafe. Change ep_poll_callback(POLLFREE) to set eppoll_entry->whead = NULL, change ep_unregister_pollwait() to check pwq->whead != NULL under rcu_read_lock() before remove_wait_queue(). We add the new helper, ep_remove_wait_queue(), for this. This works because sighand_cachep is SLAB_DESTROY_BY_RCU and because ->signalfd_wqh is initialized in sighand_ctor(), not in copy_sighand. ep_unregister_pollwait()->remove_wait_queue() can play with already freed and potentially reused ->sighand, but this is fine. This memory must have the valid ->signalfd_wqh until rcu_read_unlock(). Reported-by: Maxime Bizon <[email protected]> Cc: <[email protected]> Signed-off-by: Oleg Nesterov <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-02-24epoll: introduce POLLFREE to flush ->signalfd_wqh before kfree()Oleg Nesterov5-2/+25
This patch is intentionally incomplete to simplify the review. It ignores ep_unregister_pollwait() which plays with the same wqh. See the next change. epoll assumes that the EPOLL_CTL_ADD'ed file controls everything f_op->poll() needs. In particular it assumes that the wait queue can't go away until eventpoll_release(). This is not true in case of signalfd, the task which does EPOLL_CTL_ADD uses its ->sighand which is not connected to the file. This patch adds the special event, POLLFREE, currently only for epoll. It expects that init_poll_funcptr()'ed hook should do the necessary cleanup. Perhaps it should be defined as EPOLLFREE in eventpoll. __cleanup_sighand() is changed to do wake_up_poll(POLLFREE) if ->signalfd_wqh is not empty, we add the new signalfd_cleanup() helper. ep_poll_callback(POLLFREE) simply does list_del_init(task_list). This make this poll entry inconsistent, but we don't care. If you share epoll fd which contains our sigfd with another process you should blame yourself. signalfd is "really special". I simply do not know how we can define the "right" semantics if it used with epoll. The main problem is, epoll calls signalfd_poll() once to establish the connection with the wait queue, after that signalfd_poll(NULL) returns the different/inconsistent results depending on who does EPOLL_CTL_MOD/signalfd_read/etc. IOW: apart from sigmask, signalfd has nothing to do with the file, it works with the current thread. In short: this patch is the hack which tries to fix the symptoms. It also assumes that nobody can take tasklist_lock under epoll locks, this seems to be true. Note: - we do not have wake_up_all_poll() but wake_up_poll() is fine, poll/epoll doesn't use WQ_FLAG_EXCLUSIVE. - signalfd_cleanup() uses POLLHUP along with POLLFREE, we need a couple of simple changes in eventpoll.c to make sure it can't be "lost". Reported-by: Maxime Bizon <[email protected]> Cc: <[email protected]> Signed-off-by: Oleg Nesterov <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-02-24Merge branch 'for-linus' of ↵Linus Torvalds17-131/+250
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Quoth Chris: "This is later than I wanted because I got backed up running through btrfs bugs from the Oracle QA teams. But they are all bug fixes that we've queued and tested since rc1. Nothing in particular stands out, this just reflects bug fixing and QA done in parallel by all the btrfs developers. The most user visible of these is: Btrfs: clear the extent uptodate bits during parent transid failures Because that helps deal with out of date drives (say an iscsi disk that has gone away and come back). The old code wasn't always properly retrying the other mirror for this type of failure." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (24 commits) Btrfs: fix compiler warnings on 32 bit systems Btrfs: increase the global block reserve estimates Btrfs: clear the extent uptodate bits during parent transid failures Btrfs: add extra sanity checks on the path names in btrfs_mksubvol Btrfs: make sure we update latest_bdev Btrfs: improve error handling for btrfs_insert_dir_item callers Btrfs: be less strict on finding next node in clear_extent_bit Btrfs: fix a bug on overcommit stuff Btrfs: kick out redundant stuff in convert_extent_bit Btrfs: skip states when they does not contain bits to clear Btrfs: check return value of lookup_extent_mapping() correctly Btrfs: fix deadlock on page lock when doing auto-defragment Btrfs: fix return value check of extent_io_ops btrfs: honor umask when creating subvol root btrfs: silence warning in raid array setup btrfs: fix structs where bitfields and spinlock/atomic share 8B word btrfs: delalloc for page dirtied out-of-band in fixup worker Btrfs: fix memory leak in load_free_space_cache() btrfs: don't check DUP chunks twice Btrfs: fix trim 0 bytes after a device delete ...
2012-02-24Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreamingLinus Torvalds1-1/+1
This is the arch/c6x part of commit 7c43185138cf ("Kbuild: Use dtc's -d (dependency) option") which was dropped because c6x had not yet been merged at the time. * tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming: Kbuild: Use dtc's -d (dependency) option
2012-02-24MAINTAINERS: drop me from PA-RISC maintenanceKyle McMartin1-4/+1
I don't even live in the same country as any of my PA-RISC hardware these days, so the odds of me touching the code are pretty low. (Also re-order things to ensure jejb gets CC'd since he's been the primary maintainer for the last few years.) Signed-off-by: Kyle McMartin <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-02-24NOMMU: Don't need to clear vm_mm when deleting a VMADavid Howells1-2/+0
Don't clear vm_mm in a deleted VMA as it's unnecessary and might conceivably break the filesystem or driver VMA close routine. Reported-by: Al Viro <[email protected]> Signed-off-by: David Howells <[email protected]> Acked-by: Al Viro <[email protected]> cc: [email protected] Signed-off-by: Linus Torvalds <[email protected]>
2012-02-24NOMMU: Lock i_mmap_mutex for access to the VMA prio listDavid Howells1-0/+7
Lock i_mmap_mutex for access to the VMA prio list to prevent concurrent access. Currently, certain parts of the mmap handling are protected by the region mutex, but not all. Reported-by: Al Viro <[email protected]> Signed-off-by: David Howells <[email protected]> Acked-by: Al Viro <[email protected]> cc: [email protected] Signed-off-by: Linus Torvalds <[email protected]>
2012-02-24Merge tag 'rmobile-for-linus' of git://github.com/pmundt/linux-shLinus Torvalds10-105/+200
SH/R-Mobile fixes for 3.3-rc5 * tag 'rmobile-for-linus' of git://github.com/pmundt/linux-sh: arch/arm/mach-shmobile/board-ag5evm.c: included linux/dma-mapping.h twice ARM: mach-shmobile: r8a7779 PFC IPSR4 fix ARM: mach-shmobile: sh73a0 PSTR 32-bit access fix ARM: mach-shmobile: add GPIO-to-IRQ translation to sh7372 ARM: mach-shmobile: clock-sh73a0: add DSIxPHY clock support arm: fix compile failure in mach-shmobile/board-ag5evm.c ARM: mach-shmobile: mackerel: add ak4642 amixer settings on comment ARM: mach-shmobile: mackerel: use renesas_usbhs instead of r8a66597_hcd ARM: mach-shmobile: simplify MMCIF DMA configuration ARM: mach-shmobile: IRQ driven GPIO key support for Kota2 ARM: mach-shmobile: sh73a0 IRQ sparse alloc fix ARM: mach-shmobile: sh73a0 PINT IRQ base fix
2012-02-24Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-shLinus Torvalds15-22/+49
SuperH fixes for 3.3-rc5 * tag 'sh-for-linus' of git://github.com/pmundt/linux-sh: sh: Fix sh2a build error for CONFIG_CACHE_WRITETHROUGH sh: modify a resource of sh_eth_giga1_resources in board-sh7757lcr arch/sh: remove references to cpu_*_map. sh: Fix typo in pci-sh7780.c sh: add platform_device for SPI1 in setup-sh7757 sh: modify resource for SPI0 in setup-sh7757 sh: se7724: fix compile breakage sh: clkfwk: bugfix: use clk_reparent() for div6 clocks sh: clock-sh7724: fixup sh_fsi clock settings sh: sh7757lcr: update to the new MMCIF DMA configuration sh: fix the sh_mmcif_plat_data in board-sh7757lcr video: pvr2fb: Fix up spurious section mismatch warnings. sh: Defer to asm-generic/device.h.
2012-02-24mm: memcg: Correct unregistring of events attached to the same eventfdAnton Vorontsov1-1/+4
There is an issue when memcg unregisters events that were attached to the same eventfd: - On the first call mem_cgroup_usage_unregister_event() removes all events attached to a given eventfd, and if there were no events left, thresholds->primary would become NULL; - Since there were several events registered, cgroups core will call mem_cgroup_usage_unregister_event() again, but now kernel will oops, as the function doesn't expect that threshold->primary may be NULL. That's a good question whether mem_cgroup_usage_unregister_event() should actually remove all events in one go, but nowadays it can't do any better as cftype->unregister_event callback doesn't pass any private event-associated cookie. So, let's fix the issue by simply checking for threshold->primary. FWIW, w/o the patch the following oops may be observed: BUG: unable to handle kernel NULL pointer dereference at 0000000000000004 IP: [<ffffffff810be32c>] mem_cgroup_usage_unregister_event+0x9c/0x1f0 Pid: 574, comm: kworker/0:2 Not tainted 3.3.0-rc4+ #9 Bochs Bochs RIP: 0010:[<ffffffff810be32c>] [<ffffffff810be32c>] mem_cgroup_usage_unregister_event+0x9c/0x1f0 RSP: 0018:ffff88001d0b9d60 EFLAGS: 00010246 Process kworker/0:2 (pid: 574, threadinfo ffff88001d0b8000, task ffff88001de91cc0) Call Trace: [<ffffffff8107092b>] cgroup_event_remove+0x2b/0x60 [<ffffffff8103db94>] process_one_work+0x174/0x450 [<ffffffff8103e413>] worker_thread+0x123/0x2d0 Cc: stable <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]> Acked-by: KAMEZAWA Hiroyuki <[email protected]> Cc: Kirill A. Shutemov <[email protected]> Cc: Michal Hocko <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-02-24hwmon: (max34440) Fix resetting temperature historyGuenter Roeck1-1/+1
Temperature history is reset by writing 0x8000 into the peak temperature register, not 0xffff. Signed-off-by: Guenter Roeck <[email protected]> Acked-by: Jean Delvare <[email protected]>
2012-02-24Btrfs: fix compiler warnings on 32 bit systemsChris Mason4-20/+26
The enospc tracing code added some interesting uses of u64 pointer casts. Signed-off-by: Chris Mason <[email protected]>
2012-02-24iommu/omap: fix NULL pointer dereferenceOhad Ben-Cohen1-2/+2
Fix this: root@omap4430-panda:~# cat /debug/iommu/ducati/mem [ 62.725708] Unable to handle kernel NULL pointer dereference at virtual addre ss 0000001c [ 62.725708] pgd = e6240000 [ 62.737091] [0000001c] *pgd=a7168831, *pte=00000000, *ppte=00000000 [ 62.743682] Internal error: Oops: 17 [#1] SMP [ 62.743682] Modules linked in: omap_iommu_debug omap_iovmm virtio_rpmsg_bus o map_remoteproc remoteproc virtio_ring virtio mailbox_mach mailbox [ 62.743682] CPU: 0 Not tainted (3.3.0-rc1-00265-g382f84e-dirty #682) [ 62.743682] PC is at debug_read_mem+0x5c/0xac [omap_iommu_debug] [ 62.743682] LR is at 0x1004 [ 62.777832] pc : [<bf033178>] lr : [<00001004>] psr: 60000013 [ 62.777832] sp : e72c7f40 ip : c0763c00 fp : 00000001 [ 62.777832] r10: 00000000 r9 : 00000000 r8 : e72c7f80 [ 62.777832] r7 : e6ffdc08 r6 : bed1ac78 r5 : 00001000 r4 : e7276000 [ 62.777832] r3 : e60f3460 r2 : 00000000 r1 : e60f38c0 r0 : 00000000 [ 62.777832] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user [ 62.816375] Control: 10c53c7d Table: a624004a DAC: 00000015 [ 62.816375] Process cat (pid: 1176, stack limit = 0xe72c62f8) [ 62.828369] Stack: (0xe72c7f40 to 0xe72c8000) ... [ 62.884185] [<bf033178>] (debug_read_mem+0x5c/0xac [omap_iommu_debug]) from [<c010e354>] (vfs_read+0xac/0x130) [ 62.884185] [<c010e354>] (vfs_read+0xac/0x130) from [<c010e4a8>] (sys_read+0x40/0x70) [ 62.884185] [<c010e4a8>] (sys_read+0x40/0x70) from [<c0014a00>] (ret_fast_syscall+0x0/0x3c) Fix also its 'echo bla > /debug/iommu/ducati/mem' Oops sibling, too. Signed-off-by: Ohad Ben-Cohen <[email protected]> Cc: Tony Lindgren <[email protected]> Cc: Hiroshi Doyu <[email protected]> Cc: Laurent Pinchart <[email protected]> Cc: Russell King <[email protected]> Cc: Joerg Roedel <[email protected]> Cc: [email protected] Signed-off-by: Joerg Roedel <[email protected]>
2012-02-24iommu/omap: fix erroneous omap-iommu-debug API callsOhad Ben-Cohen1-12/+43
Adapt omap-iommu-debug to the latest omap-iommu API changes, which were introduced by commit fabdbca "iommu/omap: eliminate the public omap_find_iommu_device() method". In a nutshell, iommu users are not expected to provide the omap_iommu handle anymore - instead, iommus are attached using their user's device handle. omap-iommu-debug is a hybrid beast though: it invokes both public and private omap iommu API, so fix it as necessary (otherwise a crash is imminent). Note: omap-iommu-debug is a bit disturbing, as it fiddles with internal omap iommu data and requires exposing API which is otherwise not needed. It should better be more tightly coupled with omap-iommu, to prevent further bit rot and avoid exposing redundant API. Naturally that's out of scope for the -rc cycle, so for now just fix the obvious. Reported-by: Russell King <[email protected]> Signed-off-by: Ohad Ben-Cohen <[email protected]> Cc: Tony Lindgren <[email protected]> Cc: Hiroshi Doyu <[email protected]> Cc: Laurent Pinchart <[email protected]> Cc: Joerg Roedel <[email protected]> Signed-off-by: Joerg Roedel <[email protected]>
2012-02-24netfilter: ctnetlink: fix soft lockup when netlink adds new entries (v2)Jozsef Kadlecsik3-35/+51
Marcell Zambo and Janos Farago noticed and reported that when new conntrack entries are added via netlink and the conntrack table gets full, soft lockup happens. This is because the nf_conntrack_lock is held while nf_conntrack_alloc is called, which is in turn wants to lock nf_conntrack_lock while evicting entries from the full table. The patch fixes the soft lockup with limiting the holding of the nf_conntrack_lock to the minimum, where it's absolutely required. It required to extend (and thus change) nf_conntrack_hash_insert so that it makes sure conntrack and ctnetlink do not add the same entry twice to the conntrack table. Signed-off-by: Jozsef Kadlecsik <[email protected]> Signed-off-by: Pablo Neira Ayuso <[email protected]>
2012-02-24Revert "netfilter: ctnetlink: fix soft lockup when netlink adds new entries"Pablo Neira Ayuso1-16/+27
This reverts commit af14cca162ddcdea017b648c21b9b091e4bf1fa4. This patch contains a race condition between packets and ctnetlink in the conntrack addition. A new patch to fix this issue follows up. Signed-off-by: Pablo Neira Ayuso <[email protected]>
2012-02-24Merge branch 'master' of /Volumes/CaseSensitiveDisk/linuxAnton Altaparmakov65-466/+473
2012-02-24LDM: Fix reassembly of extended VBLKs.Anton Altaparmakov1-7/+4
From: Ben Hutchings <[email protected]> Extended VBLKs (those larger than the preset VBLK size) are divided into fragments, each with its own VBLK header. Our LDM implementation generally assumes that each VBLK is contiguous in memory, so these fragments must be assembled before further processing. Currently the reassembly seems to be done quite wrongly - no VBLK header is copied into the contiguous buffer, and the length of the header is subtracted twice from each fragment. Also the total length of the reassembled VBLK is calculated incorrectly. Signed-off-by: Ben Hutchings <[email protected]> Signed-off-by: Anton Altaparmakov <[email protected]>
2012-02-24NTFS: Correct two spelling errors "dealocate" to "deallocate" in mft.c.Anton Altaparmakov1-3/+3
From: Masanari Iida <[email protected]> Signed-off-by: Anton Altaparmakov <[email protected]>
2012-02-24davinci_emac: Do not free all rx dma descriptors during initChristian Riesch1-2/+4
This patch fixes a regression that was introduced by commit 0a5f38467765ee15478db90d81e40c269c8dda20 davinci_emac: Add Carrier Link OK check in Davinci RX Handler Said commit adds a check whether the carrier link is ok. If the link is not ok, the skb is freed and no new dma descriptor added to the rx dma channel. This causes trouble during initialization when the carrier status has not yet been updated. If a lot of packets are received while netif_carrier_ok returns false, all dma descriptors are freed and the rx dma transfer is stopped. The bug occurs when the board is connected to a network with lots of traffic and the ifconfig down/up is done, e.g., when reconfiguring the interface with DHCP. The bug can be reproduced by flood pinging the davinci board while doing ifconfig eth0 down ifconfig eth0 up on the board. After that, the rx path stops working and the overrun value reported by ifconfig is counting up. This patch reverts commit 0a5f38467765ee15478db90d81e40c269c8dda20 and instead issues warnings only if cpdma_chan_submit returns -ENOMEM. Signed-off-by: Christian Riesch <[email protected]> Cc: <[email protected]> Cc: Hegde, Vinay <[email protected]> Cc: Cyril Chemparathy <[email protected]> Cc: Sascha Hauer <[email protected]> Tested-by: Rajashekhara, Sudhakar <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-02-24mlx4_core: Fixing array indexes when setting port typesYevgeny Petrilin1-1/+1
Signed-off-by: Yevgeny Petrilin <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-02-24arch/arm/mach-shmobile/board-ag5evm.c: included linux/dma-mapping.h twiceDanny Kukawka1-1/+0
arch/arm/mach-shmobile/board-ag5evm.c: included 'linux/dma-mapping.h' twice, remove the duplicate. Signed-off-by: Danny Kukawka <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2012-02-24ARM: mach-shmobile: r8a7779 PFC IPSR4 fixMagnus Damm1-1/+1
Fix the bit field width information for the IPSR4 register in the r8a7779 pin function controller (PFC). Without this fix the Marzen board fails to receive data over the serial console due to misconfigured pin function for the RX pin. Signed-off-by: Magnus Damm <[email protected]> Tested-by: Kuninori Morimoto <[email protected]> Tested-by: Simon Horman <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2012-02-24ARM: mach-shmobile: sh73a0 PSTR 32-bit access fixMagnus Damm1-1/+1
Convert the sh73a0 SMP code to use 32-bit PSTR access. This fixes wakeup from deep sleep for sh73a0 secondary CPUs. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2012-02-24Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into ↵Paul Mundt1892-61244/+37369
rmobile-fixes-for-linus
2012-02-24sh: Fix sh2a build error for CONFIG_CACHE_WRITETHROUGHPhil Edworthy1-0/+2
Signed-off-by: Phil Edworthy <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2012-02-24sh: modify a resource of sh_eth_giga1_resources in board-sh7757lcrShimoda, Yoshihiro1-0/+5
The latest sh_eth driver needs a resource of TSU in the channel 1, if the controller has TSU registers. So, this patch adds the resource. Signed-off-by: Yoshihiro Shimoda <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2012-02-24arch/sh: remove references to cpu_*_map.Rusty Russell2-2/+2
This has been obsolescent for a while; time for the final push. Signed-off-by: Rusty Russell <[email protected]> Cc: Paul Mundt <[email protected]> Cc: [email protected] Signed-off-by: Paul Mundt <[email protected]>
2012-02-24sh: Fix typo in pci-sh7780.cMasanari Iida1-1/+1
Correct spelling "erorr" to "error" in arch/sh/drivers/pci/pci-sh7780.c Signed-off-by: Masanari Iida <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2012-02-23Restore direct_io / truncate locking APIAnton Altaparmakov1-2/+2
With kernel 3.1, Christoph removed i_alloc_sem and replaced it with calls (namely inode_dio_wait() and inode_dio_done()) which are EXPORT_SYMBOL_GPL() thus they cannot be used by non-GPL file systems and further inode_dio_wait() was pushed from notify_change() into the file system ->setattr() method but no non-GPL file system can make this call. That means non-GPL file systems cannot exist any more unless they do not use any VFS functionality related to reading/writing as far as I can tell or at least as long as they want to implement direct i/o. Both Linus and Al (and others) have said on LKML that this breakage of the VFS API should not have happened and that the change was simply missed as it was not documented in the change logs of the patches that did those changes. This patch changes the two function exports in question to be EXPORT_SYMBOL() thus restoring the VFS API as it used to be - accessible for all modules. Christoph, who introduced the two functions and exported them GPL-only is CC-ed on this patch to give him the opportunity to object to the symbols being changed in this manner if he did indeed intend them to be GPL-only and does not want them to become available to all modules. Signed-off-by: Anton Altaparmakov <[email protected]> CC: Christoph Hellwig <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-02-23Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfsLinus Torvalds5-23/+25
A fix from Jesper Juhl removes an assignment in an ASSERT when a compare is intended. Two fixes from Mitsuo Hayasaka address off-by-ones in XFS quota enforcement. * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: make inode quota check more general xfs: change available ranges of softlimit and hardlimit in quota check XFS: xfs_trans_add_item() - don't assign in ASSERT() when compare is intended
2012-02-23phy: IC+101G and PHY_HAS_INTERRUPT flagGiuseppe CAVALLARO1-14/+17
This patch adds the PHY_HAS_INTERRUPT flag for IC+101 device series. Also the patch does a simple dity-up to signal that the driver actually is for IP101A LF and IP101G devices. In fact, these are two similar PHYs that have the same IDs and mainly differ for the EEE capability supported in the G series. Signed-off-by: Giuseppe Cavallaro <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-02-23netdev/phy/icplus: Correct broken phy_init codeDavid McKay1-6/+18
The code for ip1001_config_init() was totally broken if you were not using RGMII. Instead of returning an error code or zero it actually returned the value in the IP1001_SPEC_CTRL_STATUS_2 register. It was also trying to set the IP1001_APS_ON bit , but never actually wrote back the register. The error checking was also incorrect in both this function and the reset function, so this patch fixes that up in a consistent fashion. Signed-off-by: David McKay <[email protected]> Signed-off-by: Giuseppe Cavallaro <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-02-23ipsec: be careful of non existing mac headersEric Dumazet5-17/+16
Niccolo Belli reported ipsec crashes in case we handle a frame without mac header (atm in his case) Before copying mac header, better make sure it is present. Bugzilla reference: https://bugzilla.kernel.org/show_bug.cgi?id=42809 Reported-by: Niccolò Belli <[email protected]> Tested-by: Niccolò Belli <[email protected]> Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-02-23Merge branch 'merge' of ↵Linus Torvalds7-10/+18
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc BenH says: 'Here are a few more powerpc bits for you. A stupid regression I introduced with my previous commit to "fix" program check exceptions (brown paper bag for me), fix the cpuidle default, a bug fix for something that isn't strictly speaking a regression but some upstream changes causes it to show in lockdep now while it didn't before, and finally a trivial one for rusty to make his life easier later on removing the old cpumask cruft. ' * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Fix various issues with return to userspace cpuidle: Default y on powerpc pSeries powerpc: Fix program check handling when lockdep is enabled powerpc: Remove references to cpu_*_map
2012-02-23Merge tag 'sound-fixes' of ↵Linus Torvalds7-24/+44
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound sound fixes for 3.3-rc5 Just a collection of boring small fixes for ASoC, HD-audio Realtek and USB-audio drivers. * tag 'sound-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: snd-usb-caiaq: Fix the return of XRUN ASoC: ak4642: fixup HeadPhone L/R dapm settings ALSA: hda/realtek - Fix surround output regression on Acer Aspire 5935 ALSA: hda/realtek - Fix overflow of vol/sw check bitmap ALSA: usb-audio: avoid integer overflow in create_fixed_stream_quirk() ASoC: wm8962: Fix sidetone enumeration texts
2012-02-23Btrfs: increase the global block reserve estimatesLiu Bo1-1/+1
When doing IO with large amounts of data fragmentation, the global block reserve calulations are too low. This increases them to avoid ENOSPC crashes. Signed-off-by: Liu Bo <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2012-02-23Btrfs: clear the extent uptodate bits during parent transid failuresChris Mason1-4/+3
If btrfs reads a block and finds a parent transid mismatch, it clears the uptodate flags on the extent buffer, and the pages inside it. But we only clear the uptodate bits in the state tree if the block straddles more than one page. This is from an old optimization from to reduce contention on the extent state tree. But it is buggy because the code that retries a read from a different copy of the block is going to find the uptodate state bits set and skip the IO. The end result of the bug is that we'll never actually read the good copy (if there is one). The fix here is to always clear the uptodate state bits, which is safe because this code is only called when the parent transid fails. Signed-off-by: Chris Mason <[email protected]>
2012-02-23Btrfs: add extra sanity checks on the path names in btrfs_mksubvolChris Mason1-0/+6
Signed-off-by: Chris Mason <[email protected]>
2012-02-23Btrfs: make sure we update latest_bdevChris Mason2-1/+22
When we are setting up the mount, we close all the devices that were not actually part of the metadata we found. But, we don't make sure that one of those devices wasn't fs_devices->latest_bdev, which means we can do a use after free on the one we closed. This updates latest_bdev as it goes. Signed-off-by: Chris Mason <[email protected]>
2012-02-23Btrfs: improve error handling for btrfs_insert_dir_item callersChris Mason2-7/+26
This allows us to gracefully continue if we aren't able to insert directory items, both for normal files/dirs and snapshots. Signed-off-by: Chris Mason <[email protected]>
2012-02-23hwmon: (f75375s) Fix register write order when setting fans to full speedNikolaus Schulz1-4/+3
By hwmon sysfs interface convention, setting pwm_enable to zero sets a fan to full speed. In the f75375s driver, this need be done by enabling manual fan control, plus duty mode for the F875387 chip, and then setting the maximum duty cycle. Fix a bug where the two necessary register writes were swapped, effectively discarding the setting to full-speed. Signed-off-by: Nikolaus Schulz <[email protected]> Cc: Riku Voipio <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2012-02-23hwmon: (ads1015) Fix file leak in probe functionGuenter Roeck1-2/+1
An error while creating sysfs attribute files in the driver's probe function results in an error abort, but already created files are not removed. This patch fixes the problem. Signed-off-by: Guenter Roeck <[email protected]> Cc: [email protected] # 3.0+ Cc: Dirk Eibach <[email protected]> Acked-by: Jean Delvare <[email protected]>
2012-02-22mlx4_core: Exported functions can't be staticDoug Ledford2-7/+7
At least on powerpc, it breaks the build if exported functions are static. Fix some static exported functions introduced with the mlx4 SR-IOV support added in 3.3-rc1. Signed-off-by: Doug Ledford <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2012-02-23Merge branch 'nf' of git://1984.lsi.us.es/netDavid S. Miller4-38/+51
2012-02-22Merge tag 'usb-3.3-rc4' of ↵Linus Torvalds14-227/+126
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb USB bugfixes for 3.3-rc4 A number of new device ids, and a cleanup/fix for some of the option device ids that shouldn't have been added in the first place. There's also a few USB 3 fixes for problems that people have reported, and a usb-storage bugfix to round it out. Signed-off-by: Greg Kroah-Hartman <[email protected]> * tag 'usb-3.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: USB: Added Kamstrup VID/PIDs to cp210x serial driver. USB: Serial: ti_usb_3410_5052: Add Abbot Diabetes Care cable id usb-storage: fix freezing of the scanning thread xhci: Fix encoding for HS bulk/control NAK rate. USB: Set hub depth after USB3 hub reset USB: Fix handoff when BIOS disables host PCI device. USB: option: cleanup zte 3g-dongle's pid in option.c USB: Don't fail USB3 probe on missing legacy PCI IRQ. xhci: Fix oops caused by more USB2 ports than USB3 ports. USB: Remove duplicate USB 3.0 hub feature #defines.
2012-02-22Move Logitech Harmony 900 from cdc_ether to zaurusScott Talbert2-0/+14
In the current kernel implementation, the Logitech Harmony 900 remote control is matched to the cdc_ether driver through the generic USB_CDC_SUBCLASS_MDLM entry. However, this device appears to be of the pseudo-MDLM (Belcarra) type, rather than the standard one. This patch blacklists the Harmony 900 from the cdc_ether driver and whitelists it for the pseudo-MDLM driver in zaurus. Signed-off-by: Scott Talbert <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-02-22hso: memsetting wrong data in hso_get_count()Dan Carpenter1-1/+1
The intent was to clear out the icount struct here, but we accidentally clear stack memory instead. It probably will lead to a NULL dereference right away. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-02-22netfilter: ip6_route_output() never returns NULL.RongQing.Li1-2/+3
ip6_route_output() never returns NULL, so it is wrong to check if the return value is NULL. Signed-off-by: RongQing.Li <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-02-22ethernet/broadcom: ip6_route_output() never returns NULL.RongQing.Li1-1/+5
ip6_route_output() never returns NULL, so it is wrong to check if the return value is NULL. Signed-off-by: RongQing.Li <[email protected]> Signed-off-by: David S. Miller <[email protected]>