Skip to content

Commit

Permalink
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Browse files Browse the repository at this point in the history
Cross-merge networking fixes after downstream PR.

Conflicts:

net/sched/sch_taprio.c
  d636fc5 ("net: sched: add rcu annotations around qdisc->qdisc_sleeping")
  dced11e ("net/sched: taprio: don't overwrite "sch" variable in taprio_dump_class_stats()")

net/ipv4/sysctl_net_ipv4.c
  e209fee ("net/ipv4: ping_group_range: allow GID from 2147483648 to 4294967294")
  ccce324 ("tcp: make the first N SYN RTO backoffs linear")
https://lore.kernel.org/all/[email protected]/

No adjacent changes.

Signed-off-by: Jakub Kicinski <[email protected]>
  • Loading branch information
kuba-moo committed Jun 8, 2023
2 parents bfd019d + 25041a4 commit 449f6bc
Show file tree
Hide file tree
Showing 319 changed files with 2,815 additions and 1,351 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Lattice Slave SPI sysCONFIG FPGA manager

maintainers:
- Ivan Bornyakov <i.bornyakov@metrotek.ru>
- Vladimir Georgiev <v.georgiev@metrotek.ru>

description: |
Lattice sysCONFIG port, which is used for FPGA configuration, among others,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Microchip Polarfire FPGA manager.

maintainers:
- Ivan Bornyakov <i.bornyakov@metrotek.ru>
- Vladimir Georgiev <v.georgiev@metrotek.ru>

description:
Device Tree Bindings for Microchip Polarfire FPGA Manager using slave SPI to
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@ properties:
power-domains:
maxItems: 1

vref-supply:
description: |
External ADC reference voltage supply on VREFH pad. If VERID[MVI] is
set, there are additional, internal reference voltages selectable.
VREFH1 is always from VREFH pad.
"#io-channel-cells":
const: 1

Expand Down Expand Up @@ -72,6 +78,7 @@ examples:
assigned-clocks = <&clk IMX_SC_R_ADC_0>;
assigned-clock-rates = <24000000>;
power-domains = <&pd IMX_SC_R_ADC_0>;
vref-supply = <&reg_1v8>;
#io-channel-cells = <1>;
};
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ patternProperties:
of the MAX chips to the GyroADC, while MISO line of each Maxim
ADC connects to a shared input pin of the GyroADC.
enum:
- adi,7476
- adi,ad7476
- fujitsu,mb88101a
- maxim,max1162
- maxim,max11100
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/serial/8250_omap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ properties:
dsr-gpios: true
rng-gpios: true
dcd-gpios: true
rs485-rts-active-high: true
rts-gpio: true
power-domains: true
clock-frequency: true
Expand Down
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/usb/snps,dwc3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ properties:
description:
High-Speed PHY interface selection between UTMI+ and ULPI when the
DWC_USB3_HSPHY_INTERFACE has value 3.
$ref: /schemas/types.yaml#/definitions/uint8
$ref: /schemas/types.yaml#/definitions/string
enum: [utmi, ulpi]

snps,quirk-frame-length-adjustment:
Expand Down
19 changes: 19 additions & 0 deletions Documentation/mm/page_table_check.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,22 @@ Build kernel with:

Optionally, build kernel with PAGE_TABLE_CHECK_ENFORCED in order to have page
table support without extra kernel parameter.

Implementation notes
====================

We specifically decided not to use VMA information in order to avoid relying on
MM states (except for limited "struct page" info). The page table check is a
separate from Linux-MM state machine that verifies that the user accessible
pages are not falsely shared.

PAGE_TABLE_CHECK depends on EXCLUSIVE_SYSTEM_RAM. The reason is that without
EXCLUSIVE_SYSTEM_RAM, users are allowed to map arbitrary physical memory
regions into the userspace via /dev/mem. At the same time, pages may change
their properties (e.g., from anonymous pages to named pages) while they are
still being mapped in the userspace, leading to "corruption" detected by the
page table check.

