Lines Matching refs:nsems
488 static struct sem_array *sem_alloc(size_t nsems) in sem_alloc() argument
492 if (nsems > (INT_MAX - sizeof(*sma)) / sizeof(sma->sems[0])) in sem_alloc()
495 sma = kvzalloc(struct_size(sma, sems, nsems), GFP_KERNEL); in sem_alloc()
514 int nsems = params->u.nsems; in newary() local
518 if (!nsems) in newary()
520 if (ns->used_sems + nsems > ns->sc_semmns) in newary()
523 sma = sem_alloc(nsems); in newary()
537 for (i = 0; i < nsems; i++) { in newary()
548 sma->sem_nsems = nsems; in newary()
557 ns->used_sems += nsems; in newary()
575 if (params->u.nsems > sma->sem_nsems) in sem_more_checks()
581 long ksys_semget(key_t key, int nsems, int semflg) in ksys_semget() argument
593 if (nsems < 0 || nsems > ns->sc_semmsl) in ksys_semget()
598 sem_params.u.nsems = nsems; in ksys_semget()
603 SYSCALL_DEFINE3(semget, key_t, key, int, nsems, int, semflg) in SYSCALL_DEFINE3() argument
605 return ksys_semget(key, nsems, semflg); in SYSCALL_DEFINE3()
1391 int err, nsems; in semctl_main() local
1403 nsems = sma->sem_nsems; in semctl_main()
1425 if (nsems > SEMMSL_FAST) { in semctl_main()
1432 sem_io = kvmalloc_array(nsems, sizeof(ushort), in semctl_main()
1451 if (copy_to_user(array, sem_io, nsems*sizeof(ushort))) in semctl_main()
1466 if (nsems > SEMMSL_FAST) { in semctl_main()
1467 sem_io = kvmalloc_array(nsems, sizeof(ushort), in semctl_main()
1475 if (copy_from_user(sem_io, p, nsems*sizeof(ushort))) { in semctl_main()
1481 for (i = 0; i < nsems; i++) { in semctl_main()
1495 for (i = 0; i < nsems; i++) { in semctl_main()
1502 for (i = 0; i < nsems; i++) in semctl_main()
1514 if (semnum < 0 || semnum >= nsems) in semctl_main()
1523 semnum = array_index_nospec(semnum, nsems); in semctl_main()
1893 int nsems, error; in find_alloc_undo() local
1914 nsems = sma->sem_nsems; in find_alloc_undo()
1923 new = kzalloc(sizeof(struct sem_undo) + sizeof(short)*nsems, GFP_KERNEL); in find_alloc_undo()