From: Ben Hutchings <ben@decadent.org.uk>
To: linux-kernel@vger.kernel.org
Cc: stable@vger.kernel.org, akpm@linux-foundation.org,
Matt Fleming <matt.fleming@intel.com>,
David Airlie <airlied@linux.ie>,
Corentin Chary <corentincj@iksaif.net>,
Matthew Garrett <mjg59@srcf.ucam.org>,
Dave Jiang <dave.jiang@intel.com>,
Olof Johansson <olof@lixom.net>, Peter Jones <pjones@redhat.com>,
Colin Ian King <colin.king@canonical.com>,
Steve Langasek <steve.langasek@canonical.com>,
Tony Luck <tony.luck@intel.com>,
Konrad Rzeszutek Wilk <konrad@kernel.org>,
"Rafael J. Wysocki" <rjw@sisk.pl>,
"H. Peter Anvin" <hpa@linux.intel.com>
Subject: Re: [ 105/128] efi: Make efi_enabled a function to query EFI facilities
Date: Sun, 03 Feb 2013 16:15:57 +0100 [thread overview]
Message-ID: <1359904557.1822.2.camel@deadeye.wl.decadent.org.uk> (raw)
In-Reply-To: <20130203144653.313760856@decadent.org.uk>
[-- Attachment #1: Type: text/plain, Size: 11180 bytes --]
On Sun, 2013-02-03 at 15:48 +0100, Ben Hutchings wrote:
> 3.2-stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: Matt Fleming <matt.fleming@intel.com>
>
> commit 83e68189745ad931c2afd45d8ee3303929233e7f upstream.
[...]
> [bwh: Backported to 3.2:
> - Adjust context (a lot)
> - Add efi_is_native() function from commit 5189c2a7c776
> ('x86: efi: Turn off efi_enabled after setup on mixed fw/kernel')
> - Make efi_init() bail out when booted non-native, as it would previously
> not be called in this case
> - Drop inapplicable changes to start_kernel()]
> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
As you can see this needed quite a lot of work to backport, and I
haven't been able to test it yet. So I would particularly appreciate
careful review of this.
Ben.
> ---
> --- a/arch/x86/include/asm/efi.h
> +++ b/arch/x86/include/asm/efi.h
> @@ -90,6 +90,7 @@ extern void __iomem *efi_ioremap(unsigne
> #endif /* CONFIG_X86_32 */
>
> extern int add_efi_memmap;
> +extern unsigned long x86_efi_facility;
> extern void efi_set_executable(efi_memory_desc_t *md, bool executable);
> extern void efi_memblock_x86_reserve_range(void);
> extern void efi_call_phys_prelog(void);
> --- a/arch/x86/kernel/reboot.c
> +++ b/arch/x86/kernel/reboot.c
> @@ -603,7 +603,7 @@ static void native_machine_emergency_res
> break;
>
> case BOOT_EFI:
> - if (efi_enabled)
> + if (efi_enabled(EFI_RUNTIME_SERVICES))
> efi.reset_system(reboot_mode ?
> EFI_RESET_WARM :
> EFI_RESET_COLD,
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -750,15 +750,16 @@ void __init setup_arch(char **cmdline_p)
> #endif
> #ifdef CONFIG_EFI
> if (!strncmp((char *)&boot_params.efi_info.efi_loader_signature,
> -#ifdef CONFIG_X86_32
> - "EL32",
> -#else
> - "EL64",
> -#endif
> - 4)) {
> - efi_enabled = 1;
> - efi_memblock_x86_reserve_range();
> + "EL32", 4)) {
> + set_bit(EFI_BOOT, &x86_efi_facility);
> + } else if (!strncmp((char *)&boot_params.efi_info.efi_loader_signature,
> + "EL64", 4)) {
> + set_bit(EFI_BOOT, &x86_efi_facility);
> + set_bit(EFI_64BIT, &x86_efi_facility);
> }
> +
> + if (efi_enabled(EFI_BOOT))
> + efi_memblock_x86_reserve_range();
> #endif
>
> x86_init.oem.arch_setup();
> @@ -831,7 +832,7 @@ void __init setup_arch(char **cmdline_p)
>
> finish_e820_parsing();
>
> - if (efi_enabled)
> + if (efi_enabled(EFI_BOOT))
> efi_init();
>
> dmi_scan_machine();
> @@ -914,7 +915,7 @@ void __init setup_arch(char **cmdline_p)
> * The EFI specification says that boot service code won't be called
> * after ExitBootServices(). This is, in fact, a lie.
> */
> - if (efi_enabled)
> + if (efi_enabled(EFI_MEMMAP))
> efi_reserve_boot_services();
>
> /* preallocate 4k for mptable mpc */
> @@ -1048,7 +1049,7 @@ void __init setup_arch(char **cmdline_p)
>
> #ifdef CONFIG_VT
> #if defined(CONFIG_VGA_CONSOLE)
> - if (!efi_enabled || (efi_mem_type(0xa0000) != EFI_CONVENTIONAL_MEMORY))
> + if (!efi_enabled(EFI_BOOT) || (efi_mem_type(0xa0000) != EFI_CONVENTIONAL_MEMORY))
> conswitchp = &vga_con;
> #elif defined(CONFIG_DUMMY_CONSOLE)
> conswitchp = &dummy_con;
> --- a/arch/x86/platform/efi/efi.c
> +++ b/arch/x86/platform/efi/efi.c
> @@ -49,9 +49,6 @@
> #define EFI_DEBUG 1
> #define PFX "EFI: "
>
> -int efi_enabled;
> -EXPORT_SYMBOL(efi_enabled);
> -
> struct efi __read_mostly efi = {
> .mps = EFI_INVALID_TABLE_ADDR,
> .acpi = EFI_INVALID_TABLE_ADDR,
> @@ -70,9 +67,25 @@ struct efi_memory_map memmap;
> static struct efi efi_phys __initdata;
> static efi_system_table_t efi_systab __initdata;
>
> +static inline bool efi_is_native(void)
> +{
> + return IS_ENABLED(CONFIG_X86_64) == efi_enabled(EFI_64BIT);
> +}
> +
> +unsigned long x86_efi_facility;
> +
> +/*
> + * Returns 1 if 'facility' is enabled, 0 otherwise.
> + */
> +int efi_enabled(int facility)
> +{
> + return test_bit(facility, &x86_efi_facility) != 0;
> +}
> +EXPORT_SYMBOL(efi_enabled);
> +
> static int __init setup_noefi(char *arg)
> {
> - efi_enabled = 0;
> + clear_bit(EFI_BOOT, &x86_efi_facility);
> return 0;
> }
> early_param("noefi", setup_noefi);
> @@ -440,6 +453,9 @@ void __init efi_init(void)
> int i = 0;
> void *tmp;
>
> + if (!efi_is_native())
> + return;
> +
> #ifdef CONFIG_X86_32
> efi_phys.systab = (efi_system_table_t *)boot_params.efi_info.efi_systab;
> #else
> @@ -467,6 +483,8 @@ void __init efi_init(void)
> efi.systab->hdr.revision >> 16,
> efi.systab->hdr.revision & 0xffff);
>
> + set_bit(EFI_SYSTEM_TABLES, &x86_efi_facility);
> +
> /*
> * Show what we know for posterity
> */
> @@ -529,6 +547,8 @@ void __init efi_init(void)
> early_iounmap(config_tables,
> efi.systab->nr_tables * sizeof(efi_config_table_t));
>
> + set_bit(EFI_CONFIG_TABLES, &x86_efi_facility);
> +
> /*
> * Check out the runtime services table. We need to map
> * the runtime services table so that we can grab the physical
> @@ -552,6 +572,8 @@ void __init efi_init(void)
> * virtual mode.
> */
> efi.get_time = phys_efi_get_time;
> +
> + set_bit(EFI_RUNTIME_SERVICES, &x86_efi_facility);
> } else
> printk(KERN_ERR "Could not map the EFI runtime service "
> "table!\n");
> @@ -571,6 +593,8 @@ void __init efi_init(void)
> if (add_efi_memmap)
> do_add_efi_memmap();
>
> + set_bit(EFI_MEMMAP, &x86_efi_facility);
> +
> #ifdef CONFIG_X86_32
> x86_platform.get_wallclock = efi_get_time;
> x86_platform.set_wallclock = efi_set_rtc_mmss;
> @@ -747,6 +771,7 @@ void __init efi_enter_virtual_mode(void)
> efi.query_capsule_caps = virt_efi_query_capsule_caps;
> if (__supported_pte_mask & _PAGE_NX)
> runtime_code_page_mkexec();
> + clear_bit(EFI_MEMMAP, &x86_efi_facility);
> early_iounmap(memmap.map, memmap.nr_map * memmap.desc_size);
> memmap.map = NULL;
> kfree(new_memmap);
> @@ -760,6 +785,9 @@ u32 efi_mem_type(unsigned long phys_addr
> efi_memory_desc_t *md;
> void *p;
>
> + if (!efi_enabled(EFI_MEMMAP))
> + return 0;
> +
> for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
> md = p;
> if ((md->phys_addr <= phys_addr) &&
> --- a/drivers/acpi/osl.c
> +++ b/drivers/acpi/osl.c
> @@ -255,7 +255,7 @@ acpi_physical_address __init acpi_os_get
> return acpi_rsdp;
> #endif
>
> - if (efi_enabled) {
> + if (efi_enabled(EFI_CONFIG_TABLES)) {
> if (efi.acpi20 != EFI_INVALID_TABLE_ADDR)
> return efi.acpi20;
> else if (efi.acpi != EFI_INVALID_TABLE_ADDR)
> --- a/drivers/firmware/dmi_scan.c
> +++ b/drivers/firmware/dmi_scan.c
> @@ -432,7 +432,7 @@ void __init dmi_scan_machine(void)
> char __iomem *p, *q;
> int rc;
>
> - if (efi_enabled) {
> + if (efi_enabled(EFI_CONFIG_TABLES)) {
> if (efi.smbios == EFI_INVALID_TABLE_ADDR)
> goto error;
>
> --- a/drivers/firmware/efivars.c
> +++ b/drivers/firmware/efivars.c
> @@ -1222,7 +1222,7 @@ efivars_init(void)
> printk(KERN_INFO "EFI Variables Facility v%s %s\n", EFIVARS_VERSION,
> EFIVARS_DATE);
>
> - if (!efi_enabled)
> + if (!efi_enabled(EFI_RUNTIME_SERVICES))
> return 0;
>
> /* For now we'll register the efi directory at /sys/firmware/efi */
> @@ -1260,7 +1260,7 @@ err_put:
> static void __exit
> efivars_exit(void)
> {
> - if (efi_enabled) {
> + if (efi_enabled(EFI_RUNTIME_SERVICES)) {
> unregister_efivars(&__efivars);
> kobject_put(efi_kobj);
> }
> --- a/drivers/firmware/iscsi_ibft_find.c
> +++ b/drivers/firmware/iscsi_ibft_find.c
> @@ -99,7 +99,7 @@ unsigned long __init find_ibft_region(un
> /* iBFT 1.03 section 1.4.3.1 mandates that UEFI machines will
> * only use ACPI for this */
>
> - if (!efi_enabled)
> + if (!efi_enabled(EFI_BOOT))
> find_ibft_in_mem();
>
> if (ibft_addr) {
> --- a/drivers/gpu/drm/radeon/radeon_device.c
> +++ b/drivers/gpu/drm/radeon/radeon_device.c
> @@ -354,7 +354,8 @@ bool radeon_card_posted(struct radeon_de
> {
> uint32_t reg;
>
> - if (efi_enabled && rdev->pdev->subsystem_vendor == PCI_VENDOR_ID_APPLE)
> + if (efi_enabled(EFI_BOOT) &&
> + rdev->pdev->subsystem_vendor == PCI_VENDOR_ID_APPLE)
> return false;
>
> /* first check CRTCs */
> --- a/drivers/platform/x86/ibm_rtl.c
> +++ b/drivers/platform/x86/ibm_rtl.c
> @@ -255,7 +255,7 @@ static int __init ibm_rtl_init(void) {
> if (force)
> pr_warn("module loaded by force\n");
> /* first ensure that we are running on IBM HW */
> - else if (efi_enabled || !dmi_check_system(ibm_rtl_dmi_table))
> + else if (efi_enabled(EFI_BOOT) || !dmi_check_system(ibm_rtl_dmi_table))
> return -ENODEV;
>
> /* Get the address for the Extended BIOS Data Area */
> --- a/drivers/scsi/isci/init.c
> +++ b/drivers/scsi/isci/init.c
> @@ -459,7 +459,7 @@ static int __devinit isci_pci_probe(stru
> return -ENOMEM;
> pci_set_drvdata(pdev, pci_info);
>
> - if (efi_enabled)
> + if (efi_enabled(EFI_RUNTIME_SERVICES))
> orom = isci_get_efi_var(pdev);
>
> if (!orom)
> --- a/include/linux/efi.h
> +++ b/include/linux/efi.h
> @@ -364,17 +364,30 @@ extern int __init efi_setup_pcdp_console
> #endif
>
> /*
> - * We play games with efi_enabled so that the compiler will, if possible, remove
> - * EFI-related code altogether.
> + * We play games with efi_enabled so that the compiler will, if
> + * possible, remove EFI-related code altogether.
> */
> +#define EFI_BOOT 0 /* Were we booted from EFI? */
> +#define EFI_SYSTEM_TABLES 1 /* Can we use EFI system tables? */
> +#define EFI_CONFIG_TABLES 2 /* Can we use EFI config tables? */
> +#define EFI_RUNTIME_SERVICES 3 /* Can we use runtime services? */
> +#define EFI_MEMMAP 4 /* Can we use EFI memory map? */
> +#define EFI_64BIT 5 /* Is the firmware 64-bit? */
> +
> #ifdef CONFIG_EFI
> # ifdef CONFIG_X86
> - extern int efi_enabled;
> +extern int efi_enabled(int facility);
> # else
> -# define efi_enabled 1
> +static inline int efi_enabled(int facility)
> +{
> + return 1;
> +}
> # endif
> #else
> -# define efi_enabled 0
> +static inline int efi_enabled(int facility)
> +{
> + return 0;
> +}
> #endif
>
> /*
> --- a/init/main.c
> +++ b/init/main.c
> @@ -606,7 +606,7 @@ asmlinkage void __init start_kernel(void
> pidmap_init();
> anon_vma_init();
> #ifdef CONFIG_X86
> - if (efi_enabled)
> + if (efi_enabled(EFI_RUNTIME_SERVICES))
> efi_enter_virtual_mode();
> #endif
> thread_info_cache_init();
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
Ben Hutchings
Everything should be made as simple as possible, but not simpler.
- Albert Einstein
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
next prev parent reply other threads:[~2013-02-03 15:16 UTC|newest]
Thread overview: 149+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-03 14:46 [ 000/128] 3.2.38-stable review Ben Hutchings
2013-02-03 14:46 ` [ 001/128] usb: gadget: dummy: fix enumeration with g_multi Ben Hutchings
2013-02-03 14:46 ` [ 002/128] usb: musb: core: print new line in the driver banner again Ben Hutchings
2013-02-03 14:46 ` [ 003/128] virtio-blk: Dont free ida when disk is in use Ben Hutchings
2013-02-03 14:46 ` [ 004/128] mac80211: use del_timer_sync for final sta cleanup timer deletion Ben Hutchings
2013-02-03 14:46 ` [ 005/128] xhci: Handle HS bulk/ctrl endpoints that dont NAK Ben Hutchings
2013-02-03 14:46 ` [ 006/128] USB: Handle auto-transition from hot to warm reset Ben Hutchings
2013-02-03 14:46 ` [ 007/128] USB: Ignore xHCI Reset Device status Ben Hutchings
2013-02-03 14:46 ` [ 008/128] USB: Allow USB 3.0 ports to be disabled Ben Hutchings
2013-02-03 14:46 ` [ 009/128] USB: Increase reset timeout Ben Hutchings
2013-02-03 14:46 ` [ 010/128] USB: Ignore port state until reset completes Ben Hutchings
2013-02-03 14:46 ` [ 011/128] USB: Handle warm reset failure on empty port Ben Hutchings
2013-02-03 14:46 ` [ 012/128] xhci: Avoid "dead ports", add roothub port polling Ben Hutchings
2013-02-03 14:46 ` [ 013/128] ASoC: wm5100: Remove DSP B and left justified formats Ben Hutchings
2013-02-03 14:46 ` [ 014/128] mwifiex: wakeup and stop multiple tx queues in net_device Ben Hutchings
2013-02-04 19:43 ` Bing Zhao
2013-02-04 23:41 ` Ben Hutchings
2013-02-05 0:36 ` Bing Zhao
2013-02-06 4:21 ` Ben Hutchings
2013-02-05 18:44 ` Bing Zhao
2013-02-03 14:46 ` [ 015/128] mwifiex: handle association failure case correctly Ben Hutchings
2013-02-03 14:47 ` [ 016/128] mwifiex: check wait_event_interruptible return value Ben Hutchings
2013-02-03 14:47 ` [ 017/128] ASoC: wm2000: Fix sense of speech clarity enable Ben Hutchings
2013-02-03 14:47 ` [ 018/128] ioat: Fix DMA memory sync direction correct flag Ben Hutchings
2013-02-03 14:47 ` [ 019/128] drm/i915; Only increment the user-pin-count after successfully pinning the bo Ben Hutchings
2013-02-03 14:47 ` [ 020/128] staging: r8712u: Add new device ID Ben Hutchings
2013-02-03 14:47 ` [ 021/128] staging: speakup: avoid out-of-range access in synth_init() Ben Hutchings
2013-02-03 14:47 ` [ 022/128] staging: speakup: avoid out-of-range access in synth_add() Ben Hutchings
2013-02-03 14:47 ` [ 023/128] staging: comedi: fix minimum AO period for NI 625x and NI 628x Ben Hutchings
2013-02-03 14:47 ` [ 024/128] staging: comedi: comedi_test: fix race when cancelling command Ben Hutchings
2013-02-03 14:47 ` [ 025/128] regulator: max8997: Use uV in voltage_map_desc Ben Hutchings
2013-02-03 14:47 ` [ 026/128] ALSA: pxa27x: fix ac97 cold reset Ben Hutchings
2013-02-03 14:47 ` [ 027/128] ALSA: pxa27x: fix ac97 warm reset Ben Hutchings
2013-02-03 14:47 ` [ 028/128] SUNRPC: Ensure we release the socket write lock if the rpc_task exits early Ben Hutchings
2013-02-03 14:47 ` [ 029/128] target: use correct sense code for LUN communication failure Ben Hutchings
2013-02-03 14:47 ` [ 030/128] Revert "ALSA: hda - Shut up pins at power-saving mode with Conexnat codecs" Ben Hutchings
2013-02-03 14:47 ` [ 031/128] regulator: max8998: Ensure enough delay time for max8998_set_voltage_buck_time_sel Ben Hutchings
2013-02-03 14:47 ` [ 032/128] radeon/kms: force rn50 chip to always report connected on analog output Ben Hutchings
2013-02-03 14:47 ` [ 033/128] tcm_fc: Do not indicate retry capability to initiators Ben Hutchings
2013-02-03 14:47 ` [ 034/128] tcm_fc: Do not report target role when target is not defined Ben Hutchings
2013-02-03 14:47 ` [ 035/128] sh: Fix FDPIC binary loader Ben Hutchings
2013-02-03 14:47 ` [ 036/128] USB: option: Add new MEDIATEK PID support Ben Hutchings
2013-02-03 14:47 ` [ 037/128] USB: option: blacklist network interface on ZTE MF880 Ben Hutchings
2013-02-03 14:47 ` [ 038/128] USB: option: add Telekom Speedstick LTE II Ben Hutchings
2013-02-03 14:47 ` [ 039/128] USB: option: add Nexpring NP10T terminal id Ben Hutchings
2013-02-03 14:47 ` [ 040/128] USB: cdc-acm: Add support for "PSC Scanning, Magellan 800i" Ben Hutchings
2013-02-03 14:47 ` [ 041/128] USB: hub: handle claim of enabled remote wakeup after reset Ben Hutchings
2013-02-03 14:47 ` [ 042/128] mm: compaction: fix echo 1 > compact_memory return error issue Ben Hutchings
2013-02-03 14:47 ` [ 043/128] mm: use aligned zone start for pfn_to_bitidx calculation Ben Hutchings
2013-02-03 14:47 ` [ 044/128] USB: Add device quirk for Microsoft VX700 webcam Ben Hutchings
2013-02-03 14:47 ` [ 045/128] PCI: pciehp: Fix wrong workqueue cleanup Ben Hutchings
2013-02-03 14:47 ` [ 046/128] PCI: pciehp: Handle push button event asynchronously Ben Hutchings
2013-02-03 14:47 ` [ 047/128] PCI: pciehp: Use per-slot workqueues to avoid deadlock Ben Hutchings
2013-02-03 14:47 ` [ 048/128] usb: ftdi_sio: Crucible Technologies COMET Caller ID - pid added Ben Hutchings
2013-02-03 14:47 ` [ 049/128] PCI/AER: pci_get_domain_bus_and_slot() call missing required pci_dev_put() Ben Hutchings
2013-02-03 14:47 ` [ 050/128] PCI: shpchp: Handle push button event asynchronously Ben Hutchings
2013-02-03 14:47 ` [ 051/128] PCI: shpchp: Use per-slot workqueues to avoid deadlock Ben Hutchings
2013-02-03 14:47 ` [ 052/128] PCI: Allow pcie_aspm=force even when FADT indicates it is unsupported Ben Hutchings
2013-02-03 14:47 ` [ 053/128] serial:ifx6x60:Delete SPI timer when shut down port Ben Hutchings
2013-02-03 14:47 ` [ 054/128] tty: 8250_dw: Fix inverted arguments to serial_out in IRQ handler Ben Hutchings
2013-02-03 14:47 ` [ 055/128] drm/i915: Invalidate the relocation presumed_offsets along the slow path Ben Hutchings
2013-02-03 14:47 ` [ 056/128] s390/time: fix sched_clock() overflow Ben Hutchings
2013-02-03 14:47 ` [ 057/128] ARM: 7627/1: Predicate preempt logic on PREEMP_COUNT not PREEMPT alone Ben Hutchings
2013-02-03 14:47 ` [ 058/128] ARM: 7628/1: head.S: map one extra section for the ATAG/DTB area Ben Hutchings
2013-02-03 15:17 ` Ben Hutchings
2013-02-03 18:36 ` Nicolas Pitre
2013-02-03 14:47 ` [ 059/128] xen: Fix stack corruption in xen_failsafe_callback for 32bit PVOPS guests Ben Hutchings
2013-02-03 14:47 ` [ 060/128] staging: vt6656: Fix inconsistent structure packing Ben Hutchings
2013-02-03 14:47 ` [ 061/128] 8250: blacklist Winbond CIR port Ben Hutchings
2013-02-03 17:26 ` Sean Young
2013-02-03 23:23 ` Ben Hutchings
2013-02-03 14:47 ` [ 062/128] 8250/16?50: Add support for Broadcom TruManage redirected serial port Ben Hutchings
2013-02-03 14:47 ` [ 063/128] KVM: PPC: Emulate dcbf Ben Hutchings
2013-02-03 14:47 ` [ 064/128] USB: option: blacklist network interface on ONDA MT8205 4G LTE Ben Hutchings
2013-02-03 14:47 ` [ 065/128] USB: option: add TP-LINK HSUPA Modem MA180 Ben Hutchings
2013-02-03 14:47 ` [ 066/128] USB: io_ti: Fix NULL dereference in chase_port() Ben Hutchings
2013-02-03 14:47 ` [ 067/128] usb: dwc3: gadget: fix ep->maxburst for ep0 Ben Hutchings
2013-02-03 14:47 ` [ 068/128] intel_idle: Dont register CPU notifier if we are not running Ben Hutchings
2013-02-03 14:47 ` [ 069/128] ACPI / cpuidle: Fix NULL pointer issues when cpuidle is disabled Ben Hutchings
2013-02-03 14:47 ` [ 070/128] ACPI / processor: Get power info before updating the C-states Ben Hutchings
2013-02-03 14:47 ` [ 071/128] ARM: DMA: Fix struct page iterator in dma_cache_maint() to work with sparsemem Ben Hutchings
2013-02-03 14:47 ` [ 072/128] evm: checking if removexattr is not a NULL Ben Hutchings
2013-02-03 14:47 ` [ 073/128] ALSA: hda - Add Conexant CX20751/2/3/4 codec support Ben Hutchings
2013-02-03 14:47 ` [ 074/128] ALSA: hda/conexant - Correct vendor IDs for new codecs Ben Hutchings
2013-02-03 14:47 ` [ 075/128] ALSA: hda - Add Conexant CX20755/20756/20757 codec IDs Ben Hutchings
2013-02-03 14:48 ` [ 076/128] ftrace: Be first to run code modification on modules Ben Hutchings
2013-02-03 14:48 ` [ 077/128] USB: UHCI: fix IRQ race during initialization Ben Hutchings
2013-02-03 14:48 ` [ 078/128] fs/cifs/cifs_dfs_ref.c: fix potential memory leakage Ben Hutchings
2013-02-03 14:48 ` [ 079/128] Bluetooth: Fix incorrect strncpy() in hidp_setup_hid() Ben Hutchings
2013-02-03 14:48 ` [ 080/128] ath9k_htc: Fix memory leak Ben Hutchings
2013-02-03 14:48 ` [ 081/128] ath9k: do not link receive buffers during flush Ben Hutchings
2013-02-03 14:48 ` [ 082/128] ath9k: fix double-free bug on beacon generate failure Ben Hutchings
2013-02-03 14:48 ` [ 083/128] brcmsmac: increase timer reference count for new timers only Ben Hutchings
2013-02-03 14:48 ` [ 084/128] efi, x86: Pass a proper identity mapping in efi_call_phys_prelog Ben Hutchings
2013-02-03 14:48 ` [ 085/128] ath9k_hw: fix calibration issues on chainmask that dont include chain 0 Ben Hutchings
2013-02-03 14:48 ` [ 086/128] ath9k_hw: fix chain swap setting when setting rx chainmask to 5 Ben Hutchings
2013-02-03 14:48 ` [ 087/128] mwifiex: fix typo in PCIe adapter NULL check Ben Hutchings
2013-02-03 14:48 ` [ 088/128] drm/i915: Remove the MI_FLUSH_ENABLE setting Ben Hutchings
2013-02-03 14:48 ` [ 089/128] drm/i915: Correct the bit number for the MI_FLUSH_ENABLE Ben Hutchings
2013-02-03 14:48 ` [ 090/128] drm/i915: Disable AsyncFlip performance optimisations Ben Hutchings
2013-02-03 14:48 ` [ 091/128] drm/i915: GFX_MODE Flush TLB Invalidate Mode must be 1 for scanline waits Ben Hutchings
2013-02-03 14:48 ` [ 092/128] iommu/intel: disable DMAR for g4x integrated gfx Ben Hutchings
2013-02-03 16:24 ` Mihai Moldovan
2013-02-03 20:14 ` Greg KH
2013-02-03 14:48 ` [ 093/128] drm/i915: dump UTS_RELEASE into the error_state Ben Hutchings
2013-02-03 14:48 ` [ 094/128] drm/radeon: fix a rare case of double kfree Ben Hutchings
2013-02-03 14:48 ` [ 095/128] x86/msr: Add capabilities check Ben Hutchings
2013-02-03 14:48 ` [ 096/128] can: c_can: fix invalid error codes Ben Hutchings
2013-02-03 14:48 ` [ 097/128] can: ti_hecc: " Ben Hutchings
2013-02-03 14:48 ` [ 098/128] can: pch_can: " Ben Hutchings
2013-02-03 14:48 ` [ 099/128] ALSA: usb-audio: fix invalid length check for RME and other UAC 2 devices Ben Hutchings
2013-02-03 14:48 ` [ 100/128] smp: Fix SMP function call empty cpu mask race Ben Hutchings
2013-02-03 14:48 ` [ 101/128] IOMMU, AMD Family15h Model10-1Fh erratum 746 Workaround Ben Hutchings
2013-02-03 14:48 ` [ 102/128] xfs: Fix possible use-after-free with AIO Ben Hutchings
2013-02-03 14:48 ` [ 103/128] ALSA: hda - Fix non-snoop page handling Ben Hutchings
2013-02-03 14:48 ` [ 104/128] EDAC: Test correct variable in ->store function Ben Hutchings
2013-02-03 14:48 ` [ 105/128] efi: Make efi_enabled a function to query EFI facilities Ben Hutchings
2013-02-03 15:15 ` Ben Hutchings [this message]
2013-02-04 16:44 ` Matt Fleming
2013-02-04 18:20 ` Greg KH
2013-02-06 4:45 ` Ben Hutchings
2013-02-05 3:46 ` Ben Hutchings
2013-02-05 15:40 ` Peter Jones
2013-02-03 14:48 ` [ 106/128] samsung-laptop: Disable on EFI hardware Ben Hutchings
2013-02-03 14:48 ` [ 107/128] NFS: Dont silently fail setattr() requests on mountpoints Ben Hutchings
2013-02-03 14:48 ` [ 108/128] NFSv4.1: Handle NFS4ERR_DELAY when resetting the NFSv4.1 session Ben Hutchings
2013-02-03 14:48 ` [ 109/128] x86/Sandy Bridge: reserve pages when integrated graphics is present Ben Hutchings
2013-02-03 14:48 ` [ 110/128] x86/Sandy Bridge: mark arrays in __init functions as __initconst Ben Hutchings
2013-02-03 14:48 ` [ 111/128] x86/Sandy Bridge: Sandy Bridge workaround depends on CONFIG_PCI Ben Hutchings
2013-02-03 14:48 ` [ 112/128] ahci: Add identifiers for ASM106x devices Ben Hutchings
2013-02-03 14:48 ` [ 113/128] [SCSI] sd: Reshuffle init_sd to avoid crash Ben Hutchings
2013-02-03 14:48 ` [ 114/128] drivers/firmware/dmi_scan.c: check dmi version when get system uuid Ben Hutchings
2013-02-03 14:48 ` [ 115/128] drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists Ben Hutchings
2013-02-03 14:48 ` [ 116/128] drm/i915: Implement WaDisableHiZPlanesWhenMSAAEnabled Ben Hutchings
2013-02-03 14:48 ` [ 117/128] x86: Use enum instead of literals for trap values Ben Hutchings
2013-02-03 14:48 ` [ 118/128] staging: comedi: Kconfig: COMEDI_NI_AT_A2150 should select COMEDI_FC Ben Hutchings
2013-02-03 14:48 ` [ 119/128] Revert "drm/i915: no lvds quirk for Zotac ZDBOX SD ID12/ID13" Ben Hutchings
2013-02-03 14:48 ` [ 120/128] staging: comedi: dont hijack hardware device private data Ben Hutchings
2013-02-03 14:48 ` [ 121/128] intel-iommu: Prevent devices with RMRRs from being placed into SI Domain Ben Hutchings
2013-02-03 14:48 ` [ 122/128] ALSA: usb - fix race in creation of M-Audio Fast track pro driver Ben Hutchings
2013-02-03 14:48 ` [ 123/128] igb: release already assigned MSI-X interrupts if setup fails Ben Hutchings
2013-02-03 14:48 ` [ 124/128] drbd: add missing part_round_stats to _drbd_start_io_acct Ben Hutchings
2013-02-03 14:48 ` [ 125/128] ALSA: usb-audio: Fix regression by disconnection-race-fix patch Ben Hutchings
2013-02-03 14:48 ` [ 126/128] staging: usbip: changed function return type to void Ben Hutchings
2013-02-03 14:48 ` [ 127/128] x86, efi: Set runtime_version to the EFI spec revision Ben Hutchings
2013-02-03 14:48 ` [ 128/128] printk: fix buffer overflow when calling log_prefix function from call_console_drivers Ben Hutchings
2013-02-03 15:20 ` [ 000/128] 3.2.38-stable review Ben Hutchings
2013-02-04 14:39 ` Satoru Takeuchi
2013-02-06 4:17 ` Ben Hutchings
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1359904557.1822.2.camel@deadeye.wl.decadent.org.uk \
--to=ben@decadent.org.uk \
--cc=airlied@linux.ie \
--cc=akpm@linux-foundation.org \
--cc=colin.king@canonical.com \
--cc=corentincj@iksaif.net \
--cc=dave.jiang@intel.com \
--cc=hpa@linux.intel.com \
--cc=konrad@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matt.fleming@intel.com \
--cc=mjg59@srcf.ucam.org \
--cc=olof@lixom.net \
--cc=pjones@redhat.com \
--cc=rjw@sisk.pl \
--cc=stable@vger.kernel.org \
--cc=steve.langasek@canonical.com \
--cc=tony.luck@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).