Even with EXCLUSIVE_SYSTEM_RAM, I/O pages may be still allowed to be mapped via
/dev/mem. However, these pages are always considered as named pages, so they
won't break the logic used in the page table check.
32 changes: 16 additions & 16 deletions Documentation/netlink/specs/ethtool.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ attribute-sets:
name: tx-min-frag-size
type: u32
-
name: tx-min-frag-size
name: rx-min-frag-size
type: u32
-
name: verify-enabled
Expand Down Expand Up @@ -294,7 +294,7 @@ attribute-sets:
name: master-slave-state
type: u8
-
name: master-slave-lanes
name: lanes
type: u32
-
name: rate-matching
Expand Down Expand Up @@ -322,7 +322,7 @@ attribute-sets:
name: ext-substate
type: u8
-
name: down-cnt
name: ext-down-cnt
type: u32
-
name: debug
Expand Down Expand Up @@ -577,7 +577,7 @@ attribute-sets:
name: phc-index
type: u32
-
name: cable-test-nft-nest-result
name: cable-test-ntf-nest-result
attributes:
-
name: pair
Expand All @@ -586,7 +586,7 @@ attribute-sets:
name: code
type: u8
-
name: cable-test-nft-nest-fault-length
name: cable-test-ntf-nest-fault-length
attributes:
-
name: pair
Expand All @@ -595,16 +595,16 @@ attribute-sets:
name: cm
type: u32
-
name: cable-test-nft-nest
name: cable-test-ntf-nest
attributes:
-
name: result
type: nest
nested-attributes: cable-test-nft-nest-result
nested-attributes: cable-test-ntf-nest-result
-
name: fault-length
type: nest
nested-attributes: cable-test-nft-nest-fault-length
nested-attributes: cable-test-ntf-nest-fault-length
-
name: cable-test
attributes:
Expand All @@ -618,7 +618,7 @@ attribute-sets:
-
name: nest
type: nest
nested-attributes: cable-test-nft-nest
nested-attributes: cable-test-ntf-nest
-
name: cable-test-tdr-cfg
attributes:
Expand Down Expand Up @@ -776,7 +776,7 @@ attribute-sets:
name: hist-bkt-hi
type: u32
-
name: hist-bkt-val
name: hist-val
type: u64
-
name: stats
Expand Down Expand Up @@ -965,7 +965,7 @@ operations:
- duplex
- master-slave-cfg
- master-slave-state
- master-slave-lanes
- lanes
- rate-matching
dump: *linkmodes-get-op
-
Expand Down Expand Up @@ -999,7 +999,7 @@ operations:
- sqi-max
- ext-state
- ext-substate
- down-cnt
- ext-down-cnt
dump: *linkstate-get-op
-
name: debug-get
Expand Down Expand Up @@ -1351,7 +1351,7 @@ operations:
reply:
attributes:
- header
- cable-test-nft-nest
- cable-test-ntf-nest
-
name: cable-test-tdr-act
doc: Cable test TDR.
Expand Down Expand Up @@ -1539,7 +1539,7 @@ operations:
- hkey
dump: *rss-get-op
-
name: plca-get
name: plca-get-cfg
doc: Get PLCA params.

attribute-set: plca
Expand All @@ -1561,7 +1561,7 @@ operations:
- burst-tmr
dump: *plca-get-op
-
name: plca-set
name: plca-set-cfg
doc: Set PLCA params.

attribute-set: plca
Expand All @@ -1585,7 +1585,7 @@ operations:
-
name: plca-ntf
doc: Notification for change in PLCA params.
notify: plca-get
notify: plca-get-cfg
-
name: mm-get
doc: Get MAC Merge configuration and state
Expand Down
4 changes: 2 additions & 2 deletions Documentation/networking/ip-sysctl.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1363,8 +1363,8 @@ ping_group_range - 2 INTEGERS
Restrict ICMP_PROTO datagram sockets to users in the group range.
The default is "1 0", meaning, that nobody (not even root) may
create ping sockets. Setting it to "100 100" would grant permissions
to the single group. "0 4294967295" would enable it for the world, "100
4294967295" would enable it for the users, but not daemons.
to the single group. "0 4294967294" would enable it for the world, "100
4294967294" would enable it for the users, but not daemons.

tcp_early_demux - BOOLEAN
Enable early demux for established TCP sockets.
Expand Down
18 changes: 13 additions & 5 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1594,7 +1594,7 @@ F: drivers/media/i2c/ar0521.c

