Commit 91b165c0 authored by Jeff Dike's avatar Jeff Dike Committed by Linus Torvalds

[PATCH] uml: Use ARRAY_SIZE more assiduously

There were a bunch of missed ARRAY_SIZE opportunities.

Also, some formatting fixes in the affected areas of code.
Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 13c06be3
...@@ -544,7 +544,7 @@ static struct chan *parse_chan(struct line *line, char *str, int device, ...@@ -544,7 +544,7 @@ static struct chan *parse_chan(struct line *line, char *str, int device,
ops = NULL; ops = NULL;
data = NULL; data = NULL;
for(i = 0; i < sizeof(chan_table)/sizeof(chan_table[0]); i++){ for(i = 0; i < ARRAY_SIZE(chan_table); i++){
entry = &chan_table[i]; entry = &chan_table[i];
if(!strncmp(str, entry->key, strlen(entry->key))){ if(!strncmp(str, entry->key, strlen(entry->key))){
ops = entry->ops; ops = entry->ops;
......
...@@ -497,7 +497,7 @@ static void mconsole_get_config(int (*get_config)(char *, char *, int, ...@@ -497,7 +497,7 @@ static void mconsole_get_config(int (*get_config)(char *, char *, int,
} }
error = NULL; error = NULL;
size = sizeof(default_buf)/sizeof(default_buf[0]); size = ARRAY_SIZE(default_buf);
buf = default_buf; buf = default_buf;
while(1){ while(1){
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include "user.h" #include "user.h"
#include "mconsole.h" #include "mconsole.h"
#include "umid.h" #include "umid.h"
#include "user_util.h"
static struct mconsole_command commands[] = { static struct mconsole_command commands[] = {
/* With uts namespaces, uts information becomes process-specific, so /* With uts namespaces, uts information becomes process-specific, so
...@@ -65,14 +66,14 @@ static struct mconsole_command *mconsole_parse(struct mc_request *req) ...@@ -65,14 +66,14 @@ static struct mconsole_command *mconsole_parse(struct mc_request *req)
struct mconsole_command *cmd; struct mconsole_command *cmd;
int i; int i;
for(i=0;i<sizeof(commands)/sizeof(commands[0]);i++){ for(i = 0; i < ARRAY_SIZE(commands); i++){
cmd = &commands[i]; cmd = &commands[i];
if(!strncmp(req->request.data, cmd->command, if(!strncmp(req->request.data, cmd->command,
strlen(cmd->command))){ strlen(cmd->command))){
return(cmd); return cmd;
} }
} }
return(NULL); return NULL;
} }
#define MIN(a,b) ((a)<(b) ? (a):(b)) #define MIN(a,b) ((a)<(b) ? (a):(b))
......
...@@ -76,7 +76,7 @@ int pcap_setup(char *str, char **mac_out, void *data) ...@@ -76,7 +76,7 @@ int pcap_setup(char *str, char **mac_out, void *data)
if(host_if != NULL) if(host_if != NULL)
init->host_if = host_if; init->host_if = host_if;
for(i = 0; i < sizeof(options)/sizeof(options[0]); i++){ for(i = 0; i < ARRAY_SIZE(options); i++){
if(options[i] == NULL) if(options[i] == NULL)
continue; continue;
if(!strcmp(options[i], "promisc")) if(!strcmp(options[i], "promisc"))
......
...@@ -223,8 +223,9 @@ void paging_init(void) ...@@ -223,8 +223,9 @@ void paging_init(void)
empty_zero_page = (unsigned long *) alloc_bootmem_low_pages(PAGE_SIZE); empty_zero_page = (unsigned long *) alloc_bootmem_low_pages(PAGE_SIZE);
empty_bad_page = (unsigned long *) alloc_bootmem_low_pages(PAGE_SIZE); empty_bad_page = (unsigned long *) alloc_bootmem_low_pages(PAGE_SIZE);
for(i=0;i<sizeof(zones_size)/sizeof(zones_size[0]);i++) for(i = 0; i < ARRAY_SIZE(zones_size); i++)
zones_size[i] = 0; zones_size[i] = 0;
zones_size[ZONE_DMA] = (end_iomem >> PAGE_SHIFT) - (uml_physmem >> PAGE_SHIFT); zones_size[ZONE_DMA] = (end_iomem >> PAGE_SHIFT) - (uml_physmem >> PAGE_SHIFT);
#ifdef CONFIG_HIGHMEM #ifdef CONFIG_HIGHMEM
zones_size[ZONE_HIGHMEM] = highmem >> PAGE_SHIFT; zones_size[ZONE_HIGHMEM] = highmem >> PAGE_SHIFT;
......
...@@ -22,7 +22,7 @@ static void kill_idlers(int me) ...@@ -22,7 +22,7 @@ static void kill_idlers(int me)
struct task_struct *p; struct task_struct *p;
int i; int i;
for(i = 0; i < sizeof(idle_threads)/sizeof(idle_threads[0]); i++){ for(i = 0; i < ARRAY_SIZE(idle_threads); i++){
p = idle_threads[i]; p = idle_threads[i];
if((p != NULL) && (p->thread.mode.tt.extern_pid != me)) if((p != NULL) && (p->thread.mode.tt.extern_pid != me))
os_kill_process(p->thread.mode.tt.extern_pid, 0); os_kill_process(p->thread.mode.tt.extern_pid, 0);
...@@ -62,14 +62,3 @@ void machine_halt(void) ...@@ -62,14 +62,3 @@ void machine_halt(void)
{ {
machine_power_off(); machine_power_off();
} }
/*
* Overrides for Emacs so that we follow Linus's tabbing style.
* Emacs will notice this stuff at the end of the file and automatically
* adjust the settings for this buffer only. This must remain at the end
* of the file.
* ---------------------------------------------------------------------------
* Local variables:
* c-file-style: "linux"
* End:
*/
...@@ -137,10 +137,11 @@ void fix_range_common(struct mm_struct *mm, unsigned long start_addr, ...@@ -137,10 +137,11 @@ void fix_range_common(struct mm_struct *mm, unsigned long start_addr,
int r, w, x; int r, w, x;
struct host_vm_op ops[1]; struct host_vm_op ops[1];
void *flush = NULL; void *flush = NULL;
int op_index = -1, last_op = sizeof(ops) / sizeof(ops[0]) - 1; int op_index = -1, last_op = ARRAY_SIZE(ops) - 1;
int ret = 0; int ret = 0;
if(mm == NULL) return; if(mm == NULL)
return;
ops[0].type = NONE; ops[0].type = NONE;
for(addr = start_addr; addr < end_addr && !ret;){ for(addr = start_addr; addr < end_addr && !ret;){
......
...@@ -114,14 +114,14 @@ static void which_tmpdir(void) ...@@ -114,14 +114,14 @@ static void which_tmpdir(void)
} }
while(1){ while(1){
found = next(fd, buf, sizeof(buf) / sizeof(buf[0]), ' '); found = next(fd, buf, ARRAY_SIZE(buf), ' ');
if(found != 1) if(found != 1)
break; break;
if(!strncmp(buf, "/dev/shm", strlen("/dev/shm"))) if(!strncmp(buf, "/dev/shm", strlen("/dev/shm")))
goto found; goto found;
found = next(fd, buf, sizeof(buf) / sizeof(buf[0]), '\n'); found = next(fd, buf, ARRAY_SIZE(buf), '\n');
if(found != 1) if(found != 1)
break; break;
} }
...@@ -135,7 +135,7 @@ static void which_tmpdir(void) ...@@ -135,7 +135,7 @@ static void which_tmpdir(void)
return; return;
found: found:
found = next(fd, buf, sizeof(buf) / sizeof(buf[0]), ' '); found = next(fd, buf, ARRAY_SIZE(buf), ' ');
if(found != 1) if(found != 1)
goto err; goto err;
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include "sysdep/ptrace.h" #include "sysdep/ptrace.h"
#include "task.h" #include "task.h"
#include "os.h" #include "os.h"
#include "user_util.h"
#define MAXTOKEN 64 #define MAXTOKEN 64
...@@ -104,17 +105,17 @@ int cpu_feature(char *what, char *buf, int len) ...@@ -104,17 +105,17 @@ int cpu_feature(char *what, char *buf, int len)
static int check_cpu_flag(char *feature, int *have_it) static int check_cpu_flag(char *feature, int *have_it)
{ {
char buf[MAXTOKEN], c; char buf[MAXTOKEN], c;
int fd, len = sizeof(buf)/sizeof(buf[0]); int fd, len = ARRAY_SIZE(buf);
printk("Checking for host processor %s support...", feature); printk("Checking for host processor %s support...", feature);
fd = os_open_file("/proc/cpuinfo", of_read(OPENFLAGS()), 0); fd = os_open_file("/proc/cpuinfo", of_read(OPENFLAGS()), 0);
if(fd < 0){ if(fd < 0){
printk("Couldn't open /proc/cpuinfo, err = %d\n", -fd); printk("Couldn't open /proc/cpuinfo, err = %d\n", -fd);
return(0); return 0;
} }
*have_it = 0; *have_it = 0;
if(!find_cpuinfo_line(fd, "flags", buf, sizeof(buf) / sizeof(buf[0]))) if(!find_cpuinfo_line(fd, "flags", buf, ARRAY_SIZE(buf)))
goto out; goto out;
c = token(fd, buf, len - 1, ' '); c = token(fd, buf, len - 1, ' ');
...@@ -138,7 +139,7 @@ static int check_cpu_flag(char *feature, int *have_it) ...@@ -138,7 +139,7 @@ static int check_cpu_flag(char *feature, int *have_it)
if(*have_it == 0) printk("No\n"); if(*have_it == 0) printk("No\n");
else if(*have_it == 1) printk("Yes\n"); else if(*have_it == 1) printk("Yes\n");
os_close_file(fd); os_close_file(fd);
return(1); return 1;
} }
#if 0 /* This doesn't work in tt mode, plus it's causing compilation problems #if 0 /* This doesn't work in tt mode, plus it's causing compilation problems
......
...@@ -424,9 +424,8 @@ void ldt_get_host_info(void) ...@@ -424,9 +424,8 @@ void ldt_get_host_info(void)
size++; size++;
} }
if(size < sizeof(dummy_list)/sizeof(dummy_list[0])) { if(size < ARRAY_SIZE(dummy_list))
host_ldt_entries = dummy_list; host_ldt_entries = dummy_list;
}
else { else {
size = (size + 1) * sizeof(dummy_list[0]); size = (size + 1) * sizeof(dummy_list[0]);
host_ldt_entries = (short *)kmalloc(size, GFP_KERNEL); host_ldt_entries = (short *)kmalloc(size, GFP_KERNEL);
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include "user.h" #include "user.h"
#include "os.h" #include "os.h"
#include "uml-config.h" #include "uml-config.h"
#include "user_util.h"
int ptrace_getregs(long pid, unsigned long *regs_out) int ptrace_getregs(long pid, unsigned long *regs_out)
{ {
...@@ -51,7 +52,7 @@ static void write_debugregs(int pid, unsigned long *regs) ...@@ -51,7 +52,7 @@ static void write_debugregs(int pid, unsigned long *regs)
int nregs, i; int nregs, i;
dummy = NULL; dummy = NULL;
nregs = sizeof(dummy->u_debugreg)/sizeof(dummy->u_debugreg[0]); nregs = ARRAY_SIZE(dummy->u_debugreg);
for(i = 0; i < nregs; i++){ for(i = 0; i < nregs; i++){
if((i == 4) || (i == 5)) continue; if((i == 4) || (i == 5)) continue;
if(ptrace(PTRACE_POKEUSR, pid, &dummy->u_debugreg[i], if(ptrace(PTRACE_POKEUSR, pid, &dummy->u_debugreg[i],
...@@ -68,7 +69,7 @@ static void read_debugregs(int pid, unsigned long *regs) ...@@ -68,7 +69,7 @@ static void read_debugregs(int pid, unsigned long *regs)
int nregs, i; int nregs, i;
dummy = NULL; dummy = NULL;
nregs = sizeof(dummy->u_debugreg)/sizeof(dummy->u_debugreg[0]); nregs = ARRAY_SIZE(dummy->u_debugreg);
for(i = 0; i < nregs; i++){ for(i = 0; i < nregs; i++){
regs[i] = ptrace(PTRACE_PEEKUSR, pid, regs[i] = ptrace(PTRACE_PEEKUSR, pid,
&dummy->u_debugreg[i], 0); &dummy->u_debugreg[i], 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment