Linux v5.1.4
Rebase to the v5.1 stable series.
This commit is contained in:
parent
7407e2fe04
commit
10301b4d77
575 changed files with 2883 additions and 6987 deletions
|
|
@ -1,35 +0,0 @@
|
|||
From 0de1315ee843713bafb9a59bc040a024f688c62a Mon Sep 17 00:00:00 2001
|
||||
From: Laura Abbott <labbott@redhat.com>
|
||||
Date: Wed, 23 Jan 2019 13:56:47 +0100
|
||||
Subject: [PATCH] Correct warning with gcc9
|
||||
|
||||
Suggested from Arnd
|
||||
|
||||
Signed-off-by: Laura Abbott <labbott@redhat.com>
|
||||
---
|
||||
include/linux/module.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/linux/module.h b/include/linux/module.h
|
||||
index 8fa38d3e7538..f2a24b59cca4 100644
|
||||
--- a/include/linux/module.h
|
||||
+++ b/include/linux/module.h
|
||||
@@ -129,13 +129,13 @@ extern void cleanup_module(void);
|
||||
#define module_init(initfn) \
|
||||
static inline initcall_t __maybe_unused __inittest(void) \
|
||||
{ return initfn; } \
|
||||
- int init_module(void) __attribute__((alias(#initfn)));
|
||||
+ int init_module(void) __attribute__((cold, alias(#initfn)));
|
||||
|
||||
/* This is only required if you want to be unloadable. */
|
||||
#define module_exit(exitfn) \
|
||||
static inline exitcall_t __maybe_unused __exittest(void) \
|
||||
{ return exitfn; } \
|
||||
- void cleanup_module(void) __attribute__((alias(#exitfn)));
|
||||
+ void cleanup_module(void) __attribute__((cold, alias(#exitfn)));
|
||||
|
||||
#endif
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
@ -14,7 +14,7 @@ index f5b1d0d168e0..5f31107b22d1 100644
|
|||
@@ -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 \
|
||||
-Werror=implicit-function-declaration -Werror=implicit-int \
|
||||
- -Wno-format-security \
|
||||
+ -Wno-format-security -Wno-address-of-packed-member \
|
||||
-std=gnu89
|
||||
|
|
|
|||
|
|
@ -1,105 +0,0 @@
|
|||
From a4176ec356c73a46c07c181c6d04039fafa34a9f Mon Sep 17 00:00:00 2001
|
||||
From: Arend van Spriel <arend.vanspriel@broadcom.com>
|
||||
Date: Thu, 14 Feb 2019 13:43:48 +0100
|
||||
Subject: [PATCH] brcmfmac: add subtype check for event handling in data path
|
||||
|
||||
For USB there is no separate channel being used to pass events
|
||||
from firmware to the host driver and as such are passed over the
|
||||
data path. In order to detect mock event messages an additional
|
||||
check is needed on event subtype. This check is added conditionally
|
||||
using unlikely() keyword.
|
||||
|
||||
Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
|
||||
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
|
||||
Reviewed-by: Franky Lin <franky.lin@broadcom.com>
|
||||
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
|
||||
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
---
|
||||
.../wireless/broadcom/brcm80211/brcmfmac/core.c | 5 +++--
|
||||
.../wireless/broadcom/brcm80211/brcmfmac/fweh.h | 16 ++++++++++++----
|
||||
.../broadcom/brcm80211/brcmfmac/msgbuf.c | 2 +-
|
||||
3 files changed, 16 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
|
||||
index e772c0845638..a368ba6e7344 100644
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
|
||||
@@ -519,7 +519,8 @@ void brcmf_rx_frame(struct device *dev, struct sk_buff *skb, bool handle_event)
|
||||
} else {
|
||||
/* Process special event packets */
|
||||
if (handle_event)
|
||||
- brcmf_fweh_process_skb(ifp->drvr, skb);
|
||||
+ brcmf_fweh_process_skb(ifp->drvr, skb,
|
||||
+ BCMILCP_SUBTYPE_VENDOR_LONG);
|
||||
|
||||
brcmf_netif_rx(ifp, skb);
|
||||
}
|
||||
@@ -536,7 +537,7 @@ void brcmf_rx_event(struct device *dev, struct sk_buff *skb)
|
||||
if (brcmf_rx_hdrpull(drvr, skb, &ifp))
|
||||
return;
|
||||
|
||||
- brcmf_fweh_process_skb(ifp->drvr, skb);
|
||||
+ brcmf_fweh_process_skb(ifp->drvr, skb, 0);
|
||||
brcmu_pkt_buf_free_skb(skb);
|
||||
}
|
||||
|
||||
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h
|
||||
index 31f3e8e83a21..7027243db17e 100644
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h
|
||||
@@ -211,7 +211,7 @@ enum brcmf_fweh_event_code {
|
||||
*/
|
||||
#define BRCM_OUI "\x00\x10\x18"
|
||||
#define BCMILCP_BCM_SUBTYPE_EVENT 1
|
||||
-
|
||||
+#define BCMILCP_SUBTYPE_VENDOR_LONG 32769
|
||||
|
||||
/**
|
||||
* struct brcm_ethhdr - broadcom specific ether header.
|
||||
@@ -334,10 +334,10 @@ void brcmf_fweh_process_event(struct brcmf_pub *drvr,
|
||||
void brcmf_fweh_p2pdev_setup(struct brcmf_if *ifp, bool ongoing);
|
||||
|
||||
static inline void brcmf_fweh_process_skb(struct brcmf_pub *drvr,
|
||||
- struct sk_buff *skb)
|
||||
+ struct sk_buff *skb, u16 stype)
|
||||
{
|
||||
struct brcmf_event *event_packet;
|
||||
- u16 usr_stype;
|
||||
+ u16 subtype, usr_stype;
|
||||
|
||||
/* only process events when protocol matches */
|
||||
if (skb->protocol != cpu_to_be16(ETH_P_LINK_CTL))
|
||||
@@ -346,8 +346,16 @@ static inline void brcmf_fweh_process_skb(struct brcmf_pub *drvr,
|
||||
if ((skb->len + ETH_HLEN) < sizeof(*event_packet))
|
||||
return;
|
||||
|
||||
- /* check for BRCM oui match */
|
||||
event_packet = (struct brcmf_event *)skb_mac_header(skb);
|
||||
+
|
||||
+ /* check subtype if needed */
|
||||
+ if (unlikely(stype)) {
|
||||
+ subtype = get_unaligned_be16(&event_packet->hdr.subtype);
|
||||
+ if (subtype != stype)
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ /* check for BRCM oui match */
|
||||
if (memcmp(BRCM_OUI, &event_packet->hdr.oui[0],
|
||||
sizeof(event_packet->hdr.oui)))
|
||||
return;
|
||||
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
|
||||
index 4e8397a0cbc8..ee922b052561 100644
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
|
||||
@@ -1116,7 +1116,7 @@ static void brcmf_msgbuf_process_event(struct brcmf_msgbuf *msgbuf, void *buf)
|
||||
|
||||
skb->protocol = eth_type_trans(skb, ifp->ndev);
|
||||
|
||||
- brcmf_fweh_process_skb(ifp->drvr, skb);
|
||||
+ brcmf_fweh_process_skb(ifp->drvr, skb, 0);
|
||||
|
||||
exit:
|
||||
brcmu_pkt_buf_free_skb(skb);
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
From 1b5e2423164b3670e8bc9174e4762d297990deff Mon Sep 17 00:00:00 2001
|
||||
From: Arend van Spriel <arend.vanspriel@broadcom.com>
|
||||
Date: Thu, 14 Feb 2019 13:43:47 +0100
|
||||
Subject: [PATCH] brcmfmac: assure SSID length from firmware is limited
|
||||
|
||||
The SSID length as received from firmware should not exceed
|
||||
IEEE80211_MAX_SSID_LEN as that would result in heap overflow.
|
||||
|
||||
Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
|
||||
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
|
||||
Reviewed-by: Franky Lin <franky.lin@broadcom.com>
|
||||
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
|
||||
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
---
|
||||
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
|
||||
index b5e291ed9496..012275fc3bf7 100644
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
|
||||
@@ -3507,6 +3507,8 @@ brcmf_wowl_nd_results(struct brcmf_if *ifp, const struct brcmf_event_msg *e,
|
||||
}
|
||||
|
||||
netinfo = brcmf_get_netinfo_array(pfn_result);
|
||||
+ if (netinfo->SSID_len > IEEE80211_MAX_SSID_LEN)
|
||||
+ netinfo->SSID_len = IEEE80211_MAX_SSID_LEN;
|
||||
memcpy(cfg->wowl.nd->ssid.ssid, netinfo->SSID, netinfo->SSID_len);
|
||||
cfg->wowl.nd->ssid.ssid_len = netinfo->SSID_len;
|
||||
cfg->wowl.nd->n_channels = 1;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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"),
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -151,8 +151,8 @@ index 6b8ab5568481..bcd018c3162b 100644
|
|||
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2571.dtb
|
||||
+dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p3450-0000.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-smaug.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2894-0050-a08.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_186_SOC) += tegra186-p2771-0000.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p2972-0000.dtb
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts b/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
|
||||
new file mode 100644
|
||||
index 000000000000..b1d8a49ca8c4
|
||||
|
|
|
|||
|
|
@ -66,38 +66,3 @@ index 37e3c46e753f..a16f24f1d5ff 100644
|
|||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
From 76501941ddc57d5fa6ef49e2cf044e4162eb5492 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Sat, 23 Mar 2019 19:12:37 +0000
|
||||
Subject: [PATCH 3/3] arm64: tegra: dts: enable aconnect, adma and agic
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
index a16f24f1d5ff..f8091c6396d1 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
@@ -80,4 +80,16 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
+
|
||||
+ aconnect@702c0000 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ dma@702e2000 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ agic@702f9000 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
--
|
||||
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
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_SCSI_OSD_ULD=m
|
||||
1
configs/fedora/generic/CONFIG_SECURITY_SAFESETID
Normal file
1
configs/fedora/generic/CONFIG_SECURITY_SAFESETID
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_SECURITY_SAFESETID is not set
|
||||
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