ARASAN NAND CONTROLLER DRIVER
M: Miquel Raynal <[email protected]>
M: Naga Sureshkumar Relli <nagasure@xilinx.com>
R: Michal Simek <michal.simek@amd.com>
L: [email protected]
S: Maintained
F: Documentation/devicetree/bindings/mtd/arasan,nand-controller.yaml
Expand Down Expand Up @@ -1757,15 +1757,15 @@ F: include/linux/amba/mmci.h

ARM PRIMECELL PL35X NAND CONTROLLER DRIVER
M: Miquel Raynal <[email protected]>
M: Naga Sureshkumar Relli <nagasure@xilinx.com>
R: Michal Simek <michal.simek@amd.com>
L: [email protected]
S: Maintained
F: Documentation/devicetree/bindings/mtd/arm,pl353-nand-r2p1.yaml
F: drivers/mtd/nand/raw/pl35x-nand-controller.c

ARM PRIMECELL PL35X SMC DRIVER
M: Miquel Raynal <[email protected]>
M: Naga Sureshkumar Relli <nagasure@xilinx.com>
R: Michal Simek <michal.simek@amd.com>
L: [email protected] (moderated for non-subscribers)
S: Maintained
F: Documentation/devicetree/bindings/memory-controllers/arm,pl35x-smc.yaml
Expand Down Expand Up @@ -5721,6 +5721,14 @@ F: include/linux/tfrc.h
F: include/uapi/linux/dccp.h
F: net/dccp/

DEBUGOBJECTS:
M: Thomas Gleixner <[email protected]>
L: [email protected]
S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core/debugobjects
F: lib/debugobjects.c
F: include/linux/debugobjects.h

DECSTATION PLATFORM SUPPORT
M: "Maciej W. Rozycki" <[email protected]>
L: [email protected]
Expand Down Expand Up @@ -10114,7 +10122,7 @@ S: Maintained
F: Documentation/process/kernel-docs.rst

INDUSTRY PACK SUBSYSTEM (IPACK)
M: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
M: Vaibhav Gupta <vaibhavgupta40@gmail.com>
M: Jens Taprogge <[email protected]>
M: Greg Kroah-Hartman <[email protected]>
L: [email protected]
Expand Down Expand Up @@ -13842,7 +13850,7 @@ F: drivers/tty/serial/8250/8250_pci1xxxx.c

MICROCHIP POLARFIRE FPGA DRIVERS
M: Conor Dooley <[email protected]>
R: Ivan Bornyakov <i.bornyakov@metrotek.ru>
R: Vladimir Georgiev <v.georgiev@metrotek.ru>
L: [email protected]
S: Supported
F: Documentation/devicetree/bindings/fpga/microchip,mpf-spi-fpga-mgr.yaml
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
VERSION = 6
PATCHLEVEL = 4
SUBLEVEL = 0
EXTRAVERSION = -rc4
EXTRAVERSION = -rc5
NAME = Hurr durr I'ma ninja sloth

# *DOCUMENTATION*
Expand Down
6 changes: 3 additions & 3 deletions arch/arm64/include/asm/kvm_pgtable.h
Original file line number Diff line number Diff line change
Expand Up @@ -632,9 +632,9 @@ int kvm_pgtable_stage2_flush(struct kvm_pgtable *pgt, u64 addr, u64 size);
*
* The walker will walk the page-table entries corresponding to the input
* address range specified, visiting entries according to the walker flags.
* Invalid entries are treated as leaf entries. Leaf entries are reloaded
* after invoking the walker callback, allowing the walker to descend into
* a newly installed table.
* Invalid entries are treated as leaf entries. The visited page table entry is
* reloaded after invoking the walker callback, allowing the walker to descend
* into a newly installed table.
*
* Returning a negative error code from the walker callback function will
* terminate the walk immediately with the same error code.
Expand Down
6 changes: 6 additions & 0 deletions arch/arm64/include/asm/sysreg.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,14 @@
#define SB_BARRIER_INSN __SYS_BARRIER_INSN(0, 7, 31)

