linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT pull] irq/urgent for 5.3-rc5
@ 2019-08-25  9:43 Thomas Gleixner
  2019-08-25  9:43 ` [GIT pull] x86/urgent " Thomas Gleixner
                   ` (4 more replies)
  0 siblings, 5 replies; 30+ messages in thread
From: Thomas Gleixner @ 2019-08-25  9:43 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, x86

Linus,

please pull the latest irq-urgent-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq-urgent-for-linus

up to:  d0ff14fdc987: genirq: Properly pair kobject_del() with kobject_add()

A single fix for a imbalanced kobject operation in the irq decriptor code
which was unearthed by the new warnings in the kobject code.

Thanks,

	tglx

------------------>
Michael Kelley (1):
      genirq: Properly pair kobject_del() with kobject_add()


 kernel/irq/irqdesc.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 9484e88dabc2..9be995fc3c5a 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -295,6 +295,18 @@ static void irq_sysfs_add(int irq, struct irq_desc *desc)
 	}
 }
 
+static void irq_sysfs_del(struct irq_desc *desc)
+{
+	/*
+	 * If irq_sysfs_init() has not yet been invoked (early boot), then
+	 * irq_kobj_base is NULL and the descriptor was never added.
+	 * kobject_del() complains about a object with no parent, so make
+	 * it conditional.
+	 */
+	if (irq_kobj_base)
+		kobject_del(&desc->kobj);
+}
+
 static int __init irq_sysfs_init(void)
 {
 	struct irq_desc *desc;
@@ -325,6 +337,7 @@ static struct kobj_type irq_kobj_type = {
 };
 
 static void irq_sysfs_add(int irq, struct irq_desc *desc) {}
+static void irq_sysfs_del(struct irq_desc *desc) {}
 
 #endif /* CONFIG_SYSFS */
 
@@ -438,7 +451,7 @@ static void free_desc(unsigned int irq)
 	 * The sysfs entry must be serialized against a concurrent
 	 * irq_sysfs_init() as well.
 	 */
-	kobject_del(&desc->kobj);
+	irq_sysfs_del(desc);
 	delete_irq_desc(irq);
 
 	/*



^ permalink raw reply related	[flat|nested] 30+ messages in thread
* [GIT pull] efi/urgent for 5.3-rc5
@ 2019-08-18 11:34 Thomas Gleixner
  2019-08-18 11:34 ` [GIT pull] x86/urgent " Thomas Gleixner
  0 siblings, 1 reply; 30+ messages in thread
From: Thomas Gleixner @ 2019-08-18 11:34 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, x86

Linus,

please pull the latest efi-urgent-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git efi-urgent-for-linus

up to:  cbd32a1c56e3: Merge tag 'efi-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi into efi/urgent

A single fix for a EFI mixed mode regression caused by recent rework which
did not take the firmware bitwidth into account.

Thanks,

	tglx

------------------>
Hans de Goede (1):
      efi-stub: Fix get_efi_config_table on mixed-mode setups


 drivers/firmware/efi/libstub/efi-stub-helper.c | 38 ++++++++++++++++++--------
 1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/drivers/firmware/efi/libstub/efi-stub-helper.c b/drivers/firmware/efi/libstub/efi-stub-helper.c
index 1db780c0f07b..3caae7f2cf56 100644
--- a/drivers/firmware/efi/libstub/efi-stub-helper.c
+++ b/drivers/firmware/efi/libstub/efi-stub-helper.c
@@ -927,17 +927,33 @@ efi_status_t efi_exit_boot_services(efi_system_table_t *sys_table_arg,
 	return status;
 }
 
+#define GET_EFI_CONFIG_TABLE(bits)					\
+static void *get_efi_config_table##bits(efi_system_table_t *_sys_table,	\
+					efi_guid_t guid)		\
+{									\
+	efi_system_table_##bits##_t *sys_table;				\
+	efi_config_table_##bits##_t *tables;				\
+	int i;								\
+									\
+	sys_table = (typeof(sys_table))_sys_table;			\
+	tables = (typeof(tables))(unsigned long)sys_table->tables;	\
+									\
+	for (i = 0; i < sys_table->nr_tables; i++) {			\
+		if (efi_guidcmp(tables[i].guid, guid) != 0)		\
+			continue;					\
+									\
+		return (void *)(unsigned long)tables[i].table;		\
+	}								\
+									\
+	return NULL;							\
+}
+GET_EFI_CONFIG_TABLE(32)
+GET_EFI_CONFIG_TABLE(64)
+
 void *get_efi_config_table(efi_system_table_t *sys_table, efi_guid_t guid)
 {
-	efi_config_table_t *tables = (efi_config_table_t *)sys_table->tables;
-	int i;
-
-	for (i = 0; i < sys_table->nr_tables; i++) {
-		if (efi_guidcmp(tables[i].guid, guid) != 0)
-			continue;
-
-		return (void *)tables[i].table;
-	}
-
-	return NULL;
+	if (efi_is_64bit())
+		return get_efi_config_table64(sys_table, guid);
+	else
+		return get_efi_config_table32(sys_table, guid);
 }


^ permalink raw reply related	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2019-10-02 19:10 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-25  9:43 [GIT pull] irq/urgent for 5.3-rc5 Thomas Gleixner
2019-08-25  9:43 ` [GIT pull] x86/urgent " Thomas Gleixner
2019-08-25 17:18   ` Linus Torvalds
2019-08-25 17:30     ` Borislav Petkov
2019-08-25 17:37       ` Linus Torvalds
2019-08-25 18:29         ` Borislav Petkov
2019-08-25 18:38           ` Linus Torvalds
2019-08-25 19:32             ` Borislav Petkov
2019-08-25 19:35               ` Linus Torvalds
2019-08-25 19:49                 ` Borislav Petkov
2019-08-25 19:59                   ` Linus Torvalds
2019-08-25 20:17                     ` Borislav Petkov
2019-08-26 12:53                       ` Borislav Petkov
2019-08-27 16:55                         ` Linus Torvalds
2019-08-27 17:39                           ` Borislav Petkov
2019-08-27 17:46                             ` Linus Torvalds
2019-08-27 17:59                               ` Borislav Petkov
2019-08-28 15:20                             ` David Sterba
2019-08-28 15:53                               ` David Sterba
2019-10-02 19:09     ` [tip: x86/cpu] x86/rdrand: Sanity-check RDRAND output tip-bot2 for Borislav Petkov
2019-08-25 17:40   ` [GIT pull] x86/urgent for 5.3-rc5 pr-tracker-bot
2019-08-25  9:43 ` [GIT pull] timers/urgent " Thomas Gleixner
2019-08-25 17:40   ` pr-tracker-bot
2019-08-25  9:43 ` [GIT pull] perf/urgent " Thomas Gleixner
2019-08-25 17:40   ` pr-tracker-bot
2019-08-25  9:43 ` [GIT pull] sched/urgent " Thomas Gleixner
2019-08-25 17:40   ` pr-tracker-bot
2019-08-25 17:40 ` [GIT pull] irq/urgent " pr-tracker-bot
  -- strict thread matches above, loose matches on Subject: below --
2019-08-18 11:34 [GIT pull] efi/urgent " Thomas Gleixner
2019-08-18 11:34 ` [GIT pull] x86/urgent " Thomas Gleixner
2019-08-18 16:55   ` pr-tracker-bot

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).