It was missing the "from user" argument to the write call: static int print_quota_message(struct gfs_sbd *sdp, struct gfs_quota_data *qd, char *type) { struct tty_struct *tty; ENTER(GFN_PRINT_QUOTA_MESSAGE) /* avoid doing work if we're not going to emit the text */ if (current->signal == 0) RETURN(GFN_PRINT_QUOTA_MESSAGE, 0); tty = current->signal->tty; if ((tty == NULL) || (tty->driver->write == NULL)) RETURN(GFN_PRINT_QUOTA_MESSAGE, 0); { int len; char *line = kmalloc(256, GFP_KERNEL); if (!line) RETURN(GFN_PRINT_QUOTA_MESSAGE, -ENOMEM); len = snprintf(line, 256, "GFS: fsid=%s: quota %s for %s %u\r\n", sdp->sd_fsname, type, (test_bit(QDF_USER, &qd->qd_flags)) ? "user" : "group", qd->qd_id); if (len > 255) len = 255; tty->driver->write(tty, 0, line, len); kfree(line); } RETURN(GFN_PRINT_QUOTA_MESSAGE, 0); }