repo.or.cz
/
smatch.git
/
search
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
first
·
prev
·
next
parse: add a big hack to track packed structs
2013-04-17
Dan Carpent
e
r
parse:
a
dd a big hack to track packed structs
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-17
Da
n
Carpenter
*new* smatch_cl
e
ar_buffer
.
c:
h
a
ndle memset()
type func
t
ions
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-17
Da
n
Carpent
e
r
param_l
i
mit/fi
l
t
e
r: ignore whole ranges
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-17
Dan Carpenter
rang
e
s
:
an emp
t
y rang
e
is
n
ot a whole range
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-15
Dan
Car
p
enter
extra: remove some dead code
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-15
Dan Carp
e
nter
ext
r
a:
s
mall f
i
x for when the
data
b
ase is disabled
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-15
Dan Carpenter
db: always sp
l
it t
h
e
return values if we're no
t
using
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-15
D
a
n
C
a
r
p
e
n
ter
conditions: use set_e
x
t
r
a_exp
r
_mod
(
) to c
h
an
g
e extra
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-15
Dan Carpenter
user_data: com
p
at sysca
l
l pa
r
ameters are user data
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-15
Dan Carpe
n
te
r
us
e
r_dat
a
: using a use
r
suppli
e
d off
s
et into an
known
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-15
Dan Carpenter
l
o
c
k
ing: add some more bh lock functions
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-12
Dan
C
arpenter
Mer
g
e branch 'rfc-attribute-st
r
uct' of git://git
.
kerne
l
.
.
.
commit
|
commitdiff
|
tree
2013-04-12
Dan
Carpe
n
t
er
check_deref
:
disable "p
o
tential NULL dere
f
eren
c
e" by
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-10
Dan C
a
rpenter
l
o
cking:
ad
d
local
_
bh_d
i
sa
b
le/enable
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-09
Dan
C
a
r
penter
loc
k
ing: handl
e
nu
l
l vs non
-
NU
L
L
r
eturn
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-08
Dan Car
p
enter
l
o
cking: update validation/ tests to the new war
n
i
n
g
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-08
Dan
C
arpenter
funct
i
on
_
ptr
s
: "(*ptrs[0
]
)(a, b)" is the same as
"ptr
s
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-08
Dan Carpent
e
r
function_ptrs
:
record when func
t
ion
p
ointer i
s
sav
e
d
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-08
Dan
C
arp
e
nter
ro
s
enberg: remove
some structs which
d
on
'
t have holes
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-08
D
a
n Carpe
n
t
er
rosenberg: check for
n
la_put info leaks
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-08
Dan Carpenter
f
l
ow:
f
a
k
e
me
m
b
er and elemen
t
assignments better
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-08
Dan
Carpente
r
exp
r
e
s
s
i
ons: intr
o
duce array
_
element
_
expr
e
ssion()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-08
Dan
C
arpe
n
t
e
r
locking: take re
t
u
r
n
s
values into consider
a
t
ion
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-08
Dan Carpenter
check
_
kernel: l
o
ok harder f
o
r the
container_of() macro
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-08
Dan Ca
r
pe
n
ter
implied:
d
b
:
fix
ho
w
returns
a
re broken apar
t
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-08
Dan Carpent
e
r
db: re
t
u
r
n
_
id was
set incorrectly
w
hen
i
nline funct
i
ons
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-08
D
a
n Carpenter
db
:
fix how
t
he
r
eturn v
a
lues are c
a
sted
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-04
Dan Car
p
enter
helper: make is
_
array() accept NULL pointers
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-03
Dan Carpent
e
r
db: fu
n
ction_
p
trs: do better at function pt
r
to
function
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-03
Dan Carp
e
nter
flow: crea
t
e fake
a
s
s
i
gnments for
a
rray declarations
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-03
Da
n
Carp
e
nter
flo
w
: expression
s
: don't try
u
pdating
t
o unini
t
ializ
e
d
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-03
Dan
C
arpente
r
d
b: fixup_kernel
.
sh: (str
u
c
t
m
ISDN
c
h
annel)->send in
f
ormation
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-03
Da
n
Carpenter
db: fixup_k
e
rnel
.
sh: r
e
cord whe
r
e ->
n
o
tifier_call
i
s
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-02
D
an Carpenter
flow: hand
l
e inlines
bette
r
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-02
Dan Carpenter
db: functio
n
_
p
trs: tr
a
ck poi
n
ter
t
o
pointer a
s
s
i
gnments
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-02
Dan Carpenter
m
a
th:
s
ile
n
ce
s
om
e
b
u
ffer ov
e
rflow false positives
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-02
Dan C
a
rpenter
db: fixup_kernel
.
sh
:
ignore (struct timer_list)-
>
function
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-04-01
Szymon Jan
c
extra: Fix segmentation fau
l
t in
match_assi
g
n
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpe
n
ter
db: look up all the function pointers
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpenter
helper:
a
l
low
get_param
_
num_from_s
y
m
(
) to be us
e
d in
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpenter
string_lis
t
: int
r
oduce list_has_str
i
ng()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpenter
smatch_stri
n
g
_lis
t
.
c: separate
s
tring
_
list functions
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Dan
Carp
e
nter
d
b
: o
n
ly
lookup functio
n
point
e
rs once
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Dan Ca
r
penter
annotate: us
e
it
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Dan
Carpente
r
h
e
lper: ignore pare
n
s in expr_to_var
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Dan Car
p
enter
o
v
erfl
o
w:
s
ilence kerne
l
fa
l
s
e
p
o
si
t
ive about __per_cpu_offset
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpenter
kernel
:
reco
v
er module_init/exit() functions
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Dan
C
arpenter
f
low: pass the sym_l
i
st to the
E
N
D_FILE
_
HOOK
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Da
n
C
arpenter
db: fixup_kernel
.
sh r
e
m
ove some more USER
_
DATA tags
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
D
a
n Carp
e
nt
e
r
db: speedup fil
l
_d
b
_caller_info
.
pl
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carp
e
n
te
r
extr
a
: i
m
p
rove
+
=
a
n
d -= hand
l
ing
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Da
n
C
arpenter
sval: intr
o
duc
e
sval_is_negativ
e
_min()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
D
a
n C
a
rpenter
sval:
fix sva
l
_binop_over
f
lows() to accept
diff
e
r
ent
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpenter
introduce smatch_annot
a
te
.
c: annotate
s
om
e
com
m
o
n
fu
n
ction
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Dan C
a
rpenter
db
:
g
i
ve up if there are over 1
0
00 retu
r
n
e
d
s
tates
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpenter
db: fix slow down cause
d
b
y
recursi
v
e
f
unction calls
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-21
D
an Ca
r
pe
n
ter
b
uf_si
z
e:
f
alse
p
o
sitive from large "impli
e
d" imp
l
i
e
d
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-21
Dan Carpenter
h
elper:
f
i
x expr_to_st
r
() for function ca
l
l
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-21
Dan Carpent
e
r
db: remove more us
e
r
data from s
t
art
_
xmi
t
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-21
Dan
C
arp
e
nte
r
db: manually delete some USER_DAT
A
marke
r
s f
r
om t
h
e
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-18
Dan
C
a
r
penter
extra: move
v
anil
l
a assi
g
n
s
into the
i
r ow
n
function
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-15
Da
n
Carp
e
nt
e
r
ranges
:
i
n cas
t
_
rl(
)
somet
i
m
es it's
bette
r
to ju
s
t
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-15
Dan Carpenter
extr
a
:
type bug handlin
g
asm ex
p
ressions
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-15
Dan Carpe
n
ter
db: fi
x
bug handling ':' char
a
cter
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-15
Dan
Carpenter
m
ath:
U
se functi
o
n call information
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-15
D
a
n Carpenter
flow: han
d
le POST_O
P
s
correc
t
ly
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-15
Dan
C
a
rpe
n
ter
buf_size: handle dma
_
alloc_
a
ttrs()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-15
Dan Carpen
t
er
ex
t
ra: type
b
ug handli
n
g fo
r
loops
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-15
Dan Carpenter
math
:
fix a
coup
l
e type
bugs
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-15
Dan C
a
rpenter
locking:
fix
b
uild pr
o
ble
m
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-15
Da
n
Carp
e
nter
user_data: the pointer return
e
d from
c
ont
a
iner_of(
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-14
Dan Car
p
enter
db: update a debug message
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-14
Dan Carpent
e
r
db:
ch
a
nge
the file searche
d
for static functions
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-14
Dan Carpenter
flow: fix
a
debug
statement
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-14
D
a
n
C
a
rpent
e
r
fl
o
w: save and r
e
store
t
h
e big
_
expression_stack when
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-14
Dan C
a
rpenter
condit
i
ons: fi
x
s
mall signedne
s
s bug
i
n compares
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-12
Dan Carp
e
nter
locking: ignore
p
arent
h
es
i
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-12
D
a
n
C
arpenter
stac
k
: tur
n
off b
y
defau
l
t, and l
e
s
s spammy
a
lways
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-12
Dan C
a
rpent
e
r
sign
e
d
:
don'
t
warn about assign
m
e
nt
s
t
o
boolean
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-12
Dan Carpenter
l
o
cal_va
l
u
es: not all th
e
set va
l
u
e
s make
i
t
t
o
the
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-12
Dan
C
ar
p
enter
sizeof_param: ignore s
t
rncat(a, b, sizeo
f
(b));
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-12
Dan Carpente
r
kernel: handle __ftrace_bad_type
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-12
Dan
Carpenter
kern
e
l: ha
n
dle fin
d
_next_bit()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-12
Dan Carpenter
db_i
n
fo: save return v
a
lues
in in-memory database
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-08
Dan Carpenter
check_kernel: preserve
ERR_PTR values passed to IS_E
R
R_OR_NULL()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-08
Dan Carpenter
check_kern
e
l: re
n
ame nonn
u
ll to
valid_ptr
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-08
D
an Carpenter
Revert "kernel: rem
o
ve
some unneeded code"
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-08
D
a
n Ca
r
p
enter
s
i
z
eof_para
m
: fix fal
s
e po
s
itives with strl
c
py
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-07
Dan Carpenter
c
o
mpare: ha
n
dl
e
some assign
m
ents
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-06
D
a
n Carpen
t
er
ex
t
ra: shuff
l
e ma
t
c
h_assign a
bit
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-06
Dan Carp
e
nt
e
r
extra: o
n
ly ge
t
the types one time
in match_as
s
ign
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-06
Dan Carpenter
fun
c
tion_pt
r
: move
get_fnptr_name(
)
to
s
match_function_ptr
.
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-06
Dan Carpenter
db: fixup_kernel
.
sh: d
i
scard caller_i
n
fo fro
m
->notifier
_
c
a
ll
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-06
Dan Carpenter
db
:
f
i
xup_kernel
.
s
h
:
only tr
a
ck the m
a
in
read/write
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-06
Dan Carpe
n
te
r
user_data:
t
rack
user data ac
r
oss assignments
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-06
Dan Carpenter
s
match_capped:
g
et_implied_ma
x
() does not implied capped
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-06
Dan Carpenter
b
uf_size
:
ex
p
ort g
e
t_real_array_size
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-06
Dan
C
arpenter
extra: handle MOD_ASSIGN b
e
tte
r
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-06
Dan Carpenter
db: don't p
r
int information c
a
ller inf
o
rmati
o
n for
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2013-03-06
Da
n
Carpenter
functio
n
_ptrs: track pa
r
ameters
a
s well
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
next