Skip to content

Commit 087c9ff

Browse files
committed
Merge remote-tracking branch 'stable/linux-6.6.y' into v6.6+
2 parents 80d12cd + 4c9646a commit 087c9ff

194 files changed

Lines changed: 2160 additions & 1603 deletions

File tree

Some content is hidden

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

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 6
33
PATCHLEVEL = 6
4-
SUBLEVEL = 7
4+
SUBLEVEL = 8
55
EXTRAVERSION =
66
NAME = Hurr durr I'ma ninja sloth
77

arch/arm64/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ endif
158158

159159
all: $(notdir $(KBUILD_IMAGE))
160160

161-
161+
vmlinuz.efi: Image
162162
Image vmlinuz.efi: vmlinux
163163
$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
164164

arch/arm64/include/asm/pgtable.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -826,6 +826,12 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
826826
pte = set_pte_bit(pte, __pgprot(PTE_DIRTY));
827827

828828
pte_val(pte) = (pte_val(pte) & ~mask) | (pgprot_val(newprot) & mask);
829+
/*
830+
* If we end up clearing hw dirtiness for a sw-dirty PTE, set hardware
831+
* dirtiness again.
832+
*/
833+
if (pte_sw_dirty(pte))
834+
pte = pte_mkdirty(pte);
829835
return pte;
830836
}
831837

arch/loongarch/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ vdso_install:
142142

143143
all: $(notdir $(KBUILD_IMAGE))
144144

145+
vmlinuz.efi: vmlinux.efi
146+
145147
vmlinux.elf vmlinux.efi vmlinuz.efi: vmlinux
146148
$(Q)$(MAKE) $(build)=$(boot) $(bootvars-y) $(boot)/$@
147149

arch/loongarch/include/asm/asmmacro.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -609,8 +609,7 @@
609609
lu32i.d \reg, 0
610610
lu52i.d \reg, \reg, 0
611611
.pushsection ".la_abs", "aw", %progbits
612-
768:
613-
.dword 768b-766b
612+
.dword 766b
614613
.dword \sym
615614
.popsection
616615
#endif

arch/loongarch/include/asm/setup.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ extern void set_merr_handler(unsigned long offset, void *addr, unsigned long len
2525
#ifdef CONFIG_RELOCATABLE
2626

2727
struct rela_la_abs {
28-
long offset;
28+
long pc;
2929
long symvalue;
3030
};
3131

arch/loongarch/kernel/relocate.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ static inline void __init relocate_absolute(long random_offset)
5252
for (p = begin; (void *)p < end; p++) {
5353
long v = p->symvalue;
5454
uint32_t lu12iw, ori, lu32id, lu52id;
55-
union loongarch_instruction *insn = (void *)p - p->offset;
55+
union loongarch_instruction *insn = (void *)p->pc;
5656

5757
lu12iw = (v >> 12) & 0xfffff;
5858
ori = v & 0xfff;
@@ -102,6 +102,14 @@ static inline __init unsigned long get_random_boot(void)
102102
return hash;
103103
}
104104

105+
static int __init nokaslr(char *p)
106+
{
107+
pr_info("KASLR is disabled.\n");
108+
109+
return 0; /* Print a notice and silence the boot warning */
110+
}
111+
early_param("nokaslr", nokaslr);
112+
105113
static inline __init bool kaslr_disabled(void)
106114
{
107115
char *str;

arch/loongarch/kernel/time.c

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -58,43 +58,38 @@ static int constant_set_state_oneshot(struct clock_event_device *evt)
5858
return 0;
5959
}
6060

61-
static int constant_set_state_oneshot_stopped(struct clock_event_device *evt)
61+
static int constant_set_state_periodic(struct clock_event_device *evt)
6262
{
63+
unsigned long period;
6364
unsigned long timer_config;
6465

6566
raw_spin_lock(&state_lock);
6667

67-
timer_config = csr_read64(LOONGARCH_CSR_TCFG);
68-
timer_config &= ~CSR_TCFG_EN;
68+
period = const_clock_freq / HZ;
69+
timer_config = period & CSR_TCFG_VAL;
70+
timer_config |= (CSR_TCFG_PERIOD | CSR_TCFG_EN);
6971
csr_write64(timer_config, LOONGARCH_CSR_TCFG);
7072

7173
raw_spin_unlock(&state_lock);
7274

7375
return 0;
7476
}
7577

76-
static int constant_set_state_periodic(struct clock_event_device *evt)
78+
static int constant_set_state_shutdown(struct clock_event_device *evt)
7779
{
78-
unsigned long period;
7980
unsigned long timer_config;
8081

8182
raw_spin_lock(&state_lock);
8283

83-
period = const_clock_freq / HZ;
84-
timer_config = period & CSR_TCFG_VAL;
85-
timer_config |= (CSR_TCFG_PERIOD | CSR_TCFG_EN);
84+
timer_config = csr_read64(LOONGARCH_CSR_TCFG);
85+
timer_config &= ~CSR_TCFG_EN;
8686
csr_write64(timer_config, LOONGARCH_CSR_TCFG);
8787

8888
raw_spin_unlock(&state_lock);
8989

9090
return 0;
9191
}
9292

93-
static int constant_set_state_shutdown(struct clock_event_device *evt)
94-
{
95-
return 0;
96-
}
97-
9893
static int constant_timer_next_event(unsigned long delta, struct clock_event_device *evt)
9994
{
10095
unsigned long timer_config;
@@ -161,7 +156,7 @@ int constant_clockevent_init(void)
161156
cd->rating = 320;
162157
cd->cpumask = cpumask_of(cpu);
163158
cd->set_state_oneshot = constant_set_state_oneshot;
164-
cd->set_state_oneshot_stopped = constant_set_state_oneshot_stopped;
159+
cd->set_state_oneshot_stopped = constant_set_state_shutdown;
165160
cd->set_state_periodic = constant_set_state_periodic;
166161
cd->set_state_shutdown = constant_set_state_shutdown;
167162
cd->set_next_event = constant_timer_next_event;

arch/loongarch/mm/pgtable.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ struct page *dmw_virt_to_page(unsigned long kaddr)
1313
{
1414
return pfn_to_page(virt_to_pfn(kaddr));
1515
}
16-
EXPORT_SYMBOL_GPL(dmw_virt_to_page);
16+
EXPORT_SYMBOL(dmw_virt_to_page);
1717

1818
struct page *tlb_virt_to_page(unsigned long kaddr)
1919
{
2020
return pfn_to_page(pte_pfn(*virt_to_kpte(kaddr)));
2121
}
22-
EXPORT_SYMBOL_GPL(tlb_virt_to_page);
22+
EXPORT_SYMBOL(tlb_virt_to_page);
2323

2424
pgd_t *pgd_alloc(struct mm_struct *mm)
2525
{

arch/powerpc/configs/skiroot_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,6 @@ CONFIG_WQ_WATCHDOG=y
301301
CONFIG_DEBUG_SG=y
302302
CONFIG_DEBUG_NOTIFIERS=y
303303
CONFIG_BUG_ON_DATA_CORRUPTION=y
304-
CONFIG_DEBUG_CREDENTIALS=y
305304
# CONFIG_FTRACE is not set
306305
CONFIG_XMON=y
307306
# CONFIG_RUNTIME_TESTING_MENU is not set

0 commit comments

Comments
 (0)