aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-01-23arm64: dump: Fix implicit inclusion of definition for PCI_IOBASEMark Brown1-0/+1
Since c9465b4ec37a68425 (arm64: add support to dump the kernel page tables) allmodconfig has failed to build on arm64 as a result of: ../arch/arm64/mm/dump.c:55:20: error: 'PCI_IOBASE' undeclared here (not in a function) Fix this by explicitly including io.h to ensure that a definition is present. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Will Deacon <[email protected]>
2015-01-23nl80211: fix per-station group key get/del and memory leakJohannes Berg1-5/+4
In case userspace attempts to obtain key information for or delete a unicast key, this is currently erroneously rejected unless the driver sets the WIPHY_FLAG_IBSS_RSN flag. Apparently enough drivers do so it was never noticed. Fix that, and while at it fix a potential memory leak: the error path in the get_key() function was placed after allocating a message but didn't free it - move it to a better place. Luckily admin permissions are needed to call this operation. Cc: [email protected] Fixes: e31b82136d1ad ("cfg80211/mac80211: allow per-station GTKs") Signed-off-by: Johannes Berg <[email protected]>
2015-01-23mac80211: properly set CCK flag in radiotapMathy Vanhoef1-1/+1
Fix a regression introduced by commit a5e70697d0c4 ("mac80211: add radiotap flag and handling for 5/10 MHz") where the IEEE80211_CHAN_CCK channel type flag was incorrectly replaced by the IEEE80211_CHAN_OFDM flag. This commit fixes that by using the CCK flag again. Cc: [email protected] Fixes: a5e70697d0c4 ("mac80211: add radiotap flag and handling for 5/10 MHz") Signed-off-by: Mathy Vanhoef <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2015-01-23x86/tsc: Change Fast TSC calibration failed from error to infoAlexandre Demers1-1/+1
Many users see this message when booting without knowning that it is of no importance and that TSC calibration may have succeeded by another way. As explained by Paul Bolle in http://lkml.kernel.org/r/[email protected] "Fast TSC calibration failed" should not be considered as an error since other calibration methods are being tried afterward. At most, those send a warning if they fail (not an error). So let's change the message from error to warning. [ tglx: Make if pr_info. It's really not important at all ] Fixes: c767a54ba065 x86/debug: Add KERN_<LEVEL> to bare printks, convert printks to pr_<level> Signed-off-by: Alexandre Demers <[email protected]> Cc: [email protected] Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2015-01-23mac80211: correct header length calculationFred Chou1-0/+6
HT Control field may also be present in management frames, as defined in 8.2.4.1.10 of 802.11-2012. Account for this in calculation of header length. Signed-off-by: Fred Chou <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2015-01-23mac80211: only roll back station states for WDS when suspendingLuciano Coelho1-14/+15
In normal cases (i.e. when we are fully associated), cfg80211 takes care of removing all the stations before calling suspend in mac80211. But in the corner case when we suspend during authentication or association, mac80211 needs to roll back the station states. But we shouldn't roll back the station states in the suspend function, because this is taken care of in other parts of the code, except for WDS interfaces. For AP types of interfaces, cfg80211 takes care of disconnecting all stations before calling the driver's suspend code. For station interfaces, this is done in the quiesce code. For WDS interfaces we still need to do it here, so move the code into a new switch case for WDS. Cc: [email protected] [3.15+] Signed-off-by: Luciano Coelho <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2015-01-23x86/apic: Re-enable PCI_MSI support for non-SMP X86_32Bryan O'Donoghue1-1/+5
Commit 0dbc6078c06bc0 ('x86, build, pci: Fix PCI_MSI build on !SMP') introduced the dependency that X86_UP_APIC is only available when PCI_MSI is false. This effectively prevents PCI_MSI support on 32bit UP systems because it disables both APIC and IO-APIC. But APIC support is architecturally required for PCI_MSI. The intention of the patch was to enforce APIC support when PCI_MSI is enabled, but failed to do so. Remove the !PCI_MSI dependency from X86_UP_APIC and enforce X86_UP_APIC when PCI_MSI support is enabled on 32bit UP systems. [ tglx: Massaged changelog ] Fixes 0dbc6078c06bc0 'x86, build, pci: Fix PCI_MSI build on !SMP' Signed-off-by: Bryan O'Donoghue <[email protected]> Suggested-by: Thomas Gleixner <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Cc: Thomas Petazzoni <[email protected]> Cc: [email protected] Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2015-01-23scsi: always increment reference countRusty Russell1-10/+3
James reported: > After e513cc1 module: Remove stop_machine from module unloading, > module_refcount() is returning (unsigned long)-1 when called from within > a routine that runs in module_exit. This is confusing the scsi device > put code which is coded to detect a module_refcount() of zero for > running within a module exit routine and not try to do another > module_put. The fix is to restore the original behaviour of > module_refcount() and return zero if we're running inside an exit > routine. The correct fix is to turn try_module_get() into __module_get(), and always do the module_put(). Acked-by: James Bottomley <[email protected]> Signed-off-by: Rusty Russell <[email protected]>
2015-01-22x86, mm: Change cachemode exports to non-gplJuergen Gross1-2/+2
Commit 281d4078bec3 ("x86: Make page cache mode a real type") introduced the symbols __cachemode2pte_tbl and __pte2cachemode_tbl and exported them via EXPORT_SYMBOL_GPL. The exports are part of a replacement of code which has been EXPORT_SYMBOL before these changes resulting in build breakage of out-of-tree non-gpl modules. Change EXPORT_SYMBOL_GPL to EXPORT-SYMBOL for these two symbols. Fixes: 281d4078bec3 "x86: Make page cache mode a real type" Reported-and-tested-by: Steven Noonan <[email protected]> Signed-off-by: Juergen Gross <[email protected]> Reviewed-by: Toshi Kani <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2015-01-22x86, tls: Interpret an all-zero struct user_desc as "no segment"Andy Lutomirski2-2/+36
The Witcher 2 did something like this to allocate a TLS segment index: struct user_desc u_info; bzero(&u_info, sizeof(u_info)); u_info.entry_number = (uint32_t)-1; syscall(SYS_set_thread_area, &u_info); Strictly speaking, this code was never correct. It should have set read_exec_only and seg_not_present to 1 to indicate that it wanted to find a free slot without putting anything there, or it should have put something sensible in the TLS slot if it wanted to allocate a TLS entry for real. The actual effect of this code was to allocate a bogus segment that could be used to exploit espfix. The set_thread_area hardening patches changed the behavior, causing set_thread_area to return -EINVAL and crashing the game. This changes set_thread_area to interpret this as a request to find a free slot and to leave it empty, which isn't *quite* what the game expects but should be close enough to keep it working. In particular, using the code above to allocate two segments will allocate the same segment both times. According to FrostbittenKing on Github, this fixes The Witcher 2. If this somehow still causes problems, we could instead allocate a limit==0 32-bit data segment, but that seems rather ugly to me. Fixes: 41bdc78544b8 x86/tls: Validate TLS entries to protect espfix Signed-off-by: Andy Lutomirski <[email protected]> Cc: [email protected] Cc: [email protected] Link: http://lkml.kernel.org/r/0cb251abe1ff0958b8e468a9a9a905b80ae3a746.1421954363.git.luto@amacapital.net Signed-off-by: Thomas Gleixner <[email protected]>
2015-01-22x86, tls, ldt: Stop checking lm in LDT_emptyAndy Lutomirski1-7/+2
32-bit programs don't have an lm bit in their ABI, so they can't reliably cause LDT_empty to return true without resorting to memset. They shouldn't need to do this. This should fix a longstanding, if minor, issue in all 64-bit kernels as well as a potential regression in the TLS hardening code. Fixes: 41bdc78544b8 x86/tls: Validate TLS entries to protect espfix Cc: [email protected] Signed-off-by: Andy Lutomirski <[email protected]> Cc: [email protected] Link: http://lkml.kernel.org/r/72a059de55e86ad5e2935c80aa91880ddf19d07c.1421954363.git.luto@amacapital.net Signed-off-by: Thomas Gleixner <[email protected]>
2015-01-22x86, mpx: Strictly enforce empty prctl() argsDave Hansen1-0/+4
Description from Michael Kerrisk. He suggested an identical patch to one I had already coded up and tested. commit fe3d197f8431 "x86, mpx: On-demand kernel allocation of bounds tables" added two new prctl() operations, PR_MPX_ENABLE_MANAGEMENT and PR_MPX_DISABLE_MANAGEMENT. However, no checks were included to ensure that unused arguments are zero, as is done in many existing prctl()s and as should be done for all new prctl()s. This patch adds the required checks. Suggested-by: Andy Lutomirski <[email protected]> Suggested-by: Michael Kerrisk <[email protected]> Signed-off-by: Dave Hansen <[email protected]> Cc: Dave Hansen <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2015-01-22x86, mpx: Fix potential performance issue on unmapsDave Hansen1-1/+19
The 3.19 merge window saw some TLB modifications merged which caused a performance regression. They were fixed in commit 045bbb9fa. Once that fix was applied, I also noticed that there was a small but intermittent regression still present. It was not present consistently enough to bisect reliably, but I'm fairly confident that it came from (my own) MPX patches. The source was reading a relatively unused field in the mm_struct via arch_unmap. I also noted that this code was in the main instruction flow of do_munmap() and probably had more icache impact than we want. This patch does two things: 1. Adds a static (via Kconfig) and dynamic (via cpuid) check for MPX with cpu_feature_enabled(). This keeps us from reading that cacheline in the mm and trades it for a check of the global CPUID variables at least on CPUs without MPX. 2. Adds an unlikely() to ensure that the MPX call ends up out of the main instruction flow in do_munmap(). I've added a detailed comment about why this was done and why we want it even on systems where MPX is present. Signed-off-by: Dave Hansen <[email protected]> Cc: [email protected] Cc: Dave Hansen <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2015-01-22x86, mpx: Explicitly disable 32-bit MPX support on 64-bit kernelsDave Hansen1-0/+6
We had originally planned on submitting MPX support in one patch set. We eventually broke it up in to two pieces for easier review. One of the features that didn't make the first round was supporting 32-bit binaries on 64-bit kernels. Once we split the set up, we never added code to restrict 32-bit binaries from _using_ MPX on 64-bit kernels. The 32-bit bounds tables are a different format than the 64-bit ones. Without this patch, the kernel will try to read a 32-bit binary's tables as if they were the 64-bit version. They will likely be noticed as being invalid rather quickly and the app will get killed, but that's kinda mean. This patch adds an explicit check, and will make a 64-bit kernel essentially behave as if it has no MPX support when called from a 32-bit binary. Signed-off-by: Dave Hansen <[email protected]> Cc: Andy Lutomirski <[email protected]> Cc: Dave Hansen <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2015-01-22MAINTAINERS: Update Richard Zhu's email addressLucas Stach1-1/+1
The old cryptic address bounces, fix it by using a properly working one. Signed-off-by: Lucas Stach <[email protected]> Signed-off-by: Bjorn Helgaas <[email protected]> Acked-by: Richard Zhu <[email protected]>
2015-01-23Merge branch 'for-linus' of ↵Linus Torvalds2-18/+19
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 fixes from Martin Schwidefsky: "Five more bug fixes from Michael for the s390 BPF jit" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/bpf: Zero extend parameters before calling C function s390/bpf: Fix sk_load_byte_msh() s390/bpf: Fix offset parameter for skb_copy_bits() s390/bpf: Fix skb_copy_bits() parameter passing s390/bpf: Fix JMP_JGE_K (A >= K) and JMP_JGT_K (A > K)
2015-01-23Merge tag 'nios2-fixes-v3.19-rc6' of ↵Linus Torvalds1-1/+1
git://git.rocketboards.org/linux-socfpga-next Pull one arch/nios2 fix from Ley Foon Tan: "Fix kuser trampoline address" * tag 'nios2-fixes-v3.19-rc6' of git://git.rocketboards.org/linux-socfpga-next: nios2: fix kuser trampoline address
2015-01-23Merge tag 'fixes-for-linus' of ↵Linus Torvalds18-65/+94
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull module and param fixes from Rusty Russell: "Surprising number of fixes this merge window :( The first two are minor fallout from the param rework which went in this merge window. The next three are a series which fixes a longstanding (but never previously reported and unlikely , so no CC stable) race between kallsyms and freeing the init section. Finally, a minor cleanup as our module refcount will now be -1 during unload" * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: module: make module_refcount() a signed integer. module: fix race in kallsyms resolution during module load success. module: remove mod arg from module_free, rename module_memfree(). module_arch_freeing_init(): new hook for archs before module->module_init freed. param: fix uninitialized read with CONFIG_DEBUG_LOCK_ALLOC param: initialize store function to NULL if not available.
2015-01-22MAINTAINERS: ibmvscsi driver maintainer changeTyrel Datwyler1-1/+1
Change maintainer of ibmvscsi driver to Tyrel Datwyler. Signed-off-by: Tyrel Datwyler <[email protected]> Acked-by: Nathan Fontenot <[email protected]> Cc: Brian King <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2015-01-22MAINTAINERS: ibmvfc driver maintainer changeTyrel Datwyler1-1/+1
Change maintainer of ibmvfc driver to Tyrel Datwyler. Signed-off-by: Tyrel Datwyler <[email protected]> Cc: Nathan Fontenot <[email protected]> Cc: Brian King <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2015-01-22MAINTAINERS: Remove self as isci maintainerDave Jiang1-1/+0
Removing myself as a maintainer. Signed-off-by: Dave Jiang <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2015-01-22scsi_debug: test always evaluates to false, || should be used insteadColin Ian King1-1/+1
cppcheck found the following issue: (warning) Logical conjunction always evaluates to false: alloc_len < 4 && alloc_len > 65535. ..the test should be instead: if (alloc_len < 4 || alloc_len > 65536) This error was introduced by recent commit 38d5c8336e60bf6e53a1da9 ("scsi_debug: add Report supported opcodes+tmfs; Compare and write") Signed-off-by: Colin Ian King <[email protected]> Acked-by: Douglas Gilbert <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2015-01-22drm/radeon: Remove rdev->gart.pages_addr arrayMichel Dänzer6-20/+2
radeon_vm_map_gart can use rdev->gart.pages_entry instead. Also move the masking of the page address to radeon_vm_map_gart from its callers. Reviewed-by: Christian König <[email protected]> Signed-off-by: Michel Dänzer <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22drm/radeon: Restore GART table contents after pinning it in VRAM v3Michel Dänzer1-0/+13
The GART table BO has to be moved out of VRAM for suspend/resume. Any updates to the GART table during that time were silently dropped without this change. This caused GPU lockups on resume in some cases, see the bug reports referenced below. This might also make GPU reset more robust in some cases, as we no longer rely on the GART table in VRAM being preserved across the GPU lockup/reset. v2: Add logic to radeon_gart_table_vram_pin directly instead of reinstating radeon_gart_restore v3: Move code after assignment of rdev->gart.table_addr so that the GART TLB flush can work as intended, add code comment explaining why we're doing this Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85204 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86267 Reviewed-by: Christian König <[email protected]> Cc: [email protected] Signed-off-by: Michel Dänzer <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22drm/radeon: Split off gart_get_page_entry ASIC hook from set_page_entryMichel Dänzer9-37/+100
get_page_entry calculates the GART page table entry, which is just written to the GART page table by set_page_entry. This is a prerequisite for the following fix. Reviewed-by: Christian König <[email protected]> Cc: [email protected] Signed-off-by: Michel Dänzer <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22drm/amdkfd: change amdkfd version to 0.7.1Oded Gabbay1-2/+2
Signed-off-by: Oded Gabbay <[email protected]>
2015-01-22drm/radeon: cik_sdma_ctx_switch_enable() can be statickbuild test robot1-1/+1
drivers/gpu/drm/radeon/cik_sdma.c:293:6: sparse: symbol 'cik_sdma_ctx_switch_enable' was not declared. Should it be static? Signed-off-by: Fengguang Wu <[email protected]> Signed-off-by: Oded Gabbay <[email protected]>
2015-01-22drm/amdkfd: Fix sparse errorsOded Gabbay3-37/+27
Signed-off-by: Oded Gabbay <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2015-01-22drm/radeon: make MMU_NOTIFIER optionalRob Clark3-2/+11
In cases where MMU_NOTIFIER is not available, userptr will not be available. Similar to i915, although not making an exception for CAP_SYS_ADMIN. The proposed userspace patches for userptr seem to handle the fall- back properly, so a userptr-less kernel should not be a problem. Signed-off-by: Rob Clark <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22drm/radeon: use NULL rather then 0 in audio detectAlex Deucher1-1/+1
Signed-off-by: Alex Deucher <[email protected]>
2015-01-22drm/radeon: whitespace clean up in radeon_audio.cAlex Deucher1-35/+35
Clean up some formatting in radeon_audio.c to be more consistent with the rest of the driver. Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: enable DP audioSlava Grigorev5-0/+147
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: moved audio caps programming to audio_hotplug() functionSlava Grigorev1-35/+43
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: applied audio_dpms() and audio_mode_set() callsSlava Grigorev5-26/+27
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: consolidate audio_mode_set() functionsSlava Grigorev8-162/+66
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: removed unnecessary debug settingsSlava Grigorev3-18/+0
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: moved mute programming to a separate functionSlava Grigorev5-11/+58
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: moved audio packet programming to a separate functionSlava Grigorev5-112/+134
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: set_avi_packet() function cleanupSlava Grigorev5-79/+59
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: removed unnecessary CRC control programingSlava Grigorev2-6/+0
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon: moved HDMI color depth programming to a separate functionSlava Grigorev5-34/+62
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: moved VBI packet programming to separate functionsAlex Deucher5-21/+45
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: consolidate update_acr() functions (v2)Slava Grigorev5-133/+183
V2: fix missing dce6 callback Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: consolidate update_avi_infoframe() functionsSlava Grigorev5-22/+34
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: consolidate audio_set_dto() functionsSlava Grigorev8-100/+226
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: consolidate audio_fini() functionsSlava Grigorev12-41/+26
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: consolidate audio_enable() functionsSlava Grigorev6-26/+28
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: consolidate select_pin() functionsSlava Grigorev3-5/+14
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: consolidate audio_get_pin() functionsSlava Grigorev5-4/+25
Reviewed-by: Christian König <[email protected]> Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-01-22radeon/audio: consolidate write_latency_fields() functionsSlava Grigorev4-39/+44
Signed-off-by: Slava Grigorev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>