lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 6 Aug 2014 09:58:45 +1000
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	David Miller <davem@...emloft.net>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	bob picco <bpicco@...oft.net>
Subject: linux-next: manual merge of the sparc-next tree with the sparc tree

Hi David,

Today's linux-next merge of the sparc-next tree got a conflict in
arch/sparc/mm/init_64.c between commit 4ca9a23765da ("sparc64: Guard
against flushing openfirmware mappings") from the sparc tree and commit
f6d4fb5cc047 ("sparc64 - add mem to iomem resource") from the
sparc-next tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

diff --cc arch/sparc/mm/init_64.c
index 2cfb0f25e0ed,9f4f532e2627..000000000000
--- a/arch/sparc/mm/init_64.c
+++ b/arch/sparc/mm/init_64.c
@@@ -2708,25 -2701,66 +2709,89 @@@ void hugetlb_setup(struct pt_regs *regs
  }
  #endif
  
 +#ifdef CONFIG_SMP
 +#define do_flush_tlb_kernel_range	smp_flush_tlb_kernel_range
 +#else
 +#define do_flush_tlb_kernel_range	__flush_tlb_kernel_range
 +#endif
 +
 +void flush_tlb_kernel_range(unsigned long start, unsigned long end)
 +{
 +	if (start < HI_OBP_ADDRESS && end > LOW_OBP_ADDRESS) {
 +		if (start < LOW_OBP_ADDRESS) {
 +			flush_tsb_kernel_range(start, LOW_OBP_ADDRESS);
 +			do_flush_tlb_kernel_range(start, LOW_OBP_ADDRESS);
 +		}
 +		if (end > HI_OBP_ADDRESS) {
 +			flush_tsb_kernel_range(end, HI_OBP_ADDRESS);
 +			do_flush_tlb_kernel_range(end, HI_OBP_ADDRESS);
 +		}
 +	} else {
 +		flush_tsb_kernel_range(start, end);
 +		do_flush_tlb_kernel_range(start, end);
 +	}
 +}
++
+ static struct resource code_resource = {
+ 	.name	= "Kernel code",
+ 	.flags	= IORESOURCE_BUSY | IORESOURCE_MEM
+ };
+ 
+ static struct resource data_resource = {
+ 	.name	= "Kernel data",
+ 	.flags	= IORESOURCE_BUSY | IORESOURCE_MEM
+ };
+ 
+ static struct resource bss_resource = {
+ 	.name	= "Kernel bss",
+ 	.flags	= IORESOURCE_BUSY | IORESOURCE_MEM
+ };
+ 
+ static inline resource_size_t compute_kern_paddr(void *addr)
+ {
+ 	return (resource_size_t) (addr - KERNBASE + kern_base);
+ }
+ 
+ static void __init kernel_lds_init(void)
+ {
+ 	code_resource.start = compute_kern_paddr(_text);
+ 	code_resource.end   = compute_kern_paddr(_etext - 1);
+ 	data_resource.start = compute_kern_paddr(_etext);
+ 	data_resource.end   = compute_kern_paddr(_edata - 1);
+ 	bss_resource.start  = compute_kern_paddr(__bss_start);
+ 	bss_resource.end    = compute_kern_paddr(_end - 1);
+ }
+ 
+ static int __init report_memory(void)
+ {
+ 	int i;
+ 	struct resource *res;
+ 
+ 	kernel_lds_init();
+ 
+ 	for (i = 0; i < pavail_ents; i++) {
+ 		res = kzalloc(sizeof(struct resource), GFP_KERNEL);
+ 
+ 		if (!res) {
+ 			pr_warn("Failed to allocate source.\n");
+ 			break;
+ 		}
+ 
+ 		res->name = "System RAM";
+ 		res->start = pavail[i].phys_addr;
+ 		res->end = pavail[i].phys_addr + pavail[i].reg_size - 1;
+ 		res->flags = IORESOURCE_BUSY | IORESOURCE_MEM;
+ 
+ 		if (insert_resource(&iomem_resource, res) < 0) {
+ 			pr_warn("Resource insertion failed.\n");
+ 			break;
+ 		}
+ 
+ 		insert_resource(res, &code_resource);
+ 		insert_resource(res, &data_resource);
+ 		insert_resource(res, &bss_resource);
+ 	}
+ 
+ 	return 0;
+ }
+ device_initcall(report_memory);

Download attachment "signature.asc" of type "application/pgp-signature" (820 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