Re: [PATCH] smb: client: use GFP_KERNEL for registry allocation
Steve French <[email protected]> Thu, 23 Jul 2026 15:46:30 -0500
| Newsgroups | org.kernel.vger.linux-cifs,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAH2r5mujqOXko8yWpBM=DTr=arSBGEUd0HqGETRd+kiX8DVMgQ@mail.gmail.com> |
merged into cifs-2.6.git for-next On Wed, Jul 22, 2026 at 4:24 PM Fredric Cover <[email protected]> wrote: > > From: Fredric Cover <[email protected]> > > Currently, cifs_get_swn_reg() allocates new registry entries using > GFP_ATOMIC. Since we lock a mutex here, this is clearly not an atomic > context. Use GFP_KERNEL instead. > > Also, fix a minor grammatical error in the comment above the function. > > Signed-off-by: Fredric Cover <[email protected]> > --- > fs/smb/client/cifs_swn.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fs/smb/client/cifs_swn.c b/fs/smb/client/cifs_swn.c > index 9951817d0d7f..fe10719e627e 100644 > --- a/fs/smb/client/cifs_swn.c > +++ b/fs/smb/client/cifs_swn.c > @@ -425,7 +425,7 @@ static struct cifs_swn_reg *cifs_find_swn_reg(struct cifs_tcon *tcon) > > /* > * Get a registration for the tcon's server and share name, allocating a new one if it does not > - * exists > + * exist. > */ > static struct cifs_swn_reg *cifs_get_swn_reg(struct cifs_tcon *tcon) > { > @@ -443,7 +443,7 @@ static struct cifs_swn_reg *cifs_get_swn_reg(struct cifs_tcon *tcon) > goto unlock; > } > > - reg = kmalloc_obj(struct cifs_swn_reg, GFP_ATOMIC); > + reg = kmalloc_obj(struct cifs_swn_reg, GFP_KERNEL); > if (reg == NULL) { > ret = -ENOMEM; > goto fail_unlock; > @@ -451,7 +451,7 @@ static struct cifs_swn_reg *cifs_get_swn_reg(struct cifs_tcon *tcon) > > kref_init(®->ref_count); > > - reg->id = idr_alloc(&cifs_swnreg_idr, reg, 1, 0, GFP_ATOMIC); > + reg->id = idr_alloc(&cifs_swnreg_idr, reg, 1, 0, GFP_KERNEL); > if (reg->id < 0) { > cifs_dbg(FYI, "%s: failed to allocate registration id\n", __func__); > ret = reg->id; > -- > 2.53.0 > > -- Thanks, Steve