diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c index 6712d733fc90b361637c213c168625fc17036448..6c708ccbdf3c819ab87c6bb9560055206c7854e9 100644 --- a/fs/dlm/lock.c +++ b/fs/dlm/lock.c @@ -444,6 +444,9 @@ int dlm_search_rsb_tree(struct rb_root *tree, const void *name, int len, struct dlm_rsb *r; int rc; + if (len > DLM_RESNAME_MAXLEN) + return -EINVAL; + while (node) { r = rb_entry(node, struct dlm_rsb, res_hashnode); rc = rsb_cmp(r, name, len);