| To: | "Darrick J. Wong" <darrick.wong@xxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH] vfs: cap dedupe request structure size at PAGE_SIZE |
| From: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
| Date: | Sun, 31 Jul 2016 23:31:28 -0700 |
| Cc: | Al Viro <viro@xxxxxxxxxxxxxxxxxx>, linux-api@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx>, Vlastimil Babka <vbabka@xxxxxxx> |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <20160728183534.GB15753@xxxxxxxxxxxxxxxx> |
| References: | <20160728183534.GB15753@xxxxxxxxxxxxxxxx> |
| User-agent: | Mutt/1.6.1 (2016-04-27) |
On Thu, Jul 28, 2016 at 11:35:34AM -0700, Darrick J. Wong wrote: > Kirill A. Shutemov reports that the kernel doesn't try to cap dest_count > in any way, and uses the number to allocate kernel memory. This causes > high order allocation warnings in the kernel log if someone passes in a > big enough value. We should clamp the allocation at PAGE_SIZE to avoid > stressing the VM. > > The two existing users of the dedupe ioctl never send more than 120 > requests, so we can safely clamp dest_range at PAGE_SIZE, because with > 4k pages we can handle up to 127 dedupe candidates. Given the max > extent length of 16MB, we can end up doing 2GB of IO which is plenty. Looks fine, Reviewed-by: Christoph Hellwig <hch@xxxxxx> > @@ -582,6 +582,10 @@ static int ioctl_file_dedupe_range(struct file *file, > void __user *arg) This function returns long in mainline. Maybe you should resend your return type fix to Al while you're at it? |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH 16/17] xfs/122: add the realtime rmapbt inode and btree fields, Christoph Hellwig |
|---|---|
| Next by Date: | Re: xfs_icache.c:1298]: (style) Redundant condition, Christoph Hellwig |
| Previous by Thread: | Re: [PATCH 16/17] xfs/122: add the realtime rmapbt inode and btree fields, Christoph Hellwig |
| Next by Thread: | Re: [PATCH] vfs: cap dedupe request structure size at PAGE_SIZE, Mark Fasheh |
| Indexes: | [Date] [Thread] [Top] [All Lists] |