[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: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
13c06be399
commit
91b165c059
|
@ -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,
|
||||||
}
|
}
|
||||||
|
|
||||||
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 @@
|
||||||
#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)
|
||||||
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)
|
||||||
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)
|
||||||
|
|
||||||
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)
|
||||||
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)
|
||||||
{
|
{
|
||||||
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,
|
||||||
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)
|
||||||
}
|
}
|
||||||
|
|
||||||
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 @@ err:
|
||||||
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 @@
|
||||||
#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)
|
||||||
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)
|
||||||
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)
|
||||||
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 @@
|
||||||
#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)
|
||||||
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)
|
||||||
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);
|
||||||
|
|
Loading…
Reference in New Issue