Skip to content

Commit a116223

Browse files
authored
Merge pull request #112 from Rust-for-Linux/rust-sync
Sync with -rc3 to solve conflict
2 parents 51a196e + da1e5d8 commit a116223

File tree

667 files changed

+5687
-3668
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

667 files changed

+5687
-3668
lines changed

Documentation/devicetree/bindings/interrupt-controller/ingenic,intc.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ properties:
2323
- enum:
2424
- ingenic,jz4775-intc
2525
- ingenic,jz4770-intc
26+
- ingenic,jz4760b-intc
2627
- const: ingenic,jz4760-intc
2728
- items:
2829
- const: ingenic,x1000-intc

Documentation/gpu/todo.rst

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -613,6 +613,27 @@ Some of these date from the very introduction of KMS in 2008 ...
613613

614614
Level: Intermediate
615615

616+
Remove automatic page mapping from dma-buf importing
617+
----------------------------------------------------
618+
619+
When importing dma-bufs, the dma-buf and PRIME frameworks automatically map
620+
imported pages into the importer's DMA area. drm_gem_prime_fd_to_handle() and
621+
drm_gem_prime_handle_to_fd() require that importers call dma_buf_attach()
622+
even if they never do actual device DMA, but only CPU access through
623+
dma_buf_vmap(). This is a problem for USB devices, which do not support DMA
624+
operations.
625+
626+
To fix the issue, automatic page mappings should be removed from the
627+
buffer-sharing code. Fixing this is a bit more involved, since the import/export
628+
cache is also tied to &drm_gem_object.import_attach. Meanwhile we paper over
629+
this problem for USB devices by fishing out the USB host controller device, as
630+
long as that supports DMA. Otherwise importing can still needlessly fail.
631+
632+
Contact: Thomas Zimmermann <[email protected]>, Daniel Vetter
633+
634+
Level: Advanced
635+
636+
616637
Better Testing
617638
==============
618639

Documentation/networking/bonding.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1988,7 +1988,7 @@ netif_carrier.
19881988
If use_carrier is 0, then the MII monitor will first query the
19891989
device's (via ioctl) MII registers and check the link state. If that
19901990
request fails (not just that it returns carrier down), then the MII
1991-
monitor will make an ethtool ETHOOL_GLINK request to attempt to obtain
1991+
monitor will make an ethtool ETHTOOL_GLINK request to attempt to obtain
19921992
the same information. If both methods fail (i.e., the driver either
19931993
does not support or had some error in processing both the MII register
19941994
and ethtool requests), then the MII monitor will assume the link is

Documentation/networking/netdev-FAQ.rst

Lines changed: 6 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -142,73 +142,13 @@ Please send incremental versions on top of what has been merged in order to fix
142142
the patches the way they would look like if your latest patch series was to be
143143
merged.
144144

145-
How can I tell what patches are queued up for backporting to the various stable releases?
146-
-----------------------------------------------------------------------------------------
147-
Normally Greg Kroah-Hartman collects stable commits himself, but for
148-
networking, Dave collects up patches he deems critical for the
149-
networking subsystem, and then hands them off to Greg.
150-
151-
There is a patchworks queue that you can see here:
152-
153-
https://patchwork.kernel.org/bundle/netdev/stable/?state=*
154-
155-
It contains the patches which Dave has selected, but not yet handed off
156-
to Greg. If Greg already has the patch, then it will be here:
157-
158-
https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git
159-
160-
A quick way to find whether the patch is in this stable-queue is to
161-
simply clone the repo, and then git grep the mainline commit ID, e.g.
162-
::
163-
164-
stable-queue$ git grep -l 284041ef21fdf2e
165-
releases/3.0.84/ipv6-fix-possible-crashes-in-ip6_cork_release.patch
166-
releases/3.4.51/ipv6-fix-possible-crashes-in-ip6_cork_release.patch
167-
releases/3.9.8/ipv6-fix-possible-crashes-in-ip6_cork_release.patch
168-
stable/stable-queue$
169-
170-
I see a network patch and I think it should be backported to stable. Should I request it via [email protected] like the references in the kernel's Documentation/process/stable-kernel-rules.rst file say?
171-
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
172-
No, not for networking. Check the stable queues as per above first
173-
to see if it is already queued. If not, then send a mail to netdev,
174-
listing the upstream commit ID and why you think it should be a stable
175-
candidate.
176-
177-
Before you jump to go do the above, do note that the normal stable rules
178-
in :ref:`Documentation/process/stable-kernel-rules.rst <stable_kernel_rules>`
179-
still apply. So you need to explicitly indicate why it is a critical
180-
fix and exactly what users are impacted. In addition, you need to
181-
convince yourself that you *really* think it has been overlooked,
182-
vs. having been considered and rejected.
183-
184-
Generally speaking, the longer it has had a chance to "soak" in
185-
mainline, the better the odds that it is an OK candidate for stable. So
186-
scrambling to request a commit be added the day after it appears should
187-
be avoided.
188-
189-
I have created a network patch and I think it should be backported to stable. Should I add a Cc: [email protected] like the references in the kernel's Documentation/ directory say?
190-
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
191-
No. See above answer. In short, if you think it really belongs in
192-
stable, then ensure you write a decent commit log that describes who
193-
gets impacted by the bug fix and how it manifests itself, and when the
194-
bug was introduced. If you do that properly, then the commit will get
195-
handled appropriately and most likely get put in the patchworks stable
196-
queue if it really warrants it.
197-
198-
If you think there is some valid information relating to it being in
199-
stable that does *not* belong in the commit log, then use the three dash
200-
marker line as described in
201-
:ref:`Documentation/process/submitting-patches.rst <the_canonical_patch_format>`
202-
to temporarily embed that information into the patch that you send.
203-
204-
Are all networking bug fixes backported to all stable releases?
145+
Are there special rules regarding stable submissions on netdev?
205146
---------------------------------------------------------------
206-
Due to capacity, Dave could only take care of the backports for the
207-
last two stable releases. For earlier stable releases, each stable
208-
branch maintainer is supposed to take care of them. If you find any
209-
patch is missing from an earlier stable branch, please notify
210-
[email protected] with either a commit ID or a formal patch
211-
backported, and CC Dave and other relevant networking developers.
147+
While it used to be the case that netdev submissions were not supposed
148+
to carry explicit ``CC: [email protected]`` tags that is no longer
149+
the case today. Please follow the standard stable rules in
150+
:ref:`Documentation/process/stable-kernel-rules.rst <stable_kernel_rules>`,
151+
and make sure you include appropriate Fixes tags!
212152

213153
Is the comment style convention different for the networking content?
214154
---------------------------------------------------------------------

Documentation/process/stable-kernel-rules.rst

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,6 @@ Rules on what kind of patches are accepted, and which ones are not, into the
3535
Procedure for submitting patches to the -stable tree
3636
----------------------------------------------------
3737

38-
- If the patch covers files in net/ or drivers/net please follow netdev stable
39-
submission guidelines as described in
40-
:ref:`Documentation/networking/netdev-FAQ.rst <netdev-FAQ>`
41-
after first checking the stable networking queue at
42-
https://patchwork.kernel.org/bundle/netdev/stable/?state=*
43-
to ensure the requested patch is not already queued up.
4438
- Security patches should not be handled (solely) by the -stable review
4539
process but should follow the procedures in
4640
:ref:`Documentation/admin-guide/security-bugs.rst <securitybugs>`.

Documentation/process/submitting-patches.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -250,11 +250,6 @@ should also read
250250
:ref:`Documentation/process/stable-kernel-rules.rst <stable_kernel_rules>`
251251
in addition to this file.
252252

253-
Note, however, that some subsystem maintainers want to come to their own
254-
conclusions on which patches should go to the stable trees. The networking
255-
maintainer, in particular, would rather not see individual developers
256-
adding lines like the above to their patches.
257-
258253
If changes affect userland-kernel interfaces, please send the MAN-PAGES
259254
maintainer (as listed in the MAINTAINERS file) a man-pages patch, or at
260255
least a notification of the change, so that some information makes its way

Documentation/virt/kvm/api.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,9 @@ is dependent on the CPU capability and the kernel configuration. The limit can
182182
be retrieved using KVM_CAP_ARM_VM_IPA_SIZE of the KVM_CHECK_EXTENSION
183183
ioctl() at run-time.
184184

185+
Creation of the VM will fail if the requested IPA size (whether it is
186+
implicit or explicit) is unsupported on the host.
187+
185188
Please note that configuring the IPA size does not affect the capability
186189
exposed by the guest CPUs in ID_AA64MMFR0_EL1[PARange]. It only affects
187190
size of the address translated by the stage2 level (guest physical to

MAINTAINERS

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -261,8 +261,8 @@ ABI/API
261261
262262
F: include/linux/syscalls.h
263263
F: kernel/sys_ni.c
264-
F: include/uapi/
265-
F: arch/*/include/uapi/
264+
X: include/uapi/
265+
X: arch/*/include/uapi/
266266

267267
ABIT UGURU 1,2 HARDWARE MONITOR DRIVER
268268
M: Hans de Goede <[email protected]>
@@ -5835,7 +5835,7 @@ M: David Airlie <[email protected]>
58355835
M: Daniel Vetter <[email protected]>
58365836
58375837
S: Maintained
5838-
B: https://bugs.freedesktop.org/
5838+
B: https://gitlab.freedesktop.org/drm
58395839
C: irc://chat.freenode.net/dri-devel
58405840
T: git git://anongit.freedesktop.org/drm/drm
58415841
F: Documentation/devicetree/bindings/display/
@@ -10716,7 +10716,8 @@ F: drivers/net/ethernet/marvell/mvpp2/
1071610716

1071710717
MARVELL MWIFIEX WIRELESS DRIVER
1071810718
M: Amitkumar Karwar <[email protected]>
10719-
M: Ganapathi Bhat <[email protected]>
10719+
M: Ganapathi Bhat <[email protected]>
10720+
M: Sharvari Harisangam <[email protected]>
1072010721
M: Xinming Hu <[email protected]>
1072110722
1072210723
S: Maintained
@@ -19174,7 +19175,7 @@ S: Maintained
1917419175
F: drivers/infiniband/hw/vmw_pvrdma/
1917519176

1917619177
VMware PVSCSI driver
19177-
M: Jim Gill <jgill@vmware.com>
19178+
M: Vishal Bhakta <vbhakta@vmware.com>
1917819179
M: VMware PV-Drivers <[email protected]>
1917919180
1918019181
S: Maintained

Makefile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 5
33
PATCHLEVEL = 12
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc2
5+
EXTRAVERSION = -rc3
66
NAME = Frozen Wasteland
77

88
# *DOCUMENTATION*
@@ -271,7 +271,8 @@ no-dot-config-targets := $(clean-targets) \
271271
$(version_h) headers headers_% archheaders archscripts \
272272
%asm-generic kernelversion %src-pkg dt_binding_check \
273273
outputmakefile rustfmt rustfmtcheck
274-
no-sync-config-targets := $(no-dot-config-targets) %install kernelrelease
274+
no-sync-config-targets := $(no-dot-config-targets) %install kernelrelease \
275+
image_name
275276
single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.s %.symtypes %/
276277

277278
config-build :=
@@ -491,6 +492,7 @@ USERINCLUDE := \
491492
-I$(objtree)/arch/$(SRCARCH)/include/generated/uapi \
492493
-I$(srctree)/include/uapi \
493494
-I$(objtree)/include/generated/uapi \
495+
-include $(srctree)/include/linux/compiler-version.h \
494496
-include $(srctree)/include/linux/kconfig.h
495497

496498
# Use LINUXINCLUDE when you must reference the include/ directory.

arch/Kconfig

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -632,13 +632,12 @@ config HAS_LTO_CLANG
632632
def_bool y
633633
# Clang >= 11: https://github.com/ClangBuiltLinux/linux/issues/510
634634
depends on CC_IS_CLANG && CLANG_VERSION >= 110000 && LD_IS_LLD
635-
depends on $(success,test $(LLVM) -eq 1)
636635
depends on $(success,test $(LLVM_IAS) -eq 1)
637636
depends on $(success,$(NM) --help | head -n 1 | grep -qi llvm)
638637
depends on $(success,$(AR) --help | head -n 1 | grep -qi llvm)
639638
depends on ARCH_SUPPORTS_LTO_CLANG
640639
depends on !FTRACE_MCOUNT_USE_RECORDMCOUNT
641-
depends on !KASAN
640+
depends on !KASAN || KASAN_HW_TAGS
642641
depends on !GCOV_KERNEL
643642
help
644643
The compiler and Kconfig options support building with Clang's

arch/arm/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,7 @@ config ARCH_EP93XX
348348
select ARM_AMBA
349349
imply ARM_PATCH_PHYS_VIRT
350350
select ARM_VIC
351+
select GENERIC_IRQ_MULTI_HANDLER
351352
select AUTO_ZRELADDR
352353
select CLKDEV_LOOKUP
353354
select CLKSRC_MMIO

arch/arm/xen/p2m.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
#include <xen/xen.h>
1313
#include <xen/interface/memory.h>
14+
#include <xen/grant_table.h>
1415
#include <xen/page.h>
1516
#include <xen/swiotlb-xen.h>
1617

@@ -109,7 +110,7 @@ int set_foreign_p2m_mapping(struct gnttab_map_grant_ref *map_ops,
109110
map_ops[i].status = GNTST_general_error;
110111
unmap.host_addr = map_ops[i].host_addr,
111112
unmap.handle = map_ops[i].handle;
112-
map_ops[i].handle = ~0;
113+
map_ops[i].handle = INVALID_GRANT_HANDLE;
113114
if (map_ops[i].flags & GNTMAP_device_map)
114115
unmap.dev_bus_addr = map_ops[i].dev_bus_addr;
115116
else
@@ -130,7 +131,6 @@ int set_foreign_p2m_mapping(struct gnttab_map_grant_ref *map_ops,
130131

131132
return 0;
132133
}
133-
EXPORT_SYMBOL_GPL(set_foreign_p2m_mapping);
134134

135135
int clear_foreign_p2m_mapping(struct gnttab_unmap_grant_ref *unmap_ops,
136136
struct gnttab_unmap_grant_ref *kunmap_ops,
@@ -145,7 +145,6 @@ int clear_foreign_p2m_mapping(struct gnttab_unmap_grant_ref *unmap_ops,
145145

146146
return 0;
147147
}
148-
EXPORT_SYMBOL_GPL(clear_foreign_p2m_mapping);
149148

150149
bool __set_phys_to_machine_multi(unsigned long pfn,
151150
unsigned long mfn, unsigned long nr_pages)

arch/arm64/Kconfig

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1055,8 +1055,6 @@ config HW_PERF_EVENTS
10551055
config SYS_SUPPORTS_HUGETLBFS
10561056
def_bool y
10571057

1058-
config ARCH_WANT_HUGE_PMD_SHARE
1059-
10601058
config ARCH_HAS_CACHE_LINE_SIZE
10611059
def_bool y
10621060

@@ -1157,8 +1155,8 @@ config XEN
11571155

11581156
config FORCE_MAX_ZONEORDER
11591157
int
1160-
default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
1161-
default "12" if (ARM64_16K_PAGES && TRANSPARENT_HUGEPAGE)
1158+
default "14" if ARM64_64K_PAGES
1159+
default "12" if ARM64_16K_PAGES
11621160
default "11"
11631161
help
11641162
The kernel memory allocator divides physically contiguous memory
@@ -1855,12 +1853,6 @@ config CMDLINE_FROM_BOOTLOADER
18551853
the boot loader doesn't provide any, the default kernel command
18561854
string provided in CMDLINE will be used.
18571855

1858-
config CMDLINE_EXTEND
1859-
bool "Extend bootloader kernel arguments"
1860-
help
1861-
The command-line arguments provided by the boot loader will be
1862-
appended to the default kernel command string.
1863-
18641856
config CMDLINE_FORCE
18651857
bool "Always use the default kernel command string"
18661858
help

arch/arm64/include/asm/kvm_asm.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@
4747
#define __KVM_HOST_SMCCC_FUNC___kvm_flush_vm_context 2
4848
#define __KVM_HOST_SMCCC_FUNC___kvm_tlb_flush_vmid_ipa 3
4949
#define __KVM_HOST_SMCCC_FUNC___kvm_tlb_flush_vmid 4
50-
#define __KVM_HOST_SMCCC_FUNC___kvm_tlb_flush_local_vmid 5
50+
#define __KVM_HOST_SMCCC_FUNC___kvm_flush_cpu_context 5
5151
#define __KVM_HOST_SMCCC_FUNC___kvm_timer_set_cntvoff 6
5252
#define __KVM_HOST_SMCCC_FUNC___kvm_enable_ssbs 7
53-
#define __KVM_HOST_SMCCC_FUNC___vgic_v3_get_ich_vtr_el2 8
53+
#define __KVM_HOST_SMCCC_FUNC___vgic_v3_get_gic_config 8
5454
#define __KVM_HOST_SMCCC_FUNC___vgic_v3_read_vmcr 9
5555
#define __KVM_HOST_SMCCC_FUNC___vgic_v3_write_vmcr 10
5656
#define __KVM_HOST_SMCCC_FUNC___vgic_v3_init_lrs 11
@@ -183,16 +183,16 @@ DECLARE_KVM_HYP_SYM(__bp_harden_hyp_vecs);
183183
#define __bp_harden_hyp_vecs CHOOSE_HYP_SYM(__bp_harden_hyp_vecs)
184184

185185
extern void __kvm_flush_vm_context(void);
186+
extern void __kvm_flush_cpu_context(struct kvm_s2_mmu *mmu);
186187
extern void __kvm_tlb_flush_vmid_ipa(struct kvm_s2_mmu *mmu, phys_addr_t ipa,
187188
int level);
188189
extern void __kvm_tlb_flush_vmid(struct kvm_s2_mmu *mmu);
189-
extern void __kvm_tlb_flush_local_vmid(struct kvm_s2_mmu *mmu);
190190

191191
extern void __kvm_timer_set_cntvoff(u64 cntvoff);
192192

193193
extern int __kvm_vcpu_run(struct kvm_vcpu *vcpu);
194194

195-
extern u64 __vgic_v3_get_ich_vtr_el2(void);
195+
extern u64 __vgic_v3_get_gic_config(void);
196196
extern u64 __vgic_v3_read_vmcr(void);
197197
extern void __vgic_v3_write_vmcr(u32 vmcr);
198198
extern void __vgic_v3_init_lrs(void);

arch/arm64/include/asm/kvm_hyp.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,11 @@ void sysreg_restore_guest_state_vhe(struct kvm_cpu_context *ctxt);
8383
void __debug_switch_to_guest(struct kvm_vcpu *vcpu);
8484
void __debug_switch_to_host(struct kvm_vcpu *vcpu);
8585

86+
#ifdef __KVM_NVHE_HYPERVISOR__
87+
void __debug_save_host_buffers_nvhe(struct kvm_vcpu *vcpu);
88+
void __debug_restore_host_buffers_nvhe(struct kvm_vcpu *vcpu);
89+
#endif
90+
8691
void __fpsimd_save_state(struct user_fpsimd_state *fp_regs);
8792
void __fpsimd_restore_state(struct user_fpsimd_state *fp_regs);
8893

@@ -97,7 +102,8 @@ bool kvm_host_psci_handler(struct kvm_cpu_context *host_ctxt);
97102

98103
void __noreturn hyp_panic(void);
99104
#ifdef __KVM_NVHE_HYPERVISOR__
100-
void __noreturn __hyp_do_panic(bool restore_host, u64 spsr, u64 elr, u64 par);
105+
void __noreturn __hyp_do_panic(struct kvm_cpu_context *host_ctxt, u64 spsr,
106+
u64 elr, u64 par);
101107
#endif
102108

103109
#endif /* __ARM64_KVM_HYP_H__ */

arch/arm64/include/asm/memory.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,11 @@ static inline void *phys_to_virt(phys_addr_t x)
328328
#define ARCH_PFN_OFFSET ((unsigned long)PHYS_PFN_OFFSET)
329329

330330
#if !defined(CONFIG_SPARSEMEM_VMEMMAP) || defined(CONFIG_DEBUG_VIRTUAL)
331+
#define page_to_virt(x) ({ \
332+
__typeof__(x) __page = x; \
333+
void *__addr = __va(page_to_phys(__page)); \
334+
(void *)__tag_set((const void *)__addr, page_kasan_tag(__page));\
335+
})
331336
#define virt_to_page(x) pfn_to_page(virt_to_pfn(x))
332337
#else
333338
#define page_to_virt(x) ({ \

0 commit comments

Comments
 (0)