#define SYS_DC_ISW sys_insn(1, 0, 7, 6, 2)
#define SYS_DC_IGSW sys_insn(1, 0, 7, 6, 4)
#define SYS_DC_IGDSW sys_insn(1, 0, 7, 6, 6)
#define SYS_DC_CSW sys_insn(1, 0, 7, 10, 2)
#define SYS_DC_CGSW sys_insn(1, 0, 7, 10, 4)
#define SYS_DC_CGDSW sys_insn(1, 0, 7, 10, 6)
#define SYS_DC_CISW sys_insn(1, 0, 7, 14, 2)
#define SYS_DC_CIGSW sys_insn(1, 0, 7, 14, 4)
#define SYS_DC_CIGDSW sys_insn(1, 0, 7, 14, 6)

/*
* Automatically generated definitions for system registers, the
Expand Down
8 changes: 6 additions & 2 deletions arch/arm64/kvm/hyp/include/hyp/switch.h
Original file line number Diff line number Diff line change
Expand Up @@ -412,17 +412,21 @@ static bool kvm_hyp_handle_cp15_32(struct kvm_vcpu *vcpu, u64 *exit_code)
return false;
}

static bool kvm_hyp_handle_iabt_low(struct kvm_vcpu *vcpu, u64 *exit_code)
static bool kvm_hyp_handle_memory_fault(struct kvm_vcpu *vcpu, u64 *exit_code)
{
if (!__populate_fault_info(vcpu))
return true;

return false;
}
static bool kvm_hyp_handle_iabt_low(struct kvm_vcpu *vcpu, u64 *exit_code)
__alias(kvm_hyp_handle_memory_fault);
static bool kvm_hyp_handle_watchpt_low(struct kvm_vcpu *vcpu, u64 *exit_code)
__alias(kvm_hyp_handle_memory_fault);

static bool kvm_hyp_handle_dabt_low(struct kvm_vcpu *vcpu, u64 *exit_code)
{
if (!__populate_fault_info(vcpu))
if (kvm_hyp_handle_memory_fault(vcpu, exit_code))
return true;

if (static_branch_unlikely(&vgic_v2_cpuif_trap)) {
Expand Down
14 changes: 7 additions & 7 deletions arch/arm64/kvm/hyp/nvhe/mem_protect.c
Original file line number Diff line number Diff line change
Expand Up @@ -575,18 +575,15 @@ struct pkvm_mem_donation {

struct check_walk_data {
enum pkvm_page_state desired;
enum pkvm_page_state (*get_page_state)(kvm_pte_t pte);
enum pkvm_page_state (*get_page_state)(kvm_pte_t pte, u64 addr);
};

static int __check_page_state_visitor(const struct kvm_pgtable_visit_ctx *ctx,
enum kvm_pgtable_walk_flags visit)
{
struct check_walk_data *d = ctx->arg;

if (kvm_pte_valid(ctx->old) && !addr_is_allowed_memory(kvm_pte_to_phys(ctx->old)))
return -EINVAL;

return d->get_page_state(ctx->old) == d->desired ? 0 : -EPERM;
return d->get_page_state(ctx->old, ctx->addr) == d->desired ? 0 : -EPERM;
}

static int check_page_state_range(struct kvm_pgtable *pgt, u64 addr, u64 size,
Expand All @@ -601,8 +598,11 @@ static int check_page_state_range(struct kvm_pgtable *pgt, u64 addr, u64 size,
return kvm_pgtable_walk(pgt, addr, size, &walker);
}

static enum pkvm_page_state host_get_page_state(kvm_pte_t pte)
static enum pkvm_page_state host_get_page_state(kvm_pte_t pte, u64 addr)
{
if (!addr_is_allowed_memory(addr))
return PKVM_NOPAGE;

if (!kvm_pte_valid(pte) && pte)
return PKVM_NOPAGE;

Expand Down Expand Up @@ -709,7 +709,7 @@ static int host_complete_donation(u64 addr, const struct pkvm_mem_transition *tx
return host_stage2_set_owner_locked(addr, size, host_id);
}

static enum pkvm_page_state hyp_get_page_state(kvm_pte_t pte)
static enum pkvm_page_state hyp_get_page_state(kvm_pte_t pte, u64 addr)
{
if (!kvm_pte_valid(pte))
return PKVM_NOPAGE;
Expand Down
Loading

0 comments on commit 449f6bc

Please sign in to comment.