Linux v5.1.6
Fix CVE-2019-12378 CVE-2019-3846 CVE-2019-12380 CVE-2019-12381 CVE-2019-12382 CVE-2019-12379
This commit is contained in:
parent
3074ed2654
commit
36b34bfcbf
586 changed files with 5711 additions and 5994 deletions
25
0001-Drop-that-for-now.patch
Normal file
25
0001-Drop-that-for-now.patch
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
From 12cec6680e67d6b4fed9e30cd8c1f13871996cc1 Mon Sep 17 00:00:00 2001
|
||||
From: Laura Abbott <labbott@redhat.com>
|
||||
Date: Wed, 23 Jan 2019 14:36:37 +0100
|
||||
Subject: [PATCH] Drop that for now
|
||||
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index f5b1d0d168e0..5f31107b22d1 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -430,7 +430,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE
|
||||
KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \
|
||||
-fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \
|
||||
-Werror=implicit-function-declaration -Werror=implicit-int \
|
||||
- -Wno-format-security \
|
||||
+ -Wno-format-security -Wno-address-of-packed-member \
|
||||
-std=gnu89
|
||||
KBUILD_CPPFLAGS := -D__KERNEL__
|
||||
KBUILD_AFLAGS_KERNEL :=
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
From 4e78921ba4dd0aca1cc89168f45039add4183f8e Mon Sep 17 00:00:00 2001
|
||||
From: Gen Zhang <blackgod016574@gmail.com>
|
||||
Date: Sat, 25 May 2019 13:25:58 +0200
|
||||
Subject: [PATCH] efi/x86/Add missing error handling to old_memmap 1:1 mapping
|
||||
code
|
||||
|
||||
The old_memmap flow in efi_call_phys_prolog() performs numerous memory
|
||||
allocations, and either does not check for failure at all, or it does
|
||||
but fails to propagate it back to the caller, which may end up calling
|
||||
into the firmware with an incomplete 1:1 mapping.
|
||||
|
||||
So let's fix this by returning NULL from efi_call_phys_prolog() on
|
||||
memory allocation failures only, and by handling this condition in the
|
||||
caller. Also, clean up any half baked sets of page tables that we may
|
||||
have created before returning with a NULL return value.
|
||||
|
||||
Note that any failure at this level will trigger a panic() two levels
|
||||
up, so none of this makes a huge difference, but it is a nice cleanup
|
||||
nonetheless.
|
||||
|
||||
[ardb: update commit log, add efi_call_phys_epilog() call on error path]
|
||||
|
||||
Signed-off-by: Gen Zhang <blackgod016574@gmail.com>
|
||||
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
|
||||
Cc: Linus Torvalds <torvalds@linux-foundation.org>
|
||||
Cc: Peter Zijlstra <peterz@infradead.org>
|
||||
Cc: Rob Bradford <robert.bradford@intel.com>
|
||||
Cc: Thomas Gleixner <tglx@linutronix.de>
|
||||
Cc: linux-efi@vger.kernel.org
|
||||
Link: http://lkml.kernel.org/r/20190525112559.7917-2-ard.biesheuvel@linaro.org
|
||||
Signed-off-by: Ingo Molnar <mingo@kernel.org>
|
||||
---
|
||||
arch/x86/platform/efi/efi.c | 2 ++
|
||||
arch/x86/platform/efi/efi_64.c | 9 ++++++---
|
||||
2 files changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
|
||||
index e1cb01a22fa8..a7189a3b4d70 100644
|
||||
--- a/arch/x86/platform/efi/efi.c
|
||||
+++ b/arch/x86/platform/efi/efi.c
|
||||
@@ -85,6 +85,8 @@ static efi_status_t __init phys_efi_set_virtual_address_map(
|
||||
pgd_t *save_pgd;
|
||||
|
||||
save_pgd = efi_call_phys_prolog();
|
||||
+ if (!save_pgd)
|
||||
+ return EFI_ABORTED;
|
||||
|
||||
/* Disable interrupts around EFI calls: */
|
||||
local_irq_save(flags);
|
||||
diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c
|
||||
index cf0347f61b21..08ce8177c3af 100644
|
||||
--- a/arch/x86/platform/efi/efi_64.c
|
||||
+++ b/arch/x86/platform/efi/efi_64.c
|
||||
@@ -84,13 +84,15 @@ pgd_t * __init efi_call_phys_prolog(void)
|
||||
|
||||
if (!efi_enabled(EFI_OLD_MEMMAP)) {
|
||||
efi_switch_mm(&efi_mm);
|
||||
- return NULL;
|
||||
+ return efi_mm.pgd;
|
||||
}
|
||||
|
||||
early_code_mapping_set_exec(1);
|
||||
|
||||
n_pgds = DIV_ROUND_UP((max_pfn << PAGE_SHIFT), PGDIR_SIZE);
|
||||
save_pgd = kmalloc_array(n_pgds, sizeof(*save_pgd), GFP_KERNEL);
|
||||
+ if (!save_pgd)
|
||||
+ return NULL;
|
||||
|
||||
/*
|
||||
* Build 1:1 identity mapping for efi=old_map usage. Note that
|
||||
@@ -138,10 +140,11 @@ pgd_t * __init efi_call_phys_prolog(void)
|
||||
pgd_offset_k(pgd * PGDIR_SIZE)->pgd &= ~_PAGE_NX;
|
||||
}
|
||||
|
||||
-out:
|
||||
__flush_tlb_all();
|
||||
-
|
||||
return save_pgd;
|
||||
+out:
|
||||
+ efi_call_phys_epilog(save_pgd);
|
||||
+ return NULL;
|
||||
}
|
||||
|
||||
void __init efi_call_phys_epilog(pgd_t *save_pgd)
|
||||
--
|
||||
2.21.0
|
||||
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
From 0eadbb65c0026fb4eec89c54f6b48a0febd87f92 Mon Sep 17 00:00:00 2001
|
||||
From: Laura Abbott <labbott@redhat.com>
|
||||
Date: Fri, 9 Sep 2016 08:19:17 -0700
|
||||
Subject: [PATCH] iio: Use type header from kernel tree
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
To: Jonathan Cameron <jic23@kernel.org>
|
||||
To: Hartmut Knaack <knaack.h@gmx.de>
|
||||
To: Lars-Peter Clausen <lars@metafoo.de>
|
||||
To: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
|
||||
Cc: linux-iio@vger.kernel.org
|
||||
Cc: linux-kernel@vger.kernel.org
|
||||
|
||||
|
||||
The iio tools have been updated as new event types have been added to
|
||||
the kernel. The tools currently use the standard system headers which
|
||||
means that the system may not have the newest defintitions. This leads
|
||||
to build failures when building newer tools on older hosts:
|
||||
|
||||
gcc -Wall -g -D_GNU_SOURCE -c -o iio_event_monitor.o
|
||||
iio_event_monitor.c
|
||||
iio_event_monitor.c:59:3: error: ‘IIO_UVINDEX’ undeclared here (not in a
|
||||
function)
|
||||
[IIO_UVINDEX] = "uvindex",
|
||||
^~~~~~~~~~~
|
||||
iio_event_monitor.c:59:3: error: array index in initializer not of
|
||||
integer type
|
||||
iio_event_monitor.c:59:3: note: (near initialization for
|
||||
‘iio_chan_type_name_spec’)
|
||||
iio_event_monitor.c:97:3: error: ‘IIO_MOD_LIGHT_UV’ undeclared here (not
|
||||
in a function)
|
||||
[IIO_MOD_LIGHT_UV] = "uv",
|
||||
^~~~~~~~~~~~~~~~
|
||||
iio_event_monitor.c:97:3: error: array index in initializer not of
|
||||
integer type
|
||||
iio_event_monitor.c:97:3: note: (near initialization for
|
||||
‘iio_modifier_names’)
|
||||
<builtin>: recipe for target 'iio_event_monitor.o' failed
|
||||
|
||||
Switch to using the header from the kernel tree to ensure the newest
|
||||
defintions are always picked up.
|
||||
|
||||
Signed-off-by: Laura Abbott <labbott@redhat.com>
|
||||
---
|
||||
tools/iio/iio_event_monitor.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tools/iio/iio_event_monitor.c b/tools/iio/iio_event_monitor.c
|
||||
index d9b7e0f..f02523d 100644
|
||||
--- a/tools/iio/iio_event_monitor.c
|
||||
+++ b/tools/iio/iio_event_monitor.c
|
||||
@@ -26,7 +26,7 @@
|
||||
#include <sys/ioctl.h>
|
||||
#include "iio_utils.h"
|
||||
#include <linux/iio/events.h>
|
||||
-#include <linux/iio/types.h>
|
||||
+#include "../../include/uapi/linux/iio/types.h"
|
||||
|
||||
static const char * const iio_chan_type_name_spec[] = {
|
||||
[IIO_VOLTAGE] = "voltage",
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
From 219a3e8676f3132d27b530c7d2d6bcab89536b57 Mon Sep 17 00:00:00 2001
|
||||
From: Kairui Song <kasong@redhat.com>
|
||||
Date: Mon, 21 Jan 2019 17:59:28 +0800
|
||||
Subject: [PATCH] integrity, KEYS: add a reference to platform keyring
|
||||
|
||||
commit 9dc92c45177a ("integrity: Define a trusted platform keyring")
|
||||
introduced a .platform keyring for storing preboot keys, used for
|
||||
verifying kernel image signatures. Currently only IMA-appraisal is able
|
||||
to use the keyring to verify kernel images that have their signature
|
||||
stored in xattr.
|
||||
|
||||
This patch exposes the .platform keyring, making it accessible for
|
||||
verifying PE signed kernel images as well.
|
||||
|
||||
Suggested-by: Mimi Zohar <zohar@linux.ibm.com>
|
||||
Signed-off-by: Kairui Song <kasong@redhat.com>
|
||||
Cc: David Howells <dhowells@redhat.com>
|
||||
[zohar@linux.ibm.com: fixed checkpatch errors, squashed with patch fix]
|
||||
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
|
||||
---
|
||||
certs/system_keyring.c | 10 ++++++++++
|
||||
include/keys/system_keyring.h | 8 ++++++++
|
||||
security/integrity/digsig.c | 3 +++
|
||||
3 files changed, 21 insertions(+)
|
||||
|
||||
diff --git a/certs/system_keyring.c b/certs/system_keyring.c
|
||||
index 81728717523d..da055e901df4 100644
|
||||
--- a/certs/system_keyring.c
|
||||
+++ b/certs/system_keyring.c
|
||||
@@ -24,6 +24,9 @@ static struct key *builtin_trusted_keys;
|
||||
#ifdef CONFIG_SECONDARY_TRUSTED_KEYRING
|
||||
static struct key *secondary_trusted_keys;
|
||||
#endif
|
||||
+#ifdef CONFIG_INTEGRITY_PLATFORM_KEYRING
|
||||
+static struct key *platform_trusted_keys;
|
||||
+#endif
|
||||
|
||||
extern __initconst const u8 system_certificate_list[];
|
||||
extern __initconst const unsigned long system_certificate_list_size;
|
||||
@@ -266,3 +269,10 @@ int verify_pkcs7_signature(const void *data, size_t len,
|
||||
EXPORT_SYMBOL_GPL(verify_pkcs7_signature);
|
||||
|
||||
#endif /* CONFIG_SYSTEM_DATA_VERIFICATION */
|
||||
+
|
||||
+#ifdef CONFIG_INTEGRITY_PLATFORM_KEYRING
|
||||
+void __init set_platform_trusted_keys(struct key *keyring)
|
||||
+{
|
||||
+ platform_trusted_keys = keyring;
|
||||
+}
|
||||
+#endif
|
||||
diff --git a/include/keys/system_keyring.h b/include/keys/system_keyring.h
|
||||
index 359c2f936004..42a93eda331c 100644
|
||||
--- a/include/keys/system_keyring.h
|
||||
+++ b/include/keys/system_keyring.h
|
||||
@@ -61,5 +61,13 @@ static inline struct key *get_ima_blacklist_keyring(void)
|
||||
}
|
||||
#endif /* CONFIG_IMA_BLACKLIST_KEYRING */
|
||||
|
||||
+#if defined(CONFIG_INTEGRITY_PLATFORM_KEYRING) && \
|
||||
+ defined(CONFIG_SYSTEM_TRUSTED_KEYRING)
|
||||
+extern void __init set_platform_trusted_keys(struct key *keyring);
|
||||
+#else
|
||||
+static inline void set_platform_trusted_keys(struct key *keyring)
|
||||
+{
|
||||
+}
|
||||
+#endif
|
||||
|
||||
#endif /* _KEYS_SYSTEM_KEYRING_H */
|
||||
diff --git a/security/integrity/digsig.c b/security/integrity/digsig.c
|
||||
index f45d6edecf99..e19c2eb72c51 100644
|
||||
--- a/security/integrity/digsig.c
|
||||
+++ b/security/integrity/digsig.c
|
||||
@@ -87,6 +87,9 @@ static int __integrity_init_keyring(const unsigned int id, key_perm_t perm,
|
||||
pr_info("Can't allocate %s keyring (%d)\n",
|
||||
keyring_name[id], err);
|
||||
keyring[id] = NULL;
|
||||
+ } else {
|
||||
+ if (id == INTEGRITY_KEYRING_PLATFORM)
|
||||
+ set_platform_trusted_keys(keyring[id]);
|
||||
}
|
||||
|
||||
return err;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
From 425aa0e1d01513437668fa3d4a971168bbaa8515 Mon Sep 17 00:00:00 2001
|
||||
From: Gen Zhang <blackgod016574@gmail.com>
|
||||
Date: Fri, 24 May 2019 11:24:26 +0800
|
||||
Subject: [PATCH] ip_sockglue: Fix missing-check bug in ip_ra_control()
|
||||
|
||||
In function ip_ra_control(), the pointer new_ra is allocated a memory
|
||||
space via kmalloc(). And it is used in the following codes. However,
|
||||
when there is a memory allocation error, kmalloc() fails. Thus null
|
||||
pointer dereference may happen. And it will cause the kernel to crash.
|
||||
Therefore, we should check the return value and handle the error.
|
||||
|
||||
Signed-off-by: Gen Zhang <blackgod016574@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
net/ipv4/ip_sockglue.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
|
||||
index 82f341e84fae..aa3fd61818c4 100644
|
||||
--- a/net/ipv4/ip_sockglue.c
|
||||
+++ b/net/ipv4/ip_sockglue.c
|
||||
@@ -343,6 +343,8 @@ int ip_ra_control(struct sock *sk, unsigned char on,
|
||||
return -EINVAL;
|
||||
|
||||
new_ra = on ? kmalloc(sizeof(*new_ra), GFP_KERNEL) : NULL;
|
||||
+ if (on && !new_ra)
|
||||
+ return -ENOMEM;
|
||||
|
||||
mutex_lock(&net->ipv4.ra_mutex);
|
||||
for (rap = &net->ipv4.ra_chain;
|
||||
--
|
||||
2.21.0
|
||||
|
||||
|
|
@ -1,98 +0,0 @@
|
|||
From 278311e417be60f7caef6fcb12bda4da2711ceff Mon Sep 17 00:00:00 2001
|
||||
From: Kairui Song <kasong@redhat.com>
|
||||
Date: Mon, 21 Jan 2019 17:59:29 +0800
|
||||
Subject: [PATCH] kexec, KEYS: Make use of platform keyring for signature
|
||||
verify
|
||||
|
||||
This patch allows the kexec_file_load syscall to verify the PE signed
|
||||
kernel image signature based on the preboot keys stored in the .platform
|
||||
keyring, as fall back, if the signature verification failed due to not
|
||||
finding the public key in the secondary or builtin keyrings.
|
||||
|
||||
This commit adds a VERIFY_USE_PLATFORM_KEYRING similar to previous
|
||||
VERIFY_USE_SECONDARY_KEYRING indicating that verify_pkcs7_signature
|
||||
should verify the signature using platform keyring. Also, decrease
|
||||
the error message log level when verification failed with -ENOKEY,
|
||||
so that if called tried multiple time with different keyring it
|
||||
won't generate extra noises.
|
||||
|
||||
Signed-off-by: Kairui Song <kasong@redhat.com>
|
||||
Cc: David Howells <dhowells@redhat.com>
|
||||
Acked-by: Dave Young <dyoung@redhat.com> (for kexec_file_load part)
|
||||
[zohar@linux.ibm.com: tweaked the first paragraph of the patch description,
|
||||
and fixed checkpatch warning.]
|
||||
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
|
||||
---
|
||||
arch/x86/kernel/kexec-bzimage64.c | 14 +++++++++++---
|
||||
certs/system_keyring.c | 13 ++++++++++++-
|
||||
include/linux/verification.h | 1 +
|
||||
3 files changed, 24 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/kernel/kexec-bzimage64.c b/arch/x86/kernel/kexec-bzimage64.c
|
||||
index 278cd07228dd..e1215a600064 100644
|
||||
--- a/arch/x86/kernel/kexec-bzimage64.c
|
||||
+++ b/arch/x86/kernel/kexec-bzimage64.c
|
||||
@@ -531,9 +531,17 @@ static int bzImage64_cleanup(void *loader_data)
|
||||
#ifdef CONFIG_KEXEC_BZIMAGE_VERIFY_SIG
|
||||
static int bzImage64_verify_sig(const char *kernel, unsigned long kernel_len)
|
||||
{
|
||||
- return verify_pefile_signature(kernel, kernel_len,
|
||||
- VERIFY_USE_SECONDARY_KEYRING,
|
||||
- VERIFYING_KEXEC_PE_SIGNATURE);
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = verify_pefile_signature(kernel, kernel_len,
|
||||
+ VERIFY_USE_SECONDARY_KEYRING,
|
||||
+ VERIFYING_KEXEC_PE_SIGNATURE);
|
||||
+ if (ret == -ENOKEY && IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING)) {
|
||||
+ ret = verify_pefile_signature(kernel, kernel_len,
|
||||
+ VERIFY_USE_PLATFORM_KEYRING,
|
||||
+ VERIFYING_KEXEC_PE_SIGNATURE);
|
||||
+ }
|
||||
+ return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
diff --git a/certs/system_keyring.c b/certs/system_keyring.c
|
||||
index da055e901df4..c05c29ae4d5d 100644
|
||||
--- a/certs/system_keyring.c
|
||||
+++ b/certs/system_keyring.c
|
||||
@@ -240,11 +240,22 @@ int verify_pkcs7_signature(const void *data, size_t len,
|
||||
#else
|
||||
trusted_keys = builtin_trusted_keys;
|
||||
#endif
|
||||
+ } else if (trusted_keys == VERIFY_USE_PLATFORM_KEYRING) {
|
||||
+#ifdef CONFIG_INTEGRITY_PLATFORM_KEYRING
|
||||
+ trusted_keys = platform_trusted_keys;
|
||||
+#else
|
||||
+ trusted_keys = NULL;
|
||||
+#endif
|
||||
+ if (!trusted_keys) {
|
||||
+ ret = -ENOKEY;
|
||||
+ pr_devel("PKCS#7 platform keyring is not available\n");
|
||||
+ goto error;
|
||||
+ }
|
||||
}
|
||||
ret = pkcs7_validate_trust(pkcs7, trusted_keys);
|
||||
if (ret < 0) {
|
||||
if (ret == -ENOKEY)
|
||||
- pr_err("PKCS#7 signature not signed with a trusted key\n");
|
||||
+ pr_devel("PKCS#7 signature not signed with a trusted key\n");
|
||||
goto error;
|
||||
}
|
||||
|
||||
diff --git a/include/linux/verification.h b/include/linux/verification.h
|
||||
index cfa4730d607a..018fb5f13d44 100644
|
||||
--- a/include/linux/verification.h
|
||||
+++ b/include/linux/verification.h
|
||||
@@ -17,6 +17,7 @@
|
||||
* should be used.
|
||||
*/
|
||||
#define VERIFY_USE_SECONDARY_KEYRING ((struct key *)1UL)
|
||||
+#define VERIFY_USE_PLATFORM_KEYRING ((struct key *)2UL)
|
||||
|
||||
/*
|
||||
* The use to which an asymmetric key is being put.
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From de5d850913e9d5fb272f386fb36ef5f5776afb0c Mon Sep 17 00:00:00 2001
|
||||
From 4ef7fb944ba1e4ca9ccfbd7a43afda5a1cc884c1 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 29 Apr 2019 15:11:26 +0200
|
||||
Subject: [PATCH] platform/x86: ideapad-laptop: Remove no_hw_rfkill_list
|
||||
|
|
@ -59,7 +59,7 @@ diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapa
|
|||
index c53ae86b59c7..2d94536dea88 100644
|
||||
--- a/drivers/platform/x86/ideapad-laptop.c
|
||||
+++ b/drivers/platform/x86/ideapad-laptop.c
|
||||
@@ -980,277 +980,21 @@ static void ideapad_wmi_notify(u32 value, void *context)
|
||||
@@ -980,312 +980,21 @@ static void ideapad_wmi_notify(u32 value, void *context)
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
@ -187,6 +187,27 @@ index c53ae86b59c7..2d94536dea88 100644
|
|||
- },
|
||||
- },
|
||||
- {
|
||||
- .ident = "Lenovo ideapad 330-15ICH",
|
||||
- .matches = {
|
||||
- DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
- DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad 330-15ICH"),
|
||||
- },
|
||||
- },
|
||||
- {
|
||||
- .ident = "Lenovo ideapad 530S-14ARR",
|
||||
- .matches = {
|
||||
- DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
- DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad 530S-14ARR"),
|
||||
- },
|
||||
- },
|
||||
- {
|
||||
- .ident = "Lenovo ideapad S130-14IGM",
|
||||
- .matches = {
|
||||
- DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
- DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad S130-14IGM"),
|
||||
- },
|
||||
- },
|
||||
- {
|
||||
- .ident = "Lenovo ideapad Y700-14ISK",
|
||||
- .matches = {
|
||||
- DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
|
|
@ -250,6 +271,13 @@ index c53ae86b59c7..2d94536dea88 100644
|
|||
- },
|
||||
- },
|
||||
- {
|
||||
- .ident = "Lenovo Legion Y530-15ICH-1060",
|
||||
- .matches = {
|
||||
- DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
- DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo Legion Y530-15ICH-1060"),
|
||||
- },
|
||||
- },
|
||||
- {
|
||||
- .ident = "Lenovo Legion Y720-15IKB",
|
||||
- .matches = {
|
||||
- DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
|
|
@ -341,6 +369,13 @@ index c53ae86b59c7..2d94536dea88 100644
|
|||
- },
|
||||
- },
|
||||
- {
|
||||
- .ident = "Lenovo YOGA C930-13IKB",
|
||||
- .matches = {
|
||||
- DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
- DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo YOGA C930-13IKB"),
|
||||
- },
|
||||
- },
|
||||
- {
|
||||
- .ident = "Lenovo Zhaoyang E42-80",
|
||||
- .matches = {
|
||||
- DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
|
|
|
|||
63
0001-s390-jump_label-Correct-asm-contraint.patch
Normal file
63
0001-s390-jump_label-Correct-asm-contraint.patch
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
From b0b46a5b622fdbe69207675c5d50b77cb8ae43b7 Mon Sep 17 00:00:00 2001
|
||||
From: Heiko Carstens <heiko.carstens@de.ibm.com>
|
||||
Date: Tue, 5 Feb 2019 13:43:49 +0100
|
||||
Subject: [PATCH] s390/jump_label: Correct asm contraint
|
||||
|
||||
On Tue, Jan 29, 2019 at 08:25:58AM +0100, Laura Abbott wrote:
|
||||
> On 1/23/19 5:24 AM, Heiko Carstens wrote:
|
||||
> >On Wed, Jan 23, 2019 at 01:55:13PM +0100, Laura Abbott wrote:
|
||||
> >>There's a build failure with gcc9:
|
||||
> >>
|
||||
> >> ./arch/s390/include/asm/jump_label.h: Assembler messages:
|
||||
> >> ./arch/s390/include/asm/jump_label.h:23: Error: bad expression
|
||||
> >> ./arch/s390/include/asm/jump_label.h:23: Error: junk at end of line, first unrecognized character is `r'
|
||||
> >> make[1]: *** [scripts/Makefile.build:277: init/main.o] Error 1
|
||||
...
|
||||
> I've had to turn off s390 in Fedora until this gets fixed :(
|
||||
|
||||
Laura, the patch below should fix this (temporarily). If possible,
|
||||
could you give it a try? It seems to work for me.
|
||||
|
||||
rom 4067027c2ccc8d3f1dc3bb19fe2d00da0c65bcd8 Mon Sep 17 00:00:00 2001
|
||||
From: Heiko Carstens <heiko.carstens@de.ibm.com>
|
||||
Date: Tue, 5 Feb 2019 13:21:56 +0100
|
||||
Subject: [PATCH] s390: disable section anchors
|
||||
|
||||
Disable section anchors to allow to compile with the current gcc 9
|
||||
experimental version. The section anchors is a new feature for s390
|
||||
with gcc 9, however it breaks our current usage of the 'X' constraint
|
||||
within the asm goto construct within our jump label implementation.
|
||||
|
||||
Fixing this seems to be non-trivial, therefore (hopefully) temporarily
|
||||
disable section anchors. We will hopefully have a better solution
|
||||
before gcc 9 is released, so that this can be removed again.
|
||||
|
||||
Reported-by: Laura Abbott <labbott@redhat.com>
|
||||
Suggested-by: Ilya Leoshkevich <iii@linux.ibm.com>
|
||||
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
|
||||
---
|
||||
arch/s390/Makefile | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/arch/s390/Makefile b/arch/s390/Makefile
|
||||
index e21053e5e0da..1eac75bc3a29 100644
|
||||
--- a/arch/s390/Makefile
|
||||
+++ b/arch/s390/Makefile
|
||||
@@ -62,6 +62,14 @@ cflags-y += -Wa,-I$(srctree)/arch/$(ARCH)/include
|
||||
#
|
||||
cflags-$(CONFIG_FRAME_POINTER) += -fno-optimize-sibling-calls
|
||||
|
||||
+#
|
||||
+# Disable section anchors. This gcc 9 feature currently breaks the 'X'
|
||||
+# constraint like it is used in the asm goto construct.
|
||||
+#
|
||||
+ifeq ($(call cc-option-yn,-fno-section-anchors),y)
|
||||
+cflags-y += -fno-section-anchors
|
||||
+endif
|
||||
+
|
||||
ifeq ($(call cc-option-yn,-mpacked-stack),y)
|
||||
cflags-$(CONFIG_PACK_STACK) += -mpacked-stack -D__PACK_STACK
|
||||
aflags-$(CONFIG_PACK_STACK) += -D__PACK_STACK
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
@ -1,663 +0,0 @@
|
|||
From 58b89b03f14fde3b5eda78b9137109b7a860a607 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Tue, 19 Mar 2019 14:05:31 +0100
|
||||
Subject: [PATCH] virt: vbox: Implement passing requestor info to the host for
|
||||
VirtualBox 6.0.x
|
||||
|
||||
VirtualBox 6.0.x has a new feature where the guest kernel driver passes
|
||||
info about the origin of the request (e.g. userspace or kernelspace) to
|
||||
the hypervisor.
|
||||
|
||||
If we do not pass this information then when running the 6.0.x userspace
|
||||
guest-additions tools on a 6.0.x host, some requests will get denied
|
||||
with a VERR_VERSION_MISMATCH error, breaking vboxservice.service and
|
||||
the mounting of shared folders marked to be auto-mounted.
|
||||
|
||||
This commit implements passing the requestor info to the host, fixing this.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
drivers/virt/vboxguest/vboxguest_core.c | 106 ++++++++++++++-------
|
||||
drivers/virt/vboxguest/vboxguest_core.h | 15 +--
|
||||
drivers/virt/vboxguest/vboxguest_linux.c | 26 ++++-
|
||||
drivers/virt/vboxguest/vboxguest_utils.c | 32 ++++---
|
||||
drivers/virt/vboxguest/vboxguest_version.h | 9 +-
|
||||
drivers/virt/vboxguest/vmmdev.h | 8 +-
|
||||
include/linux/vbox_utils.h | 12 ++-
|
||||
include/uapi/linux/vbox_vmmdev_types.h | 31 ++++++
|
||||
8 files changed, 168 insertions(+), 71 deletions(-)
|
||||
|
||||
diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
|
||||
index 1475ed5ffcde..2ec5b34ffed7 100644
|
||||
--- a/drivers/virt/vboxguest/vboxguest_core.c
|
||||
+++ b/drivers/virt/vboxguest/vboxguest_core.c
|
||||
@@ -27,6 +27,10 @@
|
||||
|
||||
#define GUEST_MAPPINGS_TRIES 5
|
||||
|
||||
+#define VBG_KERNEL_REQUEST \
|
||||
+ (VMMDEV_REQUESTOR_KERNEL | VMMDEV_REQUESTOR_USR_DRV | \
|
||||
+ VMMDEV_REQUESTOR_CON_DONT_KNOW | VMMDEV_REQUESTOR_TRUST_NOT_GIVEN)
|
||||
+
|
||||
/**
|
||||
* Reserves memory in which the VMM can relocate any guest mappings
|
||||
* that are floating around.
|
||||
@@ -48,7 +52,8 @@ static void vbg_guest_mappings_init(struct vbg_dev *gdev)
|
||||
int i, rc;
|
||||
|
||||
/* Query the required space. */
|
||||
- req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_GET_HYPERVISOR_INFO);
|
||||
+ req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_GET_HYPERVISOR_INFO,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
if (!req)
|
||||
return;
|
||||
|
||||
@@ -135,7 +140,8 @@ static void vbg_guest_mappings_exit(struct vbg_dev *gdev)
|
||||
* Tell the host that we're going to free the memory we reserved for
|
||||
* it, the free it up. (Leak the memory if anything goes wrong here.)
|
||||
*/
|
||||
- req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_SET_HYPERVISOR_INFO);
|
||||
+ req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_SET_HYPERVISOR_INFO,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
if (!req)
|
||||
return;
|
||||
|
||||
@@ -172,8 +178,10 @@ static int vbg_report_guest_info(struct vbg_dev *gdev)
|
||||
struct vmmdev_guest_info2 *req2 = NULL;
|
||||
int rc, ret = -ENOMEM;
|
||||
|
||||
- req1 = vbg_req_alloc(sizeof(*req1), VMMDEVREQ_REPORT_GUEST_INFO);
|
||||
- req2 = vbg_req_alloc(sizeof(*req2), VMMDEVREQ_REPORT_GUEST_INFO2);
|
||||
+ req1 = vbg_req_alloc(sizeof(*req1), VMMDEVREQ_REPORT_GUEST_INFO,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
+ req2 = vbg_req_alloc(sizeof(*req2), VMMDEVREQ_REPORT_GUEST_INFO2,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
if (!req1 || !req2)
|
||||
goto out_free;
|
||||
|
||||
@@ -187,8 +195,8 @@ static int vbg_report_guest_info(struct vbg_dev *gdev)
|
||||
req2->additions_minor = VBG_VERSION_MINOR;
|
||||
req2->additions_build = VBG_VERSION_BUILD;
|
||||
req2->additions_revision = VBG_SVN_REV;
|
||||
- /* (no features defined yet) */
|
||||
- req2->additions_features = 0;
|
||||
+ req2->additions_features =
|
||||
+ VMMDEV_GUEST_INFO2_ADDITIONS_FEATURES_REQUESTOR_INFO;
|
||||
strlcpy(req2->name, VBG_VERSION_STRING,
|
||||
sizeof(req2->name));
|
||||
|
||||
@@ -230,7 +238,8 @@ static int vbg_report_driver_status(struct vbg_dev *gdev, bool active)
|
||||
struct vmmdev_guest_status *req;
|
||||
int rc;
|
||||
|
||||
- req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_REPORT_GUEST_STATUS);
|
||||
+ req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_REPORT_GUEST_STATUS,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
if (!req)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -423,7 +432,8 @@ static int vbg_heartbeat_host_config(struct vbg_dev *gdev, bool enabled)
|
||||
struct vmmdev_heartbeat *req;
|
||||
int rc;
|
||||
|
||||
- req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_HEARTBEAT_CONFIGURE);
|
||||
+ req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_HEARTBEAT_CONFIGURE,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
if (!req)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -457,7 +467,8 @@ static int vbg_heartbeat_init(struct vbg_dev *gdev)
|
||||
|
||||
gdev->guest_heartbeat_req = vbg_req_alloc(
|
||||
sizeof(*gdev->guest_heartbeat_req),
|
||||
- VMMDEVREQ_GUEST_HEARTBEAT);
|
||||
+ VMMDEVREQ_GUEST_HEARTBEAT,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
if (!gdev->guest_heartbeat_req)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -528,7 +539,8 @@ static int vbg_reset_host_event_filter(struct vbg_dev *gdev,
|
||||
struct vmmdev_mask *req;
|
||||
int rc;
|
||||
|
||||
- req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_CTL_GUEST_FILTER_MASK);
|
||||
+ req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_CTL_GUEST_FILTER_MASK,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
if (!req)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -567,8 +579,14 @@ static int vbg_set_session_event_filter(struct vbg_dev *gdev,
|
||||
u32 changed, previous;
|
||||
int rc, ret = 0;
|
||||
|
||||
- /* Allocate a request buffer before taking the spinlock */
|
||||
- req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_CTL_GUEST_FILTER_MASK);
|
||||
+ /*
|
||||
+ * Allocate a request buffer before taking the spinlock, when
|
||||
+ * the session is being terminated the requestor is the kernel,
|
||||
+ * as we're cleaning up.
|
||||
+ */
|
||||
+ req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_CTL_GUEST_FILTER_MASK,
|
||||
+ session_termination ? VBG_KERNEL_REQUEST :
|
||||
+ session->requestor);
|
||||
if (!req) {
|
||||
if (!session_termination)
|
||||
return -ENOMEM;
|
||||
@@ -627,7 +645,8 @@ static int vbg_reset_host_capabilities(struct vbg_dev *gdev)
|
||||
struct vmmdev_mask *req;
|
||||
int rc;
|
||||
|
||||
- req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_SET_GUEST_CAPABILITIES);
|
||||
+ req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_SET_GUEST_CAPABILITIES,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
if (!req)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -662,8 +681,14 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
|
||||
u32 changed, previous;
|
||||
int rc, ret = 0;
|
||||
|
||||
- /* Allocate a request buffer before taking the spinlock */
|
||||
- req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_SET_GUEST_CAPABILITIES);
|
||||
+ /*
|
||||
+ * Allocate a request buffer before taking the spinlock, when
|
||||
+ * the session is being terminated the requestor is the kernel,
|
||||
+ * as we're cleaning up.
|
||||
+ */
|
||||
+ req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_SET_GUEST_CAPABILITIES,
|
||||
+ session_termination ? VBG_KERNEL_REQUEST :
|
||||
+ session->requestor);
|
||||
if (!req) {
|
||||
if (!session_termination)
|
||||
return -ENOMEM;
|
||||
@@ -722,7 +747,8 @@ static int vbg_query_host_version(struct vbg_dev *gdev)
|
||||
struct vmmdev_host_version *req;
|
||||
int rc, ret;
|
||||
|
||||
- req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_GET_HOST_VERSION);
|
||||
+ req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_GET_HOST_VERSION,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
if (!req)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -783,19 +809,24 @@ int vbg_core_init(struct vbg_dev *gdev, u32 fixed_events)
|
||||
|
||||
gdev->mem_balloon.get_req =
|
||||
vbg_req_alloc(sizeof(*gdev->mem_balloon.get_req),
|
||||
- VMMDEVREQ_GET_MEMBALLOON_CHANGE_REQ);
|
||||
+ VMMDEVREQ_GET_MEMBALLOON_CHANGE_REQ,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
gdev->mem_balloon.change_req =
|
||||
vbg_req_alloc(sizeof(*gdev->mem_balloon.change_req),
|
||||
- VMMDEVREQ_CHANGE_MEMBALLOON);
|
||||
+ VMMDEVREQ_CHANGE_MEMBALLOON,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
gdev->cancel_req =
|
||||
vbg_req_alloc(sizeof(*(gdev->cancel_req)),
|
||||
- VMMDEVREQ_HGCM_CANCEL2);
|
||||
+ VMMDEVREQ_HGCM_CANCEL2,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
gdev->ack_events_req =
|
||||
vbg_req_alloc(sizeof(*gdev->ack_events_req),
|
||||
- VMMDEVREQ_ACKNOWLEDGE_EVENTS);
|
||||
+ VMMDEVREQ_ACKNOWLEDGE_EVENTS,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
gdev->mouse_status_req =
|
||||
vbg_req_alloc(sizeof(*gdev->mouse_status_req),
|
||||
- VMMDEVREQ_GET_MOUSE_STATUS);
|
||||
+ VMMDEVREQ_GET_MOUSE_STATUS,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
|
||||
if (!gdev->mem_balloon.get_req || !gdev->mem_balloon.change_req ||
|
||||
!gdev->cancel_req || !gdev->ack_events_req ||
|
||||
@@ -892,9 +923,9 @@ void vbg_core_exit(struct vbg_dev *gdev)
|
||||
* vboxguest_linux.c calls this when userspace opens the char-device.
|
||||
* Return: A pointer to the new session or an ERR_PTR on error.
|
||||
* @gdev: The Guest extension device.
|
||||
- * @user: Set if this is a session for the vboxuser device.
|
||||
+ * @requestor: VMMDEV_REQUESTOR_* flags
|
||||
*/
|
||||
-struct vbg_session *vbg_core_open_session(struct vbg_dev *gdev, bool user)
|
||||
+struct vbg_session *vbg_core_open_session(struct vbg_dev *gdev, u32 requestor)
|
||||
{
|
||||
struct vbg_session *session;
|
||||
|
||||
@@ -903,7 +934,7 @@ struct vbg_session *vbg_core_open_session(struct vbg_dev *gdev, bool user)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
session->gdev = gdev;
|
||||
- session->user_session = user;
|
||||
+ session->requestor = requestor;
|
||||
|
||||
return session;
|
||||
}
|
||||
@@ -924,7 +955,9 @@ void vbg_core_close_session(struct vbg_session *session)
|
||||
if (!session->hgcm_client_ids[i])
|
||||
continue;
|
||||
|
||||
- vbg_hgcm_disconnect(gdev, session->hgcm_client_ids[i], &rc);
|
||||
+ /* requestor is kernel here, as we're cleaning up. */
|
||||
+ vbg_hgcm_disconnect(gdev, VBG_KERNEL_REQUEST,
|
||||
+ session->hgcm_client_ids[i], &rc);
|
||||
}
|
||||
|
||||
kfree(session);
|
||||
@@ -1152,7 +1185,8 @@ static int vbg_req_allowed(struct vbg_dev *gdev, struct vbg_session *session,
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
- if (trusted_apps_only && session->user_session) {
|
||||
+ if (trusted_apps_only &&
|
||||
+ (session->requestor & VMMDEV_REQUESTOR_USER_DEVICE)) {
|
||||
vbg_err("Denying userspace vmm call type %#08x through vboxuser device node\n",
|
||||
req->request_type);
|
||||
return -EPERM;
|
||||
@@ -1209,8 +1243,8 @@ static int vbg_ioctl_hgcm_connect(struct vbg_dev *gdev,
|
||||
if (i >= ARRAY_SIZE(session->hgcm_client_ids))
|
||||
return -EMFILE;
|
||||
|
||||
- ret = vbg_hgcm_connect(gdev, &conn->u.in.loc, &client_id,
|
||||
- &conn->hdr.rc);
|
||||
+ ret = vbg_hgcm_connect(gdev, session->requestor, &conn->u.in.loc,
|
||||
+ &client_id, &conn->hdr.rc);
|
||||
|
||||
mutex_lock(&gdev->session_mutex);
|
||||
if (ret == 0 && conn->hdr.rc >= 0) {
|
||||
@@ -1251,7 +1285,8 @@ static int vbg_ioctl_hgcm_disconnect(struct vbg_dev *gdev,
|
||||
if (i >= ARRAY_SIZE(session->hgcm_client_ids))
|
||||
return -EINVAL;
|
||||
|
||||
- ret = vbg_hgcm_disconnect(gdev, client_id, &disconn->hdr.rc);
|
||||
+ ret = vbg_hgcm_disconnect(gdev, session->requestor, client_id,
|
||||
+ &disconn->hdr.rc);
|
||||
|
||||
mutex_lock(&gdev->session_mutex);
|
||||
if (ret == 0 && disconn->hdr.rc >= 0)
|
||||
@@ -1313,12 +1348,12 @@ static int vbg_ioctl_hgcm_call(struct vbg_dev *gdev,
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_COMPAT) && f32bit)
|
||||
- ret = vbg_hgcm_call32(gdev, client_id,
|
||||
+ ret = vbg_hgcm_call32(gdev, session->requestor, client_id,
|
||||
call->function, call->timeout_ms,
|
||||
VBG_IOCTL_HGCM_CALL_PARMS32(call),
|
||||
call->parm_count, &call->hdr.rc);
|
||||
else
|
||||
- ret = vbg_hgcm_call(gdev, client_id,
|
||||
+ ret = vbg_hgcm_call(gdev, session->requestor, client_id,
|
||||
call->function, call->timeout_ms,
|
||||
VBG_IOCTL_HGCM_CALL_PARMS(call),
|
||||
call->parm_count, &call->hdr.rc);
|
||||
@@ -1408,6 +1443,7 @@ static int vbg_ioctl_check_balloon(struct vbg_dev *gdev,
|
||||
}
|
||||
|
||||
static int vbg_ioctl_write_core_dump(struct vbg_dev *gdev,
|
||||
+ struct vbg_session *session,
|
||||
struct vbg_ioctl_write_coredump *dump)
|
||||
{
|
||||
struct vmmdev_write_core_dump *req;
|
||||
@@ -1415,7 +1451,8 @@ static int vbg_ioctl_write_core_dump(struct vbg_dev *gdev,
|
||||
if (vbg_ioctl_chk(&dump->hdr, sizeof(dump->u.in), 0))
|
||||
return -EINVAL;
|
||||
|
||||
- req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_WRITE_COREDUMP);
|
||||
+ req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_WRITE_COREDUMP,
|
||||
+ session->requestor);
|
||||
if (!req)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -1476,7 +1513,7 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data)
|
||||
case VBG_IOCTL_CHECK_BALLOON:
|
||||
return vbg_ioctl_check_balloon(gdev, data);
|
||||
case VBG_IOCTL_WRITE_CORE_DUMP:
|
||||
- return vbg_ioctl_write_core_dump(gdev, data);
|
||||
+ return vbg_ioctl_write_core_dump(gdev, session, data);
|
||||
}
|
||||
|
||||
/* Variable sized requests. */
|
||||
@@ -1508,7 +1545,8 @@ int vbg_core_set_mouse_status(struct vbg_dev *gdev, u32 features)
|
||||
struct vmmdev_mouse_status *req;
|
||||
int rc;
|
||||
|
||||
- req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_SET_MOUSE_STATUS);
|
||||
+ req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_SET_MOUSE_STATUS,
|
||||
+ VBG_KERNEL_REQUEST);
|
||||
if (!req)
|
||||
return -ENOMEM;
|
||||
|
||||
diff --git a/drivers/virt/vboxguest/vboxguest_core.h b/drivers/virt/vboxguest/vboxguest_core.h
|
||||
index 7ad9ec45bfa9..4188c12b839f 100644
|
||||
--- a/drivers/virt/vboxguest/vboxguest_core.h
|
||||
+++ b/drivers/virt/vboxguest/vboxguest_core.h
|
||||
@@ -154,15 +154,15 @@ struct vbg_session {
|
||||
* host. Protected by vbg_gdev.session_mutex.
|
||||
*/
|
||||
u32 guest_caps;
|
||||
- /** Does this session belong to a root process or a user one? */
|
||||
- bool user_session;
|
||||
+ /** VMMDEV_REQUESTOR_* flags */
|
||||
+ u32 requestor;
|
||||
/** Set on CANCEL_ALL_WAITEVENTS, protected by vbg_devevent_spinlock. */
|
||||
bool cancel_waiters;
|
||||
};
|
||||
|
||||
int vbg_core_init(struct vbg_dev *gdev, u32 fixed_events);
|
||||
void vbg_core_exit(struct vbg_dev *gdev);
|
||||
-struct vbg_session *vbg_core_open_session(struct vbg_dev *gdev, bool user);
|
||||
+struct vbg_session *vbg_core_open_session(struct vbg_dev *gdev, u32 requestor);
|
||||
void vbg_core_close_session(struct vbg_session *session);
|
||||
int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data);
|
||||
int vbg_core_set_mouse_status(struct vbg_dev *gdev, u32 features);
|
||||
@@ -172,12 +172,13 @@ irqreturn_t vbg_core_isr(int irq, void *dev_id);
|
||||
void vbg_linux_mouse_event(struct vbg_dev *gdev);
|
||||
|
||||
/* Private (non exported) functions form vboxguest_utils.c */
|
||||
-void *vbg_req_alloc(size_t len, enum vmmdev_request_type req_type);
|
||||
+void *vbg_req_alloc(size_t len, enum vmmdev_request_type req_type,
|
||||
+ u32 requestor);
|
||||
void vbg_req_free(void *req, size_t len);
|
||||
int vbg_req_perform(struct vbg_dev *gdev, void *req);
|
||||
int vbg_hgcm_call32(
|
||||
- struct vbg_dev *gdev, u32 client_id, u32 function, u32 timeout_ms,
|
||||
- struct vmmdev_hgcm_function_parameter32 *parm32, u32 parm_count,
|
||||
- int *vbox_status);
|
||||
+ struct vbg_dev *gdev, u32 requestor, u32 client_id, u32 function,
|
||||
+ u32 timeout_ms, struct vmmdev_hgcm_function_parameter32 *parm32,
|
||||
+ u32 parm_count, int *vbox_status);
|
||||
|
||||
#endif
|
||||
diff --git a/drivers/virt/vboxguest/vboxguest_linux.c b/drivers/virt/vboxguest/vboxguest_linux.c
|
||||
index 6e2a9619192d..6e8c0f1c1056 100644
|
||||
--- a/drivers/virt/vboxguest/vboxguest_linux.c
|
||||
+++ b/drivers/virt/vboxguest/vboxguest_linux.c
|
||||
@@ -5,6 +5,7 @@
|
||||
* Copyright (C) 2006-2016 Oracle Corporation
|
||||
*/
|
||||
|
||||
+#include <linux/cred.h>
|
||||
#include <linux/input.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/miscdevice.h>
|
||||
@@ -28,6 +29,23 @@ static DEFINE_MUTEX(vbg_gdev_mutex);
|
||||
/** Global vbg_gdev pointer used by vbg_get/put_gdev. */
|
||||
static struct vbg_dev *vbg_gdev;
|
||||
|
||||
+static u32 vbg_misc_device_requestor(struct inode *inode)
|
||||
+{
|
||||
+ u32 requestor = VMMDEV_REQUESTOR_USERMODE |
|
||||
+ VMMDEV_REQUESTOR_CON_DONT_KNOW |
|
||||
+ VMMDEV_REQUESTOR_TRUST_NOT_GIVEN;
|
||||
+
|
||||
+ if (from_kuid(current_user_ns(), current->cred->uid) == 0)
|
||||
+ requestor |= VMMDEV_REQUESTOR_USR_ROOT;
|
||||
+ else
|
||||
+ requestor |= VMMDEV_REQUESTOR_USR_USER;
|
||||
+
|
||||
+ if (in_egroup_p(inode->i_gid))
|
||||
+ requestor |= VMMDEV_REQUESTOR_GRP_VBOX;
|
||||
+
|
||||
+ return requestor;
|
||||
+}
|
||||
+
|
||||
static int vbg_misc_device_open(struct inode *inode, struct file *filp)
|
||||
{
|
||||
struct vbg_session *session;
|
||||
@@ -36,7 +54,7 @@ static int vbg_misc_device_open(struct inode *inode, struct file *filp)
|
||||
/* misc_open sets filp->private_data to our misc device */
|
||||
gdev = container_of(filp->private_data, struct vbg_dev, misc_device);
|
||||
|
||||
- session = vbg_core_open_session(gdev, false);
|
||||
+ session = vbg_core_open_session(gdev, vbg_misc_device_requestor(inode));
|
||||
if (IS_ERR(session))
|
||||
return PTR_ERR(session);
|
||||
|
||||
@@ -53,7 +71,8 @@ static int vbg_misc_device_user_open(struct inode *inode, struct file *filp)
|
||||
gdev = container_of(filp->private_data, struct vbg_dev,
|
||||
misc_device_user);
|
||||
|
||||
- session = vbg_core_open_session(gdev, false);
|
||||
+ session = vbg_core_open_session(gdev, vbg_misc_device_requestor(inode) |
|
||||
+ VMMDEV_REQUESTOR_USER_DEVICE);
|
||||
if (IS_ERR(session))
|
||||
return PTR_ERR(session);
|
||||
|
||||
@@ -115,7 +134,8 @@ static long vbg_misc_device_ioctl(struct file *filp, unsigned int req,
|
||||
req == VBG_IOCTL_VMMDEV_REQUEST_BIG;
|
||||
|
||||
if (is_vmmdev_req)
|
||||
- buf = vbg_req_alloc(size, VBG_IOCTL_HDR_TYPE_DEFAULT);
|
||||
+ buf = vbg_req_alloc(size, VBG_IOCTL_HDR_TYPE_DEFAULT,
|
||||
+ session->requestor);
|
||||
else
|
||||
buf = kmalloc(size, GFP_KERNEL);
|
||||
if (!buf)
|
||||
diff --git a/drivers/virt/vboxguest/vboxguest_utils.c b/drivers/virt/vboxguest/vboxguest_utils.c
|
||||
index bf4474214b4d..75fd140b02ff 100644
|
||||
--- a/drivers/virt/vboxguest/vboxguest_utils.c
|
||||
+++ b/drivers/virt/vboxguest/vboxguest_utils.c
|
||||
@@ -62,7 +62,8 @@ VBG_LOG(vbg_err, pr_err);
|
||||
VBG_LOG(vbg_debug, pr_debug);
|
||||
#endif
|
||||
|
||||
-void *vbg_req_alloc(size_t len, enum vmmdev_request_type req_type)
|
||||
+void *vbg_req_alloc(size_t len, enum vmmdev_request_type req_type,
|
||||
+ u32 requestor)
|
||||
{
|
||||
struct vmmdev_request_header *req;
|
||||
int order = get_order(PAGE_ALIGN(len));
|
||||
@@ -78,7 +79,7 @@ void *vbg_req_alloc(size_t len, enum vmmdev_request_type req_type)
|
||||
req->request_type = req_type;
|
||||
req->rc = VERR_GENERAL_FAILURE;
|
||||
req->reserved1 = 0;
|
||||
- req->reserved2 = 0;
|
||||
+ req->requestor = requestor;
|
||||
|
||||
return req;
|
||||
}
|
||||
@@ -119,7 +120,7 @@ static bool hgcm_req_done(struct vbg_dev *gdev,
|
||||
return done;
|
||||
}
|
||||
|
||||
-int vbg_hgcm_connect(struct vbg_dev *gdev,
|
||||
+int vbg_hgcm_connect(struct vbg_dev *gdev, u32 requestor,
|
||||
struct vmmdev_hgcm_service_location *loc,
|
||||
u32 *client_id, int *vbox_status)
|
||||
{
|
||||
@@ -127,7 +128,7 @@ int vbg_hgcm_connect(struct vbg_dev *gdev,
|
||||
int rc;
|
||||
|
||||
hgcm_connect = vbg_req_alloc(sizeof(*hgcm_connect),
|
||||
- VMMDEVREQ_HGCM_CONNECT);
|
||||
+ VMMDEVREQ_HGCM_CONNECT, requestor);
|
||||
if (!hgcm_connect)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -153,13 +154,15 @@ int vbg_hgcm_connect(struct vbg_dev *gdev,
|
||||
}
|
||||
EXPORT_SYMBOL(vbg_hgcm_connect);
|
||||
|
||||
-int vbg_hgcm_disconnect(struct vbg_dev *gdev, u32 client_id, int *vbox_status)
|
||||
+int vbg_hgcm_disconnect(struct vbg_dev *gdev, u32 requestor,
|
||||
+ u32 client_id, int *vbox_status)
|
||||
{
|
||||
struct vmmdev_hgcm_disconnect *hgcm_disconnect = NULL;
|
||||
int rc;
|
||||
|
||||
hgcm_disconnect = vbg_req_alloc(sizeof(*hgcm_disconnect),
|
||||
- VMMDEVREQ_HGCM_DISCONNECT);
|
||||
+ VMMDEVREQ_HGCM_DISCONNECT,
|
||||
+ requestor);
|
||||
if (!hgcm_disconnect)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -593,9 +596,10 @@ static int hgcm_call_copy_back_result(
|
||||
return 0;
|
||||
}
|
||||
|
||||
-int vbg_hgcm_call(struct vbg_dev *gdev, u32 client_id, u32 function,
|
||||
- u32 timeout_ms, struct vmmdev_hgcm_function_parameter *parms,
|
||||
- u32 parm_count, int *vbox_status)
|
||||
+int vbg_hgcm_call(struct vbg_dev *gdev, u32 requestor, u32 client_id,
|
||||
+ u32 function, u32 timeout_ms,
|
||||
+ struct vmmdev_hgcm_function_parameter *parms, u32 parm_count,
|
||||
+ int *vbox_status)
|
||||
{
|
||||
struct vmmdev_hgcm_call *call;
|
||||
void **bounce_bufs = NULL;
|
||||
@@ -615,7 +619,7 @@ int vbg_hgcm_call(struct vbg_dev *gdev, u32 client_id, u32 function,
|
||||
goto free_bounce_bufs;
|
||||
}
|
||||
|
||||
- call = vbg_req_alloc(size, VMMDEVREQ_HGCM_CALL);
|
||||
+ call = vbg_req_alloc(size, VMMDEVREQ_HGCM_CALL, requestor);
|
||||
if (!call) {
|
||||
ret = -ENOMEM;
|
||||
goto free_bounce_bufs;
|
||||
@@ -647,9 +651,9 @@ EXPORT_SYMBOL(vbg_hgcm_call);
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
int vbg_hgcm_call32(
|
||||
- struct vbg_dev *gdev, u32 client_id, u32 function, u32 timeout_ms,
|
||||
- struct vmmdev_hgcm_function_parameter32 *parm32, u32 parm_count,
|
||||
- int *vbox_status)
|
||||
+ struct vbg_dev *gdev, u32 requestor, u32 client_id, u32 function,
|
||||
+ u32 timeout_ms, struct vmmdev_hgcm_function_parameter32 *parm32,
|
||||
+ u32 parm_count, int *vbox_status)
|
||||
{
|
||||
struct vmmdev_hgcm_function_parameter *parm64 = NULL;
|
||||
u32 i, size;
|
||||
@@ -689,7 +693,7 @@ int vbg_hgcm_call32(
|
||||
goto out_free;
|
||||
}
|
||||
|
||||
- ret = vbg_hgcm_call(gdev, client_id, function, timeout_ms,
|
||||
+ ret = vbg_hgcm_call(gdev, requestor, client_id, function, timeout_ms,
|
||||
parm64, parm_count, vbox_status);
|
||||
if (ret < 0)
|
||||
goto out_free;
|
||||
diff --git a/drivers/virt/vboxguest/vboxguest_version.h b/drivers/virt/vboxguest/vboxguest_version.h
|
||||
index 77f0c8f8a231..84834dad38d5 100644
|
||||
--- a/drivers/virt/vboxguest/vboxguest_version.h
|
||||
+++ b/drivers/virt/vboxguest/vboxguest_version.h
|
||||
@@ -9,11 +9,10 @@
|
||||
#ifndef __VBOX_VERSION_H__
|
||||
#define __VBOX_VERSION_H__
|
||||
|
||||
-/* Last synced October 4th 2017 */
|
||||
-#define VBG_VERSION_MAJOR 5
|
||||
-#define VBG_VERSION_MINOR 2
|
||||
+#define VBG_VERSION_MAJOR 6
|
||||
+#define VBG_VERSION_MINOR 0
|
||||
#define VBG_VERSION_BUILD 0
|
||||
-#define VBG_SVN_REV 68940
|
||||
-#define VBG_VERSION_STRING "5.2.0"
|
||||
+#define VBG_SVN_REV 127566
|
||||
+#define VBG_VERSION_STRING "6.0.0"
|
||||
|
||||
#endif
|
||||
diff --git a/drivers/virt/vboxguest/vmmdev.h b/drivers/virt/vboxguest/vmmdev.h
|
||||
index 5e2ae978935d..6337b8d75d96 100644
|
||||
--- a/drivers/virt/vboxguest/vmmdev.h
|
||||
+++ b/drivers/virt/vboxguest/vmmdev.h
|
||||
@@ -98,8 +98,8 @@ struct vmmdev_request_header {
|
||||
s32 rc;
|
||||
/** Reserved field no.1. MBZ. */
|
||||
u32 reserved1;
|
||||
- /** Reserved field no.2. MBZ. */
|
||||
- u32 reserved2;
|
||||
+ /** IN: Requestor information (VMMDEV_REQUESTOR_*) */
|
||||
+ u32 requestor;
|
||||
};
|
||||
VMMDEV_ASSERT_SIZE(vmmdev_request_header, 24);
|
||||
|
||||
@@ -247,6 +247,8 @@ struct vmmdev_guest_info {
|
||||
};
|
||||
VMMDEV_ASSERT_SIZE(vmmdev_guest_info, 24 + 8);
|
||||
|
||||
+#define VMMDEV_GUEST_INFO2_ADDITIONS_FEATURES_REQUESTOR_INFO BIT(0)
|
||||
+
|
||||
/** struct vmmdev_guestinfo2 - Guest information report, version 2. */
|
||||
struct vmmdev_guest_info2 {
|
||||
/** Header. */
|
||||
@@ -259,7 +261,7 @@ struct vmmdev_guest_info2 {
|
||||
u32 additions_build;
|
||||
/** SVN revision. */
|
||||
u32 additions_revision;
|
||||
- /** Feature mask, currently unused. */
|
||||
+ /** Feature mask. */
|
||||
u32 additions_features;
|
||||
/**
|
||||
* The intentional meaning of this field was:
|
||||
diff --git a/include/linux/vbox_utils.h b/include/linux/vbox_utils.h
|
||||
index a240ed2a0372..ff56c443180c 100644
|
||||
--- a/include/linux/vbox_utils.h
|
||||
+++ b/include/linux/vbox_utils.h
|
||||
@@ -24,15 +24,17 @@ __printf(1, 2) void vbg_debug(const char *fmt, ...);
|
||||
#define vbg_debug pr_debug
|
||||
#endif
|
||||
|
||||
-int vbg_hgcm_connect(struct vbg_dev *gdev,
|
||||
+int vbg_hgcm_connect(struct vbg_dev *gdev, u32 requestor,
|
||||
struct vmmdev_hgcm_service_location *loc,
|
||||
u32 *client_id, int *vbox_status);
|
||||
|
||||
-int vbg_hgcm_disconnect(struct vbg_dev *gdev, u32 client_id, int *vbox_status);
|
||||
+int vbg_hgcm_disconnect(struct vbg_dev *gdev, u32 requestor,
|
||||
+ u32 client_id, int *vbox_status);
|
||||
|
||||
-int vbg_hgcm_call(struct vbg_dev *gdev, u32 client_id, u32 function,
|
||||
- u32 timeout_ms, struct vmmdev_hgcm_function_parameter *parms,
|
||||
- u32 parm_count, int *vbox_status);
|
||||
+int vbg_hgcm_call(struct vbg_dev *gdev, u32 requestor, u32 client_id,
|
||||
+ u32 function, u32 timeout_ms,
|
||||
+ struct vmmdev_hgcm_function_parameter *parms, u32 parm_count,
|
||||
+ int *vbox_status);
|
||||
|
||||
/**
|
||||
* Convert a VirtualBox status code to a standard Linux kernel return value.
|
||||
diff --git a/include/uapi/linux/vbox_vmmdev_types.h b/include/uapi/linux/vbox_vmmdev_types.h
|
||||
index 0e68024f36c7..8c535c2594ad 100644
|
||||
--- a/include/uapi/linux/vbox_vmmdev_types.h
|
||||
+++ b/include/uapi/linux/vbox_vmmdev_types.h
|
||||
@@ -102,6 +102,37 @@ enum vmmdev_request_type {
|
||||
#define VMMDEVREQ_HGCM_CALL VMMDEVREQ_HGCM_CALL32
|
||||
#endif
|
||||
|
||||
+/* vmmdev_request_header.requestor defines */
|
||||
+
|
||||
+/* Requestor user not given. */
|
||||
+#define VMMDEV_REQUESTOR_USR_NOT_GIVEN 0x00000000
|
||||
+/* The kernel driver (VBoxGuest) is the requestor. */
|
||||
+#define VMMDEV_REQUESTOR_USR_DRV 0x00000001
|
||||
+/* Some other kernel driver is the requestor. */
|
||||
+#define VMMDEV_REQUESTOR_USR_DRV_OTHER 0x00000002
|
||||
+/* The root or a admin user is the requestor. */
|
||||
+#define VMMDEV_REQUESTOR_USR_ROOT 0x00000003
|
||||
+/* Regular joe user is making the request. */
|
||||
+#define VMMDEV_REQUESTOR_USR_USER 0x00000006
|
||||
+/* User classification mask. */
|
||||
+#define VMMDEV_REQUESTOR_USR_MASK 0x00000007
|
||||
+/* Kernel mode request. */
|
||||
+#define VMMDEV_REQUESTOR_KERNEL 0x00000000
|
||||
+/* User mode request. */
|
||||
+#define VMMDEV_REQUESTOR_USERMODE 0x00000008
|
||||
+/* Don't know the physical console association of the requestor. */
|
||||
+#define VMMDEV_REQUESTOR_CON_DONT_KNOW 0x00000000
|
||||
+/* Console classification mask. */
|
||||
+#define VMMDEV_REQUESTOR_CON_MASK 0x00000040
|
||||
+/* Requestor is member of special VirtualBox user group. */
|
||||
+#define VMMDEV_REQUESTOR_GRP_VBOX 0x00000080
|
||||
+/* Requestor trust level: Unspecified */
|
||||
+#define VMMDEV_REQUESTOR_TRUST_NOT_GIVEN 0x00000000
|
||||
+/* Requestor trust level mask */
|
||||
+#define VMMDEV_REQUESTOR_TRUST_MASK 0x00007000
|
||||
+/* Requestor is using the less trusted user device node (/dev/vboxuser) */
|
||||
+#define VMMDEV_REQUESTOR_USER_DEVICE 0x00008000
|
||||
+
|
||||
/** HGCM service location types. */
|
||||
enum vmmdev_hgcm_service_location_type {
|
||||
VMMDEV_HGCM_LOC_INVALID = 0,
|
||||
--
|
||||
2.21.0
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,217 +0,0 @@
|
|||
From 6b6203b92cfb457a0669a9c87a29b360405bffc6 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Garrett <matthew.garrett@nebula.com>
|
||||
Date: Fri, 9 Aug 2013 18:36:30 -0400
|
||||
Subject: [PATCH 10/20] Add option to automatically enforce module signatures
|
||||
when in Secure Boot mode
|
||||
|
||||
UEFI Secure Boot provides a mechanism for ensuring that the firmware will
|
||||
only load signed bootloaders and kernels. Certain use cases may also
|
||||
require that all kernel modules also be signed. Add a configuration option
|
||||
that enforces this automatically when enabled.
|
||||
|
||||
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
|
||||
---
|
||||
Documentation/x86/zero-page.txt | 2 ++
|
||||
arch/x86/Kconfig | 11 ++++++
|
||||
arch/x86/boot/compressed/eboot.c | 66 +++++++++++++++++++++++++++++++++++
|
||||
arch/x86/include/uapi/asm/bootparam.h | 3 +-
|
||||
arch/x86/kernel/setup.c | 6 ++++
|
||||
include/linux/module.h | 6 ++++
|
||||
kernel/module.c | 7 ++++
|
||||
7 files changed, 100 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Documentation/x86/zero-page.txt b/Documentation/x86/zero-page.txt
|
||||
index 95a4d34af3fd..b8527c6b7646 100644
|
||||
--- a/Documentation/x86/zero-page.txt
|
||||
+++ b/Documentation/x86/zero-page.txt
|
||||
@@ -31,6 +31,8 @@ Offset Proto Name Meaning
|
||||
1E9/001 ALL eddbuf_entries Number of entries in eddbuf (below)
|
||||
1EA/001 ALL edd_mbr_sig_buf_entries Number of entries in edd_mbr_sig_buffer
|
||||
(below)
|
||||
+1EB/001 ALL kbd_status Numlock is enabled
|
||||
+1EC/001 ALL secure_boot Secure boot is enabled in the firmware
|
||||
1EF/001 ALL sentinel Used to detect broken bootloaders
|
||||
290/040 ALL edd_mbr_sig_buffer EDD MBR signatures
|
||||
2D0/A00 ALL e820_map E820 memory map table
|
||||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
|
||||
index bada636d1065..d666ef8b616c 100644
|
||||
--- a/arch/x86/Kconfig
|
||||
+++ b/arch/x86/Kconfig
|
||||
@@ -1786,6 +1786,17 @@ config EFI_MIXED
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
+config EFI_SECURE_BOOT_SIG_ENFORCE
|
||||
+ def_bool n
|
||||
+ depends on EFI
|
||||
+ prompt "Force module signing when UEFI Secure Boot is enabled"
|
||||
+ ---help---
|
||||
+ UEFI Secure Boot provides a mechanism for ensuring that the
|
||||
+ firmware will only load signed bootloaders and kernels. Certain
|
||||
+ use cases may also require that all kernel modules also be signed.
|
||||
+ Say Y here to automatically enable module signature enforcement
|
||||
+ when a system boots with UEFI Secure Boot enabled.
|
||||
+
|
||||
config SECCOMP
|
||||
def_bool y
|
||||
prompt "Enable seccomp to safely compute untrusted bytecode"
|
||||
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
|
||||
index cc69e37548db..ebc85c1eefd6 100644
|
||||
--- a/arch/x86/boot/compressed/eboot.c
|
||||
+++ b/arch/x86/boot/compressed/eboot.c
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <asm/efi.h>
|
||||
#include <asm/setup.h>
|
||||
#include <asm/desc.h>
|
||||
+#include <asm/bootparam_utils.h>
|
||||
|
||||
#include "../string.h"
|
||||
#include "eboot.h"
|
||||
@@ -537,6 +538,67 @@ static void setup_efi_pci(struct boot_params *params)
|
||||
efi_call_early(free_pool, pci_handle);
|
||||
}
|
||||
|
||||
+static int get_secure_boot(void)
|
||||
+{
|
||||
+ u8 sb, setup;
|
||||
+ unsigned long datasize = sizeof(sb);
|
||||
+ efi_guid_t var_guid = EFI_GLOBAL_VARIABLE_GUID;
|
||||
+ efi_status_t status;
|
||||
+
|
||||
+ status = efi_early->call((unsigned long)sys_table->runtime->get_variable,
|
||||
+ L"SecureBoot", &var_guid, NULL, &datasize, &sb);
|
||||
+
|
||||
+ if (status != EFI_SUCCESS)
|
||||
+ return 0;
|
||||
+
|
||||
+ if (sb == 0)
|
||||
+ return 0;
|
||||
+
|
||||
+
|
||||
+ status = efi_early->call((unsigned long)sys_table->runtime->get_variable,
|
||||
+ L"SetupMode", &var_guid, NULL, &datasize,
|
||||
+ &setup);
|
||||
+
|
||||
+ if (status != EFI_SUCCESS)
|
||||
+ return 0;
|
||||
+
|
||||
+ if (setup == 1)
|
||||
+ return 0;
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/*
|
||||
+ * See if we have Graphics Output Protocol
|
||||
+ */
|
||||
+static efi_status_t setup_gop(struct screen_info *si, efi_guid_t *proto,
|
||||
+ unsigned long size)
|
||||
+{
|
||||
+ efi_status_t status;
|
||||
+ void **gop_handle = NULL;
|
||||
+
|
||||
+ status = efi_call_early(allocate_pool, EFI_LOADER_DATA,
|
||||
+ size, (void **)&gop_handle);
|
||||
+ if (status != EFI_SUCCESS)
|
||||
+ return status;
|
||||
+
|
||||
+ status = efi_call_early(locate_handle,
|
||||
+ EFI_LOCATE_BY_PROTOCOL,
|
||||
+ proto, NULL, &size, gop_handle);
|
||||
+ if (status != EFI_SUCCESS)
|
||||
+ goto free_handle;
|
||||
+
|
||||
+ if (efi_early->is64)
|
||||
+ status = setup_gop64(si, proto, size, gop_handle);
|
||||
+ else
|
||||
+ status = setup_gop32(si, proto, size, gop_handle);
|
||||
+
|
||||
+free_handle:
|
||||
+ efi_call_early(free_pool, gop_handle);
|
||||
+ return status;
|
||||
+}
|
||||
+
|
||||
static efi_status_t
|
||||
setup_uga32(void **uga_handle, unsigned long size, u32 *width, u32 *height)
|
||||
{
|
||||
@@ -1094,6 +1156,10 @@ struct boot_params *efi_main(struct efi_config *c,
|
||||
else
|
||||
setup_boot_services32(efi_early);
|
||||
|
||||
+ sanitize_boot_params(boot_params);
|
||||
+
|
||||
+ boot_params->secure_boot = get_secure_boot();
|
||||
+
|
||||
setup_graphics(boot_params);
|
||||
|
||||
setup_efi_pci(boot_params);
|
||||
diff --git a/arch/x86/include/uapi/asm/bootparam.h b/arch/x86/include/uapi/asm/bootparam.h
|
||||
index c18ce67495fa..2b3e5427097b 100644
|
||||
--- a/arch/x86/include/uapi/asm/bootparam.h
|
||||
+++ b/arch/x86/include/uapi/asm/bootparam.h
|
||||
@@ -134,7 +134,8 @@ struct boot_params {
|
||||
__u8 eddbuf_entries; /* 0x1e9 */
|
||||
__u8 edd_mbr_sig_buf_entries; /* 0x1ea */
|
||||
__u8 kbd_status; /* 0x1eb */
|
||||
- __u8 _pad5[3]; /* 0x1ec */
|
||||
+ __u8 secure_boot; /* 0x1ec */
|
||||
+ __u8 _pad5[2]; /* 0x1ed */
|
||||
/*
|
||||
* The sentinel is set to a nonzero value (0xff) in header.S.
|
||||
*
|
||||
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
|
||||
index bbfbca5fea0c..d40e961753c9 100644
|
||||
--- a/arch/x86/kernel/setup.c
|
||||
+++ b/arch/x86/kernel/setup.c
|
||||
@@ -1160,6 +1160,12 @@ void __init setup_arch(char **cmdline_p)
|
||||
|
||||
io_delay_init();
|
||||
|
||||
+#ifdef CONFIG_EFI_SECURE_BOOT_SIG_ENFORCE
|
||||
+ if (boot_params.secure_boot) {
|
||||
+ enforce_signed_modules();
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Parse the ACPI tables for possible boot-time SMP configuration.
|
||||
*/
|
||||
diff --git a/include/linux/module.h b/include/linux/module.h
|
||||
index 05bd6c989a0c..32327704e18d 100644
|
||||
--- a/include/linux/module.h
|
||||
+++ b/include/linux/module.h
|
||||
@@ -260,6 +260,12 @@ extern const typeof(name) __mod_##type##__##name##_device_table \
|
||||
|
||||
struct notifier_block;
|
||||
|
||||
+#ifdef CONFIG_MODULE_SIG
|
||||
+extern void enforce_signed_modules(void);
|
||||
+#else
|
||||
+static inline void enforce_signed_modules(void) {};
|
||||
+#endif
|
||||
+
|
||||
#ifdef CONFIG_MODULES
|
||||
|
||||
extern int modules_disabled; /* for sysctl */
|
||||
diff --git a/kernel/module.c b/kernel/module.c
|
||||
index cb864505d020..cb1f1da69bf4 100644
|
||||
--- a/kernel/module.c
|
||||
+++ b/kernel/module.c
|
||||
@@ -4285,6 +4285,13 @@ void module_layout(struct module *mod,
|
||||
EXPORT_SYMBOL(module_layout);
|
||||
#endif
|
||||
|
||||
+#ifdef CONFIG_MODULE_SIG
|
||||
+void enforce_signed_modules(void)
|
||||
+{
|
||||
+ sig_enforce = true;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
bool secure_modules(void)
|
||||
{
|
||||
#ifdef CONFIG_MODULE_SIG
|
||||
--
|
||||
2.9.3
|
||||
|
||||
44
Bluetooth-Check-key-sizes-only-when-Secure-Simple-Pa.patch
Normal file
44
Bluetooth-Check-key-sizes-only-when-Secure-Simple-Pa.patch
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
From 7451bbd2c5c1c6512689855532ad49f26ba00cd6 Mon Sep 17 00:00:00 2001
|
||||
From: Marcel Holtmann <marcel@holtmann.org>
|
||||
Date: Wed, 22 May 2019 09:05:40 +0200
|
||||
Subject: [PATCH] Bluetooth: Check key sizes only when Secure Simple Pairing is
|
||||
enabled
|
||||
|
||||
The encryption is only mandatory to be enforced when both sides are using
|
||||
Secure Simple Pairing and this means the key size check makes only sense
|
||||
in that case.
|
||||
|
||||
On legacy Bluetooth 2.0 and earlier devices like mice the encryption was
|
||||
optional and thus causing an issue if the key size check is not bound to
|
||||
using Secure Simple Pairing.
|
||||
|
||||
Fixes: d5bb334a8e17 ("Bluetooth: Align minimum encryption key size for LE and BR/EDR connections")
|
||||
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
|
||||
Cc: stable@vger.kernel.org
|
||||
---
|
||||
net/bluetooth/hci_conn.c | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
|
||||
index 3cf0764d5793..7516cdde3373 100644
|
||||
--- a/net/bluetooth/hci_conn.c
|
||||
+++ b/net/bluetooth/hci_conn.c
|
||||
@@ -1272,8 +1272,13 @@ int hci_conn_check_link_mode(struct hci_conn *conn)
|
||||
return 0;
|
||||
}
|
||||
|
||||
- if (hci_conn_ssp_enabled(conn) &&
|
||||
- !test_bit(HCI_CONN_ENCRYPT, &conn->flags))
|
||||
+ /* If Secure Simple Pairing is not enabled, then legacy connection
|
||||
+ * setup is used and no encryption or key sizes can be enforced.
|
||||
+ */
|
||||
+ if (!hci_conn_ssp_enabled(conn))
|
||||
+ return 1;
|
||||
+
|
||||
+ if (!test_bit(HCI_CONN_ENCRYPT, &conn->flags))
|
||||
return 0;
|
||||
|
||||
/* The minimum encryption key size needs to be enforced by the
|
||||
--
|
||||
2.20.1
|
||||
|
||||
238
Buffer-overflow-read-checks-in-mwifiex.patch
Normal file
238
Buffer-overflow-read-checks-in-mwifiex.patch
Normal file
|
|
@ -0,0 +1,238 @@
|
|||
From patchwork Wed May 29 12:52:19 2019
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Takashi Iwai <tiwai@suse.de>
|
||||
X-Patchwork-Id: 10967049
|
||||
X-Patchwork-Delegate: kvalo@adurom.com
|
||||
Return-Path: <linux-wireless-owner@kernel.org>
|
||||
Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org
|
||||
[172.30.200.125])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3C6B01575
|
||||
for <patchwork-linux-wireless@patchwork.kernel.org>;
|
||||
Wed, 29 May 2019 12:52:41 +0000 (UTC)
|
||||
Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1])
|
||||
by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2FD42287D4
|
||||
for <patchwork-linux-wireless@patchwork.kernel.org>;
|
||||
Wed, 29 May 2019 12:52:41 +0000 (UTC)
|
||||
Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486)
|
||||
id 2E25D2897A; Wed, 29 May 2019 12:52:41 +0000 (UTC)
|
||||
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
|
||||
pdx-wl-mail.web.codeaurora.org
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI,
|
||||
RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A60B52895F
|
||||
for <patchwork-linux-wireless@patchwork.kernel.org>;
|
||||
Wed, 29 May 2019 12:52:40 +0000 (UTC)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1727034AbfE2Mwk (ORCPT
|
||||
<rfc822;patchwork-linux-wireless@patchwork.kernel.org>);
|
||||
Wed, 29 May 2019 08:52:40 -0400
|
||||
Received: from mx2.suse.de ([195.135.220.15]:33780 "EHLO mx1.suse.de"
|
||||
rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP
|
||||
id S1725936AbfE2Mwj (ORCPT <rfc822;linux-wireless@vger.kernel.org>);
|
||||
Wed, 29 May 2019 08:52:39 -0400
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx1.suse.de (Postfix) with ESMTP id EA4CCB00B;
|
||||
Wed, 29 May 2019 12:52:37 +0000 (UTC)
|
||||
From: Takashi Iwai <tiwai@suse.de>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Amitkumar Karwar <amitkarwar@gmail.com>,
|
||||
Nishant Sarmukadam <nishants@marvell.com>,
|
||||
Ganapathi Bhat <gbhat@marvell.com>,
|
||||
Xinming Hu <huxinming820@gmail.com>,
|
||||
Kalle Valo <kvalo@codeaurora.org>, huangwen@venustech.com.cn,
|
||||
Solar Designer <solar@openwall.com>,
|
||||
Marcus Meissner <meissner@suse.de>
|
||||
Subject: [PATCH 1/2] mwifiex: Fix possible buffer overflows at parsing bss
|
||||
descriptor
|
||||
Date: Wed, 29 May 2019 14:52:19 +0200
|
||||
Message-Id: <20190529125220.17066-2-tiwai@suse.de>
|
||||
X-Mailer: git-send-email 2.16.4
|
||||
In-Reply-To: <20190529125220.17066-1-tiwai@suse.de>
|
||||
References: <20190529125220.17066-1-tiwai@suse.de>
|
||||
Sender: linux-wireless-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
X-Virus-Scanned: ClamAV using ClamSMTP
|
||||
|
||||
mwifiex_update_bss_desc_with_ie() calls memcpy() unconditionally in
|
||||
a couple places without checking the destination size. Since the
|
||||
source is given from user-space, this may trigger a heap buffer
|
||||
overflow.
|
||||
|
||||
Fix it by putting the length check before performing memcpy().
|
||||
|
||||
This fix addresses CVE-2019-3846.
|
||||
|
||||
Reported-by: huangwen <huangwen@venustech.com.cn>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
drivers/net/wireless/marvell/mwifiex/scan.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c b/drivers/net/wireless/marvell/mwifiex/scan.c
|
||||
index 935778ec9a1b..64ab6fe78c0d 100644
|
||||
--- a/drivers/net/wireless/marvell/mwifiex/scan.c
|
||||
+++ b/drivers/net/wireless/marvell/mwifiex/scan.c
|
||||
@@ -1247,6 +1247,8 @@ int mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
|
||||
}
|
||||
switch (element_id) {
|
||||
case WLAN_EID_SSID:
|
||||
+ if (element_len > IEEE80211_MAX_SSID_LEN)
|
||||
+ return -EINVAL;
|
||||
bss_entry->ssid.ssid_len = element_len;
|
||||
memcpy(bss_entry->ssid.ssid, (current_ptr + 2),
|
||||
element_len);
|
||||
@@ -1256,6 +1258,8 @@ int mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
|
||||
break;
|
||||
|
||||
case WLAN_EID_SUPP_RATES:
|
||||
+ if (element_len > MWIFIEX_SUPPORTED_RATES)
|
||||
+ return -EINVAL;
|
||||
memcpy(bss_entry->data_rates, current_ptr + 2,
|
||||
element_len);
|
||||
memcpy(bss_entry->supported_rates, current_ptr + 2,
|
||||
|
||||
From patchwork Wed May 29 12:52:20 2019
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Takashi Iwai <tiwai@suse.de>
|
||||
X-Patchwork-Id: 10967047
|
||||
X-Patchwork-Delegate: kvalo@adurom.com
|
||||
Return-Path: <linux-wireless-owner@kernel.org>
|
||||
Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org
|
||||
[172.30.200.125])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 05B0D92A
|
||||
for <patchwork-linux-wireless@patchwork.kernel.org>;
|
||||
Wed, 29 May 2019 12:52:41 +0000 (UTC)
|
||||
Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1])
|
||||
by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EB3CC28972
|
||||
for <patchwork-linux-wireless@patchwork.kernel.org>;
|
||||
Wed, 29 May 2019 12:52:40 +0000 (UTC)
|
||||
Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486)
|
||||
id DF23B28978; Wed, 29 May 2019 12:52:40 +0000 (UTC)
|
||||
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
|
||||
pdx-wl-mail.web.codeaurora.org
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI,
|
||||
RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8221B20121
|
||||
for <patchwork-linux-wireless@patchwork.kernel.org>;
|
||||
Wed, 29 May 2019 12:52:40 +0000 (UTC)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1727023AbfE2Mwj (ORCPT
|
||||
<rfc822;patchwork-linux-wireless@patchwork.kernel.org>);
|
||||
Wed, 29 May 2019 08:52:39 -0400
|
||||
Received: from mx2.suse.de ([195.135.220.15]:33796 "EHLO mx1.suse.de"
|
||||
rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP
|
||||
id S1727017AbfE2Mwj (ORCPT <rfc822;linux-wireless@vger.kernel.org>);
|
||||
Wed, 29 May 2019 08:52:39 -0400
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx1.suse.de (Postfix) with ESMTP id 06E82B010;
|
||||
Wed, 29 May 2019 12:52:38 +0000 (UTC)
|
||||
From: Takashi Iwai <tiwai@suse.de>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Amitkumar Karwar <amitkarwar@gmail.com>,
|
||||
Nishant Sarmukadam <nishants@marvell.com>,
|
||||
Ganapathi Bhat <gbhat@marvell.com>,
|
||||
Xinming Hu <huxinming820@gmail.com>,
|
||||
Kalle Valo <kvalo@codeaurora.org>, huangwen@venustech.com.cn,
|
||||
Solar Designer <solar@openwall.com>,
|
||||
Marcus Meissner <meissner@suse.de>
|
||||
Subject: [PATCH 2/2] mwifiex: Abort at too short BSS descriptor element
|
||||
Date: Wed, 29 May 2019 14:52:20 +0200
|
||||
Message-Id: <20190529125220.17066-3-tiwai@suse.de>
|
||||
X-Mailer: git-send-email 2.16.4
|
||||
In-Reply-To: <20190529125220.17066-1-tiwai@suse.de>
|
||||
References: <20190529125220.17066-1-tiwai@suse.de>
|
||||
Sender: linux-wireless-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
X-Virus-Scanned: ClamAV using ClamSMTP
|
||||
|
||||
Currently mwifiex_update_bss_desc_with_ie() implicitly assumes that
|
||||
the source descriptor entries contain the enough size for each type
|
||||
and performs copying without checking the source size. This may lead
|
||||
to read over boundary.
|
||||
|
||||
Fix this by putting the source size check in appropriate places.
|
||||
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
drivers/net/wireless/marvell/mwifiex/scan.c | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c b/drivers/net/wireless/marvell/mwifiex/scan.c
|
||||
index 64ab6fe78c0d..c269a0de9413 100644
|
||||
--- a/drivers/net/wireless/marvell/mwifiex/scan.c
|
||||
+++ b/drivers/net/wireless/marvell/mwifiex/scan.c
|
||||
@@ -1269,6 +1269,8 @@ int mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
|
||||
break;
|
||||
|
||||
case WLAN_EID_FH_PARAMS:
|
||||
+ if (element_len + 2 < sizeof(*fh_param_set))
|
||||
+ return -EINVAL;
|
||||
fh_param_set =
|
||||
(struct ieee_types_fh_param_set *) current_ptr;
|
||||
memcpy(&bss_entry->phy_param_set.fh_param_set,
|
||||
@@ -1277,6 +1279,8 @@ int mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
|
||||
break;
|
||||
|
||||
case WLAN_EID_DS_PARAMS:
|
||||
+ if (element_len + 2 < sizeof(*ds_param_set))
|
||||
+ return -EINVAL;
|
||||
ds_param_set =
|
||||
(struct ieee_types_ds_param_set *) current_ptr;
|
||||
|
||||
@@ -1288,6 +1292,8 @@ int mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
|
||||
break;
|
||||
|
||||
case WLAN_EID_CF_PARAMS:
|
||||
+ if (element_len + 2 < sizeof(*cf_param_set))
|
||||
+ return -EINVAL;
|
||||
cf_param_set =
|
||||
(struct ieee_types_cf_param_set *) current_ptr;
|
||||
memcpy(&bss_entry->ss_param_set.cf_param_set,
|
||||
@@ -1296,6 +1302,8 @@ int mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
|
||||
break;
|
||||
|
||||
case WLAN_EID_IBSS_PARAMS:
|
||||
+ if (element_len + 2 < sizeof(*ibss_param_set))
|
||||
+ return -EINVAL;
|
||||
ibss_param_set =
|
||||
(struct ieee_types_ibss_param_set *)
|
||||
current_ptr;
|
||||
@@ -1305,10 +1313,14 @@ int mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
|
||||
break;
|
||||
|
||||
case WLAN_EID_ERP_INFO:
|
||||
+ if (!element_len)
|
||||
+ return -EINVAL;
|
||||
bss_entry->erp_flags = *(current_ptr + 2);
|
||||
break;
|
||||
|
||||
case WLAN_EID_PWR_CONSTRAINT:
|
||||
+ if (!element_len)
|
||||
+ return -EINVAL;
|
||||
bss_entry->local_constraint = *(current_ptr + 2);
|
||||
bss_entry->sensed_11h = true;
|
||||
break;
|
||||
@@ -1349,6 +1361,9 @@ int mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
|
||||
break;
|
||||
|
||||
case WLAN_EID_VENDOR_SPECIFIC:
|
||||
+ if (element_len + 2 < sizeof(vendor_ie->vend_hdr))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
vendor_ie = (struct ieee_types_vendor_specific *)
|
||||
current_ptr;
|
||||
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
From a446d2f94ce540689c7a46bf457d92409e9c4d7e Mon Sep 17 00:00:00 2001
|
||||
From: Josh Stone <jistone@redhat.com>
|
||||
Date: Fri, 21 Nov 2014 10:40:00 -0800
|
||||
Subject: [PATCH] Kbuild: Add an option to enable GCC VTA
|
||||
|
|
@ -37,32 +38,33 @@ Cc: Andrew Morton <akpm@linux-foundation.org>
|
|||
Cc: Markus Trippelsdorf <markus@trippelsdorf.de>
|
||||
Cc: Michel Dänzer <michel@daenzer.net>
|
||||
Signed-off-by: Josh Stone <jistone@redhat.com>
|
||||
Signed-off-by: Jeremy Cline <jcline@redhat.com>
|
||||
---
|
||||
Makefile | 4 ++++
|
||||
lib/Kconfig.debug | 18 +++++++++++++++++-
|
||||
2 files changed, 21 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 257ef5892ab7..3cc6f4477e78 100644
|
||||
index 9ef547fc7ffe..5777d902f8f3 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -701,7 +701,11 @@ KBUILD_CFLAGS += -fomit-frame-pointer
|
||||
@@ -735,7 +735,11 @@ KBUILD_CFLAGS += -fomit-frame-pointer
|
||||
endif
|
||||
endif
|
||||
|
||||
+ifdef CONFIG_DEBUG_INFO_VTA
|
||||
+KBUILD_CFLAGS += $(call cc-option, -fvar-tracking-assignments)
|
||||
+DEBUG_CFLAGS += $(call cc-option, -fvar-tracking-assignments)
|
||||
+else
|
||||
KBUILD_CFLAGS += $(call cc-option, -fno-var-tracking-assignments)
|
||||
DEBUG_CFLAGS := $(call cc-option, -fno-var-tracking-assignments)
|
||||
+endif
|
||||
|
||||
ifdef CONFIG_DEBUG_INFO
|
||||
ifdef CONFIG_DEBUG_INFO_SPLIT
|
||||
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
|
||||
index e2894b23efb6..d98afe18f704 100644
|
||||
index 0d9e81779e37..424206212931 100644
|
||||
--- a/lib/Kconfig.debug
|
||||
+++ b/lib/Kconfig.debug
|
||||
@@ -165,7 +165,23 @@ config DEBUG_INFO_DWARF4
|
||||
@@ -217,7 +217,23 @@ config DEBUG_INFO_DWARF4
|
||||
Generate dwarf4 debug info. This requires recent versions
|
||||
of gcc and gdb. It makes the debug information larger.
|
||||
But it significantly improves the success of resolving
|
||||
|
|
@ -87,3 +89,6 @@ index e2894b23efb6..d98afe18f704 100644
|
|||
|
||||
config GDB_SCRIPTS
|
||||
bool "Provide GDB scripts for kernel debugging"
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,163 +0,0 @@
|
|||
From c72235c288c8cc55d33e257e05d3017c2daf1603 Mon Sep 17 00:00:00 2001
|
||||
From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
Date: Fri, 15 Feb 2019 10:26:48 +0530
|
||||
Subject: arm64: dts: rockchip: Add on-board WiFi/BT support for Rock960 boards
|
||||
|
||||
Add on-board WiFi/BT support for Rock960 boards such as Rock960 based
|
||||
on AP6356S and Ficus based on AP6354 wireless modules.
|
||||
|
||||
Firmwares for the respective boards are available here:
|
||||
|
||||
http://people.linaro.org/~manivannan.sadhasivam/rock960_wifi/
|
||||
http://people.linaro.org/~manivannan.sadhasivam/ficus_wifi/
|
||||
|
||||
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi | 95 +++++++++++++++++++++++-
|
||||
1 file changed, 94 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
|
||||
index fecb133b0ed2..e40e66e33a5e 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
|
||||
@@ -9,6 +9,15 @@
|
||||
#include "rk3399-opp.dtsi"
|
||||
|
||||
/ {
|
||||
+ sdio_pwrseq: sdio-pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ clocks = <&rk808 1>;
|
||||
+ clock-names = "ext_clock";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&wifi_enable_h>;
|
||||
+ reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
vcc1v8_s0: vcc1v8-s0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc1v8_s0";
|
||||
@@ -370,6 +379,20 @@
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
+ bt {
|
||||
+ bt_enable_h: bt-enable-h {
|
||||
+ rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ bt_host_wake_l: bt-host-wake-l {
|
||||
+ rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ bt_wake_l: bt-wake-l {
|
||||
+ rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
sdmmc {
|
||||
sdmmc_bus1: sdmmc-bus1 {
|
||||
rockchip,pins =
|
||||
@@ -395,6 +418,26 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ sdio0 {
|
||||
+ sdio0_bus4: sdio0-bus4 {
|
||||
+ rockchip,pins =
|
||||
+ <2 20 RK_FUNC_1 &pcfg_pull_up_20ma>,
|
||||
+ <2 21 RK_FUNC_1 &pcfg_pull_up_20ma>,
|
||||
+ <2 22 RK_FUNC_1 &pcfg_pull_up_20ma>,
|
||||
+ <2 23 RK_FUNC_1 &pcfg_pull_up_20ma>;
|
||||
+ };
|
||||
+
|
||||
+ sdio0_cmd: sdio0-cmd {
|
||||
+ rockchip,pins =
|
||||
+ <2 24 RK_FUNC_1 &pcfg_pull_up_20ma>;
|
||||
+ };
|
||||
+
|
||||
+ sdio0_clk: sdio0-clk {
|
||||
+ rockchip,pins =
|
||||
+ <2 25 RK_FUNC_1 &pcfg_pull_none_20ma>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
pmic {
|
||||
pmic_int_l: pmic-int-l {
|
||||
rockchip,pins =
|
||||
@@ -411,6 +454,19 @@
|
||||
<1 14 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
};
|
||||
};
|
||||
+
|
||||
+ sdio-pwrseq {
|
||||
+ wifi_enable_h: wifi-enable-h {
|
||||
+ rockchip,pins =
|
||||
+ <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ wifi {
|
||||
+ wifi_host_wake_l: wifi-host-wake-l {
|
||||
+ rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
|
||||
&pwm2 {
|
||||
@@ -421,6 +477,32 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&sdio0 {
|
||||
+ bus-width = <4>;
|
||||
+ clock-frequency = <50000000>;
|
||||
+ cap-sdio-irq;
|
||||
+ cap-sd-highspeed;
|
||||
+ keep-power-in-suspend;
|
||||
+ mmc-pwrseq = <&sdio_pwrseq>;
|
||||
+ non-removable;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
|
||||
+ sd-uhs-sdr104;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ brcmf: wifi@1 {
|
||||
+ compatible = "brcm,bcm4329-fmac";
|
||||
+ reg = <1>;
|
||||
+ interrupt-parent = <&gpio0>;
|
||||
+ interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
|
||||
+ interrupt-names = "host-wake";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&wifi_host_wake_l>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&sdhci {
|
||||
bus-width = <8>;
|
||||
mmc-hs400-1_8v;
|
||||
@@ -447,8 +529,19 @@
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
- pinctrl-0 = <&uart0_xfer &uart0_cts>;
|
||||
+ pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
|
||||
status = "okay";
|
||||
+
|
||||
+ bluetooth {
|
||||
+ compatible = "brcm,bcm43438-bt";
|
||||
+ clocks = <&rk808 1>;
|
||||
+ clock-names = "ext_clock";
|
||||
+ device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
|
||||
+ host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
|
||||
+ shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
|
||||
+ };
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
--
|
||||
cgit 1.2-0.3.lf.el7
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
From 803346a8efc9062da732c9d3e0b8e7079096f1ad Mon Sep 17 00:00:00 2001
|
||||
From: Ezequiel Garcia <ezequiel@collabora.com>
|
||||
Date: Tue, 29 Jan 2019 08:33:24 -0300
|
||||
Subject: arm64: dts: rockchip: Enable HDMI audio devices on rk3399-rock960
|
||||
|
||||
This commit enable the hdmi-sound and i2s2 devices needed to have
|
||||
audio over HDMI on both rock960 and the related ficus board.
|
||||
|
||||
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
|
||||
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
|
||||
index 56abbb08c133..fecb133b0ed2 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
|
||||
@@ -94,6 +94,10 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&hdmi_sound {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&i2c0 {
|
||||
clock-frequency = <400000>;
|
||||
i2c-scl-rising-time-ns = <168>;
|
||||
@@ -336,6 +340,10 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&i2s2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&io_domains {
|
||||
bt656-supply = <&vcc1v8_s0>; /* bt656_gpio2ab_ms */
|
||||
audio-supply = <&vcc1v8_s0>; /* audio_gpio3d4a_ms */
|
||||
--
|
||||
cgit 1.2-0.3.lf.el7
|
||||
2072
arm64-tegra-Add-NVIDIA-Jetson-Nano-Developer-Kit-support.patch
Normal file
2072
arm64-tegra-Add-NVIDIA-Jetson-Nano-Developer-Kit-support.patch
Normal file
File diff suppressed because it is too large
Load diff
68
arm64-tegra-jetson-tx1-fixes.patch
Normal file
68
arm64-tegra-jetson-tx1-fixes.patch
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
From 005e0b987019fff6013dff99f44d9f6ce68f08ad Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Sat, 23 Mar 2019 17:42:18 +0000
|
||||
Subject: [PATCH 1/3] arm64: tegra210: Jetson TX1: disable WP to make SD card
|
||||
work
|
||||
|
||||
There's some issue with Write Protect detection on the Jetson TX1
|
||||
so just apply a quirk to disable the check for the time being.
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi
|
||||
index a96e6ee70c21..072788646cbf 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi
|
||||
@@ -1456,6 +1456,7 @@
|
||||
sdhci@700b0000 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
+ disable-wp;
|
||||
|
||||
cd-gpios = <&gpio TEGRA_GPIO(Z, 1) GPIO_ACTIVE_LOW>;
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
From aea4a7a551fd7342299d34f04a8b75f58644ac07 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Sat, 23 Mar 2019 17:45:10 +0000
|
||||
Subject: [PATCH 2/3] arm64: tegra210: Jetson TX1: disable display panel and
|
||||
associated backlight
|
||||
|
||||
The Jetson TX1 dev kit doesn't ship with a screen by default and if
|
||||
it's not there it appears to crash on boot so disable them both by
|
||||
default until we work out the problem.
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
index 37e3c46e753f..a16f24f1d5ff 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
host1x@50000000 {
|
||||
dsi@54300000 {
|
||||
- status = "okay";
|
||||
+ status = "disabled";
|
||||
|
||||
avdd-dsi-csi-supply = <&vdd_dsi_csi>;
|
||||
|
||||
@@ -54,6 +54,8 @@
|
||||
|
||||
i2c@7000c400 {
|
||||
backlight: backlight@2c {
|
||||
+ status = "disabled";
|
||||
+
|
||||
compatible = "ti,lp8557";
|
||||
reg = <0x2c>;
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
|
@ -1,511 +0,0 @@
|
|||
From patchwork Tue Dec 4 18:58:17 2018
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
X-Patchwork-Id: 10712425
|
||||
Return-Path:
|
||||
<linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org>
|
||||
Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org
|
||||
[172.30.200.125])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C411313BF
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 4 Dec 2018 18:59:34 +0000 (UTC)
|
||||
Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1])
|
||||
by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B721A2BD01
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 4 Dec 2018 18:59:34 +0000 (UTC)
|
||||
Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486)
|
||||
id AB2B72BD2D; Tue, 4 Dec 2018 18:59:34 +0000 (UTC)
|
||||
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
|
||||
pdx-wl-mail.web.codeaurora.org
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED,
|
||||
DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 606D42BD01
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 4 Dec 2018 18:59:34 +0000 (UTC)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
|
||||
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
|
||||
In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
|
||||
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
|
||||
:Resent-Message-ID:List-Owner;
|
||||
bh=6UbJBC0963I46fYE5zRy11baMmDB1ESW2gFQ5gI2wwE=; b=CDOM7grk/CTzf0ntrBtWfB3O6y
|
||||
33/BKjt6ihWsFz/ta8zAMEiFFs9BmnVKDymMGblsIWTjWTb3WfPF5GwSBSCi/ii/uO8sUxys6FtBW
|
||||
f9zzCKZG3yfWmznLUUEThlA5REEOKuV1+/jdk4w0WiNfGNKMMnKROAkmrJEVke4Zhd+8OuKmVOjmv
|
||||
Yn9zREWqYpUJtSut4b9OExhtJWtFrvnoLaj5u84K/gpnp+dVcv7cL+cWOgmYqmImUOwQHnk9GQMKQ
|
||||
uHHaWTRK96TNqgtk1pgwLdy3JTMNNm4x/rQX8eFTsXiAw27c+bUOqBDCCZZRq8uSJfbovVgPN+xvp
|
||||
8s4Q2LjA==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux))
|
||||
id 1gUFup-0007EB-Le; Tue, 04 Dec 2018 18:59:27 +0000
|
||||
Received: from mout.kundenserver.de ([212.227.126.187])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux))
|
||||
id 1gUFuc-000738-NV; Tue, 04 Dec 2018 18:59:16 +0000
|
||||
Received: from localhost.localdomain ([37.4.249.153]) by
|
||||
mrelayeu.kundenserver.de (mreue012 [212.227.15.167]) with ESMTPSA (Nemesis)
|
||||
id 1MsJXG-1hMU9U03Ja-00tiwe; Tue, 04 Dec 2018 19:58:54 +0100
|
||||
From: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>, Ray Jui <rjui@broadcom.com>,
|
||||
Scott Branden <sbranden@broadcom.com>, Eric Anholt <eric@anholt.net>,
|
||||
Arnd Bergmann <arnd@arndb.de>
|
||||
Subject: [PATCH V3 1/3] dt-bindings: bcm: Add Raspberry Pi 3 A+
|
||||
Date: Tue, 4 Dec 2018 19:58:17 +0100
|
||||
Message-Id: <1543949899-13380-2-git-send-email-stefan.wahren@i2se.com>
|
||||
X-Mailer: git-send-email 2.7.4
|
||||
In-Reply-To: <1543949899-13380-1-git-send-email-stefan.wahren@i2se.com>
|
||||
References: <1543949899-13380-1-git-send-email-stefan.wahren@i2se.com>
|
||||
X-Provags-ID: V03:K1:zWjXUKGvRea+gMs+XnPtEqUFEt6coBWKiACMzuwYlKcCFu4r+lA
|
||||
iGx8uqFwUZeMlCRPt/ppyLb1sQzbMcCRqQQR6UhJtkdMZQIQAFlshUesPMbcUk9m4B2o+hV
|
||||
5MKPHtv0JgCoRiG1RHH5O6WhMVUlI/r6QHru1GtJpJnirkWBUM6ybU5if6JNxdc6Q1K+k+j
|
||||
Ely8Z1ImjRPnmySejSWMw==
|
||||
X-UI-Out-Filterresults: notjunk:1;V03:K0:npbkbCpjqTA=:aJ8W+r4VeSzddafgbOrFVV
|
||||
nq1xnYu1eZIBQfLjIYRbrv1nth1fKohmS61nN/+Td+n/k4e3TRa9AMLnwYp0rzFwoilG/0fJD
|
||||
oTRRftY0BKKXSdeoahKljHbUtCjqt7aSxHPbRC66juNlKlbYP2X2e1SpPMu6/KBzwqhTKxY6x
|
||||
vn18J++hPOkeyN548oSNhQLFkiKcL2ZTruhlba0dPZdsTllcVtNOLXod4cSszY72zZAPxmMd1
|
||||
vTwMs6i4VpYzu9JpSNysbkfLLuTcAum5kspFgEP1B6GlS5REBPQDfGl7M7v9RZcqRTpUoNVp7
|
||||
HQKJU3cBmWUQ8aHADyi0lBlon4zvZ/mrvmjqRSmdj7cYl2dsP8Xjhe5JIVy2zaIxW6lQrD2J3
|
||||
yP7h9YRbnloK4MsJleaDAkziQunrTMEc/O1gz46DJ9hU5Id6SpH2au7iq4QfldG+ioPWhoESx
|
||||
sjQd7tnniz2Z5cMtgdHfXZz4xu9FROiPq0uij1NijVZZU2bXfaKLhYJtoeDOGMWtIMUT1CKyo
|
||||
Iut2P58bwL0cAIYKyaSF7ak4Vy/MX3fkVymockjeTXHr0ep0s90YqlYxk4CYvxeRt2aPm8qRo
|
||||
zbUkVxCooJAKjhOm6IA2jxyuSKb6i8EciUi0vv7/XmUpazJ5hMznDAeNXVJmEt9asUCitqNq5
|
||||
MglMo4dFq61jUNDbeqU/zN/nXYX8fGVIEDDpgETB0dbSqhG1mANxVPs6Zb0Sd8OMEOct0k0dy
|
||||
PKEvU6Ol/K0o1Ufh5Fp2zyiflab/1djdSoPvlBFOVEx2D4n3gV6zfv9sKlE=
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20181204_105915_063796_DFDC7865
|
||||
X-CRM114-Status: GOOD ( 12.62 )
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.21
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: Stefan Wahren <stefan.wahren@i2se.com>, devicetree@vger.kernel.org,
|
||||
bcm-kernel-feedback-list@broadcom.com, linux-rpi-kernel@lists.infradead.org,
|
||||
linux-arm-kernel@lists.infradead.org
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset="us-ascii"
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
X-Virus-Scanned: ClamAV using ClamSMTP
|
||||
|
||||
This adds the root properties for the Raspberry Pi 3 A+ .
|
||||
|
||||
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||
Reviewed-by: Rob Herring <robh@kernel.org>
|
||||
---
|
||||
Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
|
||||
index 0dcc3ea..245328f 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
|
||||
+++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
|
||||
@@ -30,6 +30,10 @@ Raspberry Pi 2 Model B
|
||||
Required root node properties:
|
||||
compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
|
||||
|
||||
+Raspberry Pi 3 Model A+
|
||||
+Required root node properties:
|
||||
+compatible = "raspberrypi,3-model-a-plus", "brcm,bcm2837";
|
||||
+
|
||||
Raspberry Pi 3 Model B
|
||||
Required root node properties:
|
||||
compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
|
||||
|
||||
From patchwork Tue Dec 4 18:58:18 2018
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
X-Patchwork-Id: 10712423
|
||||
Return-Path:
|
||||
<linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org>
|
||||
Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org
|
||||
[172.30.200.125])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A15061731
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 4 Dec 2018 18:59:21 +0000 (UTC)
|
||||
Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1])
|
||||
by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 924D82BD01
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 4 Dec 2018 18:59:21 +0000 (UTC)
|
||||
Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486)
|
||||
id 83F5B2BD2D; Tue, 4 Dec 2018 18:59:21 +0000 (UTC)
|
||||
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
|
||||
pdx-wl-mail.web.codeaurora.org
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED,
|
||||
DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1A1EB2BD01
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 4 Dec 2018 18:59:21 +0000 (UTC)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
|
||||
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
|
||||
In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
|
||||
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
|
||||
:Resent-Message-ID:List-Owner;
|
||||
bh=USNsthoN3FFEFx7U+2NkiWI+CturV+888pKSb0RNCqA=; b=JYnUBDrCnTGKB2TAy2JjiZd2Ra
|
||||
7AIas3zU/1y8q3AUyA90EFhuWPBAgj9XUbNlVZT/pYLLuI9jMywztAmG5bhh4aERhKkZXtVrijKX/
|
||||
ZnnEUmTQ9oGvuhDAxtjOS1TzHp5EI2iy/R9iLdiUYXCEOdlkcYdPIO3+PTb6AlQhWo42QCKG0xWcl
|
||||
pATIUVoDrXEf0jXEYsAiwd/wG3ukFNJ3lfvIfgNA+JPs3Ngu7quNxiYXJ2D1JvR8XkmfwRG1K0hZh
|
||||
7DT1bNn/DjqE6gArdDbTN7Zsg/0hZ/vtFrtguHfISa/W9rfkCCC5p6dzWGnOiTbHJhXWSEwrBTKkx
|
||||
Ts1HiMfQ==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux))
|
||||
id 1gUFuf-00074u-E0; Tue, 04 Dec 2018 18:59:17 +0000
|
||||
Received: from mout.kundenserver.de ([212.227.126.135])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux))
|
||||
id 1gUFuc-000737-AF; Tue, 04 Dec 2018 18:59:16 +0000
|
||||
Received: from localhost.localdomain ([37.4.249.153]) by
|
||||
mrelayeu.kundenserver.de (mreue012 [212.227.15.167]) with ESMTPSA (Nemesis)
|
||||
id 1MTfgb-1gvyxH1xQz-00TyQt; Tue, 04 Dec 2018 19:58:54 +0100
|
||||
From: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>, Ray Jui <rjui@broadcom.com>,
|
||||
Scott Branden <sbranden@broadcom.com>, Eric Anholt <eric@anholt.net>,
|
||||
Arnd Bergmann <arnd@arndb.de>
|
||||
Subject: [PATCH V3 2/3] ARM: dts: add Raspberry Pi 3 A+
|
||||
Date: Tue, 4 Dec 2018 19:58:18 +0100
|
||||
Message-Id: <1543949899-13380-3-git-send-email-stefan.wahren@i2se.com>
|
||||
X-Mailer: git-send-email 2.7.4
|
||||
In-Reply-To: <1543949899-13380-1-git-send-email-stefan.wahren@i2se.com>
|
||||
References: <1543949899-13380-1-git-send-email-stefan.wahren@i2se.com>
|
||||
X-Provags-ID: V03:K1:3DMMDYjsCTx6IxBf2WC2ooKMnJiVzq9RVmh0csGsajg6lyIrJhZ
|
||||
1Bxu2ZSF3G0pHYpWlUkunk+gbYzjwXHLe7l8Qt331s0uI7iQlNoKYnDPTnSttqFWy6REewG
|
||||
TGQ/wBenT40TkCKYB4Jzxzm/sBnOCRuCRNOESZRNHpPgNmq54dplz7pgEsWcSC+rJNqDZ57
|
||||
hZVdKs0sW1HDASHCi5bwQ==
|
||||
X-UI-Out-Filterresults: notjunk:1;V03:K0:xL1UKc14icc=:ywcRqmyL4hAvJKGdv9SW2+
|
||||
nB4fjCvnj/X2wxnBW6IGj37m5w0vogpA8hZ8T6OzOMSxYREPfeTGl0fgSVwKdAAfQTilDe5XN
|
||||
wVJ+fvkM/SVIA7FUaeR+eechsklUZrJKVpjZMrIYH7GLwVl6OVF7VFhlvxC3o1DUlYE3m4GKL
|
||||
DrhSdB9wcKUO+KrQc67I4PhdhKePc2EaA1/fDGNkQFkCVlXsw1vdrfla5T/tetBlHQq+qCPcl
|
||||
vuLv5NeXx2KtC0zqEdEKZn7KqcA//KMtDQCWmXnc9jvjqx17DF5Iji1xQe4vXA196P9ZcF1U0
|
||||
vpv6mSI3SPtCJEn48zHMTIt6tVRJ6Ao0HmZEkFDyRW3c8sgK4OFLnLUjSx4YoSHB9RKnC+Psz
|
||||
5QZLWBT81RHxqPiLa49EXhaHkyDXtiinriofvqJqogtl+X0J9Rmn7wczjqYRaQzp1iBTrpXNT
|
||||
sC/ZLyTJ25ZAAMrotIK1UgL9S4CFgdwDk0AKcVUycNoVsWeIrCC743fQazerXkOFNeuBW9t55
|
||||
G5gQD5pmEvQkOjb+cExnODkM9L7eOIrrJzsap98bS0Bsu7inAsXOIObRVJWtKpEwXQ5PUo3gt
|
||||
Ku6C8Xgr5A2ydsc9LegxF5JXOM9UPx9+eN3hHsH3aW5+eW80KDN6INGwBoJnvwPHDdlK2PRH/
|
||||
nEOKWJBTLqRcf39DMKyzTJirlz/jNbWra0qisP3AYgQv2lF0jM5hs64oQ2nDzHbFAKljBdf+0
|
||||
wMfkYx1QgW1uF+G+3OEXmrPRKSqUFihd4VBKZ0WYsMkKX+VEO9T1n75KUNU=
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20181204_105914_660350_5C19EA39
|
||||
X-CRM114-Status: GOOD ( 18.48 )
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.21
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: Stefan Wahren <stefan.wahren@i2se.com>, devicetree@vger.kernel.org,
|
||||
bcm-kernel-feedback-list@broadcom.com, linux-rpi-kernel@lists.infradead.org,
|
||||
linux-arm-kernel@lists.infradead.org
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset="us-ascii"
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
X-Virus-Scanned: ClamAV using ClamSMTP
|
||||
|
||||
The Raspberry Pi 3 A+ is similar to the Pi 3 B+ but has only 512 MB RAM,
|
||||
1 USB 2.0 port and no Ethernet.
|
||||
|
||||
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||
---
|
||||
arch/arm/boot/dts/Makefile | 1 +
|
||||
arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts | 107 +++++++++++++++++++++++++++++
|
||||
2 files changed, 108 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index b0e966d..15bbd0d 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -79,6 +79,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
|
||||
bcm2835-rpi-a-plus.dtb \
|
||||
bcm2835-rpi-cm1-io1.dtb \
|
||||
bcm2836-rpi-2-b.dtb \
|
||||
+ bcm2837-rpi-3-a-plus.dtb \
|
||||
bcm2837-rpi-3-b.dtb \
|
||||
bcm2837-rpi-3-b-plus.dtb \
|
||||
bcm2837-rpi-cm3-io3.dtb \
|
||||
diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts
|
||||
new file mode 100644
|
||||
index 0000000..b2df7cf
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts
|
||||
@@ -0,0 +1,107 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0
|
||||
+/dts-v1/;
|
||||
+#include "bcm2837.dtsi"
|
||||
+#include "bcm2836-rpi.dtsi"
|
||||
+#include "bcm283x-rpi-usb-host.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "raspberrypi,3-model-a-plus", "brcm,bcm2837";
|
||||
+ model = "Raspberry Pi 3 Model A+";
|
||||
+
|
||||
+ chosen {
|
||||
+ /* 8250 auxiliary UART instead of pl011 */
|
||||
+ stdout-path = "serial1:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ memory {
|
||||
+ reg = <0 0x20000000>;
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ act {
|
||||
+ gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ pwr {
|
||||
+ label = "PWR";
|
||||
+ gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ wifi_pwrseq: wifi-pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&firmware {
|
||||
+ expgpio: gpio {
|
||||
+ compatible = "raspberrypi,firmware-gpio";
|
||||
+ gpio-controller;
|
||||
+ #gpio-cells = <2>;
|
||||
+ gpio-line-names = "BT_ON",
|
||||
+ "WL_ON",
|
||||
+ "STATUS_LED",
|
||||
+ "",
|
||||
+ "",
|
||||
+ "CAM_GPIO0",
|
||||
+ "CAM_GPIO1",
|
||||
+ "";
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&hdmi {
|
||||
+ hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
|
||||
+};
|
||||
+
|
||||
+&pwm {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/* SDHCI is used to control the SDIO for wireless */
|
||||
+&sdhci {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&emmc_gpio34>;
|
||||
+ status = "okay";
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+
|
||||
+ brcmf: wifi@1 {
|
||||
+ reg = <1>;
|
||||
+ compatible = "brcm,bcm4329-fmac";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+/* SDHOST is used to drive the SD card */
|
||||
+&sdhost {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sdhost_gpio48>;
|
||||
+ status = "okay";
|
||||
+ bus-width = <4>;
|
||||
+};
|
||||
+
|
||||
+/* uart0 communicates with the BT module */
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32 &gpclk2_gpio43>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ bluetooth {
|
||||
+ compatible = "brcm,bcm43438-bt";
|
||||
+ max-speed = <2000000>;
|
||||
+ shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+/* uart1 is mapped to the pin header */
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart1_gpio14>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
|
||||
From patchwork Tue Dec 4 18:58:19 2018
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
X-Patchwork-Id: 10712427
|
||||
Return-Path:
|
||||
<linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org>
|
||||
Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org
|
||||
[172.30.200.125])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AAB7E13BF
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 4 Dec 2018 18:59:55 +0000 (UTC)
|
||||
Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1])
|
||||
by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9A9D42BD01
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 4 Dec 2018 18:59:55 +0000 (UTC)
|
||||
Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486)
|
||||
id 8D6682BD2D; Tue, 4 Dec 2018 18:59:55 +0000 (UTC)
|
||||
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
|
||||
pdx-wl-mail.web.codeaurora.org
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED,
|
||||
DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1D36E2BD01
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 4 Dec 2018 18:59:55 +0000 (UTC)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
|
||||
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
|
||||
In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
|
||||
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
|
||||
:Resent-Message-ID:List-Owner;
|
||||
bh=d6AyqRs+tRK/fschmfAdF+Ujjrm/vJZBIeGWaRWEq4w=; b=Y7xekwSen1413+ksdWargCdgIt
|
||||
9btgKKpQU7qjXIbtt/Y7DcOeRQJHpM3nx63Ft8BbjQMcMV/97DgweLj7gbaoi51D0OIxZ9sd431pP
|
||||
fFjpfTK9cN0Q85qtcssVISpnt7a6Fm+ixe+/Xt3IRSzchcPxqfipK6qDmUSpZGKrU101cJYG08VkV
|
||||
vY6Oa7w/hyeU0b8rULaIj5c069BzO/vGkkULiXCteGEn6y4juTjmXa/Nsoj2RKYUjdhOMXWxEwU6C
|
||||
MM7JTAxqPtcIX1ale070qdvGn5XJOuN+DYx03At0mj8aaCBr11NKTtB7PyutmcIPnRwGQwz1gW7go
|
||||
daDlwlnA==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux))
|
||||
id 1gUFvA-0007cK-M8; Tue, 04 Dec 2018 18:59:48 +0000
|
||||
Received: from mout.kundenserver.de ([212.227.126.130])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux))
|
||||
id 1gUFud-00073L-OI; Tue, 04 Dec 2018 18:59:17 +0000
|
||||
Received: from localhost.localdomain ([37.4.249.153]) by
|
||||
mrelayeu.kundenserver.de (mreue012 [212.227.15.167]) with ESMTPSA (Nemesis)
|
||||
id 1MFJfN-1gjyQ33mR7-00FlVP; Tue, 04 Dec 2018 19:58:55 +0100
|
||||
From: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>, Ray Jui <rjui@broadcom.com>,
|
||||
Scott Branden <sbranden@broadcom.com>, Eric Anholt <eric@anholt.net>,
|
||||
Arnd Bergmann <arnd@arndb.de>
|
||||
Subject: [PATCH V3 3/3] arm64: dts: broadcom: Add reference to RPi 3 A+
|
||||
Date: Tue, 4 Dec 2018 19:58:19 +0100
|
||||
Message-Id: <1543949899-13380-4-git-send-email-stefan.wahren@i2se.com>
|
||||
X-Mailer: git-send-email 2.7.4
|
||||
In-Reply-To: <1543949899-13380-1-git-send-email-stefan.wahren@i2se.com>
|
||||
References: <1543949899-13380-1-git-send-email-stefan.wahren@i2se.com>
|
||||
X-Provags-ID: V03:K1:FFp5Wh7ZWhwN+0GnOIK4svX/EnE/lyWXYX5Q6pGbgpyE8/BWhkC
|
||||
HIozYn/aF1wiPHTyJBUFfAX8Bprfc2VwnJzzw9ujHYvH3l0PaQMDjk5EKXbX3EWjmbQumbE
|
||||
uyxkSsnoyLyfEVpoKKGGBgHPfzsATZGmLQj7UEyc5JvQ63IO0mdwywnOuI6LouMSJgs26MV
|
||||
+JgfGn5pKNrVStX597aIg==
|
||||
X-UI-Out-Filterresults: notjunk:1;V03:K0:arW5q/kpEak=:fNkvQgi7CQng+s4ZxkqrAl
|
||||
Shfn4kUf6kIfer4UddefIfpoKpAvezKz/iNNcd8IyBLFrA++7Igw03sj4to2x9/kBAlIbVINV
|
||||
JnAhVKciAu2qdP8xqMbmGrnJGAbkK10jhSsT6ufbHWHJmtxpizWgzDEtqJqbr2nzW0q8WL2dA
|
||||
YT1kdC3TCVS9IEJKxyAi26mf/pxvvoheQAygv0WBdtTAsdN6h2JMB7v6CPtGjL8CNOc/OemQK
|
||||
3fY/E6rQzoT5vc6F4NGVDje+vTBtMcFX/UhkKkKOnxuzyVpUdWITkeFaumc6q3miLeqpaKzm0
|
||||
gnnb7Tg9xKNdmPM/Ng049Qgy9bVJ3dVXaWyq2QleJAAUrhwVvN6zE8ogokYxzYR2pdrHs19gJ
|
||||
AhPNAX/QaP1VreCRGzo8D6ZEUJEkyK7mLOOyikqWFCT3kUtsKlmPaUGscn6rckZVU2OlfjijC
|
||||
GeEfaGcIEPyc3THhrPF5vbLos5lydlZkvNYUygQ5aTJXELDvt//cC9k+Kad/kOP8I7qa1TCcS
|
||||
M5brT1MnDj9qCja12qrxpkjF6Sih/5y2SfQFHLt7YFTX/YkvceXtUq4c9W6rLxHEnZKXm4ryY
|
||||
3cuJDYE3oOS4y/WMEhgazm795HJ8heBOv6T1tQPYlQkkKYNH8HKfeVgXBLbgHJLdc9r5AnjyH
|
||||
fOMjzqx2WqGT7S9I/oYGpTw7NQjHx45WexYKfhHfsjwSN3P4KgwtpAnl2vE++IIWQGiv+JR5L
|
||||
xIzts9r8uBaSUO1QR5qJG0cWqG+/FFdstWp3TsP2SeC0YMgeXSz1im5Ho/4=
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20181204_105916_085499_9EF7BF58
|
||||
X-CRM114-Status: GOOD ( 16.18 )
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.21
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: Stefan Wahren <stefan.wahren@i2se.com>, devicetree@vger.kernel.org,
|
||||
bcm-kernel-feedback-list@broadcom.com, linux-rpi-kernel@lists.infradead.org,
|
||||
linux-arm-kernel@lists.infradead.org
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset="us-ascii"
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
X-Virus-Scanned: ClamAV using ClamSMTP
|
||||
|
||||
This adds a reference to the dts of the Raspberry Pi 3 A+,
|
||||
so we don't need to maintain the content in arm64.
|
||||
|
||||
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||
---
|
||||
arch/arm64/boot/dts/broadcom/Makefile | 3 ++-
|
||||
arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-a-plus.dts | 2 ++
|
||||
2 files changed, 4 insertions(+), 1 deletion(-)
|
||||
create mode 100644 arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-a-plus.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
|
||||
index 667ca98..d1d31cc 100644
|
||||
--- a/arch/arm64/boot/dts/broadcom/Makefile
|
||||
+++ b/arch/arm64/boot/dts/broadcom/Makefile
|
||||
@@ -1,5 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
-dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb \
|
||||
+dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-a-plus.dtb \
|
||||
+ bcm2837-rpi-3-b.dtb \
|
||||
bcm2837-rpi-3-b-plus.dtb \
|
||||
bcm2837-rpi-cm3-io3.dtb
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-a-plus.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-a-plus.dts
|
||||
new file mode 100644
|
||||
index 0000000..f0ec56a
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-a-plus.dts
|
||||
@@ -0,0 +1,2 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0
|
||||
+#include "arm/bcm2837-rpi-3-a-plus.dts"
|
||||
|
|
@ -18,7 +18,7 @@ i686-debug=generic:generic-x86:generic-x86-i686:debug:debug-x86
|
|||
|
||||
# ppc64le
|
||||
ppc64le=generic:generic-powerpc
|
||||
ppc64le-debug=generic:generic-powerpc:generic-powerpc:debug
|
||||
ppc64le-debug=generic:generic-powerpc:debug
|
||||
|
||||
# s390x
|
||||
s390x=generic:generic-s390x
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
# CONFIG_DEBUG_PAGEALLOC is not set
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_DEBUG_VM=y
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_PM_TEST_SUSPEND=y
|
||||
1
configs/fedora/debug/arm/CONFIG_CROS_EC_DEBUGFS
Normal file
1
configs/fedora/debug/arm/CONFIG_CROS_EC_DEBUGFS
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_CROS_EC_DEBUGFS=m
|
||||
1
configs/fedora/debug/x86/CONFIG_CROS_EC_DEBUGFS
Normal file
1
configs/fedora/debug/x86/CONFIG_CROS_EC_DEBUGFS
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_CROS_EC_DEBUGFS=m
|
||||
|
|
@ -1 +0,0 @@
|
|||
# CONFIG_AD7152 is not set
|
||||
1
configs/fedora/generic/CONFIG_AD7606_IFACE_PARALLEL
Normal file
1
configs/fedora/generic/CONFIG_AD7606_IFACE_PARALLEL
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_AD7606_IFACE_PARALLEL is not set
|
||||
1
configs/fedora/generic/CONFIG_AD7606_IFACE_SPI
Normal file
1
configs/fedora/generic/CONFIG_AD7606_IFACE_SPI
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_AD7606_IFACE_SPI is not set
|
||||
1
configs/fedora/generic/CONFIG_AD7768_1
Normal file
1
configs/fedora/generic/CONFIG_AD7768_1
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_AD7768_1 is not set
|
||||
1
configs/fedora/generic/CONFIG_ALTERA_FREEZE_BRIDGE
Normal file
1
configs/fedora/generic/CONFIG_ALTERA_FREEZE_BRIDGE
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
|
||||
1
configs/fedora/generic/CONFIG_CHARLCD_BL_FLASH
Normal file
1
configs/fedora/generic/CONFIG_CHARLCD_BL_FLASH
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_CHARLCD_BL_FLASH=y
|
||||
1
configs/fedora/generic/CONFIG_CHARLCD_BL_OFF
Normal file
1
configs/fedora/generic/CONFIG_CHARLCD_BL_OFF
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_CHARLCD_BL_OFF is not set
|
||||
1
configs/fedora/generic/CONFIG_CHARLCD_BL_ON
Normal file
1
configs/fedora/generic/CONFIG_CHARLCD_BL_ON
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_CHARLCD_BL_ON is not set
|
||||
1
configs/fedora/generic/CONFIG_COMMON_CLK_FIXED_MMIO
Normal file
1
configs/fedora/generic/CONFIG_COMMON_CLK_FIXED_MMIO
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
|
||||
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES is not set
|
||||
1
configs/fedora/generic/CONFIG_CPU_IDLE_GOV_TEO
Normal file
1
configs/fedora/generic/CONFIG_CPU_IDLE_GOV_TEO
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_CPU_IDLE_GOV_TEO is not set
|
||||
1
configs/fedora/generic/CONFIG_CROS_EC_DEBUGFS
Normal file
1
configs/fedora/generic/CONFIG_CROS_EC_DEBUGFS
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_CROS_EC_DEBUGFS is not set
|
||||
1
configs/fedora/generic/CONFIG_CROS_EC_LIGHTBAR
Normal file
1
configs/fedora/generic/CONFIG_CROS_EC_LIGHTBAR
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_CROS_EC_LIGHTBAR is not set
|
||||
1
configs/fedora/generic/CONFIG_CRYPTO_MANAGER_EXTRA_TESTS
Normal file
1
configs/fedora/generic/CONFIG_CRYPTO_MANAGER_EXTRA_TESTS
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_CRYPTO_MANAGER_EXTRA_TESTS is not set
|
||||
1
configs/fedora/generic/CONFIG_DEV_DAX_KMEM
Normal file
1
configs/fedora/generic/CONFIG_DEV_DAX_KMEM
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DEV_DAX_KMEM is not set
|
||||
1
configs/fedora/generic/CONFIG_DEV_DAX_PMEM_COMPAT
Normal file
1
configs/fedora/generic/CONFIG_DEV_DAX_PMEM_COMPAT
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
|
||||
1
configs/fedora/generic/CONFIG_DM_INIT
Normal file
1
configs/fedora/generic/CONFIG_DM_INIT
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DM_INIT=y
|
||||
1
configs/fedora/generic/CONFIG_DRM_ETNAVIV
Normal file
1
configs/fedora/generic/CONFIG_DRM_ETNAVIV
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DRM_ETNAVIV is not set
|
||||
1
configs/fedora/generic/CONFIG_DRM_KOMEDA
Normal file
1
configs/fedora/generic/CONFIG_DRM_KOMEDA
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DRM_KOMEDA is not set
|
||||
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
|
||||
1
configs/fedora/generic/CONFIG_DRM_PANEL_SITRONIX_ST7701
Normal file
1
configs/fedora/generic/CONFIG_DRM_PANEL_SITRONIX_ST7701
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
|
||||
1
configs/fedora/generic/CONFIG_DRM_PANEL_TPO_TPG110
Normal file
1
configs/fedora/generic/CONFIG_DRM_PANEL_TPO_TPG110
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
|
||||
|
|
@ -1 +0,0 @@
|
|||
# CONFIG_EXOFS_FS is not set
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_EXT4_ENCRYPTION=y
|
||||
1
configs/fedora/generic/CONFIG_EXTCON_PTN5150
Normal file
1
configs/fedora/generic/CONFIG_EXTCON_PTN5150
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_EXTCON_PTN5150 is not set
|
||||
|
|
@ -1 +0,0 @@
|
|||
# CONFIG_F2FS_FS_ENCRYPTION is not set
|
||||
|
|
@ -1 +0,0 @@
|
|||
# CONFIG_FB_LOGO_CENTER is not set
|
||||
|
|
@ -1 +0,0 @@
|
|||
# CONFIG_FB_XGI is not set
|
||||
1
configs/fedora/generic/CONFIG_FSL_ENETC
Normal file
1
configs/fedora/generic/CONFIG_FSL_ENETC
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_FSL_ENETC is not set
|
||||
1
configs/fedora/generic/CONFIG_FSL_ENETC_PTP_CLOCK
Normal file
1
configs/fedora/generic/CONFIG_FSL_ENETC_PTP_CLOCK
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_FSL_ENETC_PTP_CLOCK is not set
|
||||
1
configs/fedora/generic/CONFIG_FSL_ENETC_VF
Normal file
1
configs/fedora/generic/CONFIG_FSL_ENETC_VF
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_FSL_ENETC_VF is not set
|
||||
1
configs/fedora/generic/CONFIG_FSL_QDMA
Normal file
1
configs/fedora/generic/CONFIG_FSL_QDMA
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_FSL_QDMA is not set
|
||||
1
configs/fedora/generic/CONFIG_GPIO_AMD_FCH
Normal file
1
configs/fedora/generic/CONFIG_GPIO_AMD_FCH
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_GPIO_AMD_FCH is not set
|
||||
1
configs/fedora/generic/CONFIG_GPIO_GW_PLD
Normal file
1
configs/fedora/generic/CONFIG_GPIO_GW_PLD
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_GPIO_GW_PLD is not set
|
||||
1
configs/fedora/generic/CONFIG_HABANA_AI
Normal file
1
configs/fedora/generic/CONFIG_HABANA_AI
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_HABANA_AI is not set
|
||||
1
configs/fedora/generic/CONFIG_HID_MALTRON
Normal file
1
configs/fedora/generic/CONFIG_HID_MALTRON
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_HID_MALTRON=m
|
||||
1
configs/fedora/generic/CONFIG_HID_VIEWSONIC
Normal file
1
configs/fedora/generic/CONFIG_HID_VIEWSONIC
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_HID_VIEWSONIC=m
|
||||
1
configs/fedora/generic/CONFIG_INPUT_MSM_VIBRATOR
Normal file
1
configs/fedora/generic/CONFIG_INPUT_MSM_VIBRATOR
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_INPUT_MSM_VIBRATOR is not set
|
||||
1
configs/fedora/generic/CONFIG_INTERCONNECT
Normal file
1
configs/fedora/generic/CONFIG_INTERCONNECT
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_INTERCONNECT is not set
|
||||
|
|
@ -1 +1 @@
|
|||
CONFIG_IP_NF_FILTER=y
|
||||
CONFIG_IP_NF_FILTER=m
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
CONFIG_IP_NF_IPTABLES=y
|
||||
CONFIG_IP_NF_IPTABLES=m
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
CONFIG_IP_NF_TARGET_REJECT=y
|
||||
CONFIG_IP_NF_TARGET_REJECT=m
|
||||
|
|
|
|||
1
configs/fedora/generic/CONFIG_IR_RCMM_DECODER
Normal file
1
configs/fedora/generic/CONFIG_IR_RCMM_DECODER
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_IR_RCMM_DECODER=m
|
||||
|
|
@ -1 +0,0 @@
|
|||
# CONFIG_KEYBOARD_SNVS_PWRKEY is not set
|
||||
1
configs/fedora/generic/CONFIG_LSM
Normal file
1
configs/fedora/generic/CONFIG_LSM
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
|
||||
1
configs/fedora/generic/CONFIG_MAX44009
Normal file
1
configs/fedora/generic/CONFIG_MAX44009
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_MAX44009=m
|
||||
1
configs/fedora/generic/CONFIG_MDIO_BUS_MUX_MULTIPLEXER
Normal file
1
configs/fedora/generic/CONFIG_MDIO_BUS_MUX_MULTIPLEXER
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
|
||||
1
configs/fedora/generic/CONFIG_MFD_LOCHNAGAR
Normal file
1
configs/fedora/generic/CONFIG_MFD_LOCHNAGAR
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_MFD_LOCHNAGAR is not set
|
||||
1
configs/fedora/generic/CONFIG_MFD_STPMIC1
Normal file
1
configs/fedora/generic/CONFIG_MFD_STPMIC1
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_MFD_STPMIC1 is not set
|
||||
1
configs/fedora/generic/CONFIG_MFD_TQMX86
Normal file
1
configs/fedora/generic/CONFIG_MFD_TQMX86
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_MFD_TQMX86 is not set
|
||||
1
configs/fedora/generic/CONFIG_MLX_WDT
Normal file
1
configs/fedora/generic/CONFIG_MLX_WDT
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_MLX_WDT=m
|
||||
1
configs/fedora/generic/CONFIG_MT7603E
Normal file
1
configs/fedora/generic/CONFIG_MT7603E
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_MT7603E=m
|
||||
1
configs/fedora/generic/CONFIG_MTD_NAND_MESON
Normal file
1
configs/fedora/generic/CONFIG_MTD_NAND_MESON
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_MTD_NAND_MESON is not set
|
||||
|
|
@ -1 +1 @@
|
|||
CONFIG_NET_DEVLINK=m
|
||||
CONFIG_NET_DEVLINK=y
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_NFT_CHAIN_NAT_IPV4=m
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_NFT_CHAIN_NAT_IPV6=m
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_NFT_MASQ_IPV4=m
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_NFT_MASQ_IPV6=m
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_NFT_REDIR_IPV4=m
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_NFT_REDIR_IPV6=m
|
||||
1
configs/fedora/generic/CONFIG_NF_REJECT_IPV4
Normal file
1
configs/fedora/generic/CONFIG_NF_REJECT_IPV4
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_NF_REJECT_IPV4=m
|
||||
1
configs/fedora/generic/CONFIG_PANEL_CHANGE_MESSAGE
Normal file
1
configs/fedora/generic/CONFIG_PANEL_CHANGE_MESSAGE
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_PANEL_CHANGE_MESSAGE is not set
|
||||
1
configs/fedora/generic/CONFIG_PARPORT_PANEL
Normal file
1
configs/fedora/generic/CONFIG_PARPORT_PANEL
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_PARPORT_PANEL is not set
|
||||
1
configs/fedora/generic/CONFIG_PCIE_BW
Normal file
1
configs/fedora/generic/CONFIG_PCIE_BW
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_PCIE_BW is not set
|
||||
1
configs/fedora/generic/CONFIG_PHY_CADENCE_DPHY
Normal file
1
configs/fedora/generic/CONFIG_PHY_CADENCE_DPHY
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_PHY_CADENCE_DPHY is not set
|
||||
1
configs/fedora/generic/CONFIG_PMS7003
Normal file
1
configs/fedora/generic/CONFIG_PMS7003
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_PMS7003 is not set
|
||||
1
configs/fedora/generic/CONFIG_PRINTK_CALLER
Normal file
1
configs/fedora/generic/CONFIG_PRINTK_CALLER
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_PRINTK_CALLER is not set
|
||||
1
configs/fedora/generic/CONFIG_RTC_DRV_ABEOZ9
Normal file
1
configs/fedora/generic/CONFIG_RTC_DRV_ABEOZ9
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_RTC_DRV_ABEOZ9=m
|
||||
1
configs/fedora/generic/CONFIG_RTC_DRV_CADENCE
Normal file
1
configs/fedora/generic/CONFIG_RTC_DRV_CADENCE
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_RTC_DRV_CADENCE is not set
|
||||
1
configs/fedora/generic/CONFIG_RTC_DRV_RV3028
Normal file
1
configs/fedora/generic/CONFIG_RTC_DRV_RV3028
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_RTC_DRV_RV3028=m
|
||||
1
configs/fedora/generic/CONFIG_RTC_DRV_SD3078
Normal file
1
configs/fedora/generic/CONFIG_RTC_DRV_SD3078
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_RTC_DRV_SD3078=m
|
||||
|
|
@ -1 +0,0 @@
|
|||
# CONFIG_SCSI_OSD_DEBUG is not set
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_SCSI_OSD_DPRINT_SENSE=1
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_SCSI_OSD_INITIATOR=m
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue