Re: [PATCH v2] cgroup: Zero sized write should be no-op

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Sep 30, 2020 at 07:42:42PM +0300, Jouni Roivas wrote:
> Do not report failure on zero sized writes, and handle them as no-op.
> 
> There's issues for example in case of writev() when there's iovec
> containing zero buffer as a first one. It's expected writev() on below
> example to successfully perform the write to specified writable cgroup
> file expecting integer value, and to return 2. For now it's returning
> value -1, and skipping the write:
> 
> 	int writetest(int fd) {
> 	  const char *buf1 = "";
> 	  const char *buf2 = "1\n";
>           struct iovec iov[2] = {
>                 { .iov_base = (void*)buf1, .iov_len = 0 },
>                 { .iov_base = (void*)buf2, .iov_len = 2 }
>           };
> 	  return writev(fd, iov, 2);
> 	}
> 
> This patch fixes the issue by checking if there's nothing to write,
> and handling the write as no-op by just returning 0.

Applied to cgroup/for-5.10.

Thanks.

-- 
tejun



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux