On (08/13/18 15:16), Minchan Kim wrote: > > The call to strlcpy in backing_dev_store is incorrect. It should take > > the size of the destination buffer instead of the size of the source > > buffer. Additionally, ignore the newline character (\n) when reading > > the new file_name buffer. This makes it possible to set the backing_dev > > as follows: > > > > echo /dev/sdX > /sys/block/zram0/backing_dev > > > > Signed-off-by: Peter Kalauskas <[email protected]> > Acked-by: Minchan Kim <[email protected]> > > Cc: Andrew Morton <[email protected]> > Cc: Sergey Senozhatsky <[email protected]> > CC: LKML <[email protected]> > Cc: <[email protected]> [4.14+]
Thanks for Cc-ing Minchan. Reviewed-by: Sergey Senozhatsky <[email protected]> > > - strlcpy(file_name, buf, len); This is quite interesting. The reason it worked before was the fact that strlcpy() copies 'len - 1' bytes, which is strlen(buf) - 1 in our case, so it accidentally didn't copy the trailing new line symbol. Which also means that "echo -n /dev/sdX" most likely was broken. -ss

